Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thirdweb-dev/contracts
Collection of smart contracts deployable via thirdweb
https://github.com/thirdweb-dev/contracts
ethereum smart-contracts solidity web3
Last synced: 27 days ago
JSON representation
Collection of smart contracts deployable via thirdweb
- Host: GitHub
- URL: https://github.com/thirdweb-dev/contracts
- Owner: thirdweb-dev
- License: apache-2.0
- Created: 2021-09-16T22:14:16.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-29T00:02:36.000Z (5 months ago)
- Last Synced: 2024-05-29T13:54:10.924Z (5 months ago)
- Topics: ethereum, smart-contracts, solidity, web3
- Language: Solidity
- Homepage: https://docs.thirdweb.com/contracts
- Size: 21.6 MB
- Stars: 944
- Watchers: 17
- Forks: 477
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Audit: audit-reports/audit-1.pdf
Awesome Lists containing this project
- awesome-solidity - ThirdWeb/Contracts - Pre-built contracts for Token, NFT, Governance and Marketplace from ThirdWeb. (Libraries)
- awesome-solidity - ThirdWeb/Contracts - Pre-built contracts for Token, NFT, Governance and Marketplace from ThirdWeb. (Libraries)
- awesome-solidity - ThirdWeb/Contracts - Pre-built contracts for Token, NFT, Governance and Marketplace from ThirdWeb. (Libraries)
README
thirdweb Contracts
Collection of smart contracts deployable via the thirdweb SDK, dashboard and CLI
## Installation
```shell
# Forge projects
forge install https://github.com/thirdweb-dev/contracts# Hardhat / npm based projects
npm i @thirdweb-dev/contracts
``````bash
contracts
|
|-- extension: "extensions that can be inherited by NON-upgradeable contracts"
| |-- interface: "interfaces of all extension contracts"
| |-- upgradeable: "extensions that can be inherited by upgradeable contracts"
| |-- [$prebuilt-category]: "legacy extensions written specifically for a prebuilt contract"
|
|-- base: "NON-upgradeable base contracts to build on top of"
| |-- interface: "interfaces for all base contracts"
| |-- upgradeable: "upgradeable base contracts to build on top of"
|
|-- prebuilt: "audited, ready-to-deploy thirdweb smart contracts"
| |-- interface: "interfaces for all prebuilt contracts"
| |--[$prebuilt-category]: "feature-based group of prebuilt contracts"
| |-- unaudited: "yet-to-audit thirdweb smart contracts"
| |-- [$prebuilt-category]: "feature-based group of prebuilt contracts"
|
|-- infra: "onchain infrastructure contracts"
| |-- interface: "interfaces for all infrastructure contracts"
|
|-- eip: "implementations of relevant EIP standards"
| |-- interface "all interfaces of relevant EIP standards"
|
|-- lib: "Solidity libraries"
|
|-- external-deps: "modified / copied over external dependencies"
| |-- openzeppelin: "modified / copied over openzeppelin dependencies"
| |-- chainlink: "modified / copied over chainlink dependencies"
|
|-- legacy-contracts: "maintained legacy thirdweb contracts"
```## Running Tests
1. `yarn`: install contracts dependencies
2. `forge install`: install tests dependencies
3. `forge test`: run the testsThis repository is a [forge](https://github.com/foundry-rs/foundry/tree/master/forge) project.
First install the relevant dependencies of the project:
```bash
yarnforge install
```To compile contracts, run:
```bash
forge build
```To run tests:
```bash
forge test
```## Pre-built Contracts
Pre-built contracts are written by the thirdweb team, and cover the most common use cases for smart contracts.
- [DropERC20](https://thirdweb.com/deployer.thirdweb.eth/DropERC20)
- [DropERC721](https://thirdweb.com/deployer.thirdweb.eth/DropERC721)
- [DropERC1155](https://thirdweb.com/deployer.thirdweb.eth/DropERC1155)
- [SignatureDrop](https://thirdweb.com/deployer.thirdweb.eth/SignatureDrop)
- [Marketplace](https://thirdweb.com/deployer.thirdweb.eth/Marketplace)
- [Multiwrap](https://thirdweb.com/deployer.thirdweb.eth/Multiwrap)
- [TokenERC20](https://thirdweb.com/deployer.thirdweb.eth/TokenERC20)
- [TokenERC721](https://thirdweb.com/deployer.thirdweb.eth/TokenERC721)
- [TokenERC1155](https://thirdweb.com/deployer.thirdweb.eth/TokenERC1155)
- [VoteERC20](https://thirdweb.com/deployer.thirdweb.eth/VoteERC20)
- [Split](https://thirdweb.com/deployer.thirdweb.eth/Split)[Learn more about pre-built contracts](https://portal.thirdweb.com/pre-built-contracts)
## Extensions
Extensions are building blocks that help enrich smart contracts with features.
Some blocks come packaged together as Base Contracts, which come with a full set of features out of the box that you can modify and extend. These contracts are available at `contracts/base/`.
Other (smaller) blocks are Features, which provide a way for you to pick and choose which individual pieces you want to put into your contract; with full customization of how those features work. These are available at `contracts/extension/`.
[Learn more about extensions](https://portal.thirdweb.com/extensions)
## Contract Audits
- [Audit 1](audit-reports/audit-1.pdf)
- [Audit 2](audit-reports/audit-2.pdf)
- [Audit 3](audit-reports/audit-3.pdf)
- [Audit 4](audit-reports/audit-4.pdf)
- [Audit 5](audit-reports/audit-5.pdf)
- [Audit 6](audit-reports/audit-6.pdf)
- [Audit 7](audit-reports/audit-7.pdf)
- [Audit 8](audit-reports/audit-8.pdf)
- [Audit 9](audit-reports/audit-9.pdf)
- [Audit 10](audit-reports/audit-10.pdf)
- [Audit 11](audit-reports/audit-11.pdf)
- [Audit 12](audit-reports/audit-12.pdf)## Bug reports
Found a security issue with our smart contracts? Send bug reports to [email protected] and we'll continue communicating with you from there. We're actively developing a bug bounty program; bug report payouts happen on a case by case basis, for now.
## Feedback
If you have any feedback, please reach out to us at [email protected].
## Authors
- [thirdweb](https://thirdweb.com)
## License
[Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)