{"id":24411384,"url":"https://github.com/jocoders/erc1155-yul","last_synced_at":"2026-07-03T08:34:33.392Z","repository":{"id":272625356,"uuid":"917239034","full_name":"jocoders/erc1155-yul","owner":"jocoders","description":"Yul implementation of the ERC-1155 multi-token standard","archived":false,"fork":false,"pushed_at":"2025-02-16T11:44:03.000Z","size":322,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T01:41:40.297Z","etag":null,"topics":["erc1155","foundry","smart-contracts","solidity","testing","yul"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jocoders.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-15T16:06:21.000Z","updated_at":"2025-02-16T11:44:05.000Z","dependencies_parsed_at":"2025-01-15T18:01:49.889Z","dependency_job_id":"35fd64d0-dd52-4648-a27c-44c6e26175e9","html_url":"https://github.com/jocoders/erc1155-yul","commit_stats":null,"previous_names":["jocoders/erc1155-yul"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jocoders/erc1155-yul","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jocoders%2Ferc1155-yul","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jocoders%2Ferc1155-yul/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jocoders%2Ferc1155-yul/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jocoders%2Ferc1155-yul/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jocoders","download_url":"https://codeload.github.com/jocoders/erc1155-yul/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jocoders%2Ferc1155-yul/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35079376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["erc1155","foundry","smart-contracts","solidity","testing","yul"],"created_at":"2025-01-20T06:35:24.300Z","updated_at":"2026-07-03T08:34:33.361Z","avatar_url":"https://github.com/jocoders.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ERC1155Yul\n\n**Overview**\n\nERC1155Yul is a Yul implementation of the ERC-1155 multi-token standard, which supports the management of multiple token types within a single contract. This implementation aims to provide a more gas-efficient interaction compared to traditional Solidity implementations by leveraging the lower-level capabilities of Yul.\n\n**Features**\n\n- Supports multiple token types (fungible, non-fungible, or a combination).\n- Batch transfers for reduced gas costs.\n- Atomic swaps and batched balance queries.\n\n**Technology**\n\nThis project is implemented in Yul, an intermediate language for Ethereum. Yul allows direct manipulation of the EVM and is designed to enable efficient compilation and precise control over the execution environment.\n\n**Getting Started**\n\n**Prerequisites**\n\n- Node.js and npm\n- Foundry (for local deployment and testing)\n\n**Installation**\n\n1. Install Foundry if it's not already installed:\n\n   ```bash\n   curl -L https://foundry.paradigm.xyz | bash\n   foundryup\n   ```\n\n2. Clone the repository:\n\n   ```bash\n   git clone https://github.com/jocoders/erc1155-yul.git\n   cd erc1155-yul\n   ```\n\n3. Install dependencies:\n\n   ```bash\n   forge install\n   ```\n\n**Testing**\n\nRun tests using Foundry:\n\n```bash\nforge test\n```\n\n**Usage**\n\n**Deploying the Token**\n\nDeploy the token to a local blockchain using Foundry:\n\n```bash\nforge create ERC1155Yul --rpc-url http://localhost:8545\n```\n\n**Interacting with the Token**\n\nTo transfer a single token type:\n\n```solidity\nsafeTransferFrom(from, to, id, value, data)\n```\n\nTo transfer multiple token types in a batch:\n\n```solidity\nsafeBatchTransferFrom(from, to, ids, values, data)\n```\n\nTo check the balance of a single token type for a specific owner:\n\n```solidity\nbalanceOf(owner, id)\n```\n\nTo check the balances of multiple token types for multiple owners:\n\n```solidity\nbalanceOfBatch(owners, ids)\n```\n\n**Contributing**\n\nContributions are welcome! Please fork the repository and open a pull request with your features or fixes.\n\n**License**\n\nThis project is licensed under the MIT License - see the [LICENSE.md](https://github.com/jocoders/ERC1155Yul/LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjocoders%2Ferc1155-yul","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjocoders%2Ferc1155-yul","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjocoders%2Ferc1155-yul/lists"}