@@ -14,8 +14,12 @@ IP-NFTs allow their users to tokenize intellectual property. This repo contains
1414| Tokenizer | [ 0x58EB89C69CB389DBef0c130C6296ee271b82f436] ( https://etherscan.io/address/0x58EB89C69CB389DBef0c130C6296ee271b82f436#code ) | <a href =" https://thirdweb.com/ethereum/0x58EB89C69CB389DBef0c130C6296ee271b82f436?utm_source=contract_badge " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0x58EB89C69CB389DBef0c130C6296ee271b82f436&theme=dark&chainId=1 " alt =" View contract " /></a > |
1515| Permissioner | [ 0xC837E02982992B701A1B5e4E21fA01cEB0a628fA] ( https://etherscan.io/address/0xC837E02982992B701A1B5e4E21fA01cEB0a628fA#code ) | <a href =" https://thirdweb.com/ethereum/0xC837E02982992B701A1B5e4E21fA01cEB0a628fA?utm_source=contract_badge " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0xC837E02982992B701A1B5e4E21fA01cEB0a628fA&theme=dark&chainId=1 " alt =" View contract " /></a > |
1616| Crowdsale | [ 0xf0a8d23f38e9cbbe01c4ed37f23bd519b65bc6c2] ( https://etherscan.io/address/0xf0a8d23f38e9cbbe01c4ed37f23bd519b65bc6c2#code ) | <a href =" https://thirdweb.com/ethereum/0xf0a8d23f38e9cbbe01c4ed37f23bd519b65bc6c2?utm_source=contract_badge " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0xf0a8d23f38e9cbbe01c4ed37f23bd519b65bc6c2&theme=dark&chainId=1 " alt =" View contract " /></a > |
17+ | Locking Crowdsale | [ 0xfbfd266bf3b49Db8746155AA318D4533Cc66DB26] ( https://etherscan.io/address/0xfbfd266bf3b49Db8746155AA318D4533Cc66DB26#code ) | <a href =" https://thirdweb.com/ethereum/0xfbfd266bf3b49Db8746155AA318D4533Cc66DB26?utm_source=contract_badge " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0xfbfd266bf3b49Db8746155AA318D4533Cc66DB26&theme=dark&chainId=1 " alt =" View contract " /></a > |
1718| StakedLockingCrowdSale | [ 0x35Bce29F52f51f547998717CD598068Afa2B29B7] ( https://etherscan.io/address/0x35Bce29F52f51f547998717CD598068Afa2B29B7#code ) | <a href =" https://thirdweb.com/ethereum/0x35Bce29F52f51f547998717CD598068Afa2B29B7?utm_source=contract_badge " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0x35Bce29F52f51f547998717CD598068Afa2B29B7&theme=dark&chainId=1 " alt =" View contract " /></a > |
1819
20+ timelocked token implementation=0x625ed621d814645AA81C50c4f333D4a407576e8F
21+
22+
1923#### Subgraph
2024
2125API: https://subgraph.satsuma-prod.com/742d8952ab24/molecule--4039244/ip-nft-mainnet/api
@@ -46,7 +50,12 @@ Deprecated after migrating to Defender 2 (was 0x3D30452c48F2448764d5819a9A2b684A
4650| Terms Permissioner | 0xC05D649368d8A5e2E98CAa205d47795de5fCB599 | <a href =" https://sepolia.etherscan.io/address/0xC05D649368d8A5e2E98CAa205d47795de5fCB599#code " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0xC05D649368d8A5e2E98CAa205d47795de5fCB599&theme=dark&chainId=1 " alt =" View contract " /></a > |
4751| Tokenizer | 0xca63411FF5187431028d003eD74B57531408d2F9 | <a href =" https://sepolia.etherscan.io/address/0xca63411FF5187431028d003eD74B57531408d2F9#code " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0xca63411FF5187431028d003eD74B57531408d2F9&theme=dark&chainId=1 " alt =" View contract " /></a > |
4852| Crowdsale | 0x8cA737E2cdaE1Ceb332bEf7ba9eA711a3a2f8037 | <a href =" https://sepolia.etherscan.io/address/0x8cA737E2cdaE1Ceb332bEf7ba9eA711a3a2f8037#code " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0x8cA737E2cdaE1Ceb332bEf7ba9eA711a3a2f8037&theme=dark&chainId=1 " alt =" View contract " /></a > |
49- | Staked Crowdsale | 0xd1cE2EA7d3b0C9cAB025A4aD762FC00315141ad7 | <a href =" https://sepolia.etherscan.io/address/0xd1cE2EA7d3b0C9cAB025A4aD762FC00315141ad7#code " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0xd1cE2EA7d3b0C9cAB025A4aD762FC00315141ad7&theme=dark&chainId=1 " alt =" View contract " /></a > |
53+ | Locking Crowdsale | 0x0Da77f361bB56f065Aa21647d885685eb7cAE10F | <a href =" https://sepolia.etherscan.io/address/0x0Da77f361bB56f065Aa21647d885685eb7cAE10F#code " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0x0Da77f361bB56f065Aa21647d885685eb7cAE10F&theme=dark&chainId=1 " alt =" View contract " /></a > |
54+ | Staked Crowdsale | 0xd1cE2EA7d3b0C9cAB025A4aD762FC00315141ad7 | <a href =" https://sepolia.etherscan.io/address/0xd1cE2EA7d3b0C9cAB025A4aD762FC00315141ad7#code " target =" _blank " ><img width =" 200 " height =" 45 " src =" https://badges.thirdweb.com/contract?address=0xd1cE2EA7d3b0C9cAB025A4aD762FC00315141ad7&theme=dark&chainId=11155111 " alt =" View contract " /></a > |
55+
56+ timelocked token implementation=0xF8F79c1E02387b0Fc9DE0945cD9A2c06F127D851
57+
58+ new SLCS with support for verifiable timelocks & distinctly configurable staking / locking periods: https://sepolia.etherscan.io/address/0x2d309CF13dC3872f9c9B1B06Ebf6F60caDe08d55#code
5059
5160#### Subgraphs
5261
@@ -98,6 +107,12 @@ forge script --private-key=$PRIVATE_KEY --rpc-url=$RPC_URL script/prod/RolloutTo
98107// 0xTokenizer 0xNewImpl 0xNewTokenImpl
99108cast send --rpc-url=$RPC_URL --private-key=$PRIVATE_KEY 0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e "upgradeToAndCall(address,bytes)" 0x70e0bA845a1A0F2DA3359C97E0285013525FFC49 0x84646c1f000000000000000000000000998abeb3e57409262ae5b751f60747921b33613e
100109
110+ ### Timelocked Tokens
111+
112+ originally the "timelocked token" was an inline concept of the slcs. Timelock contracts weren't reusable among cs impls. This changes as of beginning of 2025. As a rather simple but not very elegant (and certainly not correct) solution we decided to "trust" external locking contracts so you can reuse them among crowdsale instances. This was needed for the VitaRNA crowdsale that's supposed to just support locks, no stakes - and hence required another crowdsale instance. During this upgrade we decided to externalize the timelock token template so upcoming instances can be verified on chain.
113+
114+ ---
115+
101116## Prerequisites
102117
103118To work with this repository you have to install Foundry (< https://getfoundry.sh > ). Run the following command in your terminal, then follow the onscreen instructions (macOS and Linux):
@@ -204,6 +219,9 @@ The crowdsale computation model can be tried out here: <https://docs.google.com/
204219Deploying and verifying a single contract without the help of any script
205220` forge create --rpc-url $RPC_URL --private-key $PRIVATE_KEY --chain 5 --etherscan-api-key $ETHERSCAN_API_KEY --verify src/crowdsale/StakedLockingCrowdSale.sol:StakedLockingCrowdSale `
206221
222+ Verifying the staked crowdsale
223+ ` forge verify-contract --chain-id=11155111 --etherscan-api-key=$ETHERSCAN_API_KEY --constructor-args $(cast abi-encode "constructor(address)" 0xF8F79c1E02387b0Fc9DE0945cD9A2c06F127D851) 0x7eeb7113f90893fb95c6666e3930235850f2bc6A src/crowdsale/StakedLockingCrowdSale.sol:StakedLockingCrowdSale `
224+
207225### Deploying (vested) test tokens
208226
209227To test staked / vested token interactions, you need some test tokens. Here are 2 convenient script to get them running:
0 commit comments