{"id":20405455,"url":"https://github.com/openzeppelin/openzeppelin-contract-loader","last_synced_at":"2025-04-12T14:53:18.164Z","repository":{"id":35707318,"uuid":"208134827","full_name":"OpenZeppelin/openzeppelin-contract-loader","owner":"OpenZeppelin","description":"Load contract ABIs from built artifacts and return contract objects","archived":false,"fork":false,"pushed_at":"2023-04-27T15:06:31.000Z","size":1233,"stargazers_count":14,"open_issues_count":9,"forks_count":12,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-19T17:11:11.567Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenZeppelin.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2019-09-12T19:52:59.000Z","updated_at":"2024-08-01T15:47:52.000Z","dependencies_parsed_at":"2024-06-18T15:28:12.134Z","dependency_job_id":null,"html_url":"https://github.com/OpenZeppelin/openzeppelin-contract-loader","commit_stats":{"total_commits":72,"total_committers":5,"mean_commits":14.4,"dds":"0.36111111111111116","last_synced_commit":"e9aafe2cfdd9c8c93cd2e9d427ff0cc11fcc7df7"},"previous_names":["openzeppelin/contract-loader"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-contract-loader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-contract-loader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-contract-loader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-contract-loader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenZeppelin","download_url":"https://codeload.github.com/OpenZeppelin/openzeppelin-contract-loader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248586225,"owners_count":21128995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-15T05:10:56.602Z","updated_at":"2025-04-12T14:53:18.140Z","avatar_url":"https://github.com/OpenZeppelin.png","language":"JavaScript","readme":"\u003e :warning: **This project is not being actively maintained.**\n\n# OpenZeppelin Contract Loader\n\n[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/contract-loader)\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/contract-loader.svg)](https://www.npmjs.org/package/@openzeppelin/contract-loader)\n[![Build Status](https://circleci.com/gh/OpenZeppelin/openzeppelin-contract-loader.svg?style=shield)](https://circleci.com/gh/OpenZeppelin/openzeppelin-contract-loader)\n\n**Load contract objects from built artifacts or ABIs.** Includes support for both `web3-eth-contract` and `@truffle/contract` objects.\n\n```javascript\nconst { setupLoader } = require('@openzeppelin/contract-loader');\nconst loader = setupLoader({ provider: new Web3('http://localhost:8545') }).web3;\n\nconst address = '0xCfEB869F69431e42cdB54A4F4f105C19C080A601';\nconst erc20 = loader.fromArtifact('ERC20', address);\n\nconst totalSupply = await token.methods.totalSupply().call();\n```\n\n## Overview\n\n### Installation\n\n```bash\nnpm install @openzeppelin/contract-loader\n```\n\nYou may also need to install [`web3-eth-contract`](https://www.npmjs.com/package/web3-eth-contract) or [`@truffle/contract`](https://www.npmjs.com/package/@truffle/contract), depending on which abstractions you want to be able to load.\n\n\u003eContract Loader requires access to the filesystem to read contract ABIs. Because of this, it will not work in a browser-based Dapp.\n\n### Usage\n\nCreate a loader object:\n\n```javascript\nconst { setupLoader } = require('@openzeppelin/contract-loader');\n\nconst loader = setupLoader({\n  provider,      // either a web3 provider or a web3 instance\n  defaultSender, // optional\n  defaultGas,    // optional, defaults to 8 million\n});\n```\n\nLoad web3 contracts:\n\n```javascript\nconst ERC20 = loader.web3.fromArtifact('ERC20');\n\n// Deploy contract\nconst token = await ERC20.deploy().send();\n\n// Send transactions and query state\nconst balance = await token.methods.balanceOf(sender).call();\nawait token.methods.transfer(receiver, balance).send({ from: sender });\n\n```\n\nLoad Truffle contracts:\n\n```javascript\nconst ERC20 = loader.truffle.fromArtifact('ERC20');\n\n// Deploy contract\nconst token = await ERC20.new();\n\n// Send transactions and query state\nconst balance = await token.balanceOf(sender);\nawait token.transfer(receiver, balance, { from: sender });\n```\n\n## Learn More\n\n* For detailed usage information, take a look at the [API Reference](https://docs.openzeppelin.com/contract-loader/api).\n\n## License\n\n[MIT](LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fopenzeppelin-contract-loader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenzeppelin%2Fopenzeppelin-contract-loader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fopenzeppelin-contract-loader/lists"}