From 9d2f4ca0a1e8db500c482c79f017e767e768c1bf Mon Sep 17 00:00:00 2001 From: Lucas Marc Date: Wed, 17 Jan 2024 17:23:40 -0300 Subject: [PATCH 1/5] feat: updated .prettier to unify code styling --- .prettierrc | 5 ++- README.md | 75 ++++++++++++++++++++++++------------ scripts/deploy.ts | 97 +++++++++++++++++++++++------------------------ 3 files changed, 102 insertions(+), 75 deletions(-) diff --git a/.prettierrc b/.prettierrc index f8dbe76..fb389b1 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,6 +1,9 @@ { "printWidth": 80, "proseWrap": "always", + "singleQuote": true, + "semi": true, + "trailingComma": "all", "overrides": [ { "files": "*.yml", @@ -10,4 +13,4 @@ } } ] -} +} \ No newline at end of file diff --git a/README.md b/README.md index 7d6d3a8..6722d1e 100644 --- a/README.md +++ b/README.md @@ -5,42 +5,61 @@ [![Coverage](https://github.com/InstrumentalFi/instrumental-contracts/actions/workflows/coverage.yml/badge.svg)](https://github.com/InstrumentalFi/instrumental-contracts/actions/workflows/coverage.yml) [![codecov](https://codecov.io/github/InstrumentalFi/instrumental-contracts/branch/main/graph/badge.svg?token=dH6ikLs46M)](https://codecov.io/github/InstrumentalFi/instrumental-contracts/ -This repository contains the source code for the Pablo Vault and Fee Distribution Contracts. +This repository contains the source code for the Pablo Vault and Fee +Distribution Contracts. ## Behaviour -This section elaborates on the functionalities and interactions of CosmWasm contracts used for staking and fee distribution within the Cosmos network. +This section elaborates on the functionalities and interactions of CosmWasm +contracts used for staking and fee distribution within the Cosmos network. ### 1. Distributor Contract + - **Functionality**: Receives and allocates tokens based on predefined rules. -- **Features**: - - Supports various Cosmos denominations (denoms), accounts, and percentage-based distributions. - - Enables the transfer of tokens to multiple contracts or addresses, ensuring versatile distribution. - - Suitable for various applications including staking and the Osmosis adapter pool (note: no integration with the pool). +- **Features**: + - Supports various Cosmos denominations (denoms), accounts, and + percentage-based distributions. + - Enables the transfer of tokens to multiple contracts or addresses, ensuring + versatile distribution. + - Suitable for various applications including staking and the Osmosis adapter + pool (note: no integration with the pool). ### 2. Fee Collector Contract -- **Functionality**: Serves as a recipient for tokens from the Distributor contract, acting as a secure storage. -- **Characteristics**: + +- **Functionality**: Serves as a recipient for tokens from the Distributor + contract, acting as a secure storage. +- **Characteristics**: - Receives a specific portion of tokens from the Distributor contract. - - Implements checks and permissions to ensure secure and authorized withdrawals of tokens. + - Implements checks and permissions to ensure secure and authorized + withdrawals of tokens. - Allows the Staking contract to withdraw tokens. ### 3. Staking Contract -- **Functionality**: Manages the staking of tokens and facilitates the distribution of rewards. + +- **Functionality**: Manages the staking of tokens and facilitates the + distribution of rewards. - **Features**: - - "Tokens per interval" parameter sets a maximum limit for distribution within a specified timeframe. - - Distributes the lesser of total tokens in the collector or "time x tokens per interval." + - "Tokens per interval" parameter sets a maximum limit for distribution within + a specified timeframe. + - Distributes the lesser of total tokens in the collector or "time x tokens + per interval." - Issues stTokens to users in representation of their stake. - - stTokens are value-accruing, allowing holders to collect a portion of fees proportional to their stToken holdings. -- **Distribution**: - - Occurs at predefined intervals with immediate accrual of user shares upon staking. - - Adopts a pro-rata distribution model, ensuring fee distribution is proportional to each user’s stToken holdings. - - Utilizes a precise user share tracking mechanism akin to other reward systems. + - stTokens are value-accruing, allowing holders to collect a portion of fees + proportional to their stToken holdings. +- **Distribution**: + - Occurs at predefined intervals with immediate accrual of user shares upon + staking. + - Adopts a pro-rata distribution model, ensuring fee distribution is + proportional to each user’s stToken holdings. + - Utilizes a precise user share tracking mechanism akin to other reward + systems. ### Special Considerations -- **Passive Stakers**: Further investigation is necessary to ensure that passive stakers are adequately protected and fairly treated compared to those who stake at the last minute. The case of one chain accumulates and sends transfers peridocally is important. - +- **Passive Stakers**: Further investigation is necessary to ensure that passive + stakers are adequately protected and fairly treated compared to those who + stake at the last minute. The case of one chain accumulates and sends + transfers peridocally is important. ## Environment set up @@ -72,9 +91,12 @@ cargo make rust-optimizer wget -P ./artifacts/ https://github.com/CosmWasm/cw-plus/releases/download/v1.1.0/cw20_base.wasm ``` -This compiles and optimizes all contracts, storing them in `/artifacts` directory along with `checksum.txt` which contains sha256 hashes of each of the `.wasm` files (The script just uses CosmWasm's [rust-optimizer][9]). +This compiles and optimizes all contracts, storing them in `/artifacts` +directory along with `checksum.txt` which contains sha256 hashes of each of the +`.wasm` files (The script just uses CosmWasm's [rust-optimizer][9]). -**Note:** Intel/Amd 64-bit processor is required. While there is experimental ARM support for CosmWasm/rust-optimizer, it's discouraged to use in production. +**Note:** Intel/Amd 64-bit processor is required. While there is experimental +ARM support for CosmWasm/rust-optimizer, it's discouraged to use in production. **NOTE:** on Apple devices an architecture suffix may be required. @@ -88,7 +110,8 @@ See deployment [scripts](./scripts/README.md). cargo make --makefile Makefile.toml generate-all-schemas ``` -Creates JSON schema files for relevant contract calls, queries and query responses (See: [cosmwams-schema][10]). +Creates JSON schema files for relevant contract calls, queries and query +responses (See: [cosmwams-schema][10]). ## Linting @@ -106,7 +129,8 @@ cargo make clippy ## Testing -Integration tests (task `integration-test` or `test`) use `.wasm` files. They have to be generated with `cargo make build`. +Integration tests (task `integration-test` or `test`) use `.wasm` files. They +have to be generated with `cargo make build`. Run unit tests: @@ -123,7 +147,7 @@ cargo make test ## Deployments | chain | contract | code id | git commit | store tx | -|---------|-------------|---------|------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ------- | ----------- | ------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | osmosis | liquidator | 398 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [9734C67B5E046BA7AE57D566BFB8FCD7611C842A1D4063CA03D81D4636670C12](https://celatone.osmosis.zone/osmosis-1/txs/9734C67B5E046BA7AE57D566BFB8FCD7611C842A1D4063CA03D81D4636670C12) | | neutron | collector | 603 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [D2CDBB27AC03976D239852E01ED43CEB5100574AA4192677E64AC1E4248515A8](https://neutron.celat.one/neutron-1/txs/D2CDBB27AC03976D239852E01ED43CEB5100574AA4192677E64AC1E4248515A8) | | neutron | staking | 604 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [6DA9CAC7377E8D9EBD567E2372A79D8AAD2354D31871586E6AC2927F4E238B95](https://neutron.celat.one/neutron-1/txs/6DA9CAC7377E8D9EBD567E2372A79D8AAD2354D31871586E6AC2927F4E238B95) | @@ -132,7 +156,8 @@ cargo make test ## License -Contents of this repository are open source under [GNU General Public License v3](./LICENSE) or later. +Contents of this repository are open source under +[GNU General Public License v3](./LICENSE) or later. [4]: https://rustup.rs/ [5]: https://github.com/sagiegurari/cargo-make diff --git a/scripts/deploy.ts b/scripts/deploy.ts index 7c7a652..acf15b7 100644 --- a/scripts/deploy.ts +++ b/scripts/deploy.ts @@ -18,7 +18,7 @@ const ARTIFACTS_PATH = '../artifacts'; async function createWallet( mnemonic: string, - prefixValue: string + prefixValue: string, ): Promise { // const mnemonic = const wallet = await DirectSecp256k1HdWallet.fromMnemonic(mnemonic, { @@ -62,26 +62,25 @@ async function main() { const client = await SigningCosmWasmClient.connectWithSigner( rpcEndpoint, wallet, - { gasPrice: GasPrice.fromString('0.025uosmo') } + { gasPrice: GasPrice.fromString('0.025uosmo') }, ); - /// /// Upload CW20 Contract /// - console.log('Uploading CW20...') + console.log('Uploading CW20...'); const cw20CodeId = await uploadContract( client, account.address, join(ARTIFACTS_PATH, 'cw20_base.wasm'), 'auto', - ) - console.log(`CW20:\n\tCode ID: ${cw20CodeId}`) + ); + console.log(`CW20:\n\tCode ID: ${cw20CodeId}`); /// /// Deploy Collector Contract /// - console.log('Deploying Fee Collector...') + console.log('Deploying Fee Collector...'); const collectorDeployment = await deployContract( client, account.address, @@ -90,22 +89,22 @@ async function main() { {}, '150000', {}, - ) + ); console.log( `Fee Collector: \tContract Address: ${collectorDeployment.address} \tCode ID: ${collectorDeployment.codeId}`, - ) + ); /// /// Deploy Staking Contract /// - console.log('Deploying Staking...') + console.log('Deploying Staking...'); - deployConfig.staking.fee_collector = collectorDeployment.address - deployConfig.staking.token_code_id = cw20CodeId - console.log(deployConfig.staking) + deployConfig.staking.fee_collector = collectorDeployment.address; + deployConfig.staking.token_code_id = cw20CodeId; + console.log(deployConfig.staking); const stakingDeployment = await deployContract( client, @@ -115,23 +114,23 @@ async function main() { deployConfig.staking, '150000', {}, - ) + ); console.log( `Staking: \tContract Address: ${stakingDeployment.address} \tCode ID: ${stakingDeployment.codeId}`, - ) + ); /// /// Deploy Distributor Contract /// - console.log('Deploying Distributor...') + console.log('Deploying Distributor...'); deployConfig.distributor.distribution.push([ collectorDeployment.address, '500000', - ]) + ]); const distributorDeployment = await deployContract( client, @@ -141,18 +140,18 @@ async function main() { deployConfig.distributor, '150000', {}, - ) + ); console.log( `Distributor: \tContract Address: ${distributorDeployment.address} \tCode ID: ${distributorDeployment.codeId}`, - ) + ); /// /// Add token to collector /// - console.log('Add token to collector...') + console.log('Add token to collector...'); await executeContract( client, account.address, @@ -163,12 +162,12 @@ async function main() { }, }, '150000', - ) + ); /// /// Unpause staking contract /// - console.log('Unpause staking contract...') + console.log('Unpause staking contract...'); await executeContract( client, account.address, @@ -177,58 +176,58 @@ async function main() { unpause: {}, }, '150000', - ) + ); /// /// Query staking config /// - console.log('Querying Staking Contract...') + console.log('Querying Staking Contract...'); let state = await queryContract(client, stakingDeployment.address, { state: {}, - }) + }); let stakingConfig = await queryContract(client, stakingDeployment.address, { config: {}, - }) - console.log('State:\n', state) - console.log('Config:\n', stakingConfig) + }); + console.log('State:\n', state); + console.log('Config:\n', stakingConfig); /// /// Query collector config /// - console.log('Querying Collector Contract...') + console.log('Querying Collector Contract...'); let owner = await queryContract(client, collectorDeployment.address, { get_owner: {}, - }) + }); let whitelist = await queryContract(client, collectorDeployment.address, { get_whitelist: {}, - }) + }); let tokenlist = await queryContract(client, collectorDeployment.address, { get_token_list: {}, - }) - console.log('Owner:\n', owner) - console.log('Whitelist:\n', whitelist) - console.log('Tokens:\n', tokenlist) + }); + console.log('Owner:\n', owner); + console.log('Whitelist:\n', whitelist); + console.log('Tokens:\n', tokenlist); /// /// Query distributor config /// - console.log('Querying Distributor Contract...') + console.log('Querying Distributor Contract...'); owner = await queryContract(client, distributorDeployment.address, { get_owner: {}, - }) + }); let distributorConfig = await queryContract( client, distributorDeployment.address, { get_config: {}, }, - ) + ); let token = await queryContract(client, distributorDeployment.address, { get_token: {}, - }) - console.log('Owner:\n', owner) - console.log('Config:\n', distributorConfig) - console.log('Token:\n', token) + }); + console.log('Owner:\n', owner); + console.log('Config:\n', distributorConfig); + console.log('Token:\n', token); /// /// Save contract address to file @@ -237,9 +236,9 @@ async function main() { collectorAddress: collectorDeployment.address, distributorAddress: distributorDeployment.address, stakingAddress: stakingDeployment.address, - } + }; - let jsonContent = JSON.stringify(data) + let jsonContent = JSON.stringify(data); writeFile( 'contract-address.json', @@ -247,13 +246,13 @@ async function main() { 'utf8', (err: Error | null) => { if (err) { - console.log('An error occurred while writing JSON Object to File.') - return console.log(err) + console.log('An error occurred while writing JSON Object to File.'); + return console.log(err); } - console.log('JSON file has been saved.') + console.log('JSON file has been saved.'); }, - ) + ); } -main().catch(console.log) +main().catch(console.log); From 3f88e15a7719e3d016a442a2f358569ac6a7906e Mon Sep 17 00:00:00 2001 From: Lucas Marc Date: Wed, 17 Jan 2024 17:24:19 -0300 Subject: [PATCH 2/5] feat: added cw20 store code id --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6722d1e..19d8dc0 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ cargo make test | neutron | collector | 603 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [D2CDBB27AC03976D239852E01ED43CEB5100574AA4192677E64AC1E4248515A8](https://neutron.celat.one/neutron-1/txs/D2CDBB27AC03976D239852E01ED43CEB5100574AA4192677E64AC1E4248515A8) | | neutron | staking | 604 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [6DA9CAC7377E8D9EBD567E2372A79D8AAD2354D31871586E6AC2927F4E238B95](https://neutron.celat.one/neutron-1/txs/6DA9CAC7377E8D9EBD567E2372A79D8AAD2354D31871586E6AC2927F4E238B95) | | neutron | distributor | 605 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [FD8A8BA705181B0FFD351B27AEE8DA405D844F972EF67535C5BD7595205D3051](https://neutron.celat.one/neutron-1/txs/FD8A8BA705181B0FFD351B27AEE8DA405D844F972EF67535C5BD7595205D3051) | - +| neutron | cw20 | 640 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [FD8A8BA705181B0FFD351B27AEE8DA405D844F972EF67535C5BD7595205D3051](https://neutron.celat.one/neutron-1/txs/29136027A18998DBE7919040C5D79CA5B6F4D66FBD2D5C877E36C8DFEADA7DF9) | ## License From 793e3aaad34479d9d426d3f7aa1aa847749c76c8 Mon Sep 17 00:00:00 2001 From: Lucas Marc Date: Thu, 18 Jan 2024 01:10:57 -0300 Subject: [PATCH 3/5] feat: added instantiation information for neutron mainnet --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 19d8dc0..10e1e6b 100644 --- a/README.md +++ b/README.md @@ -146,13 +146,23 @@ cargo make test ## Deployments +### Code ids + | chain | contract | code id | git commit | store tx | | ------- | ----------- | ------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | osmosis | liquidator | 398 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [9734C67B5E046BA7AE57D566BFB8FCD7611C842A1D4063CA03D81D4636670C12](https://celatone.osmosis.zone/osmosis-1/txs/9734C67B5E046BA7AE57D566BFB8FCD7611C842A1D4063CA03D81D4636670C12) | | neutron | collector | 603 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [D2CDBB27AC03976D239852E01ED43CEB5100574AA4192677E64AC1E4248515A8](https://neutron.celat.one/neutron-1/txs/D2CDBB27AC03976D239852E01ED43CEB5100574AA4192677E64AC1E4248515A8) | | neutron | staking | 604 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [6DA9CAC7377E8D9EBD567E2372A79D8AAD2354D31871586E6AC2927F4E238B95](https://neutron.celat.one/neutron-1/txs/6DA9CAC7377E8D9EBD567E2372A79D8AAD2354D31871586E6AC2927F4E238B95) | | neutron | distributor | 605 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [FD8A8BA705181B0FFD351B27AEE8DA405D844F972EF67535C5BD7595205D3051](https://neutron.celat.one/neutron-1/txs/FD8A8BA705181B0FFD351B27AEE8DA405D844F972EF67535C5BD7595205D3051) | -| neutron | cw20 | 640 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [FD8A8BA705181B0FFD351B27AEE8DA405D844F972EF67535C5BD7595205D3051](https://neutron.celat.one/neutron-1/txs/29136027A18998DBE7919040C5D79CA5B6F4D66FBD2D5C877E36C8DFEADA7DF9) | +| neutron | cw20 | 640 | 27aad556a2c6ac6dbb3a4c078fc523982c2b02dc | [29136027A18998DBE7919040C5D79CA5B6F4D66FBD2D5C877E36C8DFEADA7DF9](https://neutron.celat.one/neutron-1/txs/29136027A18998DBE7919040C5D79CA5B6F4D66FBD2D5C877E36C8DFEADA7DF9) | + +### Instances + +| chain | code id | contract label | contract address | instantiate tx | +| ------- | ------- | ------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| neutron | 603 | Instrumental Collector Test v0.1.0 | neutron1rj7qq3gdy9vlj2lcetcljfqkl0we4wyy0v39008j46dgkntcy08sd6973f | [CDA0E3D8804F568C6C62A57C50D72DB472C83CCCC97C533BAF098D764134344C](https://neutron.celat.one/neutron-1/txs/CDA0E3D8804F568C6C62A57C50D72DB472C83CCCC97C533BAF098D764134344C) | +| neutron | 604 | Instrumental Staking Test v0.1.0 | neutron1grhgwckx25xc74w46g9px02d6puwf89ecaet04c8jq6jd7r4hycq06pcqf | [0519C8CAFB144BB9572CC34F3D2AA6347E6D9218CA99EEFFE8EB66C13A90ECEB](https://neutron.celat.one/neutron-1/txs/0519C8CAFB144BB9572CC34F3D2AA6347E6D9218CA99EEFFE8EB66C13A90ECEB) | +| neutron | 605 | Instrumental Distributor Test v0.1.0 | neutron1q780umshmr5jnwngyulfnyds6tymdwxpxhadl4w2nugk3826n70sd4res8 | [F90C7BC588703759FDC5990114AFB672A4ED5DDC9EC58F2C56ADBFD77C78F356](https://neutron.celat.one/neutron-1/txs/F90C7BC588703759FDC5990114AFB672A4ED5DDC9EC58F2C56ADBFD77C78F356) | ## License From bb1f60fc9c1d0e254661ed475ba46898ee014cab Mon Sep 17 00:00:00 2001 From: Lucas Marc Date: Fri, 19 Jan 2024 16:11:59 -0300 Subject: [PATCH 4/5] feat: deployed test liquidator on osmosis --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 10e1e6b..a3c4c3d 100644 --- a/README.md +++ b/README.md @@ -158,11 +158,12 @@ cargo make test ### Instances -| chain | code id | contract label | contract address | instantiate tx | -| ------- | ------- | ------------------------------------ | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| neutron | 603 | Instrumental Collector Test v0.1.0 | neutron1rj7qq3gdy9vlj2lcetcljfqkl0we4wyy0v39008j46dgkntcy08sd6973f | [CDA0E3D8804F568C6C62A57C50D72DB472C83CCCC97C533BAF098D764134344C](https://neutron.celat.one/neutron-1/txs/CDA0E3D8804F568C6C62A57C50D72DB472C83CCCC97C533BAF098D764134344C) | -| neutron | 604 | Instrumental Staking Test v0.1.0 | neutron1grhgwckx25xc74w46g9px02d6puwf89ecaet04c8jq6jd7r4hycq06pcqf | [0519C8CAFB144BB9572CC34F3D2AA6347E6D9218CA99EEFFE8EB66C13A90ECEB](https://neutron.celat.one/neutron-1/txs/0519C8CAFB144BB9572CC34F3D2AA6347E6D9218CA99EEFFE8EB66C13A90ECEB) | -| neutron | 605 | Instrumental Distributor Test v0.1.0 | neutron1q780umshmr5jnwngyulfnyds6tymdwxpxhadl4w2nugk3826n70sd4res8 | [F90C7BC588703759FDC5990114AFB672A4ED5DDC9EC58F2C56ADBFD77C78F356](https://neutron.celat.one/neutron-1/txs/F90C7BC588703759FDC5990114AFB672A4ED5DDC9EC58F2C56ADBFD77C78F356) | +| chain | code id | contract label | contract address | instantiate tx | +| ------- | ------- | ------------------------------------ | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| neutron | 603 | Instrumental Collector Test v0.1.0 | neutron1rj7qq3gdy9vlj2lcetcljfqkl0we4wyy0v39008j46dgkntcy08sd6973f | [CDA0E3D8804F568C6C62A57C50D72DB472C83CCCC97C533BAF098D764134344C](https://neutron.celat.one/neutron-1/txs/CDA0E3D8804F568C6C62A57C50D72DB472C83CCCC97C533BAF098D764134344C) | +| neutron | 604 | Instrumental Staking Test v0.1.0 | neutron1grhgwckx25xc74w46g9px02d6puwf89ecaet04c8jq6jd7r4hycq06pcqf | [0519C8CAFB144BB9572CC34F3D2AA6347E6D9218CA99EEFFE8EB66C13A90ECEB](https://neutron.celat.one/neutron-1/txs/0519C8CAFB144BB9572CC34F3D2AA6347E6D9218CA99EEFFE8EB66C13A90ECEB) | +| neutron | 605 | Instrumental Distributor Test v0.1.0 | neutron1q780umshmr5jnwngyulfnyds6tymdwxpxhadl4w2nugk3826n70sd4res8 | [F90C7BC588703759FDC5990114AFB672A4ED5DDC9EC58F2C56ADBFD77C78F356](https://neutron.celat.one/neutron-1/txs/F90C7BC588703759FDC5990114AFB672A4ED5DDC9EC58F2C56ADBFD77C78F356) | +| osmosis | 398 | Instrumental Liquidator Test v0.1.0 | osmo1p5q3n023cky2ftmdrwzyxmsmvrvh7twj7lc9vr30xrg6agpksl2qqphkdg | [067DE48605184A001985041AACAC22266A2190FEAF841A64AA3C48C54EA78E46](https://celatone.osmosis.zone/osmosis-1/txs/067DE48605184A001985041AACAC22266A2190FEAF841A64AA3C48C54EA78E46) | ## License From 47146e2f3a19a09afa6d920cdc8adfcedcd1df33 Mon Sep 17 00:00:00 2001 From: facu Date: Mon, 26 Feb 2024 08:34:05 -0300 Subject: [PATCH 5/5] update readme with the last deploy --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3c4c3d..521819f 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ cargo make test | chain | code id | contract label | contract address | instantiate tx | | ------- | ------- | ------------------------------------ | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | neutron | 603 | Instrumental Collector Test v0.1.0 | neutron1rj7qq3gdy9vlj2lcetcljfqkl0we4wyy0v39008j46dgkntcy08sd6973f | [CDA0E3D8804F568C6C62A57C50D72DB472C83CCCC97C533BAF098D764134344C](https://neutron.celat.one/neutron-1/txs/CDA0E3D8804F568C6C62A57C50D72DB472C83CCCC97C533BAF098D764134344C) | -| neutron | 604 | Instrumental Staking Test v0.1.0 | neutron1grhgwckx25xc74w46g9px02d6puwf89ecaet04c8jq6jd7r4hycq06pcqf | [0519C8CAFB144BB9572CC34F3D2AA6347E6D9218CA99EEFFE8EB66C13A90ECEB](https://neutron.celat.one/neutron-1/txs/0519C8CAFB144BB9572CC34F3D2AA6347E6D9218CA99EEFFE8EB66C13A90ECEB) | +| neutron | 604 | Instrumental Staking Test v0.1.2 | neutron1r8f6teg5j4w3k8fda5hcfaalhp2ny0g2dje9c5syewwlhe6n8wlsyeh3zy | [FC978990550CEFE2F7C8FE78A58A8BC5418E60D084A15E21A952C4D23308DA77](https://neutron.celat.one/neutron-1/txs/FC978990550CEFE2F7C8FE78A58A8BC5418E60D084A15E21A952C4D23308DA77) | | neutron | 605 | Instrumental Distributor Test v0.1.0 | neutron1q780umshmr5jnwngyulfnyds6tymdwxpxhadl4w2nugk3826n70sd4res8 | [F90C7BC588703759FDC5990114AFB672A4ED5DDC9EC58F2C56ADBFD77C78F356](https://neutron.celat.one/neutron-1/txs/F90C7BC588703759FDC5990114AFB672A4ED5DDC9EC58F2C56ADBFD77C78F356) | | osmosis | 398 | Instrumental Liquidator Test v0.1.0 | osmo1p5q3n023cky2ftmdrwzyxmsmvrvh7twj7lc9vr30xrg6agpksl2qqphkdg | [067DE48605184A001985041AACAC22266A2190FEAF841A64AA3C48C54EA78E46](https://celatone.osmosis.zone/osmosis-1/txs/067DE48605184A001985041AACAC22266A2190FEAF841A64AA3C48C54EA78E46) |