From ff6859a380618024d256c209f5105bb7f1b989d3 Mon Sep 17 00:00:00 2001 From: Dusan Maksimovic <94966669+dusan-maksimovic@users.noreply.github.com> Date: Thu, 10 Oct 2024 15:46:50 +0200 Subject: [PATCH 01/12] run interchain tests in nightly GH workflow (#141) --- .github/workflows/nigthly-tests.yml | 14 ++++++++++++++ test/interchain/hydro_suite.go | 1 + 2 files changed, 15 insertions(+) create mode 100644 .github/workflows/nigthly-tests.yml diff --git a/.github/workflows/nigthly-tests.yml b/.github/workflows/nigthly-tests.yml new file mode 100644 index 0000000..0272612 --- /dev/null +++ b/.github/workflows/nigthly-tests.yml @@ -0,0 +1,14 @@ +name: Nightly Tests + +on: + schedule: + # run at 4am every day + - cron: '0 4 * * *' + +jobs: + test-interchain: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Interchain Tests + run: make build-docker-relayer && make test-interchain \ No newline at end of file diff --git a/test/interchain/hydro_suite.go b/test/interchain/hydro_suite.go index 2a77a3f..04827aa 100644 --- a/test/interchain/hydro_suite.go +++ b/test/interchain/hydro_suite.go @@ -223,6 +223,7 @@ func (s *HydroSuite) InstantiateHydroContract( "hub_transfer_channel_id": neutronTransferChannel.ChannelID, "icq_update_period": 10, "icq_managers": []string{adminAddr}, + "is_in_pilot_mode": false, } initHydroJson, err := json.Marshal(initHydro) s.Require().NoError(err) From 8def76775e564db31194c96f9a21ce2364b348f6 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> Date: Mon, 14 Oct 2024 16:41:24 +0200 Subject: [PATCH 02/12] Update relaying script to use production contract addresses (#144) --- tools/script.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/script.sh b/tools/script.sh index ef325a4..5335f22 100755 --- a/tools/script.sh +++ b/tools/script.sh @@ -5,7 +5,7 @@ export NEUTRON_CHAIN_ID="neutron-1" export RELAYER_NEUTRON_CHAIN_RPC_ADDR=https://neutron-rpc.publicnode.com:443 export RELAYER_NEUTRON_CHAIN_REST_ADDR=https://neutron-rest.publicnode.com export RELAYER_NEUTRON_CHAIN_HOME_DIR=$HOME/.neutrond -export RELAYER_NEUTRON_CHAIN_SIGN_KEY_NAME=money +export RELAYER_NEUTRON_CHAIN_SIGN_KEY_NAME=hs export RELAYER_NEUTRON_CHAIN_KEYRING_BACKEND=test export RELAYER_NEUTRON_CHAIN_DENOM=untrn export RELAYER_NEUTRON_CHAIN_GAS_PRICES=0.0055untrn @@ -17,12 +17,12 @@ export RELAYER_NEUTRON_CHAIN_OUTPUT_FORMAT=json export RELAYER_TARGET_CHAIN_RPC_ADDR=https://cosmos-rpc.publicnode.com:443 export RELAYER_TARGET_CHAIN_API_ADDR=https://api.cosmos.nodestake.org # this needs to be the address of the contract -export RELAYER_REGISTRY_ADDRESSES=neutron192s005pfsx7j397l4jarhgu8gs2lcgwyuntehp6wundrh8pgkywqgss0tm +export RELAYER_REGISTRY_ADDRESSES=neutron13w6sagl4clacx4c8drhuwfl20cesn3pnllhf37e65ls8zwf6gcgq93t2lp # maximum number of validator queries to submit in a single block. # lower this if you get errors about exceeding the max block size export BATCH_SIZE=30 # the number of top validators to add queries for -export NUM_VALIDATORS_TO_ADD=9 +export NUM_VALIDATORS_TO_ADD=300 ##### # typically, no need to modify these From 855897f65a6600650253278fb729aac027e71a39 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> Date: Tue, 15 Oct 2024 10:00:12 +0200 Subject: [PATCH 03/12] Gitignore mac specific files (#145) * Gitignore mac specific files * Make gitignore broader --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index c1c5dbd..9b32d07 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,6 @@ Cargo.toml.orig # ignore proptest regressions */proptest-regressions/* + +# macOS specific +**/.DS_Store From faf51959f9553dcb621f277a4c887637bac605bf Mon Sep 17 00:00:00 2001 From: Philip Offtermatt Date: Tue, 15 Oct 2024 10:31:13 +0200 Subject: [PATCH 04/12] Reduce proptest cases to speed up testing --- contracts/hydro/src/testing.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contracts/hydro/src/testing.rs b/contracts/hydro/src/testing.rs index 2e1203b..601a1fe 100644 --- a/contracts/hydro/src/testing.rs +++ b/contracts/hydro/src/testing.rs @@ -1410,7 +1410,7 @@ fn verify_expected_voting_power(deps: Deps, expected_powers: &[(u6 } proptest! { - #![proptest_config(ProptestConfig::with_cases(10000))] // set the number of test cases to run + #![proptest_config(ProptestConfig::with_cases(100))] // set the number of test cases to run #[test] fn relock_proptest(old_lock_remaining_time: u64, new_lock_duration: u8) { let grpc_query = denom_trace_grpc_query_mock( From 5df5e47173368d1683078c5956e8b02787e6cff1 Mon Sep 17 00:00:00 2001 From: Dusan Maksimovic <94966669+dusan-maksimovic@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:57:15 +0200 Subject: [PATCH 05/12] Adjust tribute refunding condition (#146) * adjusted tribute refunding condition * CR changes * CR changes --- .../146-adjust-tribute-refunding-condition.md | 2 + Cargo.lock | 2 +- artifacts/checksums.txt | 2 +- artifacts/tribute.wasm | Bin 329257 -> 342731 bytes contracts/hydro/schema/hydro_full_schema.json | 550 +++++++++--------- contracts/tribute/Cargo.toml | 2 +- contracts/tribute/schema/config_response.json | 8 + contracts/tribute/schema/instantiate_msg.json | 12 +- .../tribute/schema/tribute_full_schema.json | 20 +- contracts/tribute/src/contract.rs | 94 ++- contracts/tribute/src/lib.rs | 1 + contracts/tribute/src/migrate.rs | 42 ++ contracts/tribute/src/msg.rs | 6 +- contracts/tribute/src/state.rs | 10 +- contracts/tribute/src/testing.rs | 195 +++++-- packages/interface/src/tribute.rs | 2 +- test/e2e/src/testing.rs | 1 + test/interchain/hydro_suite.go | 5 +- ts_types/TributeBase.client.ts | 2 +- ts_types/TributeBase.types.ts | 4 +- 20 files changed, 612 insertions(+), 348 deletions(-) create mode 100644 .changelog/unreleased/features/146-adjust-tribute-refunding-condition.md create mode 100644 contracts/tribute/src/migrate.rs diff --git a/.changelog/unreleased/features/146-adjust-tribute-refunding-condition.md b/.changelog/unreleased/features/146-adjust-tribute-refunding-condition.md new file mode 100644 index 0000000..9ab30e3 --- /dev/null +++ b/.changelog/unreleased/features/146-adjust-tribute-refunding-condition.md @@ -0,0 +1,2 @@ +- Adjust tribute refunding condition. + ([\#146](https://github.com/informalsystems/hydro/pull/146)) diff --git a/Cargo.lock b/Cargo.lock index c8a0e0e..7637866 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3728,7 +3728,7 @@ dependencies = [ [[package]] name = "tribute" -version = "1.0.0" +version = "2.0.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", diff --git a/artifacts/checksums.txt b/artifacts/checksums.txt index 6c5b77f..dd08aaf 100644 --- a/artifacts/checksums.txt +++ b/artifacts/checksums.txt @@ -1,2 +1,2 @@ b8ad3e6620dffc6b4d0357d983333d6db3f2ec4a485f0b87906bcff6c6e223e1 hydro.wasm -b522862cb198bbfa2cab046110b4d26a590dea315fe838af3cf1455cad41f9b7 tribute.wasm +c5d59fa66d0435e64eda39e635e1a43cb30e02cfcf4686fc1b056bc26bce3cec tribute.wasm diff --git a/artifacts/tribute.wasm b/artifacts/tribute.wasm index 9eb43f406c008a61eb8a25dd807e1d175865397b..427401fb5f9c4ebb06f4f28c7748c995d7ec3601 100644 GIT binary patch delta 113016 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

3StrjhKayE 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 bpu9VwA@3G#fiq0{y8`ei;2_{aq5FRTJ(e(^ diff --git a/contracts/hydro/schema/hydro_full_schema.json b/contracts/hydro/schema/hydro_full_schema.json index e17be1e..46bf480 100644 --- a/contracts/hydro/schema/hydro_full_schema.json +++ b/contracts/hydro/schema/hydro_full_schema.json @@ -906,44 +906,23 @@ "migrate": {}, "sudo": {}, "responses": { - "tranches": { + "round_total_voting_power": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "TranchesResponse", + "title": "RoundTotalVotingPowerResponse", "type": "object", "required": [ - "tranches" + "total_voting_power" ], "properties": { - "tranches": { - "type": "array", - "items": { - "$ref": "#/definitions/Tranche" - } + "total_voting_power": { + "$ref": "#/definitions/Uint128" } }, "additionalProperties": false, "definitions": { - "Tranche": { - "type": "object", - "required": [ - "id", - "metadata", - "name" - ], - "properties": { - "id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "metadata": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "additionalProperties": false + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" } } }, @@ -1012,146 +991,43 @@ } } }, - "round_proposals": { + "whitelist": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RoundProposalsResponse", + "title": "WhitelistResponse", "type": "object", "required": [ - "proposals" + "whitelist" ], "properties": { - "proposals": { + "whitelist": { "type": "array", "items": { - "$ref": "#/definitions/Proposal" + "$ref": "#/definitions/Addr" } } }, "additionalProperties": false, "definitions": { - "Proposal": { - "type": "object", - "required": [ - "description", - "percentage", - "power", - "proposal_id", - "round_id", - "title", - "tranche_id" - ], - "properties": { - "description": { - "type": "string" - }, - "percentage": { - "$ref": "#/definitions/Uint128" - }, - "power": { - "$ref": "#/definitions/Uint128" - }, - "proposal_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "round_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "title": { - "type": "string" - }, - "tranche_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - } - }, - "additionalProperties": false - }, - "Uint128": { - "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "Addr": { + "description": "A human readable address.\n\nIn Cosmos, this is typically bech32 encoded. But for multi-chain smart contracts no assumptions should be made other than being UTF-8 encoded and of reasonable length.\n\nThis type represents a validated address. It can be created in the following ways 1. Use `Addr::unchecked(input)` 2. Use `let checked: Addr = deps.api.addr_validate(input)?` 3. Use `let checked: Addr = deps.api.addr_humanize(canonical_addr)?` 4. Deserialize from JSON. This must only be done from JSON that was validated before such as a contract's state. `Addr` must not be used in messages sent by the user because this would result in unvalidated instances.\n\nThis type is immutable. If you really need to mutate it (Really? Are you sure?), create a mutable copy using `let mut mutable = Addr::to_string()` and operate on that `String` instance.", "type": "string" } } }, - "all_user_lockups": { + "round_end": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "AllUserLockupsResponse", + "title": "RoundEndResponse", "type": "object", "required": [ - "lockups" + "round_end" ], "properties": { - "lockups": { - "type": "array", - "items": { - "$ref": "#/definitions/LockEntryWithPower" - } + "round_end": { + "$ref": "#/definitions/Timestamp" } }, "additionalProperties": false, "definitions": { - "Coin": { - "type": "object", - "required": [ - "amount", - "denom" - ], - "properties": { - "amount": { - "$ref": "#/definitions/Uint128" - }, - "denom": { - "type": "string" - } - }, - "additionalProperties": false - }, - "LockEntry": { - "type": "object", - "required": [ - "funds", - "lock_end", - "lock_id", - "lock_start" - ], - "properties": { - "funds": { - "$ref": "#/definitions/Coin" - }, - "lock_end": { - "$ref": "#/definitions/Timestamp" - }, - "lock_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "lock_start": { - "$ref": "#/definitions/Timestamp" - } - }, - "additionalProperties": false - }, - "LockEntryWithPower": { - "type": "object", - "required": [ - "current_voting_power", - "lock_entry" - ], - "properties": { - "current_voting_power": { - "$ref": "#/definitions/Uint128" - }, - "lock_entry": { - "$ref": "#/definitions/LockEntry" - } - }, - "additionalProperties": false - }, "Timestamp": { "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", "allOf": [ @@ -1160,57 +1036,21 @@ } ] }, - "Uint128": { - "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", - "type": "string" - }, "Uint64": { "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", "type": "string" } } }, - "user_voting_power": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "UserVotingPowerResponse", - "type": "object", - "required": [ - "voting_power" - ], - "properties": { - "voting_power": { - "type": "integer", - "format": "uint128", - "minimum": 0.0 - } - }, - "additionalProperties": false - }, - "total_locked_tokens": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "TotalLockedTokensResponse", - "type": "object", - "required": [ - "total_locked_tokens" - ], - "properties": { - "total_locked_tokens": { - "type": "integer", - "format": "uint128", - "minimum": 0.0 - } - }, - "additionalProperties": false - }, - "whitelist": { + "whitelist_admins": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "WhitelistResponse", + "title": "WhitelistAdminsResponse", "type": "object", "required": [ - "whitelist" + "admins" ], "properties": { - "whitelist": { + "admins": { "type": "array", "items": { "$ref": "#/definitions/Addr" @@ -1311,160 +1151,217 @@ } } }, - "expired_user_lockups": { + "user_voting_power": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "ExpiredUserLockupsResponse", + "title": "UserVotingPowerResponse", "type": "object", "required": [ - "lockups" + "voting_power" ], "properties": { - "lockups": { + "voting_power": { + "type": "integer", + "format": "uint128", + "minimum": 0.0 + } + }, + "additionalProperties": false + }, + "round_proposals": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "RoundProposalsResponse", + "type": "object", + "required": [ + "proposals" + ], + "properties": { + "proposals": { "type": "array", "items": { - "$ref": "#/definitions/LockEntry" + "$ref": "#/definitions/Proposal" } } }, "additionalProperties": false, "definitions": { - "Coin": { + "Proposal": { "type": "object", "required": [ - "amount", - "denom" + "description", + "percentage", + "power", + "proposal_id", + "round_id", + "title", + "tranche_id" ], "properties": { - "amount": { + "description": { + "type": "string" + }, + "percentage": { "$ref": "#/definitions/Uint128" }, - "denom": { - "type": "string" - } - }, - "additionalProperties": false - }, - "LockEntry": { - "type": "object", - "required": [ - "funds", - "lock_end", - "lock_id", - "lock_start" - ], - "properties": { - "funds": { - "$ref": "#/definitions/Coin" + "power": { + "$ref": "#/definitions/Uint128" }, - "lock_end": { - "$ref": "#/definitions/Timestamp" + "proposal_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 }, - "lock_id": { + "round_id": { "type": "integer", "format": "uint64", "minimum": 0.0 }, - "lock_start": { - "$ref": "#/definitions/Timestamp" + "title": { + "type": "string" + }, + "tranche_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 } }, "additionalProperties": false }, - "Timestamp": { - "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", - "allOf": [ - { - "$ref": "#/definitions/Uint64" - } - ] - }, "Uint128": { "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", "type": "string" - }, - "Uint64": { - "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", - "type": "string" } } }, - "round_total_voting_power": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RoundTotalVotingPowerResponse", - "type": "object", - "required": [ - "total_voting_power" - ], - "properties": { - "total_voting_power": { - "$ref": "#/definitions/Uint128" - } - }, - "additionalProperties": false, - "definitions": { - "Uint128": { - "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", - "type": "string" - } - } - }, - "user_vote": { + "tranches": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "UserVoteResponse", + "title": "TranchesResponse", "type": "object", "required": [ - "vote" + "tranches" ], "properties": { - "vote": { - "$ref": "#/definitions/VoteWithPower" + "tranches": { + "type": "array", + "items": { + "$ref": "#/definitions/Tranche" + } } }, "additionalProperties": false, "definitions": { - "Decimal": { - "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)", - "type": "string" - }, - "VoteWithPower": { + "Tranche": { "type": "object", "required": [ - "power", - "prop_id" + "id", + "metadata", + "name" ], "properties": { - "power": { - "$ref": "#/definitions/Decimal" - }, - "prop_id": { + "id": { "type": "integer", "format": "uint64", "minimum": 0.0 + }, + "metadata": { + "type": "string" + }, + "name": { + "type": "string" } }, "additionalProperties": false } } }, - "whitelist_admins": { + "all_user_lockups": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "WhitelistAdminsResponse", + "title": "AllUserLockupsResponse", "type": "object", "required": [ - "admins" + "lockups" ], "properties": { - "admins": { + "lockups": { "type": "array", "items": { - "$ref": "#/definitions/Addr" + "$ref": "#/definitions/LockEntryWithPower" } } }, "additionalProperties": false, "definitions": { - "Addr": { - "description": "A human readable address.\n\nIn Cosmos, this is typically bech32 encoded. But for multi-chain smart contracts no assumptions should be made other than being UTF-8 encoded and of reasonable length.\n\nThis type represents a validated address. It can be created in the following ways 1. Use `Addr::unchecked(input)` 2. Use `let checked: Addr = deps.api.addr_validate(input)?` 3. Use `let checked: Addr = deps.api.addr_humanize(canonical_addr)?` 4. Deserialize from JSON. This must only be done from JSON that was validated before such as a contract's state. `Addr` must not be used in messages sent by the user because this would result in unvalidated instances.\n\nThis type is immutable. If you really need to mutate it (Really? Are you sure?), create a mutable copy using `let mut mutable = Addr::to_string()` and operate on that `String` instance.", + "Coin": { + "type": "object", + "required": [ + "amount", + "denom" + ], + "properties": { + "amount": { + "$ref": "#/definitions/Uint128" + }, + "denom": { + "type": "string" + } + }, + "additionalProperties": false + }, + "LockEntry": { + "type": "object", + "required": [ + "funds", + "lock_end", + "lock_id", + "lock_start" + ], + "properties": { + "funds": { + "$ref": "#/definitions/Coin" + }, + "lock_end": { + "$ref": "#/definitions/Timestamp" + }, + "lock_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "lock_start": { + "$ref": "#/definitions/Timestamp" + } + }, + "additionalProperties": false + }, + "LockEntryWithPower": { + "type": "object", + "required": [ + "current_voting_power", + "lock_entry" + ], + "properties": { + "current_voting_power": { + "$ref": "#/definitions/Uint128" + }, + "lock_entry": { + "$ref": "#/definitions/LockEntry" + } + }, + "additionalProperties": false + }, + "Timestamp": { + "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", + "allOf": [ + { + "$ref": "#/definitions/Uint64" + } + ] + }, + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" + }, + "Uint64": { + "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", "type": "string" } } @@ -1503,6 +1400,22 @@ } } }, + "total_locked_tokens": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "TotalLockedTokensResponse", + "type": "object", + "required": [ + "total_locked_tokens" + ], + "properties": { + "total_locked_tokens": { + "type": "integer", + "format": "uint128", + "minimum": 0.0 + } + }, + "additionalProperties": false + }, "proposal": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ProposalResponse", @@ -1565,20 +1478,65 @@ } } }, - "round_end": { + "expired_user_lockups": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RoundEndResponse", + "title": "ExpiredUserLockupsResponse", "type": "object", "required": [ - "round_end" + "lockups" ], "properties": { - "round_end": { - "$ref": "#/definitions/Timestamp" + "lockups": { + "type": "array", + "items": { + "$ref": "#/definitions/LockEntry" + } } }, "additionalProperties": false, "definitions": { + "Coin": { + "type": "object", + "required": [ + "amount", + "denom" + ], + "properties": { + "amount": { + "$ref": "#/definitions/Uint128" + }, + "denom": { + "type": "string" + } + }, + "additionalProperties": false + }, + "LockEntry": { + "type": "object", + "required": [ + "funds", + "lock_end", + "lock_id", + "lock_start" + ], + "properties": { + "funds": { + "$ref": "#/definitions/Coin" + }, + "lock_end": { + "$ref": "#/definitions/Timestamp" + }, + "lock_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "lock_start": { + "$ref": "#/definitions/Timestamp" + } + }, + "additionalProperties": false + }, "Timestamp": { "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", "allOf": [ @@ -1587,11 +1545,53 @@ } ] }, + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" + }, "Uint64": { "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", "type": "string" } } + }, + "user_vote": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "UserVoteResponse", + "type": "object", + "required": [ + "vote" + ], + "properties": { + "vote": { + "$ref": "#/definitions/VoteWithPower" + } + }, + "additionalProperties": false, + "definitions": { + "Decimal": { + "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)", + "type": "string" + }, + "VoteWithPower": { + "type": "object", + "required": [ + "power", + "prop_id" + ], + "properties": { + "power": { + "$ref": "#/definitions/Decimal" + }, + "prop_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + } + }, + "additionalProperties": false + } + } } } } \ No newline at end of file diff --git a/contracts/tribute/Cargo.toml b/contracts/tribute/Cargo.toml index fcbe75a..e6b03de 100644 --- a/contracts/tribute/Cargo.toml +++ b/contracts/tribute/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tribute" -version = "1.0.0" +version = "2.0.0" edition = "2018" authors = ["Jehan Tremback", "Philip Offtermatt", "Dusan Maksimovic"] diff --git a/contracts/tribute/schema/config_response.json b/contracts/tribute/schema/config_response.json index b40267e..7989caa 100644 --- a/contracts/tribute/schema/config_response.json +++ b/contracts/tribute/schema/config_response.json @@ -20,12 +20,16 @@ "type": "object", "required": [ "hydro_contract", + "min_prop_percent_for_claimable_tributes", "top_n_props_count" ], "properties": { "hydro_contract": { "$ref": "#/definitions/Addr" }, + "min_prop_percent_for_claimable_tributes": { + "$ref": "#/definitions/Uint128" + }, "top_n_props_count": { "type": "integer", "format": "uint64", @@ -33,6 +37,10 @@ } }, "additionalProperties": false + }, + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" } } } diff --git a/contracts/tribute/schema/instantiate_msg.json b/contracts/tribute/schema/instantiate_msg.json index 47ca19a..5a4a16a 100644 --- a/contracts/tribute/schema/instantiate_msg.json +++ b/contracts/tribute/schema/instantiate_msg.json @@ -4,17 +4,27 @@ "type": "object", "required": [ "hydro_contract", + "min_prop_percent_for_claimable_tributes", "top_n_props_count" ], "properties": { "hydro_contract": { "type": "string" }, + "min_prop_percent_for_claimable_tributes": { + "$ref": "#/definitions/Uint128" + }, "top_n_props_count": { "type": "integer", "format": "uint64", "minimum": 0.0 } }, - "additionalProperties": false + "additionalProperties": false, + "definitions": { + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" + } + } } diff --git a/contracts/tribute/schema/tribute_full_schema.json b/contracts/tribute/schema/tribute_full_schema.json index be5acda..3fed675 100644 --- a/contracts/tribute/schema/tribute_full_schema.json +++ b/contracts/tribute/schema/tribute_full_schema.json @@ -5,19 +5,29 @@ "type": "object", "required": [ "hydro_contract", + "min_prop_percent_for_claimable_tributes", "top_n_props_count" ], "properties": { "hydro_contract": { "type": "string" }, + "min_prop_percent_for_claimable_tributes": { + "$ref": "#/definitions/Uint128" + }, "top_n_props_count": { "type": "integer", "format": "uint64", "minimum": 0.0 } }, - "additionalProperties": false + "additionalProperties": false, + "definitions": { + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" + } + } }, "execute": { "$schema": "http://json-schema.org/draft-07/schema#", @@ -332,12 +342,16 @@ "type": "object", "required": [ "hydro_contract", + "min_prop_percent_for_claimable_tributes", "top_n_props_count" ], "properties": { "hydro_contract": { "$ref": "#/definitions/Addr" }, + "min_prop_percent_for_claimable_tributes": { + "$ref": "#/definitions/Uint128" + }, "top_n_props_count": { "type": "integer", "format": "uint64", @@ -345,6 +359,10 @@ } }, "additionalProperties": false + }, + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" } } }, diff --git a/contracts/tribute/src/contract.rs b/contracts/tribute/src/contract.rs index 357bb2b..0595b9a 100644 --- a/contracts/tribute/src/contract.rs +++ b/contracts/tribute/src/contract.rs @@ -22,15 +22,12 @@ use hydro::query::{ use hydro::state::{Proposal, VoteWithPower}; /// Contract name that is used for migration. -const CONTRACT_NAME: &str = env!("CARGO_PKG_NAME"); +pub const CONTRACT_NAME: &str = env!("CARGO_PKG_NAME"); /// Contract version that is used for migration. -const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION"); +pub const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION"); pub const DEFAULT_MAX_ENTRIES: usize = 100; -// Use 1 week as IBC timeout by default -pub const IBC_TIMEOUT_DURATION_IN_SECONDS: u64 = 60 * 60 * 24 * 7; - #[cfg_attr(not(feature = "library"), entry_point)] pub fn instantiate( deps: DepsMut, @@ -42,6 +39,7 @@ pub fn instantiate( let config = Config { hydro_contract: deps.api.addr_validate(&msg.hydro_contract)?, top_n_props_count: msg.top_n_props_count, + min_prop_percent_for_claimable_tributes: msg.min_prop_percent_for_claimable_tributes, }; CONFIG.save(deps.storage, &config)?; @@ -186,16 +184,11 @@ fn claim_tribute( voter.clone().to_string(), )?; - // Check that the voter voted for one of the top N proposals + // Check that the voter voted for one of the top N proposals that + // received at least the threshold of the total voting power. let proposal = - match get_top_n_proposal(&deps.as_ref(), &config, round_id, tranche_id, vote.prop_id)? { - Some(prop) => prop, - None => { - return Err(ContractError::Std(StdError::generic_err( - "User voted for proposal outside of top N proposals", - ))) - } - }; + get_top_n_proposal_info(&deps.as_ref(), &config, round_id, tranche_id, vote.prop_id)? + .are_tributes_claimable(&config)?; // Load the tribute and use the percentage to figure out how much of the tribute to send them let tribute = ID_TO_TRIBUTE_MAP.load(deps.storage, tribute_id)?; @@ -293,11 +286,8 @@ fn refund_tribute( ))); } - if get_top_n_proposal(&deps.as_ref(), &config, round_id, tranche_id, proposal_id)?.is_some() { - return Err(ContractError::Std(StdError::generic_err( - "Can't refund top N proposal", - ))); - } + get_top_n_proposal_info(&deps.as_ref(), &config, round_id, tranche_id, proposal_id)? + .are_tributes_refundable()?; // Load the tribute let mut tribute = ID_TO_TRIBUTE_MAP.load(deps.storage, tribute_id)?; @@ -335,6 +325,67 @@ fn refund_tribute( })) } +// Holds information about possible top N proposal. If the proposal is among the top N, +// the "top_n_proposal" field will be set to some value and "is_above_voting_threshold" +// field will be set to true if the proposal received at least the minimum voting threshold. +// If the proposal is not among the top N, the "top_n_proposal" field will be set to None, +// and "is_above_voting_threshold" field will be set to false. +struct TopNProposalInfo { + pub top_n_proposal: Option, + pub is_above_voting_threshold: bool, +} + +impl TopNProposalInfo { + fn are_tributes_claimable(&self, config: &Config) -> Result { + match self.top_n_proposal.as_ref() { + None => Err(ContractError::Std(StdError::generic_err( + "User voted for proposal outside of top N proposals", + ))), + Some(proposal) => { + if !self.is_above_voting_threshold { + return Err(ContractError::Std(StdError::generic_err(format!( + "Tribute not claimable: Proposal received less voting percentage than threshold: {} required, but is {}", config.min_prop_percent_for_claimable_tributes, proposal.percentage)))); + } + + Ok(proposal.clone()) + } + } + } + + fn are_tributes_refundable(&self) -> Result<(), ContractError> { + if self.top_n_proposal.is_some() && self.is_above_voting_threshold { + return Err(ContractError::Std(StdError::generic_err( + "Can't refund top N proposal that received at least the threshold of the total voting power", + ))); + } + + Ok(()) + } +} + +// This function will query the top N proposals from the Hydro contract and determine +// if the proposal with the given ID is among the top N. If yes, it will also determine +// if the proposal received at least the threshold percent of the total voting power. +fn get_top_n_proposal_info( + deps: &Deps, + config: &Config, + round_id: u64, + tranche_id: u64, + proposal_id: u64, +) -> Result { + match get_top_n_proposal(deps, config, round_id, tranche_id, proposal_id)? { + Some(proposal) => Ok(TopNProposalInfo { + top_n_proposal: Some(proposal.clone()), + is_above_voting_threshold: proposal.percentage + >= config.min_prop_percent_for_claimable_tributes, + }), + None => Ok(TopNProposalInfo { + top_n_proposal: None, + is_above_voting_threshold: false, + }), + } +} + #[cfg_attr(not(feature = "library"), entry_point)] pub fn query(deps: Deps, _env: Env, msg: QueryMsg) -> StdResult { match msg { @@ -646,11 +697,6 @@ fn get_top_n_proposals( Ok(proposals_resp.proposals) } -#[cfg_attr(not(feature = "library"), entry_point)] -pub fn migrate(_deps: DepsMut, _env: Env, _msg: MigrateMsg) -> Result { - Ok(Response::default()) -} - // TODO: figure out build issue that we have if we don't define all this functions in both contracts #[cfg_attr(not(feature = "library"), entry_point)] pub fn reply(_deps: DepsMut, _env: Env, _msg: Reply) -> Result { diff --git a/contracts/tribute/src/lib.rs b/contracts/tribute/src/lib.rs index ee7ab0e..674315f 100644 --- a/contracts/tribute/src/lib.rs +++ b/contracts/tribute/src/lib.rs @@ -1,5 +1,6 @@ pub mod contract; mod error; +pub mod migrate; pub mod msg; pub mod query; mod state; diff --git a/contracts/tribute/src/migrate.rs b/contracts/tribute/src/migrate.rs new file mode 100644 index 0000000..756c3af --- /dev/null +++ b/contracts/tribute/src/migrate.rs @@ -0,0 +1,42 @@ +use cosmwasm_std::{entry_point, DepsMut, Env, Response, StdError, Uint128}; +use cw2::{get_contract_version, set_contract_version}; +use cw_storage_plus::Item; + +use crate::{ + contract::{CONTRACT_NAME, CONTRACT_VERSION}, + error::ContractError, + msg::MigrateMsg, + state::{Config, ConfigV1, CONFIG}, +}; + +#[cfg_attr(not(feature = "library"), entry_point)] +pub fn migrate(deps: DepsMut, _env: Env, msg: MigrateMsg) -> Result { + // V1 to V2 migration + let contract_version = get_contract_version(deps.storage)?; + if contract_version.version == CONTRACT_VERSION { + return Err(ContractError::Std(StdError::generic_err( + "Contract is already migrated to the newest version.", + ))); + } + + if msg.min_prop_percent_for_claimable_tributes > Uint128::new(100) { + return Err(ContractError::Std(StdError::generic_err( + "Minimum proposal percentage for claimable tributes must be between 0 and 100.", + ))); + } + + const OLD_CONFIG: Item = Item::new("config"); + let old_config = OLD_CONFIG.load(deps.storage)?; + + let new_config = Config { + hydro_contract: old_config.hydro_contract, + top_n_props_count: old_config.top_n_props_count, + min_prop_percent_for_claimable_tributes: msg.min_prop_percent_for_claimable_tributes, + }; + + CONFIG.save(deps.storage, &new_config)?; + + set_contract_version(deps.storage, CONTRACT_NAME, CONTRACT_VERSION)?; + + Ok(Response::default()) +} diff --git a/contracts/tribute/src/msg.rs b/contracts/tribute/src/msg.rs index c26bb19..07e4d7c 100644 --- a/contracts/tribute/src/msg.rs +++ b/contracts/tribute/src/msg.rs @@ -1,3 +1,4 @@ +use cosmwasm_std::Uint128; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; @@ -5,6 +6,7 @@ use serde::{Deserialize, Serialize}; pub struct InstantiateMsg { pub hydro_contract: String, pub top_n_props_count: u64, + pub min_prop_percent_for_claimable_tributes: Uint128, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema, cw_orch::ExecuteFns)] @@ -27,4 +29,6 @@ pub enum ExecuteMsg { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] -pub struct MigrateMsg {} +pub struct MigrateMsg { + pub min_prop_percent_for_claimable_tributes: Uint128, +} diff --git a/contracts/tribute/src/state.rs b/contracts/tribute/src/state.rs index 55e30c5..74c90d1 100644 --- a/contracts/tribute/src/state.rs +++ b/contracts/tribute/src/state.rs @@ -1,5 +1,5 @@ use cosmwasm_schema::cw_serde; -use cosmwasm_std::{Addr, Coin}; +use cosmwasm_std::{Addr, Coin, Uint128}; use cw_storage_plus::{Item, Map}; pub const CONFIG: Item = Item::new("config"); @@ -8,6 +8,14 @@ pub const CONFIG: Item = Item::new("config"); pub struct Config { pub hydro_contract: Addr, pub top_n_props_count: u64, + pub min_prop_percent_for_claimable_tributes: Uint128, +} + +// Need to have old version of Config in order to migrate data that is already stored on the chain. +#[cw_serde] +pub struct ConfigV1 { + pub hydro_contract: Addr, + pub top_n_props_count: u64, } pub const TRIBUTE_ID: Item = Item::new("tribute_id"); diff --git a/contracts/tribute/src/testing.rs b/contracts/tribute/src/testing.rs index 28939c2..e85915e 100644 --- a/contracts/tribute/src/testing.rs +++ b/contracts/tribute/src/testing.rs @@ -1,11 +1,12 @@ use crate::{ contract::{ execute, instantiate, query_historical_tribute_claims, query_outstanding_tribute_claims, - query_proposal_tributes, query_round_tributes, + query_proposal_tributes, query_round_tributes, CONTRACT_NAME, }, - msg::{ExecuteMsg, InstantiateMsg}, + migrate::migrate, + msg::{ExecuteMsg, InstantiateMsg, MigrateMsg}, query::TributeClaim, - state::{Config, Tribute, CONFIG, ID_TO_TRIBUTE_MAP, TRIBUTE_CLAIMS, TRIBUTE_MAP}, + state::{Config, ConfigV1, Tribute, CONFIG, ID_TO_TRIBUTE_MAP, TRIBUTE_CLAIMS, TRIBUTE_MAP}, }; use cosmwasm_std::{ from_json, @@ -14,6 +15,8 @@ use cosmwasm_std::{ StdError, StdResult, SystemError, SystemResult, Timestamp, Uint128, WasmQuery, }; use cosmwasm_std::{BankMsg, Coin, CosmosMsg}; +use cw2::set_contract_version; +use cw_storage_plus::Item; use hydro::{ query::{ CurrentRoundResponse, ProposalResponse, QueryMsg as HydroQueryMsg, TopNProposalsResponse, @@ -22,10 +25,14 @@ use hydro::{ state::{Proposal, VoteWithPower}, }; -pub fn get_instantiate_msg(hydro_contract: String) -> InstantiateMsg { +pub fn get_instantiate_msg( + hydro_contract: String, + min_prop_percent_for_claimable_tributes: Uint128, +) -> InstantiateMsg { InstantiateMsg { hydro_contract, top_n_props_count: 10, + min_prop_percent_for_claimable_tributes, } } @@ -44,6 +51,7 @@ const DEFAULT_DENOM: &str = "uatom"; const HYDRO_CONTRACT_ADDRESS: &str = "addr0000"; const USER_ADDRESS_1: &str = "addr0001"; const USER_ADDRESS_2: &str = "addr0002"; +const MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES: Uint128 = Uint128::new(5); pub struct MockWasmQuerier { hydro_contract: String, @@ -288,7 +296,10 @@ fn add_tribute_test() { ); deps.querier.update_wasm(move |q| mock_querier.handler(q)); - let msg = get_instantiate_msg(hydro_contract_address); + let msg = get_instantiate_msg( + hydro_contract_address, + MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES, + ); let res = instantiate(deps.as_mut(), env.clone(), info.clone(), msg.clone()); assert!(res.is_ok()); @@ -339,35 +350,35 @@ fn add_tribute_test() { #[test] fn claim_tribute_test() { - let mock_proposals = vec![Proposal { + let mock_proposal1 = Proposal { round_id: 10, tranche_id: 0, proposal_id: 5, title: "proposal title 1".to_string(), description: "proposal description 1".to_string(), power: Uint128::new(10000), - percentage: Uint128::zero(), - }]; + percentage: MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES, + }; + let mock_proposal2 = Proposal { + round_id: 10, + tranche_id: 0, + proposal_id: 6, + title: "proposal title 2".to_string(), + description: "proposal description 2".to_string(), + power: Uint128::new(10000), + percentage: MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES, + }; - let mock_top_n_proposals = vec![ - Proposal { - round_id: 10, - tranche_id: 0, - proposal_id: 5, - title: "proposal title 1".to_string(), - description: "proposal description 1".to_string(), - power: Uint128::new(10000), - percentage: Uint128::zero(), - }, + let mock_proposals = vec![mock_proposal1.clone(), mock_proposal2.clone()]; + + let mock_top_n_proposals = vec![mock_proposal1.clone(), mock_proposal2.clone()]; + + let mock_top_n_voting_threshold_not_reached = vec![ Proposal { - round_id: 10, - tranche_id: 0, - proposal_id: 6, - title: "proposal title 2".to_string(), - description: "proposal description 2".to_string(), - power: Uint128::new(10000), - percentage: Uint128::zero(), + percentage: MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES - Uint128::one(), + ..mock_proposal1.clone() }, + mock_proposal2.clone(), ]; let deps = mock_dependencies(); @@ -436,6 +447,30 @@ fn claim_tribute_test() { expected_success: false, expected_error_msg: "User voted for proposal outside of top N proposals".to_string(), }, + ClaimTributeTestCase { + description: "try claim tribute if user voted for top N proposal that didn't reach the voting percentage threshold".to_string(), + tribute_info: (10, 0, 5, 0), + tribute_to_add: vec![Coin::new(1000u64, DEFAULT_DENOM)], + mock_data: ( + 10, + 11, + mock_proposals.clone(), + vec![( + 10, + 0, + get_address_as_str(&deps.api, USER_ADDRESS_2), + VoteWithPower { + prop_id: 5, + power: Decimal::from_ratio(Uint128::new(70), Uint128::one()), + }, + )], + mock_top_n_voting_threshold_not_reached.clone(), + ), + expected_tribute_claim: 0, + expected_success: false, + expected_error_msg: format!( + "Tribute not claimable: Proposal received less voting percentage than threshold: {} required, but is {}", MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES, MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES - Uint128::one()).to_string(), + }, ClaimTributeTestCase { description: "try claim tribute for non existing tribute id".to_string(), tribute_info: (10, 0, 5, 1), @@ -500,7 +535,10 @@ fn claim_tribute_test() { ); deps.querier.update_wasm(move |q| mock_querier.handler(q)); - let msg = get_instantiate_msg(hydro_contract_address.clone()); + let msg = get_instantiate_msg( + hydro_contract_address.clone(), + MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES, + ); let res = instantiate(deps.as_mut(), env.clone(), info.clone(), msg.clone()); assert!(res.is_ok()); @@ -573,24 +611,45 @@ fn refund_tribute_test() { power: Uint128::new(10000), percentage: Uint128::zero(), }; + let mock_proposals = vec![mock_proposal.clone()]; - let mock_top_n_proposals = vec![Proposal { + let mock_top_n_different_proposals = vec![Proposal { round_id: 10, tranche_id: 0, proposal_id: 6, title: "proposal title 2".to_string(), description: "proposal description 2".to_string(), power: Uint128::new(10000), - percentage: Uint128::zero(), + percentage: MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES, + }]; + + let mock_top_n_voting_threshold_reached = vec![Proposal { + percentage: MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES, + ..mock_proposal.clone() + }]; + + let mock_top_n_voting_threshold_not_reached = vec![Proposal { + percentage: MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES - Uint128::one(), + ..mock_proposal.clone() }]; let test_cases: Vec = vec![ RefundTributeTestCase { - description: "happy path".to_string(), + description: "refund tribute for the non top N proposal".to_string(), + tribute_info: (10, 0, 5, 0), + tribute_to_add: vec![Coin::new(1000u64, DEFAULT_DENOM)], + mock_data: (10, 11, mock_proposals.clone(), mock_top_n_different_proposals.clone()), + tribute_refunder: None, + expected_tribute_refund: 1000, + expected_success: true, + expected_error_msg: String::new(), + }, + RefundTributeTestCase { + description: "refund tribute for the top N proposal with less voting percentage than the required threshold".to_string(), tribute_info: (10, 0, 5, 0), tribute_to_add: vec![Coin::new(1000u64, DEFAULT_DENOM)], - mock_data: (10, 11, mock_proposals.clone(), mock_top_n_proposals.clone()), + mock_data: (10, 11, mock_proposals.clone(), mock_top_n_voting_threshold_not_reached), tribute_refunder: None, expected_tribute_refund: 1000, expected_success: true, @@ -600,27 +659,27 @@ fn refund_tribute_test() { description: "try to get refund for the current round".to_string(), tribute_info: (10, 0, 5, 0), tribute_to_add: vec![Coin::new(1000u64, DEFAULT_DENOM)], - mock_data: (10, 10, mock_proposals.clone(), mock_top_n_proposals.clone()), + mock_data: (10, 10, mock_proposals.clone(), mock_top_n_different_proposals.clone()), tribute_refunder: None, expected_tribute_refund: 0, expected_success: false, expected_error_msg: "Round has not ended yet".to_string(), }, RefundTributeTestCase { - description: "try to get refund for the top N proposal".to_string(), + description: "try to get refund for the top N proposal with at least minimum voting percentage".to_string(), tribute_info: (10, 0, 5, 0), tribute_to_add: vec![Coin::new(1000u64, DEFAULT_DENOM)], - mock_data: (10, 11, mock_proposals.clone(), mock_proposals.clone()), + mock_data: (10, 11, mock_proposals.clone(), mock_top_n_voting_threshold_reached.clone()), tribute_refunder: None, expected_tribute_refund: 0, expected_success: false, - expected_error_msg: "Can't refund top N proposal".to_string(), + expected_error_msg: "Can't refund top N proposal that received at least the threshold of the total voting power".to_string(), }, RefundTributeTestCase { description: "try to get refund for non existing tribute".to_string(), tribute_info: (10, 0, 5, 1), tribute_to_add: vec![Coin::new(1000u64, DEFAULT_DENOM)], - mock_data: (10, 11, mock_proposals.clone(), mock_top_n_proposals.clone()), + mock_data: (10, 11, mock_proposals.clone(), mock_top_n_different_proposals.clone()), tribute_refunder: None, expected_tribute_refund: 0, expected_success: false, @@ -630,7 +689,7 @@ fn refund_tribute_test() { description: "try to get refund if not the depositor".to_string(), tribute_info: (10, 0, 5, 0), tribute_to_add: vec![Coin::new(1000u64, DEFAULT_DENOM)], - mock_data: (10, 11, mock_proposals.clone(), mock_top_n_proposals.clone()), + mock_data: (10, 11, mock_proposals.clone(), mock_top_n_different_proposals.clone()), tribute_refunder: Some(USER_ADDRESS_2.to_string()), expected_tribute_refund: 0, expected_success: false, @@ -654,7 +713,10 @@ fn refund_tribute_test() { ); deps.querier.update_wasm(move |q| mock_querier.handler(q)); - let msg = get_instantiate_msg(hydro_contract_address.clone()); + let msg = get_instantiate_msg( + hydro_contract_address.clone(), + MIN_PROP_PERCENT_FOR_CLAIMABLE_TRIBUTES, + ); let res = instantiate(deps.as_mut(), env.clone(), info.clone(), msg.clone()); assert!(res.is_ok()); @@ -1179,6 +1241,7 @@ fn test_query_outstanding_tribute_claims() { let config = Config { hydro_contract: Addr::unchecked("hydro_contract_address".to_string()), top_n_props_count: 2, + min_prop_percent_for_claimable_tributes: Uint128::new(5), }; CONFIG.save(&mut deps.storage, &config).unwrap(); @@ -1202,3 +1265,61 @@ fn test_query_outstanding_tribute_claims() { } } } + +#[test] +fn test_migrate() { + let mut deps = mock_dependencies(); + let env = mock_env(); + let hydro_contract_address = deps.api.addr_make(HYDRO_CONTRACT_ADDRESS); + + let old_config = ConfigV1 { + hydro_contract: hydro_contract_address, + top_n_props_count: 77, + }; + + // Save old version of the config into the store + const OLD_CONFIG: Item = Item::new("config"); + let result = OLD_CONFIG.save(&mut deps.storage, &old_config); + assert!(result.is_ok()); + + // Set the V1 contract version + let result = set_contract_version(&mut deps.storage, CONTRACT_NAME, "1.0.0"); + assert!(result.is_ok()); + + // Try to migrate to the new config by setting the percentage above 100% + let msg = MigrateMsg { + min_prop_percent_for_claimable_tributes: Uint128::new(101), + }; + let result = migrate(deps.as_mut(), env.clone(), msg.clone()); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .to_lowercase() + .contains("minimum proposal percentage for claimable tributes must be between 0 and 100.")); + + // Try to migrate to a new (valid) config + let msg = MigrateMsg { + min_prop_percent_for_claimable_tributes: Uint128::new(5), + }; + let result = migrate(deps.as_mut(), env.clone(), msg.clone()); + assert!(result.is_ok()); + + // Assert that the migration was successful + let new_config = CONFIG.load(&deps.storage).unwrap(); + assert_eq!(old_config.hydro_contract, new_config.hydro_contract); + assert_eq!(old_config.top_n_props_count, new_config.top_n_props_count); + assert_eq!( + msg.min_prop_percent_for_claimable_tributes, + new_config.min_prop_percent_for_claimable_tributes + ); + + // Try to migrate already migrated contract and verify this errors out + let result = migrate(deps.as_mut(), env.clone(), msg.clone()); + assert!(result.is_err()); + assert!(result + .unwrap_err() + .to_string() + .to_lowercase() + .contains("contract is already migrated to the newest version.")) +} diff --git a/packages/interface/src/tribute.rs b/packages/interface/src/tribute.rs index 86c7874..6343726 100644 --- a/packages/interface/src/tribute.rs +++ b/packages/interface/src/tribute.rs @@ -27,7 +27,7 @@ impl Uploadable for Tribute { tribute::contract::instantiate, tribute::contract::query, ) - .with_migrate(tribute::contract::migrate), + .with_migrate(tribute::migrate::migrate), ) } } diff --git a/test/e2e/src/testing.rs b/test/e2e/src/testing.rs index fa8904a..c4ebee6 100644 --- a/test/e2e/src/testing.rs +++ b/test/e2e/src/testing.rs @@ -87,6 +87,7 @@ pub fn e2e_basic_test() -> anyhow::Result<()> { &tribute::msg::InstantiateMsg { hydro_contract: hydro.addr_str()?, top_n_props_count: 10, + min_prop_percent_for_claimable_tributes: Uint128::new(5), }, None, &[], diff --git a/test/interchain/hydro_suite.go b/test/interchain/hydro_suite.go index 04827aa..63e644c 100644 --- a/test/interchain/hydro_suite.go +++ b/test/interchain/hydro_suite.go @@ -244,8 +244,9 @@ func (s *HydroSuite) InstantiateHydroContract( func (s *HydroSuite) InstantiateTributeContract(codeId, hydroContractAddress, adminAddr string) string { initTribute := map[string]interface{}{ - "hydro_contract": hydroContractAddress, - "top_n_props_count": 2, + "hydro_contract": hydroContractAddress, + "top_n_props_count": 2, + "min_prop_percent_for_claimable_tributes": "3", } initTributeJson, err := json.Marshal(initTribute) s.Require().NoError(err) diff --git a/ts_types/TributeBase.client.ts b/ts_types/TributeBase.client.ts index 9b39543..fc7acfd 100644 --- a/ts_types/TributeBase.client.ts +++ b/ts_types/TributeBase.client.ts @@ -6,7 +6,7 @@ import { CosmWasmClient, SigningCosmWasmClient, ExecuteResult } from "@cosmjs/cosmwasm-stargate"; import { StdFee } from "@cosmjs/amino"; -import { Addr, ConfigResponse, Config, ExecuteMsg, InstantiateMsg, Uint128, ProposalTributesResponse, Tribute, Coin, QueryMsg } from "./TributeBase.types"; +import { Addr, Uint128, ConfigResponse, Config, ExecuteMsg, InstantiateMsg, ProposalTributesResponse, Tribute, Coin, QueryMsg } from "./TributeBase.types"; export interface TributeBaseReadOnlyInterface { contractAddress: string; config: () => Promise; diff --git a/ts_types/TributeBase.types.ts b/ts_types/TributeBase.types.ts index c4c372d..99f2ccd 100644 --- a/ts_types/TributeBase.types.ts +++ b/ts_types/TributeBase.types.ts @@ -5,11 +5,13 @@ */ export type Addr = string; +export type Uint128 = string; export interface ConfigResponse { config: Config; } export interface Config { hydro_contract: Addr; + min_prop_percent_for_claimable_tributes: Uint128; top_n_props_count: number; } export type ExecuteMsg = { @@ -34,9 +36,9 @@ export type ExecuteMsg = { }; export interface InstantiateMsg { hydro_contract: string; + min_prop_percent_for_claimable_tributes: Uint128; top_n_props_count: number; } -export type Uint128 = string; export interface ProposalTributesResponse { tributes: Tribute[]; } From 458140f95795773131360cdf3f58350e1f2e04ca Mon Sep 17 00:00:00 2001 From: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:54:51 +0200 Subject: [PATCH 06/12] Allow tributes for proposals in past rounds (#147) * Add round id as input to tribute add * Add brief paragraph on rev sharing * Regenerate artifacts * Add unit test for proposal in different round * Add round id in interchain test requests * Add creation_time and creation_round to tributes * Appease clippy --- artifacts/checksums.txt | 2 +- artifacts/tribute.wasm | Bin 342731 -> 344129 bytes contracts/hydro/schema/hydro_full_schema.json | 552 +++++++++--------- contracts/tribute/schema/execute_msg.json | 6 + .../schema/proposal_tributes_response.json | 22 + .../tribute/schema/tribute_full_schema.json | 28 + contracts/tribute/src/contract.rs | 24 +- contracts/tribute/src/msg.rs | 6 +- contracts/tribute/src/state.rs | 4 +- contracts/tribute/src/testing.rs | 52 +- docs/oversight_committee.md | 9 +- test/interchain/hydro_suite.go | 3 +- test/interchain/hydro_test.go | 32 +- ts_types/TributeBase.client.ts | 7 +- ts_types/TributeBase.types.ts | 5 + 15 files changed, 441 insertions(+), 311 deletions(-) diff --git a/artifacts/checksums.txt b/artifacts/checksums.txt index dd08aaf..46feaee 100644 --- a/artifacts/checksums.txt +++ b/artifacts/checksums.txt @@ -1,2 +1,2 @@ b8ad3e6620dffc6b4d0357d983333d6db3f2ec4a485f0b87906bcff6c6e223e1 hydro.wasm -c5d59fa66d0435e64eda39e635e1a43cb30e02cfcf4686fc1b056bc26bce3cec tribute.wasm +9d155b9241a64f47e8829afbb022dba5d0130ba55304ddc46950511b567c9ffd tribute.wasm diff --git a/artifacts/tribute.wasm b/artifacts/tribute.wasm index 427401fb5f9c4ebb06f4f28c7748c995d7ec3601..cb1c94558590fcc10e5f66536cf298f4842892c0 100644 GIT binary patch delta 83310 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¨MrPd^a%ot~q=K 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 Xxr4V*R^tJA0l$y&vjFD0SNr}yQp%mi diff --git a/contracts/hydro/schema/hydro_full_schema.json b/contracts/hydro/schema/hydro_full_schema.json index 46bf480..e17be1e 100644 --- a/contracts/hydro/schema/hydro_full_schema.json +++ b/contracts/hydro/schema/hydro_full_schema.json @@ -906,23 +906,44 @@ "migrate": {}, "sudo": {}, "responses": { - "round_total_voting_power": { + "tranches": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RoundTotalVotingPowerResponse", + "title": "TranchesResponse", "type": "object", "required": [ - "total_voting_power" + "tranches" ], "properties": { - "total_voting_power": { - "$ref": "#/definitions/Uint128" + "tranches": { + "type": "array", + "items": { + "$ref": "#/definitions/Tranche" + } } }, "additionalProperties": false, "definitions": { - "Uint128": { - "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", - "type": "string" + "Tranche": { + "type": "object", + "required": [ + "id", + "metadata", + "name" + ], + "properties": { + "id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "metadata": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "additionalProperties": false } } }, @@ -991,43 +1012,146 @@ } } }, - "whitelist": { + "round_proposals": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "WhitelistResponse", + "title": "RoundProposalsResponse", "type": "object", "required": [ - "whitelist" + "proposals" ], "properties": { - "whitelist": { + "proposals": { "type": "array", "items": { - "$ref": "#/definitions/Addr" + "$ref": "#/definitions/Proposal" } } }, "additionalProperties": false, "definitions": { - "Addr": { - "description": "A human readable address.\n\nIn Cosmos, this is typically bech32 encoded. But for multi-chain smart contracts no assumptions should be made other than being UTF-8 encoded and of reasonable length.\n\nThis type represents a validated address. It can be created in the following ways 1. Use `Addr::unchecked(input)` 2. Use `let checked: Addr = deps.api.addr_validate(input)?` 3. Use `let checked: Addr = deps.api.addr_humanize(canonical_addr)?` 4. Deserialize from JSON. This must only be done from JSON that was validated before such as a contract's state. `Addr` must not be used in messages sent by the user because this would result in unvalidated instances.\n\nThis type is immutable. If you really need to mutate it (Really? Are you sure?), create a mutable copy using `let mut mutable = Addr::to_string()` and operate on that `String` instance.", + "Proposal": { + "type": "object", + "required": [ + "description", + "percentage", + "power", + "proposal_id", + "round_id", + "title", + "tranche_id" + ], + "properties": { + "description": { + "type": "string" + }, + "percentage": { + "$ref": "#/definitions/Uint128" + }, + "power": { + "$ref": "#/definitions/Uint128" + }, + "proposal_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "round_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "title": { + "type": "string" + }, + "tranche_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + } + }, + "additionalProperties": false + }, + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", "type": "string" } } }, - "round_end": { + "all_user_lockups": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RoundEndResponse", + "title": "AllUserLockupsResponse", "type": "object", "required": [ - "round_end" + "lockups" ], "properties": { - "round_end": { - "$ref": "#/definitions/Timestamp" + "lockups": { + "type": "array", + "items": { + "$ref": "#/definitions/LockEntryWithPower" + } } }, "additionalProperties": false, "definitions": { + "Coin": { + "type": "object", + "required": [ + "amount", + "denom" + ], + "properties": { + "amount": { + "$ref": "#/definitions/Uint128" + }, + "denom": { + "type": "string" + } + }, + "additionalProperties": false + }, + "LockEntry": { + "type": "object", + "required": [ + "funds", + "lock_end", + "lock_id", + "lock_start" + ], + "properties": { + "funds": { + "$ref": "#/definitions/Coin" + }, + "lock_end": { + "$ref": "#/definitions/Timestamp" + }, + "lock_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "lock_start": { + "$ref": "#/definitions/Timestamp" + } + }, + "additionalProperties": false + }, + "LockEntryWithPower": { + "type": "object", + "required": [ + "current_voting_power", + "lock_entry" + ], + "properties": { + "current_voting_power": { + "$ref": "#/definitions/Uint128" + }, + "lock_entry": { + "$ref": "#/definitions/LockEntry" + } + }, + "additionalProperties": false + }, "Timestamp": { "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", "allOf": [ @@ -1036,21 +1160,57 @@ } ] }, + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" + }, "Uint64": { "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", "type": "string" } } }, - "whitelist_admins": { + "user_voting_power": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "WhitelistAdminsResponse", + "title": "UserVotingPowerResponse", "type": "object", "required": [ - "admins" + "voting_power" ], "properties": { - "admins": { + "voting_power": { + "type": "integer", + "format": "uint128", + "minimum": 0.0 + } + }, + "additionalProperties": false + }, + "total_locked_tokens": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "TotalLockedTokensResponse", + "type": "object", + "required": [ + "total_locked_tokens" + ], + "properties": { + "total_locked_tokens": { + "type": "integer", + "format": "uint128", + "minimum": 0.0 + } + }, + "additionalProperties": false + }, + "whitelist": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "WhitelistResponse", + "type": "object", + "required": [ + "whitelist" + ], + "properties": { + "whitelist": { "type": "array", "items": { "$ref": "#/definitions/Addr" @@ -1151,217 +1311,160 @@ } } }, - "user_voting_power": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "UserVotingPowerResponse", - "type": "object", - "required": [ - "voting_power" - ], - "properties": { - "voting_power": { - "type": "integer", - "format": "uint128", - "minimum": 0.0 - } - }, - "additionalProperties": false - }, - "round_proposals": { + "expired_user_lockups": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "RoundProposalsResponse", + "title": "ExpiredUserLockupsResponse", "type": "object", "required": [ - "proposals" + "lockups" ], "properties": { - "proposals": { + "lockups": { "type": "array", "items": { - "$ref": "#/definitions/Proposal" + "$ref": "#/definitions/LockEntry" } } }, "additionalProperties": false, "definitions": { - "Proposal": { + "Coin": { "type": "object", "required": [ - "description", - "percentage", - "power", - "proposal_id", - "round_id", - "title", - "tranche_id" + "amount", + "denom" ], "properties": { - "description": { - "type": "string" - }, - "percentage": { - "$ref": "#/definitions/Uint128" - }, - "power": { + "amount": { "$ref": "#/definitions/Uint128" }, - "proposal_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "round_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "title": { + "denom": { "type": "string" + } + }, + "additionalProperties": false + }, + "LockEntry": { + "type": "object", + "required": [ + "funds", + "lock_end", + "lock_id", + "lock_start" + ], + "properties": { + "funds": { + "$ref": "#/definitions/Coin" }, - "tranche_id": { + "lock_end": { + "$ref": "#/definitions/Timestamp" + }, + "lock_id": { "type": "integer", "format": "uint64", "minimum": 0.0 + }, + "lock_start": { + "$ref": "#/definitions/Timestamp" } }, "additionalProperties": false }, + "Timestamp": { + "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", + "allOf": [ + { + "$ref": "#/definitions/Uint64" + } + ] + }, "Uint128": { "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", "type": "string" + }, + "Uint64": { + "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", + "type": "string" } } }, - "tranches": { + "round_total_voting_power": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "TranchesResponse", + "title": "RoundTotalVotingPowerResponse", "type": "object", "required": [ - "tranches" + "total_voting_power" ], "properties": { - "tranches": { - "type": "array", - "items": { - "$ref": "#/definitions/Tranche" - } + "total_voting_power": { + "$ref": "#/definitions/Uint128" } }, "additionalProperties": false, "definitions": { - "Tranche": { + "Uint128": { + "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", + "type": "string" + } + } + }, + "user_vote": { + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "UserVoteResponse", + "type": "object", + "required": [ + "vote" + ], + "properties": { + "vote": { + "$ref": "#/definitions/VoteWithPower" + } + }, + "additionalProperties": false, + "definitions": { + "Decimal": { + "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)", + "type": "string" + }, + "VoteWithPower": { "type": "object", "required": [ - "id", - "metadata", - "name" + "power", + "prop_id" ], "properties": { - "id": { + "power": { + "$ref": "#/definitions/Decimal" + }, + "prop_id": { "type": "integer", "format": "uint64", "minimum": 0.0 - }, - "metadata": { - "type": "string" - }, - "name": { - "type": "string" } }, "additionalProperties": false } } }, - "all_user_lockups": { + "whitelist_admins": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "AllUserLockupsResponse", + "title": "WhitelistAdminsResponse", "type": "object", "required": [ - "lockups" + "admins" ], "properties": { - "lockups": { + "admins": { "type": "array", "items": { - "$ref": "#/definitions/LockEntryWithPower" + "$ref": "#/definitions/Addr" } } }, "additionalProperties": false, "definitions": { - "Coin": { - "type": "object", - "required": [ - "amount", - "denom" - ], - "properties": { - "amount": { - "$ref": "#/definitions/Uint128" - }, - "denom": { - "type": "string" - } - }, - "additionalProperties": false - }, - "LockEntry": { - "type": "object", - "required": [ - "funds", - "lock_end", - "lock_id", - "lock_start" - ], - "properties": { - "funds": { - "$ref": "#/definitions/Coin" - }, - "lock_end": { - "$ref": "#/definitions/Timestamp" - }, - "lock_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "lock_start": { - "$ref": "#/definitions/Timestamp" - } - }, - "additionalProperties": false - }, - "LockEntryWithPower": { - "type": "object", - "required": [ - "current_voting_power", - "lock_entry" - ], - "properties": { - "current_voting_power": { - "$ref": "#/definitions/Uint128" - }, - "lock_entry": { - "$ref": "#/definitions/LockEntry" - } - }, - "additionalProperties": false - }, - "Timestamp": { - "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", - "allOf": [ - { - "$ref": "#/definitions/Uint64" - } - ] - }, - "Uint128": { - "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", - "type": "string" - }, - "Uint64": { - "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", + "Addr": { + "description": "A human readable address.\n\nIn Cosmos, this is typically bech32 encoded. But for multi-chain smart contracts no assumptions should be made other than being UTF-8 encoded and of reasonable length.\n\nThis type represents a validated address. It can be created in the following ways 1. Use `Addr::unchecked(input)` 2. Use `let checked: Addr = deps.api.addr_validate(input)?` 3. Use `let checked: Addr = deps.api.addr_humanize(canonical_addr)?` 4. Deserialize from JSON. This must only be done from JSON that was validated before such as a contract's state. `Addr` must not be used in messages sent by the user because this would result in unvalidated instances.\n\nThis type is immutable. If you really need to mutate it (Really? Are you sure?), create a mutable copy using `let mut mutable = Addr::to_string()` and operate on that `String` instance.", "type": "string" } } @@ -1400,22 +1503,6 @@ } } }, - "total_locked_tokens": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "TotalLockedTokensResponse", - "type": "object", - "required": [ - "total_locked_tokens" - ], - "properties": { - "total_locked_tokens": { - "type": "integer", - "format": "uint128", - "minimum": 0.0 - } - }, - "additionalProperties": false - }, "proposal": { "$schema": "http://json-schema.org/draft-07/schema#", "title": "ProposalResponse", @@ -1478,65 +1565,20 @@ } } }, - "expired_user_lockups": { + "round_end": { "$schema": "http://json-schema.org/draft-07/schema#", - "title": "ExpiredUserLockupsResponse", + "title": "RoundEndResponse", "type": "object", "required": [ - "lockups" + "round_end" ], "properties": { - "lockups": { - "type": "array", - "items": { - "$ref": "#/definitions/LockEntry" - } + "round_end": { + "$ref": "#/definitions/Timestamp" } }, "additionalProperties": false, "definitions": { - "Coin": { - "type": "object", - "required": [ - "amount", - "denom" - ], - "properties": { - "amount": { - "$ref": "#/definitions/Uint128" - }, - "denom": { - "type": "string" - } - }, - "additionalProperties": false - }, - "LockEntry": { - "type": "object", - "required": [ - "funds", - "lock_end", - "lock_id", - "lock_start" - ], - "properties": { - "funds": { - "$ref": "#/definitions/Coin" - }, - "lock_end": { - "$ref": "#/definitions/Timestamp" - }, - "lock_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - }, - "lock_start": { - "$ref": "#/definitions/Timestamp" - } - }, - "additionalProperties": false - }, "Timestamp": { "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", "allOf": [ @@ -1545,53 +1587,11 @@ } ] }, - "Uint128": { - "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", - "type": "string" - }, "Uint64": { "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", "type": "string" } } - }, - "user_vote": { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "UserVoteResponse", - "type": "object", - "required": [ - "vote" - ], - "properties": { - "vote": { - "$ref": "#/definitions/VoteWithPower" - } - }, - "additionalProperties": false, - "definitions": { - "Decimal": { - "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)", - "type": "string" - }, - "VoteWithPower": { - "type": "object", - "required": [ - "power", - "prop_id" - ], - "properties": { - "power": { - "$ref": "#/definitions/Decimal" - }, - "prop_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 - } - }, - "additionalProperties": false - } - } } } } \ No newline at end of file diff --git a/contracts/tribute/schema/execute_msg.json b/contracts/tribute/schema/execute_msg.json index 82a8f63..1b05842 100644 --- a/contracts/tribute/schema/execute_msg.json +++ b/contracts/tribute/schema/execute_msg.json @@ -12,6 +12,7 @@ "type": "object", "required": [ "proposal_id", + "round_id", "tranche_id" ], "properties": { @@ -20,6 +21,11 @@ "format": "uint64", "minimum": 0.0 }, + "round_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, "tranche_id": { "type": "integer", "format": "uint64", diff --git a/contracts/tribute/schema/proposal_tributes_response.json b/contracts/tribute/schema/proposal_tributes_response.json index 8e83bcf..3f5cc79 100644 --- a/contracts/tribute/schema/proposal_tributes_response.json +++ b/contracts/tribute/schema/proposal_tributes_response.json @@ -35,9 +35,19 @@ }, "additionalProperties": false }, + "Timestamp": { + "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", + "allOf": [ + { + "$ref": "#/definitions/Uint64" + } + ] + }, "Tribute": { "type": "object", "required": [ + "creation_round", + "creation_time", "depositor", "funds", "proposal_id", @@ -47,6 +57,14 @@ "tribute_id" ], "properties": { + "creation_round": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "creation_time": { + "$ref": "#/definitions/Timestamp" + }, "depositor": { "$ref": "#/definitions/Addr" }, @@ -82,6 +100,10 @@ "Uint128": { "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", "type": "string" + }, + "Uint64": { + "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", + "type": "string" } } } diff --git a/contracts/tribute/schema/tribute_full_schema.json b/contracts/tribute/schema/tribute_full_schema.json index 3fed675..6caf878 100644 --- a/contracts/tribute/schema/tribute_full_schema.json +++ b/contracts/tribute/schema/tribute_full_schema.json @@ -43,6 +43,7 @@ "type": "object", "required": [ "proposal_id", + "round_id", "tranche_id" ], "properties": { @@ -51,6 +52,11 @@ "format": "uint64", "minimum": 0.0 }, + "round_id": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, "tranche_id": { "type": "integer", "format": "uint64", @@ -403,9 +409,19 @@ }, "additionalProperties": false }, + "Timestamp": { + "description": "A point in time in nanosecond precision.\n\nThis type can represent times from 1970-01-01T00:00:00Z to 2554-07-21T23:34:33Z.\n\n## Examples\n\n``` # use cosmwasm_std::Timestamp; let ts = Timestamp::from_nanos(1_000_000_202); assert_eq!(ts.nanos(), 1_000_000_202); assert_eq!(ts.seconds(), 1); assert_eq!(ts.subsec_nanos(), 202);\n\nlet ts = ts.plus_seconds(2); assert_eq!(ts.nanos(), 3_000_000_202); assert_eq!(ts.seconds(), 3); assert_eq!(ts.subsec_nanos(), 202); ```", + "allOf": [ + { + "$ref": "#/definitions/Uint64" + } + ] + }, "Tribute": { "type": "object", "required": [ + "creation_round", + "creation_time", "depositor", "funds", "proposal_id", @@ -415,6 +431,14 @@ "tribute_id" ], "properties": { + "creation_round": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + }, + "creation_time": { + "$ref": "#/definitions/Timestamp" + }, "depositor": { "$ref": "#/definitions/Addr" }, @@ -450,6 +474,10 @@ "Uint128": { "description": "A thin wrapper around u128 that is using strings for JSON encoding/decoding, such that the full u128 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u128` to get the value out:\n\n``` # use cosmwasm_std::Uint128; let a = Uint128::from(123u128); assert_eq!(a.u128(), 123);\n\nlet b = Uint128::from(42u64); assert_eq!(b.u128(), 42);\n\nlet c = Uint128::from(70u32); assert_eq!(c.u128(), 70); ```", "type": "string" + }, + "Uint64": { + "description": "A thin wrapper around u64 that is using strings for JSON encoding/decoding, such that the full u64 range can be used for clients that convert JSON numbers to floats, like JavaScript and jq.\n\n# Examples\n\nUse `from` to create instances of this and `u64` to get the value out:\n\n``` # use cosmwasm_std::Uint64; let a = Uint64::from(42u64); assert_eq!(a.u64(), 42);\n\nlet b = Uint64::from(70u32); assert_eq!(b.u64(), 70); ```", + "type": "string" } } } diff --git a/contracts/tribute/src/contract.rs b/contracts/tribute/src/contract.rs index 0595b9a..8c2f081 100644 --- a/contracts/tribute/src/contract.rs +++ b/contracts/tribute/src/contract.rs @@ -53,15 +53,16 @@ pub fn instantiate( #[cfg_attr(not(feature = "library"), entry_point)] pub fn execute( deps: DepsMut, - _env: Env, + env: Env, info: MessageInfo, msg: ExecuteMsg, ) -> Result { match msg { ExecuteMsg::AddTribute { + round_id, tranche_id, proposal_id, - } => add_tribute(deps, info, tranche_id, proposal_id), + } => add_tribute(deps, env, info, round_id, tranche_id, proposal_id), ExecuteMsg::ClaimTribute { round_id, tranche_id, @@ -79,21 +80,16 @@ pub fn execute( fn add_tribute( deps: DepsMut, + env: Env, info: MessageInfo, + round_id: u64, tranche_id: u64, proposal_id: u64, ) -> Result { let hydro_contract = CONFIG.load(deps.storage)?.hydro_contract; - let current_round_id = query_current_round_id(&deps, &hydro_contract)?; // Check that the proposal exists - query_proposal( - &deps, - &hydro_contract, - current_round_id, - tranche_id, - proposal_id, - )?; + query_proposal(&deps, &hydro_contract, round_id, tranche_id, proposal_id)?; // Check that the sender has sent funds if info.funds.is_empty() { @@ -113,17 +109,19 @@ fn add_tribute( let tribute_id = TRIBUTE_ID.load(deps.storage)?; TRIBUTE_ID.save(deps.storage, &(tribute_id + 1))?; let tribute = Tribute { - round_id: current_round_id, + round_id, tranche_id, proposal_id, tribute_id, funds: info.funds[0].clone(), depositor: info.sender.clone(), refunded: false, + creation_time: env.block.time, + creation_round: query_current_round_id(&deps, &hydro_contract)?, }; TRIBUTE_MAP.save( deps.storage, - (current_round_id, proposal_id, tribute_id), + (round_id, proposal_id, tribute_id), &tribute_id, )?; ID_TO_TRIBUTE_MAP.save(deps.storage, tribute_id, &tribute)?; @@ -131,7 +129,7 @@ fn add_tribute( Ok(Response::new() .add_attribute("action", "add_tribute") .add_attribute("depositor", info.sender.clone()) - .add_attribute("round_id", current_round_id.to_string()) + .add_attribute("round_id", round_id.to_string()) .add_attribute("tranche_id", tranche_id.to_string()) .add_attribute("proposal_id", proposal_id.to_string()) .add_attribute("tribute_id", tribute_id.to_string()) diff --git a/contracts/tribute/src/msg.rs b/contracts/tribute/src/msg.rs index 07e4d7c..3668e37 100644 --- a/contracts/tribute/src/msg.rs +++ b/contracts/tribute/src/msg.rs @@ -13,7 +13,11 @@ pub struct InstantiateMsg { #[serde(rename_all = "snake_case")] pub enum ExecuteMsg { #[cw_orch(payable)] - AddTribute { tranche_id: u64, proposal_id: u64 }, + AddTribute { + round_id: u64, + tranche_id: u64, + proposal_id: u64, + }, ClaimTribute { round_id: u64, tranche_id: u64, diff --git a/contracts/tribute/src/state.rs b/contracts/tribute/src/state.rs index 74c90d1..828d647 100644 --- a/contracts/tribute/src/state.rs +++ b/contracts/tribute/src/state.rs @@ -1,5 +1,5 @@ use cosmwasm_schema::cw_serde; -use cosmwasm_std::{Addr, Coin, Uint128}; +use cosmwasm_std::{Addr, Coin, Timestamp, Uint128}; use cw_storage_plus::{Item, Map}; pub const CONFIG: Item = Item::new("config"); @@ -32,6 +32,8 @@ pub struct Tribute { pub depositor: Addr, pub funds: Coin, pub refunded: bool, + pub creation_time: Timestamp, + pub creation_round: u64, } // For ease of accessing, maps each tribute_id to its Tribute struct diff --git a/contracts/tribute/src/testing.rs b/contracts/tribute/src/testing.rs index e85915e..1c5e630 100644 --- a/contracts/tribute/src/testing.rs +++ b/contracts/tribute/src/testing.rs @@ -104,7 +104,7 @@ impl MockWasmQuerier { Ok(res) => res, Err(_) => { return SystemResult::Err(SystemError::InvalidRequest { - error: "proposal couldn't be found".to_string(), + error: format!("proposal couldn't be found: round_id={}, tranche_id={}, proposal_id={}", round_id, tranche_id, proposal_id), request: Binary::new(vec![]), }) } @@ -188,8 +188,6 @@ impl MockWasmQuerier { struct AddTributeTestCase { description: String, - // (tranche_id, proposal_id) - proposal_info: (u64, u64), tributes_to_add: Vec>, // (current_round_id, proposal_to_tribute) mock_data: (u64, Vec), @@ -242,7 +240,6 @@ fn add_tribute_test() { let test_cases: Vec = vec![ AddTributeTestCase { description: "happy path".to_string(), - proposal_info: (0, 5), tributes_to_add: vec![ vec![Coin::new(1000u64, DEFAULT_DENOM)], vec![Coin::new(5000u64, DEFAULT_DENOM)], @@ -253,7 +250,6 @@ fn add_tribute_test() { }, AddTributeTestCase { description: "try adding tribute for non-existing proposal".to_string(), - proposal_info: (0, 5), tributes_to_add: vec![vec![Coin::new(1000u64, DEFAULT_DENOM)]], mock_data: (10, vec![]), expected_success: false, @@ -261,7 +257,6 @@ fn add_tribute_test() { }, AddTributeTestCase { description: "try adding tribute without providing any funds".to_string(), - proposal_info: (0, 5), tributes_to_add: vec![vec![]], mock_data: (10, vec![mock_proposal.clone()]), expected_success: false, @@ -269,7 +264,6 @@ fn add_tribute_test() { }, AddTributeTestCase { description: "try adding tribute by providing more than one token".to_string(), - proposal_info: (0, 5), tributes_to_add: vec![vec![ Coin::new(1000u64, DEFAULT_DENOM), Coin::new(1000u64, "stake"), @@ -278,6 +272,14 @@ fn add_tribute_test() { expected_success: false, expected_error_msg: "Must send exactly one coin".to_string(), }, + AddTributeTestCase { + description: "add tribute to previous round".to_string(), + tributes_to_add: vec![vec![Coin::new(1000u64, DEFAULT_DENOM)]], + // proposal is in round 10, but we are trying to add tribute during round 11 + mock_data: (11, vec![mock_proposal.clone()]), + expected_success: true, + expected_error_msg: String::new(), + }, ]; for test in test_cases { @@ -309,13 +311,14 @@ fn add_tribute_test() { for tribute in &test.tributes_to_add { let info = get_message_info(&deps.api, tribute_payer, tribute); let msg = ExecuteMsg::AddTribute { - tranche_id: test.proposal_info.0, - proposal_id: test.proposal_info.1, + tranche_id: mock_proposal.tranche_id, + round_id: mock_proposal.round_id, + proposal_id: mock_proposal.proposal_id, }; let res = execute(deps.as_mut(), env.clone(), info.clone(), msg); if test.expected_success { - assert!(res.is_ok()); + assert!(res.is_ok(), "failed with: {}", res.unwrap_err()); } else { assert!(res .unwrap_err() @@ -331,8 +334,8 @@ fn add_tribute_test() { let res = query_proposal_tributes( deps.as_ref(), - test.mock_data.0, - test.proposal_info.1, + mock_proposal.round_id, + mock_proposal.proposal_id, 0, 3000, ) @@ -344,6 +347,7 @@ fn add_tribute_test() { assert_eq!(res[i].funds, tribute[0].clone()); assert_eq!(res[i].depositor.to_string(), tribute_payer_addr.clone()); assert!(!res[i].refunded); + assert_eq!(res[i].creation_time, env.block.time); } } } @@ -546,6 +550,7 @@ fn claim_tribute_test() { let info = get_message_info(&deps.api, tribute_payer, &test.tribute_to_add); let msg = ExecuteMsg::AddTribute { tranche_id: test.tribute_info.1, + round_id: test.tribute_info.0, proposal_id: test.tribute_info.2, }; @@ -724,6 +729,7 @@ fn refund_tribute_test() { let info = get_message_info(&deps.api, tribute_payer, &test.tribute_to_add); let msg = ExecuteMsg::AddTribute { tranche_id: test.tribute_info.1, + round_id: test.tribute_info.0, proposal_id: test.tribute_info.2, }; @@ -865,6 +871,8 @@ fn test_query_historical_tribute_claims() { depositor: Addr::unchecked("user1"), funds: Coin::new(Uint128::new(100), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, Tribute { tribute_id: 1, @@ -874,6 +882,8 @@ fn test_query_historical_tribute_claims() { depositor: Addr::unchecked("user1"), funds: Coin::new(Uint128::new(200), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, ]; @@ -930,6 +940,8 @@ fn test_query_round_tributes() { depositor: Addr::unchecked("user1"), funds: Coin::new(Uint128::new(100), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, Tribute { tribute_id: 2, @@ -939,6 +951,8 @@ fn test_query_round_tributes() { depositor: Addr::unchecked("user2"), funds: Coin::new(Uint128::new(200), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, Tribute { tribute_id: 3, @@ -948,6 +962,8 @@ fn test_query_round_tributes() { depositor: Addr::unchecked("user3"), funds: Coin::new(Uint128::new(300), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, Tribute { tribute_id: 4, @@ -957,6 +973,8 @@ fn test_query_round_tributes() { depositor: Addr::unchecked("user4"), funds: Coin::new(Uint128::new(400), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, Tribute { tribute_id: 5, @@ -966,6 +984,8 @@ fn test_query_round_tributes() { depositor: Addr::unchecked("user5"), funds: Coin::new(Uint128::new(500), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, ]; @@ -1112,6 +1132,8 @@ fn test_query_outstanding_tribute_claims() { depositor: Addr::unchecked("user1"), funds: Coin::new(Uint128::new(100), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, Tribute { tribute_id: 2, @@ -1121,6 +1143,8 @@ fn test_query_outstanding_tribute_claims() { depositor: Addr::unchecked("user1"), funds: Coin::new(Uint128::new(200), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, Tribute { tribute_id: 3, @@ -1130,6 +1154,8 @@ fn test_query_outstanding_tribute_claims() { depositor: Addr::unchecked("user1"), funds: Coin::new(Uint128::new(300), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, Tribute { tribute_id: 4, @@ -1139,6 +1165,8 @@ fn test_query_outstanding_tribute_claims() { depositor: Addr::unchecked("user1"), funds: Coin::new(Uint128::new(400), "token"), refunded: false, + creation_round: 1, + creation_time: cosmwasm_std::Timestamp::from_seconds(1), }, ]; diff --git a/docs/oversight_committee.md b/docs/oversight_committee.md index 9289dd3..5433064 100644 --- a/docs/oversight_committee.md +++ b/docs/oversight_committee.md @@ -29,4 +29,11 @@ and verify the results. This is how you can query the top N proposals using the command line (make sure to put the right contract address and query parameters): ```bash neutrond q wasm contract-state smart neutron192s005pfsx7j397l4jarhgu8gs2lcgwyuntehp6wundrh8pgkywqgss0tm "{\"top_n_proposals\": {\"round_id\": 0, \"tranche_id\": 1, \"number_of_proposals\": 5}}" -``` \ No newline at end of file +``` + +## Revenue Sharing + +Revenue sharing (i.e. distributing a portion of the profit made by a liquidity deployment to +its voters) is enabled in Hydro by utilizing the tribute contract. +While projects would add their tribute *during* a round, the revenue sharing is done *after* the round has ended, where the committee can simply add the appropriate revenue that should +be shared with voters as a tribute. \ No newline at end of file diff --git a/test/interchain/hydro_suite.go b/test/interchain/hydro_suite.go index 63e644c..758dfd9 100644 --- a/test/interchain/hydro_suite.go +++ b/test/interchain/hydro_suite.go @@ -686,10 +686,11 @@ func (s *HydroSuite) WithdrawICQFunds(contractAddr string, amount int64) error { return nil } -func (s *HydroSuite) SubmitTribute(validatorIndex, amount, trancheId, proposalId int, contractAddr string) (int, error) { +func (s *HydroSuite) SubmitTribute(validatorIndex, amount, round_id, trancheId, proposalId int, contractAddr string) (int, error) { txData := map[string]interface{}{ "add_tribute": map[string]interface{}{ "tranche_id": trancheId, + "round_id": round_id, "proposal_id": proposalId, }, } diff --git a/test/interchain/hydro_test.go b/test/interchain/hydro_test.go index 5bf57bf..602090c 100644 --- a/test/interchain/hydro_test.go +++ b/test/interchain/hydro_test.go @@ -409,13 +409,13 @@ func (s *HydroSuite) TestTributeContract() { roundId := s.GetCurrentRound(hydroContractAddr) // all proposals are expected to be submitted in the same round // validator 1 adds tribute for proposals - tribute1Id, err := s.SubmitTribute(0, 10000, proposal1.TrancheID, proposal1.ProposalID, tributeContractAddr) + tribute1Id, err := s.SubmitTribute(0, 10000, proposal1.RoundID, proposal1.TrancheID, proposal1.ProposalID, tributeContractAddr) s.Require().NoError(err) - tribute2Id, err := s.SubmitTribute(0, 20000, proposal2.TrancheID, proposal2.ProposalID, tributeContractAddr) + tribute2Id, err := s.SubmitTribute(0, 20000, proposal2.RoundID, proposal2.TrancheID, proposal2.ProposalID, tributeContractAddr) s.Require().NoError(err) - tribute3Id, err := s.SubmitTribute(0, 30000, proposal3.TrancheID, proposal3.ProposalID, tributeContractAddr) + tribute3Id, err := s.SubmitTribute(0, 30000, proposal3.RoundID, proposal3.TrancheID, proposal3.ProposalID, tributeContractAddr) s.Require().NoError(err) - tribute4Id, err := s.SubmitTribute(3, 40000, proposal4.TrancheID, proposal4.ProposalID, tributeContractAddr) + tribute4Id, err := s.SubmitTribute(3, 40000, proposal4.RoundID, proposal4.TrancheID, proposal4.ProposalID, tributeContractAddr) s.Require().NoError(err) // val2 votes for proposal 1 @@ -508,4 +508,28 @@ func (s *HydroSuite) TestTributeContract() { s.Require().True(newBalanceVal3.Sub(oldBalanceVal3).Equal(math.NewInt(20000))) // reward is tribute for proposal2 = 20000 s.Require().True(newBalanceVal1.GT(oldBalanceVal1)) // refunded proposal3 s.Require().True(newBalanceVal4.GT(oldBalanceVal4)) // refunded proposal4 + + // verify that we can add a tribute to proposals even after the round has ended + tribute5Id, err := s.SubmitTribute(0, 50000, proposal1.RoundID, proposal1.TrancheID, proposal1.ProposalID, tributeContractAddr) + s.Require().NoError(err) + tribute6Id, err := s.SubmitTribute(0, 50000, proposal3.RoundID, proposal3.TrancheID, proposal3.ProposalID, tributeContractAddr) + s.Require().NoError(err) + + // users can claim immediately, since the voting period for the proposal is over + // expect no error when claiming the tribute for prop 1 + err = s.ClaimTribute(0, tributeContractAddr, s.NeutronChain.ValidatorWallets[1].Address, proposal4.RoundID, proposal4.TrancheID, tribute5Id) + s.Require().NoError(err) + // expect an error when claiming the tribute for prop 4, since it is not in the top N proposals + err = s.ClaimTribute(0, tributeContractAddr, s.NeutronChain.ValidatorWallets[3].Address, proposal4.RoundID, proposal4.TrancheID, tribute6Id) + s.Require().Error(err) + s.Require().Contains(err.Error(), "outside of top N proposals") + + // also, tributes can be refund immediately, since the voting period for the proposal is over + // expect an error refunding tribute 5 since it was for a top n proposal + err = s.RefundTribute(0, tributeContractAddr, proposal4.RoundID, proposal4.TrancheID, tribute5Id, proposal1.ProposalID) + s.Require().Error(err) + + // expect no error when refunding tribute 6 since it was for a proposal that was not in the top N + err = s.RefundTribute(0, tributeContractAddr, proposal4.RoundID, proposal4.TrancheID, tribute6Id, proposal3.ProposalID) + s.Require().NoError(err) } diff --git a/ts_types/TributeBase.client.ts b/ts_types/TributeBase.client.ts index fc7acfd..949e484 100644 --- a/ts_types/TributeBase.client.ts +++ b/ts_types/TributeBase.client.ts @@ -6,7 +6,7 @@ import { CosmWasmClient, SigningCosmWasmClient, ExecuteResult } from "@cosmjs/cosmwasm-stargate"; import { StdFee } from "@cosmjs/amino"; -import { Addr, Uint128, ConfigResponse, Config, ExecuteMsg, InstantiateMsg, ProposalTributesResponse, Tribute, Coin, QueryMsg } from "./TributeBase.types"; +import { Addr, Uint128, ConfigResponse, Config, ExecuteMsg, InstantiateMsg, Timestamp, Uint64, ProposalTributesResponse, Tribute, Coin, QueryMsg } from "./TributeBase.types"; export interface TributeBaseReadOnlyInterface { contractAddress: string; config: () => Promise; @@ -153,9 +153,11 @@ export interface TributeBaseInterface extends TributeBaseReadOnlyInterface { sender: string; addTribute: ({ proposalId, + roundId, trancheId }: { proposalId: number; + roundId: number; trancheId: number; }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise; claimTribute: ({ @@ -196,14 +198,17 @@ export class TributeBaseClient extends TributeBaseQueryClient implements Tribute } addTribute = async ({ proposalId, + roundId, trancheId }: { proposalId: number; + roundId: number; trancheId: number; }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise => { return await this.client.execute(this.sender, this.contractAddress, { add_tribute: { proposal_id: proposalId, + round_id: roundId, tranche_id: trancheId } }, fee, memo, _funds); diff --git a/ts_types/TributeBase.types.ts b/ts_types/TributeBase.types.ts index 99f2ccd..faf7372 100644 --- a/ts_types/TributeBase.types.ts +++ b/ts_types/TributeBase.types.ts @@ -17,6 +17,7 @@ export interface Config { export type ExecuteMsg = { add_tribute: { proposal_id: number; + round_id: number; tranche_id: number; }; } | { @@ -39,10 +40,14 @@ export interface InstantiateMsg { min_prop_percent_for_claimable_tributes: Uint128; top_n_props_count: number; } +export type Timestamp = Uint64; +export type Uint64 = string; export interface ProposalTributesResponse { tributes: Tribute[]; } export interface Tribute { + creation_round: number; + creation_time: Timestamp; depositor: Addr; funds: Coin; proposal_id: number; From 84e67ab24d3eee221f06a00f41db2aa46d9a7de9 Mon Sep 17 00:00:00 2001 From: Dusan Maksimovic <94966669+dusan-maksimovic@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:55:34 +0200 Subject: [PATCH 07/12] Create pull_request_template.md (#148) * Create pull_request_template.md Introduced the pull request template * Update .github/pull_request_template.md Co-authored-by: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> --------- Co-authored-by: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> --- .github/pull_request_template.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..c31eeba --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,25 @@ +## Description + +Closes: *#XXXX* + +*Add a description of the changes that this PR introduces and the files that +are the most critical to review.* + +--- + +### Author Checklist + +*All items are required. Please add a note to the item if the item is not applicable and +please add links to any relevant follow up issues.* + +I have... + +* [ ] Targeted the correct branch +* [ ] Included the necessary unit tests +* [ ] Added/adjusted the necessary [interchain tests](./test/interchain/) +* [ ] Added a changelog entry in `.changelog` +* [ ] Compiled the contracts by using `make compile` and included content of the *artifacts* directory into the PR +* [ ] Regenerated front-end schema by using `make schema` and included generated files into the PR +* [ ] Updated the relevant documentation or specification +* [ ] Reviewed "Files changed" and left comments if necessary +* [ ] Confirmed all CI checks have passed From 3568bd9ff486353f502640a4bbff00f04e307f38 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> Date: Tue, 15 Oct 2024 17:03:42 +0200 Subject: [PATCH 08/12] Added a section on changelog management (#151) --- RELEASE_PROCESS.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 RELEASE_PROCESS.md diff --git a/RELEASE_PROCESS.md b/RELEASE_PROCESS.md new file mode 100644 index 0000000..d8d218b --- /dev/null +++ b/RELEASE_PROCESS.md @@ -0,0 +1,21 @@ +## Cutting a new release + +### Creating the changelog + +To create a new release, you will need to have [unclog](https://github.com/informalsystems/unclog) installed. + +First, run: +``` +unclog release vX.Y.Z --editor nano +``` +This will move all the changelog entries from the `unreleased` folder into a new folder named after the release tag. It will also open an editor for you to write the release notes. +For the release notes, include the date (as in `Date: October 15th, 2024`). You can +optionally add a short summary of the release, but do not duplicate the changelog entries. + +Then, regenerate the `CHANGELOG` by running +``` +unclog build > CHANGELOG +``` +Finally, commit and push the changes to the repo. +The up-to-date changelog should be present on the release branch for the release you have just cut, +and also on main. \ No newline at end of file From e4bcb64ff1f66df7d2c7deea601036ccfa251325 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> Date: Wed, 16 Oct 2024 08:40:02 +0200 Subject: [PATCH 09/12] Generate changelog for v1.0.3 (#150) * Generate changelog for v1.0.3 * Re-add unreleased changelog entry --- .changelog/epilogue.md | 2 -- .../129-forbid-claim-without-vote.md | 0 ...t-props-into-props-by-score-on-creation.md | 0 .../128-update-prop-power-on-lock-relock.md | 0 .../features/137-pilot-lock-duration.md | 0 .changelog/v1.0.3/summary.md | 6 +++++ CHANGELOG | 26 ++++++++++++++++++- 7 files changed, 31 insertions(+), 3 deletions(-) rename .changelog/{unreleased => v1.0.3}/bug-fixes/129-forbid-claim-without-vote.md (100%) rename .changelog/{unreleased => v1.0.3}/bug-fixes/135-do-not-insert-props-into-props-by-score-on-creation.md (100%) rename .changelog/{unreleased => v1.0.3}/features/128-update-prop-power-on-lock-relock.md (100%) rename .changelog/{unreleased => v1.0.3}/features/137-pilot-lock-duration.md (100%) create mode 100644 .changelog/v1.0.3/summary.md diff --git a/.changelog/epilogue.md b/.changelog/epilogue.md index 0f5d85b..212457e 100644 --- a/.changelog/epilogue.md +++ b/.changelog/epilogue.md @@ -1,5 +1,3 @@ -# CHANGELOG - # v1.0.0 Date: September 24th, 2023 diff --git a/.changelog/unreleased/bug-fixes/129-forbid-claim-without-vote.md b/.changelog/v1.0.3/bug-fixes/129-forbid-claim-without-vote.md similarity index 100% rename from .changelog/unreleased/bug-fixes/129-forbid-claim-without-vote.md rename to .changelog/v1.0.3/bug-fixes/129-forbid-claim-without-vote.md diff --git a/.changelog/unreleased/bug-fixes/135-do-not-insert-props-into-props-by-score-on-creation.md b/.changelog/v1.0.3/bug-fixes/135-do-not-insert-props-into-props-by-score-on-creation.md similarity index 100% rename from .changelog/unreleased/bug-fixes/135-do-not-insert-props-into-props-by-score-on-creation.md rename to .changelog/v1.0.3/bug-fixes/135-do-not-insert-props-into-props-by-score-on-creation.md diff --git a/.changelog/unreleased/features/128-update-prop-power-on-lock-relock.md b/.changelog/v1.0.3/features/128-update-prop-power-on-lock-relock.md similarity index 100% rename from .changelog/unreleased/features/128-update-prop-power-on-lock-relock.md rename to .changelog/v1.0.3/features/128-update-prop-power-on-lock-relock.md diff --git a/.changelog/unreleased/features/137-pilot-lock-duration.md b/.changelog/v1.0.3/features/137-pilot-lock-duration.md similarity index 100% rename from .changelog/unreleased/features/137-pilot-lock-duration.md rename to .changelog/v1.0.3/features/137-pilot-lock-duration.md diff --git a/.changelog/v1.0.3/summary.md b/.changelog/v1.0.3/summary.md new file mode 100644 index 0000000..e80dfce --- /dev/null +++ b/.changelog/v1.0.3/summary.md @@ -0,0 +1,6 @@ +Date: October 15th, 2024 + diff --git a/CHANGELOG b/CHANGELOG index 0f5d85b..7e3941e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,28 @@ # CHANGELOG +## v1.0.3 + +Date: October 15th, 2024 + + +### BUG FIXES + +- Forbid users to claim tributes that belong to other proposals than the one user voted on. + ([\#129](https://github.com/informalsystems/hydro/pull/129)) +- fix: do not insert proposal into PROPS_BY_SCORE on proposal creation. + ([\#135](https://github.com/informalsystems/hydro/pull/135)) + +### FEATURES + +- Update proposal powers when user that voted locks or relocks tokens. + ([\#128](https://github.com/informalsystems/hydro/pull/128)) +- Add 'pilot round mode' with a different lock duration. + ([\#137](https://github.com/informalsystems/hydro/pull/137)) + # v1.0.0 Date: September 24th, 2023 @@ -12,4 +35,5 @@ It includes: * Users can vote on proposals * The _Tribute_ contract, where: * Projects can add tributes to their proposals - * Users can claim tributes for the proposals that they voted on \ No newline at end of file + * Users can claim tributes for the proposals that they voted on + From 24579a416276e2b4f97006b815e5fc5441c025f7 Mon Sep 17 00:00:00 2001 From: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> Date: Wed, 16 Oct 2024 11:47:36 +0200 Subject: [PATCH 10/12] Allow refreshing multiple locks at once (#149) * Start modifying message to refresh multiple locks at once * Fix multi-lock and add tests * Add test cases for multi-lock-refresh * Add changelog entry * Regenerate schema * Remove useless use of vec * Fix clippy * Add check for actual new lock end time in multi-lock test * Use mutable borrow instead of taking ownership * Borrow env and constants * Add test case about refreshing other users lock * Regenerate artifacts --- .../149-allow-refreshing-multiple-locks.md | 2 + artifacts/checksums.txt | 2 +- artifacts/hydro.wasm | Bin 789225 -> 791698 bytes contracts/hydro/schema/execute_msg.json | 13 +- contracts/hydro/schema/hydro_full_schema.json | 13 +- contracts/hydro/src/contract.rs | 134 +++++++----- contracts/hydro/src/msg.rs | 2 +- contracts/hydro/src/testing.rs | 201 +++++++++++++++++- .../hydro/src/testing_lsm_integration.rs | 2 +- test/interchain/hydro_suite.go | 2 +- ts_types/HydroBase.client.ts | 10 +- ts_types/HydroBase.types.ts | 2 +- 12 files changed, 302 insertions(+), 81 deletions(-) create mode 100644 .changelog/unreleased/features/149-allow-refreshing-multiple-locks.md diff --git a/.changelog/unreleased/features/149-allow-refreshing-multiple-locks.md b/.changelog/unreleased/features/149-allow-refreshing-multiple-locks.md new file mode 100644 index 0000000..17c40c3 --- /dev/null +++ b/.changelog/unreleased/features/149-allow-refreshing-multiple-locks.md @@ -0,0 +1,2 @@ +- Allow refreshing multiple locks at once + ([\#149](https://github.com/informalsystems/hydro/pull/149)) diff --git a/artifacts/checksums.txt b/artifacts/checksums.txt index 46feaee..4b3cc96 100644 --- a/artifacts/checksums.txt +++ b/artifacts/checksums.txt @@ -1,2 +1,2 @@ -b8ad3e6620dffc6b4d0357d983333d6db3f2ec4a485f0b87906bcff6c6e223e1 hydro.wasm +23c1286337d166572a21356b2be93df8c3a3ed28f9d8e7b40e06b06b37fe8823 hydro.wasm 9d155b9241a64f47e8829afbb022dba5d0130ba55304ddc46950511b567c9ffd tribute.wasm diff --git a/artifacts/hydro.wasm b/artifacts/hydro.wasm index d4b9ccf739ee2fe47293edcb3ce36c0bdc72f397..a692bdb68c3e7245d13c41c64ee2efc98da9f506 100644 GIT binary patch delta 140083 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 Qt2Fq%j^76Sj<0k6e+|YtNB{r; delta 138338 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 K=tj4foc|Br3Qax$ diff --git a/contracts/hydro/schema/execute_msg.json b/contracts/hydro/schema/execute_msg.json index 391d3a3..a5ec7fb 100644 --- a/contracts/hydro/schema/execute_msg.json +++ b/contracts/hydro/schema/execute_msg.json @@ -35,7 +35,7 @@ "type": "object", "required": [ "lock_duration", - "lock_id" + "lock_ids" ], "properties": { "lock_duration": { @@ -43,10 +43,13 @@ "format": "uint64", "minimum": 0.0 }, - "lock_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 + "lock_ids": { + "type": "array", + "items": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + } } }, "additionalProperties": false diff --git a/contracts/hydro/schema/hydro_full_schema.json b/contracts/hydro/schema/hydro_full_schema.json index e17be1e..94b9111 100644 --- a/contracts/hydro/schema/hydro_full_schema.json +++ b/contracts/hydro/schema/hydro_full_schema.json @@ -152,7 +152,7 @@ "type": "object", "required": [ "lock_duration", - "lock_id" + "lock_ids" ], "properties": { "lock_duration": { @@ -160,10 +160,13 @@ "format": "uint64", "minimum": 0.0 }, - "lock_id": { - "type": "integer", - "format": "uint64", - "minimum": 0.0 + "lock_ids": { + "type": "array", + "items": { + "type": "integer", + "format": "uint64", + "minimum": 0.0 + } } }, "additionalProperties": false diff --git a/contracts/hydro/src/contract.rs b/contracts/hydro/src/contract.rs index a8e007d..c0fa526 100644 --- a/contracts/hydro/src/contract.rs +++ b/contracts/hydro/src/contract.rs @@ -150,9 +150,9 @@ pub fn execute( match msg { ExecuteMsg::LockTokens { lock_duration } => lock_tokens(deps, env, info, lock_duration), ExecuteMsg::RefreshLockDuration { - lock_id, + lock_ids, lock_duration, - } => refresh_lock_duration(deps, env, info, lock_id, lock_duration), + } => refresh_lock_duration(deps, env, info, lock_ids, lock_duration), ExecuteMsg::UnlockTokens {} => unlock_tokens(deps, env, info), ExecuteMsg::CreateProposal { tranche_id, @@ -271,7 +271,7 @@ fn lock_tokens( let last_round_with_power = compute_round_id_for_timestamp(&constants, lock_end)? - 1; update_total_time_weighted_shares( - deps, + &mut deps, &constants, current_round, last_round_with_power, @@ -290,16 +290,18 @@ fn lock_tokens( .add_attribute("lock_end", lock_entry.lock_end.to_string())) } -// Extends the lock duration of a lock entry to be current_block_time + lock_duration, +// Extends the lock duration of the guiven lock entries to be current_block_time + lock_duration, // assuming that this would actually increase the lock_end_time (so this *should not* be a way to make the lock time shorter). -// Thus, the lock_end_time afterwards *must* be later than the lock_end_time before. -// This should essentially have the same effect as removing the old lock and immediately re-locking all +// Thus, for each lock entry the lock_end_time afterwards *must* be later than the lock_end_time before. +// If this doesn't hold for any of the input lock entries, the function will return an error, and no +// lock entries will be updated. +// This should essentially have the same effect as removing the old locks and immediately re-locking all // the same funds for the new lock duration. fn refresh_lock_duration( - deps: DepsMut, + mut deps: DepsMut, env: Env, info: MessageInfo, - lock_id: u64, + lock_ids: Vec, lock_duration: u64, ) -> Result, ContractError> { let constants = CONSTANTS.load(deps.storage)?; @@ -312,40 +314,70 @@ fn refresh_lock_duration( validate_lock_duration(constants.lock_epoch_length, lock_duration)?; } - let current_round = compute_current_round_id(&env, &constants)?; - initialize_validator_store(deps.storage, current_round)?; + // if there are no lock_ids, return an error + if lock_ids.is_empty() { + return Err(ContractError::Std(StdError::generic_err( + "No lock_ids provided", + ))); + } - // try to get the lock with the given id - // note that this is already indexed by the caller, so if it is successful, the sender owns this lock - let mut lock_entry = LOCKS_MAP.load(deps.storage, (info.sender.clone(), lock_id))?; - let old_lock_entry = lock_entry.clone(); + let current_round_id = compute_current_round_id(&env, &constants)?; + initialize_validator_store(deps.storage, current_round_id)?; - // log the lock entry - deps.api.debug(&format!("lock_entry: {:?}", lock_entry)); + let mut response = Response::new() + .add_attribute("action", "refresh_lock_duration") + .add_attribute("sender", info.clone().sender) + .add_attribute("lock_count", lock_ids.len().to_string()); + + for lock_id in lock_ids { + let (new_lock_end, old_lock_end) = refresh_single_lock( + &mut deps, + &info, + &env, + &constants, + current_round_id, + lock_id, + lock_duration, + )?; - // compute the new lock_end_time - let new_lock_end = env.block.time.plus_nanos(lock_duration).nanos(); + response = response.add_attribute( + format!("lock_id_{}_old_end", lock_id), + old_lock_end.to_string(), + ); + response = response.add_attribute( + format!("lock_id_{}_new_end", lock_id), + new_lock_end.to_string(), + ); + } - let old_lock_end = lock_entry.lock_end.nanos(); + Ok(response) +} - // check that the new lock_end_time is later than the old lock_end_time +fn refresh_single_lock( + deps: &mut DepsMut<'_, NeutronQuery>, + info: &MessageInfo, + env: &Env, + constants: &Constants, + current_round_id: u64, + lock_id: u64, + new_lock_duration: u64, +) -> Result<(u64, u64), ContractError> { + let mut lock_entry = LOCKS_MAP.load(deps.storage, (info.sender.clone(), lock_id))?; + let old_lock_entry = lock_entry.clone(); + deps.api.debug(&format!("lock_entry: {:?}", lock_entry)); + let new_lock_end = env.block.time.plus_nanos(new_lock_duration).nanos(); + let old_lock_end = lock_entry.lock_end.nanos(); if new_lock_end <= old_lock_end { return Err(ContractError::Std(StdError::generic_err( "Shortening locks is not allowed, new lock end time must be after the old lock end", ))); } - - // update the lock entry with the new lock_end_time lock_entry.lock_end = Timestamp::from_nanos(new_lock_end); - - // save the updated lock entry LOCKS_MAP.save(deps.storage, (info.sender.clone(), lock_id), &lock_entry)?; - - // get the validator whose shares are in this lock let validator_result = validate_denom( deps.as_ref(), env.clone(), - &constants, + constants, lock_entry.funds.denom.clone(), ); if validator_result.is_err() { @@ -354,31 +386,21 @@ fn refresh_lock_duration( ))); } let validator = validator_result.unwrap(); - - // If user already voted for some proposals in the current round, update the voting power on those proposals. - let mut deps = deps; update_voting_power_on_proposals( - &mut deps, + deps, &info.sender, - &constants, - current_round, + constants, + current_round_id, Some(old_lock_entry), lock_entry.clone(), validator.clone(), )?; - - // Calculate and update the total voting power info for current and all - // future rounds in which the user will have voting power greather than 0. - // The voting power originated from the old lockup is subtracted from the - // total voting power, and the voting power gained with the new lockup is - // added to the total voting power for each applicable round. - let old_last_round_with_power = compute_round_id_for_timestamp(&constants, old_lock_end)? - 1; - let new_last_round_with_power = compute_round_id_for_timestamp(&constants, new_lock_end)? - 1; - + let old_last_round_with_power = compute_round_id_for_timestamp(constants, old_lock_end)? - 1; + let new_last_round_with_power = compute_round_id_for_timestamp(constants, new_lock_end)? - 1; update_total_time_weighted_shares( deps, - &constants, - current_round, + constants, + current_round_id, new_last_round_with_power, new_lock_end, validator, @@ -396,12 +418,7 @@ fn refresh_lock_duration( ) }, )?; - - Ok(Response::new() - .add_attribute("action", "refresh_lock_duration") - .add_attribute("sender", info.sender) - .add_attribute("old_lock_end", old_lock_end.to_string()) - .add_attribute("new_lock_end", new_lock_end.to_string())) + Ok((new_lock_end, old_lock_end)) } // Validate that the lock duration (given in nanos) is either 1, 2, 3, 6, or 12 epochs @@ -412,9 +429,15 @@ fn validate_lock_duration(lock_epoch_length: u64, lock_duration: u64) -> Result< && lock_duration != lock_epoch_length * 6 && lock_duration != lock_epoch_length * 12 { - return Err(ContractError::Std(StdError::generic_err( - "Lock duration must be 1, 2, 3, 6, or 12 epochs", - ))); + return Err(ContractError::Std(StdError::generic_err(format!( + "Lock duration must be 1, 2, 3, 6, or 12 epochs: {}, {}, {}, {}, or {}; but was: {}", + lock_epoch_length, + lock_epoch_length * 2, + lock_epoch_length * 3, + lock_epoch_length * 6, + lock_epoch_length * 12, + lock_duration + )))); } Ok(()) @@ -731,7 +754,8 @@ fn vote( lock_entry.clone().funds.denom, ); if validator_result.is_err() { - deps.api.debug(&format!( + deps.api.debug(& + format!( "Denom {} is not a valid validator denom; validator might not be in the current set of top validators by delegation", lock_entry.funds.denom )); @@ -1782,7 +1806,7 @@ fn update_proposal_and_props_by_score_maps( #[allow(clippy::too_many_arguments)] // complex function that needs a lot of arguments fn update_total_time_weighted_shares( - deps: DepsMut, + deps: &mut DepsMut, constants: &Constants, start_round_id: u64, end_round_id: u64, diff --git a/contracts/hydro/src/msg.rs b/contracts/hydro/src/msg.rs index 2e59cc8..91ea5cf 100644 --- a/contracts/hydro/src/msg.rs +++ b/contracts/hydro/src/msg.rs @@ -38,7 +38,7 @@ pub enum ExecuteMsg { lock_duration: u64, }, RefreshLockDuration { - lock_id: u64, + lock_ids: Vec, lock_duration: u64, }, UnlockTokens {}, diff --git a/contracts/hydro/src/testing.rs b/contracts/hydro/src/testing.rs index 601a1fe..c16a6c8 100644 --- a/contracts/hydro/src/testing.rs +++ b/contracts/hydro/src/testing.rs @@ -614,7 +614,7 @@ fn proposal_power_change_on_lock_and_refresh_test() { // refresh first lockup let msg = ExecuteMsg::RefreshLockDuration { - lock_id: first_lockup_id, + lock_ids: vec![first_lockup_id], lock_duration: 3 * TWO_WEEKS_IN_NANO_SECONDS, }; @@ -693,7 +693,7 @@ fn proposal_power_change_on_lock_and_refresh_test() { // refresh second (expired) lockup let msg = ExecuteMsg::RefreshLockDuration { - lock_id: second_lockup_id, + lock_ids: vec![second_lockup_id], lock_duration: 3 * TWO_WEEKS_IN_NANO_SECONDS, }; @@ -1348,7 +1348,7 @@ fn total_voting_power_tracking_test() { let info3 = get_message_info(&deps.api, user_address, &[]); let msg = ExecuteMsg::RefreshLockDuration { - lock_id: 1, + lock_ids: vec![1], lock_duration: 2 * THREE_MONTHS_IN_NANO_SECONDS, }; let res = execute(deps.as_mut(), env.clone(), info3.clone(), msg); @@ -1452,7 +1452,7 @@ proptest! { // try to refresh the lock duration as a different user let info2 = get_message_info(&deps.api, "addr0002", &[]); let msg = ExecuteMsg::RefreshLockDuration { - lock_id: 0, + lock_ids: vec![0], lock_duration: new_lock_duration, }; let res = execute(deps.as_mut(), env.clone(), info2.clone(), msg); @@ -1463,7 +1463,7 @@ proptest! { // refresh the lock duration let info = get_message_info(&deps.api, "addr0001", &[]); let msg = ExecuteMsg::RefreshLockDuration { - lock_id: 0, + lock_ids: vec![0], lock_duration: new_lock_duration, }; let res = execute(deps.as_mut(), env.clone(), info.clone(), msg); @@ -1702,7 +1702,7 @@ fn contract_pausing_test() { let msgs = vec![ ExecuteMsg::LockTokens { lock_duration: 0 }, ExecuteMsg::RefreshLockDuration { - lock_id: 0, + lock_ids: vec![0], lock_duration: 0, }, ExecuteMsg::UnlockTokens {}, @@ -1926,3 +1926,192 @@ pub fn pilot_round_lock_duration_test() { } } } + +struct TestCase { + name: &'static str, + lock_ids: Vec, + new_lock_duration: u64, + expected_error: Option, + // expected_new_lock_durations is a list of tuples, where the first element is the sender address, + // and the second element is a list of the expected remaining lock durations for the locks + expected_new_lock_durations: Vec<(String, Vec)>, +} + +// This test checks the behaviour when refreshing multiple locks at once. +// It creates multiple locks in different rounds and then tries to refresh subsets of them. +// It checks: +// * a case where multiple locks are successfully refreshed together +// * a case where one of the locks that are being refreshed would get shorter, so this case should fail +// * a case where the list of locks is empty +// * that a user cannot include a lock id for a lock belonging to a different user +#[test] +fn test_refresh_multiple_locks() { + let grpc_query = denom_trace_grpc_query_mock( + "transfer/channel-0".to_string(), + HashMap::from([(IBC_DENOM_1.to_string(), VALIDATOR_1_LST_DENOM_1.to_string())]), + ); + let (mut deps, mut env) = (mock_dependencies(grpc_query), mock_env()); + let sender = "addr0000"; + let other_sender = "addr0001"; + let info = get_message_info(&deps.api, sender, &[]); + + // Define test cases + let test_cases = vec![ + TestCase { + name: "Empty lock_ids", + lock_ids: vec![], + new_lock_duration: ONE_MONTH_IN_NANO_SECONDS * 3, + expected_error: Some("No lock_ids provided".to_string()), + expected_new_lock_durations: vec![ + (other_sender.to_string(), vec![8]), + (sender.to_string(), vec![9, 4, 2]), + ], + }, + TestCase { + name: "Shortening locks", + lock_ids: vec![1, 2, 3], + new_lock_duration: ONE_MONTH_IN_NANO_SECONDS, // shorter than the remaining duration + expected_error: Some("Shortening locks is not allowed".to_string()), + expected_new_lock_durations: vec![ + (other_sender.to_string(), vec![8]), + (sender.to_string(), vec![9, 4, 2]), + ], + }, + TestCase { + name: "Successful refresh of multiple locks", + lock_ids: vec![2, 3], + new_lock_duration: ONE_MONTH_IN_NANO_SECONDS * 6, // longer than the remaining duration + expected_error: None, + expected_new_lock_durations: vec![ + (other_sender.to_string(), vec![8]), + (sender.to_string(), vec![9, 6, 6]), + ], + }, + TestCase { + name: "Successful refresh of a single lock", + lock_ids: vec![3], + new_lock_duration: ONE_MONTH_IN_NANO_SECONDS * 3, + expected_error: None, + expected_new_lock_durations: vec![ + (other_sender.to_string(), vec![8]), + (sender.to_string(), vec![9, 4, 3]), + ], + }, + TestCase { + name: "Refresh other users lock", + lock_ids: vec![0, 1, 2, 3], + new_lock_duration: ONE_MONTH_IN_NANO_SECONDS * 12, + expected_error: Some("not found".to_string()), + expected_new_lock_durations: vec![ + (other_sender.to_string(), vec![8]), + (sender.to_string(), vec![9, 4, 2]), + ], + }, + ]; + + // Execute test cases + for case in test_cases { + println!("Running test case: {}", case.name); + let mut msg = get_default_instantiate_msg(&deps.api); + msg.is_in_pilot_mode = false; + msg.lock_epoch_length = ONE_MONTH_IN_NANO_SECONDS; + msg.round_length = ONE_MONTH_IN_NANO_SECONDS; + + let res = instantiate(deps.as_mut(), env.clone(), info.clone(), msg.clone()); + assert!(res.is_ok()); + + set_default_validator_for_rounds(deps.as_mut(), 0, 100); + + // Create multiple locks with different durations, starting times, and senders + let lock_durations = [ + (ONE_MONTH_IN_NANO_SECONDS * 12, other_sender), + (ONE_MONTH_IN_NANO_SECONDS * 12, sender), + (ONE_MONTH_IN_NANO_SECONDS * 6, sender), + (ONE_MONTH_IN_NANO_SECONDS * 3, sender), + ]; + + for &(duration, locker) in lock_durations.iter() { + let info = get_message_info( + &deps.api, + locker, + &[Coin::new(1000u64, IBC_DENOM_1.to_string())], + ); + let lock_msg = ExecuteMsg::LockTokens { + lock_duration: duration, + }; + let res = execute(deps.as_mut(), env.clone(), info.clone(), lock_msg); + assert!( + res.is_ok(), + "Lock creation failed for duration: {} with error: {}", + duration, + res.err().unwrap() + ); + + // Advance time for each lock + env.block.time = env.block.time.plus_nanos(ONE_MONTH_IN_NANO_SECONDS); + } + + // now, the locks should have remaining times of 9, 4, and 2 months (and the other senders lockup has 8 months remaining) + let refresh_msg = ExecuteMsg::RefreshLockDuration { + lock_ids: case.lock_ids.clone(), + lock_duration: case.new_lock_duration, + }; + + let res = execute(deps.as_mut(), env.clone(), info.clone(), refresh_msg); + + match &case.expected_error { + Some(expected_error) => { + assert!( + res.is_err(), + "Expected error for lock_ids: {:?}, new_lock_duration: {}", + case.lock_ids, + case.new_lock_duration + ); + let error = res.unwrap_err().to_string(); + assert!( + error.contains(expected_error), + "Expected error message to contain: {}, but was: {}", + expected_error, + error + ); + } + None => { + assert!( + res.is_ok(), + "Expected success for lock_ids: {:?}, new_lock_duration: {}; error: {}", + case.lock_ids, + case.new_lock_duration, + res.err().unwrap() + ); + } + } + + // Verify the new lock durations + for (sender, expected_durations) in &case.expected_new_lock_durations { + let lockups = query_all_user_lockups( + deps.as_ref(), + env.clone(), + get_address_as_str(&deps.api, sender), + 0, + 100, + ) + .unwrap() + .lockups; + for (i, &expected_duration) in expected_durations.iter().enumerate() { + let expected_nanos = expected_duration * ONE_MONTH_IN_NANO_SECONDS; + let remaining_lock_duration = lockups[i] + .lock_entry + .lock_end + .minus_nanos(env.block.time.nanos()); + assert_eq!( + expected_nanos, + remaining_lock_duration.nanos(), + "Lock duration mismatch for lock_id: {}, expected: {}, actual: {}", + i, + expected_nanos, + remaining_lock_duration.nanos() + ); + } + } + } +} diff --git a/contracts/hydro/src/testing_lsm_integration.rs b/contracts/hydro/src/testing_lsm_integration.rs index 44c15b8..f83c13a 100644 --- a/contracts/hydro/src/testing_lsm_integration.rs +++ b/contracts/hydro/src/testing_lsm_integration.rs @@ -784,7 +784,7 @@ fn validator_set_initialization_test() { description: "Refresh lock".to_string(), message: ExecuteMsg::RefreshLockDuration { lock_duration: ONE_MONTH_IN_NANO_SECONDS, - lock_id: 0, + lock_ids: vec![0], }, }, ]; diff --git a/test/interchain/hydro_suite.go b/test/interchain/hydro_suite.go index 758dfd9..6a23d5b 100644 --- a/test/interchain/hydro_suite.go +++ b/test/interchain/hydro_suite.go @@ -548,7 +548,7 @@ func (s *HydroSuite) UnlockTokens(contractAddr string) error { func (s *HydroSuite) RefreshLock(contractAddr string, new_lock_duration, lock_id int64) error { refreshTxData := map[string]interface{}{ "refresh_lock_duration": map[string]interface{}{ - "lock_id": lock_id, + "lock_ids": []int64{lock_id}, "lock_duration": new_lock_duration, }, } diff --git a/ts_types/HydroBase.client.ts b/ts_types/HydroBase.client.ts index e6b8559..f45a1ec 100644 --- a/ts_types/HydroBase.client.ts +++ b/ts_types/HydroBase.client.ts @@ -324,10 +324,10 @@ export interface HydroBaseInterface extends HydroBaseReadOnlyInterface { }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise; refreshLockDuration: ({ lockDuration, - lockId + lockIds }: { lockDuration: number; - lockId: number; + lockIds: number[]; }, fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise; unlockTokens: (fee?: number | StdFee | "auto", memo?: string, _funds?: Coin[]) => Promise; createProposal: ({ @@ -435,15 +435,15 @@ export class HydroBaseClient extends HydroBaseQueryClient implements HydroBaseIn }; refreshLockDuration = async ({ lockDuration, - lockId + lockIds }: { lockDuration: number; - lockId: number; + lockIds: number[]; }, fee: number | StdFee | "auto" = "auto", memo?: string, _funds?: Coin[]): Promise => { return await this.client.execute(this.sender, this.contractAddress, { refresh_lock_duration: { lock_duration: lockDuration, - lock_id: lockId + lock_ids: lockIds } }, fee, memo, _funds); }; diff --git a/ts_types/HydroBase.types.ts b/ts_types/HydroBase.types.ts index acd87c2..6b513cb 100644 --- a/ts_types/HydroBase.types.ts +++ b/ts_types/HydroBase.types.ts @@ -50,7 +50,7 @@ export type ExecuteMsg = { } | { refresh_lock_duration: { lock_duration: number; - lock_id: number; + lock_ids: number[]; }; } | { unlock_tokens: {}; From 3a4ab00b291565b5a22b774a95d9da04ddc7642a Mon Sep 17 00:00:00 2001 From: Philip Offtermatt <57488781+p-offtermatt@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:46:35 +0200 Subject: [PATCH 11/12] Add a migration to push the start date to be later (#156) * Add migration for first_round_start * Adjust version numbering * Add check for migrating during the first round * Refactor migration test to be table-based * Restructure if chain for clippy * Add changelog and change tribute contract version * Regenerate contracts --- .../unreleased/features/156-migrate-start.md | 2 + Cargo.lock | 4 +- artifacts/checksums.txt | 4 +- artifacts/hydro.wasm | Bin 791698 -> 810475 bytes artifacts/tribute.wasm | Bin 344129 -> 344129 bytes contracts/hydro/Cargo.toml | 2 +- contracts/hydro/src/contract.rs | 31 +--- contracts/hydro/src/lib.rs | 1 + contracts/hydro/src/migration/migrate.rs | 113 ++++++++++++ contracts/hydro/src/migration/mod.rs | 4 + .../hydro/src/migration/testing_migrate.rs | 163 ++++++++++++++++++ contracts/hydro/src/msg.rs | 4 +- contracts/tribute/Cargo.toml | 2 +- 13 files changed, 296 insertions(+), 34 deletions(-) create mode 100644 .changelog/unreleased/features/156-migrate-start.md create mode 100644 contracts/hydro/src/migration/migrate.rs create mode 100644 contracts/hydro/src/migration/mod.rs create mode 100644 contracts/hydro/src/migration/testing_migrate.rs diff --git a/.changelog/unreleased/features/156-migrate-start.md b/.changelog/unreleased/features/156-migrate-start.md new file mode 100644 index 0000000..d280ed7 --- /dev/null +++ b/.changelog/unreleased/features/156-migrate-start.md @@ -0,0 +1,2 @@ +- Adds a migration to change the start of the first contract on an instantiated contract + ([\#156](https://github.com/informalsystems/hydro/pull/156)) \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 7637866..a8d7d3f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1660,7 +1660,7 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hydro" -version = "1.0.0" +version = "1.1.0" dependencies = [ "bech32 0.9.1", "cosmos-sdk-proto 0.20.0", @@ -3728,7 +3728,7 @@ dependencies = [ [[package]] name = "tribute" -version = "2.0.0" +version = "1.1.0" dependencies = [ "cosmwasm-schema", "cosmwasm-std", diff --git a/artifacts/checksums.txt b/artifacts/checksums.txt index 4b3cc96..61abc70 100644 --- a/artifacts/checksums.txt +++ b/artifacts/checksums.txt @@ -1,2 +1,2 @@ -23c1286337d166572a21356b2be93df8c3a3ed28f9d8e7b40e06b06b37fe8823 hydro.wasm -9d155b9241a64f47e8829afbb022dba5d0130ba55304ddc46950511b567c9ffd tribute.wasm +0eef6df459b3aebf48f0a716bf09cadaa71ff3c8dfa8be783b6408f9451df77b hydro.wasm +7a54621d5c5215757ac8ffdbfa42fa469f4c8d7694cbf8a8b3540bc96393fa05 tribute.wasm diff --git a/artifacts/hydro.wasm b/artifacts/hydro.wasm index a692bdb68c3e7245d13c41c64ee2efc98da9f506..0313afda282aca1d20e8183dc2024f763735d2b8 100644 GIT binary patch delta 231027 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

;%@h^Rr!&=Atof+h)p1oG7Hn|xqPY&PYOpm~ ztU<(o*PHzf=GEJkTjk+BN;@pwdhgQS5`f#!9m)Vx#)D z@|Fg0wlp_(%)W)zp^)~L)OyoomMYcWnp`5d*-4sb?o|o%*nO(apMO+?<#6B} zHAQ=1fosMb)vgs#3hc*#h4G=WW&oV@ziN!@jc9`@o2&X3d7of>0Bn(+y|d=3+fn77 zxnTFO!usB?X5r`N`_)y!5oXu}c4;kt0IVYxZRtEU4R0TuC#&_>*4( zHPfw*+u8*|NkRn|FO&KFFiOHeRT()hr!dcHdKPl%= zk-2RFQ|b(U z`N2~-QEm}Gt&qDFGS-m0If4rVslw~NObrK*K6M#*^etxHGVtgVZU%t*pb%m{M%S9c zcJ@)vQqf+$5tu{YqV~qdW;kx%bnyCh3lWSe9*>cEmMn|Mj@6J3Q+VM`0|&?Px1~H zhPr72ijNJo2^7f@B3i(0{2F{Dx*5Z5crtsFpHn@wS7N<+={d`nfAyU3<@$NcmuEpC z5K4F|0l1K%b1CvP?Rj-(9IA65HtZzw@JgO)aTgVysh}4sR@|T_*kO?jNY?!gYA6Bl zb%P~rD2>C746ExZb#RNfNWMIIS0L{3(_fG`IZ+iVtRT~;fvD%^>Cw0s7amzI#hl|B!CQT+`J?lUi126x+w z_E3@~hc_v4{A$bK&RT65+$`>T@+SKw^#u39EV|zbGyL*Pc4DJ1tKJqkgn%5lPFn|| z#d$BQ1G;}kFvvN;ksY6A0dAVv#R~J;0GNLWZ(ugRta=>U=sUt@udgg;;D1BTfa{5| zxT3Mui?P|;H#>Y_S)HC*1f9gv^R+L zChs-XnUXwd9I$k~HyaE-rLyB-GR`n^be{wYA<~3sL5LpVZLh)e+#xn zznc|rL8kn!`OjO*ZSoAsc>@i=c+b&VbI99j1)`R`198VY%MN%)Au!52%LZ(Lg;vUs z706E~&z+-I{9g^60-zzxUKB%{JYNN}ESv{t=)_os{6q zMenKp=@!3x4~Mn)OzeGC+~j*M-jMqv6CM5B41QnrEwsJKw!O(lZ%m8NfHe=juiDY7 zK)L`cKVH0rF0g^^@2jEdQB!CC{IcF303_*5>$QCJHr2c0ONegiQ41>+xYaF!2TPxW)bczR0EggIY=A;?fH*Dk)Ac5e5B5IK3-~0_*ivsx%bz8 zA8q~S!H<=DZYpqtI9^CNC(I&mHrFxuZFm7B6(a zT!pINAO46DVy;Oq)+t zyJjV^W^}^>fRQ2+6E-cG+tHtbll+{xAH{;Y?^9Kh6q_H9t(}RbW=$QvjCp%!Oq}J< zp+bc>gkS{eakn#5Z?Fz4`pQ(;bHr;`0 zKPNUKa7*+CbKYkvc8Is)ye;B$hc{kz#o!@}2w*&|-H!s%_nlm^b;;#<5bt~9Jq|Ol zNwV}|>vZ$xXR2G7zZe4~)v32TXPL?!s%tyEZEC3n0P79C0Z_8ANWtsk9jbMc)nNVI zZ1+7TQP6>TJ5+TWO9vd%fr+%>Cce#f5Xz@JR`>-txlDpdb#7*Xi@(Su)6aaN>XPpX z-h=xVi#7s+AGn{+2GnxhT})IIQ%V&&X>e=U-CVE}vNYfg@^wqD_G3`DODC)i8;Gy7CM8N`};J~ldq5q3UBi61oW2X0f z-DsvGya=;VuSR~8Inxh)qptp6v>Tx4uu-+Mb~b7^All(f4Et$kX1jxSK|1@MxsbEA z^?CrIiTeeUaOSMFw6j*{&zj7!SNa>4ZiGQCZ0TNpY0hy6uk?@7L}uNUq(D@teGjAA z4?%@Yw{LMO{y-3^$tvP!j{7gcbxhCnZ&lmoBvd%q1#%((6m%NkH?`qgReGd1rRzPa zl19D?Te`njdjHGH`}#Y69YKrTzEfrG{$LS#WqW5NtXfrMVbB? zuf=rWzf>VgO25p$Rfu_n|9Zc@kfZ7!_aef*B>j57Rfw}vx{TM0WSY8T>-P5zfClwZ z3X!6N9*V3bpfhL<9DOrC1GfkDbH-=h{LB*s%bXu}7!4%TEqFy|?$rW!$3N?s_t{PS zEH|?S9C{iL!7I7g!#Tm&wnEFP)NM3cujp4kdanBsqOWJojvqyWmA6|QKf3HzrOkP^ zg30bgYiEn6NkOtsI98pyTQw7IH%OIZ^lekWTXj6$E8kDda#5V(6njF$k0I6y7EecH zX2V4{z~eKWbp3qv*j*g<_`pUCfXV*}g41VB-B0Rgh^Vm++$lj3qeW0jfQGVQSv_IR zF+VE_74);%)6GVr>?bSD+@Do>Qd*lvW-vWL zTDmvg$BzI~E!IW1AaL(%e}T;IQltZjqT?C-_&--;Nh8sKwu0W z_(Q-5h0ln=v+Ta#)skS0V}}hgXA_iK2R6RjPfUiKh8;g zIxaJNrJX|*Xz=FHd>GXI<@|x|dK;%QR)vFg7e~KVwgt^~hkBoN1^MJh#48NxqacGE z71AXV2??*Nq#JnXWZN@SLVBF@{Vwx!NcW{dd>EG5eZ%_D;3wv~ux5Ze3Tj~BTmUhW z3q=8fBR(D0EqPmb*xixOT&Ta1yCbX*O1n2uya(|kVikg4g`tx0=Z9r!hTyz7OAkQu zM3(N1WSjlfD#BmO5Sld0Y4-_;F+mT!-5r!$Q>7C)WLh`v0J4D%f7hBpL>Fn@1~~kt z)}4aS-jS`Tf$5ASE^Y&<150b$B`XoNR}h-_+v(fQvAKGLIWI@k)$!IG-75IhvL|wM zey~)=2)A&$A7Li&cXcqj)ojkyZv%@S&C}}{KrBqv8-fDDQXJ;d)uBLaXlzJyn7J)q zk4mtL*kQO5Fk-uozjG*L157X!gaf&AS#g1e`A>uC+C(FC=(0&obe~}GSo303Uln}A z99XFD%f&r)VBLAh*={~B)blag+nVa5K@ZJGP4xx%d0dfRAH2-Oivh(3GptyT3tn!X zE!Ou#(N$QgOUz{@fIaN}OZ3Gyt3Q4nU8ab7ch2a1Ht^x+IldrX-=4?mwT)4f}B0e~8fqwOiu zHg+MT&>dM_ZCJd{%{9Z~)iu|HffnPN>l5+o&E`7MPO3n3P*O0!0ay58o#HsoGyNrhQYP#{)9sD)lMtf0xrlyVV&|)b_S4|*l zZ~B%Gcz>}k|GTt}KClz8GC-`P{{)a1P6m)L9jahn)trz<;qmh37T`JN}5NPXun)w?h+V5xnemni61D4(! zJ@wEdo|FYtmJr`P?vtV)#DE0h&=3%X4 zHE8A}RSg`4O0mkyV-#-^bP&lyL~NB9_?hqSfIdyWPVi#W{F=ayw4>0ywO9bpn-^+9 z7+yEKYPEF~%7^n05zV`S6vRK)ON*n>t-W-)+?V^zWlrm4gnmNP5z8cGW0}Bm4*sk; z5YYYHheglY(h$&eH~L!={3v;rITAXU|B==>pE_H6Ge>}lyDz4f!^*f0Sv&M zmdbTt5>SI`Wgj8oAbpW`0=%;t3fP%m*@E1pzdczuWs3i#J*fGhh6_<-PQ{!XV1H`@ zUD>`kkX!Q*WOc(FBnUyVBhQbx)4j?i+6N4CY<*Pbv4$$r7^KzsC_fTQif^+_FeY@O zn9ePApqd4c7UR^$^f4zMFiyx^N%)EjAQp}%MLQv1B>}0-ui!fm7t37d8sr0P!gOFTWVP&+oMyWOT`#X- zcjD~_i8py>5#O)@SY~f>LH}{xH&oMt{#8y=M6|2{gXlIOcaS_P7w~JfOVYk3lVZ0hju#=S~tlw9Sf2SC~KG!9}10N z^~3qz?H*_wG(d2mjJvI!y)sk|8jfn>ffOF*<;tqU%3@>9&GScvo8d|uz*-DFuy;2` z0lAbNB@2lHwAGMS2-p7!2CxU-q+_PtU|e(3c|}g<^d$itE&Ql`zaOOFan7pwEj9?3 zgwiQMqxbM#AjCl2tB0WlnOYx7hTG|nW0_V1M_~lx&Pbtt(w6l`p0;rD5rO@&(;SF; zcNAt|#okD<7Y-2hp;yR6G#?j%5Q2+IAY;6m0|*?Nz~1WCUvtsLf-W$)%S4xK_P-{e zAr{+fVQ&Ul7|jh3hzW9llz7xi$Z=|H6J*tb%kWnw#+D?t{T+DCMVorT$hrcoczb)d z3HKY=?4)il50Qap#ThwUB&Q)GXOrZ>&&#LOcF?^-LNWooNg=>r3=gBd=-VCQrRH-u zf3aF;I#U$FrRX7hsX2p@OV%VWtw)L+tioDnCiA!&0?dH{JGN8Ma(5ke7+K1xeG4P2 z579sm<&wmNTC51(DFPsjCx?O^fm;9&mDES*x20~j{}3>^`J`#6Xkv)A(Og5IT_J4o zKGuz79Rn@W9YjfzPxrx=1k#H#2?hDWL9rX+ZE-VYEU<85ZoEC`8I$^Z5N6|hg{Kg@ zA8Rk2k3n!pN7+ zhnADZ0ic#%vP1I`eJKzt0LtXV3Ou$%a852%N7Z!aL%@;Lo#a9|k%P@SbNVOQEA2z> zyeAqkxk+5&0kfyYe1--W)yU(=c*HP6@b3@Bs(N92Mw(yiY-WlB(k7Y+X3s45b>dVdtS#9**kn)|IRHp1RpQcQbwnlM}-a(B(W( z|0v>JHE=^mWB#RrK@FX4|0?=ZR_8%LN4e$`GKiFF3 zcs5u0wpZ8*;nNUTey*41guoMe6-Z|iO=ORZH8DH;N1894s66@<*|Z)FuH znTs__pd`ed5&;FQ+Y@_H#;pZu^Emh*TWPlNNp_R4ToPX3((($dW>$vHI*TV=56t{J zng*=cF(Zq+CZIh{D2z30%IpHou;|536Rk7Aiy|2X78S_|a8*bof=?4Wa_mChu$8OE z7C6BGxT9&x5PBly1bPP*GUr8nFak*cGMfa*#-m69@W0eV z{;N?vuAHbO23tm06O>Y@9!V3=nhM~|29~Ngm^=(S3<@W^bDHK+uPl(3WvA?X<;FFJ z=*_M-SVTj-7;F%*t{@zA0??oX<^-GvNa5NDs!T&Jx@TlZrwD__8zz!0jw89ZHnU<` z)y_%1LPJm&<=)wTwR#G60c2*kbChAQ14TH@6$+3aEC=A^Yk z+qV)X$r14!X^!4@CAOjx^tTXw%4sx4nn!s(A=@MM`j~W!4A<|8w;nyLwbi3X`ILSY z0A#XlVm(3hcX<+6P1d!51>oFCnBp;8R=Su!co4Nsco5|P(fJYBbiBs$iDV4-jz2=) zxbCvKWGq+YV;PPOc97msk{5exh#qt$7@!=fQzP)^*DJ&s@CU$cJ;x`8WU+*ww%0>s z#lobB9)Y5JR}R1l9+#}_oMpg}N}nhu8)0p9f*{OEKx=D1P3prnF9^iJD|8`O6AE>}9(e?y_k>TEKvrLxt%ElD35ure^Qeg4_Uy-0g=V>(hyox3(O*MYLR{m_7&ta_h1X$)BZ?2g z)NuWUEj9%#lsjQ21^7c^;e*AV5kHZNaCVoNXlZ#C@r{HA7lln&#wqv3@ggF6=lq5Eo?|B zpobx!$fakl06O(T?VxP#I{ujdG`8F87|0eZ0c2{xm=?eZ+kLVJl&1mP^SDbTQ@lqk z4|fmsa)uzEGgIpf!xP4OJQB!Z+}kn40G?+ey)>4GC$w1WTp^Db8fOKcB0Lc$js=(F zvC4h}A?BbtAe5+|Z|37C>1M1KPR{rZ%cgNQ8G+!RG#PdBcDaQ_=s_gC?p5NRn=dZrYM=Kyhc-~Eada5 zoqoL>%rK?8d2|D^QwZ=?IWcMzN>6T+f^Hs|K0w!QQ2a~p?oAYo<&$PYy}u&_nuPS@ zP#iI(tDJ42IE+#tJ`Kg=OgD$(6=a3LTW$-QQ9~kSNyK%E;wKMKrLktwdx9)CGn~jE z#x{J3<08mQA_x3*qMD*F8^OeJcOX|Y7c4Pzc|=9^$b}p^kN^YC+$t{$FFee*KVxZp!@=cKqX!cF!l;v$dw~eyb@ug;J$GvT@7Cd+DBD~W`*M&SlFG1 z*hQA`JcDw8S70va)^gBbtYfb{s;vq<6DDnPTpWq#uw;i`s03*aPK@?TC%GJD=2Ewo zngd8U=3*9V0=peZ%r3C(Stt@G(P-q#A6!%zY`dH!9NZ0NsS%+Kd%C|otZ!SpvfbbU=t=Tu|c<91jp{l)hdHN26=kxXmG>GVg z0m}qkY@V)D#Z=MYqyWkWz9I`z9Grpaf3cSC(r+8AvnDEP>E8Ce_Y0>d9J$gALJ!Lz zgn6n8yIsb(FQcT#AW)<2K9AqT6AUnnP19ZG{RW$W3@BzE&ny5A@D;ZQL>>p|zZn(&S4}p&d?i|TM?3+{$b}p2G z#eko~e(lDx!j?;f2Vn#e;&V=)02WNl>4L%hrElOOJgb@jAan_yAck4WLIt3pOq)Pd z#}u>=do=>v!>Wxbz+BH1z#oqU+|(6Fz*b($aqgBYE{Xbx<>=FxVlXHPF3r&NV4~e{ z(%tG%eK65>7~;0>djUcqo}b3N)-VHaZLu$aqcDD0C7a{^6N}1r9}u^L>Ki;sIuXJ( zWTq?7KZ;)1a|>2^JU=gDPHUfaG$@m>5jZ>Nu)MZgdmdy(t#L0rM1E~!Rk3zgp9sge zMxA*PSm?gUVTlz47DK?D^mRi3d3GxU>H}Z>dfV8!kKsU!FLAX7*}opq?WMF!U`3V_ zL=%|61_U)D*C5*kF%qG)u(SA_gS!NhDxh9X;1{5_9dY0%r*Ckv%<*&&52u9eI+^6* z;Y1G)>peW&LxmYC*^QwC3o-bWp@etd5l$!Rev4KM1T8$cE=DUmfz7}qP*!rFc${O2 zERdBQ6&foPmdJ{n#h~&&QKK=7M3M7z`2Bn!Xgw%gqb&Foc<~!#z-J7S zFi7%w143e7fD;r%Z;LcOV0}RQfVUF?jJKPUfR5i`6Q;BkPuPTgi7O9>$N>x#NbTZF&ThtcN;*F!s!lI1wMid z`b`oIl-UO6f0I0S0ao=5Lf@(}eEgM>Beo7%5}0gQK=700Ve>>CEY4S^*_OT5i>2d@ z*2{-jFZ-k81k(R6I*yu>~h0fcKF?z(NNY#Gt~-AH)}eDwJ+;&~N&9xpD_6Vin-T&IP7~70U*D z;!!5W+n}>?ytcnxTx*F!V9FqqNtJWw=IJ}(%(ztLogOa>zjK)@$6ZANOS`$NbJL{KtLH7eEJnrzyb^i zQ$8YQh1?(ghj(?gWS^M6`?GM%YLr z?q;zrW(OkFZQ?KNjRh&01AQ9)uFlAz(knudNU98sWstKpofC^xClL)<3}s3z$IWv~ zgaAkNP>#}yhSftWf!Z@NfHbH)BLj$!y3-k`8yanV4I5#AG7)4FPK5DXh$@lFNiK=0 zkYAef15CgLpdP}5ZOOrZnACy{LxzE#HASsPnXi%o48Q>&mU(VF2AQst$C z{tDn(CxV5NNERZ6u*fS0(BjMpr#Q+|QhAu#L^kr)WaL4ZgR> zF9w9`Vi7)W!Q-eH=J+uPWSJ&+(BuRUUk0)AQDSE>4o^zrMxu#8PT&T6>_Py+HyXoq zL(XscH>eRw_OPu`m={2TS|DT8cmkU-1PSo17l(ciOb?;VgqgxGpka+Fz=Qy zpc-oH{G(fdD+%M0xX}c+*iYuz?{GB3P^_z7giE9=exa>Sh!rf@&EWy3gBGU`fw)+3 zI-Z9#iSt6d5)Y6t#hXJ@6TUcJ232i58XAb)IY8Mm^aNOAF@Kh1VA_4mr1F@NgHjpP zFEdI|Dx+R9F!SCgu`+qu9i$D2sKCfHS|p=9CBj?8y)|%m8lf$M&CJLU44aaXAt*L6 zoq?Hf_F%?E1dtbNoz+xRswvi+EAu&oCcPu@dn)(RB--i zgT#0br%?ki-XCWc7ZMu@k0mFq%iu&;2grQnsuR%QNYz*05XqJP>VU2jw6fe5Tp?DHN#ENrV&>{M&;4`q< zSZ+J<|+{VXS}O%p;}Z=9`bh&>Tqrt&mxcC!i$Q z!}QJ;YJR`{(cU7Pgy(pY=~FF zgbdE9p?E8MnA|M`!UuLk01xhe!4s{_-S-bR1l(rq1i0|tkdFdI!L9iy;y#7*XaN=p zk5;MkUDGasK;Pg})X^od3c6@=91QpyWAm%S*rI`%4Pk6__`Nc0ifKeZl@}|NgMpQzP-IvWSWYDuxK2WV6PH33F(*sN zj++!N3V4k732ZYKD^a<{Cz;2DjL=S_#T=M^dzfS~%T6x?Mgu?_M`NDcP;wLUEHYl~tvNHGPDPTiyz{pnl$v6{ z#MAV2ejC)46>H;lO^9&_6x<@g()9m2p zV{jwbcQHgq3d3|@7p)lM?U>&{L-qa0f#(4dA_vBxm56~kOyBeZA7YrE#0|sr^BWIS z%#*NmXo>;CIeEqqhX2;K3artEV0*w(Ui2^P4;o9=Zc+AXEodozDVetr+1|6Q1*h1oq&>lpZ5QmFtH;y1;`U+Bfxxce4D_v0E_Sl38df_ z1zU*%ix&X0FN3w*OaWONy5I}<>A~o+wBZgRhP&iQZtw`LiVwVEde^c%9x5|);iYDC zJufu?C12v+Va(S3!Eryu00pl&=t57tUllm57CgF)Vg!vN@YE%EQUWoj&WNEBtF%Nf z&Z!M#gV-SqAO<;>dT}s~qW+4hluA=-&82pyCtiaS?}{V|nP3%Cz=(=Y5IgA8$U;${ z2KJcxG>8MKPm`lU1x6CLH$`I@<>UlgdiO|EYa$3L8VdjhD`Zp1GNWE7V8)}(9fTba zjc|j65lya`lQiH5^ss|8Pu}t>5ZkLMH0-y8ezIW!c)$m^FQh_l6>YuceJ4;Ca<{f` zvqZuQ_A0@Hidb4u4mn-2!LI&4m|A37TBHpr+zj)I45N#bDMl{Llw}fmUb4mkI4lKV zdjU|2-Gt0*p{L&Gyt>VKva)*CTsQ8SVaS_m9>DxJ`SEIZ|d0&vfpsn$gAqECA$S9u3k7ob_?1Nb3*WXBtp^8y=JV z4%!rXw+1PmVD@lX6vj5q`k|L@9;Vn*utdn}XQ&kgf|tEbIjZqn0O!v_>PrC}6fK@(2gc z4^_@Uk4r%z9ffN}~hAM^V!Zm=eM{$=vwq_Edz@)ZFn zJc4fa(HIOcHTt-4`hn;ov!<6G&}N~?y|2IJg@D`HU5dmy$*#5;-%Ez+P^V80K5iz~ z>2sTW|Hg|vA|C=Gr`(-ym_2p6L+}yPzPCOEZu{r=*8Q9vZxp?gQBJ-(t$K9~H2|^j|F8-KRQOjP z-Q}=_p!S*(>i)djl;i(-33FUuUDb}=vEAg@Vqp9NG2z=G|L7PD;%to$Ei!ZaA_~GY z=GnfwWAP7R?9%usx+u$gxG~G@L4o%3uUo|kTTe1U=iQZjSjRtL&9Fc)QEJm>(lvuaRL)7dvQ?!^N)nQjNdQNCnGlfm&B zA9O1#yiM>5k~Yv_Oy?_(xp%Ps%ZyXISKw0Hi$*#nGj8eLDSy=sXb#g!-m%QAy4NYn zpZ6fLB0_AVF|!?6N3Lcmc!^YpbTmd-L_Mtvm_wd(AK@op9BKlUQCaG#_txOrdHPSKNh_9zdUVS^CsBR${_d66RlKC}Z@2N`?p znMo;g5jqMXI$8&Z?E4`%9YBz8sh{{8y`Fnqyo0r z-7nxni%~XP9F5P|c6fzzV|d2zU0yU79MWjO|C1T+=wLeU8>~+>UmvPFreml$Kr!et zaJ>g8A?6F=3!a^E!H60`$@@mM3I1ws9-`X@H<%}e=nH!CG$?miwt>I6IMuuSgz`f- zg_N+)%EU?2qFc7yNqEs=dM+<2ey>}0H%18#QBoY_y>7=0)pC>efbQ8n?HjNL5+wMV z?%4-7@tp0bc9NjNEhYueK#1b=57%(jlOq&`! zx#c!nrhfm?49v>9?3U)@V|3f1)iY_G4X?97L0S}s+|L5$>rUCNaFM{d$LP*QbN=}K zYsVnW%9OAP9;>e~a~A6?GyYh85YTtkvAQn%IxGk1xq;fwak?vV@4Qe~n4^x=k4$7=UM6(mMZWYI^x9r_vxw=QS>GdJ+~=}E3_*7a^3x4vm}MC+SvAeA=)X z=Pr#4z0W=gQILwwQzvPXgl|sL2cTxz2uQJ5a|9Ak3299^P=MA7-~nE|!3;f_HJkOr zb==H6S(oS@hlzZ=?~JDgHd(o+Bfct1=&*j4&<5rf|6KWjoQK zTi6o9h?^DNw?73giL^+d;D!UL@2z!6d82+?Vj z14gZJ8Pjb90#_896GrF>NY-DcJ7?c$u@VSdFj6Ow+ij%2#DBSiv@=9(-kN$@X(~?D zr|A2!6ALz9bE+PtSKotQWk8Pj+4@*hcbabLqa3CT>#NF%0WmK+U3cg_jARew2Z2z6 zW85kHP$pJ_Lv)J9sZ)>nI@Tl26KCs6v-LDxptrJUrQgOuqcD`0%{ilVZ@rsu+WT*Q z8P%xuer$c9*Sa}jv@XJD=Z?l__uY%niu}*^jK*h6n5Fnd8~&-XpVj5BV15q0b<3hf z97kQ#Wdwj`sjmFf(<|CEJ)%_0S%1}a`bAdJ%x}&7wNY!SqJ?MZUPW%Y?jfxE2-J-i z{n7EG&p^lj$*Q7$RUe-5C*$pRrY^|;H_IbP2l1+0X2Bpo-%LAGM^NYOXQIwuScc16 zX0Yn4{dbQuXd2GcIi;Mu{d6-`AO{6NS0RLd*=#!t4NScc4S3Uc;U56HgIRwz`nwOb zZT=sC+s;F4dI<*o-3F3as|T+<&RQBYz=@8=}C}1Wv-@J@_(A^CZq`xsP7& zT-Ios4KU)^oazd|tO*73T%dFcvWandIo zXVd5m*$Nd8Q(5kh%*$gQwm>iMI-UcHn1@Z!%e#YlQV!domv=w&@}o0M?p69a^UUA% z;rsNM+{V5$_)TVK74Dq9+swYw?`&)H^_4n5YPk*D5(0QnXCtfjslS8iI{pvP(0*ZsphxwK%On8{nd!;2#g6)vKGN?P`+yNuEJzod$sP| z+&e_5eNMLK)vI+MeLn#i_K|4hHGe{*_FS`nqAdB1$xyQ-@be*7o#R)%AgNpCFJ>0V z5M*^AR-0LB8M9JE@~nE4TFopRm~E+B>rv`uW|2t0Uav31W_9QUJrFBSc$c?1pE+bt zo}VDR%ZC&6@HA(#_*&hvtcEz@F&vP%xvyEgxWn+RnRTs>YOfl}8m+gn0NL~}CxVq3 zdmX~yylSRgmu~f5Iil}}DatlSOw?WV9x_d(r~sT%OI(ww2kF}$KvuS`^I}wY+V$8Z zW-~JdrEjm-En^QdOQLDXLBCD3Z6j_dX1SpwZU8s*0*iX2K4BJ5)t$|f8+2v<7PgMH zX+ij}8vw$0S=1vJUeU2P>dL0yF<&CFRC2A8L(7{6LY6-Xd&BLlM>yRoz64{I@zP$8 z#r&T9Q-_x|lh9KAJbcsw;{+4owe;*Hv~&;ifuh*j_-A0Wt*z{|n{=xZaf5WpL50A5NB?{l7`|4kq)dX3??$Jk^ zp3`+j)5(*OC3{7xN290X>lw@^Xi;>`{z}DX>*`hrULe~)z0KWwQdQwhEQ+?s z5c7FHMMqB7wv^w8!*4?$ykl`DR8B?hX6|j;JqV{Fo}q*|1`g#R$v-xA;<2e~=CLWA zBgZDvQ~AVP{eYaA=02d$GK*(Ge&c~}rafQ-e7{UX9Kd2D;5%a`D8OwuqSst-0)QKM za+gJ&38rfE&AnRZDEBcICgUxDz4KlSYCm5PWc(t(sYz9r394!{@D81$pJQb_he>4u zq5V|Wa34VXHj5VfMTgGWf4c(AMMk@sht4#t{6l9tN1%rtG?mi`fKSXy18_b8D2K~m zr|C{U0RMWYuF(`S0yRDSd+JW$-wVv*ZXqK>cgsQKz!F5)I0oaXZVEZE;1l*c|7$7w z{aqN@+swlGEo1QjqJ4vF%*fe#Z0n5UbE@Ceb7Y`SqhVZjcX}9)vTBj|Wa2^fJ-U@% z#5I#;`#h%Ull&#*7CpDZ9?oicqlM7GLX_u;NEpj0g(ok{8y^6ICx1|*;E69>_G-dv z@=)Yu>4smApvZpe5fpioMY(PHFt5np$}HK(A&fTvpRwcKxoNOIo&syjnYx|Dj%qOY zC)}@lcel6TW=^MY@jeev!Ed(v*!ActmK^j9kghk}uPO93@7=FoL~U5km+CoeBSkt7 zoTrC2P1l?v|Fh@my8KjSZCKg1dD;vI($sKMfVn)0{}uGJ8c&kaVZXW6`^~M|U#@xm zL0xhRYHH`d%>oOHfFzbA<+b&*8#UWzzqzgVmuuXIba5CBKqiAH3YK=w*QF)M0oI4b zb3IJ~?|Mid$0FZ6q)YgbV|G2Hi})0jC%!|O3UlS^K!CNIitNCmCCu*%gIXRtnzX~shmF(+c%klZOVAX_e6>&yh;CwU=qV1BA;!{R`YzHV zot;z7U5os}G?O&j7U|{)zyI?heR4T!#aB>kh8agc$R~z^;aiO21s_;ki!{fR=?8asUFD*u5 zwtwXmqw4r)P6?9J7VA<*QOFuGNsG)Ie3{|uFH_jTCRIEmH7fPh}FGC&-a$=HV4{#ves5>OQkZkOO6yw z=aI?C`~_XFVCldWx*TnsvI1;bgPFVnn(7Ag&;rj3!m-#g3Tjm1_s=T? zzdJpx+ee6fGlFL2udwuLxc$CRg+$?|;{{M&J`B2*(j)urDtv??&?Vq?k*|-QGzp!QSUYJ{-*M}xOrPfYl ziaA2eSs0JFp}0e(zpwFHbSUW6s_gi}%iG@H1io^GH0@PN%wb zeS?mdeE-NQ>njm(w|bA!S>~AreSmi*A`E6|xdwv{^qR(NAznS!1{t55!d1FU5hxk& zBNSs2nOodBc1Ui1vPJ*Np_g`{Lgc(;)Bs*uVGQX9FI+@c~>)MjVU@_t$o+=!1 z)daD`74r*M>zbs$kzhJy4?zJC8JZd~K0zE73AD5UVWo)$Fqgl$WB8h2yK8__PIAx! zt~^x_CmdHFosTH){w0)rlLKur(WQ)V2*IEPorHGPoL3Q27~bfYz*7Co%&rKv)P6a$ zsvMa5<=#DMnAIM(M)&!@ zuK}}`s$s_(gj&blN=2{g^!0op+T6&@6Bf8tX~e6#XO)M!fHhQ|Ko^=)O5Bw-xO31& zcnKz1xc6%LtGazpFLNa`<&HV9Y*qLctbw;W_j9#h(QEn$XYuuB^lOkVe`LnhWY?t4 z3`pa^lK`KHcIW}GR$29$?w_-brUTgO5qMs&)jbm5riz{#-P3s@k%gKjA`-?%rytHq2lmhI-E=92!JuXi`4X7& zx}TYA)`2_UW(r{74F;kclQm|70YmfqI^E{Kd{JBr!+Tm7!7-UDLhRqoy#uoQn~m#X z3ILOU&)4fpbv^7mY67r_X&Y)~I{qKt-UK|VV(A~Ab7qoE_eo#~2_%q&nS>?m`wo&5 z_8nvqxgsJ&WRV>OMG`MTQ4j+H9TX811vMyWbU;7?L`6gh5ET^#G$=wqP!v#P*P$@Hm>U{4q8Kx^yVza75yEh_ zxMu$PGRPqkvjYum94K86For;|8eAPsU{x^G=MTG+eCLTVAU|{(m30(>WCkpc%6Q>% z9u0Cg_91JG{XntT0@2V@6zwO`=m_2>xhzH<0b+AEh>J&1t5b*F9&y)Uccp$v4|>+j zH5*WP6{-t1b~N)H0^r-gSdJU z53Ur5vERC9a=9ph5goY2_usmk#K^@2>W9nz@mob`S}W>(=U#@Pyz@Ie!V)9&68B&Q zH5QMSK#+?S&zC^F+#&oW?hlah+*9t_@(3erRAFX;MH5L?`KR1I+ZVS1pNI)_frdrP~DRR(L*~Eg&#uXo*c5l_s>Q8&4sX}XhbSK9X zPpv?S=^0$8kaNRuUn=HwhuHix7S5Mm7Z(xjZ##{Q|90T3!U_sTCfWNOCE1`y~<_b8FyQo$0HYU;0(Iw@$(fX{r zPJpzPiLaP=*4u!0g6&ah1>OBw`>)!B6vTeO0N4QjHv#LyJE^^ti^83)q1gb`zD#_{Ze<|HU%_=Q3Kz_^Nkqu z0d(lW-m%buNrL8V8GDE5bg)JL>fB)n&?4)rEsaX7zySM#L_63<*eE*X>4P&a#1-z_vRm{EMu5$yK0VCkU zHb!<|a5oFZ$X^%SZM)vkvsM+41v>PmI14L_usIiD^NbbqC3o{o;2e_|+DvOj=S>j= zG}B67@x#;{Sn4fP^14O%o?K>oKCyB`_+5zzP3D z1d8jIAaT=>C9+mL3vA%7U)?d$m$BHORuXmw~L;iQvV zMpEei)`Az;Oo_&Q+)w_GOn6aR)Qu**k0n`;8RT!b*`sxlxAIUnyyYJ}D0|s=(1tfU zdmGJp*aWj}c$bND4Vbs)3fewt0;)B#oVqhpqt~{)_G1&UA<;ZoR$OnyeAcqUp_Uch z8Z%Fs6~WVOMRoCTV-_;ITWc?<1;`i`Y>3ug+Z(f-sumNq9y(Nu8r}4YNduwIJ%QV# zZ&K56Ra0@bmtF_&V)}aP@ey0-;^`;DgxOnCfVd-v?}UX_!V*5BIv)Cf9@6c@dEV=6L8nbC9kVI0xtt_D>Z^z%=bN@CwoTs<4g8&+m z-6PlCwQrtX%|G0oZ9SpG)_d9-#<_pE9|@La?-GPoT`GBCS{zbVqigQCdc+LS)CnZk z(;7#Tk$FRdp#2e3uDPGSp%9#|2Y$jqdJ&{j0e*lP6oQ8WBz~Ix>8=BrO36`SQjol{ zNZJ&;X^~6*gx&KhvGY&&{lSvU^~^t@vZ{FKFL$Gx<8#Mf5Ye9%$Nu_%%lhWMw0sh~ zS1T2!#;Pno#|Ej-M65?fYHY+ECw5?PB$$idv$ze=hSTHl^pui-Vg(nG2R%JYa+JA> zB2#b=2p$0mRB~^rbisQgN??oA*{Jpb>LtYm!kJvF!6X6~m7r@F-F`p@=O6^ni%vke z0G*(4&pMH>v#zzMZ^&#unZ#aek0xYYqRJIXPS&7V9%>ex=8%_HPR#ZYaH(A;Svgey zvP%mWCl>Q6qEC}Bw|K_MyuqngSG5Hjqr+w-?t(4!ui%UmKRH>Wo5hptPQ@D-!Qv~B zm7;U^V4insSwC+3eF9TB-h03oNzb4v6nm^^@X!80(x6=rgM{ zj40e`W);>qoIM<@&;Ktq$2Juh9IcOoH5V71tX_?f6;BWo80{gL_y^1<_QwSZiVM)9 z*90|5lDHWrKp@X)x;FPFB<}1QAn^~}Y`)J%mpuf6;WT8NW|;WI&8qnyWvs8Jy(G@{ z<0;}YXM?q^qL0Cv!z;^RkA`nJNaIRGMzR%=`M;{&0~mkgiq|8Vul|*fF;ZQmAR?^~ zq$PTS0D``GO$Nxh%gp-_S*#MjN3w=>uI)ntX3nQzlCE;-V-5YW4i@I&8wU&fMX{=N ze{~skAm~EO#bH=95BZ+?8Bw8PqXUc3zx@IT`YEwEiY3)tOHhIxwxbO61wl0tvnYzS z!lT6z6<9OvZPBg*ORK!8kOt@+uTJvF0#Ka!vUsurtKadm3pXlAbrzY9ZQs9}s-l#7 zr$47OGbk=}iBsUh!Sw><41=?&Q2bf}JnlPjXGPXoFWxO)tjOwWOT;G?S+%&_Fxs9) zgPepixgOKZMxNE;dPVl(0EFtM0}=$Ti6UZCcL!mZn5DbXiq^=!6!lrR2S66;uHL)A zfqjV8f&A#&AuFkY>w1^ZlcIR z?Psuc7?qm&Q6MXciq8m)wNT-xZ03N>%e4A6Susnu`Ja%J01?lJ-j$N9SF?5%feI=@ zJQBm|XTDAIJ5JKz9u{}9I~^yX(xLArPiz3e)050YJ<}$TXI!!o>Ip*yZ#X>YbZK%R zJ+1@smdOye55O29q=XZQVJDR3sDg0=flP?Fp11wIW7$GYd)xnc6*fR?yrB>l-}Z%# zFoIYU3d1ZuHx$k(6hq@!L8hOYgPOyhbwD!hAL7DFWa9OPG}VXeh7g|iu=JHFfED;O zNk#zfj4hJ@`u=3EkAl6y1O$4L;fu|Lkk}6Y@_5!n({}hjs0Mn4d$l_IO{<#!0fx(2 zFhDb_06mgmN{{m*Jc$hlR~VJV5~F2DYyv(|Rc`~TuEM&9v{_Y4MPGSj5+~1*^D<=eTdqg7xQYd zk8UedUuwXn_Yo(>Y5=ixOzY+{c*^zxAs6U+JJNtrOMStJ(26?DVsH{#j))g)vv$Ou zj@QOf&!P`SLLIwgXESDoefwBxJQDVJ9J1VW+Bo-9Z|C` zx&^ieb-}X>#5;9a5}Z%#GJ3!L&$_4}3?u5X-f-@#$H-b@em&L-W*wHIK;8-04Lp?O zW>RPu*JG`V?vDtI7BP<7@yY>nyb{Rkf}KJT9RV=)M>oJF4bsgnE8NpGgJv&b{a# zvN#Y^2fAxV=VFE|v*yf`t7AM{U7;cCreA_C>i@L6XoRfY#FT-sb=dy5B@AoC+Ey;L zg2PB_p8&xm4{!0*a<=Zh6DvB|QUel0CKl%&YjF;GinQka?U=sJDDxw7aL1roL?0&< zBrgs)jc?5F8=7EvT1#gsA6QFgZLx@M%H)ye|FNQ_@PDdkL1{Ntv{-{RuLxM8wT;cE zl!sEZSaDXBkE1+D(bB@&E=@0^7ZGV~SueNh49`|E_lVv;2<r}aH5%~El7-O z&ziWe5EO}et!>Y$cg!X^PrlL!{h)f1j07(To9!I(4g}2Nl%OIqqXoH~$QM$g%E;ns zd)9-kAt*ewF;#`Q1aL%6cAALNB8{a`)Y~n0uI0XHxqB`5oaIKF?0~Oamf)iXO@6Uujr!cUc+*4>B3&6ww$qG)>Vb4T5fl^BLj6$P*^q- zW%h}|>{TZuTER&&IH`Pak`-J-2GbF*|#(*5qF4!4Ah-neCr%*AbUv9umiUvXc~LcQ5v3ycK1; z9R(I`SOrtGw|lczRTq)Jl)tQqt7Jr>_hI#;EU!G})vgcwAj-nZv1}?)MD=B>8e6fh zNiX7%mdF0`9#*2GeOWC#>r#~u@5dTex00;^f|M4Cm_i9*rc~V8kG+XmKde8!d$L<} z?9Zl07e2llOaOLYG%d!UO~oQ}0Bc;`vX!9Qk#P|dgesB&XbF7jaS=IywSbId4qy$U zbDp?q`Y6j{0+NWi;R&&A087$09~55=VDXVqOljC%#tj{wlPdd9(QhEDk!elo z6{Ma(X~`Wmi94cb;+Ll(I7)U&E3Zg+e8Zms?z)#{HdTsGRvyEeD7mD+A`_*T}xYTg3EXh=V;B9HT;%^)oJ zpFJdo4`M!YA07l16x?-#SY2`t4q|cS{x}HBXSj_9v#K?oC4PqiK)3s8W*BL)oZ0CK z3)Y*RrkaQ}W-v>p$O{Im%-$HxS|*fDWMF}jo@%F9F@(iZf~rGU7jj1oVb!XaO;8c{ z!s7NNHwP4#=5jFTa6@?wm#V~t5|Igtx1jXUL%N%^S80o z@I|tNMZz%Fz#eA%ACp}?WEiVi^%{ML_J64g%o&F5G~gj`7#K6$eZy2sE)D|+2JE?= zC9`98Vo|AuGgb_^9WRg|?7`bvI=S!N4vq)+yW3eya;ptjaHrv{O6GP-ORNTB3m%hr z)Pihwag02q_L%HiO6_3C_TlEW07M767ugxvNmt1h*g5Cf!O2?BC@0-g=H-~VMe%TU zdtxq_hE)lOPd#zl7^B@B+}iBP3KPBl#p<-*j^SrEG)rj|&WCN0trrfLgIiYq*nWi3 zwuxDaFSDMRi(!n&BJW=;rQbEmAW~**E`YYq%q5lGJY+Q`bkJge;=JDLU<9-^h5c8I zTr&#;inxF@N{fNV%Odd(*0>L8z5vl?95%2R{$R1VBw^9 zDCy&%LL^=X6`x{u61T+6h);p(IY+RezHdp*Pp{xvP1pz*3rDiAqb1jxV)5VzEblIh z0e7-^@$m>|kiC7F=rDpM{-?xyLlf7mk91HJkv@|Q-bk~BvZ#>KV!{`#>%drPUAIv@ ze2G3X#(m4gm%N+ z@EL$LUr16Bi$`J6>lZ(bV$W$Cgzv}j%3{sk%$M>Sv^WhNxnymR&Dn;ImB`2src3yc z*C=lKQXC({+Eq(-;c406wo9N#qbi8a87w*0);2g{y^#xoE_ znksC7g4Mc^LS7iR7O-{gfM%`?0H#$EtZM01O-ULqPb=}wXjX-$%il(`uE1J{F_6>W z79+>7ThPAMV^|_?`P)8*`E=EQ_QP*hd)SbBg0^N@*4oBh!IsKt$ovGj3{-A!08o_^ zGcs6Hs>}Ke*5L0EQ8hE}=J`Y8b|sJ{%7e!3LMVJX0Ne~2PI?UnS5ac!1rD@P-i?{% z%%=Aw9O?nvNifJVODC$mNgK94L@}FYnAQUmzOkf=n_Tn3DEg>(Oe9#>l z302qz^@}SL*zLHz;?{|5W}tA%X<`D52G4wl6n=Ih8xSb`<}t0pN8ZO0Faqb?2jw9~ z;GX+f^Mo6yie`i;O`!#Z6(ed-Voh!#>RF-%W;PdQD5*sxypS%Nwhm!Jj;^&~=#=rT z!o{*ltY<QKx1*(;z4SHE7^<~d^-;hB>Q0ncV#ly&c``OSI)%-PvXnYozM&N2-l?p9 ze1IY9iWpt=cBkAA&6~;^>G^r$*i_ac<_Z-;+C<<1d>_&qwpwdWV}0tbL1siTH}8rK zR1~H2oDeIgv4(*@))j%-N=uq!L10IZQFL);8e0%VjNCpKS<|tFA1jKdvtDp&%z!F( zhiE;64H;n}=4c7E3PsuKtkbrKjR&<0PKZ{=k2am6s?+f!5Ib!jsEN&sFO0!02t{3f zoWZh#bs?MOo#LUH>|dzF;DAV(7Lb9B%g{t&n=#(WVn2xe1zz6C=3s0qdrj@E>6j+H$ zU^+_NJNms?^B{Y?Ng%rQ1fCTgX75Dm zIz2dzac`%(^k1gZZjvfS-1iXcW)N1x6jsH153!-Rry6Kh7wI}}BufItEhDClvzv2c zg)=c^4jTqUy*`KaA5OWU57G7l+A)A7kuIMmBFP$WP5!@?093r=5>I8a>S9AC^Wgp< zR{O31=DYz43lUhP488YkYiGO zp2>O#&H!O}SZqc)ifd zuZlP@AN$q?LVJ|ev+~9mQInyaH-->RE(?B?dG~*mHEbq%qwEn3ENde8yL4(I5U)S_ z9~(F17>b}}udKigjVqBAAg(M+ZUAS~nSV;K1);#k;}hw767_`=e|+$*aQs5hlh z_5RxwM*|gan?~A;JYzUqE#GS0TW*zgF=Y3Ie5tg;Ely0_& zO`!PCFTxV|1956m*{BTndm?HL7bCOk2~Vcyk!tIB;SkOB6$M*d5fSf4z=XT%kCa!)~{?E(=7HB_NK)LVJU?b6bT-&v^0n z5*99Z)jkwSOYsJ=72`ch7B8}vvPcy2hBJpW9I38zLaY8Sx zYg9D3runC%8>vA&e~Bj$Y#0BYSiG4f3->apt$~r|%UCA4`ODY@g&Fxa3gNNAa@L=M z9$wCxTPP+wOhVd@<&yW+UICMe#iIK&EJZxJf_bRwxhq&FwD{->)`Svs!A7XWcmhau z#tgx3r=Wv^bqeMyJEM9on}pUqkqb%)w$8hf$xFJ2ti-+9e~FnZStIv`b6B6yL5bH^ zvQ~-nTsq7|@#c|BZM{;%ak&ht8}2C-f30LaR5eX1_laj%eLKCxYBllsGpuPiW_nEj zB4;V4{^V!Xo_?=q**H~4dK6G6v=ltco={%$5fDjnt5^@pdF?9J+6uBUb!wGli*e7f zhp0u%pJN^4igYtPvIo9@@x6`TA#%TlH1!Yhm_cI|oAn_~A|b3?_RT*ErJzq3eO99qMwCfE=zKj==c zA;4gj_?diQO}N&wdUpH*(P}OB>`~*1YbAX*dX=>l+t;#quiX=SUAXCVIo))s`XbA& z<*#emovM~sV3UNK6L9eR1=c5qR>JZ%-^vz7B0#tWFF=8g7-wF99_%ks_eEBRnse)m z>@LD){)-q$MdBMcvI(5} zLlXG8mn4A?eOVIt1FwR>-+5UP_}-T#fxFi$0&ln8CU7#rlH6w9dPU&Z*V_ah;5NNC zNCJO%Lm2`e@QNbv`L9R8SD`s)4#vh80-(el7 z8qCjbiT}%qi4^u%z6iLSBGX(+Hf?wLnORk#!i^O*S*U9WR42H%_*sf|KsW$uN(2v@&Dx%Bc@XnV0Q z{^eF!^ZqILyR2qF4Pz}4JG{$!)FAOE5=m%56G@9cj|E1;h2Z?+yUZLfmlc*_GdQ@j ztg&F|lEYGwZ4cNz{j(tyEmti4lS(4`ZDT{w*mc{$!chG>+gVfXinx6{8+<38+=le0 zNkJ_rpD9hs-^ynJRf@fHuF-pZ89mU zZqU%__GKA)H;+cu!`PCBgd4?AJ5jx(ftXhHHj4NH)|O(@79J^~te9CB?4rxWtcIAh zb7!s!gj+3mOMF$pT2VOYSU2;_hv&<19Ol%N8 z(nXo)$bn*#YJ3IXo|PhTHzwd0M33EUdS)@~?yv+ilOtoPGQU}1d}IuPPyMDs6Cx`U z_?iV)kBlbp0}HGXS&6_?7FZj*TL2ecR%uh!)hKUSU~6?7${7V_nsw*~6y02MMa6DI zH=yX|M*&b0;Uia7Xd^P=*UdL9FisKGhZa~-QO;);7)ckH=;pT;SY1)Vp8=41ys4S{ zyUO~YLv`#A7TiJg-iv>z;I^u>j{PCd>|r(H4rBDxgwO@t(f%!a6(S0Nbj<2PPB8m3nOK_C%PAt|Njp1|#Si z;oz$HNsgqH5rj@R=<1+-HzE2Nbgkh=A{oaO!`~+QS+9Ir|={>30;E+#&8g%4)%L@ln znYMo>aDaPQF ztR}$OCoyp^6R(|QucqKO%L>q5n)_j12TeKY!=c49Zr@r9>L(K?`eLNg%}!wdL?wxUOYtb435$tZ`r}Z%}!`LNe>a9vM*p zS&Dp$+Zw)Ob;vG|xUCmQXXKl#a&99Nn{^At+V5EF28clX_hu2wW%-%PG8HN4O2zt4 zoDWAvs59kPSiT0Ii$Nu+6} ziZ4_OI;$lw!ny>!;pT80&cZYRl3rwk@+8+21j<{p_gK9_pgdtnWNf}gpv;O+a|Chzc?^$xc8-p=_U>Z?($I&iMDr|j7hJ$in5+JGlL4(kz z>kS=|B#vW41BJk-K35$4p7nGuBParp_Xn07UGgMV067r#V4gC+67T&0wbXq-Fos$@ z@B{PKdDcoFhTQ?#=|p8WPe@1ae)xg;e8*5x)InY5h_lmyVj%iZF~>yR)2wkyz-);~ z1wjP%~9sLnwdbMz#VR!IN)HYPq^MV+628;Fe;_)*qx#0_8@+oUm^C1i! zNBxg`=5+JV>rT&V`gGDHN36-SUK~BcYI&Zw_&_0YBt9Ub&a$Li);+yjp5P?T8S;Q( zRv08LTrMS_3vea7s{1f35taPhURQM*1e)hXG43q*O@UZ^mUT2}F=K7IiqFonrcT^; zDwdqZlHOa&YL*G^Un&=~vr1WhmBM}0`(P+w-B1eva2?9}vE5X)2y91ySL+60UljYC5|^!Ah@^ z{=^z)yy`OaH2N=tF>~lsi2$+FWF?dsv~!692LS?SO-Jt~vQZvA9I7F)d9-McW4uq-Gf_=hJ(Q~<$a(*aWR1$F>NmZ>T8)sel7iT= z#X+sIUr*Igs4NGGtg`VQtISH3h`2HpdCD(n(&?K9AuOHA7Z@nKz@}E(dypyvn*^^u z1N8tFyIo|pZIt?_Ut~`0pU{}|Gixx~LgRmjM0ux80Eyr*ghYqk5HHj~R7*6iOp`>7 zUs%iJJQtSonz`TzT0no$x3nuP6FAVXMMdKNUszJ6jBvdMhJj{YuhF+UG6V`FItg=S z(TPW=Rf(WgiB7v@uLi>Gs*e1(0vEr=S%YI>U8Te!=qZcjwn zTO?91u?D(T#ep}eBH0l2M^wt%%tSp6n!5g;WWe)5G7g($-oM0JRg&E-+h})la^S1;wmaH+Zs;&32L5ml}$~vvz2P&@L;|UyGwBoU2xb@zPMZ%`G(v1HvFCa zOXW)k6DZ$hzvFNxT37Tt8&B^Wcld+7N$`a~LRwq@8uL}M3)gysg@mF1#fWQcT(>Jg znsx7mN#8)AA~^FJAo+)IO8gE(p(oKQVLV7vpg|B%Duwk zHK8GS1dtDvx*-(ECxCn?WK$@xodEKokS#VqW6~@nh`b0W2nF^NKt2?*Hxwu)fP5&V zC=@tG0QpeJ(NLg-0P>-bQUXq7TF{Bmpi2atwnE4?DVP#nBjADskQ<1WO_X=V3L!TT zZ4rfJ;SXg%ZXnvS!+SE(M^+HIfq1J3$gx7m4MbZ44G3x z`5{RG<>nNplg|!5{7xoUc=&yxll$=S`$i{EqYTMRFvx1lXBbwNaVNNV>nbG3fPaO- zV1aN)D8L^v&cz$myZ`|F&<7^yh1C<#YgWYTh?0RTsRm4Vn~T?pJWaVsfE$Z^+o@1KAlhnc{pUY3l#wg_vPlei{X5Y_PSUa!8gI~x3iny59eJs zZ&h`E&hF49+fo9tk`xh)r)Zl+ea4gYYdNAf;|bp9aHQO`Sl;AHD=k`wK&qfiPfC#t zqV!{o_w>C9F|eV7WGnhIVe$vmdg0(WZIlz9;v(b8nX3e?z1)PaWsv=)#kx0O`${Vl zb-n~hg@VV-Un--gNE1l41X6LZ1VV6xb(#(>n0P@1geOU}J_@MfQ&!Swq zMgc2OQc24QX)*#8)B)vSmDvLx*TeyXCylWZbf5%AvJ>+#78ai5Fq(IwX!yjd2k87vNgRa2FwiB%Dq$-@&elP{aeg5dj0g=2(LRJ`w0c29( zqP*c^nMLa_4J*G@kvxHKL>HJ&3Ga^N>ESsmP{tX-qj4 zM5aaY8TyJB#OWxWpkG=d!YlBZxcGTa1)fbhOuZuS%nDyZnsCp{VPfqLn9q!@$m6xW z{zoeEceKV^R-&l0P>Rwf6%KDD6X{3xtd32py@4Qy*DyCo$bU~I-dEF43-NX|PYYi_ z$XF}>h~{@`4FM+lU7-PN9ZV@OtaRk_ywh10z(CsQy# zXXl7NQ+V%8TMYtD+6`(D3{!A049sL_Kn(&A=S*xhh|5P)sbsgBkwNBpI0g(3Xl_!B z76TfTN}UBV0TPrsI9LstgIC3-mH4nG_k~|0Ci|l}Uy~;dDnv@^rR(??F%>i7BDEMG z9714CjTU^|r0Jw=dep#7_4( zk@SMu8A>U%3pGL^*~`V|+I(m*&x&<;v&8J>R2N&t47N&@HTsjNfpgz?*5UE3gGDIS zGZjHeq_&!JUREX#qq6c7uh-!T5rkT^@Sr$^oT}#lt(Xe24yP|U6-rd&j|fZU^)mO% zoIDum)?{X*AEFAbHYdcAU?T5zQ-F^gChC zA9|V>*HvPMG7At%YL;Jb&Yue}Kq;7r2Dac=!!OC?Vn9pYIz~>-riQmmpxnn$hpkJl zc(x_a#(TEjR(xvB{YB+Q$NoI>py7@*8)WFVvcCIOPVbiWJ-kNi4ienDTI9CosYzR8C~4Lm<{k%L z{D!>YbD~LPr;;naY0dwgasqJ(3X9@iM+1jurr~~m+At2m*1R^nOCzIyKWVc`T7pHOI$BU^;E{cL7 zfGB8{%TUJ0Jv;JIRd%_eU|AkzSzb1Q8W+(Hh=PthNjoTxcjPVa*+)@iX4q`2>eU)L z5=_@r`Z7P38B;&Sp#?CNqG+Bs2&6A_za5T*k#VS;suE@jdbcUg2&tKP@D~0Rj;apr z#G7!d!X#GabmC*U)kfN2_^T6-=ed+GPC^0prSXA4#q>1ZF*Mq{X^>e$lATQB1EO}h z@a{yc(ywQVljFiF$B{Xf-L^z)D9U`tnLIJ+fVBB*5*0ylfJ*diU1u9#6gtM?IVjed z97i$GI}ij3|G4N;(oI63rBT&Gnn=jUY+M!z)kBd$F{&9L1-nXmHS-f{s}!k;++_ao zRwmRRVthIb$@Yl{(s_s0M7w$ViNh*eP0KzKL)~g+cvs%IIDs<&lLW!VJS6(Y~mt2%MNbg989ZAxm zrLrXiW6f^KzzdL%T=&?SgB%GT#NueAQu`|?rsVJ(az&AC-zSdlBp(s^YKZig;as+Mw-MMRd(WRS6;h;RekD-C^<{eAvVd8><$UW5FNYmIDU*uksTsN zcH>F?HiRicL>-{*HW$;hsOk$akW(-h#Sdu7tZbjCoM5QwT)n-!oZS7rzDzJlJY&BnJaPuJQ5h zS?M3!i&t`nEG3CiN2sNw3rk5@HU^fGI#z3HDJj{BY<%VEwmG_(+>L|mS|eldhM)FN^ahKa}j@lY_E@Vzer zS}VT3jUU9IZaSP-_7@C;xP-e#0koIP;7NDzHnbexa0ed|ep)3kM)0@euE=kanQ$uw zBtkrMr$Ud8;N5Cl^r^Th?)^Z2t2v|0G$y*-$v5-eNT&vXxPB+Uf~s5@S$6Vhc30WS zW6fPzL7Wa+j zajEMtEF>9qjf$lPOH_lmM4K9P6d`rrIGQI{46S<%UO=sw!K*ZTg&K^74RJNtFv=Ws z$xvM;NtD4b$`jZ;Dr%46&1#3Hvu6N1-Ht#yF?S5F?)g@6TQ!G8;CW*zxmRco_B>(d zpyU!&t4cITsN_#wQ4ofSnlJ@cv}6;CBUlDcC{rVJOqrIDM5|gNdS~E$2a8Lp8X?5u zk`P&o#GVY^Glhg)yXk?-Q-gD5#U|zT=pT>$!o{=G>iJT&(IhCB6acH4zm;vJ{g;ZGe ze<9Mw^H{rKG-gKW!WE@e#H_qKF0=SwqcpNVJ?39B7nH6!Nf1q_RB#D4(^H(97o)6Ct=@lAJ8I zP7Y2MXtUt=^Y)_A6z;Yuggn!x@CorhQ(8G_?xp;PXibdfR-ss*vDr+e?Yv@f> zB1WoOprcCHJcrSh>6*{Lw2B4nK(KFFOE4kb{7@lEp`3;Uc)T$Hle66rhZ&T}#PF#+ zRXZ%^P30q_L+V5qjZ$SUP32RYeuAe-@Gv2WHA3DtJ^%+FRc7cHE0M$&aci&PIV@I8 z<0mlaADCVi9h;|@ojYsH2+o~^ne-XFhjvIToPixfG%?70Dw-#$RdP}g#WVOH$h>G~ zFmso}b!QvR1Ov_SV#@vKCkvV6`4r%u$XdS%_UJJ>8+(Y0exZf!KVt9P{XDhmVUidP zxw7{hfl8EiIvk!OqQL{aeP)moK&+<$7Fa8VOhKV*17bc<$Jm_}y5tE%5J|J(OFrB+ zjYlGB+QH;Y3-Zu{4AN^rh;5}Cu(YE=1#7!q;^G5kS(9fLPxJ++WHeYOu7m6XtdnTF z-z?tHMl8YeXYuA$tlG13Cp^Pqb_*4YFGlxIUEdh|4-Sc7Y>x3$hHEKgg zUm_W6O}#91RHa|nEd?x~r) zeJxDVn2{|J$YDMgs4OiNiLc2b4`uSSlpxy)BYa|{fZ9}+U^gny7FoP~I`Wk25p@Ga znLHx`d8$ztBF#HP^de$&7Ei7j+V$!o5+ZFB9NPDnvv@OZEkdEr63rjs_f!k1s!T$1 zl$vw=Z#}|2bl+a#zj=3?*reE*Zz!oyaL6ZkKZYhcW43K1AKL031dMg1r7~jSfmnz0aubZmt!?#!Trg6K0ey2 zyc{^Ry7heK@A)V;t6*`z;4$8!TIi%tDp1u+CPaMk*<&D$9pcZ&pbUH;mn-o8;Yy+x znG3i#lZ1T-3HwBO#PUo_o2_HB!aPAs;=Q>T4fAL%MyqPMXpjZSvpb$0E(jKn$b|;c zzk>=5LyM@IL_-kUNFNpGAZi1=2uTQ!l@ZGHAYs1w5K?T) z>IX^C*m0*$RQjoo3wgDOd}L0%;m(D;ioM2ta3N2tgjZ+PCI5@oBL(eQf4q>#_sf5! zoW?y@dRQ9w(*We21}8qGt}c;h9I{^BP2GacdVrdF1@TBXA@gjThd^nFt&9m^>lB)2 z5kh62)j(lLo3HlJk{x&nJbMxL*w=^YX&^W3UU`$lpi_VZNhOHAi+GdZ$t4}~*iI4t zBv$sNqQ#Rio!KFVKFO0C;;aeTQ$r4ggLw<=4;IhKxLq213D_%0cC~kqzC|BzKAI<9 zdXm?Nt@oiPd1K_GE#`5^r`lp(7f_eQpyBmm-eO+Qel!7WPxmPP+kyB6c8qES& zA+hKL+G#e&90Q%*ve)pv9e*UD+BbL6ds3}(_$eG9`HwH|EnC9-#~(XLh$S0+Wjs$i zQKTj;7T1>WRC+cXtp#F~1$}OjXt|WrtgG@Lwvi`3R2wlkWR)joJNh(L(E>ubE68rMg63@ zDcqGNo>~dvto1XzN4WGqE9O7LFRAZRk@+m2lv%tHeWZIXfa7SU7dyeI@iFpqS$+i$ z^VaZe8>3Nc!T7d`!)q}lx2<@A_pQ5qx7`Jh zCd^d<2t)^iY*3zV=1EU+{|o#Ty=0H@y$HfMwMPtjkv~T8H!t#rgZCGp0zUHsMO9bf z?SV%Pa}6BnQ44&;8{8Sq1xF#v3v^(%_31e$Ih6xMVrn4pJTY<|Z>i;pw4Y~ z&a(CVjmY2V1P*qlW6aVIME?yuKH@hQovPDC|K+@izUH7k299okvh@!!@D*Nb`1ub& z&kgBv@gy3art5yQ;#4!}n<#zV<$M#QZ)7>&>e3gthRYm8(JMSgKmURF{uN#)deOI% zBL?{4;&0d2c$I6~HQ{}YxB6dHe18zj#f!-0dWlQl7`vB-y}^C8gU!dSGSH^d5zLSt!>O9_=HhSt&%Xf)N-r+* zf4GSc(<2@OahlotMD4eDOTG9bG2$)WP=9=%SVZpWkHogO_z=$%VW3JFw|<1UIw0ZA z2O1ac6YcZCkn_Z}eBRWTBiS}?Y^LcX%sh(7H2H+7$tTQQA`0_)y-H;AP|;yNfeFH_ z4;kUSxQ^7Fv*d(pcuFjX7KEW8kqwJn;@6+SZP? zKO_kyUn-j&PUanyJU@^e2N6~Bct1~zu`7(BP2(Hw@m%)b=jZvFp0!V;Y~}OF-LRF9 zQ(dxTpNM;xx6+sH69eAmji@U&Z{vN${&!&=1Cm$*OSd0^1!z%y^G)(?8fJn(l-q@B`4p zc!)hT$ekvqx7BhEII_}99RFT#YBS8T;jkKVrx#>*{JU__p*uZm_vekX)|(}cDK}<- zT`WY{`^K7DDh93?qB6v%J9%xY)1N!}t>g|YfH5uHsRcZl+~oxr0&x8Wyf?Y7T|9-{ zy1RH6awqTNspPKQ#T(UHydSidVCKP*{J#ol2_`=vC^tR5W)g>ADoS^8x;MJB>v444Hx^+))+5{PJ_~ff!o?HLXW4}2lKs>aYFGB{NJ-iyr zksCcE{50RgYhjwZeGhLTFZrc{wK>=b3isrQ=Md<_o)|O?5$nw+)7m*QOoxF}C@%Aq zWBhotj#sBMci-)SG_zdvE975jD@5x1kU>|7!SAEKD};C-s;m`a)(3oq`!t9TZMp3K z`U7sb^n(53%syTRuD|lf{54H~Buo_S=dBW+qCpSCB+#L<_LC|hnspZM6VadW(NT}k z?bf&!2KQSd(Z4_WPl<|=D5*>$^TOT&vMMypYxtmCh8*B6{<-Lv4sZ}}nBWJYrCCOm zMArl=DfI(#Zan*en0^oh^7x11*@L`im5rYuY8WPMdARRQg1`^f|9%jY)9?O2iXa1q z=V0=Jy~}~aJR@!kV%R1$*gV3p-79@W?<0Ip!}pKuc0fswSr@xpbW$0%+Yp@5nbMzh zE?~)IIOc-U)TJXBcrA%rk=;xQID-9s4Bt;%{$!21%=*T4GA$6bs8|gDjNg-JN2e(E zH+T_6$@x@#{Tc5TWqVVOOGJ~;!F(?q5xqa>{aO}&il)d*5L}S1rQ}8}!Wu?3FpOSi zbV+^*37w8NY2cIxKIiSV-vvL)f3*=4_67e{JLmu73*O18ZS}YRn)h*LE(0pmj2H!y z3__8BE*(ag6eJ^1)ohAsUB=*2kP@a5b6p@8G9bR97vj`KoswS!PBvdNC`;JeExJHP?`eb+snQizRo#J7n7isZ5?_LS)Ae?q6UEl^h zoyPj2@A+TEUl#qK_|WS=@H+^OJgxXvi__R$CV~N-;K(jrU4X&t#9;PMIn4)a%_T8a zG1V)rv}*lQ^d52fN8VNcagVs=3<@cgZoJ4m1Nu9) z$N%OTK1$OU^wFSGxky5_;mapDGDGBBUh{%>~jJ1$i z(_9Bfd05hOzU=`nc?epQ_Yi(oym5~2in_29N#e~?8ACjLo+oNQi)YXC2R%Q_t82*M z`5FbD6}5iiKJt|-N8H#!BKcV{^e4W}LtGEjB^@j_S799^d>8nzF&AA@0}7)~dE!`~ zV0vblo|zu_lTOJ4(@u!h(m>PU^-O>nu5+sAC%KT7X)rJ?FW9K1>P5P*0%EVi1rjRD zHCWU5zrKJKxt_PtfBhogq1|oaq~uK-1q(Kzfr;j&fX5c{NHDYCvSX}5klD(-6!0kC z43E}kNx1l!mq<$2&?sM$RZBVoiJQRa{GnWT$(Ue1 zxiB|{$aPWd{|$EkJH+?DLGf_WU*$6Iq-)#!L$C6EuBwGpD#@*McMaWzQcNDD{?>oN zM&4Sq`g5*>?6hsmPZUMT5y_jU_qEYSA#G;e~xFdx-gayNpsfirR)7_tPla9Bxd)DDwLv4BXsr zk;+jT4RUE|k;>_Sheaw^0v;BrY!8e$i&XLg9=SB08k&3ISVNHbMxwcBqva78f=+a^ zf1TSHq}zk=s7xeWhOs_o5#=bCFPd2iPo@wgb{fXD>iK)YR@Av3`XaMMa~0*jAWVD~ zX>5Xg@>rD75zhN?R~#-4!|_OF14 zmBIc73{T}@VZS)wVPU^GFqAFqFOnX9x5s$GCC4T9tMDKVc7oNo#3jV3kVIrP^25g` z(=Iht1mhB$e0WMPPqX}>(pR9$_~)>$wr&RU!)?`h0z6lD4of}c!xNW3I|h9 zPBNrZOg(U`h<(XMRT|0PB^%AE%K_;m?FS7=2x5AmB+(?r`1^&~&J<&A&GI@D3;>c< zK!V5+v?Q;d7**4F_`i#(*D@Ml%5PlDxCPFnTE+`^{Wm4ZWf2b4V(qM38XO(a4H}%A z)^18|qqV;7JJK|C5$9@S_W{5kwT*av!*@#Gu;x3`H`EcM>ln55O(mpss8=<`3{^Xv z4Y$<}`|B9>^;Kt8b{$iZ9f01c$ZpM9m0j*xmEBvZ$nMfvm0guG*=@s_f|EpMBB8Fa zTifD4Ue`FKX*}L$iL>{oke; zpK9V-x>0RK7sDf7NjH+j)y_r*v9X&GA&z%3`irey0lv}|0sXrhOuW&>NE9u)7{0jC z4>W7nuJhzcGp3CiJ!5FbwCUp}Pr7^ZBD{#JXlSZPrEd`S>276 z{ti8iMRK>B8H~Fj*pC`lpFWy^N|+DfkR}E$wBruhcBm3*XKC zU-mLG^{7BJ__grg)7N-b%WR2nD#3*xF4%Ik#;*;2ZSe~Y1LKfkSk5~-lnd)p(I7C)| zFZ_m#n>3?Ui?aFj6K#eXO*7AS00oY_XWZyfGeCw&Jbm)aX`?fcs6T!l{HS6B@Vk4| z=m|u!6c$?OK)|Wi-{z5sIV1;`C6XPSg-Y zaa+HkBH=b;LW|HYz70VbFDQV9N`JWbOq~3Hs)b$3FvJo4A2zCs&u%kbDudPA#e!kR z@t#y?DumiI9KX;u{0nf``=-p8-EZ=YzB4Dz7&m2NhB6#s4r?Q&fN>pt>7gr}5Jz|0AkrL4(C89@8pD}9M3}N19oEpA4)#G4@I<}ohQc?E~9!cT1!KExF zz@;qbz@>Qe;YPt-YQfLKr7FDzw<6r#aETiCbr6qCGOASj0&oSuKftXF_jkC&IIDE@ zZ=QtXbqz-X@Zv{_?!qs0%!~pYN^5tEn5o9o{IN8TBN{;~)5PYf#yui=G3@IOybkui zdN%s1gNe7IjO4nb5rqZ?{l?%oE#tmX<0g%pG#1~XVHu)i8U`zQQ6(t)J&K(VpKh4m zgmjPNVfZb=FAP6SKchCm&n%d~%VGRhNz|BTB=|p{ZY*#{|IyXs7>77(@guDK(N#=+ zz^Ki$yD2OIUJF>y?^bgIvw9L@SCal>;3qoe;R%dNdBr1>n_&L zGA2cD?e1~V2p^z3ByP8M7rxoRX^$SF#vtQveM}FrW45s(vsF)p`<`$O#2*ZovK!Mw zrN0~BvSk*0Z#j5UIe1Pv_}}H=1!ZAz_(7v5uh>fwNK!9h4l%0nCV+{s0QYm_R z8NI~phm7%j4`3g{OL~c%hmEeH$pQ#OS9*!QbBufR0vv3gW7O5}>Mc&p0pZ)2Sc%Sy zMA4Z|G`lvz&_MuG2C$9obt#1nq5>?x9CBRg9A5*#<_ev(MMQc&=!xzjZm#x+3yh{0mkeB)Mq-C(hQ zKDy=TVBvbyNXJ@95Ydfcd7<;f855_s2>u=xIQV|?bdVTwAp z0awZJx8WZF6N|OsGv(m(fV~K(iJRtAJKhHP6RWo2hX50Yv*8t1Ity;^c)VPKeNKm? zYDj`(fQcpA85{<(xP%2?Xf*3*`8d4&)}2(5oJ6pd06@}q#}{;cVLj_hgJB20OapExR5s{PrGm2^y%Q&5E3#bj`7}g z7ySEz&m`e<-$A%fTsw{)=-SAc8+RWJwy7%K%f*FR7WMDhk z9_FL1Ma#%>ko*yje_37bR1=*YW=+Ln$s%JUCc4Q8z7z4@!mo~a;~Aqy&rmNSP#fNk z@8;#;`hZvCM+8XCejdLy_^rk71vU8;Ei$T!51%wD*6lIU;~<`#fS((`(1b4nUW4Dd z|F5fS0jsLY!pEBwveK?(N`Q8_DH53y8AHUFqTyf+V`k+TB^SIT%Hw(g1x;Ye6nx|( zagmS2HyRmZ>cvL}qE-(13XN|*GG=nVk7=CACM#w>%lX$ici+x%KbLF&YpwlWd+mMp zIT>gt-&#p-+xaG*`vwiSRW$R4H^^n%n!&wRQRc9&40A!rQ-t`=L6DlTLr8l;jpl?M zMpAwrQn8~$k zX}Ya`Cf{63LxKWbrbi5NnHx(Kuy_QpY%JxeKKvrMbobe!?0CbwjL1Es*gd1Dz}kop zU}GM2b6v9YS#`&OlRX7_{xUL4i(J^SKZINjWfRgyesJUs^7pQpe|(c(w&8G*u?~9@ z_@;Ff9Z;8T*TT&4>sO7-l-6vHsirZ)-PIK8IDvAMo3tR^3j3G9%Rxgy*R#03nmpx= zFI#;cQ|ZIX$rW~DUSxcXd9!e}m1Q~$U2&rm^z>QgNpO4tPSgu^-Qmy|6+tFzeIYoC z(H4Ot3W}e2H?PM9YuZU5i54=Yr$APG+9&JCv1{X<`EnF@J3WOi-Q&XkSy+T)cuqbh zzxQmrHW0R2~`j>K9y* zZ`Yhqgn{I&P?68wn$g&p?R+6$7amf?qqotR(D)*|aap3O z8V;wG`RwxWifuF{s0R9RChposlcH|`KW<>NX*GU(6MOxb)3;M(z^r0;s%5x4w^NX< zvY4-J$FpEJl=74YJah+@OVc|aYN zjhVB+Zp1*j2*L^~n1j4qAd{wdBHkO(0%bf6nhJUzG#&IJsC9w&d>!q(%{HKnE9%J; zbfL_gFW{TNj=*v=ppHOc;>QYCAuUc5SdNQWTH@FXyDVVY=fzIpOMcAp`*3G4p@Mhp zqZ65}6?Sbdbh6xJJ`|RqKGK3^$;!G=dWjp7N8uc#Wj!hUYov!8m_L4xmXx>s!LF46 zXM$u<6_)l(xeCj1OBRK~FCab2f~O)a{Zjg;k$%{MCn7Beccqthp#0k);PVYsR^IWd zU6Y-3y{XU?t^rO4S@Bp4W~8N|N-xJqE8f%tzug1Np$hg{{sNXlASW?Zpx|K^T#0l- z4=g7&Wj_|_FbhsXT1KklRgT$@8BScxoA%>Tt!}aD&R%dCxu(V3zMqDacL2)@PVqf8 z<~ni5Q&^gpS&*yWgicofFL}%zMcKM>S0#5BU%*C1!YfFB39`yMf&T*fYY+KX@}-v? zS9GVx<1Cenc^B^GGBV0uHygPWycaTIDY;&DdGrjVYy3KHc%KHw9RL>4jUGf_lQ(Ty{Ko$mK21some@FUjkP$n;|DmC%Ye@W)UpPoF*wUAB<3XIUz`GC9 zBwKhTPdJ3_c5)@V4`KgUQppDnQEcSoN;8x$!@vwi_J4t-W~t{J&~;GEQohrRyuno* z@1@D0%SAl1wtkp2AkbuZ`I!!+jJ9m~zVHtGRQ`w4l} zT>NY~#Xo+8?y_|+=hP$gl4IHmyKx!cf+#JXZ^aP?#y5~S=(n%nsH2q7?-pe8lOEvZ ziu))fCs-@$1%+TW={DfoK)pe#?1^aAP}odc!Pk#cQu(cwb|dEg8ZvQSg(V7Daa<3a z4J_w7WnX~wa0_-LJ=lUhNJm&Oo*CrguiRfi5d`;w5>T@$v<%o<$N}I;kkTJS+FIx` z;1r8~Inwv_z!I*;`(@KKZ8N~5pb-y5jY*7*9;*s}Rb+lcOGODmHcrt&CY%k?XLu_ z038Rd1|0>7Y&U2d=#UTBfY*cG2JHu(0EwMYHE0j$DwcPPPqq>KJy7!+t~r5_R~v32HrKZkZlfsE55cptP^t;!&zNiZnO>2_x26qV}gt`4>#)g04;PY*^{^VAkf zitYhX`Ep29qW2cD+rKJ{!j&I0rK%TsvW-Eofkru}x@v>DH&Oq?+xWn#+I zXHcjzT7Wd7o*y?OEtM+$e~}hPR#-w?oHRC!&z!~`0V=(Anv%+dF0h0}Ri5kv&s*?oz!CzL-UW>I-R~DX1%Y_IGLV@vEAX~`L>0EXer`OWQNY+u zXK(e^#;rK)%{oKPwv>=9X82u%toMKv-h;GcS9os^{7w(NPX;}lt1v*3D$jd8Y-CLO z;~!qfcT{w>KTq07;jzkAoJ_`F;jumNyZ*8`oQEF>Uz%V|p7tbDE4+i%mM}!qFKdo3A9AK~W9bT^;BOufy&E?mard)r0)&){fS z($qcXtK})^sGOgzSc0v>PvX!lYf0fkKjx{QQ$pw&lp~vHJGjhV2e|a&+8(a^oRS^( zz2-SS3|vkdnF5ZY#LnK1cW%nA1aj#$rv=783K IyxZ*m0|L01#Q*>R delta 216164 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 AK>z>% delta 3302 zcmZ`*dt6mj7Uo;$z~%CW3taHU1vQXV&`~5387xiIv>L^dz!cF$1(gdv0`Uccm&?Nw zZX3sx#6$2mTXhev?dxtQ1m;rmqPkI z{0r64j~Km+e!zAVmb{9G=4l_fM?c=X&pK40R|Oo1tb`M#>rsc7YEUvif6<(|<=Bec zwb+JQlq}nV*RZf4Z-IU3bMK?H5g$UL~ z^tXL#p+6O}mtfVr!+OA~$AmSzqfNijGYMK#-wzO>FMH^SS%0q2i_oGYG(_q9B7%T+ z{S%u*(UapX?ugQ!9-6?GilJuGO(~&@p8x1zMe8|o17fsyN3P;N4SQ^thh8^qG&fZL zDp8QOb;KH2@3=|PyJ`A*KjWPQ%$0q#iF#MA*i9(9ekrp6*!@0HOFT+AcS z_kq?k!(W@1*@LZ>nLAakHetr*5MIG&iz5-P|Fn2KaTi7|>x)3mu{u(#Ty_wFdfH2Q z(1M(C+PB5Q2+@8mKH<`Cl^B}ma+kKg)Mgmhm-=a2$~+LF&n%q*&UI|X2_EZKp5Qzg ztNaX8?rIxzIaaUjNLpLwr%fyia;2;-Gg3yD4%BMP{Iv^ZPokR^U*18NRc_V>t+gQB zetq{v(UbJnJaW!w0G)4 zP`zYl2GQMh`k7q^js5-W?ljjJr&;!#;@PD=(G2p@ub5bAIo@Bh?dy)P&Y8dV228Otv$Ripc7$eCmRjzn??ii#{MH*k&)&60e@|OlhNl6&Bor}4%}n?-a!L% z;7}KGS5x;+)UGCfEpDH|XT*#+Y}7IJa2IaukuKcWBmTZk8(e)uKP8O&w(Ce2YD;q$ zYD=@H-roEV#Z~wq?fCIfSoN0Uev0mYHAU5Le0iMZvX7g*Jkp)XFO<|v;IxIr?=nu#huPLwX3&^WEOCndn^8;;3$i572{ass4nec zcSFdV?wG<27ipeoVu4`9ilJt3BV@W6{Wx5%@ItwfhGnc6wNV$>v9~nJ`66AAud5 z%{K*~@>3>T9>-h2MY(P?W)Uumn`7{~cyAn%F-_bWhjez09gk*X0sa#VDj7EceIbsf zp&sorV=SgZPMU~YUW^zs6}?!@o{9%_#vx~C@JB^NWMM{_kDJXchTLojxCw9X-<5f? zDhnBkygMD^A+}ypg7Lbzn2F&cC=-2p^yC0n+yFPXRI;Zw>^s^NENMic!=qRC=fMvL^5o*9dU@1O@;W5ME+777CV-pS=a-V zWSO@N!;F6CmvB+%iup6$Igcp$eeQdDC*LS9TgQ!(4E?jQjSb5Y_d?Zrk;V-ch*d+45#sX}TtzV-{&{`E)~!GRQwU^zUHis*l{eE@^)q=o(u+i{nl*@8t-Fxi;$ zPr;=6(;BCIq&I!1AWHO!rcr3$o*PZz9?y-TyWq>66H80@0Nd#T0kiVeop}%05*z+g^Z6Cb%k_+ zg}sQzVS_kS#38Zr*CHzSWUf`EwAtW_SV{a#7cFP4A}^L=;cBj}UTj%SyV?5G8an2I zdKu=RJfg-5S>dGnpqdI5%qY^dT9OxSy#nkhOO59g>spC~K~WzqhE#;*C}{M2u)v z15A?^&6!bX&k>=mYK+*|s``ls=haDKMyuLeTxd~kq4o|yQqsc0oJC8Mk{-*?n>A;) zNN8328_;3KU>56JREsrx@nDzVzG!;3Jw0bp!JPcO!h|6PQK-1aY{J^cgSm}aa@y43 zuZBs|d T@C)k87G?0jc-ioiS~vE;MD0-b diff --git a/contracts/hydro/Cargo.toml b/contracts/hydro/Cargo.toml index 3675e87..c66baa7 100644 --- a/contracts/hydro/Cargo.toml +++ b/contracts/hydro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "hydro" -version = "1.0.0" +version = "1.1.0" authors = ["Jehan Tremback", "Philip Offtermatt", "Dusan Maksimovic"] edition = "2018" diff --git a/contracts/hydro/src/contract.rs b/contracts/hydro/src/contract.rs index c0fa526..3ecef52 100644 --- a/contracts/hydro/src/contract.rs +++ b/contracts/hydro/src/contract.rs @@ -17,7 +17,7 @@ use crate::lsm_integration::{ get_validator_power_ratio_for_round, initialize_validator_store, validate_denom, COSMOS_VALIDATOR_PREFIX, }; -use crate::msg::{ExecuteMsg, InstantiateMsg, MigrateMsg, TrancheInfo}; +use crate::msg::{ExecuteMsg, InstantiateMsg, TrancheInfo}; use crate::query::{ AllUserLockupsResponse, ConstantsResponse, CurrentRoundResponse, ExpiredUserLockupsResponse, ICQManagersResponse, LockEntryWithPower, ProposalResponse, QueryMsg, @@ -42,9 +42,9 @@ use crate::validators_icqs::{ }; /// Contract name that is used for migration. -const CONTRACT_NAME: &str = env!("CARGO_PKG_NAME"); +pub const CONTRACT_NAME: &str = env!("CARGO_PKG_NAME"); /// Contract version that is used for migration. -const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION"); +pub const CONTRACT_VERSION: &str = env!("CARGO_PKG_VERSION"); pub const MAX_LOCK_ENTRIES: usize = 100; @@ -1664,7 +1664,7 @@ fn compute_round_id_for_timestamp(constants: &Constants, timestamp: u64) -> StdR Ok(round_id) } -fn compute_round_end(constants: &Constants, round_id: u64) -> StdResult { +pub fn compute_round_end(constants: &Constants, round_id: u64) -> StdResult { let round_end = constants .first_round_start .plus_nanos(constants.round_length * (round_id + 1)); @@ -1915,29 +1915,6 @@ fn to_lockup_with_power( } } -/// In the first version of Hydro, we allow contract to be un-paused through the Cosmos Hub governance -/// by migrating contract to the same code ID. This will trigger the migrate() function where we set -/// the paused flag to false. -/// Keep in mind that, for the future versions, this function should check the `CONTRACT_VERSION` and -/// perform any state changes needed. It should also handle the un-pausing of the contract, depending if -/// it was previously paused or not. -#[cfg_attr(not(feature = "library"), entry_point)] -pub fn migrate( - deps: DepsMut, - _env: Env, - _msg: MigrateMsg, -) -> Result, ContractError> { - CONSTANTS.update( - deps.storage, - |mut constants| -> Result { - constants.paused = false; - Ok(constants) - }, - )?; - - Ok(Response::default()) -} - #[cfg_attr(not(feature = "library"), entry_point)] pub fn reply( deps: DepsMut, diff --git a/contracts/hydro/src/lib.rs b/contracts/hydro/src/lib.rs index e4d481f..9a734c1 100644 --- a/contracts/hydro/src/lib.rs +++ b/contracts/hydro/src/lib.rs @@ -1,6 +1,7 @@ pub mod contract; mod error; pub mod lsm_integration; +pub mod migration; pub mod msg; pub mod query; pub mod score_keeper; diff --git a/contracts/hydro/src/migration/migrate.rs b/contracts/hydro/src/migration/migrate.rs new file mode 100644 index 0000000..65f7737 --- /dev/null +++ b/contracts/hydro/src/migration/migrate.rs @@ -0,0 +1,113 @@ +use crate::contract::{ + compute_current_round_id, compute_round_end, CONTRACT_NAME, CONTRACT_VERSION, +}; +use crate::error::ContractError; +use crate::msg::MigrateMsg; +use crate::state::{Constants, CONSTANTS, LOCKS_MAP}; +use cosmwasm_std::{entry_point, DepsMut, Env, Order, Response, StdError, StdResult}; +use cw2::{get_contract_version, set_contract_version}; +use neutron_sdk::bindings::msg::NeutronMsg; +use neutron_sdk::bindings::query::NeutronQuery; + +/// In the first version of Hydro, we allow contract to be un-paused through the Cosmos Hub governance +/// by migrating contract to the same code ID. This will trigger the migrate() function where we set +/// the paused flag to false. +/// Additionally, any migration logic can be added here. +/// Those migrations should check the contract version and apply the necessary changes. +#[cfg_attr(not(feature = "library"), entry_point)] +pub fn migrate( + mut deps: DepsMut, + env: Env, + msg: MigrateMsg, +) -> Result, ContractError> { + let contract_version = get_contract_version(deps.storage)?; + CONSTANTS.update( + deps.storage, + |mut constants| -> Result { + constants.paused = false; + Ok(constants) + }, + )?; + + if contract_version.version == CONTRACT_VERSION { + return Err(ContractError::Std(StdError::generic_err( + "Contract is already migrated to the newest version.", + ))); + } + + if contract_version.version == "1.0.0" { + // Perform the migration from 1.0.0 to 1.1.0 + migrate_v1_0_0_to_v1_1_0(&mut deps, env, msg)?; + } + + set_contract_version(deps.storage, CONTRACT_NAME, CONTRACT_VERSION)?; + + Ok(Response::default()) +} + +// Migrating from 1.0.0 to 1.1.0 will: +// - Update the first_round_start to the value provided in the migration message +// - For each lock, update the lock_end to the end of the new first round +// Note that this migration will only work properly if the contract is currently within the first round, +// and if the contract will be before the end of the first round after the migration, too. +fn migrate_v1_0_0_to_v1_1_0( + deps: &mut DepsMut, + env: Env, + msg: MigrateMsg, +) -> Result<(), ContractError> { + // Migrate the contract to version 1.1.0 + + // ensure that the contract is currently within the first round + let constants = CONSTANTS.load(deps.storage)?; + let current_round_id = compute_current_round_id(&env, &constants)?; + if current_round_id != 0 { + return Err(ContractError::Std(StdError::generic_err( + "Migration to version 1.1.0 can only be done within the first round.", + ))); + } + + // update the first_round_start to the value provided in the migration message + CONSTANTS.update( + deps.storage, + |mut constants| -> Result { + constants.first_round_start = msg.new_first_round_start; + Ok(constants) + }, + )?; + + // for each lock, update the lock_end to the new round_end + let constants = CONSTANTS.load(deps.storage)?; + let first_round_end = compute_round_end(&constants, 0)?; + + if first_round_end < env.block.time { + return Err(ContractError::Std(StdError::generic_err( + "Migration to version 1.1.0 can only be done if the new first round end is in the future.", + ))); + } + + let locks = LOCKS_MAP + .range(deps.storage, None, None, Order::Ascending) + .collect::>>()?; + + for ((addr, lock_id), _) in locks { + LOCKS_MAP.update( + deps.storage, + (addr.clone(), lock_id), + |lock_entry_option| -> Result<_, ContractError> { + // update the lock_end to the new round_end + match lock_entry_option { + None => Err(ContractError::Std(StdError::generic_err(format!( + "Lock entry not found for address: {} and lock_id: {}", + addr, lock_id + )))), + Some(mut lock_entry) => { + lock_entry.lock_end = first_round_end; + Ok(lock_entry) + } + } + }, + )?; + } + + Ok(()) +} diff --git a/contracts/hydro/src/migration/mod.rs b/contracts/hydro/src/migration/mod.rs new file mode 100644 index 0000000..2b70726 --- /dev/null +++ b/contracts/hydro/src/migration/mod.rs @@ -0,0 +1,4 @@ +pub mod migrate; + +#[cfg(test)] +mod testing_migrate; diff --git a/contracts/hydro/src/migration/testing_migrate.rs b/contracts/hydro/src/migration/testing_migrate.rs new file mode 100644 index 0000000..b942c5a --- /dev/null +++ b/contracts/hydro/src/migration/testing_migrate.rs @@ -0,0 +1,163 @@ +#[cfg(test)] +mod tests { + use std::collections::HashMap; + + use crate::contract::{compute_round_end, execute, instantiate, CONTRACT_NAME}; + use crate::migration::migrate::migrate; + use crate::msg::{ExecuteMsg, MigrateMsg}; + use crate::state::{CONSTANTS, LOCKS_MAP}; + use crate::testing::{ + get_default_instantiate_msg, get_message_info, set_default_validator_for_rounds, + IBC_DENOM_1, ONE_DAY_IN_NANO_SECONDS, ONE_MONTH_IN_NANO_SECONDS, VALIDATOR_1_LST_DENOM_1, + }; + use crate::testing_mocks::{denom_trace_grpc_query_mock, mock_dependencies}; + use cosmwasm_std::testing::mock_env; + use cosmwasm_std::{Coin, Env, Order, StdResult, Timestamp}; + use cw2::{get_contract_version, set_contract_version}; + + #[test] + fn test_migrate_v100_to_v110() { + struct TestCase { + description: String, + migrate_msg: fn(Env) -> MigrateMsg, + env_time: fn(Env) -> u64, + expected_error: Option<&'static str>, + } + + fn create_migrate_msg(env: &Env, offset: i64) -> MigrateMsg { + MigrateMsg { + new_first_round_start: Timestamp::from_nanos( + (env.block.time.nanos() as i64 + offset) as u64, + ), + } + } + + fn compute_env_time(env: &Env, offset: u64) -> u64 { + env.block.time.plus_nanos(offset).nanos() + } + + let test_cases = [ + TestCase { + description: "Happy path".to_string(), + migrate_msg: |env| create_migrate_msg(&env, ONE_DAY_IN_NANO_SECONDS as i64), + env_time: |env| compute_env_time(&env, 0), + expected_error: None, + }, + TestCase { + description: "Migrate with new first round end in the past".to_string(), + migrate_msg: |env| create_migrate_msg(&env, -(ONE_MONTH_IN_NANO_SECONDS as i64)), + env_time: |env| compute_env_time(&env, 0), + expected_error: Some( + "can only be done if the new first round end is in the future", + ), + }, + TestCase { + description: "Migrate not during the first round".to_string(), + migrate_msg: |env| create_migrate_msg(&env, ONE_DAY_IN_NANO_SECONDS as i64), + env_time: |env| compute_env_time(&env, ONE_MONTH_IN_NANO_SECONDS * 2), + expected_error: Some("can only be done within the first round"), + }, + ]; + + for (i, test_case) in test_cases.iter().enumerate() { + // log the test case description + println!("Test case {}: {}", i, test_case.description); + + let grpc_query = denom_trace_grpc_query_mock( + "transfer/channel-0".to_string(), + HashMap::from([(IBC_DENOM_1.to_string(), VALIDATOR_1_LST_DENOM_1.to_string())]), + ); + let user_addr = "addr0000"; + let (mut deps, mut env) = (mock_dependencies(grpc_query), mock_env()); + let info = get_message_info(&deps.api, user_addr, &[]); + + // Instantiate the contract + let instantiate_msg = get_default_instantiate_msg(&deps.api); + let _res = + instantiate(deps.as_mut(), env.clone(), info.clone(), instantiate_msg).unwrap(); + + set_default_validator_for_rounds(deps.as_mut(), 0, 100); + + // Set contract version to 1.0.0 + set_contract_version(deps.as_mut().storage, CONTRACT_NAME, "1.0.0").unwrap(); + + // Create some locks + // time will be advanced by the given duration after each lock + let lock_creation_delays = [ + ONE_DAY_IN_NANO_SECONDS * 4, + ONE_DAY_IN_NANO_SECONDS * 2, + ONE_DAY_IN_NANO_SECONDS * 2, + ]; + + for (i, &delay) in lock_creation_delays.iter().enumerate() { + let lock_info = get_message_info( + &deps.api, + user_addr, + &[Coin::new(1000u64, IBC_DENOM_1.to_string())], + ); + let lock_msg = ExecuteMsg::LockTokens { + lock_duration: ONE_MONTH_IN_NANO_SECONDS, + }; + let res = execute(deps.as_mut(), env.clone(), lock_info.clone(), lock_msg); + assert!( + res.is_ok(), + "Lock creation failed for lock {}: {}", + i, + res.unwrap_err() + ); + + // Advance time after each lock + env.block.time = env.block.time.plus_nanos(delay); + } + + env.block.time = Timestamp::from_nanos((test_case.env_time)(env.clone())); + let migrate_msg = (test_case.migrate_msg)(env.clone()); + let res = migrate(deps.as_mut(), env.clone(), migrate_msg.clone()); + + match &test_case.expected_error { + Some(expected_error) => { + assert!( + res.is_err(), + "Test case {}: Migration should have failed", + i + ); + let error_string = res.unwrap_err(); + assert!( + error_string.to_string().contains(expected_error), + "Test case {}: Expected error: {:?}, got: {:?}", + i, + expected_error, + error_string + ); + } + None => { + assert!(res.is_ok(), "Test case {}: Migration failed: {:?}", i, res); + let contract_version = get_contract_version(deps.as_ref().storage).unwrap(); + assert_eq!(contract_version.version, "1.1.0"); + + let constants = CONSTANTS.load(deps.as_ref().storage).unwrap(); + let first_round_end = compute_round_end(&constants, 0).unwrap(); + assert_eq!( + constants.first_round_start, + migrate_msg.new_first_round_start + ); + + let locks = LOCKS_MAP + .range(deps.as_ref().storage, None, None, Order::Ascending) + .collect::>>() + .unwrap(); + + assert_eq!(locks.len(), 3, "Locks count mismatch"); + + for ((addr, lock_id), lock_entry) in locks { + assert_eq!( + lock_entry.lock_end, first_round_end, + "Lock end mismatch for address: {} and lock_id: {}", + addr, lock_id + ); + } + } + } + } + } +} diff --git a/contracts/hydro/src/msg.rs b/contracts/hydro/src/msg.rs index 91ea5cf..df32c54 100644 --- a/contracts/hydro/src/msg.rs +++ b/contracts/hydro/src/msg.rs @@ -89,4 +89,6 @@ pub enum ExecuteMsg { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] -pub struct MigrateMsg {} +pub struct MigrateMsg { + pub new_first_round_start: Timestamp, +} diff --git a/contracts/tribute/Cargo.toml b/contracts/tribute/Cargo.toml index e6b03de..524534a 100644 --- a/contracts/tribute/Cargo.toml +++ b/contracts/tribute/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tribute" -version = "2.0.0" +version = "1.1.0" edition = "2018" authors = ["Jehan Tremback", "Philip Offtermatt", "Dusan Maksimovic"] From 70346c0f192d4a8acf18a617994920889904cb27 Mon Sep 17 00:00:00 2001 From: Dusan Maksimovic <94966669+dusan-maksimovic@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:55:32 +0200 Subject: [PATCH 12/12] generated changelog for 1.1.0 release (#158) --- .../146-adjust-tribute-refunding-condition.md | 0 .../features/149-allow-refreshing-multiple-locks.md | 0 .../features/156-migrate-start.md | 0 .changelog/v1.1.0/summary.md | 1 + CHANGELOG | 13 +++++++++++++ 5 files changed, 14 insertions(+) rename .changelog/{unreleased => v1.1.0}/features/146-adjust-tribute-refunding-condition.md (100%) rename .changelog/{unreleased => v1.1.0}/features/149-allow-refreshing-multiple-locks.md (100%) rename .changelog/{unreleased => v1.1.0}/features/156-migrate-start.md (100%) create mode 100644 .changelog/v1.1.0/summary.md diff --git a/.changelog/unreleased/features/146-adjust-tribute-refunding-condition.md b/.changelog/v1.1.0/features/146-adjust-tribute-refunding-condition.md similarity index 100% rename from .changelog/unreleased/features/146-adjust-tribute-refunding-condition.md rename to .changelog/v1.1.0/features/146-adjust-tribute-refunding-condition.md diff --git a/.changelog/unreleased/features/149-allow-refreshing-multiple-locks.md b/.changelog/v1.1.0/features/149-allow-refreshing-multiple-locks.md similarity index 100% rename from .changelog/unreleased/features/149-allow-refreshing-multiple-locks.md rename to .changelog/v1.1.0/features/149-allow-refreshing-multiple-locks.md diff --git a/.changelog/unreleased/features/156-migrate-start.md b/.changelog/v1.1.0/features/156-migrate-start.md similarity index 100% rename from .changelog/unreleased/features/156-migrate-start.md rename to .changelog/v1.1.0/features/156-migrate-start.md diff --git a/.changelog/v1.1.0/summary.md b/.changelog/v1.1.0/summary.md new file mode 100644 index 0000000..1b58e7f --- /dev/null +++ b/.changelog/v1.1.0/summary.md @@ -0,0 +1 @@ +Date: October 22nd, 2024 diff --git a/CHANGELOG b/CHANGELOG index 7e3941e..8955330 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,18 @@ # CHANGELOG +## v1.1.0 + +Date: October 22nd, 2024 + +### FEATURES + +- Adjust tribute refunding condition. + ([\#146](https://github.com/informalsystems/hydro/pull/146)) +- Allow refreshing multiple locks at once + ([\#149](https://github.com/informalsystems/hydro/pull/149)) +- Adds a migration to change the start of the first contract on an instantiated contract + ([\#156](https://github.com/informalsystems/hydro/pull/156)) + ## v1.0.3 Date: October 15th, 2024