From 570585090ad9772c43aafdfc4403349eb260742c Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Fri, 13 Dec 2024 08:49:38 +0100 Subject: [PATCH 01/22] chore: sync changelog to main + clean-up replaces (#22846) --- client/v2/CHANGELOG.md | 21 +++++++++++++++++---- client/v2/go.mod | 6 ++---- client/v2/go.sum | 4 ++++ go.mod | 6 ++---- go.sum | 4 ++++ runtime/v2/go.mod | 6 ++---- runtime/v2/go.sum | 4 ++++ server/v2/cometbft/go.mod | 6 ++---- server/v2/cometbft/go.sum | 4 ++++ server/v2/go.mod | 4 +--- server/v2/go.sum | 2 ++ simapp/go.mod | 6 ++---- simapp/go.sum | 4 ++++ simapp/v2/go.mod | 6 ++---- simapp/v2/go.sum | 4 ++++ tests/go.mod | 6 ++---- tests/go.sum | 4 ++++ tools/benchmark/go.mod | 5 ++--- tools/benchmark/go.sum | 6 ++++-- x/accounts/defaults/base/go.mod | 6 ++---- x/accounts/defaults/base/go.sum | 4 ++++ x/accounts/defaults/lockup/go.mod | 6 ++---- x/accounts/defaults/lockup/go.sum | 4 ++++ x/accounts/defaults/multisig/go.mod | 6 ++---- x/accounts/defaults/multisig/go.sum | 4 ++++ x/accounts/go.mod | 6 ++---- x/accounts/go.sum | 4 ++++ x/authz/go.mod | 6 ++---- x/authz/go.sum | 4 ++++ x/bank/go.mod | 6 ++---- x/bank/go.sum | 4 ++++ x/circuit/go.mod | 6 ++---- x/circuit/go.sum | 4 ++++ x/consensus/go.mod | 6 ++---- x/consensus/go.sum | 4 ++++ x/distribution/go.mod | 6 ++---- x/distribution/go.sum | 4 ++++ x/epochs/go.mod | 6 ++---- x/epochs/go.sum | 4 ++++ x/evidence/go.mod | 6 ++---- x/evidence/go.sum | 4 ++++ x/feegrant/go.mod | 6 ++---- x/feegrant/go.sum | 4 ++++ x/gov/go.mod | 6 ++---- x/gov/go.sum | 4 ++++ x/group/go.mod | 6 ++---- x/group/go.sum | 4 ++++ x/mint/go.mod | 6 ++---- x/mint/go.sum | 4 ++++ x/nft/go.mod | 6 ++---- x/nft/go.sum | 4 ++++ x/params/go.mod | 6 ++---- x/params/go.sum | 4 ++++ x/protocolpool/go.mod | 6 ++---- x/protocolpool/go.sum | 4 ++++ x/slashing/go.mod | 6 ++---- x/slashing/go.sum | 4 ++++ x/staking/go.mod | 6 ++---- x/staking/go.sum | 4 ++++ x/tx/CHANGELOG.md | 8 ++++++++ x/upgrade/go.mod | 6 ++---- x/upgrade/go.sum | 4 ++++ 62 files changed, 202 insertions(+), 124 deletions(-) diff --git a/client/v2/CHANGELOG.md b/client/v2/CHANGELOG.md index e4011ec3750e..c59e01268982 100644 --- a/client/v2/CHANGELOG.md +++ b/client/v2/CHANGELOG.md @@ -49,9 +49,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements -* [#22443](https://github.com/cosmos/cosmos-sdk/pull/22443) Add keyring flags in query commands. -* [#21936](https://github.com/cosmos/cosmos-sdk/pull/21936) Print possible enum values in error message after an invalid input was provided. - ### API Breaking Changes * [#17709](https://github.com/cosmos/cosmos-sdk/pull/17709) Address codecs have been removed from `autocli.AppOptions` and `flag.Builder`. Instead client/v2 uses the address codecs present in the context (introduced in [#17503](https://github.com/cosmos/cosmos-sdk/pull/17503)). @@ -60,9 +57,25 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Bug Fixes * [#21853](https://github.com/cosmos/cosmos-sdk/pull/21853) Fix `*big.Int` unmarshalling in txs. -* [#22576](https://github.com/cosmos/cosmos-sdk/pull/22576) Fix duplicate command addition in `autocli` when custom enhanced command has a different name than module name + +## [v2.0.0-beta.7] - 2024-12-10 + +### Bug Fixes + * [#22817](https://github.com/cosmos/cosmos-sdk/pull/22817) Add DecCoin support in autocli flag builder. +## [v2.0.0-beta.6] - 2024-11-21 + +### Improvements + +* [#22443](https://github.com/cosmos/cosmos-sdk/pull/22443) Add keyring flags in query commands. +* [#21936](https://github.com/cosmos/cosmos-sdk/pull/21936) Print possible enum values in error message after an invalid input was provided. + +### Bug Fixes + +* [#21809](https://github.com/cosmos/cosmos-sdk/pull/21809) Correctly handle enhanced sub commands. +* [#22576](https://github.com/cosmos/cosmos-sdk/pull/22576) Fix duplicate command addition in `autocli` when custom enhanced command has a different name than module name + ## [v2.0.0-beta.5] - 2024-09-18 ### Improvements diff --git a/client/v2/go.mod b/client/v2/go.mod index d8f11caa90e8..f08d0e2730cd 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -3,12 +3,12 @@ module cosmossdk.io/client/v2 go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/gov v0.0.0-20231113122742-912390d5fc4a - cosmossdk.io/x/tx v1.0.0-alpha.1 + cosmossdk.io/x/tx v1.0.0-alpha.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 github.com/spf13/cobra v1.8.1 @@ -180,10 +180,8 @@ replace github.com/cosmos/cosmos-sdk => ./../../ // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ./../../api cosmossdk.io/store => ./../../store cosmossdk.io/x/bank => ./../../x/bank cosmossdk.io/x/gov => ./../../x/gov cosmossdk.io/x/staking => ./../../x/staking - cosmossdk.io/x/tx => ./../../x/tx ) diff --git a/client/v2/go.sum b/client/v2/go.sum index cab87eb6ce50..76665291f2e3 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -22,6 +24,8 @@ cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 h1:XQJj9Dv9Gtze0l2TF79BU5lkP6MkUveTUuKICmxoz+o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190/go.mod h1:7WUGupOvmlHJoIMBz1JbObQxeo6/TDiuDBxmtod8HRg= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/go.mod b/go.mod index e16aa028cbb0..4d0e521ef960 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ go 1.23.2 module github.com/cosmos/cosmos-sdk require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -15,7 +15,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 - cosmossdk.io/x/tx v1.0.0-alpha.1 + cosmossdk.io/x/tx v1.0.0-alpha.2 github.com/99designs/keyring v1.2.2 github.com/bgentry/speakeasy v0.2.0 github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 @@ -185,11 +185,9 @@ require ( // TODO remove after all modules have their own go.mods replace ( - cosmossdk.io/api => ./api cosmossdk.io/store => ./store cosmossdk.io/x/bank => ./x/bank cosmossdk.io/x/staking => ./x/staking - cosmossdk.io/x/tx => ./x/tx ) // Below are the long-lived replace of the Cosmos SDK diff --git a/go.sum b/go.sum index a37cf7692720..f1af3b4f4f52 100644 --- a/go.sum +++ b/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/runtime/v2/go.mod b/runtime/v2/go.mod index 9ae7daa99adc..a0975546c9eb 100644 --- a/runtime/v2/go.mod +++ b/runtime/v2/go.mod @@ -4,16 +4,14 @@ go 1.23 // server v2 integration replace ( - cosmossdk.io/api => ../../api cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/server/v2/appmanager => ../../server/v2/appmanager cosmossdk.io/server/v2/stf => ../../server/v2/stf cosmossdk.io/store/v2 => ../../store/v2 - cosmossdk.io/x/tx => ../../x/tx ) require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/log v1.5.0 @@ -21,7 +19,7 @@ require ( cosmossdk.io/server/v2/appmanager v0.0.0-00010101000000-000000000000 cosmossdk.io/server/v2/stf v0.0.0-00010101000000-000000000000 cosmossdk.io/store/v2 v2.0.0-00010101000000-000000000000 - cosmossdk.io/x/tx v1.0.0-alpha.1 + cosmossdk.io/x/tx v1.0.0-alpha.2 github.com/cosmos/gogoproto v1.7.0 github.com/stretchr/testify v1.10.0 google.golang.org/grpc v1.68.1 diff --git a/runtime/v2/go.sum b/runtime/v2/go.sum index 2e17566a674f..adb23b18780e 100644 --- a/runtime/v2/go.sum +++ b/runtime/v2/go.sum @@ -2,6 +2,8 @@ buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1/go.mod h1:wqOtclGXqh+7m/L6fn0SatBJ+m9E5muF/41a3LgIPVI= buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 h1:FYhA+EOS18QBdffLVpisUjBGsCtUljMx4bFOsZT81ZM= buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= +cosmossdk.io/api v0.8.0-rc.1 h1:j5oNt5D9gsXtcI9ITYDKjxLXYysgzQIGIbXe381fXNE= +cosmossdk.io/api v0.8.0-rc.1/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= @@ -12,6 +14,8 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 35b554c5dd70..87bc8fcf1a99 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -3,7 +3,6 @@ module cosmossdk.io/server/v2/cometbft go 1.23.2 replace ( - cosmossdk.io/api => ../../../api cosmossdk.io/core/testing => ../../../core/testing cosmossdk.io/server/v2 => ../ cosmossdk.io/server/v2/appmanager => ../appmanager @@ -13,12 +12,11 @@ replace ( cosmossdk.io/x/bank => ../../../x/bank cosmossdk.io/x/consensus => ../../../x/consensus cosmossdk.io/x/staking => ../../../x/staking - cosmossdk.io/x/tx => ../../../x/tx github.com/cosmos/cosmos-sdk => ../../../ ) require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/errors v1.0.1 @@ -51,7 +49,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index 0b1efec574b0..ecadd947bdef 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/server/v2/go.mod b/server/v2/go.mod index 83fb2fad7572..c781f224a6dc 100644 --- a/server/v2/go.mod +++ b/server/v2/go.mod @@ -3,16 +3,14 @@ module cosmossdk.io/server/v2 go 1.23 replace ( - cosmossdk.io/api => ../../api cosmossdk.io/server/v2/appmanager => ./appmanager cosmossdk.io/server/v2/stf => ./stf cosmossdk.io/store/v2 => ../../store/v2 cosmossdk.io/store/v2/db => ../../store/v2/db - cosmossdk.io/x/tx => ../../x/tx ) require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e cosmossdk.io/log v1.5.0 diff --git a/server/v2/go.sum b/server/v2/go.sum index ae4ec07e681d..c5d67a76ad66 100644 --- a/server/v2/go.sum +++ b/server/v2/go.sum @@ -1,5 +1,7 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.1 h1:j5oNt5D9gsXtcI9ITYDKjxLXYysgzQIGIbXe381fXNE= +cosmossdk.io/api v0.8.0-rc.1/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= diff --git a/simapp/go.mod b/simapp/go.mod index c902a035c0ba..7162e4f29919 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/simapp go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/client/v2 v2.0.0-beta.6 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 @@ -32,7 +32,7 @@ require ( cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 cosmossdk.io/x/slashing v0.0.0-00010101000000-000000000000 cosmossdk.io/x/staking v0.0.0-20240226161501-23359a0b6d91 - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect cosmossdk.io/x/upgrade v0.0.0-20230613133644-0a778132a60f github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 github.com/cometbft/cometbft/api v1.0.0-rc2 @@ -250,7 +250,6 @@ require ( // SimApp on main always tests the latest extracted SDK modules importing the sdk replace ( - cosmossdk.io/api => ../api cosmossdk.io/client/v2 => ../client/v2 cosmossdk.io/collections => ../collections cosmossdk.io/indexer/postgres => ../indexer/postgres @@ -277,7 +276,6 @@ replace ( cosmossdk.io/x/protocolpool => ../x/protocolpool cosmossdk.io/x/slashing => ../x/slashing cosmossdk.io/x/staking => ../x/staking - cosmossdk.io/x/tx => ../x/tx cosmossdk.io/x/upgrade => ../x/upgrade ) diff --git a/simapp/go.sum b/simapp/go.sum index 049c0844fe5c..6aafd5cb8aa5 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -192,6 +192,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= @@ -206,6 +208,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/simapp/v2/go.mod b/simapp/v2/go.mod index c8b1f8e5607a..1d95f5af3373 100644 --- a/simapp/v2/go.mod +++ b/simapp/v2/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/simapp/v2 go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/client/v2 v2.0.0-beta.6 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 @@ -68,7 +68,7 @@ require ( cosmossdk.io/server/v2/appmanager v0.0.0-20240802110823-cffeedff643d // indirect cosmossdk.io/server/v2/stf v0.0.0-20240708142107-25e99c54bac1 // indirect cosmossdk.io/store v1.1.1 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -280,7 +280,6 @@ replace ( cosmossdk.io/x/protocolpool => ../../x/protocolpool cosmossdk.io/x/slashing => ../../x/slashing cosmossdk.io/x/staking => ../../x/staking - cosmossdk.io/x/tx => ../../x/tx cosmossdk.io/x/upgrade => ../../x/upgrade ) @@ -299,7 +298,6 @@ replace ( // server v2 integration replace ( - cosmossdk.io/api => ../../api cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/indexer/postgres => ../../indexer/postgres cosmossdk.io/runtime/v2 => ../../runtime/v2 diff --git a/simapp/v2/go.sum b/simapp/v2/go.sum index 78c20177325a..b327b7f9c70e 100644 --- a/simapp/v2/go.sum +++ b/simapp/v2/go.sum @@ -192,6 +192,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -208,6 +210,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/tests/go.mod b/tests/go.mod index e2825cf4b992..f5834232cb90 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -3,7 +3,7 @@ module github.com/cosmos/cosmos-sdk/tests go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 @@ -15,7 +15,7 @@ require ( cosmossdk.io/x/feegrant v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/nft v0.0.0-20230613133644-0a778132a60f // indirect cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 - cosmossdk.io/x/tx v1.0.0-alpha.1 + cosmossdk.io/x/tx v1.0.0-alpha.2 cosmossdk.io/x/upgrade v0.0.0-20230613133644-0a778132a60f github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 github.com/cosmos/cosmos-proto v1.0.0-beta.5 @@ -249,7 +249,6 @@ require ( // SimApp on main always tests the latest extracted SDK modules importing the sdk replace ( - cosmossdk.io/api => ../api cosmossdk.io/client/v2 => ../client/v2 cosmossdk.io/collections => ../collections cosmossdk.io/core/testing => ../core/testing @@ -280,7 +279,6 @@ replace ( cosmossdk.io/x/protocolpool => ../x/protocolpool cosmossdk.io/x/slashing => ../x/slashing cosmossdk.io/x/staking => ../x/staking - cosmossdk.io/x/tx => ../x/tx cosmossdk.io/x/upgrade => ../x/upgrade ) diff --git a/tests/go.sum b/tests/go.sum index 02d8cb80dd8a..0f294ffca5cb 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -192,6 +192,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= @@ -206,6 +208,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/tools/benchmark/go.mod b/tools/benchmark/go.mod index dc5e5bda5937..5e5cec640d64 100644 --- a/tools/benchmark/go.mod +++ b/tools/benchmark/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/tools/benchmark go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/log v1.5.0 @@ -25,7 +25,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -150,7 +150,6 @@ require ( ) replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../../x/bank cosmossdk.io/x/staking => ../../x/staking diff --git a/tools/benchmark/go.sum b/tools/benchmark/go.sum index 55a476ac0849..53463ab82492 100644 --- a/tools/benchmark/go.sum +++ b/tools/benchmark/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.1 h1:5w61etWMQbdCSR7uveWXCnGnD5eQ/64B2vzIhqA80yo= -cosmossdk.io/x/tx v1.0.0-alpha.1/go.mod h1:xlJjZV1wxZBTCP+ygZx9pNT/XxsfHDPf1H0VhHaUp5w= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/accounts/defaults/base/go.mod b/x/accounts/defaults/base/go.mod index feed3a590818..dece393fd520 100644 --- a/x/accounts/defaults/base/go.mod +++ b/x/accounts/defaults/base/go.mod @@ -3,12 +3,12 @@ module cosmossdk.io/x/accounts/defaults/base go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/x/accounts v0.0.0-20240913065641-0064ccbce64e - cosmossdk.io/x/tx v1.0.0-alpha.1 + cosmossdk.io/x/tx v1.0.0-alpha.2 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 @@ -173,10 +173,8 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( - cosmossdk.io/api => ../../../../api cosmossdk.io/store => ../../../../store cosmossdk.io/x/accounts => ../../. cosmossdk.io/x/bank => ../../../bank cosmossdk.io/x/staking => ../../../staking - cosmossdk.io/x/tx => ../../../tx ) diff --git a/x/accounts/defaults/base/go.sum b/x/accounts/defaults/base/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/accounts/defaults/base/go.sum +++ b/x/accounts/defaults/base/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 4b19f63b71b9..0534cdef7ef6 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -27,7 +27,7 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/api v0.7.6 // indirect + cosmossdk.io/api v0.8.0-rc.2 // indirect cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e // indirect cosmossdk.io/depinject v1.1.0 // indirect cosmossdk.io/errors v1.0.1 @@ -35,7 +35,7 @@ require ( cosmossdk.io/math v1.4.0 cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -154,11 +154,9 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( - cosmossdk.io/api => ../../../../api cosmossdk.io/store => ../../../../store cosmossdk.io/x/accounts => ../../. cosmossdk.io/x/bank => ../../../bank cosmossdk.io/x/distribution => ../../../distribution cosmossdk.io/x/staking => ../../../staking - cosmossdk.io/x/tx => ../../../tx ) diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index a0f7571bfdf0..53463ab82492 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/accounts/defaults/multisig/go.mod b/x/accounts/defaults/multisig/go.mod index 6d5cd7032831..4425bf78a023 100644 --- a/x/accounts/defaults/multisig/go.mod +++ b/x/accounts/defaults/multisig/go.mod @@ -18,7 +18,7 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/api v0.7.6 // indirect + cosmossdk.io/api v0.8.0-rc.2 // indirect cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e // indirect cosmossdk.io/depinject v1.1.0 // indirect cosmossdk.io/errors v1.0.1 // indirect @@ -26,7 +26,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -173,10 +173,8 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( - cosmossdk.io/api => ../../../../api cosmossdk.io/store => ../../../../store cosmossdk.io/x/accounts => ../../. cosmossdk.io/x/bank => ../../../bank cosmossdk.io/x/staking => ../../../staking - cosmossdk.io/x/tx => ../../../tx ) diff --git a/x/accounts/defaults/multisig/go.sum b/x/accounts/defaults/multisig/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/accounts/defaults/multisig/go.sum +++ b/x/accounts/defaults/multisig/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index 979881134832..b1752791ac31 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -3,13 +3,13 @@ module cosmossdk.io/x/accounts go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e cosmossdk.io/depinject v1.1.0 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 - cosmossdk.io/x/tx v1.0.0-alpha.1 + cosmossdk.io/x/tx v1.0.0-alpha.2 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 github.com/spf13/cobra v1.8.1 @@ -177,9 +177,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/accounts/go.sum b/x/accounts/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/authz/go.mod b/x/authz/go.mod index 34ee6b1dc573..76b9cc775c1f 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/authz go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 @@ -12,7 +12,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 - cosmossdk.io/x/tx v1.0.0-alpha.1 + cosmossdk.io/x/tx v1.0.0-alpha.2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 @@ -178,9 +178,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/authz/go.sum b/x/authz/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/bank/go.mod b/x/bank/go.mod index f3d760d2b467..e6ab51efabdb 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/bank go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 @@ -32,7 +32,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -177,8 +177,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/bank/go.sum b/x/bank/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index aeb6ad27f4bd..fe781e36ac2c 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/circuit go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -27,7 +27,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -174,9 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/circuit/go.sum b/x/circuit/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/consensus/go.mod b/x/consensus/go.mod index a2373a1457a0..2b450f223fc8 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/consensus go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -30,7 +30,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -172,9 +172,7 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/consensus/go.sum b/x/consensus/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index df9f15966f0f..371467d7a20b 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/distribution go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -31,7 +31,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -174,10 +174,8 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/distribution/go.sum b/x/distribution/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/epochs/go.mod b/x/epochs/go.mod index a5c5550b6b06..81e819e6d4c5 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/epochs go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -29,7 +29,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -177,9 +177,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/epochs/go.sum b/x/epochs/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/epochs/go.sum +++ b/x/epochs/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index 9f1d2cc5320e..277b2221a183 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/evidence go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -31,7 +31,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -174,9 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/evidence/go.sum b/x/evidence/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index 8b317e029a0c..54ea2ee9658b 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/feegrant go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -41,7 +41,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -182,12 +182,10 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/client/v2 => ../../client/v2 cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/gov => ../gov cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index 91bba53c7596..43052e4e345d 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/gov/go.mod b/x/gov/go.mod index 32370184dc70..ef42c81921f4 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/gov go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/client/v2 v2.0.0-beta.6 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 @@ -37,7 +37,7 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -181,11 +181,9 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/client/v2 => ../../client/v2 cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/gov/go.sum b/x/gov/go.sum index 91bba53c7596..43052e4e345d 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/group/go.mod b/x/group/go.mod index e98a8303edf0..82c6896e6626 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/group go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/client/v2 v2.0.0-beta.6 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -40,7 +40,7 @@ require ( cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -184,7 +184,6 @@ replace github.com/cosmos/cosmos-sdk => ../../ // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/client/v2 => ../../client/v2 cosmossdk.io/store => ../../store cosmossdk.io/x/accounts => ../accounts @@ -201,5 +200,4 @@ replace ( cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/slashing => ../slashing cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/group/go.sum b/x/group/go.sum index e8a6c34456de..14d587ae37e2 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/mint/go.mod b/x/mint/go.mod index 1e45be39dcaf..401c781f143c 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/mint go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -32,7 +32,7 @@ require ( cosmossdk.io/schema v0.4.0 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -178,11 +178,9 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/epochs => ../epochs cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/mint/go.sum b/x/mint/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/nft/go.mod b/x/nft/go.mod index 49e414d92dfc..ea3a1d4a5425 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/nft go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 @@ -29,7 +29,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -174,9 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/nft/go.sum b/x/nft/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/params/go.mod b/x/params/go.mod index 441a3bacee75..a8e428dfde3a 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/params go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e cosmossdk.io/depinject v1.1.0 @@ -30,7 +30,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -167,7 +167,6 @@ replace github.com/cosmos/cosmos-sdk => ../.. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/distribution => ../distribution @@ -176,5 +175,4 @@ replace ( cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/slashing => ../slashing cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/params/go.sum b/x/params/go.sum index 478ae2178cbc..75ca03fbd33c 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index cd83d91dd5ec..c6fecab24c31 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/protocolpool go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -30,7 +30,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -174,9 +174,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index 7c585c7256e7..f4f508892a49 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/slashing go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -32,7 +32,7 @@ require ( cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -175,9 +175,7 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/slashing/go.sum b/x/slashing/go.sum index 95c1c2a1d400..8b9ef5de1c3d 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/staking/go.mod b/x/staking/go.mod index 86f7782d7e4a..8982c11556ca 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/staking go 1.23.2 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e @@ -31,7 +31,7 @@ require ( require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -181,8 +181,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/api => ../../api cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank - cosmossdk.io/x/tx => ../tx ) diff --git a/x/staking/go.sum b/x/staking/go.sum index 2d766fa25a67..de52bdd1c15c 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -4,6 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1/go.mod h1:17Ax38yd8pg56din4ecwSDBRCSX0qLcif5Cdf8ayto4= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -20,6 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/tx/CHANGELOG.md b/x/tx/CHANGELOG.md index 7120fe357497..edec82e4efcf 100644 --- a/x/tx/CHANGELOG.md +++ b/x/tx/CHANGELOG.md @@ -49,6 +49,14 @@ Since v0.13.0, x/tx follows Cosmos SDK semver: https://github.com/cosmos/cosmos- * [#21825](https://github.com/cosmos/cosmos-sdk/pull/21825) Fix decimal encoding and field ordering in Amino JSON encoder. * [#21850](https://github.com/cosmos/cosmos-sdk/pull/21850) Support bytes field as signer. +## [v0.13.6](https://github.com/cosmos/cosmos-sdk/releases/tag/x/tx/v0.13.6) - 2024-12-12 + +### Bug Fixes + +* [#22161](https://github.com/cosmos/cosmos-sdk/pull/22161) Add special case for string represented decimals. +* [#21825](https://github.com/cosmos/cosmos-sdk/pull/21825) Fix decimal encoding and field ordering in Amino JSON encoder. +* [#21782](https://github.com/cosmos/cosmos-sdk/pull/21782) Fix JSON attribute sort order on messages with oneof fields. + ## [v0.13.5](https://github.com/cosmos/cosmos-sdk/releases/tag/x/tx/v0.13.5) - 2024-09-18 ### Improvements diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index 806ee5187027..ffa3208ba68c 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/upgrade go 1.23.3 require ( - cosmossdk.io/api v0.7.6 + cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e cosmossdk.io/depinject v1.1.0 @@ -46,7 +46,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.1 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -206,11 +206,9 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. replace ( - cosmossdk.io/api => ../../api cosmossdk.io/client/v2 => ../../client/v2 cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/gov => ../gov cosmossdk.io/x/staking => ../staking - cosmossdk.io/x/tx => ../tx ) diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index e74582d9001c..be9f6719aded 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -192,6 +192,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= +cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= @@ -210,6 +212,8 @@ cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 h1:XQJj9Dv9Gtze0l2TF79BU5lkP6MkUveTUuKICmxoz+o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190/go.mod h1:7WUGupOvmlHJoIMBz1JbObQxeo6/TDiuDBxmtod8HRg= +cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= +cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= From 957e24171608d043dd648c5e7780e7f8692f0fe9 Mon Sep 17 00:00:00 2001 From: son trinh Date: Fri, 13 Dec 2024 15:13:18 +0700 Subject: [PATCH 02/22] refactor(tests/integrations): Port gov integration tests with server v2 setup (#22850) --- runtime/v2/module.go | 6 +- tests/go.mod | 2 +- tests/integration/gov/common_test.go | 126 ----------- tests/integration/gov/keeper/keeper_test.go | 180 --------------- tests/integration/gov/module_test.go | 43 ---- tests/integration/v2/app.go | 8 +- tests/integration/v2/genesis.go | 6 + tests/integration/{ => v2}/gov/abci_test.go | 174 +++++++-------- tests/integration/v2/gov/common_test.go | 207 ++++++++++++++++++ .../integration/{ => v2}/gov/genesis_test.go | 141 +++--------- .../{ => v2}/gov/keeper/common_test.go | 4 +- .../integration/v2/gov/keeper/fixture_test.go | 109 +++++++++ .../gov/keeper/grpc_test.go} | 7 +- .../{ => v2}/gov/keeper/tally_test.go | 3 +- tests/integration/v2/gov/module_test.go | 23 ++ tests/integration/v2/services.go | 93 +++++++- testutil/sims/address_helpers.go | 2 +- 17 files changed, 573 insertions(+), 561 deletions(-) delete mode 100644 tests/integration/gov/common_test.go delete mode 100644 tests/integration/gov/keeper/keeper_test.go delete mode 100644 tests/integration/gov/module_test.go rename tests/integration/{ => v2}/gov/abci_test.go (81%) create mode 100644 tests/integration/v2/gov/common_test.go rename tests/integration/{ => v2}/gov/genesis_test.go (54%) rename tests/integration/{ => v2}/gov/keeper/common_test.go (96%) create mode 100644 tests/integration/v2/gov/keeper/fixture_test.go rename tests/integration/{gov/keeper/grpc_query_test.go => v2/gov/keeper/grpc_test.go} (92%) rename tests/integration/{ => v2}/gov/keeper/tally_test.go (99%) create mode 100644 tests/integration/v2/gov/module_test.go diff --git a/runtime/v2/module.go b/runtime/v2/module.go index 8ef338f52c2a..fcbb671bcecb 100644 --- a/runtime/v2/module.go +++ b/runtime/v2/module.go @@ -18,6 +18,7 @@ import ( "cosmossdk.io/core/branch" "cosmossdk.io/core/comet" "cosmossdk.io/core/event" + "cosmossdk.io/core/gas" "cosmossdk.io/core/header" "cosmossdk.io/core/registry" "cosmossdk.io/core/router" @@ -214,6 +215,7 @@ func ProvideEnvironment( kvService store.KVStoreService, memKvService store.MemoryStoreService, headerService header.Service, + gasService gas.Service, eventService event.Service, branchService branch.Service, routerBuilder RouterServiceBuilder, @@ -222,7 +224,7 @@ func ProvideEnvironment( Logger: logger, BranchService: branchService, EventService: eventService, - GasService: stf.NewGasMeterService(), + GasService: gasService, HeaderService: headerService, QueryRouterService: routerBuilder.BuildQueryRouter(), MsgRouterService: routerBuilder.BuildMsgRouter([]byte(key.Name())), @@ -296,6 +298,7 @@ func DefaultServiceBindings() depinject.Config { eventService = services.NewGenesisEventService(stf.NewEventService()) storeBuilder = root.NewBuilder() branchService = stf.BranchService{} + gasService = stf.NewGasMeterService() ) return depinject.Supply( kvServiceFactory, @@ -305,5 +308,6 @@ func DefaultServiceBindings() depinject.Config { eventService, storeBuilder, branchService, + gasService, ) } diff --git a/tests/go.mod b/tests/go.mod index f5834232cb90..44a6bbc9e160 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -51,6 +51,7 @@ require ( cosmossdk.io/x/staking v0.0.0-20240226161501-23359a0b6d91 github.com/cometbft/cometbft/api v1.0.0-rc2 github.com/cosmos/cosmos-db v1.1.0 + github.com/gogo/protobuf v1.3.2 // indirect github.com/google/go-cmp v0.6.0 github.com/google/gofuzz v1.2.0 github.com/jhump/protoreflect v1.17.0 @@ -126,7 +127,6 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/googleapis v1.4.1 // indirect - github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v0.0.4 // indirect diff --git a/tests/integration/gov/common_test.go b/tests/integration/gov/common_test.go deleted file mode 100644 index b2fe831877ee..000000000000 --- a/tests/integration/gov/common_test.go +++ /dev/null @@ -1,126 +0,0 @@ -package gov_test - -import ( - "bytes" - "log" - "sort" - "testing" - - "github.com/stretchr/testify/require" - "gotest.tools/v3/assert" - - "cosmossdk.io/depinject" - sdklog "cosmossdk.io/log" - "cosmossdk.io/math" - _ "cosmossdk.io/x/accounts" - _ "cosmossdk.io/x/bank" - _ "cosmossdk.io/x/consensus" - "cosmossdk.io/x/gov/types" - v1 "cosmossdk.io/x/gov/types/v1" - "cosmossdk.io/x/gov/types/v1beta1" - _ "cosmossdk.io/x/protocolpool" - _ "cosmossdk.io/x/staking" - stakingtypes "cosmossdk.io/x/staking/types" - - "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" - cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" - "github.com/cosmos/cosmos-sdk/testutil/configurator" - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" - _ "github.com/cosmos/cosmos-sdk/x/auth" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" -) - -var ( - valTokens = sdk.TokensFromConsensusPower(42, sdk.DefaultPowerReduction) - TestProposal = v1beta1.NewTextProposal("Test", "description") - TestDescription = stakingtypes.NewDescription("T", "E", "S", "T", "Z", &stakingtypes.Metadata{}) - TestCommissionRates = stakingtypes.NewCommissionRates(math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec()) -) - -// mkTestLegacyContent creates a MsgExecLegacyContent for testing purposes. -func mkTestLegacyContent(t *testing.T) *v1.MsgExecLegacyContent { - t.Helper() - msgContent, err := v1.NewLegacyContent(TestProposal, authtypes.NewModuleAddress(types.ModuleName).String()) - assert.NilError(t, err) - - return msgContent -} - -var pubkeys = []cryptotypes.PubKey{ - ed25519.GenPrivKey().PubKey(), - ed25519.GenPrivKey().PubKey(), - ed25519.GenPrivKey().PubKey(), -} - -// SortAddresses - Sorts Addresses -func SortAddresses(addrs []sdk.AccAddress) { - byteAddrs := make([][]byte, len(addrs)) - - for i, addr := range addrs { - byteAddrs[i] = addr.Bytes() - } - - SortByteArrays(byteAddrs) - - for i, byteAddr := range byteAddrs { - addrs[i] = byteAddr - } -} - -// implement `Interface` in sort package. -type sortByteArrays [][]byte - -func (b sortByteArrays) Len() int { - return len(b) -} - -func (b sortByteArrays) Less(i, j int) bool { - // bytes package already implements Comparable for []byte. - switch bytes.Compare(b[i], b[j]) { - case -1: - return true - case 0, 1: - return false - default: - log.Panic("not fail-able with `bytes.Comparable` bounded [-1, 1].") - return false - } -} - -func (b sortByteArrays) Swap(i, j int) { - b[j], b[i] = b[i], b[j] -} - -// SortByteArrays - sorts the provided byte array -func SortByteArrays(src [][]byte) [][]byte { - sorted := sortByteArrays(src) - sort.Sort(sorted) - return sorted -} - -func createTestSuite(t *testing.T) suite { - t.Helper() - res := suite{} - - app, err := simtestutil.SetupWithConfiguration( - depinject.Configs( - configurator.NewAppConfig( - configurator.AccountsModule(), - configurator.AuthModule(), - configurator.StakingModule(), - configurator.BankModule(), - configurator.GovModule(), - configurator.ConsensusModule(), - configurator.ProtocolPoolModule(), - ), - depinject.Supply(sdklog.NewNopLogger()), - ), - simtestutil.DefaultStartUpConfig(), - &res.AccountKeeper, &res.BankKeeper, &res.GovKeeper, &res.StakingKeeper, - ) - require.NoError(t, err) - - res.app = app - return res -} diff --git a/tests/integration/gov/keeper/keeper_test.go b/tests/integration/gov/keeper/keeper_test.go deleted file mode 100644 index c40e847cc632..000000000000 --- a/tests/integration/gov/keeper/keeper_test.go +++ /dev/null @@ -1,180 +0,0 @@ -package keeper_test - -import ( - "context" - "testing" - - "go.uber.org/mock/gomock" - - "cosmossdk.io/core/appmodule" - "cosmossdk.io/log" - storetypes "cosmossdk.io/store/types" - "cosmossdk.io/x/bank" - bankkeeper "cosmossdk.io/x/bank/keeper" - banktypes "cosmossdk.io/x/bank/types" - "cosmossdk.io/x/consensus" - consensusparamkeeper "cosmossdk.io/x/consensus/keeper" - consensusparamtypes "cosmossdk.io/x/consensus/types" - "cosmossdk.io/x/gov" - "cosmossdk.io/x/gov/keeper" - "cosmossdk.io/x/gov/types" - v1 "cosmossdk.io/x/gov/types/v1" - "cosmossdk.io/x/gov/types/v1beta1" - minttypes "cosmossdk.io/x/mint/types" - poolkeeper "cosmossdk.io/x/protocolpool/keeper" - pooltypes "cosmossdk.io/x/protocolpool/types" - "cosmossdk.io/x/staking" - stakingkeeper "cosmossdk.io/x/staking/keeper" - stakingtypes "cosmossdk.io/x/staking/types" - - "github.com/cosmos/cosmos-sdk/baseapp" - addresscodec "github.com/cosmos/cosmos-sdk/codec/address" - codectestutil "github.com/cosmos/cosmos-sdk/codec/testutil" - "github.com/cosmos/cosmos-sdk/runtime" - "github.com/cosmos/cosmos-sdk/testutil/integration" - sdk "github.com/cosmos/cosmos-sdk/types" - moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" - "github.com/cosmos/cosmos-sdk/x/auth" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - authsims "github.com/cosmos/cosmos-sdk/x/auth/simulation" - authtestutil "github.com/cosmos/cosmos-sdk/x/auth/testutil" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" -) - -type fixture struct { - ctx sdk.Context - - queryClient v1.QueryClient - legacyQueryClient v1beta1.QueryClient - - accountKeeper authkeeper.AccountKeeper - bankKeeper bankkeeper.Keeper - stakingKeeper *stakingkeeper.Keeper - govKeeper *keeper.Keeper -} - -func initFixture(tb testing.TB) *fixture { - tb.Helper() - keys := storetypes.NewKVStoreKeys( - authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, pooltypes.StoreKey, types.StoreKey, consensusparamtypes.StoreKey, - ) - encodingCfg := moduletestutil.MakeTestEncodingConfig(codectestutil.CodecOptions{}, auth.AppModule{}, bank.AppModule{}, gov.AppModule{}) - cdc := encodingCfg.Codec - - logger := log.NewTestLogger(tb) - authority := authtypes.NewModuleAddress(types.ModuleName) - - maccPerms := map[string][]string{ - pooltypes.ModuleName: {}, - pooltypes.StreamAccount: {}, - pooltypes.ProtocolPoolDistrAccount: {}, - minttypes.ModuleName: {authtypes.Minter}, - stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, - stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, - types.ModuleName: {authtypes.Burner}, - } - - // gomock initializations - ctrl := gomock.NewController(tb) - acctsModKeeper := authtestutil.NewMockAccountsModKeeper(ctrl) - accNum := uint64(0) - acctsModKeeper.EXPECT().NextAccountNumber(gomock.Any()).AnyTimes().DoAndReturn(func(ctx context.Context) (uint64, error) { - currentNum := accNum - accNum++ - return currentNum, nil - }) - - accountKeeper := authkeeper.NewAccountKeeper( - runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), - cdc, - authtypes.ProtoBaseAccount, - acctsModKeeper, - maccPerms, - addresscodec.NewBech32Codec(sdk.Bech32MainPrefix), - sdk.Bech32MainPrefix, - authority.String(), - ) - - blockedAddresses := map[string]bool{ - accountKeeper.GetAuthority(): false, - } - bankKeeper := bankkeeper.NewBaseKeeper( - runtime.NewEnvironment(runtime.NewKVStoreService(keys[banktypes.StoreKey]), log.NewNopLogger()), - cdc, - accountKeeper, - blockedAddresses, - authority.String(), - ) - - router := baseapp.NewMsgServiceRouter() - queryRouter := baseapp.NewGRPCQueryRouter() - consensusParamsKeeper := consensusparamkeeper.NewKeeper(cdc, runtime.NewEnvironment(runtime.NewKVStoreService(keys[consensusparamtypes.StoreKey]), log.NewNopLogger(), runtime.EnvWithQueryRouterService(queryRouter), runtime.EnvWithMsgRouterService(router)), authtypes.NewModuleAddress("gov").String()) - - stakingKeeper := stakingkeeper.NewKeeper(cdc, runtime.NewEnvironment(runtime.NewKVStoreService(keys[stakingtypes.StoreKey]), log.NewNopLogger()), accountKeeper, bankKeeper, consensusParamsKeeper, authority.String(), addresscodec.NewBech32Codec(sdk.Bech32PrefixValAddr), addresscodec.NewBech32Codec(sdk.Bech32PrefixConsAddr), runtime.NewContextAwareCometInfoService()) - - poolKeeper := poolkeeper.NewKeeper(cdc, runtime.NewEnvironment(runtime.NewKVStoreService(keys[pooltypes.StoreKey]), log.NewNopLogger()), accountKeeper, bankKeeper, authority.String()) - - // Create MsgServiceRouter, but don't populate it before creating the gov - // keeper. - router.SetInterfaceRegistry(cdc.InterfaceRegistry()) - queryRouter.SetInterfaceRegistry(cdc.InterfaceRegistry()) - - govKeeper := keeper.NewKeeper( - cdc, - runtime.NewEnvironment(runtime.NewKVStoreService(keys[types.StoreKey]), log.NewNopLogger(), runtime.EnvWithQueryRouterService(queryRouter), runtime.EnvWithMsgRouterService(router)), - accountKeeper, - bankKeeper, - stakingKeeper, - poolKeeper, - keeper.DefaultConfig(), - authority.String(), - ) - govRouter := v1beta1.NewRouter() - govRouter.AddRoute(types.RouterKey, v1beta1.ProposalHandler) - govKeeper.SetLegacyRouter(govRouter) - - authModule := auth.NewAppModule(cdc, accountKeeper, acctsModKeeper, authsims.RandomGenesisAccounts, nil) - bankModule := bank.NewAppModule(cdc, bankKeeper, accountKeeper) - stakingModule := staking.NewAppModule(cdc, stakingKeeper) - govModule := gov.NewAppModule(cdc, govKeeper, accountKeeper, bankKeeper, poolKeeper) - consensusModule := consensus.NewAppModule(cdc, consensusParamsKeeper) - - integrationApp := integration.NewIntegrationApp(logger, keys, cdc, - encodingCfg.InterfaceRegistry.SigningContext().AddressCodec(), - encodingCfg.InterfaceRegistry.SigningContext().ValidatorAddressCodec(), - map[string]appmodule.AppModule{ - authtypes.ModuleName: authModule, - banktypes.ModuleName: bankModule, - stakingtypes.ModuleName: stakingModule, - types.ModuleName: govModule, - consensusparamtypes.ModuleName: consensusModule, - }, - baseapp.NewMsgServiceRouter(), - baseapp.NewGRPCQueryRouter(), - ) - - sdkCtx := sdk.UnwrapSDKContext(integrationApp.Context()) - - msgSrvr := keeper.NewMsgServerImpl(govKeeper) - legacyMsgSrvr := keeper.NewLegacyMsgServerImpl(authority.String(), msgSrvr) - - // Register MsgServer and QueryServer - v1.RegisterMsgServer(router, msgSrvr) - v1beta1.RegisterMsgServer(router, legacyMsgSrvr) - - v1.RegisterQueryServer(integrationApp.QueryHelper(), keeper.NewQueryServer(govKeeper)) - v1beta1.RegisterQueryServer(integrationApp.QueryHelper(), keeper.NewLegacyQueryServer(govKeeper)) - - queryClient := v1.NewQueryClient(integrationApp.QueryHelper()) - legacyQueryClient := v1beta1.NewQueryClient(integrationApp.QueryHelper()) - - return &fixture{ - ctx: sdkCtx, - queryClient: queryClient, - legacyQueryClient: legacyQueryClient, - accountKeeper: accountKeeper, - bankKeeper: bankKeeper, - stakingKeeper: stakingKeeper, - govKeeper: govKeeper, - } -} diff --git a/tests/integration/gov/module_test.go b/tests/integration/gov/module_test.go deleted file mode 100644 index 826f6a7d68d6..000000000000 --- a/tests/integration/gov/module_test.go +++ /dev/null @@ -1,43 +0,0 @@ -package gov_test - -import ( - "testing" - - "gotest.tools/v3/assert" - - "cosmossdk.io/depinject" - "cosmossdk.io/log" - _ "cosmossdk.io/x/accounts" - "cosmossdk.io/x/gov/types" - _ "cosmossdk.io/x/mint" - _ "cosmossdk.io/x/protocolpool" - - "github.com/cosmos/cosmos-sdk/testutil/configurator" - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" -) - -func TestItCreatesModuleAccountOnInitBlock(t *testing.T) { - var accountKeeper authkeeper.AccountKeeper - app, err := simtestutil.SetupAtGenesis( - depinject.Configs( - configurator.NewAppConfig( - configurator.AccountsModule(), - configurator.AuthModule(), - configurator.StakingModule(), - configurator.BankModule(), - configurator.GovModule(), - configurator.ConsensusModule(), - configurator.ProtocolPoolModule(), - ), - depinject.Supply(log.NewNopLogger()), - ), - &accountKeeper, - ) - assert.NilError(t, err) - - ctx := app.BaseApp.NewContext(false) - acc := accountKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) - assert.Assert(t, acc != nil) -} diff --git a/tests/integration/v2/app.go b/tests/integration/v2/app.go index 72a4873cba6b..abb55a748082 100644 --- a/tests/integration/v2/app.go +++ b/tests/integration/v2/app.go @@ -17,6 +17,7 @@ import ( corebranch "cosmossdk.io/core/branch" "cosmossdk.io/core/comet" corecontext "cosmossdk.io/core/context" + "cosmossdk.io/core/gas" "cosmossdk.io/core/header" "cosmossdk.io/core/server" corestore "cosmossdk.io/core/store" @@ -99,6 +100,8 @@ type StartupConfig struct { RouterServiceBuilder runtime.RouterServiceBuilder // HeaderService defines the custom header service to be used in the app. HeaderService header.Service + + GasService gas.Service } func DefaultStartUpConfig(t *testing.T) StartupConfig { @@ -129,6 +132,7 @@ func DefaultStartUpConfig(t *testing.T) StartupConfig { stf.NewMsgRouterService, stf.NewQueryRouterService(), ), HeaderService: services.NewGenesisHeaderService(stf.HeaderService{}), + GasService: stf.NewGasMeterService(), } } @@ -193,9 +197,11 @@ func NewApp( startupConfig.BranchService, startupConfig.RouterServiceBuilder, startupConfig.HeaderService, + startupConfig.GasService, ), depinject.Invoke( std.RegisterInterfaces, + std.RegisterLegacyAminoCodec, ), ), append(extraOutputs, &appBuilder, &cdc, &txConfigOptions, &txConfig, &storeBuilder)...); err != nil { @@ -336,7 +342,7 @@ func (a *App) Deliver( require.NoError(t, err) a.lastHeight++ - // update block height if integration context is present + // update block height and block time if integration context is present iCtx, ok := ctx.Value(contextKey).(*integrationContext) if ok { iCtx.header.Height = int64(a.lastHeight) diff --git a/tests/integration/v2/genesis.go b/tests/integration/v2/genesis.go index d101ce3e8672..13d37be9b770 100644 --- a/tests/integration/v2/genesis.go +++ b/tests/integration/v2/genesis.go @@ -147,6 +147,12 @@ type genesisTxCodec struct { tx.ConfigOptions } +func NewGenesisTxCodec(txConfigOptions tx.ConfigOptions) *genesisTxCodec { + return &genesisTxCodec{ + txConfigOptions, + } +} + // Decode implements transaction.Codec. func (t *genesisTxCodec) Decode(bz []byte) (stateMachineTx, error) { var out stateMachineTx diff --git a/tests/integration/gov/abci_test.go b/tests/integration/v2/gov/abci_test.go similarity index 81% rename from tests/integration/gov/abci_test.go rename to tests/integration/v2/gov/abci_test.go index ff1664ed4f0d..24d7c7d497ab 100644 --- a/tests/integration/gov/abci_test.go +++ b/tests/integration/v2/gov/abci_test.go @@ -1,6 +1,7 @@ -package gov_test +package gov import ( + "context" "testing" "time" @@ -16,20 +17,21 @@ import ( stakingtypes "cosmossdk.io/x/staking/types" addresscodec "github.com/cosmos/cosmos-sdk/codec/address" + "github.com/cosmos/cosmos-sdk/tests/integration/v2" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ) func TestUnregisteredProposal_InactiveProposalFails(t *testing.T) { - suite := createTestSuite(t) - ctx := suite.app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 10, valTokens) - addr0Str, err := suite.AccountKeeper.AddressCodec().BytesToString(addrs[0]) + addr0Str, err := suite.AuthKeeper.AddressCodec().BytesToString(addrs[0]) require.NoError(t, err) // manually set proposal in store - startTime, endTime := time.Now().Add(-4*time.Hour), ctx.BlockHeader().Time + startTime, endTime := time.Now().Add(-4*time.Hour), time.Now() proposal, err := v1.NewProposal([]sdk.Msg{ &v1.Proposal{}, // invalid proposal message }, 1, startTime, startTime, "", "Unsupported proposal", "Unsupported proposal", addr0Str, v1.ProposalType_PROPOSAL_TYPE_STANDARD) @@ -50,13 +52,14 @@ func TestUnregisteredProposal_InactiveProposalFails(t *testing.T) { } func TestUnregisteredProposal_ActiveProposalFails(t *testing.T) { - suite := createTestSuite(t) - ctx := suite.app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 10, valTokens) - addr0Str, err := suite.AccountKeeper.AddressCodec().BytesToString(addrs[0]) + addr0Str, err := suite.AuthKeeper.AddressCodec().BytesToString(addrs[0]) require.NoError(t, err) // manually set proposal in store - startTime, endTime := time.Now().Add(-4*time.Hour), ctx.BlockHeader().Time + header := integration.HeaderInfoFromContext(ctx) + startTime, endTime := time.Now().Add(-4*time.Hour), header.Time proposal, err := v1.NewProposal([]sdk.Msg{ &v1.Proposal{}, // invalid proposal message }, 1, startTime, startTime, "", "Unsupported proposal", "Unsupported proposal", addr0Str, v1.ProposalType_PROPOSAL_TYPE_STANDARD) @@ -80,9 +83,8 @@ func TestUnregisteredProposal_ActiveProposalFails(t *testing.T) { } func TestTickExpiredDepositPeriod(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 10, valTokens) govMsgSvr := keeper.NewMsgServerImpl(suite.GovKeeper) @@ -102,23 +104,22 @@ func TestTickExpiredDepositPeriod(t *testing.T) { require.NoError(t, err) require.NotNil(t, res) - newHeader := ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(time.Duration(1) * time.Second) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader := integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(time.Duration(1) * time.Second) + ctx = integration.SetHeaderInfo(ctx, newHeader) params, _ := suite.GovKeeper.Params.Get(ctx) - newHeader = ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(*params.MaxDepositPeriod) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader = integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(*params.MaxDepositPeriod) + ctx = integration.SetHeaderInfo(ctx, newHeader) err = suite.GovKeeper.EndBlocker(ctx) require.NoError(t, err) } func TestTickMultipleExpiredDepositPeriod(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 10, valTokens) govMsgSvr := keeper.NewMsgServerImpl(suite.GovKeeper) @@ -137,9 +138,9 @@ func TestTickMultipleExpiredDepositPeriod(t *testing.T) { require.NoError(t, err) require.NotNil(t, res) - newHeader := ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(time.Duration(2) * time.Second) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader := integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(time.Duration(2) * time.Second) + ctx = integration.SetHeaderInfo(ctx, newHeader) newProposalMsg2, err := v1.NewMsgSubmitProposal( []sdk.Msg{mkTestLegacyContent(t)}, @@ -156,23 +157,22 @@ func TestTickMultipleExpiredDepositPeriod(t *testing.T) { require.NoError(t, err) require.NotNil(t, res) - newHeader = ctx.HeaderInfo() + newHeader = integration.HeaderInfoFromContext(ctx) params, _ := suite.GovKeeper.Params.Get(ctx) - newHeader.Time = ctx.HeaderInfo().Time.Add(*params.MaxDepositPeriod).Add(time.Duration(-1) * time.Second) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader.Time = newHeader.Time.Add(*params.MaxDepositPeriod).Add(time.Duration(-1) * time.Second) + ctx = integration.SetHeaderInfo(ctx, newHeader) require.NoError(t, suite.GovKeeper.EndBlocker(ctx)) - newHeader = ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(time.Duration(5) * time.Second) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader = integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(time.Duration(5) * time.Second) + ctx = integration.SetHeaderInfo(ctx, newHeader) require.NoError(t, suite.GovKeeper.EndBlocker(ctx)) } func TestTickPassedDepositPeriod(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 10, valTokens) govMsgSvr := keeper.NewMsgServerImpl(suite.GovKeeper) @@ -193,11 +193,11 @@ func TestTickPassedDepositPeriod(t *testing.T) { proposalID := res.ProposalId - newHeader := ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(time.Duration(1) * time.Second) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader := integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(time.Duration(1) * time.Second) + ctx = integration.SetHeaderInfo(ctx, newHeader) - addr1Str, err := suite.AccountKeeper.AddressCodec().BytesToString(addrs[1]) + addr1Str, err := suite.AuthKeeper.AddressCodec().BytesToString(addrs[1]) require.NoError(t, err) newDepositMsg := v1.NewMsgDeposit(addr1Str, proposalID, sdk.Coins{sdk.NewInt64Coin(sdk.DefaultBondDenom, 100000)}) @@ -207,9 +207,8 @@ func TestTickPassedDepositPeriod(t *testing.T) { } func TestProposalDepositRefundFailEndBlocker(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 10, valTokens) govMsgSvr := keeper.NewMsgServerImpl(suite.GovKeeper) @@ -246,15 +245,15 @@ func TestProposalDepositRefundFailEndBlocker(t *testing.T) { require.NoError(t, err) // fast forward to the end of the voting period - newHeader := ctx.HeaderInfo() + newHeader := integration.HeaderInfoFromContext(ctx) newHeader.Time = proposal.VotingEndTime.Add(time.Duration(100) * time.Second) - ctx = ctx.WithHeaderInfo(newHeader) + ctx = integration.SetHeaderInfo(ctx, newHeader) err = suite.GovKeeper.EndBlocker(ctx) require.NoError(t, err) // no error, means does not halt the chain - events := ctx.EventManager().Events() - attr, ok := events.GetAttributes(types.AttributeKeyProposalDepositError) + events := integration.EventsFromContext(ctx) + attr, ok := integration.GetAttributes(events, types.AttributeKeyProposalDepositError) require.True(t, ok) require.Contains(t, attr[0].Value, "failed to refund or burn deposits") } @@ -275,9 +274,8 @@ func TestTickPassedVotingPeriod(t *testing.T) { for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx depositMultiplier := getDepositMultiplier(tc.proposalType) addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 10, valTokens.Mul(math.NewInt(depositMultiplier))) @@ -294,11 +292,11 @@ func TestTickPassedVotingPeriod(t *testing.T) { proposalID := res.ProposalId - newHeader := ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(time.Duration(1) * time.Second) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader := integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(time.Duration(1) * time.Second) + ctx = integration.SetHeaderInfo(ctx, newHeader) - addr1Str, err := suite.AccountKeeper.AddressCodec().BytesToString(addrs[1]) + addr1Str, err := suite.AuthKeeper.AddressCodec().BytesToString(addrs[1]) require.NoError(t, err) newDepositMsg := v1.NewMsgDeposit(addr1Str, proposalID, proposalCoins) @@ -312,9 +310,9 @@ func TestTickPassedVotingPeriod(t *testing.T) { votingPeriod = params.ExpeditedVotingPeriod } - newHeader = ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(*params.MaxDepositPeriod).Add(*votingPeriod) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader = integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(*params.MaxDepositPeriod).Add(*votingPeriod) + ctx = integration.SetHeaderInfo(ctx, newHeader) proposal, err := suite.GovKeeper.Proposals.Get(ctx, res.ProposalId) require.NoError(t, err) @@ -354,9 +352,8 @@ func TestProposalPassedEndblocker(t *testing.T) { for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx depositMultiplier := getDepositMultiplier(tc.proposalType) addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 10, valTokens.Mul(math.NewInt(depositMultiplier))) @@ -366,8 +363,8 @@ func TestProposalPassedEndblocker(t *testing.T) { stakingMsgSvr := stakingkeeper.NewMsgServerImpl(suite.StakingKeeper) valAddr := sdk.ValAddress(addrs[0]) proposer := addrs[0] - acc := suite.AccountKeeper.NewAccountWithAddress(ctx, addrs[0]) - suite.AccountKeeper.SetAccount(ctx, acc) + acc := suite.AuthKeeper.NewAccountWithAddress(ctx, addrs[0]) + suite.AuthKeeper.SetAccount(ctx, acc) createValidators(t, stakingMsgSvr, ctx, []sdk.ValAddress{valAddr}, []int64{10}) _, err := suite.StakingKeeper.EndBlocker(ctx) @@ -380,7 +377,7 @@ func TestProposalPassedEndblocker(t *testing.T) { require.NoError(t, err) proposalCoins := sdk.Coins{sdk.NewCoin(sdk.DefaultBondDenom, suite.StakingKeeper.TokensFromConsensusPower(ctx, 10*depositMultiplier))} - addr0Str, err := suite.AccountKeeper.AddressCodec().BytesToString(addrs[0]) + addr0Str, err := suite.AuthKeeper.AddressCodec().BytesToString(addrs[0]) require.NoError(t, err) newDepositMsg := v1.NewMsgDeposit(addr0Str, proposal.Id, proposalCoins) @@ -398,10 +395,10 @@ func TestProposalPassedEndblocker(t *testing.T) { err = suite.GovKeeper.AddVote(ctx, proposal.Id, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), "") require.NoError(t, err) - newHeader := ctx.HeaderInfo() + newHeader := integration.HeaderInfoFromContext(ctx) params, _ := suite.GovKeeper.Params.Get(ctx) - newHeader.Time = ctx.HeaderInfo().Time.Add(*params.MaxDepositPeriod).Add(*params.VotingPeriod) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader.Time = newHeader.Time.Add(*params.MaxDepositPeriod).Add(*params.VotingPeriod) + ctx = integration.SetHeaderInfo(ctx, newHeader) err = suite.GovKeeper.EndBlocker(ctx) require.NoError(t, err) @@ -413,9 +410,8 @@ func TestProposalPassedEndblocker(t *testing.T) { } func TestEndBlockerProposalHandlerFailed(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 1, valTokens) SortAddresses(addrs) @@ -431,8 +427,8 @@ func TestEndBlockerProposalHandlerFailed(t *testing.T) { toAddrStr, err := ac.BytesToString(addrs[0]) require.NoError(t, err) - acc := suite.AccountKeeper.NewAccountWithAddress(ctx, addrs[0]) - suite.AccountKeeper.SetAccount(ctx, acc) + acc := suite.AuthKeeper.NewAccountWithAddress(ctx, addrs[0]) + suite.AuthKeeper.SetAccount(ctx, acc) createValidators(t, stakingMsgSvr, ctx, []sdk.ValAddress{valAddr}, []int64{10}) _, err = suite.StakingKeeper.EndBlocker(ctx) @@ -442,7 +438,7 @@ func TestEndBlockerProposalHandlerFailed(t *testing.T) { require.NoError(t, err) proposalCoins := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, suite.StakingKeeper.TokensFromConsensusPower(ctx, 10))) - addr0Str, err := suite.AccountKeeper.AddressCodec().BytesToString(addrs[0]) + addr0Str, err := suite.AuthKeeper.AddressCodec().BytesToString(addrs[0]) require.NoError(t, err) newDepositMsg := v1.NewMsgDeposit(addr0Str, proposal.Id, proposalCoins) @@ -455,16 +451,16 @@ func TestEndBlockerProposalHandlerFailed(t *testing.T) { require.NoError(t, err) params, _ := suite.GovKeeper.Params.Get(ctx) - newHeader := ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(*params.MaxDepositPeriod).Add(*params.VotingPeriod) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader := integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(*params.MaxDepositPeriod).Add(*params.VotingPeriod) + ctx = integration.SetHeaderInfo(ctx, newHeader) // validate that the proposal fails/has been rejected err = suite.GovKeeper.EndBlocker(ctx) require.NoError(t, err) // check proposal events - events := ctx.EventManager().Events() - attr, eventOk := events.GetAttributes(types.AttributeKeyProposalLog) + events := integration.EventsFromContext(ctx) + attr, eventOk := integration.GetAttributes(events, types.AttributeKeyProposalLog) require.True(t, eventOk) require.Contains(t, attr[0].Value, "failed on execution") @@ -499,9 +495,8 @@ func TestExpeditedProposal_PassAndConversionToRegular(t *testing.T) { for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx depositMultiplier := getDepositMultiplier(v1.ProposalType_PROPOSAL_TYPE_EXPEDITED) addrs := simtestutil.AddTestAddrs(suite.BankKeeper, suite.StakingKeeper, ctx, 3, valTokens.Mul(math.NewInt(depositMultiplier))) params, err := suite.GovKeeper.Params.Get(ctx) @@ -514,8 +509,8 @@ func TestExpeditedProposal_PassAndConversionToRegular(t *testing.T) { valAddr := sdk.ValAddress(addrs[0]) proposer := addrs[0] - acc := suite.AccountKeeper.NewAccountWithAddress(ctx, addrs[0]) - suite.AccountKeeper.SetAccount(ctx, acc) + acc := suite.AuthKeeper.NewAccountWithAddress(ctx, addrs[0]) + suite.AuthKeeper.SetAccount(ctx, acc) // Create a validator so that able to vote on proposal. createValidators(t, stakingMsgSvr, ctx, []sdk.ValAddress{valAddr}, []int64{10}) _, err = suite.StakingKeeper.EndBlocker(ctx) @@ -538,11 +533,11 @@ func TestExpeditedProposal_PassAndConversionToRegular(t *testing.T) { proposalID := res.ProposalId - newHeader := ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(time.Duration(1) * time.Second) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader := integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(time.Duration(1) * time.Second) + ctx = integration.SetHeaderInfo(ctx, newHeader) - addr1Str, err := suite.AccountKeeper.AddressCodec().BytesToString(addrs[1]) + addr1Str, err := suite.AuthKeeper.AddressCodec().BytesToString(addrs[1]) require.NoError(t, err) newDepositMsg := v1.NewMsgDeposit(addr1Str, proposalID, proposalCoins) @@ -550,9 +545,9 @@ func TestExpeditedProposal_PassAndConversionToRegular(t *testing.T) { require.NoError(t, err) require.NotNil(t, res1) - newHeader = ctx.HeaderInfo() - newHeader.Time = ctx.HeaderInfo().Time.Add(*params.MaxDepositPeriod).Add(*params.ExpeditedVotingPeriod) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader = integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(*params.MaxDepositPeriod).Add(*params.ExpeditedVotingPeriod) + ctx = integration.SetHeaderInfo(ctx, newHeader) proposal, err := suite.GovKeeper.Proposals.Get(ctx, res.ProposalId) require.Nil(t, err) @@ -604,8 +599,9 @@ func TestExpeditedProposal_PassAndConversionToRegular(t *testing.T) { require.Equal(t, expectedIntermediateMofuleAccCoings, intermediateModuleAccCoins) // block header time at the voting period - newHeader.Time = ctx.HeaderInfo().Time.Add(*params.MaxDepositPeriod).Add(*params.VotingPeriod) - ctx = ctx.WithHeaderInfo(newHeader) + newHeader = integration.HeaderInfoFromContext(ctx) + newHeader.Time = newHeader.Time.Add(*params.MaxDepositPeriod).Add(*params.VotingPeriod) + ctx = integration.SetHeaderInfo(ctx, newHeader) if tc.regularEventuallyPassing { // Validator votes YES, letting the converted regular proposal pass. @@ -646,7 +642,7 @@ func TestExpeditedProposal_PassAndConversionToRegular(t *testing.T) { } } -func createValidators(t *testing.T, stakingMsgSvr stakingtypes.MsgServer, ctx sdk.Context, addrs []sdk.ValAddress, powerAmt []int64) { +func createValidators(t *testing.T, stakingMsgSvr stakingtypes.MsgServer, ctx context.Context, addrs []sdk.ValAddress, powerAmt []int64) { t.Helper() require.True(t, len(addrs) <= len(pubkeys), "Not enough pubkeys specified at top of file.") diff --git a/tests/integration/v2/gov/common_test.go b/tests/integration/v2/gov/common_test.go new file mode 100644 index 000000000000..c630f8602f85 --- /dev/null +++ b/tests/integration/v2/gov/common_test.go @@ -0,0 +1,207 @@ +package gov + +import ( + "bytes" + "context" + "log" + "sort" + "testing" + + "github.com/stretchr/testify/require" + "gotest.tools/v3/assert" + + "cosmossdk.io/core/router" + "cosmossdk.io/core/transaction" + "cosmossdk.io/depinject" + sdklog "cosmossdk.io/log" + "cosmossdk.io/math" + "cosmossdk.io/runtime/v2" + _ "cosmossdk.io/x/accounts" + _ "cosmossdk.io/x/bank" + bankkeeper "cosmossdk.io/x/bank/keeper" + banktypes "cosmossdk.io/x/bank/types" + _ "cosmossdk.io/x/consensus" + _ "cosmossdk.io/x/gov" + "cosmossdk.io/x/gov/keeper" + "cosmossdk.io/x/gov/types" + v1 "cosmossdk.io/x/gov/types/v1" + "cosmossdk.io/x/gov/types/v1beta1" + _ "cosmossdk.io/x/mint" + _ "cosmossdk.io/x/protocolpool" + _ "cosmossdk.io/x/staking" + stakingkeeper "cosmossdk.io/x/staking/keeper" + stakingtypes "cosmossdk.io/x/staking/types" + + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + "github.com/cosmos/cosmos-sdk/tests/integration/v2" + "github.com/cosmos/cosmos-sdk/testutil/configurator" + sdk "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/x/auth" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + "github.com/cosmos/cosmos-sdk/x/auth/tx" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" +) + +var ( + valTokens = sdk.TokensFromConsensusPower(42, sdk.DefaultPowerReduction) + TestProposal = v1beta1.NewTextProposal("Test", "description") + TestDescription = stakingtypes.NewDescription("T", "E", "S", "T", "Z", &stakingtypes.Metadata{}) + TestCommissionRates = stakingtypes.NewCommissionRates(math.LegacyZeroDec(), math.LegacyZeroDec(), math.LegacyZeroDec()) +) + +// mkTestLegacyContent creates a MsgExecLegacyContent for testing purposes. +func mkTestLegacyContent(t *testing.T) *v1.MsgExecLegacyContent { + t.Helper() + msgContent, err := v1.NewLegacyContent(TestProposal, authtypes.NewModuleAddress(types.ModuleName).String()) + assert.NilError(t, err) + + return msgContent +} + +var pubkeys = []cryptotypes.PubKey{ + ed25519.GenPrivKey().PubKey(), + ed25519.GenPrivKey().PubKey(), + ed25519.GenPrivKey().PubKey(), +} + +// SortAddresses - Sorts Addresses +func SortAddresses(addrs []sdk.AccAddress) { + byteAddrs := make([][]byte, len(addrs)) + + for i, addr := range addrs { + byteAddrs[i] = addr.Bytes() + } + + SortByteArrays(byteAddrs) + + for i, byteAddr := range byteAddrs { + addrs[i] = byteAddr + } +} + +// implement `Interface` in sort package. +type sortByteArrays [][]byte + +func (b sortByteArrays) Len() int { + return len(b) +} + +func (b sortByteArrays) Less(i, j int) bool { + // bytes package already implements Comparable for []byte. + switch bytes.Compare(b[i], b[j]) { + case -1: + return true + case 0, 1: + return false + default: + log.Panic("not fail-able with `bytes.Comparable` bounded [-1, 1].") + return false + } +} + +func (b sortByteArrays) Swap(i, j int) { + b[j], b[i] = b[i], b[j] +} + +// SortByteArrays - sorts the provided byte array +func SortByteArrays(src [][]byte) [][]byte { + sorted := sortByteArrays(src) + sort.Sort(sorted) + return sorted +} + +type suite struct { + cdc codec.Codec + app *integration.App + + ctx context.Context + + AuthKeeper authkeeper.AccountKeeper + BankKeeper bankkeeper.Keeper + GovKeeper *keeper.Keeper + StakingKeeper *stakingkeeper.Keeper + + txConfigOptions tx.ConfigOptions +} + +func createTestSuite(t *testing.T, genesisBehavior int) suite { + t.Helper() + res := suite{} + + moduleConfigs := []configurator.ModuleOption{ + configurator.AccountsModule(), + configurator.AuthModule(), + configurator.StakingModule(), + configurator.TxModule(), + configurator.BankModule(), + configurator.GovModule(), + configurator.MintModule(), + configurator.ConsensusModule(), + configurator.ProtocolPoolModule(), + } + + startupCfg := integration.DefaultStartUpConfig(t) + + msgRouterService := integration.NewRouterService() + res.registerMsgRouterService(msgRouterService) + + var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { + return msgRouterService + } + + queryRouterService := integration.NewRouterService() + res.registerQueryRouterService(queryRouterService) + serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) + + startupCfg.BranchService = &integration.BranchService{} + startupCfg.RouterServiceBuilder = serviceBuilder + startupCfg.HeaderService = &integration.HeaderService{} + startupCfg.GasService = &integration.GasService{} + startupCfg.GenesisBehavior = genesisBehavior + + app, err := integration.NewApp( + depinject.Configs(configurator.NewAppV2Config(moduleConfigs...), depinject.Supply(sdklog.NewNopLogger())), + startupCfg, + &res.AuthKeeper, &res.BankKeeper, &res.GovKeeper, &res.StakingKeeper, &res.cdc, &res.txConfigOptions, + ) + require.NoError(t, err) + + res.ctx = app.StateLatestContext(t) + res.app = app + return res +} + +func (s *suite) registerMsgRouterService(router *integration.RouterService) { + // register custom router service + bankSendHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { + msg, ok := req.(*banktypes.MsgSend) + if !ok { + return nil, integration.ErrInvalidMsgType + } + msgServer := bankkeeper.NewMsgServerImpl(s.BankKeeper) + resp, err := msgServer.Send(ctx, msg) + return resp, err + } + + router.RegisterHandler(bankSendHandler, "/cosmos.bank.v1beta1.MsgSend") + + // register custom router service + + govSubmitProposalHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { + msg, ok := req.(*v1.MsgExecLegacyContent) + if !ok { + return nil, integration.ErrInvalidMsgType + } + msgServer := keeper.NewMsgServerImpl(s.GovKeeper) + resp, err := msgServer.ExecLegacyContent(ctx, msg) + return resp, err + } + + router.RegisterHandler(govSubmitProposalHandler, "/cosmos.gov.v1.MsgExecLegacyContent") +} + +func (f *suite) registerQueryRouterService(router *integration.RouterService) { + +} diff --git a/tests/integration/gov/genesis_test.go b/tests/integration/v2/gov/genesis_test.go similarity index 54% rename from tests/integration/gov/genesis_test.go rename to tests/integration/v2/gov/genesis_test.go index 5f512be92a85..3149aad4c2c2 100644 --- a/tests/integration/gov/genesis_test.go +++ b/tests/integration/v2/gov/genesis_test.go @@ -1,86 +1,43 @@ -package gov_test +package gov import ( + "crypto/sha256" "encoding/json" "testing" + "time" - abci "github.com/cometbft/cometbft/api/cometbft/abci/v1" "github.com/stretchr/testify/require" "gotest.tools/v3/assert" "cosmossdk.io/core/header" - corestore "cosmossdk.io/core/store" - coretesting "cosmossdk.io/core/testing" - "cosmossdk.io/depinject" - "cosmossdk.io/log" + "cosmossdk.io/core/server" + "cosmossdk.io/core/transaction" sdkmath "cosmossdk.io/math" _ "cosmossdk.io/x/accounts" _ "cosmossdk.io/x/bank" - bankkeeper "cosmossdk.io/x/bank/keeper" banktypes "cosmossdk.io/x/bank/types" _ "cosmossdk.io/x/consensus" "cosmossdk.io/x/gov" - "cosmossdk.io/x/gov/keeper" "cosmossdk.io/x/gov/types" v1 "cosmossdk.io/x/gov/types/v1" _ "cosmossdk.io/x/staking" - stakingkeeper "cosmossdk.io/x/staking/keeper" stakingtypes "cosmossdk.io/x/staking/types" - "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/cosmos-sdk/runtime" - "github.com/cosmos/cosmos-sdk/testutil/configurator" + "github.com/cosmos/cosmos-sdk/tests/integration/v2" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/x/auth" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ) -type suite struct { - cdc codec.Codec - app *runtime.App - AccountKeeper authkeeper.AccountKeeper - BankKeeper bankkeeper.Keeper - GovKeeper *keeper.Keeper - StakingKeeper *stakingkeeper.Keeper - appBuilder *runtime.AppBuilder -} - -var appConfig = configurator.NewAppConfig( - configurator.AccountsModule(), - configurator.AuthModule(), - configurator.StakingModule(), - configurator.BankModule(), - configurator.GovModule(), - configurator.MintModule(), - configurator.ConsensusModule(), - configurator.ProtocolPoolModule(), -) - func TestImportExportQueues(t *testing.T) { var err error - s1 := suite{} - s1.app, err = simtestutil.SetupWithConfiguration( - depinject.Configs( - appConfig, - depinject.Supply(log.NewNopLogger()), - ), - simtestutil.DefaultStartUpConfig(), - &s1.AccountKeeper, &s1.BankKeeper, &s1.GovKeeper, &s1.StakingKeeper, &s1.cdc, &s1.appBuilder, - ) - assert.NilError(t, err) + s1 := createTestSuite(t, integration.Genesis_COMMIT) + ctx := s1.ctx - ctx := s1.app.BaseApp.NewContext(false) addrs := simtestutil.AddTestAddrs(s1.BankKeeper, s1.StakingKeeper, ctx, 1, valTokens) - _, err = s1.app.FinalizeBlock(&abci.FinalizeBlockRequest{ - Height: s1.app.LastBlockHeight() + 1, - }) - assert.NilError(t, err) - - ctx = s1.app.BaseApp.NewContext(false) // Create two proposals, put the second into the voting period proposal1, err := s1.GovKeeper.SubmitProposal(ctx, []sdk.Msg{mkTestLegacyContent(t)}, "", "test", "description", addrs[0], v1.ProposalType_PROPOSAL_TYPE_STANDARD) assert.NilError(t, err) @@ -103,7 +60,7 @@ func TestImportExportQueues(t *testing.T) { assert.Assert(t, proposal1.Status == v1.StatusDepositPeriod) assert.Assert(t, proposal2.Status == v1.StatusVotingPeriod) - authGenState, err := s1.AccountKeeper.ExportGenesis(ctx) + authGenState, err := s1.AuthKeeper.ExportGenesis(ctx) require.NoError(t, err) bankGenState, err := s1.BankKeeper.ExportGenesis(ctx) require.NoError(t, err) @@ -111,8 +68,10 @@ func TestImportExportQueues(t *testing.T) { require.NoError(t, err) // export the state and import it into a new app - govGenState, _ := gov.ExportGenesis(ctx, s1.GovKeeper) - genesisState := s1.appBuilder.DefaultGenesis() + govGenState, err := gov.ExportGenesis(ctx, s1.GovKeeper) + require.NoError(t, err) + + genesisState := s1.app.DefaultGenesis() genesisState[authtypes.ModuleName] = s1.cdc.MustMarshalJSON(authGenState) genesisState[banktypes.ModuleName] = s1.cdc.MustMarshalJSON(bankGenState) @@ -122,49 +81,34 @@ func TestImportExportQueues(t *testing.T) { stateBytes, err := json.MarshalIndent(genesisState, "", " ") assert.NilError(t, err) - s2 := suite{} - db := coretesting.NewMemDB() - conf2 := simtestutil.DefaultStartUpConfig() - conf2.DB = db - s2.app, err = simtestutil.SetupWithConfiguration( - depinject.Configs( - appConfig, - depinject.Supply(log.NewNopLogger()), - ), - conf2, - &s2.AccountKeeper, &s2.BankKeeper, &s2.GovKeeper, &s2.StakingKeeper, &s2.cdc, &s2.appBuilder, - ) - assert.NilError(t, err) - - clearDB(t, db) - err = s2.app.CommitMultiStore().LoadLatestVersion() - assert.NilError(t, err) + s2 := createTestSuite(t, integration.Genesis_SKIP) - _, err = s2.app.InitChain( - &abci.InitChainRequest{ - Validators: []abci.ValidatorUpdate{}, - ConsensusParams: simtestutil.DefaultConsensusParams, - AppStateBytes: stateBytes, + emptyHash := sha256.Sum256(nil) + _, newstate, err := s2.app.InitGenesis( + ctx, + &server.BlockRequest[transaction.Tx]{ + Height: 1, + Time: time.Now(), + Hash: emptyHash[:], + ChainId: "test-chain", + AppHash: emptyHash[:], + IsGenesis: true, }, + stateBytes, + integration.NewGenesisTxCodec(s2.txConfigOptions), ) assert.NilError(t, err) - _, err = s2.app.FinalizeBlock(&abci.FinalizeBlockRequest{ - Height: s2.app.LastBlockHeight() + 1, - }) - assert.NilError(t, err) - - _, err = s2.app.FinalizeBlock(&abci.FinalizeBlockRequest{ - Height: s2.app.LastBlockHeight() + 1, - }) + _, err = s2.app.Commit(newstate) assert.NilError(t, err) - ctx2 := s2.app.BaseApp.NewContext(false) + ctx2 := s2.app.StateLatestContext(t) params, err = s2.GovKeeper.Params.Get(ctx2) assert.NilError(t, err) // Jump the time forward past the DepositPeriod and VotingPeriod - ctx2 = ctx2.WithHeaderInfo(header.Info{Time: ctx2.BlockHeader().Time.Add(*params.MaxDepositPeriod).Add(*params.VotingPeriod)}) + h := integration.HeaderInfoFromContext(ctx2) + ctx2 = integration.SetHeaderInfo(ctx2, header.Info{Time: h.Time.Add(*params.MaxDepositPeriod).Add(*params.VotingPeriod)}) // Make sure that they are still in the DepositPeriod and VotingPeriod respectively proposal1, err = s2.GovKeeper.Proposals.Get(ctx2, proposalID1) @@ -189,29 +133,12 @@ func TestImportExportQueues(t *testing.T) { assert.Assert(t, proposal2.Status == v1.StatusRejected) } -func clearDB(t *testing.T, db corestore.KVStoreWithBatch) { - t.Helper() - iter, err := db.Iterator(nil, nil) - assert.NilError(t, err) - defer iter.Close() - - var keys [][]byte - for ; iter.Valid(); iter.Next() { - keys = append(keys, iter.Key()) - } - - for _, k := range keys { - assert.NilError(t, db.Delete(k)) - } -} - func TestImportExportQueues_ErrorUnconsistentState(t *testing.T) { - suite := createTestSuite(t) - app := suite.app - ctx := app.BaseApp.NewContext(false) + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx params := v1.DefaultParams() - err := gov.InitGenesis(ctx, suite.AccountKeeper, suite.BankKeeper, suite.GovKeeper, &v1.GenesisState{ + err := gov.InitGenesis(ctx, suite.AuthKeeper, suite.BankKeeper, suite.GovKeeper, &v1.GenesisState{ Deposits: v1.Deposits{ { ProposalId: 1234, @@ -227,7 +154,7 @@ func TestImportExportQueues_ErrorUnconsistentState(t *testing.T) { Params: ¶ms, }) require.Error(t, err) - err = gov.InitGenesis(ctx, suite.AccountKeeper, suite.BankKeeper, suite.GovKeeper, v1.DefaultGenesisState()) + err = gov.InitGenesis(ctx, suite.AuthKeeper, suite.BankKeeper, suite.GovKeeper, v1.DefaultGenesisState()) require.NoError(t, err) genState, err := gov.ExportGenesis(ctx, suite.GovKeeper) require.NoError(t, err) diff --git a/tests/integration/gov/keeper/common_test.go b/tests/integration/v2/gov/keeper/common_test.go similarity index 96% rename from tests/integration/gov/keeper/common_test.go rename to tests/integration/v2/gov/keeper/common_test.go index 51b84406c141..2e5289ddb8d5 100644 --- a/tests/integration/gov/keeper/common_test.go +++ b/tests/integration/v2/gov/keeper/common_test.go @@ -1,4 +1,4 @@ -package keeper_test +package keeper import ( "testing" @@ -59,7 +59,7 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres assert.NilError(t, f.stakingKeeper.SetNewValidatorByPowerIndex(f.ctx, val3)) for _, addr := range addrs { - f.accountKeeper.SetAccount(f.ctx, f.accountKeeper.NewAccountWithAddress(f.ctx, addr)) + f.authKeeper.SetAccount(f.ctx, f.authKeeper.NewAccountWithAddress(f.ctx, addr)) } _, _ = f.stakingKeeper.Delegate(f.ctx, addrs[0], f.stakingKeeper.TokensFromConsensusPower(f.ctx, powers[0]), stakingtypes.Unbonded, val1, true) diff --git a/tests/integration/v2/gov/keeper/fixture_test.go b/tests/integration/v2/gov/keeper/fixture_test.go new file mode 100644 index 000000000000..d9ed3e807a5d --- /dev/null +++ b/tests/integration/v2/gov/keeper/fixture_test.go @@ -0,0 +1,109 @@ +package keeper + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" + + "cosmossdk.io/core/router" + "cosmossdk.io/core/transaction" + "cosmossdk.io/depinject" + "cosmossdk.io/log" + "cosmossdk.io/runtime/v2" + _ "cosmossdk.io/x/accounts" + _ "cosmossdk.io/x/bank" + bankkeeper "cosmossdk.io/x/bank/keeper" + _ "cosmossdk.io/x/consensus" + _ "cosmossdk.io/x/gov" + govkeeper "cosmossdk.io/x/gov/keeper" + v1 "cosmossdk.io/x/gov/types/v1" + "cosmossdk.io/x/gov/types/v1beta1" + _ "cosmossdk.io/x/protocolpool" + _ "cosmossdk.io/x/staking" + stakingkeeper "cosmossdk.io/x/staking/keeper" + + "github.com/cosmos/cosmos-sdk/tests/integration/v2" + "github.com/cosmos/cosmos-sdk/testutil/configurator" + _ "github.com/cosmos/cosmos-sdk/x/auth" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" +) + +type fixture struct { + ctx context.Context + app *integration.App + + queryServer v1.QueryServer + legacyQueryServer v1beta1.QueryServer + + authKeeper authkeeper.AccountKeeper + bankKeeper bankkeeper.Keeper + stakingKeeper *stakingkeeper.Keeper + govKeeper *govkeeper.Keeper +} + +func initFixture(t *testing.T) *fixture { + t.Helper() + res := fixture{} + + moduleConfigs := []configurator.ModuleOption{ + configurator.AccountsModule(), + configurator.AuthModule(), + configurator.StakingModule(), + configurator.BankModule(), + configurator.TxModule(), + configurator.GovModule(), + configurator.ConsensusModule(), + configurator.ProtocolPoolModule(), + } + + startupCfg := integration.DefaultStartUpConfig(t) + + msgRouterService := integration.NewRouterService() + res.registerMsgRouterService(msgRouterService) + + var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { + return msgRouterService + } + + queryRouterService := integration.NewRouterService() + res.registerQueryRouterService(queryRouterService) + serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) + + startupCfg.BranchService = &integration.BranchService{} + startupCfg.RouterServiceBuilder = serviceBuilder + startupCfg.HeaderService = &integration.HeaderService{} + + app, err := integration.NewApp( + depinject.Configs(configurator.NewAppV2Config(moduleConfigs...), depinject.Supply(log.NewNopLogger())), + startupCfg, + &res.authKeeper, &res.bankKeeper, &res.govKeeper, &res.stakingKeeper) + require.NoError(t, err) + + res.app = app + res.ctx = app.StateLatestContext(t) + + res.queryServer = govkeeper.NewQueryServer(res.govKeeper) + res.legacyQueryServer = govkeeper.NewLegacyQueryServer(res.govKeeper) + return &res +} + +func (f *fixture) registerMsgRouterService(router *integration.RouterService) { + // register custom router service + + govSubmitProposalHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { + msg, ok := req.(*v1.MsgExecLegacyContent) + if !ok { + return nil, integration.ErrInvalidMsgType + } + msgServer := govkeeper.NewMsgServerImpl(f.govKeeper) + resp, err := msgServer.ExecLegacyContent(ctx, msg) + return resp, err + } + + router.RegisterHandler(govSubmitProposalHandler, "/cosmos.gov.v1.MsgExecLegacyContent") +} + +func (f *fixture) registerQueryRouterService(router *integration.RouterService) { + +} diff --git a/tests/integration/gov/keeper/grpc_query_test.go b/tests/integration/v2/gov/keeper/grpc_test.go similarity index 92% rename from tests/integration/gov/keeper/grpc_query_test.go rename to tests/integration/v2/gov/keeper/grpc_test.go index 44fc1ccc103e..c8a9be23d781 100644 --- a/tests/integration/gov/keeper/grpc_query_test.go +++ b/tests/integration/v2/gov/keeper/grpc_test.go @@ -1,7 +1,6 @@ -package keeper_test +package keeper import ( - gocontext "context" "fmt" "testing" @@ -16,7 +15,7 @@ func TestLegacyGRPCQueryTally(t *testing.T) { t.Parallel() f := initFixture(t) - ctx, queryClient := f.ctx, f.legacyQueryClient + ctx, queryServer := f.ctx, f.legacyQueryServer addrs, _ := createValidators(t, f, []int64{5, 5, 5}) var ( @@ -62,7 +61,7 @@ func TestLegacyGRPCQueryTally(t *testing.T) { t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() - tally, err := queryClient.TallyResult(gocontext.Background(), req) + tally, err := queryServer.TallyResult(f.ctx, req) if testCase.expPass { assert.NilError(t, err) diff --git a/tests/integration/gov/keeper/tally_test.go b/tests/integration/v2/gov/keeper/tally_test.go similarity index 99% rename from tests/integration/gov/keeper/tally_test.go rename to tests/integration/v2/gov/keeper/tally_test.go index f2b952076285..65f811bd7616 100644 --- a/tests/integration/gov/keeper/tally_test.go +++ b/tests/integration/v2/gov/keeper/tally_test.go @@ -1,4 +1,4 @@ -package keeper_test +package keeper import ( "testing" @@ -6,6 +6,7 @@ import ( "gotest.tools/v3/assert" "cosmossdk.io/math" + _ "cosmossdk.io/x/gov" v1 "cosmossdk.io/x/gov/types/v1" stakingtypes "cosmossdk.io/x/staking/types" diff --git a/tests/integration/v2/gov/module_test.go b/tests/integration/v2/gov/module_test.go new file mode 100644 index 000000000000..338e11f32310 --- /dev/null +++ b/tests/integration/v2/gov/module_test.go @@ -0,0 +1,23 @@ +package gov + +import ( + "testing" + + "gotest.tools/v3/assert" + + _ "cosmossdk.io/x/accounts" + "cosmossdk.io/x/gov/types" + _ "cosmossdk.io/x/mint" + _ "cosmossdk.io/x/protocolpool" + + "github.com/cosmos/cosmos-sdk/tests/integration/v2" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" +) + +func TestItCreatesModuleAccountOnInitBlock(t *testing.T) { + suite := createTestSuite(t, integration.Genesis_COMMIT) + ctx := suite.ctx + + acc := suite.AuthKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) + assert.Assert(t, acc != nil) +} diff --git a/tests/integration/v2/services.go b/tests/integration/v2/services.go index 241a07cdd82f..f608fd65fdb0 100644 --- a/tests/integration/v2/services.go +++ b/tests/integration/v2/services.go @@ -1,10 +1,13 @@ package integration import ( + "bytes" "context" + "encoding/json" "errors" "fmt" + "github.com/cosmos/gogoproto/jsonpb" gogoproto "github.com/cosmos/gogoproto/proto" "cosmossdk.io/core/branch" @@ -17,6 +20,7 @@ import ( "cosmossdk.io/core/server" corestore "cosmossdk.io/core/store" "cosmossdk.io/core/transaction" + "cosmossdk.io/server/v2/stf" stfgas "cosmossdk.io/server/v2/stf/gas" ) @@ -72,6 +76,7 @@ type integrationContext struct { state corestore.WriterMap gasMeter gas.Meter header header.Info + events []event.Event } func SetHeaderInfo(ctx context.Context, h header.Info) context.Context { @@ -95,6 +100,31 @@ func SetCometInfo(ctx context.Context, c comet.Info) context.Context { return context.WithValue(ctx, corecontext.CometInfoKey, c) } +func EventsFromContext(ctx context.Context) []event.Event { + iCtx, ok := ctx.Value(contextKey).(*integrationContext) + if !ok { + return nil + } + return iCtx.events +} + +func GetAttributes(e []event.Event, key string) ([]event.Attribute, bool) { + attrs := make([]event.Attribute, 0) + for _, event := range e { + attributes, err := event.Attributes() + if err != nil { + return nil, false + } + for _, attr := range attributes { + if attr.Key == key { + attrs = append(attrs, attr) + } + } + } + + return attrs, len(attrs) > 0 +} + func GasMeterFromContext(ctx context.Context) gas.Meter { iCtx, ok := ctx.Value(contextKey).(*integrationContext) if !ok { @@ -130,22 +160,63 @@ var ( _ event.Manager = &eventManager{} ) -type eventService struct{} +type eventService struct { +} // EventManager implements event.Service. -func (e *eventService) EventManager(context.Context) event.Manager { - return &eventManager{} +func (e *eventService) EventManager(ctx context.Context) event.Manager { + iCtx, ok := ctx.Value(contextKey).(*integrationContext) + if !ok { + panic("context is not an integration context") + } + + return &eventManager{ctx: iCtx} } -type eventManager struct{} +type eventManager struct { + ctx *integrationContext +} // Emit implements event.Manager. -func (e *eventManager) Emit(event transaction.Msg) error { +func (e *eventManager) Emit(tev transaction.Msg) error { + ev := event.Event{ + Type: gogoproto.MessageName(tev), + Attributes: func() ([]event.Attribute, error) { + outerEvent, err := stf.TypedEventToEvent(tev) + if err != nil { + return nil, err + } + + return outerEvent.Attributes() + }, + Data: func() (json.RawMessage, error) { + buf := new(bytes.Buffer) + jm := &jsonpb.Marshaler{OrigName: true, EmitDefaults: true, AnyResolver: nil} + if err := jm.Marshal(buf, tev); err != nil { + return nil, err + } + + return buf.Bytes(), nil + }, + } + + e.ctx.events = append(e.ctx.events, ev) return nil } // EmitKV implements event.Manager. func (e *eventManager) EmitKV(eventType string, attrs ...event.Attribute) error { + ev := event.Event{ + Type: eventType, + Attributes: func() ([]event.Attribute, error) { + return attrs, nil + }, + Data: func() (json.RawMessage, error) { + return json.Marshal(attrs) + }, + } + + e.ctx.events = append(e.ctx.events, ev) return nil } @@ -232,3 +303,15 @@ func (h *HeaderService) HeaderInfo(ctx context.Context) header.Info { } return iCtx.header } + +var _ gas.Service = &GasService{} + +type GasService struct{} + +func (g *GasService) GasMeter(ctx context.Context) gas.Meter { + return GasMeterFromContext(ctx) +} + +func (g *GasService) GasConfig(ctx context.Context) gas.GasConfig { + return gas.GasConfig{} +} diff --git a/testutil/sims/address_helpers.go b/testutil/sims/address_helpers.go index f90225502b80..3254a2158290 100644 --- a/testutil/sims/address_helpers.go +++ b/testutil/sims/address_helpers.go @@ -35,7 +35,7 @@ func AddTestAddrsFromPubKeys(bankKeeper BankKeeper, stakingKeeper StakingKeeper, // AddTestAddrs constructs and returns accNum amount of accounts with an // initial balance of accAmt in random order -func AddTestAddrs(bankKeeper BankKeeper, stakingKeeper StakingKeeper, ctx sdk.Context, accNum int, accAmt math.Int) []sdk.AccAddress { +func AddTestAddrs(bankKeeper BankKeeper, stakingKeeper StakingKeeper, ctx context.Context, accNum int, accAmt math.Int) []sdk.AccAddress { return addTestAddrs(bankKeeper, stakingKeeper, ctx, accNum, accAmt, CreateRandomAccounts) } From 25cbf9898388fcdf473911e66867e5ea9b177d12 Mon Sep 17 00:00:00 2001 From: testinginprod <98415576+testinginprod@users.noreply.github.com> Date: Fri, 13 Dec 2024 16:46:03 +0100 Subject: [PATCH 03/22] fix(baseapp): hybrid handlers do not drop any (#22866) --- baseapp/grpcrouter_test.go | 25 ++++++++++++++++++ baseapp/internal/protocompat/protocompat.go | 28 ++++++++------------- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/baseapp/grpcrouter_test.go b/baseapp/grpcrouter_test.go index b381fe8a277e..cc7e0476b2b3 100644 --- a/baseapp/grpcrouter_test.go +++ b/baseapp/grpcrouter_test.go @@ -95,6 +95,31 @@ func TestGRPCRouterHybridHandlers(t *testing.T) { } assertRouterBehaviour(helper) }) + + t.Run("any cached value is not dropped", func(t *testing.T) { + // ref: https://github.com/cosmos/cosmos-sdk/issues/22779 + qr := baseapp.NewGRPCQueryRouter() + interfaceRegistry := testdata.NewTestInterfaceRegistry() + testdata.RegisterInterfaces(interfaceRegistry) + qr.SetInterfaceRegistry(interfaceRegistry) + testdata.RegisterQueryServer(qr, testdata.QueryImpl{}) + helper := &baseapp.QueryServiceTestHelper{ + GRPCQueryRouter: qr, + Ctx: sdk.Context{}.WithContext(context.Background()), + } + + anyMsg, err := types.NewAnyWithValue(&testdata.Dog{}) + require.NoError(t, err) + + handler := qr.HybridHandlerByRequestName("testpb.TestAnyRequest")[0] + + resp := new(testdata.TestAnyResponse) + err = handler(helper.Ctx, &testdata.TestAnyRequest{ + AnyAnimal: anyMsg, + }, resp) + require.NoError(t, err) + require.NotNil(t, resp.HasAnimal.Animal.GetCachedValue()) + }) } func TestRegisterQueryServiceTwice(t *testing.T) { diff --git a/baseapp/internal/protocompat/protocompat.go b/baseapp/internal/protocompat/protocompat.go index 004efe635e2a..43c32df35376 100644 --- a/baseapp/internal/protocompat/protocompat.go +++ b/baseapp/internal/protocompat/protocompat.go @@ -6,7 +6,6 @@ import ( "reflect" gogoproto "github.com/cosmos/gogoproto/proto" - "github.com/golang/protobuf/proto" //nolint: staticcheck // needed because gogoproto.Merge does not work consistently. See NOTE: comments. "google.golang.org/grpc" proto2 "google.golang.org/protobuf/proto" "google.golang.org/protobuf/reflect/protoreflect" @@ -124,19 +123,13 @@ func makeGogoHybridHandler(prefMethod protoreflect.MethodDescriptor, cdc codec.B return fmt.Errorf("invalid request type %T, method %s does not accept protov2 messages", inReq, prefMethod.FullName()) } resp, err := method.Handler(handler, ctx, func(msg any) error { - // merge! ref: https://github.com/cosmos/cosmos-sdk/issues/18003 - // NOTE: using gogoproto.Merge will fail for some reason unknown to me, but - // using proto.Merge with gogo messages seems to work fine. - proto.Merge(msg.(gogoproto.Message), inReq) + setPointer(msg, inReq) return nil }, nil) if err != nil { return err } - // merge resp, ref: https://github.com/cosmos/cosmos-sdk/issues/18003 - // NOTE: using gogoproto.Merge will fail for some reason unknown to me, but - // using proto.Merge with gogo messages seems to work fine. - proto.Merge(outResp.(gogoproto.Message), resp.(gogoproto.Message)) + setPointer(outResp, resp) return nil }, nil } @@ -168,20 +161,13 @@ func makeGogoHybridHandler(prefMethod protoreflect.MethodDescriptor, cdc codec.B case gogoproto.Message: // we can just call the handler after making a copy of the message, for safety reasons. resp, err := method.Handler(handler, ctx, func(msg any) error { - // ref: https://github.com/cosmos/cosmos-sdk/issues/18003 - asGogoProto := msg.(gogoproto.Message) - // NOTE: using gogoproto.Merge will fail for some reason unknown to me, but - // using proto.Merge with gogo messages seems to work fine. - proto.Merge(asGogoProto, m) + setPointer(msg, m) return nil }, nil) if err != nil { return err } - // merge on the resp, ref: https://github.com/cosmos/cosmos-sdk/issues/18003 - // NOTE: using gogoproto.Merge will fail for some reason unknown to me, but - // using proto.Merge with gogo messages seems to work fine. - proto.Merge(outResp.(gogoproto.Message), resp.(gogoproto.Message)) + setPointer(outResp, resp) return nil default: panic("unreachable") @@ -246,3 +232,9 @@ func ResponseFullNameFromMethodDesc(sd *grpc.ServiceDesc, method grpc.MethodDesc } return methodDesc.Output().FullName(), nil } + +// since proto.Merge breaks due to the custom cosmos sdk any, we are forced to do this ugly setPointer hack. +// ref: https://github.com/cosmos/cosmos-sdk/issues/22779 +func setPointer(dst, src any) { + reflect.ValueOf(dst).Elem().Set(reflect.ValueOf(src).Elem()) +} From 256ec4f90277cadc0f976e89e10d3100cc820e50 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Fri, 13 Dec 2024 17:45:04 +0100 Subject: [PATCH 04/22] refactor(client/v2): remove gov dependency (#22867) --- client/v2/autocli/msg.go | 14 ++-- client/v2/go.mod | 4 +- client/v2/go.sum | 6 +- client/v2/internal/governance/gov.go | 99 ++++++++++++++++++++++++++++ simapp/go.mod | 2 +- simapp/go.sum | 4 +- simapp/v2/go.mod | 2 +- simapp/v2/go.sum | 4 +- tests/go.mod | 2 +- tests/go.sum | 4 +- x/feegrant/go.mod | 2 +- x/feegrant/go.sum | 4 +- x/gov/go.mod | 2 +- x/gov/go.sum | 4 +- x/group/go.mod | 2 +- x/group/go.sum | 4 +- x/params/go.mod | 2 +- x/params/go.sum | 4 +- x/upgrade/go.mod | 2 +- x/upgrade/go.sum | 4 +- 20 files changed, 131 insertions(+), 40 deletions(-) create mode 100644 client/v2/internal/governance/gov.go diff --git a/client/v2/autocli/msg.go b/client/v2/autocli/msg.go index 9b30a56fe375..795b965adacb 100644 --- a/client/v2/autocli/msg.go +++ b/client/v2/autocli/msg.go @@ -5,7 +5,6 @@ import ( "context" "fmt" - gogoproto "github.com/cosmos/gogoproto/proto" "github.com/spf13/cobra" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/reflect/protoreflect" @@ -14,16 +13,13 @@ import ( autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" "cosmossdk.io/client/v2/autocli/flag" "cosmossdk.io/client/v2/internal/flags" + "cosmossdk.io/client/v2/internal/governance" "cosmossdk.io/client/v2/internal/print" "cosmossdk.io/client/v2/internal/util" v2tx "cosmossdk.io/client/v2/tx" addresscodec "cosmossdk.io/core/address" "cosmossdk.io/core/transaction" - // the following will be extracted to a separate module - // https://github.com/cosmos/cosmos-sdk/issues/14403 - govcli "cosmossdk.io/x/gov/client/cli" - govtypes "cosmossdk.io/x/gov/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/cosmos/cosmos-sdk/client" @@ -188,7 +184,7 @@ func (b *Builder) BuildMsgMethodCommand(descriptor protoreflect.MethodDescriptor // set gov proposal flags if command is a gov proposal if options.GovProposal { - govcli.AddGovPropFlagsToCmd(cmd) + governance.AddGovPropFlagsToCmd(cmd) cmd.Flags().Bool(flags.FlagNoProposal, false, "Skip gov proposal and submit a normal transaction") } @@ -203,7 +199,7 @@ func (b *Builder) handleGovProposal( addressCodec addresscodec.Codec, fd protoreflect.FieldDescriptor, ) error { - govAuthority := authtypes.NewModuleAddress(govtypes.ModuleName) + govAuthority := authtypes.NewModuleAddress(governance.ModuleName) authority, err := addressCodec.BytesToString(govAuthority.Bytes()) if err != nil { return fmt.Errorf("failed to convert gov authority: %w", err) @@ -216,7 +212,7 @@ func (b *Builder) handleGovProposal( return fmt.Errorf("failed to set signer on message, got %q: %w", signerFromFlag, err) } - proposal, err := govcli.ReadGovPropCmdFlags(signer, cmd.Flags()) + proposal, err := governance.ReadGovPropCmdFlags(signer, cmd.Flags()) if err != nil { return err } @@ -227,7 +223,7 @@ func (b *Builder) handleGovProposal( msg := dynamicpb.NewMessage(input.Descriptor()) proto.Merge(msg, input.Interface()) - if err := proposal.SetMsgs([]gogoproto.Message{msg}); err != nil { + if err := governance.SetGovMsgs(proposal, msg); err != nil { return fmt.Errorf("failed to set msg in proposal %w", err) } diff --git a/client/v2/go.mod b/client/v2/go.mod index f08d0e2730cd..d83a927dd0f3 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -7,8 +7,7 @@ require ( cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 - cosmossdk.io/x/gov v0.0.0-20231113122742-912390d5fc4a - cosmossdk.io/x/tx v1.0.0-alpha.2 + cosmossdk.io/x/tx v1.0.0-alpha.3 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 github.com/spf13/cobra v1.8.1 @@ -182,6 +181,5 @@ replace github.com/cosmos/cosmos-sdk => ./../../ replace ( cosmossdk.io/store => ./../../store cosmossdk.io/x/bank => ./../../x/bank - cosmossdk.io/x/gov => ./../../x/gov cosmossdk.io/x/staking => ./../../x/staking ) diff --git a/client/v2/go.sum b/client/v2/go.sum index 76665291f2e3..ec732719eb37 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -22,10 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 h1:XQJj9Dv9Gtze0l2TF79BU5lkP6MkUveTUuKICmxoz+o= -cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190/go.mod h1:7WUGupOvmlHJoIMBz1JbObQxeo6/TDiuDBxmtod8HRg= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/client/v2/internal/governance/gov.go b/client/v2/internal/governance/gov.go new file mode 100644 index 000000000000..11db05fcea8d --- /dev/null +++ b/client/v2/internal/governance/gov.go @@ -0,0 +1,99 @@ +package governance + +import ( + "fmt" + + gogoproto "github.com/cosmos/gogoproto/proto" + gogoprotoany "github.com/cosmos/gogoproto/types/any" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + "google.golang.org/protobuf/types/known/anypb" + + govv1 "cosmossdk.io/api/cosmos/gov/v1" + "cosmossdk.io/client/v2/internal/coins" +) + +const ( + // ModuleName is the name of the governance module name. + // It should match the module name of the cosmossdk.io/x/gov module. + ModuleName = "gov" + + FlagDeposit = "deposit" + FlagMetadata = "metadata" + FlagTitle = "title" + FlagSummary = "summary" + FlagExpedited = "expedited" +) + +// AddGovPropFlagsToCmd adds governance proposal flags to the provided command. +func AddGovPropFlagsToCmd(cmd *cobra.Command) { + cmd.Flags().String(FlagDeposit, "", "The deposit to include with the governance proposal") + cmd.Flags().String(FlagMetadata, "", "The metadata to include with the governance proposal") + cmd.Flags().String(FlagTitle, "", "The title to put on the governance proposal") + cmd.Flags().String(FlagSummary, "", "The summary to include with the governance proposal") + cmd.Flags().Bool(FlagExpedited, false, "Whether to expedite the governance proposal") +} + +// ReadGovPropCmdFlags parses a MsgSubmitProposal from the provided context and flags. +func ReadGovPropCmdFlags(proposer string, flagSet *pflag.FlagSet) (*govv1.MsgSubmitProposal, error) { + rv := &govv1.MsgSubmitProposal{} + + deposit, err := flagSet.GetString(FlagDeposit) + if err != nil { + return nil, fmt.Errorf("could not read deposit: %w", err) + } + if len(deposit) > 0 { + rv.InitialDeposit, err = coins.ParseCoinsNormalized(deposit) + if err != nil { + return nil, fmt.Errorf("invalid deposit: %w", err) + } + } + + rv.Metadata, err = flagSet.GetString(FlagMetadata) + if err != nil { + return nil, fmt.Errorf("could not read metadata: %w", err) + } + + rv.Title, err = flagSet.GetString(FlagTitle) + if err != nil { + return nil, fmt.Errorf("could not read title: %w", err) + } + + rv.Summary, err = flagSet.GetString(FlagSummary) + if err != nil { + return nil, fmt.Errorf("could not read summary: %w", err) + } + + expedited, err := flagSet.GetBool(FlagExpedited) + if err != nil { + return nil, fmt.Errorf("could not read expedited: %w", err) + } + if expedited { + rv.Expedited = true //nolint:staticcheck // We set it in case the message is made for an earlier version of the SDK + rv.ProposalType = govv1.ProposalType_PROPOSAL_TYPE_EXPEDITED + } + + rv.Proposer = proposer + + return rv, nil +} + +func SetGovMsgs(proposal *govv1.MsgSubmitProposal, msgs ...gogoproto.Message) error { + if len(msgs) == 0 { + return fmt.Errorf("zero messages is not supported") + } + + for _, msg := range msgs { + anyMsg, err := gogoprotoany.NewAnyWithCacheWithValue(msg) + if err != nil { + return err + } + + proposal.Messages = append(proposal.Messages, &anypb.Any{ + TypeUrl: anyMsg.TypeUrl, + Value: anyMsg.Value, + }) + } + + return nil +} diff --git a/simapp/go.mod b/simapp/go.mod index 7162e4f29919..dc11f6220eab 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -32,7 +32,7 @@ require ( cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 cosmossdk.io/x/slashing v0.0.0-00010101000000-000000000000 cosmossdk.io/x/staking v0.0.0-20240226161501-23359a0b6d91 - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect cosmossdk.io/x/upgrade v0.0.0-20230613133644-0a778132a60f github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 github.com/cometbft/cometbft/api v1.0.0-rc2 diff --git a/simapp/go.sum b/simapp/go.sum index 6aafd5cb8aa5..7802baba96ab 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -208,8 +208,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/simapp/v2/go.mod b/simapp/v2/go.mod index 1d95f5af3373..816af4c4685e 100644 --- a/simapp/v2/go.mod +++ b/simapp/v2/go.mod @@ -68,7 +68,7 @@ require ( cosmossdk.io/server/v2/appmanager v0.0.0-20240802110823-cffeedff643d // indirect cosmossdk.io/server/v2/stf v0.0.0-20240708142107-25e99c54bac1 // indirect cosmossdk.io/store v1.1.1 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/simapp/v2/go.sum b/simapp/v2/go.sum index b327b7f9c70e..292eacfdf9d5 100644 --- a/simapp/v2/go.sum +++ b/simapp/v2/go.sum @@ -210,8 +210,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/tests/go.mod b/tests/go.mod index 44a6bbc9e160..388f24fefee1 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -15,7 +15,7 @@ require ( cosmossdk.io/x/feegrant v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/nft v0.0.0-20230613133644-0a778132a60f // indirect cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 - cosmossdk.io/x/tx v1.0.0-alpha.2 + cosmossdk.io/x/tx v1.0.0-alpha.3 cosmossdk.io/x/upgrade v0.0.0-20230613133644-0a778132a60f github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 github.com/cosmos/cosmos-proto v1.0.0-beta.5 diff --git a/tests/go.sum b/tests/go.sum index 0f294ffca5cb..94e9ee2f5b5e 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -208,8 +208,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index 54ea2ee9658b..89343cc04350 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -41,7 +41,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index 43052e4e345d..ec732719eb37 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/gov/go.mod b/x/gov/go.mod index ef42c81921f4..6bfbfe4a1758 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -37,7 +37,7 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/gov/go.sum b/x/gov/go.sum index 43052e4e345d..ec732719eb37 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/group/go.mod b/x/group/go.mod index 82c6896e6626..f03b588731d9 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -40,7 +40,7 @@ require ( cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/group/go.sum b/x/group/go.sum index 14d587ae37e2..2cecff26523a 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/params/go.mod b/x/params/go.mod index a8e428dfde3a..94951d83264c 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -30,7 +30,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/params/go.sum b/x/params/go.sum index 75ca03fbd33c..e977b87778cd 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index ffa3208ba68c..59fa7c5612fc 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -46,7 +46,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index be9f6719aded..34295868c7c7 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -212,8 +212,8 @@ cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 h1:XQJj9Dv9Gtze0l2TF79BU5lkP6MkUveTUuKICmxoz+o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190/go.mod h1:7WUGupOvmlHJoIMBz1JbObQxeo6/TDiuDBxmtod8HRg= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= From 615226093e5dee327167ef8d98c7bc4b83865e77 Mon Sep 17 00:00:00 2001 From: son trinh Date: Sun, 15 Dec 2024 18:13:55 +0700 Subject: [PATCH 05/22] refactor(tests/integration): Migrate mint and protocolpool integration tests to server v2 (#22859) --- tests/integration/mint/app_config.go | 26 --- tests/integration/mint/module_test.go | 30 --- tests/integration/protocolpool/app_config.go | 30 --- tests/integration/protocolpool/module_test.go | 137 -------------- tests/integration/v2/mint/module_test.go | 50 +++++ .../v2/protocolpool/module_test.go | 178 ++++++++++++++++++ 6 files changed, 228 insertions(+), 223 deletions(-) delete mode 100644 tests/integration/mint/app_config.go delete mode 100644 tests/integration/mint/module_test.go delete mode 100644 tests/integration/protocolpool/app_config.go delete mode 100644 tests/integration/protocolpool/module_test.go create mode 100644 tests/integration/v2/mint/module_test.go create mode 100644 tests/integration/v2/protocolpool/module_test.go diff --git a/tests/integration/mint/app_config.go b/tests/integration/mint/app_config.go deleted file mode 100644 index b074d723d9cb..000000000000 --- a/tests/integration/mint/app_config.go +++ /dev/null @@ -1,26 +0,0 @@ -package mint - -import ( - _ "cosmossdk.io/x/accounts" // import as blank for app wiring - _ "cosmossdk.io/x/bank" // import as blank for app wiring - _ "cosmossdk.io/x/consensus" // import as blank for app wiring - _ "cosmossdk.io/x/mint" // import as blank for app wiring - _ "cosmossdk.io/x/staking" // import as blank for app wiring - - "github.com/cosmos/cosmos-sdk/testutil/configurator" - _ "github.com/cosmos/cosmos-sdk/x/auth" // import as blank for app wiring - _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import as blank for app wiring - _ "github.com/cosmos/cosmos-sdk/x/genutil" // import as blank for app wiring -) - -var AppConfig = configurator.NewAppConfig( - configurator.AccountsModule(), - configurator.AuthModule(), - configurator.BankModule(), - configurator.StakingModule(), - configurator.TxModule(), - configurator.ValidateModule(), - configurator.ConsensusModule(), - configurator.GenutilModule(), - configurator.MintModule(), -) diff --git a/tests/integration/mint/module_test.go b/tests/integration/mint/module_test.go deleted file mode 100644 index e0d9896ac149..000000000000 --- a/tests/integration/mint/module_test.go +++ /dev/null @@ -1,30 +0,0 @@ -package mint - -import ( - "testing" - - "github.com/stretchr/testify/require" - - "cosmossdk.io/depinject" - "cosmossdk.io/log" - "cosmossdk.io/x/mint/types" - - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" -) - -func TestItCreatesModuleAccountOnInitBlock(t *testing.T) { - var accountKeeper authkeeper.AccountKeeper - - app, err := simtestutil.SetupAtGenesis( - depinject.Configs( - AppConfig, - depinject.Supply(log.NewNopLogger()), - ), &accountKeeper) - require.NoError(t, err) - - ctx := app.BaseApp.NewContext(false) - acc := accountKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) - require.NotNil(t, acc) -} diff --git a/tests/integration/protocolpool/app_config.go b/tests/integration/protocolpool/app_config.go deleted file mode 100644 index 34f39a3111ac..000000000000 --- a/tests/integration/protocolpool/app_config.go +++ /dev/null @@ -1,30 +0,0 @@ -package protocolpool - -import ( - _ "cosmossdk.io/x/accounts" // import as blank for app wiring - _ "cosmossdk.io/x/bank" // import as blank for app wiring - _ "cosmossdk.io/x/consensus" // import as blank for app wiring - _ "cosmossdk.io/x/distribution" // import as blank for app wiring - _ "cosmossdk.io/x/mint" // import as blank for app wiring - _ "cosmossdk.io/x/protocolpool" // import as blank for app wiring - _ "cosmossdk.io/x/staking" // import as blank for app wiring - - "github.com/cosmos/cosmos-sdk/testutil/configurator" - _ "github.com/cosmos/cosmos-sdk/x/auth" // import as blank for app wiring - _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import as blank for app wiring - _ "github.com/cosmos/cosmos-sdk/x/genutil" // import as blank for app wiring -) - -var AppConfig = configurator.NewAppConfig( - configurator.AccountsModule(), - configurator.AuthModule(), - configurator.BankModule(), - configurator.StakingModule(), - configurator.TxModule(), - configurator.ValidateModule(), - configurator.ConsensusModule(), - configurator.GenutilModule(), - configurator.MintModule(), - configurator.DistributionModule(), - configurator.ProtocolPoolModule(), -) diff --git a/tests/integration/protocolpool/module_test.go b/tests/integration/protocolpool/module_test.go deleted file mode 100644 index 8a7afd427918..000000000000 --- a/tests/integration/protocolpool/module_test.go +++ /dev/null @@ -1,137 +0,0 @@ -package protocolpool - -import ( - "math/rand" - "testing" - "time" - - "github.com/stretchr/testify/require" - - "cosmossdk.io/core/header" - "cosmossdk.io/depinject" - "cosmossdk.io/log" - "cosmossdk.io/math" - bankkeeper "cosmossdk.io/x/bank/keeper" - "cosmossdk.io/x/mint/types" - protocolpoolkeeper "cosmossdk.io/x/protocolpool/keeper" - protocolpooltypes "cosmossdk.io/x/protocolpool/types" - stakingkeeper "cosmossdk.io/x/staking/keeper" - - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" -) - -// TestWithdrawAnytime tests if withdrawing funds many times vs withdrawing funds once -// yield the same end balance. -func TestWithdrawAnytime(t *testing.T) { - var accountKeeper authkeeper.AccountKeeper - var protocolpoolKeeper protocolpoolkeeper.Keeper - var bankKeeper bankkeeper.Keeper - var stakingKeeper *stakingkeeper.Keeper - - app, err := simtestutil.SetupAtGenesis( - depinject.Configs( - AppConfig, - depinject.Supply(log.NewNopLogger()), - ), &accountKeeper, &protocolpoolKeeper, &bankKeeper, &stakingKeeper) - require.NoError(t, err) - - ctx := app.BaseApp.NewContext(false).WithBlockHeight(1).WithHeaderInfo(header.Info{Height: 1}) - acc := accountKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) - require.NotNil(t, acc) - - testAddrs := simtestutil.AddTestAddrs(bankKeeper, stakingKeeper, ctx, 5, math.NewInt(1)) - testAddr0Str, err := accountKeeper.AddressCodec().BytesToString(testAddrs[0]) - require.NoError(t, err) - - msgServer := protocolpoolkeeper.NewMsgServerImpl(protocolpoolKeeper) - _, err = msgServer.CreateContinuousFund( - ctx, - &protocolpooltypes.MsgCreateContinuousFund{ - Authority: protocolpoolKeeper.GetAuthority(), - Recipient: testAddr0Str, - Percentage: math.LegacyMustNewDecFromStr("0.5"), - }, - ) - require.NoError(t, err) - - // increase the community pool by a bunch - for i := 0; i < 30; i++ { - ctx, err = simtestutil.NextBlock(app, ctx, time.Minute) - require.NoError(t, err) - - // withdraw funds randomly, but it must always land on the same end balance - if rand.Intn(100) > 50 { - _, err = msgServer.WithdrawContinuousFund(ctx, &protocolpooltypes.MsgWithdrawContinuousFund{ - RecipientAddress: testAddr0Str, - }) - require.NoError(t, err) - } - } - - pool, err := protocolpoolKeeper.GetCommunityPool(ctx) - require.NoError(t, err) - require.True(t, pool.IsAllGT(sdk.NewCoins(sdk.NewInt64Coin("stake", 100000)))) - - _, err = msgServer.WithdrawContinuousFund(ctx, &protocolpooltypes.MsgWithdrawContinuousFund{ - RecipientAddress: testAddr0Str, - }) - require.NoError(t, err) - - endBalance := bankKeeper.GetBalance(ctx, testAddrs[0], sdk.DefaultBondDenom) - require.Equal(t, "11883031stake", endBalance.String()) -} - -// TestExpireInTheMiddle tests if a continuous fund that expires without anyone -// calling the withdraw function, the funds are still distributed correctly. -func TestExpireInTheMiddle(t *testing.T) { - var accountKeeper authkeeper.AccountKeeper - var protocolpoolKeeper protocolpoolkeeper.Keeper - var bankKeeper bankkeeper.Keeper - var stakingKeeper *stakingkeeper.Keeper - - app, err := simtestutil.SetupAtGenesis( - depinject.Configs( - AppConfig, - depinject.Supply(log.NewNopLogger()), - ), &accountKeeper, &protocolpoolKeeper, &bankKeeper, &stakingKeeper) - require.NoError(t, err) - - ctx := app.BaseApp.NewContext(false).WithBlockHeight(1).WithHeaderInfo(header.Info{Height: 1}) - acc := accountKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) - require.NotNil(t, acc) - - testAddrs := simtestutil.AddTestAddrs(bankKeeper, stakingKeeper, ctx, 5, math.NewInt(1)) - testAddr0Str, err := accountKeeper.AddressCodec().BytesToString(testAddrs[0]) - require.NoError(t, err) - - msgServer := protocolpoolkeeper.NewMsgServerImpl(protocolpoolKeeper) - - expirationTime := ctx.BlockTime().Add(time.Minute * 2) - _, err = msgServer.CreateContinuousFund( - ctx, - &protocolpooltypes.MsgCreateContinuousFund{ - Authority: protocolpoolKeeper.GetAuthority(), - Recipient: testAddr0Str, - Percentage: math.LegacyMustNewDecFromStr("0.1"), - Expiry: &expirationTime, - }, - ) - require.NoError(t, err) - - // increase the community pool by a bunch - for i := 0; i < 30; i++ { - ctx, err = simtestutil.NextBlock(app, ctx, time.Minute) - require.NoError(t, err) - } - - _, err = msgServer.WithdrawContinuousFund(ctx, &protocolpooltypes.MsgWithdrawContinuousFund{ - RecipientAddress: testAddr0Str, - }) - require.NoError(t, err) - - endBalance := bankKeeper.GetBalance(ctx, testAddrs[0], sdk.DefaultBondDenom) - require.Equal(t, "237661stake", endBalance.String()) -} diff --git a/tests/integration/v2/mint/module_test.go b/tests/integration/v2/mint/module_test.go new file mode 100644 index 000000000000..97177f5a2bae --- /dev/null +++ b/tests/integration/v2/mint/module_test.go @@ -0,0 +1,50 @@ +package mint + +import ( + "testing" + + "github.com/stretchr/testify/require" + + "cosmossdk.io/depinject" + "cosmossdk.io/log" + _ "cosmossdk.io/x/accounts" // import as blank for app wiring + _ "cosmossdk.io/x/bank" // import as blank for app wiring + _ "cosmossdk.io/x/consensus" // import as blank for app wiring + _ "cosmossdk.io/x/mint" // import as blank for app wiring + "cosmossdk.io/x/mint/types" + _ "cosmossdk.io/x/staking" // import as blank for app wiring + + "github.com/cosmos/cosmos-sdk/tests/integration/v2" + "github.com/cosmos/cosmos-sdk/testutil/configurator" + _ "github.com/cosmos/cosmos-sdk/x/auth" // import as blank for app wiring + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import as blank for app wiring + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + _ "github.com/cosmos/cosmos-sdk/x/genutil" // import as blank for app wiring +) + +func TestItCreatesModuleAccountOnInitBlock(t *testing.T) { + var accountKeeper authkeeper.AccountKeeper + + moduleConfigs := []configurator.ModuleOption{ + configurator.AccountsModule(), + configurator.AuthModule(), + configurator.BankModule(), + configurator.StakingModule(), + configurator.TxModule(), + configurator.ValidateModule(), + configurator.ConsensusModule(), + configurator.GenutilModule(), + configurator.MintModule(), + } + + startupCfg := integration.DefaultStartUpConfig(t) + app, err := integration.NewApp( + depinject.Configs(configurator.NewAppV2Config(moduleConfigs...), depinject.Supply(log.NewNopLogger())), + startupCfg, &accountKeeper) + require.NoError(t, err) + + ctx := app.StateLatestContext(t) + acc := accountKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) + require.NotNil(t, acc) +} diff --git a/tests/integration/v2/protocolpool/module_test.go b/tests/integration/v2/protocolpool/module_test.go new file mode 100644 index 000000000000..be74371dac43 --- /dev/null +++ b/tests/integration/v2/protocolpool/module_test.go @@ -0,0 +1,178 @@ +package protocolpool + +import ( + "math/rand" + "testing" + "time" + + "github.com/stretchr/testify/require" + + "cosmossdk.io/depinject" + "cosmossdk.io/log" + "cosmossdk.io/math" + _ "cosmossdk.io/x/accounts" // import as blank for app wiring + _ "cosmossdk.io/x/bank" // import as blank for app wiring + bankkeeper "cosmossdk.io/x/bank/keeper" + _ "cosmossdk.io/x/consensus" // import as blank for app wiring + _ "cosmossdk.io/x/distribution" // import as blank for app wiring + _ "cosmossdk.io/x/mint" // import as blank for app wiring + "cosmossdk.io/x/mint/types" + _ "cosmossdk.io/x/protocolpool" // import as blank for app wiring + protocolpoolkeeper "cosmossdk.io/x/protocolpool/keeper" + protocolpooltypes "cosmossdk.io/x/protocolpool/types" + _ "cosmossdk.io/x/staking" // import as blank for app wiring + stakingkeeper "cosmossdk.io/x/staking/keeper" + + "github.com/cosmos/cosmos-sdk/tests/integration/v2" + "github.com/cosmos/cosmos-sdk/testutil/configurator" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" + sdk "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/x/auth" // import as blank for app wiring + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import as blank for app wiring + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + _ "github.com/cosmos/cosmos-sdk/x/genutil" // import as blank for app wiring +) + +var moduleConfigs = []configurator.ModuleOption{ + configurator.AccountsModule(), + configurator.AuthModule(), + configurator.BankModule(), + configurator.StakingModule(), + configurator.TxModule(), + configurator.ValidateModule(), + configurator.ConsensusModule(), + configurator.GenutilModule(), + configurator.MintModule(), + configurator.DistributionModule(), + configurator.ProtocolPoolModule(), +} + +type fixture struct { + accountKeeper authkeeper.AccountKeeper + protocolpoolKeeper protocolpoolkeeper.Keeper + bankKeeper bankkeeper.Keeper + stakingKeeper *stakingkeeper.Keeper +} + +// TestWithdrawAnytime tests if withdrawing funds many times vs withdrawing funds once +// yield the same end balance. +func TestWithdrawAnytime(t *testing.T) { + res := fixture{} + + startupCfg := integration.DefaultStartUpConfig(t) + startupCfg.HeaderService = &integration.HeaderService{} + + app, err := integration.NewApp( + depinject.Configs(configurator.NewAppV2Config(moduleConfigs...), depinject.Supply(log.NewNopLogger())), + startupCfg, &res.accountKeeper, &res.protocolpoolKeeper, &res.bankKeeper, &res.stakingKeeper) + require.NoError(t, err) + + ctx := app.StateLatestContext(t) + acc := res.accountKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) + require.NotNil(t, acc) + + testAddrs := simtestutil.AddTestAddrs(res.bankKeeper, res.stakingKeeper, ctx, 5, math.NewInt(1)) + testAddr0Str, err := res.accountKeeper.AddressCodec().BytesToString(testAddrs[0]) + require.NoError(t, err) + + msgServer := protocolpoolkeeper.NewMsgServerImpl(res.protocolpoolKeeper) + _, err = msgServer.CreateContinuousFund( + ctx, + &protocolpooltypes.MsgCreateContinuousFund{ + Authority: res.protocolpoolKeeper.GetAuthority(), + Recipient: testAddr0Str, + Percentage: math.LegacyMustNewDecFromStr("0.5"), + }, + ) + require.NoError(t, err) + + // increase the community pool by a bunch + for i := 0; i < 30; i++ { + _, state := app.Deliver(t, ctx, nil) + _, err = app.Commit(state) + require.NoError(t, err) + + headerInfo := integration.HeaderInfoFromContext(ctx) + headerInfo.Time = headerInfo.Time.Add(time.Minute) + ctx = integration.SetHeaderInfo(ctx, headerInfo) + + // withdraw funds randomly, but it must always land on the same end balance + if rand.Intn(100) > 50 { + _, err = msgServer.WithdrawContinuousFund(ctx, &protocolpooltypes.MsgWithdrawContinuousFund{ + RecipientAddress: testAddr0Str, + }) + require.NoError(t, err) + } + } + + pool, err := res.protocolpoolKeeper.GetCommunityPool(ctx) + require.NoError(t, err) + require.True(t, pool.IsAllGT(sdk.NewCoins(sdk.NewInt64Coin("stake", 100000)))) + + _, err = msgServer.WithdrawContinuousFund(ctx, &protocolpooltypes.MsgWithdrawContinuousFund{ + RecipientAddress: testAddr0Str, + }) + require.NoError(t, err) + + endBalance := res.bankKeeper.GetBalance(ctx, testAddrs[0], sdk.DefaultBondDenom) + require.Equal(t, "11883031stake", endBalance.String()) +} + +// TestExpireInTheMiddle tests if a continuous fund that expires without anyone +// calling the withdraw function, the funds are still distributed correctly. +func TestExpireInTheMiddle(t *testing.T) { + res := fixture{} + + startupCfg := integration.DefaultStartUpConfig(t) + startupCfg.HeaderService = &integration.HeaderService{} + + app, err := integration.NewApp( + depinject.Configs(configurator.NewAppV2Config(moduleConfigs...), depinject.Supply(log.NewNopLogger())), + startupCfg, &res.accountKeeper, &res.protocolpoolKeeper, &res.bankKeeper, &res.stakingKeeper) + require.NoError(t, err) + + ctx := app.StateLatestContext(t) + + acc := res.accountKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) + require.NotNil(t, acc) + + testAddrs := simtestutil.AddTestAddrs(res.bankKeeper, res.stakingKeeper, ctx, 5, math.NewInt(1)) + testAddr0Str, err := res.accountKeeper.AddressCodec().BytesToString(testAddrs[0]) + require.NoError(t, err) + + msgServer := protocolpoolkeeper.NewMsgServerImpl(res.protocolpoolKeeper) + + headerInfo := integration.HeaderInfoFromContext(ctx) + expirationTime := headerInfo.Time.Add(time.Minute * 2) + _, err = msgServer.CreateContinuousFund( + ctx, + &protocolpooltypes.MsgCreateContinuousFund{ + Authority: res.protocolpoolKeeper.GetAuthority(), + Recipient: testAddr0Str, + Percentage: math.LegacyMustNewDecFromStr("0.1"), + Expiry: &expirationTime, + }, + ) + require.NoError(t, err) + + // increase the community pool by a bunch + for i := 0; i < 30; i++ { + _, state := app.Deliver(t, ctx, nil) + _, err = app.Commit(state) + require.NoError(t, err) + + headerInfo := integration.HeaderInfoFromContext(ctx) + headerInfo.Time = headerInfo.Time.Add(time.Minute) + ctx = integration.SetHeaderInfo(ctx, headerInfo) + require.NoError(t, err) + } + + _, err = msgServer.WithdrawContinuousFund(ctx, &protocolpooltypes.MsgWithdrawContinuousFund{ + RecipientAddress: testAddr0Str, + }) + require.NoError(t, err) + + endBalance := res.bankKeeper.GetBalance(ctx, testAddrs[0], sdk.DefaultBondDenom) + require.Equal(t, "237661stake", endBalance.String()) +} From a7372d932ebdc9dbc947f2040066eff4a37674bc Mon Sep 17 00:00:00 2001 From: RiceChuan Date: Mon, 16 Dec 2024 07:50:19 +0800 Subject: [PATCH 06/22] docs: Spelling error. (#22872) Signed-off-by: RiceChuan --- client/tx/tx.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/tx/tx.go b/client/tx/tx.go index 4aa34b0a931c..8f3c7bcd229c 100644 --- a/client/tx/tx.go +++ b/client/tx/tx.go @@ -241,10 +241,10 @@ func checkMultipleSigners(tx authsigning.Tx) error { return nil } -// Sign signs a given tx with a named key. The bytes signed over are canconical. +// Sign signs a given tx with a named key. The bytes signed over are canonical. // The resulting signature will be added to the transaction builder overwriting the previous // ones if overwrite=true (otherwise, the signature will be appended). -// Signing a transaction with mutltiple signers in the DIRECT mode is not supported and will +// Signing a transaction with multiple signers in the DIRECT mode is not supported and will // return an error. // An error is returned upon failure. func Sign(ctx client.Context, txf Factory, name string, txBuilder client.TxBuilder, overwriteSig bool) error { From 6500a72e58ef9ad64776b34abd7bbabcda8c3cdd Mon Sep 17 00:00:00 2001 From: Andi <36215014+ChengenH@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:18:47 +0800 Subject: [PATCH 07/22] docs: fix spelling errors in the description (#22874) Signed-off-by: ChengenH --- baseapp/abci.go | 2 +- codec/collections.go | 2 +- server/v2/cometbft/abci.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/baseapp/abci.go b/baseapp/abci.go index 608ea1e70c88..3b956b4cef01 100644 --- a/baseapp/abci.go +++ b/baseapp/abci.go @@ -412,7 +412,7 @@ func (app *BaseApp) PrepareProposal(req *abci.PrepareProposalRequest) (resp *abc // Abort any running OE so it cannot overlap with `PrepareProposal`. This could happen if optimistic // `internalFinalizeBlock` from previous round takes a long time, but consensus has moved on to next round. - // Overlap is undesirable, since `internalFinalizeBlock` and `PrepareProoposal` could share access to + // Overlap is undesirable, since `internalFinalizeBlock` and `PrepareProposal` could share access to // in-memory structs depending on application implementation. // No-op if OE is not enabled. // Similar call to Abort() is done in `ProcessProposal`. diff --git a/codec/collections.go b/codec/collections.go index d21a9a92484d..ab6e91ad26fa 100644 --- a/codec/collections.go +++ b/codec/collections.go @@ -402,7 +402,7 @@ func protoCol(f protoreflect.FieldDescriptor) schema.Field { case protoreflect.EnumKind: // TODO: support enums col.Kind = schema.EnumKind - // use the full name to avoid collissions + // use the full name to avoid collisions col.ReferencedType = string(f.Enum().FullName()) col.ReferencedType = strings.ReplaceAll(col.ReferencedType, ".", "_") case protoreflect.MessageKind: diff --git a/server/v2/cometbft/abci.go b/server/v2/cometbft/abci.go index f97d6fa43b36..31e197737fd8 100644 --- a/server/v2/cometbft/abci.go +++ b/server/v2/cometbft/abci.go @@ -374,7 +374,7 @@ func (c *consensus[T]) PrepareProposal( // Abort any running OE so it cannot overlap with `PrepareProposal`. This could happen if optimistic // `internalFinalizeBlock` from previous round takes a long time, but consensus has moved on to next round. - // Overlap is undesirable, since `internalFinalizeBlock` and `PrepareProoposal` could share access to + // Overlap is undesirable, since `internalFinalizeBlock` and `PrepareProposal` could share access to // in-memory structs depending on application implementation. // No-op if OE is not enabled. // Similar call to Abort() is done in `ProcessProposal`. From 5761530e50b40f8a5e6f0d8b94b0851cf5327818 Mon Sep 17 00:00:00 2001 From: lilasxie Date: Mon, 16 Dec 2024 16:37:47 +0800 Subject: [PATCH 08/22] docs: correct `Continous` spelling to `Continuous` (#22880) --- .../lockup/continuous_locking_account_test.go | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/x/accounts/defaults/lockup/continuous_locking_account_test.go b/x/accounts/defaults/lockup/continuous_locking_account_test.go index 9add06fefd8f..475d38fceaaf 100644 --- a/x/accounts/defaults/lockup/continuous_locking_account_test.go +++ b/x/accounts/defaults/lockup/continuous_locking_account_test.go @@ -16,7 +16,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -func setupContinousAccount(t *testing.T, ctx context.Context, ss store.KVStoreService) *ContinuousLockingAccount { +func setupContinuousAccount(t *testing.T, ctx context.Context, ss store.KVStoreService) *ContinuousLockingAccount { t.Helper() deps := makeMockDependencies(ss) owner := "owner" //nolint:goconst // adding constants for this would impede readability @@ -33,13 +33,13 @@ func setupContinousAccount(t *testing.T, ctx context.Context, ss store.KVStoreSe return acc } -func TestContinousAccountDelegate(t *testing.T) { +func TestContinuousAccountDelegate(t *testing.T) { ctx, ss := newMockContext(t) sdkCtx := sdk.NewContext(nil, true, log.NewNopLogger()).WithContext(ctx).WithHeaderInfo(header.Info{ Time: time.Now(), }) - acc := setupContinousAccount(t, sdkCtx, ss) + acc := setupContinuousAccount(t, sdkCtx, ss) _, err := acc.Delegate(sdkCtx, &lockuptypes.MsgDelegate{ Sender: "owner", ValidatorAddress: "val_address", @@ -75,13 +75,13 @@ func TestContinousAccountDelegate(t *testing.T) { require.True(t, delFree.Equal(math.NewInt(1))) } -func TestContinousAccountUndelegate(t *testing.T) { +func TestContinuousAccountUndelegate(t *testing.T) { ctx, ss := newMockContext(t) sdkCtx := sdk.NewContext(nil, true, log.NewNopLogger()).WithContext(ctx).WithHeaderInfo(header.Info{ Time: time.Now(), }) - acc := setupContinousAccount(t, sdkCtx, ss) + acc := setupContinuousAccount(t, sdkCtx, ss) // Delegate first _, err := acc.Delegate(sdkCtx, &lockuptypes.MsgDelegate{ Sender: "owner", @@ -146,13 +146,13 @@ func TestContinousAccountUndelegate(t *testing.T) { require.True(t, delFree.Equal(math.ZeroInt())) } -func TestContinousAccountSendCoins(t *testing.T) { +func TestContinuousAccountSendCoins(t *testing.T) { ctx, ss := newMockContext(t) sdkCtx := sdk.NewContext(nil, true, log.NewNopLogger()).WithContext(ctx).WithHeaderInfo(header.Info{ Time: time.Now(), }) - acc := setupContinousAccount(t, sdkCtx, ss) + acc := setupContinuousAccount(t, sdkCtx, ss) _, err := acc.SendCoins(sdkCtx, &lockuptypes.MsgSend{ Sender: "owner", ToAddress: "receiver", @@ -176,13 +176,13 @@ func TestContinousAccountSendCoins(t *testing.T) { require.NoError(t, err) } -func TestContinousAccountWithdrawUnlockedCoins(t *testing.T) { +func TestContinuousAccountWithdrawUnlockedCoins(t *testing.T) { ctx, ss := newMockContext(t) sdkCtx := sdk.NewContext(nil, true, log.NewNopLogger()).WithContext(ctx).WithHeaderInfo(header.Info{ Time: time.Now(), }) - acc := setupContinousAccount(t, sdkCtx, ss) + acc := setupContinuousAccount(t, sdkCtx, ss) _, err := acc.WithdrawUnlockedCoins(sdkCtx, &lockuptypes.MsgWithdraw{ Withdrawer: "owner", ToAddress: "receiver", @@ -206,13 +206,13 @@ func TestContinousAccountWithdrawUnlockedCoins(t *testing.T) { require.NoError(t, err) } -func TestContinousAccountGetLockCoinInfo(t *testing.T) { +func TestContinuousAccountGetLockCoinInfo(t *testing.T) { ctx, ss := newMockContext(t) sdkCtx := sdk.NewContext(nil, true, log.NewNopLogger()).WithContext(ctx).WithHeaderInfo(header.Info{ Time: time.Now(), }) - acc := setupContinousAccount(t, sdkCtx, ss) + acc := setupContinuousAccount(t, sdkCtx, ss) unlocked, locked, err := acc.GetLockCoinsInfo(sdkCtx, time.Now()) require.NoError(t, err) From 8ff9f48bb49ac8b82faff9b9899dd954283159de Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 16 Dec 2024 10:04:23 +0100 Subject: [PATCH 09/22] chore: package release prep + update UPGRADING.md (#22864) --- README.md | 55 ++++++++++++++----------- RELEASE_PROCESS.md | 8 +++- UPGRADING.md | 14 +++++++ collections/CHANGELOG.md | 2 + core/testing/CHANGELOG.md | 3 ++ docs/build/building-modules/00-intro.md | 2 + schema/CHANGELOG.md | 4 ++ store/CHANGELOG.md | 21 ++++++++-- x/group/go.mod | 6 --- x/group/testutil/app_config.go | 1 - 10 files changed, 80 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 36883246e05f..18e635236824 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,6 @@ The Cosmos SDK is a framework for building blockchain applications. [CometBFT (BFT Consensus)](https://github.com/cometbft/cometbft) and the Cosmos SDK are written in the Go programming language. Cosmos SDK is used to build [Gaia](https://github.com/cosmos/gaia), the implementation of the Cosmos Hub. -**WARNING**: The Cosmos SDK has mostly stabilized, but we are still making some breaking changes. - **Note**: Always use the latest maintained [Go](https://go.dev/dl) version for building Cosmos SDK applications. ## Quick Start @@ -64,16 +62,23 @@ The IBC module for the Cosmos SDK has its own [cosmos/ibc-go repository](https:/ The version matrix below shows which versions of the Cosmos SDK, modules and libraries are compatible with each other. +> [!IMPORTANT] +> Cosmos SDK `v2` corresponds to a chain using the `runtime/v2`, `server/v2/**`, and `store/v2` packages. The `github.com/cosmos/cosmos-sdk` module has a less important role in a `v2` chain. + #### Core Dependencies Core dependencies are the core libraries that an application may depend on. Core dependencies not mentioned here as compatible across all maintained SDK versions. +See an exhaustive list of core dependencies at [cosmossdk.io](https://cosmossdk.io). -| Cosmos SDK | cosmossdk.io/core | cosmossdk.io/api | cosmossdk.io/x/tx | -| ---------- | ----------------- | ---------------- | ----------------- | -| 0.52.z | 1.y.z | 0.8.z | 1.y.z | -| 0.50.z | 0.11.z | 0.7.z | 0.13.z | -| 0.47.z | 0.5.z | 0.3.z | N/A | +| Version | v2 | 0.52.z | 0.50.z | 0.47.z | +| ------------------------ | ----- | --------- | -------------- | ------- | +| cosmossdk.io/core | 1.y.z | 1.y.z | 0.11.z | 0.5.z | +| cosmossdk.io/api | 0.8.z | 0.8.z | 0.7.z | 0.3.z | +| cosmossdk.io/x/tx | 1.y.z | 1.y.z | < 1.y.z | N/A | +| cosmossdk.io/store | N/A | >= 1.10.z | 1.0.0 >= 1.9.z | N/A | +| cosmossdk.io/store/v2 | 2.y.z | N/A | N/A | N/A | +| cosmossdk.io/collections | 1.y.z | 1.y.z | < 1.y.z | < 1.y.z | #### Module Dependencies @@ -83,24 +88,24 @@ Module Dependencies are the modules that an application may depend on and which > X signals that the module was not spun out into its own go.mod file. > N/A signals that the module was not available in the Cosmos SDK at that time. -| Cosmos SDK | 0.50.z | 0.52.z | -| --------------------------- | ------ | ------ | -| cosmossdk.io/x/accounts | N/A | 0.2.z | -| cosmossdk.io/x/bank | X | 0.2.z | -| cosmossdk.io/x/circuit | 0.1.z | 0.2.z | -| cosmossdk.io/x/consensus | X | 0.2.z | -| cosmossdk.io/x/distribution | X | 0.2.z | -| cosmossdk.io/x/epochs | N/A | 0.2.z | -| cosmossdk.io/x/evidence | 0.1.z | 0.2.z | -| cosmossdk.io/x/feegrant | 0.1.z | 0.2.z | -| cosmossdk.io/x/gov | X | 0.2.z | -| cosmossdk.io/x/group | X | 0.2.z | -| cosmossdk.io/x/mint | X | 0.2.z | -| cosmossdk.io/x/nft | 0.1.z | 0.2.z | -| cosmossdk.io/x/protocolpool | N/A | 0.2.z | -| cosmossdk.io/x/slashing | X | 0.2.z | -| cosmossdk.io/x/staking | X | 0.2.z | -| cosmossdk.io/x/upgrade | 0.1.z | 0.2.z | +| Cosmos SDK | v2 | 0.52.z | 0.50.z | +| --------------------------- | ----- | ------ | ------ | +| cosmossdk.io/x/accounts | 0.2.z | 0.2.z | N/A | +| cosmossdk.io/x/bank | 0.2.z | 0.2.z | X | +| cosmossdk.io/x/circuit | 0.2.z | 0.2.z | 0.1.z | +| cosmossdk.io/x/consensus | 0.2.z | 0.2.z | X | +| cosmossdk.io/x/distribution | 0.2.z | 0.2.z | X | +| cosmossdk.io/x/epochs | 0.2.z | 0.2.z | N/A | +| cosmossdk.io/x/evidence | 0.2.z | 0.2.z | 0.1.z | +| cosmossdk.io/x/feegrant | 0.2.z | 0.2.z | 0.1.z | +| cosmossdk.io/x/gov | 0.2.z | 0.2.z | X | +| cosmossdk.io/x/group | 0.2.z | 0.2.z | X | +| cosmossdk.io/x/mint | 0.2.z | 0.2.z | X | +| cosmossdk.io/x/nft | 0.2.z | 0.2.z | 0.1.z | +| cosmossdk.io/x/protocolpool | 0.2.z | 0.2.z | N/A | +| cosmossdk.io/x/slashing | 0.2.z | 0.2.z | X | +| cosmossdk.io/x/staking | 0.2.z | 0.2.z | X | +| cosmossdk.io/x/upgrade | 0.2.z | 0.2.z | 0.1.z | ## Disambiguation diff --git a/RELEASE_PROCESS.md b/RELEASE_PROCESS.md index d3b773e8dce4..ab1b2fa45783 100644 --- a/RELEASE_PROCESS.md +++ b/RELEASE_PROCESS.md @@ -236,6 +236,10 @@ Those modules can be considered as part of the Cosmos SDK, but features and impr * When a module is supposed to be used in an app (e.g `x/` modules), due to the dependency on the SDK, tagging a new version of a module must be done from a Cosmos SDK release branch. A compatibility matrix must be provided in the `README.md` of that module with the corresponding versions. * Modules that import the SDK but do not need to be imported in an app (`e.g. cosmovisor`) must be released from the `main` branch and follow the process defined below. +> [!IMPORTANT] +> A module depending on a non stabilized version of `github.com/cosmos/cosmos-sdk` (any version prior to the removal of baseapp, runtime, server) SHOULD NOT be tagged following semver. +> For instance, modules are still using 0ver until the main `github.com/cosmos/cosmos-sdk` has stabilized. + ### Modules that do not depend on the Cosmos SDK Modules that do not depend on the Cosmos SDK can be released at any time from the `main` branch of the Cosmos SDK repository. @@ -246,7 +250,9 @@ The Cosmos SDK uses a monorepo structure with multiple Go modules. Some componen Here's the strategy for managing this structure: -All modules that do not depend on the Cosmos SDK and tagged from main in a release branch must be removed from the release branch. +All modules that do not depend on the Cosmos SDK and tagged from main in a release branch **must be removed from the release branch**. + +There are two exceptions to this rule, due to the stabilization of core v1: `cosmossdk.io/x/tx` and `cosmossdk.io/store` are still tagged from the `release/v0.50.x` branch for `v0.50.x` releases. ### Rationale diff --git a/UPGRADING.md b/UPGRADING.md index 1f9ae2647d02..4e6c67a615d7 100644 --- a/UPGRADING.md +++ b/UPGRADING.md @@ -498,6 +498,16 @@ This change was made to allow legacy proposals to be compatible with server/v2. If you wish to migrate to server/v2, you should update your proposal handler to take in a `context.Context` and use services. On the other hand, if you wish to keep using baseapp, simply unwrap the sdk context in your proposal handler. +#### `x/mint` + +The `x/mint` module has been updated to work with a mint function [`MintFn`](https://docs.cosmos.network/v0.52/build/modules/mint#mintfn). + +When using the default inflation calculation function and runtime, no change is required. The depinject configuration of mint automatically sets it if none is provided. However, when not using runtime, the mint function must be set in on the mint keeper: + +```diff ++ mintKeeper.SetMintFn(keeper.DefaultMintFn(types.DefaultInflationCalculationFn, stakingKeeper, mintKeeper)) +``` + #### `x/protocolpool` Introducing a new `x/protocolpool` module to handle community pool funds. Its store must be added while upgrading to v0.52.x. @@ -532,6 +542,10 @@ storetypes.StoreUpgrades{ Introducing `x/validate` a module that is solely used for registering default ante/post handlers and global tx validators when using runtime and runtime/v2. If you wish to set your custom ante/post handlers, no need to use this module. You can however always extend them by adding extra tx validators (see `x/validate` documentation). +#### `tools/benchmark` + +Introducing [`tools/benchmark`](https://github.com/cosmos/cosmos-sdk/tree/main/tools/benchmark) a Cosmos SDK module for benchmarking your chain. It is a standalone module that can be added to your chain to stress test it. This module should NOT be added in a production environment. + ## [v0.50.x](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.0-alpha.0) ### Migration to CometBFT (Part 2) diff --git a/collections/CHANGELOG.md b/collections/CHANGELOG.md index 142263bc5050..b58e3190a56b 100644 --- a/collections/CHANGELOG.md +++ b/collections/CHANGELOG.md @@ -31,6 +31,8 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## [Unreleased] +## [v1.0.0](https://github.com/cosmos/cosmos-sdk/releases/tag/collections%2Fv1.0.0) + ### Features * [#22641](https://github.com/cosmos/cosmos-sdk/pull/22641) Add reverse iterator support for `Triple`. diff --git a/core/testing/CHANGELOG.md b/core/testing/CHANGELOG.md index 6975f4ddb716..52646803689d 100644 --- a/core/testing/CHANGELOG.md +++ b/core/testing/CHANGELOG.md @@ -36,3 +36,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## [Unreleased] +## [v0.0.1](https://github.com/cosmos/cosmos-sdk/releases/tag/core/testing%2Fv0.0.1) + +* Initial tag. diff --git a/docs/build/building-modules/00-intro.md b/docs/build/building-modules/00-intro.md index bd8e78a42380..10b21db77e18 100644 --- a/docs/build/building-modules/00-intro.md +++ b/docs/build/building-modules/00-intro.md @@ -63,6 +63,8 @@ While there are no definitive guidelines for writing modules, here are some impo The SDK provides a set of APIs that a module can implement, and a set of services that a module can use. Those APIs are defined in the `cosmossdk.io/core/appmodule` package, and are used to defined the module capabilities, which is used by `runtime` during the wiring of the application. +Whenever possible, a module should strive to use only the core APIs (`cosmossdk.io/core`) and not import the `github.com/cosmos/cosmos-sdk` module. This makes modules reusable accross SDK versions and reduces the risk of breaking changes. + Learn more about the core APIs for modules [here](../../learn/advanced/02-core.md). ## Main Components of Cosmos SDK Modules diff --git a/schema/CHANGELOG.md b/schema/CHANGELOG.md index 0c3c9d03857f..1ae1d7207eea 100644 --- a/schema/CHANGELOG.md +++ b/schema/CHANGELOG.md @@ -35,3 +35,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ # Changelog ## [Unreleased] + +## [v1.0.0](https://github.com/cosmos/cosmos-sdk/releases/tag/schema%2Fv1.0.0) + +Introduce `cosmossdk.io/schema` module. diff --git a/store/CHANGELOG.md b/store/CHANGELOG.md index 12e6c613d2ca..4d170bff0edc 100644 --- a/store/CHANGELOG.md +++ b/store/CHANGELOG.md @@ -23,16 +23,31 @@ Ref: https://keepachangelog.com/en/1.0.0/ # Changelog +> **Disclaimer**: Numbers from v1.0.x to v1.9.x are reserved for the v0.50 line. +> cosmossdk.io/store compatible with the v0.50 line is tagged from release/v0.50.x +> Numbers from v1.10.x onwards are reserved for the 0.52+ line. +> With Cosmos SDK v2 (with store/v2), CometBFT has been pushed to the boundaries, so issues like this +> are not expected to happen again. + ## [Unreleased] +## v1.10.0 (December 13, 2024) + ### Improvements -* (store) [#22305](https://github.com/cosmos/cosmos-sdk/pull/22305) Add `LatestVersion` to the `Committer` interface to get the latest version of the store. +* [#22305](https://github.com/cosmos/cosmos-sdk/pull/22305) Add `LatestVersion` to the `Committer` interface to get the latest version of the store. +* Upgrade IAVL to IAVL v1.3.x. ### Bug Fixes -* (store) [#20425](https://github.com/cosmos/cosmos-sdk/pull/20425) Fix nil pointer panic when query historical state where a new store don't exist. -* (store) [#20644](https://github.com/cosmos/cosmos-sdk/pull/20644) Avoid nil error on not exhausted payload stream. +* [#20425](https://github.com/cosmos/cosmos-sdk/pull/20425) Fix nil pointer panic when query historical state where a new store don't exist. +* [#20644](https://github.com/cosmos/cosmos-sdk/pull/20644) Avoid nil error on not exhausted payload stream. + +## v1.1.1 (September 06, 2024) + +### Improvements + +* [#21574](https://github.com/cosmos/cosmos-sdk/pull/21574) Upgrade IAVL to IAVL 1.2.0. ## v1.1.0 (March 20, 2024) diff --git a/x/group/go.mod b/x/group/go.mod index f03b588731d9..55ede2550228 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -13,7 +13,6 @@ require ( cosmossdk.io/math v1.4.0 cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/accounts v0.0.0-20240913065641-0064ccbce64e - cosmossdk.io/x/authz v0.0.0-00010101000000-000000000000 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 cosmossdk.io/x/gov v0.0.0-20231113122742-912390d5fc4a @@ -187,13 +186,8 @@ replace ( cosmossdk.io/client/v2 => ../../client/v2 cosmossdk.io/store => ../../store cosmossdk.io/x/accounts => ../accounts - cosmossdk.io/x/accounts/defaults/base => ../accounts/defaults/base - cosmossdk.io/x/accounts/defaults/lockup => ../accounts/defaults/lockup - cosmossdk.io/x/accounts/defaults/multisig => ../accounts/defaults/multisig - cosmossdk.io/x/authz => ../authz cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus - cosmossdk.io/x/distribution => ../distribution cosmossdk.io/x/epochs => ../epochs cosmossdk.io/x/gov => ../gov cosmossdk.io/x/mint => ../mint diff --git a/x/group/testutil/app_config.go b/x/group/testutil/app_config.go index 017808f605d7..7d5c25768057 100644 --- a/x/group/testutil/app_config.go +++ b/x/group/testutil/app_config.go @@ -2,7 +2,6 @@ package testutil import ( _ "cosmossdk.io/x/accounts" // import as blank for app wiring - _ "cosmossdk.io/x/authz" // import as blank for app wiring _ "cosmossdk.io/x/bank" // import as blank for app wiring _ "cosmossdk.io/x/consensus" // import as blank for app wiring _ "cosmossdk.io/x/group/module" // import as blank for app wiring From 2c2249ffd3a9040e361757896acb03130a83dfc2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 09:06:36 +0000 Subject: [PATCH 10/22] build(deps): Bump cosmossdk.io/x/tx from 1.0.0-alpha.2 to 1.0.0-alpha.3 (#22873) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- runtime/v2/go.mod | 2 +- runtime/v2/go.sum | 4 ++-- server/v2/cometbft/go.mod | 2 +- server/v2/cometbft/go.sum | 4 ++-- systemtests/go.mod | 4 ++-- systemtests/go.sum | 16 ++++++++-------- tests/systemtests/go.mod | 4 ++-- tests/systemtests/go.sum | 16 ++++++++-------- tools/benchmark/go.mod | 2 +- tools/benchmark/go.sum | 4 ++-- tools/confix/go.mod | 2 +- tools/confix/go.sum | 4 ++-- tools/cosmovisor/go.mod | 2 +- tools/cosmovisor/go.sum | 4 ++-- tools/hubl/go.mod | 2 +- tools/hubl/go.sum | 4 ++-- x/accounts/defaults/base/go.mod | 2 +- x/accounts/defaults/base/go.sum | 4 ++-- x/accounts/defaults/lockup/go.mod | 2 +- x/accounts/defaults/lockup/go.sum | 4 ++-- x/accounts/defaults/multisig/go.mod | 2 +- x/accounts/defaults/multisig/go.sum | 4 ++-- x/accounts/go.mod | 2 +- x/accounts/go.sum | 4 ++-- x/authz/go.mod | 2 +- x/authz/go.sum | 4 ++-- x/bank/go.mod | 2 +- x/bank/go.sum | 4 ++-- x/circuit/go.mod | 2 +- x/circuit/go.sum | 4 ++-- x/consensus/go.mod | 2 +- x/consensus/go.sum | 4 ++-- x/distribution/go.mod | 2 +- x/distribution/go.sum | 4 ++-- x/epochs/go.mod | 2 +- x/epochs/go.sum | 4 ++-- x/evidence/go.mod | 2 +- x/evidence/go.sum | 4 ++-- x/mint/go.mod | 2 +- x/mint/go.sum | 4 ++-- x/nft/go.mod | 2 +- x/nft/go.sum | 4 ++-- x/protocolpool/go.mod | 2 +- x/protocolpool/go.sum | 4 ++-- x/slashing/go.mod | 2 +- x/slashing/go.sum | 4 ++-- x/staking/go.mod | 2 +- x/staking/go.sum | 4 ++-- 50 files changed, 89 insertions(+), 89 deletions(-) diff --git a/go.mod b/go.mod index 4d0e521ef960..bfcf507bfaac 100644 --- a/go.mod +++ b/go.mod @@ -15,7 +15,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 - cosmossdk.io/x/tx v1.0.0-alpha.2 + cosmossdk.io/x/tx v1.0.0-alpha.3 github.com/99designs/keyring v1.2.2 github.com/bgentry/speakeasy v0.2.0 github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 diff --git a/go.sum b/go.sum index f1af3b4f4f52..73bf461b7b37 100644 --- a/go.sum +++ b/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/runtime/v2/go.mod b/runtime/v2/go.mod index a0975546c9eb..bf07d1b02849 100644 --- a/runtime/v2/go.mod +++ b/runtime/v2/go.mod @@ -19,7 +19,7 @@ require ( cosmossdk.io/server/v2/appmanager v0.0.0-00010101000000-000000000000 cosmossdk.io/server/v2/stf v0.0.0-00010101000000-000000000000 cosmossdk.io/store/v2 v2.0.0-00010101000000-000000000000 - cosmossdk.io/x/tx v1.0.0-alpha.2 + cosmossdk.io/x/tx v1.0.0-alpha.3 github.com/cosmos/gogoproto v1.7.0 github.com/stretchr/testify v1.10.0 google.golang.org/grpc v1.68.1 diff --git a/runtime/v2/go.sum b/runtime/v2/go.sum index adb23b18780e..7966515ebb89 100644 --- a/runtime/v2/go.sum +++ b/runtime/v2/go.sum @@ -14,8 +14,8 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 87bc8fcf1a99..f9200593be85 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -49,7 +49,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index ecadd947bdef..74bb315ef159 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/systemtests/go.mod b/systemtests/go.mod index 9e6a46461706..6dd0621a1350 100644 --- a/systemtests/go.mod +++ b/systemtests/go.mod @@ -22,7 +22,7 @@ require ( cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/store v1.1.0 // indirect - cosmossdk.io/x/tx v0.13.3-0.20240419091757-db5906b1e894 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -149,7 +149,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect golang.org/x/arch v0.12.0 // indirect golang.org/x/crypto v0.31.0 // indirect - golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect + golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f // indirect golang.org/x/net v0.32.0 // indirect golang.org/x/sync v0.10.0 // indirect golang.org/x/sys v0.28.0 // indirect diff --git a/systemtests/go.sum b/systemtests/go.sum index fe1ffbe02a9b..74ccd8271e8a 100644 --- a/systemtests/go.sum +++ b/systemtests/go.sum @@ -16,8 +16,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/store v1.1.0 h1:LnKwgYMc9BInn9PhpTFEQVbL9UK475G2H911CGGnWHk= cosmossdk.io/store v1.1.0/go.mod h1:oZfW/4Fc/zYqu3JmQcQdUJ3fqu5vnYTn3LZFFy8P8ng= -cosmossdk.io/x/tx v0.13.3-0.20240419091757-db5906b1e894 h1:kHEvzVqpNv/9pnaEPBsgE/FMc+cVmWjSsInRufkZkpQ= -cosmossdk.io/x/tx v0.13.3-0.20240419091757-db5906b1e894/go.mod h1:Tb6/tpONmtL5qFdOMdv1pdvrtJNxcazZBoz04HB71ss= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= @@ -772,8 +772,8 @@ golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ss golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= -golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= +golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f h1:XdNn9LlyWAhLVp6P/i8QYBW+hlyhrhei9uErw2B5GJo= +golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f/go.mod h1:D5SMRVC3C2/4+F/DB1wZsLRnSNimn2Sp/NPsCrsv8ak= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -787,8 +787,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -920,8 +920,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= +golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/tests/systemtests/go.mod b/tests/systemtests/go.mod index 0a56f317aedf..9048c0474bad 100644 --- a/tests/systemtests/go.mod +++ b/tests/systemtests/go.mod @@ -16,7 +16,7 @@ require ( cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/store v1.1.0 // indirect - cosmossdk.io/x/tx v0.13.3-0.20240419091757-db5906b1e894 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect @@ -149,7 +149,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect golang.org/x/arch v0.12.0 // indirect golang.org/x/crypto v0.31.0 // indirect - golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc // indirect + golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f // indirect golang.org/x/net v0.32.0 // indirect golang.org/x/sync v0.10.0 // indirect golang.org/x/sys v0.28.0 // indirect diff --git a/tests/systemtests/go.sum b/tests/systemtests/go.sum index 2192c5c4cfbe..5f9f9fb513b7 100644 --- a/tests/systemtests/go.sum +++ b/tests/systemtests/go.sum @@ -18,8 +18,8 @@ cosmossdk.io/store v1.1.0 h1:LnKwgYMc9BInn9PhpTFEQVbL9UK475G2H911CGGnWHk= cosmossdk.io/store v1.1.0/go.mod h1:oZfW/4Fc/zYqu3JmQcQdUJ3fqu5vnYTn3LZFFy8P8ng= cosmossdk.io/systemtests v1.0.0-rc.3 h1:W1ZdfHtWxbzRCiBwcMb1nMKkmUNyAcHapJOrfh1lX20= cosmossdk.io/systemtests v1.0.0-rc.3/go.mod h1:B3RY1tY/iwLjQ9MUTz+GsiXV9gEdS8mfUvSQtWUwaAo= -cosmossdk.io/x/tx v0.13.3-0.20240419091757-db5906b1e894 h1:kHEvzVqpNv/9pnaEPBsgE/FMc+cVmWjSsInRufkZkpQ= -cosmossdk.io/x/tx v0.13.3-0.20240419091757-db5906b1e894/go.mod h1:Tb6/tpONmtL5qFdOMdv1pdvrtJNxcazZBoz04HB71ss= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= @@ -774,8 +774,8 @@ golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ss golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc h1:O9NuF4s+E/PvMIy+9IUZB9znFwUIXEWSstNjek6VpVg= -golang.org/x/exp v0.0.0-20240531132922-fd00a4e0eefc/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= +golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f h1:XdNn9LlyWAhLVp6P/i8QYBW+hlyhrhei9uErw2B5GJo= +golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f/go.mod h1:D5SMRVC3C2/4+F/DB1wZsLRnSNimn2Sp/NPsCrsv8ak= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -789,8 +789,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -922,8 +922,8 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.27.0 h1:qEKojBykQkQ4EynWy4S8Weg69NumxKdn40Fce3uc/8o= +golang.org/x/tools v0.27.0/go.mod h1:sUi0ZgbwW9ZPAq26Ekut+weQPR5eIM6GQLQ1Yjm1H0Q= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/tools/benchmark/go.mod b/tools/benchmark/go.mod index 5e5cec640d64..e2d0cbed15cb 100644 --- a/tools/benchmark/go.mod +++ b/tools/benchmark/go.mod @@ -25,7 +25,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/tools/benchmark/go.sum b/tools/benchmark/go.sum index 53463ab82492..cae75a20a657 100644 --- a/tools/benchmark/go.sum +++ b/tools/benchmark/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/tools/confix/go.mod b/tools/confix/go.mod index 7ed3d6815705..3aa8a6821c4a 100644 --- a/tools/confix/go.mod +++ b/tools/confix/go.mod @@ -21,7 +21,7 @@ require ( cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/store v1.1.1 // indirect - cosmossdk.io/x/tx v0.13.5 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect diff --git a/tools/confix/go.sum b/tools/confix/go.sum index 11d2536db9bb..7aa02c13e83f 100644 --- a/tools/confix/go.sum +++ b/tools/confix/go.sum @@ -16,8 +16,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= -cosmossdk.io/x/tx v0.13.5 h1:FdnU+MdmFWn1pTsbfU0OCf2u6mJ8cqc1H4OMG418MLw= -cosmossdk.io/x/tx v0.13.5/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/tools/cosmovisor/go.mod b/tools/cosmovisor/go.mod index f5c2dce34512..2e3e371f21c8 100644 --- a/tools/cosmovisor/go.mod +++ b/tools/cosmovisor/go.mod @@ -29,7 +29,7 @@ require ( cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/store v1.1.1 // indirect - cosmossdk.io/x/tx v0.13.5 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/tools/cosmovisor/go.sum b/tools/cosmovisor/go.sum index 2e56948e4141..d9cb21cfc90b 100644 --- a/tools/cosmovisor/go.sum +++ b/tools/cosmovisor/go.sum @@ -204,8 +204,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= -cosmossdk.io/x/tx v0.13.5 h1:FdnU+MdmFWn1pTsbfU0OCf2u6mJ8cqc1H4OMG418MLw= -cosmossdk.io/x/tx v0.13.5/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= cosmossdk.io/x/upgrade v0.1.4 h1:/BWJim24QHoXde8Bc64/2BSEB6W4eTydq0X/2f8+g38= cosmossdk.io/x/upgrade v0.1.4/go.mod h1:9v0Aj+fs97O+Ztw+tG3/tp5JSlrmT7IcFhAebQHmOPo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= diff --git a/tools/hubl/go.mod b/tools/hubl/go.mod index 0268b07802f1..dc2fd3e229ae 100644 --- a/tools/hubl/go.mod +++ b/tools/hubl/go.mod @@ -21,7 +21,7 @@ require ( cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/store v1.1.1 // indirect - cosmossdk.io/x/tx v0.13.5 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/tools/hubl/go.sum b/tools/hubl/go.sum index 66a6d2a94a51..36a17dd47b5e 100644 --- a/tools/hubl/go.sum +++ b/tools/hubl/go.sum @@ -18,8 +18,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= -cosmossdk.io/x/tx v0.13.5 h1:FdnU+MdmFWn1pTsbfU0OCf2u6mJ8cqc1H4OMG418MLw= -cosmossdk.io/x/tx v0.13.5/go.mod h1:V6DImnwJMTq5qFjeGWpXNiT/fjgE4HtmclRmTqRVM3w= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= diff --git a/x/accounts/defaults/base/go.mod b/x/accounts/defaults/base/go.mod index dece393fd520..fdb18cca2852 100644 --- a/x/accounts/defaults/base/go.mod +++ b/x/accounts/defaults/base/go.mod @@ -8,7 +8,7 @@ require ( cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/x/accounts v0.0.0-20240913065641-0064ccbce64e - cosmossdk.io/x/tx v1.0.0-alpha.2 + cosmossdk.io/x/tx v1.0.0-alpha.3 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 diff --git a/x/accounts/defaults/base/go.sum b/x/accounts/defaults/base/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/accounts/defaults/base/go.sum +++ b/x/accounts/defaults/base/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 0534cdef7ef6..2dc11f2c7014 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -35,7 +35,7 @@ require ( cosmossdk.io/math v1.4.0 cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index 53463ab82492..cae75a20a657 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/accounts/defaults/multisig/go.mod b/x/accounts/defaults/multisig/go.mod index 4425bf78a023..ba1c9c160ded 100644 --- a/x/accounts/defaults/multisig/go.mod +++ b/x/accounts/defaults/multisig/go.mod @@ -26,7 +26,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/accounts/defaults/multisig/go.sum b/x/accounts/defaults/multisig/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/accounts/defaults/multisig/go.sum +++ b/x/accounts/defaults/multisig/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index b1752791ac31..b2c1d94b7a92 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -9,7 +9,7 @@ require ( cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e cosmossdk.io/depinject v1.1.0 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 - cosmossdk.io/x/tx v1.0.0-alpha.2 + cosmossdk.io/x/tx v1.0.0-alpha.3 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 github.com/spf13/cobra v1.8.1 diff --git a/x/accounts/go.sum b/x/accounts/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/authz/go.mod b/x/authz/go.mod index 76b9cc775c1f..a762b2fe2de2 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -12,7 +12,7 @@ require ( cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 - cosmossdk.io/x/tx v1.0.0-alpha.2 + cosmossdk.io/x/tx v1.0.0-alpha.3 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 diff --git a/x/authz/go.sum b/x/authz/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/bank/go.mod b/x/bank/go.mod index e6ab51efabdb..04010a834251 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -32,7 +32,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/bank/go.sum b/x/bank/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index fe781e36ac2c..9aef5db125db 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -27,7 +27,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/circuit/go.sum b/x/circuit/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/consensus/go.mod b/x/consensus/go.mod index 2b450f223fc8..d17d144dc8a4 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -30,7 +30,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/consensus/go.sum b/x/consensus/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index 371467d7a20b..491199219b7a 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -31,7 +31,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/distribution/go.sum b/x/distribution/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/epochs/go.mod b/x/epochs/go.mod index 81e819e6d4c5..0ef67424de53 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -29,7 +29,7 @@ require ( cosmossdk.io/math v1.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/epochs/go.sum b/x/epochs/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/epochs/go.sum +++ b/x/epochs/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index 277b2221a183..d216fe0ab115 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -31,7 +31,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/evidence/go.sum b/x/evidence/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/mint/go.mod b/x/mint/go.mod index 401c781f143c..8276030c4729 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -32,7 +32,7 @@ require ( cosmossdk.io/schema v0.4.0 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/mint/go.sum b/x/mint/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/nft/go.mod b/x/nft/go.mod index ea3a1d4a5425..b754dcf18764 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -29,7 +29,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/nft/go.sum b/x/nft/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index c6fecab24c31..2ba83bfb51e6 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -30,7 +30,7 @@ require ( cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index f4f508892a49..570a564c3e3d 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -32,7 +32,7 @@ require ( cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/schema v0.4.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/slashing/go.sum b/x/slashing/go.sum index 8b9ef5de1c3d..e6ce3ad420eb 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= diff --git a/x/staking/go.mod b/x/staking/go.mod index 8982c11556ca..4eddd3f3c72f 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -31,7 +31,7 @@ require ( require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect - cosmossdk.io/x/tx v1.0.0-alpha.2 // indirect + cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect diff --git a/x/staking/go.sum b/x/staking/go.sum index de52bdd1c15c..922863ae72ec 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -22,8 +22,8 @@ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= -cosmossdk.io/x/tx v1.0.0-alpha.2 h1:UW80FMm7B0fiAMsrfe5+HabSJ3XBg+tQa6/GK9prqWk= -cosmossdk.io/x/tx v1.0.0-alpha.2/go.mod h1:r4yTKSJ7ZCCR95YbBfY3nfvbgNw6m9F6f25efWYYQWo= +cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= +cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= From 234cdc45f2a87243f706c32e5f9ef8a635f36d25 Mon Sep 17 00:00:00 2001 From: Marko Date: Mon, 16 Dec 2024 02:48:54 -0800 Subject: [PATCH 11/22] refactor(x/staking)!: removing unbonding queue index (#22795) --- api/cosmos/staking/v1beta1/staking.pulsar.go | 406 ++-- simapp/sim_test.go | 1 - .../staking/keeper/deterministic_test.go | 8 +- .../staking/keeper/msg_server_test.go | 1 - .../integration/staking/keeper/slash_test.go | 12 +- .../staking/keeper/unbonding_test.go | 460 ----- x/staking/CHANGELOG.md | 3 + x/staking/keeper/delegation.go | 50 +- x/staking/keeper/delegation_test.go | 30 +- x/staking/keeper/grpc_query.go | 1 - x/staking/keeper/keeper.go | 8 - x/staking/keeper/msg_server_test.go | 2 +- x/staking/keeper/slash.go | 4 +- x/staking/keeper/unbonding.go | 450 ----- x/staking/keeper/unbonding_test.go | 346 ---- x/staking/keeper/val_state_change.go | 15 - x/staking/keeper/validator.go | 21 +- x/staking/migrations/v6/keys.go | 3 + x/staking/migrations/v6/store.go | 3 + .../cosmos/staking/v1beta1/staking.proto | 2 +- x/staking/testutil/expected_keepers_mocks.go | 14 - x/staking/types/delegation.go | 46 +- x/staking/types/delegation_test.go | 14 +- x/staking/types/expected_keepers.go | 1 - x/staking/types/hooks.go | 9 - x/staking/types/keys.go | 4 - x/staking/types/staking.pb.go | 1721 +++++++++-------- 27 files changed, 1127 insertions(+), 2508 deletions(-) delete mode 100644 tests/integration/staking/keeper/unbonding_test.go delete mode 100644 x/staking/keeper/unbonding.go delete mode 100644 x/staking/keeper/unbonding_test.go diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 6c301f72e05d..1453eb53c79d 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -15459,6 +15459,8 @@ type UnbondingDelegationEntry struct { // balance defines the tokens to receive at completion. Balance string `protobuf:"bytes,4,opt,name=balance,proto3" json:"balance,omitempty"` // Incrementing id that uniquely identifies this entry + // + // Deprecated: Do not use. UnbondingId uint64 `protobuf:"varint,5,opt,name=unbonding_id,json=unbondingId,proto3" json:"unbonding_id,omitempty"` // Strictly positive if this entry's unbonding has been stopped by external modules UnbondingOnHoldRefCount int64 `protobuf:"varint,6,opt,name=unbonding_on_hold_ref_count,json=unbondingOnHoldRefCount,proto3" json:"unbonding_on_hold_ref_count,omitempty"` @@ -15512,6 +15514,7 @@ func (x *UnbondingDelegationEntry) GetBalance() string { return "" } +// Deprecated: Do not use. func (x *UnbondingDelegationEntry) GetUnbondingId() uint64 { if x != nil { return x.UnbondingId @@ -16316,7 +16319,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, - 0x1f, 0x00, 0x22, 0x9b, 0x03, 0x0a, 0x18, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x1f, 0x00, 0x22, 0x9f, 0x03, 0x0a, 0x18, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, @@ -16335,208 +16338,209 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, - 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x62, - 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1b, - 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x6c, - 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x48, 0x6f, - 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, - 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, - 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, - 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x73, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, - 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, - 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, - 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, - 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x44, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x75, - 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x3c, - 0x0a, 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x68, - 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, - 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, 0xe8, 0xa0, - 0x1f, 0x01, 0x22, 0xdd, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, - 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x64, - 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x44, 0x73, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, - 0x1f, 0x00, 0x22, 0xeb, 0x03, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, - 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x98, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x0d, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, - 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x6e, - 0x64, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, - 0x6f, 0x6e, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x84, 0x01, 0x0a, 0x13, 0x6d, 0x69, 0x6e, - 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x54, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, 0xde, 0x1f, 0x1a, 0x79, - 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, - 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, - 0x49, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x52, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, - 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, - 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xcd, 0x01, 0x0a, - 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x62, + 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, + 0x02, 0x18, 0x01, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, + 0x12, 0x3c, 0x0a, 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, + 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x4f, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x04, + 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0x9f, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, + 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, - 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, - 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, - 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xeb, 0x01, 0x0a, 0x04, 0x50, 0x6f, 0x6f, - 0x6c, 0x12, 0x71, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, - 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, - 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x41, 0xc8, 0xde, 0x1f, - 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, - 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, - 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, - 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x5e, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x07, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, - 0x6d, 0x65, 0x74, 0x62, 0x66, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, - 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x3a, 0x02, 0x18, 0x01, 0x22, 0xd0, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, - 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x56, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, - 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, - 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, - 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, - 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, - 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, - 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x3a, - 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x53, 0x0a, 0x19, 0x56, 0x61, 0x6c, - 0x41, 0x64, 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, - 0x6e, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, - 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, - 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, - 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, - 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, - 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, - 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, - 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, - 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, - 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, - 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, - 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, - 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x0e, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, + 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x5f, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x44, 0x65, 0x63, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x44, 0x73, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x4f, 0x6e, 0x48, 0x6f, 0x6c, 0x64, 0x52, 0x65, 0x66, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xdd, 0x02, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, + 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, + 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x64, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, + 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xeb, 0x03, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x98, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x0d, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, + 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x68, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x68, 0x69, 0x73, 0x74, + 0x6f, 0x72, 0x69, 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, + 0x0a, 0x62, 0x6f, 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x62, 0x6f, 0x6e, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x84, 0x01, 0x0a, + 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x54, 0xc8, 0xde, 0x1f, 0x00, + 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, + 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xf2, + 0xde, 0x1f, 0x1a, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, + 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, + 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x3a, 0x24, + 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, + 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, + 0x22, 0xcd, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x45, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, + 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, + 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xeb, 0x01, 0x0a, + 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x71, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, + 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x45, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, + 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, + 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, + 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x66, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, + 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x41, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, + 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, + 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, + 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x5e, 0x0a, 0x10, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x46, + 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x63, 0x6f, 0x6d, 0x65, 0x74, 0x62, 0x66, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x3a, 0x02, 0x18, 0x01, 0x22, 0xd0, 0x02, 0x0a, 0x19, 0x43, + 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, + 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, + 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, + 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x6e, + 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x66, + 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, + 0x66, 0x65, 0x65, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x53, 0x0a, + 0x19, 0x56, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x18, 0xd2, + 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, + 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, + 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, + 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, + 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, + 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, + 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, + 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, + 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/simapp/sim_test.go b/simapp/sim_test.go index 0fa1a5a472ca..a4fa3cd02d22 100644 --- a/simapp/sim_test.go +++ b/simapp/sim_test.go @@ -100,7 +100,6 @@ func TestAppImportExport(t *testing.T) { skipPrefixes := map[string][][]byte{ stakingtypes.StoreKey: { stakingtypes.UnbondingQueueKey, stakingtypes.RedelegationQueueKey, stakingtypes.ValidatorQueueKey, - stakingtypes.UnbondingIDKey, stakingtypes.UnbondingIndexKey, stakingtypes.UnbondingTypeKey, }, authzkeeper.StoreKey: {authzkeeper.GrantQueuePrefix}, feegrant.StoreKey: {feegrant.FeeAllowanceQueueKeyPrefix}, diff --git a/tests/integration/staking/keeper/deterministic_test.go b/tests/integration/staking/keeper/deterministic_test.go index 77f99c9d32ee..a9aa427d4294 100644 --- a/tests/integration/staking/keeper/deterministic_test.go +++ b/tests/integration/staking/keeper/deterministic_test.go @@ -552,7 +552,7 @@ func TestGRPCValidatorUnbondingDelegations(t *testing.T) { ValidatorAddr: validator.OperatorAddress, } - testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.ValidatorUnbondingDelegations, 3719, false) + testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.ValidatorUnbondingDelegations, 3707, false) } func TestGRPCDelegation(t *testing.T) { @@ -632,7 +632,7 @@ func TestGRPCUnbondingDelegation(t *testing.T) { DelegatorAddr: delegator1, } - testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.UnbondingDelegation, 1621, false) + testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.UnbondingDelegation, 1615, false) } func TestGRPCDelegatorDelegations(t *testing.T) { @@ -755,7 +755,7 @@ func TestGRPCDelegatorUnbondingDelegations(t *testing.T) { DelegatorAddr: delegator1, } - testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.DelegatorUnbondingDelegations, 1302, false) + testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.DelegatorUnbondingDelegations, 1290, false) } func TestGRPCDelegatorValidators(t *testing.T) { @@ -875,7 +875,7 @@ func TestGRPCRedelegations(t *testing.T) { DstValidatorAddr: validator2, } - testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.Redelegations, 3926, false) + testdata.DeterministicIterations(t, f.ctx, req, f.queryClient.Redelegations, 3920, false) } func TestGRPCParams(t *testing.T) { diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index cea78ae9f1f7..3691d508d190 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -58,7 +58,6 @@ func TestCancelUnbondingDelegation(t *testing.T) { delegatorAddr, validatorAddr, 10, ctx.HeaderInfo().Time.Add(time.Minute*10), unbondingAmount.Amount, - 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos"), ) diff --git a/tests/integration/staking/keeper/slash_test.go b/tests/integration/staking/keeper/slash_test.go index f9620b9e05cc..c5ff1edba6c9 100644 --- a/tests/integration/staking/keeper/slash_test.go +++ b/tests/integration/staking/keeper/slash_test.go @@ -79,7 +79,7 @@ func TestSlashUnbondingDelegation(t *testing.T) { // set an unbonding delegation with expiration timestamp (beyond which the // unbonding delegation shouldn't be slashed) ubd := types.NewUnbondingDelegation(addrDels[0], addrVals[0], 0, - time.Unix(5, 0), math.NewInt(10), 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) + time.Unix(5, 0), math.NewInt(10), address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) assert.NilError(t, f.stakingKeeper.SetUnbondingDelegation(f.sdkCtx, ubd)) @@ -138,7 +138,7 @@ func TestSlashRedelegation(t *testing.T) { // set a redelegation with an expiration timestamp beyond which the // redelegation shouldn't be slashed rd := types.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 0, - time.Unix(5, 0), math.NewInt(10), math.LegacyNewDec(10), 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) + time.Unix(5, 0), math.NewInt(10), math.LegacyNewDec(10), address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) assert.NilError(t, f.stakingKeeper.SetRedelegation(f.sdkCtx, rd)) @@ -285,7 +285,7 @@ func TestSlashWithUnbondingDelegation(t *testing.T) { // set an unbonding delegation with expiration timestamp beyond which the // unbonding delegation shouldn't be slashed ubdTokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 4) - ubd := types.NewUnbondingDelegation(addrDels[0], addrVals[0], 11, time.Unix(0, 0), ubdTokens, 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) + ubd := types.NewUnbondingDelegation(addrDels[0], addrVals[0], 11, time.Unix(0, 0), ubdTokens, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) assert.NilError(t, f.stakingKeeper.SetUnbondingDelegation(f.sdkCtx, ubd)) // slash validator for the first time @@ -415,7 +415,7 @@ func TestSlashWithRedelegation(t *testing.T) { // set a redelegation rdTokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 6) - rd := types.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 11, time.Unix(0, 0), rdTokens, math.LegacyNewDecFromInt(rdTokens), 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) + rd := types.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 11, time.Unix(0, 0), rdTokens, math.LegacyNewDecFromInt(rdTokens), address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) assert.NilError(t, f.stakingKeeper.SetRedelegation(f.sdkCtx, rd)) // set the associated delegation @@ -573,7 +573,7 @@ func TestSlashBoth(t *testing.T) { // set a redelegation with expiration timestamp beyond which the // redelegation shouldn't be slashed rdATokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 6) - rdA := types.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 11, time.Unix(0, 0), rdATokens, math.LegacyNewDecFromInt(rdATokens), 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) + rdA := types.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 11, time.Unix(0, 0), rdATokens, math.LegacyNewDecFromInt(rdATokens), address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) assert.NilError(t, f.stakingKeeper.SetRedelegation(f.sdkCtx, rdA)) // set the associated delegation @@ -584,7 +584,7 @@ func TestSlashBoth(t *testing.T) { // unbonding delegation shouldn't be slashed) ubdATokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 4) ubdA := types.NewUnbondingDelegation(addrDels[0], addrVals[0], 11, - time.Unix(0, 0), ubdATokens, 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) + time.Unix(0, 0), ubdATokens, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) assert.NilError(t, f.stakingKeeper.SetUnbondingDelegation(f.sdkCtx, ubdA)) bondedCoins := sdk.NewCoins(sdk.NewCoin(bondDenom, rdATokens.MulRaw(2))) diff --git a/tests/integration/staking/keeper/unbonding_test.go b/tests/integration/staking/keeper/unbonding_test.go deleted file mode 100644 index 7a39f4ab20dd..000000000000 --- a/tests/integration/staking/keeper/unbonding_test.go +++ /dev/null @@ -1,460 +0,0 @@ -package keeper_test - -import ( - "testing" - "time" - - "go.uber.org/mock/gomock" - "gotest.tools/v3/assert" - - "cosmossdk.io/core/header" - "cosmossdk.io/math" - banktestutil "cosmossdk.io/x/bank/testutil" - stakingkeeper "cosmossdk.io/x/staking/keeper" - "cosmossdk.io/x/staking/testutil" - "cosmossdk.io/x/staking/types" - - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// SetupUnbondingTests creates two validators and setup mocked staking hooks for testing unbonding -func SetupUnbondingTests(t *testing.T, f *fixture, hookCalled *bool, ubdeID *uint64) (bondDenom string, addrDels []sdk.AccAddress, addrVals []sdk.ValAddress) { - t.Helper() - // setup hooks - mockCtrl := gomock.NewController(t) - mockStackingHooks := testutil.NewMockStakingHooks(mockCtrl) - mockStackingHooks.EXPECT().AfterDelegationModified(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().AfterUnbondingInitiated(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx sdk.Context, id uint64) error { - *hookCalled = true - // save id - *ubdeID = id - // call back to stop unbonding - err := f.stakingKeeper.PutUnbondingOnHold(f.sdkCtx, id) - assert.NilError(t, err) - - return nil - }).AnyTimes() - mockStackingHooks.EXPECT().AfterValidatorBeginUnbonding(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().AfterValidatorBonded(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().AfterValidatorCreated(gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().AfterValidatorRemoved(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().BeforeDelegationCreated(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().BeforeDelegationRemoved(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().BeforeDelegationSharesModified(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().BeforeValidatorModified(gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().BeforeValidatorSlashed(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - mockStackingHooks.EXPECT().AfterConsensusPubKeyUpdate(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - f.stakingKeeper.SetHooks(types.NewMultiStakingHooks(mockStackingHooks)) - - addrDels = simtestutil.AddTestAddrsIncremental(f.bankKeeper, f.stakingKeeper, f.sdkCtx, 2, math.NewInt(10000)) - addrVals = simtestutil.ConvertAddrsToValAddrs(addrDels) - - valTokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 10) - startTokens := f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, 20) - - bondDenom, err := f.stakingKeeper.BondDenom(f.sdkCtx) - assert.NilError(t, err) - notBondedPool := f.stakingKeeper.GetNotBondedPool(f.sdkCtx) - - assert.NilError(t, banktestutil.FundModuleAccount(f.sdkCtx, f.bankKeeper, notBondedPool.GetName(), sdk.NewCoins(sdk.NewCoin(bondDenom, startTokens)))) - f.accountKeeper.SetModuleAccount(f.sdkCtx, notBondedPool) - - // Create a validator - validator1 := testutil.NewValidator(t, addrVals[0], PKs[0]) - validator1, issuedShares1 := validator1.AddTokensFromDel(valTokens) - assert.DeepEqual(t, valTokens, issuedShares1.RoundInt()) - - validator1 = stakingkeeper.TestingUpdateValidator(f.stakingKeeper, f.sdkCtx, validator1, true) - assert.Assert(math.IntEq(t, valTokens, validator1.BondedTokens())) - assert.Assert(t, validator1.IsBonded()) - - // Create a delegator - delegation := types.NewDelegation(addrDels[0].String(), addrVals[0].String(), issuedShares1) - assert.NilError(t, f.stakingKeeper.SetDelegation(f.sdkCtx, delegation)) - - // Create a validator to redelegate to - validator2 := testutil.NewValidator(t, addrVals[1], PKs[1]) - validator2, issuedShares2 := validator2.AddTokensFromDel(valTokens) - assert.DeepEqual(t, valTokens, issuedShares2.RoundInt()) - - validator2 = stakingkeeper.TestingUpdateValidator(f.stakingKeeper, f.sdkCtx, validator2, true) - assert.Equal(t, types.Bonded, validator2.Status) - assert.Assert(t, validator2.IsBonded()) - - return bondDenom, addrDels, addrVals -} - -func doUnbondingDelegation( - t *testing.T, - stakingKeeper *stakingkeeper.Keeper, - bankKeeper types.BankKeeper, - ctx sdk.Context, - bondDenom string, - addrDels []sdk.AccAddress, - addrVals []sdk.ValAddress, - hookCalled *bool, -) (completionTime time.Time, bondedAmt, notBondedAmt math.Int) { - t.Helper() - // UNDELEGATE - // Save original bonded and unbonded amounts - bondedAmt1 := bankKeeper.GetBalance(ctx, stakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount - notBondedAmt1 := bankKeeper.GetBalance(ctx, stakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount - - var err error - undelegateAmount := math.LegacyNewDec(1) - completionTime, undelegatedAmount, err := stakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], undelegateAmount) - assert.NilError(t, err) - assert.Assert(t, undelegateAmount.Equal(math.LegacyNewDecFromInt(undelegatedAmount))) - // check that the unbonding actually happened - bondedAmt2 := bankKeeper.GetBalance(ctx, stakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount - notBondedAmt2 := bankKeeper.GetBalance(ctx, stakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount - // Bonded amount is less - assert.Assert(math.IntEq(t, bondedAmt1.SubRaw(1), bondedAmt2)) - // Unbonded amount is more - assert.Assert(math.IntEq(t, notBondedAmt1.AddRaw(1), notBondedAmt2)) - - // Check that the unbonding happened- we look up the entry and see that it has the correct number of shares - unbondingDelegations, err := stakingKeeper.GetUnbondingDelegationsFromValidator(ctx, addrVals[0]) - assert.NilError(t, err) - assert.DeepEqual(t, math.NewInt(1), unbondingDelegations[0].Entries[0].Balance) - - // check that our hook was called - assert.Assert(t, *hookCalled) - - return completionTime, bondedAmt2, notBondedAmt2 -} - -func doRedelegation( - t *testing.T, - stakingKeeper *stakingkeeper.Keeper, - ctx sdk.Context, - addrDels []sdk.AccAddress, - addrVals []sdk.ValAddress, - hookCalled *bool, -) (completionTime time.Time) { - t.Helper() - var err error - completionTime, err = stakingKeeper.BeginRedelegation(ctx, addrDels[0], addrVals[0], addrVals[1], math.LegacyNewDec(1)) - assert.NilError(t, err) - - // Check that the redelegation happened- we look up the entry and see that it has the correct number of shares - redelegations, err := stakingKeeper.GetRedelegationsFromSrcValidator(ctx, addrVals[0]) - assert.NilError(t, err) - assert.Equal(t, 1, len(redelegations)) - assert.DeepEqual(t, math.LegacyNewDec(1), redelegations[0].Entries[0].SharesDst) - - // check that our hook was called - assert.Assert(t, *hookCalled) - - return completionTime -} - -func doValidatorUnbonding( - t *testing.T, - stakingKeeper *stakingkeeper.Keeper, - ctx sdk.Context, - addrVal sdk.ValAddress, - hookCalled *bool, -) (validator types.Validator) { - t.Helper() - validator, found := stakingKeeper.GetValidator(ctx, addrVal) - assert.Assert(t, found) - // Check that status is bonded - assert.Equal(t, types.BondStatus(3), validator.Status) - - validator, err := stakingKeeper.BeginUnbondingValidator(ctx, validator) - assert.NilError(t, err) - - // Check that status is unbonding - assert.Equal(t, types.BondStatus(2), validator.Status) - - // check that our hook was called - assert.Assert(t, *hookCalled) - - return validator -} - -func TestValidatorUnbondingOnHold1(t *testing.T) { - t.Parallel() - f := initFixture(t) - - var ( - hookCalled bool - ubdeID uint64 - ) - - _, _, addrVals := SetupUnbondingTests(t, f, &hookCalled, &ubdeID) - - // Start unbonding first validator - validator := doValidatorUnbonding(t, f.stakingKeeper, f.sdkCtx, addrVals[0], &hookCalled) - - completionTime := validator.UnbondingTime - completionHeight := validator.UnbondingHeight - - // CONSUMER CHAIN'S UNBONDING PERIOD ENDS - STOPPED UNBONDING CAN NOW COMPLETE - err := f.stakingKeeper.UnbondingCanComplete(f.sdkCtx, ubdeID) - assert.NilError(t, err) - - // Try to unbond validator - assert.NilError(t, f.stakingKeeper.UnbondAllMatureValidators(f.sdkCtx)) - - // Check that validator unbonding is not complete (is not mature yet) - validator, found := f.stakingKeeper.GetValidator(f.sdkCtx, addrVals[0]) - assert.Assert(t, found) - assert.Equal(t, types.Unbonding, validator.Status) - unbondingVals, err := f.stakingKeeper.GetUnbondingValidators(f.sdkCtx, completionTime, completionHeight) - assert.NilError(t, err) - assert.Equal(t, 1, len(unbondingVals)) - assert.Equal(t, validator.OperatorAddress, unbondingVals[0]) - - // PROVIDER CHAIN'S UNBONDING PERIOD ENDS - BUT UNBONDING CANNOT COMPLETE - f.sdkCtx = f.sdkCtx.WithHeaderInfo(header.Info{Time: completionTime.Add(time.Duration(1))}) - f.sdkCtx = f.sdkCtx.WithBlockHeight(completionHeight + 1) - assert.NilError(t, f.stakingKeeper.UnbondAllMatureValidators(f.sdkCtx)) - - // Check that validator unbonding is complete - validator, found = f.stakingKeeper.GetValidator(f.sdkCtx, addrVals[0]) - assert.Assert(t, found) - assert.Equal(t, types.Unbonded, validator.Status) - unbondingVals, err = f.stakingKeeper.GetUnbondingValidators(f.sdkCtx, completionTime, completionHeight) - assert.NilError(t, err) - assert.Equal(t, 0, len(unbondingVals)) -} - -func TestValidatorUnbondingOnHold2(t *testing.T) { - t.Parallel() - f := initFixture(t) - - var ( - hookCalled bool - ubdeID uint64 - ubdeIDs []uint64 - ) - - _, _, addrVals := SetupUnbondingTests(t, f, &hookCalled, &ubdeID) - - // Start unbonding first validator - validator1 := doValidatorUnbonding(t, f.stakingKeeper, f.sdkCtx, addrVals[0], &hookCalled) - ubdeIDs = append(ubdeIDs, ubdeID) - - // Reset hookCalled flag - hookCalled = false - - // Start unbonding second validator - validator2 := doValidatorUnbonding(t, f.stakingKeeper, f.sdkCtx, addrVals[1], &hookCalled) - ubdeIDs = append(ubdeIDs, ubdeID) - - // Check that there are two unbonding operations - assert.Equal(t, 2, len(ubdeIDs)) - - // Check that both validators have same unbonding time - assert.Equal(t, validator1.UnbondingTime, validator2.UnbondingTime) - - completionTime := validator1.UnbondingTime - completionHeight := validator1.UnbondingHeight - - // PROVIDER CHAIN'S UNBONDING PERIOD ENDS - BUT UNBONDING CANNOT COMPLETE - f.sdkCtx = f.sdkCtx.WithHeaderInfo(header.Info{Time: completionTime.Add(time.Duration(1))}) - f.sdkCtx = f.sdkCtx.WithBlockHeight(completionHeight + 1) - assert.NilError(t, f.stakingKeeper.UnbondAllMatureValidators(f.sdkCtx)) - - // Check that unbonding is not complete for both validators - validator1, found := f.stakingKeeper.GetValidator(f.sdkCtx, addrVals[0]) - assert.Assert(t, found) - assert.Equal(t, types.Unbonding, validator1.Status) - validator2, found = f.stakingKeeper.GetValidator(f.sdkCtx, addrVals[1]) - assert.Assert(t, found) - assert.Equal(t, types.Unbonding, validator2.Status) - unbondingVals, err := f.stakingKeeper.GetUnbondingValidators(f.sdkCtx, completionTime, completionHeight) - assert.NilError(t, err) - assert.Equal(t, 2, len(unbondingVals)) - assert.Equal(t, validator1.OperatorAddress, unbondingVals[0]) - assert.Equal(t, validator2.OperatorAddress, unbondingVals[1]) - - // CONSUMER CHAIN'S UNBONDING PERIOD ENDS - STOPPED UNBONDING CAN NOW COMPLETE - err = f.stakingKeeper.UnbondingCanComplete(f.sdkCtx, ubdeIDs[0]) - assert.NilError(t, err) - - // Try again to unbond validators - assert.NilError(t, f.stakingKeeper.UnbondAllMatureValidators(f.sdkCtx)) - - // Check that unbonding is complete for validator1, but not for validator2 - validator1, found = f.stakingKeeper.GetValidator(f.sdkCtx, addrVals[0]) - assert.Assert(t, found) - assert.Equal(t, types.Unbonded, validator1.Status) - validator2, found = f.stakingKeeper.GetValidator(f.sdkCtx, addrVals[1]) - assert.Assert(t, found) - assert.Equal(t, types.Unbonding, validator2.Status) - unbondingVals, err = f.stakingKeeper.GetUnbondingValidators(f.sdkCtx, completionTime, completionHeight) - assert.NilError(t, err) - assert.Equal(t, 1, len(unbondingVals)) - assert.Equal(t, validator2.OperatorAddress, unbondingVals[0]) - - // Unbonding for validator2 can complete - err = f.stakingKeeper.UnbondingCanComplete(f.sdkCtx, ubdeIDs[1]) - assert.NilError(t, err) - - // Try again to unbond validators - assert.NilError(t, f.stakingKeeper.UnbondAllMatureValidators(f.sdkCtx)) - - // Check that unbonding is complete for validator2 - validator2, found = f.stakingKeeper.GetValidator(f.sdkCtx, addrVals[1]) - assert.Assert(t, found) - assert.Equal(t, types.Unbonded, validator2.Status) - unbondingVals, err = f.stakingKeeper.GetUnbondingValidators(f.sdkCtx, completionTime, completionHeight) - assert.NilError(t, err) - assert.Equal(t, 0, len(unbondingVals)) -} - -func TestRedelegationOnHold1(t *testing.T) { - t.Parallel() - f := initFixture(t) - - var ( - hookCalled bool - ubdeID uint64 - ) - - // _, app, ctx := createTestInput(t) - _, addrDels, addrVals := SetupUnbondingTests(t, f, &hookCalled, &ubdeID) - completionTime := doRedelegation(t, f.stakingKeeper, f.sdkCtx, addrDels, addrVals, &hookCalled) - - // CONSUMER CHAIN'S UNBONDING PERIOD ENDS - BUT UNBONDING CANNOT COMPLETE - err := f.stakingKeeper.UnbondingCanComplete(f.sdkCtx, ubdeID) - assert.NilError(t, err) - - // Redelegation is not complete - still exists - redelegations, err := f.stakingKeeper.GetRedelegationsFromSrcValidator(f.sdkCtx, addrVals[0]) - assert.NilError(t, err) - assert.Equal(t, 1, len(redelegations)) - - // PROVIDER CHAIN'S UNBONDING PERIOD ENDS - STOPPED UNBONDING CAN NOW COMPLETE - f.sdkCtx = f.sdkCtx.WithHeaderInfo(header.Info{Time: completionTime}) - _, err = f.stakingKeeper.CompleteRedelegation(f.sdkCtx, addrDels[0], addrVals[0], addrVals[1]) - assert.NilError(t, err) - - // Redelegation is complete and record is gone - redelegations, err = f.stakingKeeper.GetRedelegationsFromSrcValidator(f.sdkCtx, addrVals[0]) - assert.NilError(t, err) - assert.Equal(t, 0, len(redelegations)) -} - -func TestRedelegationOnHold2(t *testing.T) { - t.Parallel() - f := initFixture(t) - - var ( - hookCalled bool - ubdeID uint64 - ) - - // _, app, ctx := createTestInput(t) - _, addrDels, addrVals := SetupUnbondingTests(t, f, &hookCalled, &ubdeID) - completionTime := doRedelegation(t, f.stakingKeeper, f.sdkCtx, addrDels, addrVals, &hookCalled) - - // PROVIDER CHAIN'S UNBONDING PERIOD ENDS - BUT UNBONDING CANNOT COMPLETE - f.sdkCtx = f.sdkCtx.WithHeaderInfo(header.Info{Time: completionTime}) - _, err := f.stakingKeeper.CompleteRedelegation(f.sdkCtx, addrDels[0], addrVals[0], addrVals[1]) - assert.NilError(t, err) - - // Redelegation is not complete - still exists - redelegations, err := f.stakingKeeper.GetRedelegationsFromSrcValidator(f.sdkCtx, addrVals[0]) - assert.NilError(t, err) - assert.Equal(t, 1, len(redelegations)) - - // CONSUMER CHAIN'S UNBONDING PERIOD ENDS - STOPPED UNBONDING CAN NOW COMPLETE - err = f.stakingKeeper.UnbondingCanComplete(f.sdkCtx, ubdeID) - assert.NilError(t, err) - - // Redelegation is complete and record is gone - redelegations, err = f.stakingKeeper.GetRedelegationsFromSrcValidator(f.sdkCtx, addrVals[0]) - assert.NilError(t, err) - assert.Equal(t, 0, len(redelegations)) -} - -func TestUnbondingDelegationOnHold1(t *testing.T) { - t.Parallel() - f := initFixture(t) - - var ( - hookCalled bool - ubdeID uint64 - ) - - // _, app, ctx := createTestInput(t) - bondDenom, addrDels, addrVals := SetupUnbondingTests(t, f, &hookCalled, &ubdeID) - for _, addr := range addrDels { - acc := f.accountKeeper.NewAccountWithAddress(f.sdkCtx, addr) - f.accountKeeper.SetAccount(f.sdkCtx, acc) - } - completionTime, bondedAmt1, notBondedAmt1 := doUnbondingDelegation(t, f.stakingKeeper, f.bankKeeper, f.sdkCtx, bondDenom, addrDels, addrVals, &hookCalled) - - // CONSUMER CHAIN'S UNBONDING PERIOD ENDS - BUT UNBONDING CANNOT COMPLETE - err := f.stakingKeeper.UnbondingCanComplete(f.sdkCtx, ubdeID) - assert.NilError(t, err) - - bondedAmt3 := f.bankKeeper.GetBalance(f.sdkCtx, f.stakingKeeper.GetBondedPool(f.sdkCtx).GetAddress(), bondDenom).Amount - notBondedAmt3 := f.bankKeeper.GetBalance(f.sdkCtx, f.stakingKeeper.GetNotBondedPool(f.sdkCtx).GetAddress(), bondDenom).Amount - - // Bonded and unbonded amounts are the same as before because the completionTime has not yet passed and so the - // unbondingDelegation has not completed - assert.Assert(math.IntEq(t, bondedAmt1, bondedAmt3)) - assert.Assert(math.IntEq(t, notBondedAmt1, notBondedAmt3)) - - // PROVIDER CHAIN'S UNBONDING PERIOD ENDS - STOPPED UNBONDING CAN NOW COMPLETE - f.sdkCtx = f.sdkCtx.WithHeaderInfo(header.Info{Time: completionTime}) - _, err = f.stakingKeeper.CompleteUnbonding(f.sdkCtx, addrDels[0], addrVals[0]) - assert.NilError(t, err) - - // Check that the unbonding was finally completed - bondedAmt5 := f.bankKeeper.GetBalance(f.sdkCtx, f.stakingKeeper.GetBondedPool(f.sdkCtx).GetAddress(), bondDenom).Amount - notBondedAmt5 := f.bankKeeper.GetBalance(f.sdkCtx, f.stakingKeeper.GetNotBondedPool(f.sdkCtx).GetAddress(), bondDenom).Amount - - assert.Assert(math.IntEq(t, bondedAmt1, bondedAmt5)) - // Not bonded amount back to what it was originally - assert.Assert(math.IntEq(t, notBondedAmt1.SubRaw(1), notBondedAmt5)) -} - -func TestUnbondingDelegationOnHold2(t *testing.T) { - t.Parallel() - f := initFixture(t) - - var ( - hookCalled bool - ubdeID uint64 - ) - - // _, app, ctx := createTestInput(t) - bondDenom, addrDels, addrVals := SetupUnbondingTests(t, f, &hookCalled, &ubdeID) - for _, addr := range addrDels { - acc := f.accountKeeper.NewAccountWithAddress(f.sdkCtx, addr) - f.accountKeeper.SetAccount(f.sdkCtx, acc) - } - completionTime, bondedAmt1, notBondedAmt1 := doUnbondingDelegation(t, f.stakingKeeper, f.bankKeeper, f.sdkCtx, bondDenom, addrDels, addrVals, &hookCalled) - - // PROVIDER CHAIN'S UNBONDING PERIOD ENDS - BUT UNBONDING CANNOT COMPLETE - f.sdkCtx = f.sdkCtx.WithHeaderInfo(header.Info{Time: completionTime}) - _, err := f.stakingKeeper.CompleteUnbonding(f.sdkCtx, addrDels[0], addrVals[0]) - assert.NilError(t, err) - - bondedAmt3 := f.bankKeeper.GetBalance(f.sdkCtx, f.stakingKeeper.GetBondedPool(f.sdkCtx).GetAddress(), bondDenom).Amount - notBondedAmt3 := f.bankKeeper.GetBalance(f.sdkCtx, f.stakingKeeper.GetNotBondedPool(f.sdkCtx).GetAddress(), bondDenom).Amount - - // Bonded and unbonded amounts are the same as before because the completionTime has not yet passed and so the - // unbondingDelegation has not completed - assert.Assert(math.IntEq(t, bondedAmt1, bondedAmt3)) - assert.Assert(math.IntEq(t, notBondedAmt1, notBondedAmt3)) - - // CONSUMER CHAIN'S UNBONDING PERIOD ENDS - STOPPED UNBONDING CAN NOW COMPLETE - err = f.stakingKeeper.UnbondingCanComplete(f.sdkCtx, ubdeID) - assert.NilError(t, err) - - // Check that the unbonding was finally completed - bondedAmt5 := f.bankKeeper.GetBalance(f.sdkCtx, f.stakingKeeper.GetBondedPool(f.sdkCtx).GetAddress(), bondDenom).Amount - notBondedAmt5 := f.bankKeeper.GetBalance(f.sdkCtx, f.stakingKeeper.GetNotBondedPool(f.sdkCtx).GetAddress(), bondDenom).Amount - - assert.Assert(math.IntEq(t, bondedAmt1, bondedAmt5)) - // Not bonded amount back to what it was originally - assert.Assert(math.IntEq(t, notBondedAmt1.SubRaw(1), notBondedAmt5)) -} diff --git a/x/staking/CHANGELOG.md b/x/staking/CHANGELOG.md index 49cd67798b9f..9f2cc16823c1 100644 --- a/x/staking/CHANGELOG.md +++ b/x/staking/CHANGELOG.md @@ -104,6 +104,8 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [#21315](https://github.com/cosmos/cosmos-sdk/pull/21315) New struct `Metadata` to store extra validator information. * New field `Metadata` introduced in `types`: `Description`. * The signature of `NewDescription` has changed to accept an extra argument of type `Metadata`. +* [#22795](https://github.com/cosmos/cosmos-sdk/pull/22795) `NewUnbondingDelegationEntry`, `NewUnbondingDelegation`, `AddEntry`, `NewRedelegationEntry`, `NewRedelegation` and `NewRedelegationEntryResponse` no longer take an ID in there function signatures. +* [#22795](https://github.com/cosmos/cosmos-sdk/pull/22795) AfterUnbondingInitiated hook has been removed as it is no longer required by ICS. ### State Breaking changes @@ -111,3 +113,4 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [#18142](https://github.com/cosmos/cosmos-sdk/pull/18142) Introduce `key_rotation_fee` param to calculate fees while rotating the keys * [#19740](https://github.com/cosmos/cosmos-sdk/pull/19740) `InitGenesis` and `ExportGenesis` module code and keeper code do not panic but return errors. * [#20845](https://github.com/cosmoc/cosmos-sdk/pull/20845) Remove HistoricalInfo from the staking modules storage +* [#22795](https://github.com/cosmos/cosmos-sdk/pull/22795) Keys `stakingtypes.UnbondingIDKey, stakingtypes.UnbondingIndexKey, stakingtypes.UnbondingTypeKey` have been removed as they are no longer required by ICS. diff --git a/x/staking/keeper/delegation.go b/x/staking/keeper/delegation.go index 69ad3843ee9c..fcb3faa6438f 100644 --- a/x/staking/keeper/delegation.go +++ b/x/staking/keeper/delegation.go @@ -310,17 +310,11 @@ func (k Keeper) SetUnbondingDelegationEntry( ctx context.Context, delegatorAddr sdk.AccAddress, validatorAddr sdk.ValAddress, creationHeight int64, minTime time.Time, balance math.Int, ) (types.UnbondingDelegation, error) { - id, err := k.IncrementUnbondingID(ctx) - if err != nil { - return types.UnbondingDelegation{}, err - } - - isNewUbdEntry := true ubd, err := k.GetUnbondingDelegation(ctx, delegatorAddr, validatorAddr) if err == nil { - isNewUbdEntry = ubd.AddEntry(creationHeight, minTime, balance, id) + ubd.AddEntry(creationHeight, minTime, balance) } else if errors.Is(err, types.ErrNoUnbondingDelegation) { - ubd = types.NewUnbondingDelegation(delegatorAddr, validatorAddr, creationHeight, minTime, balance, id, k.validatorAddressCodec, k.authKeeper.AddressCodec()) + ubd = types.NewUnbondingDelegation(delegatorAddr, validatorAddr, creationHeight, minTime, balance, k.validatorAddressCodec, k.authKeeper.AddressCodec()) } else { return ubd, err } @@ -329,18 +323,6 @@ func (k Keeper) SetUnbondingDelegationEntry( return ubd, err } - // only call the hook for new entries since - // calls to AfterUnbondingInitiated are not idempotent - if isNewUbdEntry { - // Add to the UBDByUnbondingOp index to look up the UBD by the UBDE ID - if err = k.SetUnbondingDelegationByUnbondingID(ctx, ubd, id); err != nil { - return ubd, err - } - - if err := k.Hooks().AfterUnbondingInitiated(ctx, id); err != nil { - return ubd, fmt.Errorf("failed to call after unbonding initiated hook: %w", err) - } - } return ubd, nil } @@ -528,17 +510,12 @@ func (k Keeper) SetRedelegationEntry(ctx context.Context, minTime time.Time, balance math.Int, sharesSrc, sharesDst math.LegacyDec, ) (types.Redelegation, error) { - id, err := k.IncrementUnbondingID(ctx) - if err != nil { - return types.Redelegation{}, err - } - red, err := k.Redelegations.Get(ctx, collections.Join3(delegatorAddr.Bytes(), validatorSrcAddr.Bytes(), validatorDstAddr.Bytes())) if err == nil { - red.AddEntry(creationHeight, minTime, balance, sharesDst, id) + red.AddEntry(creationHeight, minTime, balance, sharesDst) } else if errors.Is(err, collections.ErrNotFound) { red = types.NewRedelegation(delegatorAddr, validatorSrcAddr, - validatorDstAddr, creationHeight, minTime, balance, sharesDst, id, k.validatorAddressCodec, k.authKeeper.AddressCodec()) + validatorDstAddr, creationHeight, minTime, balance, sharesDst, k.validatorAddressCodec, k.authKeeper.AddressCodec()) } else { return types.Redelegation{}, err } @@ -547,15 +524,6 @@ func (k Keeper) SetRedelegationEntry(ctx context.Context, return types.Redelegation{}, err } - // Add to the UBDByEntry index to look up the UBD by the UBDE ID - if err = k.SetRedelegationByUnbondingID(ctx, red, id); err != nil { - return types.Redelegation{}, err - } - - if err := k.Hooks().AfterUnbondingInitiated(ctx, id); err != nil { - return types.Redelegation{}, fmt.Errorf("failed to call after unbonding initiated hook: %w", err) - } - return red, nil } @@ -996,12 +964,9 @@ func (k Keeper) CompleteUnbonding(ctx context.Context, delAddr sdk.AccAddress, v // loop through all the entries and complete unbonding mature entries for i := 0; i < len(ubd.Entries); i++ { entry := ubd.Entries[i] - if entry.IsMature(ctxTime) && !entry.OnHold() { + if entry.IsMature(ctxTime) { ubd.RemoveEntry(int64(i)) i-- - if err = k.DeleteUnbondingIndex(ctx, entry.UnbondingId); err != nil { - return nil, err - } // track undelegation only when remaining or truncated shares are non-zero if !entry.Balance.IsZero() { @@ -1136,12 +1101,9 @@ func (k Keeper) CompleteRedelegation( // loop through all the entries and complete mature redelegation entries for i := 0; i < len(red.Entries); i++ { entry := red.Entries[i] - if entry.IsMature(ctxTime) && !entry.OnHold() { + if entry.IsMature(ctxTime) { red.RemoveEntry(int64(i)) i-- - if err = k.DeleteUnbondingIndex(ctx, entry.UnbondingId); err != nil { - return nil, err - } if !entry.InitialBalance.IsZero() { balances = balances.Add(sdk.NewCoin(bondDenom, entry.InitialBalance)) diff --git a/x/staking/keeper/delegation_test.go b/x/staking/keeper/delegation_test.go index 00ee26d4bda8..397a3b456afe 100644 --- a/x/staking/keeper/delegation_test.go +++ b/x/staking/keeper/delegation_test.go @@ -286,7 +286,6 @@ func (s *KeeperTestSuite) TestUnbondingDelegation() { 0, time.Unix(0, 0).UTC(), math.NewInt(5), - 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos"), ) @@ -343,8 +342,8 @@ func (s *KeeperTestSuite) TestUnbondingDelegationsFromValidator() { 0, time.Unix(0, 0).UTC(), math.NewInt(5), - 0, - address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos"), + address.NewBech32Codec("cosmosvaloper"), + address.NewBech32Codec("cosmos"), ) // set and retrieve a record @@ -716,7 +715,7 @@ func (s *KeeperTestSuite) TestGetRedelegationsFromSrcValidator() { rd := stakingtypes.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 0, time.Unix(0, 0), math.NewInt(5), - math.LegacyNewDec(5), 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) + math.LegacyNewDec(5), address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) // set and retrieve a record err := keeper.SetRedelegation(ctx, rd) @@ -746,7 +745,7 @@ func (s *KeeperTestSuite) TestRedelegation() { rd := stakingtypes.NewRedelegation(addrDels[0], addrVals[0], addrVals[1], 0, time.Unix(0, 0).UTC(), math.NewInt(5), - math.LegacyNewDec(5), 0, address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) + math.LegacyNewDec(5), address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos")) // test shouldn't have and redelegations has, err := keeper.HasReceivingRedelegation(ctx, addrDels[0], addrVals[1]) @@ -1107,14 +1106,14 @@ func (s *KeeperTestSuite) TestUnbondingDelegationAddEntry() { creationHeight, time.Unix(0, 0).UTC(), math.NewInt(10), - 0, - address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos"), + address.NewBech32Codec("cosmosvaloper"), + address.NewBech32Codec("cosmos"), ) var initialEntries []stakingtypes.UnbondingDelegationEntry initialEntries = append(initialEntries, ubd.Entries...) require.Len(initialEntries, 1) - isNew := ubd.AddEntry(creationHeight, time.Unix(0, 0).UTC(), math.NewInt(5), 1) + isNew := ubd.AddEntry(creationHeight, time.Unix(0, 0).UTC(), math.NewInt(5)) require.False(isNew) require.Len(ubd.Entries, 1) // entry was merged require.NotEqual(initialEntries, ubd.Entries) @@ -1123,7 +1122,7 @@ func (s *KeeperTestSuite) TestUnbondingDelegationAddEntry() { require.Equal(ubd.Entries[0].Balance, math.NewInt(15)) // 10 from previous + 5 from merged newCreationHeight := int64(11) - isNew = ubd.AddEntry(newCreationHeight, time.Unix(1, 0).UTC(), math.NewInt(5), 2) + isNew = ubd.AddEntry(newCreationHeight, time.Unix(1, 0).UTC(), math.NewInt(5)) require.True(isNew) require.Len(ubd.Entries, 2) // entry was appended require.NotEqual(initialEntries, ubd.Entries) @@ -1131,7 +1130,6 @@ func (s *KeeperTestSuite) TestUnbondingDelegationAddEntry() { require.Equal(newCreationHeight, ubd.Entries[1].CreationHeight) require.Equal(ubd.Entries[0].Balance, math.NewInt(15)) require.Equal(ubd.Entries[1].Balance, math.NewInt(5)) - require.NotEqual(ubd.Entries[0].UnbondingId, ubd.Entries[1].UnbondingId) // appended entry has a new unbondingID } func (s *KeeperTestSuite) TestSetUnbondingDelegationEntry() { @@ -1149,8 +1147,8 @@ func (s *KeeperTestSuite) TestSetUnbondingDelegationEntry() { creationHeight, time.Unix(0, 0).UTC(), math.NewInt(5), - 0, - address.NewBech32Codec("cosmosvaloper"), address.NewBech32Codec("cosmos"), + address.NewBech32Codec("cosmosvaloper"), + address.NewBech32Codec("cosmos"), ) // set and retrieve a record @@ -1180,8 +1178,7 @@ func (s *KeeperTestSuite) TestSetUnbondingDelegationEntry() { require.Len(resUnbonding.Entries, 1) require.NotEqual(initialEntries, resUnbonding.Entries) require.Equal(creationHeight, resUnbonding.Entries[0].CreationHeight) - require.Equal(initialEntries[0].UnbondingId, resUnbonding.Entries[0].UnbondingId) // initial unbondingID remains unchanged - require.Equal(resUnbonding.Entries[0].Balance, math.NewInt(10)) // 5 from previous entry + 5 from merged entry + require.Equal(resUnbonding.Entries[0].Balance, math.NewInt(10)) // 5 from previous entry + 5 from merged entry // set unbonding delegation entry for newCreationHeight // new entry is expected to be appended to the existing entries @@ -1202,11 +1199,6 @@ func (s *KeeperTestSuite) TestSetUnbondingDelegationEntry() { require.NotEqual(resUnbonding.Entries[0], resUnbonding.Entries[1]) require.Equal(creationHeight, resUnbonding.Entries[0].CreationHeight) require.Equal(newCreationHeight, resUnbonding.Entries[1].CreationHeight) - - // unbondingID is incremented on every call to SetUnbondingDelegationEntry - // unbondingID == 1 was skipped because the entry was merged with the existing entry with unbondingID == 0 - // unbondingID comes from a global counter -> gaps in unbondingIDs are OK as long as every unbondingID is unique - require.Equal(uint64(2), resUnbonding.Entries[1].UnbondingId) } func (s *KeeperTestSuite) TestUndelegateWithDustShare() { diff --git a/x/staking/keeper/grpc_query.go b/x/staking/keeper/grpc_query.go index aaf61daf4707..47dd44b95773 100644 --- a/x/staking/keeper/grpc_query.go +++ b/x/staking/keeper/grpc_query.go @@ -648,7 +648,6 @@ func redelegationsToRedelegationResponses(ctx context.Context, k *Keeper, redels entry.SharesDst, entry.InitialBalance, val.TokensFromShares(entry.SharesDst).TruncateInt(), - entry.UnbondingId, ) } diff --git a/x/staking/keeper/keeper.go b/x/staking/keeper/keeper.go index 876c9ae97df3..13884f06622c 100644 --- a/x/staking/keeper/keeper.go +++ b/x/staking/keeper/keeper.go @@ -70,17 +70,12 @@ type Keeper struct { LastTotalPower collections.Item[math.Int] // DelegationsByValidator key: valAddr+delAddr | value: none used (index key for delegations by validator index) DelegationsByValidator collections.Map[collections.Pair[sdk.ValAddress, sdk.AccAddress], []byte] - UnbondingID collections.Sequence // ValidatorByConsensusAddress key: consAddr | value: valAddr ValidatorByConsensusAddress collections.Map[sdk.ConsAddress, sdk.ValAddress] - // UnbondingType key: unbondingID | value: index of UnbondingType - UnbondingType collections.Map[uint64, uint64] // Redelegations key: AccAddr+SrcValAddr+DstValAddr | value: Redelegation Redelegations collections.Map[collections.Triple[[]byte, []byte, []byte], types.Redelegation] // Delegations key: AccAddr+valAddr | value: Delegation Delegations collections.Map[collections.Pair[sdk.AccAddress, sdk.ValAddress], types.Delegation] - // UnbondingIndex key:UnbondingID | value: ubdKey (ubdKey = [UnbondingDelegationKey(Prefix)+len(delAddr)+delAddr+len(valAddr)+valAddr]) - UnbondingIndex collections.Map[uint64, []byte] // UnbondingQueue key: Timestamp | value: DVPairs [delAddr+valAddr] UnbondingQueue collections.Map[time.Time, types.DVPairs] // Validators key: valAddr | value: Validator @@ -178,14 +173,12 @@ func NewKeeper( ), collections.BytesValue, ), - UnbondingID: collections.NewSequence(sb, types.UnbondingIDKey, "unbonding_id"), ValidatorByConsensusAddress: collections.NewMap( sb, types.ValidatorsByConsAddrKey, "validator_by_cons_addr", sdk.LengthPrefixedAddressKey(sdk.ConsAddressKey).WithName("cons_address"), //nolint: staticcheck // sdk.LengthPrefixedAddressKey is needed to retain state compatibility collcodec.KeyToValueCodec(sdk.ValAddressKey), ), - UnbondingType: collections.NewMap(sb, types.UnbondingTypeKey, "unbonding_type", collections.Uint64Key.WithName("unbonding_id"), collections.Uint64Value), // key format is: 52 | lengthPrefixedBytes(AccAddr) | lengthPrefixedBytes(SrcValAddr) | lengthPrefixedBytes(DstValAddr) Redelegations: collections.NewMap( sb, types.RedelegationKey, @@ -200,7 +193,6 @@ func NewKeeper( ), codec.CollValue[types.Redelegation](cdc), ), - UnbondingIndex: collections.NewMap(sb, types.UnbondingIndexKey, "unbonding_index", collections.Uint64Key.WithName("index"), collections.BytesValue.WithName("ubd_key")), UnbondingDelegationByValIndex: collections.NewMap( sb, types.UnbondingDelegationByValIndexKey, "unbonding_delegation_by_val_index", diff --git a/x/staking/keeper/msg_server_test.go b/x/staking/keeper/msg_server_test.go index d87a90b7f5c1..8fd52b5c7fda 100644 --- a/x/staking/keeper/msg_server_test.go +++ b/x/staking/keeper/msg_server_test.go @@ -939,7 +939,7 @@ func (s *KeeperTestSuite) TestMsgCancelUnbondingDelegation() { require.NoError(err) require.Equal(del, resDel) - ubd := types.NewUnbondingDelegation(Addr, ValAddr, 10, ctx.HeaderInfo().Time.Add(time.Minute*10), shares.RoundInt(), 0, keeper.ValidatorAddressCodec(), ak.AddressCodec()) + ubd := types.NewUnbondingDelegation(Addr, ValAddr, 10, ctx.HeaderInfo().Time.Add(time.Minute*10), shares.RoundInt(), keeper.ValidatorAddressCodec(), ak.AddressCodec()) require.NoError(keeper.SetUnbondingDelegation(ctx, ubd)) resUnbond, err := keeper.GetUnbondingDelegation(ctx, Addr, ValAddr) require.NoError(err) diff --git a/x/staking/keeper/slash.go b/x/staking/keeper/slash.go index c7623d6b5c37..976142b57e1a 100644 --- a/x/staking/keeper/slash.go +++ b/x/staking/keeper/slash.go @@ -254,7 +254,7 @@ func (k Keeper) SlashUnbondingDelegation(ctx context.Context, unbondingDelegatio continue } - if entry.IsMature(now) && !entry.OnHold() { + if entry.IsMature(now) { // Unbonding delegation no longer eligible for slashing, skip it continue } @@ -346,7 +346,7 @@ func (k Keeper) SlashRedelegation(ctx context.Context, srcValidator types.Valida case entry.CreationHeight < infractionHeight: continue // Unbonding delegation no longer eligible for slashing, skip it - case entry.IsMature(now) && !entry.OnHold(): + case entry.IsMature(now): continue // Slash the unbonding delegation default: diff --git a/x/staking/keeper/unbonding.go b/x/staking/keeper/unbonding.go deleted file mode 100644 index 7e3a9cd96193..000000000000 --- a/x/staking/keeper/unbonding.go +++ /dev/null @@ -1,450 +0,0 @@ -package keeper - -import ( - "context" - "errors" - - "cosmossdk.io/collections" - errorsmod "cosmossdk.io/errors" - "cosmossdk.io/x/staking/types" - - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// IncrementUnbondingID increments and returns a unique ID for an unbonding operation -func (k Keeper) IncrementUnbondingID(ctx context.Context) (unbondingID uint64, err error) { - unbondingID, err = k.UnbondingID.Next(ctx) - if err != nil { - return 0, err - } - unbondingID++ - - return unbondingID, err -} - -// DeleteUnbondingIndex removes a mapping from UnbondingId to unbonding operation -func (k Keeper) DeleteUnbondingIndex(ctx context.Context, id uint64) error { - return k.UnbondingIndex.Remove(ctx, id) -} - -// GetUnbondingType returns the enum type of unbonding which is any of -// {UnbondingDelegation | Redelegation | ValidatorUnbonding} -func (k Keeper) GetUnbondingType(ctx context.Context, id uint64) (unbondingType types.UnbondingType, err error) { - ubdType, err := k.UnbondingType.Get(ctx, id) - if errors.Is(err, collections.ErrNotFound) { - return unbondingType, types.ErrNoUnbondingType - } - return types.UnbondingType(ubdType), err -} - -// SetUnbondingType sets the enum type of unbonding which is any of -// {UnbondingDelegation | Redelegation | ValidatorUnbonding} -func (k Keeper) SetUnbondingType(ctx context.Context, id uint64, unbondingType types.UnbondingType) error { - return k.UnbondingType.Set(ctx, id, uint64(unbondingType)) -} - -// GetUnbondingDelegationByUnbondingID returns a unbonding delegation that has an unbonding delegation entry with a certain ID -func (k Keeper) GetUnbondingDelegationByUnbondingID(ctx context.Context, id uint64) (ubd types.UnbondingDelegation, err error) { - ubdKey, err := k.UnbondingIndex.Get(ctx, id) // ubdKey => [UnbondingDelegationKey(Prefix)+len(delAddr)+delAddr+len(valAddr)+valAddr] - if err != nil { - if errors.Is(err, collections.ErrNotFound) { - return types.UnbondingDelegation{}, types.ErrNoUnbondingDelegation - } - return types.UnbondingDelegation{}, err - } - - if ubdKey == nil { - return types.UnbondingDelegation{}, types.ErrNoUnbondingDelegation - } - - // remove prefix bytes and length bytes (since ubdKey obtained is prefixed by UnbondingDelegationKey prefix and length of the address) - delAddr := ubdKey[2 : (len(ubdKey)/2)+1] - // remove prefix length bytes - valAddr := ubdKey[2+len(ubdKey)/2:] - - ubd, err = k.UnbondingDelegations.Get(ctx, collections.Join(delAddr, valAddr)) - if err != nil { - if errors.Is(err, collections.ErrNotFound) { - return types.UnbondingDelegation{}, types.ErrNoUnbondingDelegation - } - return types.UnbondingDelegation{}, err - } - - return ubd, nil -} - -// GetRedelegationByUnbondingID returns a unbonding delegation that has an unbonding delegation entry with a certain ID -func (k Keeper) GetRedelegationByUnbondingID(ctx context.Context, id uint64) (red types.Redelegation, err error) { - store := k.KVStoreService.OpenKVStore(ctx) - - redKey, err := k.UnbondingIndex.Get(ctx, id) - if err != nil { - if errors.Is(err, collections.ErrNotFound) { - return types.Redelegation{}, types.ErrNoRedelegation - } - return types.Redelegation{}, err - } - - if redKey == nil { - return types.Redelegation{}, types.ErrNoRedelegation - } - - value, err := store.Get(redKey) - if err != nil { - return types.Redelegation{}, err - } - - if value == nil { - return types.Redelegation{}, types.ErrNoRedelegation - } - - red, err = types.UnmarshalRED(k.cdc, value) - // An error here means that what we got wasn't the right type - if err != nil { - return types.Redelegation{}, err - } - - return red, nil -} - -// GetValidatorByUnbondingID returns the validator that is unbonding with a certain unbonding op ID -func (k Keeper) GetValidatorByUnbondingID(ctx context.Context, id uint64) (val types.Validator, err error) { - store := k.KVStoreService.OpenKVStore(ctx) - - valKey, err := k.UnbondingIndex.Get(ctx, id) - if err != nil { - if errors.Is(err, collections.ErrNotFound) { - return types.Validator{}, types.ErrNoValidatorFound - } - return types.Validator{}, err - } - - if valKey == nil { - return types.Validator{}, types.ErrNoValidatorFound - } - - value, err := store.Get(valKey) - if err != nil { - return types.Validator{}, err - } - - if value == nil { - return types.Validator{}, types.ErrNoValidatorFound - } - - val, err = types.UnmarshalValidator(k.cdc, value) - // An error here means that what we got wasn't the right type - if err != nil { - return types.Validator{}, err - } - - return val, nil -} - -// SetUnbondingDelegationByUnbondingID sets an index to look up an UnbondingDelegation -// by the unbondingID of an UnbondingDelegationEntry that it contains Note, it does not -// set the unbonding delegation itself, use SetUnbondingDelegation(ctx, ubd) for that -func (k Keeper) SetUnbondingDelegationByUnbondingID(ctx context.Context, ubd types.UnbondingDelegation, id uint64) error { - delAddr, err := k.authKeeper.AddressCodec().StringToBytes(ubd.DelegatorAddress) - if err != nil { - return err - } - valAddr, err := k.validatorAddressCodec.StringToBytes(ubd.ValidatorAddress) - if err != nil { - return err - } - - ubdKey := types.GetUBDKey(delAddr, valAddr) - if err = k.UnbondingIndex.Set(ctx, id, ubdKey); err != nil { - return err - } - - // Set unbonding type so that we know how to deserialize it later - return k.SetUnbondingType(ctx, id, types.UnbondingType_UnbondingDelegation) -} - -// SetRedelegationByUnbondingID sets an index to look up a Redelegation by the unbondingID of a RedelegationEntry that it contains -// Note, it does not set the redelegation itself, use SetRedelegation(ctx, red) for that -func (k Keeper) SetRedelegationByUnbondingID(ctx context.Context, red types.Redelegation, id uint64) error { - delAddr, err := k.authKeeper.AddressCodec().StringToBytes(red.DelegatorAddress) - if err != nil { - return err - } - - valSrcAddr, err := k.validatorAddressCodec.StringToBytes(red.ValidatorSrcAddress) - if err != nil { - return err - } - - valDstAddr, err := k.validatorAddressCodec.StringToBytes(red.ValidatorDstAddress) - if err != nil { - return err - } - - redKey := types.GetREDKey(delAddr, valSrcAddr, valDstAddr) - if err = k.UnbondingIndex.Set(ctx, id, redKey); err != nil { - return err - } - - // Set unbonding type so that we know how to deserialize it later - return k.SetUnbondingType(ctx, id, types.UnbondingType_Redelegation) -} - -// SetValidatorByUnbondingID sets an index to look up a Validator by the unbondingID corresponding to its current unbonding -// Note, it does not set the validator itself, use SetValidator(ctx, val) for that -func (k Keeper) SetValidatorByUnbondingID(ctx context.Context, val types.Validator, id uint64) error { - valAddr, err := k.validatorAddressCodec.StringToBytes(val.OperatorAddress) - if err != nil { - return err - } - - valKey := types.GetValidatorKey(valAddr) - if err = k.UnbondingIndex.Set(ctx, id, valKey); err != nil { - return err - } - - // Set unbonding type so that we know how to deserialize it later - return k.SetUnbondingType(ctx, id, types.UnbondingType_ValidatorUnbonding) -} - -// unbondingDelegationEntryArrayIndex and redelegationEntryArrayIndex are utilities to find -// at which position in the Entries array the entry with a given id is -func unbondingDelegationEntryArrayIndex(ubd types.UnbondingDelegation, id uint64) (index int, err error) { - for i, entry := range ubd.Entries { - // we find the entry with the right ID - if entry.UnbondingId == id { - return i, nil - } - } - - return 0, types.ErrNoUnbondingDelegation -} - -func redelegationEntryArrayIndex(red types.Redelegation, id uint64) (index int, err error) { - for i, entry := range red.Entries { - // we find the entry with the right ID - if entry.UnbondingId == id { - return i, nil - } - } - - return 0, types.ErrNoRedelegation -} - -// UnbondingCanComplete allows a stopped unbonding operation, such as an -// unbonding delegation, a redelegation, or a validator unbonding to complete. -// In order for the unbonding operation with `id` to eventually complete, every call -// to PutUnbondingOnHold(id) must be matched by a call to UnbondingCanComplete(id). -func (k Keeper) UnbondingCanComplete(ctx context.Context, id uint64) error { - unbondingType, err := k.GetUnbondingType(ctx, id) - if err != nil { - return err - } - - switch unbondingType { - case types.UnbondingType_UnbondingDelegation: - if err := k.unbondingDelegationEntryCanComplete(ctx, id); err != nil { - return err - } - case types.UnbondingType_Redelegation: - if err := k.redelegationEntryCanComplete(ctx, id); err != nil { - return err - } - case types.UnbondingType_ValidatorUnbonding: - if err := k.validatorUnbondingCanComplete(ctx, id); err != nil { - return err - } - default: - return types.ErrUnbondingNotFound - } - - return nil -} - -func (k Keeper) unbondingDelegationEntryCanComplete(ctx context.Context, id uint64) error { - ubd, err := k.GetUnbondingDelegationByUnbondingID(ctx, id) - if err != nil { - return err - } - - i, err := unbondingDelegationEntryArrayIndex(ubd, id) - if err != nil { - return err - } - - // The entry must be on hold - if !ubd.Entries[i].OnHold() { - return errorsmod.Wrapf( - types.ErrUnbondingOnHoldRefCountNegative, - "undelegation unbondingID(%d), expecting UnbondingOnHoldRefCount > 0, got %T", - id, ubd.Entries[i].UnbondingOnHoldRefCount, - ) - } - ubd.Entries[i].UnbondingOnHoldRefCount-- - - // Check if entry is matured. - if !ubd.Entries[i].OnHold() && ubd.Entries[i].IsMature(k.HeaderService.HeaderInfo(ctx).Time) { - // If matured, complete it. - delegatorAddress, err := k.authKeeper.AddressCodec().StringToBytes(ubd.DelegatorAddress) - if err != nil { - return err - } - - bondDenom, err := k.BondDenom(ctx) - if err != nil { - return err - } - - // track undelegation only when remaining or truncated shares are non-zero - if !ubd.Entries[i].Balance.IsZero() { - amt := sdk.NewCoin(bondDenom, ubd.Entries[i].Balance) - if err := k.bankKeeper.UndelegateCoinsFromModuleToAccount( - ctx, types.NotBondedPoolName, delegatorAddress, sdk.NewCoins(amt), - ); err != nil { - return err - } - } - - // Remove entry - ubd.RemoveEntry(int64(i)) - // Remove from the UnbondingIndex - err = k.DeleteUnbondingIndex(ctx, id) - if err != nil { - return err - } - - } - - // set the unbonding delegation or remove it if there are no more entries - if len(ubd.Entries) == 0 { - return k.RemoveUnbondingDelegation(ctx, ubd) - } - - return k.SetUnbondingDelegation(ctx, ubd) -} - -func (k Keeper) redelegationEntryCanComplete(ctx context.Context, id uint64) error { - red, err := k.GetRedelegationByUnbondingID(ctx, id) - if err != nil { - return err - } - - i, err := redelegationEntryArrayIndex(red, id) - if err != nil { - return err - } - - // The entry must be on hold - if !red.Entries[i].OnHold() { - return errorsmod.Wrapf( - types.ErrUnbondingOnHoldRefCountNegative, - "redelegation unbondingID(%d), expecting UnbondingOnHoldRefCount > 0, got %T", - id, red.Entries[i].UnbondingOnHoldRefCount, - ) - } - red.Entries[i].UnbondingOnHoldRefCount-- - - headerInfo := k.HeaderService.HeaderInfo(ctx) - if !red.Entries[i].OnHold() && red.Entries[i].IsMature(headerInfo.Time) { - // If matured, complete it. - // Remove entry - red.RemoveEntry(int64(i)) - // Remove from the Unbonding index - if err = k.DeleteUnbondingIndex(ctx, id); err != nil { - return err - } - } - - // set the redelegation or remove it if there are no more entries - if len(red.Entries) == 0 { - return k.RemoveRedelegation(ctx, red) - } - - return k.SetRedelegation(ctx, red) -} - -func (k Keeper) validatorUnbondingCanComplete(ctx context.Context, id uint64) error { - val, err := k.GetValidatorByUnbondingID(ctx, id) - if err != nil { - return err - } - - if val.UnbondingOnHoldRefCount <= 0 { - return errorsmod.Wrapf( - types.ErrUnbondingOnHoldRefCountNegative, - "val(%s), expecting UnbondingOnHoldRefCount > 0, got %T", - val.OperatorAddress, val.UnbondingOnHoldRefCount, - ) - } - val.UnbondingOnHoldRefCount-- - return k.SetValidator(ctx, val) -} - -// PutUnbondingOnHold allows an external module to stop an unbonding operation, -// such as an unbonding delegation, a redelegation, or a validator unbonding. -// In order for the unbonding operation with `id` to eventually complete, every call -// to PutUnbondingOnHold(id) must be matched by a call to UnbondingCanComplete(id). -func (k Keeper) PutUnbondingOnHold(ctx context.Context, id uint64) error { - unbondingType, err := k.GetUnbondingType(ctx, id) - if err != nil { - return err - } - switch unbondingType { - case types.UnbondingType_UnbondingDelegation: - if err := k.putUnbondingDelegationEntryOnHold(ctx, id); err != nil { - return err - } - case types.UnbondingType_Redelegation: - if err := k.putRedelegationEntryOnHold(ctx, id); err != nil { - return err - } - case types.UnbondingType_ValidatorUnbonding: - if err := k.putValidatorOnHold(ctx, id); err != nil { - return err - } - default: - return types.ErrUnbondingNotFound - } - - return nil -} - -func (k Keeper) putUnbondingDelegationEntryOnHold(ctx context.Context, id uint64) error { - ubd, err := k.GetUnbondingDelegationByUnbondingID(ctx, id) - if err != nil { - return err - } - - i, err := unbondingDelegationEntryArrayIndex(ubd, id) - if err != nil { - return err - } - - ubd.Entries[i].UnbondingOnHoldRefCount++ - return k.SetUnbondingDelegation(ctx, ubd) -} - -func (k Keeper) putRedelegationEntryOnHold(ctx context.Context, id uint64) error { - red, err := k.GetRedelegationByUnbondingID(ctx, id) - if err != nil { - return err - } - - i, err := redelegationEntryArrayIndex(red, id) - if err != nil { - return err - } - - red.Entries[i].UnbondingOnHoldRefCount++ - return k.SetRedelegation(ctx, red) -} - -func (k Keeper) putValidatorOnHold(ctx context.Context, id uint64) error { - val, err := k.GetValidatorByUnbondingID(ctx, id) - if err != nil { - return err - } - - val.UnbondingOnHoldRefCount++ - return k.SetValidator(ctx, val) -} diff --git a/x/staking/keeper/unbonding_test.go b/x/staking/keeper/unbonding_test.go deleted file mode 100644 index 1749ac04aa68..000000000000 --- a/x/staking/keeper/unbonding_test.go +++ /dev/null @@ -1,346 +0,0 @@ -package keeper_test - -import ( - "time" - - "cosmossdk.io/math" - "cosmossdk.io/x/staking/testutil" - "cosmossdk.io/x/staking/types" - - addresscodec "github.com/cosmos/cosmos-sdk/codec/address" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (s *KeeperTestSuite) TestIncrementUnbondingID() { - for i := 1; i < 10; i++ { - id, err := s.stakingKeeper.IncrementUnbondingID(s.ctx) - s.Require().NoError(err) - s.Require().Equal(uint64(i), id) - } -} - -func (s *KeeperTestSuite) TestUnbondingTypeAccessors() { - require := s.Require() - cases := []struct { - exists bool - name string - expected types.UnbondingType - }{ - { - name: "existing 1", - exists: true, - expected: types.UnbondingType_UnbondingDelegation, - }, - { - name: "existing 2", - exists: true, - expected: types.UnbondingType_Redelegation, - }, - { - name: "not existing", - exists: false, - }, - } - - for i, tc := range cases { - s.Run(tc.name, func() { - if tc.exists { - require.NoError(s.stakingKeeper.SetUnbondingType(s.ctx, uint64(i), tc.expected)) - } - - unbondingType, err := s.stakingKeeper.GetUnbondingType(s.ctx, uint64(i)) - if tc.exists { - require.NoError(err) - require.Equal(tc.expected, unbondingType) - } else { - require.ErrorIs(err, types.ErrNoUnbondingType) - } - }) - } -} - -func (s *KeeperTestSuite) TestUnbondingDelegationByUnbondingIDAccessors() { - delAddrs, valAddrs := createValAddrs(2) - require := s.Require() - - type exists struct { - setUnbondingDelegation bool - setUnbondingDelegationByUnbondingID bool - } - - cases := []struct { - exists exists - name string - expected types.UnbondingDelegation - }{ - { - name: "existing 1", - exists: exists{true, true}, - expected: types.NewUnbondingDelegation( - delAddrs[0], - valAddrs[0], - 0, - time.Unix(0, 0).UTC(), - math.NewInt(5), - 0, - addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos"), - ), - }, - { - name: "not existing 1", - exists: exists{false, true}, - expected: types.NewUnbondingDelegation( - delAddrs[1], - valAddrs[1], - 0, - time.Unix(0, 0).UTC(), - math.NewInt(5), - 0, - addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos"), - ), - }, - { - name: "not existing 2", - exists: exists{false, false}, - expected: types.NewUnbondingDelegation( - delAddrs[0], - valAddrs[0], - 0, - time.Unix(0, 0).UTC(), - math.NewInt(5), - 0, - addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos"), - ), - }, - } - - for i, tc := range cases { - s.Run(tc.name, func() { - if tc.exists.setUnbondingDelegation { - require.NoError(s.stakingKeeper.SetUnbondingDelegation(s.ctx, tc.expected)) - } - - if tc.exists.setUnbondingDelegationByUnbondingID { - require.NoError(s.stakingKeeper.SetUnbondingDelegationByUnbondingID(s.ctx, tc.expected, uint64(i))) - } - - ubd, err := s.stakingKeeper.GetUnbondingDelegationByUnbondingID(s.ctx, uint64(i)) - if tc.exists.setUnbondingDelegation && tc.exists.setUnbondingDelegationByUnbondingID { - require.NoError(err) - require.Equal(tc.expected, ubd) - } else { - require.ErrorIs(err, types.ErrNoUnbondingDelegation) - } - }) - } -} - -func (s *KeeperTestSuite) TestRedelegationByUnbondingIDAccessors() { - delAddrs, valAddrs := createValAddrs(2) - require := s.Require() - - type exists struct { - setRedelegation bool - setRedelegationByUnbondingID bool - } - - cases := []struct { - exists exists - name string - expected types.Redelegation - }{ - { - name: "existing 1", - exists: exists{true, true}, - expected: types.NewRedelegation( - delAddrs[0], - valAddrs[0], - valAddrs[1], - 0, - time.Unix(5, 0).UTC(), - math.NewInt(10), - math.LegacyNewDec(10), - 0, - addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos"), - ), - }, - { - name: "not existing 1", - exists: exists{false, true}, - expected: types.NewRedelegation( - delAddrs[1], - valAddrs[0], - valAddrs[1], - 0, - time.Unix(5, 0).UTC(), - math.NewInt(10), - math.LegacyNewDec(10), - 0, - addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos"), - ), - }, - { - name: "not existing 2", - exists: exists{false, false}, - expected: types.NewRedelegation( - delAddrs[1], - valAddrs[1], - valAddrs[0], - 0, - time.Unix(5, 0).UTC(), - math.NewInt(10), - math.LegacyNewDec(10), - 0, - addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos"), - ), - }, - } - - for i, tc := range cases { - s.Run(tc.name, func() { - if tc.exists.setRedelegation { - require.NoError(s.stakingKeeper.SetRedelegation(s.ctx, tc.expected)) - } - - if tc.exists.setRedelegationByUnbondingID { - require.NoError(s.stakingKeeper.SetRedelegationByUnbondingID(s.ctx, tc.expected, uint64(i))) - } - - red, err := s.stakingKeeper.GetRedelegationByUnbondingID(s.ctx, uint64(i)) - if tc.exists.setRedelegation && tc.exists.setRedelegationByUnbondingID { - require.NoError(err) - require.Equal(tc.expected, red) - } else { - require.ErrorIs(err, types.ErrNoRedelegation) - } - }) - } -} - -func (s *KeeperTestSuite) TestValidatorByUnbondingIDAccessors() { - _, valAddrs := createValAddrs(3) - require := s.Require() - - type exists struct { - setValidator bool - setValidatorByUnbondingID bool - } - - cases := []struct { - exists exists - name string - validator types.Validator - }{ - { - name: "existing 1", - exists: exists{true, true}, - validator: testutil.NewValidator(s.T(), valAddrs[0], PKs[0]), - }, - { - name: "not existing 1", - exists: exists{false, true}, - validator: testutil.NewValidator(s.T(), valAddrs[1], PKs[1]), - }, - { - name: "not existing 2", - exists: exists{false, false}, - validator: testutil.NewValidator(s.T(), valAddrs[2], PKs[0]), - }, - } - - for i, tc := range cases { - s.Run(tc.name, func() { - if tc.exists.setValidator { - require.NoError(s.stakingKeeper.SetValidator(s.ctx, tc.validator)) - } - - if tc.exists.setValidatorByUnbondingID { - require.NoError(s.stakingKeeper.SetValidatorByUnbondingID(s.ctx, tc.validator, uint64(i))) - } - - val, err := s.stakingKeeper.GetValidatorByUnbondingID(s.ctx, uint64(i)) - if tc.exists.setValidator && tc.exists.setValidatorByUnbondingID { - require.NoError(err) - require.Equal(tc.validator, val) - } else { - require.ErrorIs(err, types.ErrNoValidatorFound) - } - }) - } -} - -func (s *KeeperTestSuite) TestUnbondingCanComplete() { - delAddrs, valAddrs := createValAddrs(3) - require := s.Require() - - unbondingID := uint64(1) - - // no unbondingID set - err := s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID) - require.ErrorIs(err, types.ErrNoUnbondingType) - - // unbonding delegation - require.NoError(s.stakingKeeper.SetUnbondingType(s.ctx, unbondingID, types.UnbondingType_UnbondingDelegation)) - err = s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID) - require.ErrorIs(err, types.ErrNoUnbondingDelegation) - - ubd := types.NewUnbondingDelegation( - delAddrs[0], - valAddrs[0], - 0, - time.Unix(0, 0).UTC(), - math.NewInt(5), - unbondingID, - addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos"), - ) - require.NoError(s.stakingKeeper.SetUnbondingDelegation(s.ctx, ubd)) - require.NoError(s.stakingKeeper.SetUnbondingDelegationByUnbondingID(s.ctx, ubd, unbondingID)) - err = s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID) - require.ErrorIs(err, types.ErrUnbondingOnHoldRefCountNegative) - - err = s.stakingKeeper.PutUnbondingOnHold(s.ctx, unbondingID) - require.NoError(err) - s.bankKeeper.EXPECT().UndelegateCoinsFromModuleToAccount(s.ctx, types.NotBondedPoolName, delAddrs[0], sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, math.NewInt(5)))).Return(nil) - err = s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID) - require.NoError(err) - - // redelegation - unbondingID++ - require.NoError(s.stakingKeeper.SetUnbondingType(s.ctx, unbondingID, types.UnbondingType_Redelegation)) - err = s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID) - require.ErrorIs(err, types.ErrNoRedelegation) - - red := types.NewRedelegation( - delAddrs[0], - valAddrs[0], - valAddrs[1], - 0, - time.Unix(5, 0).UTC(), - math.NewInt(10), - math.LegacyNewDec(10), - unbondingID, - addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos"), - ) - require.NoError(s.stakingKeeper.SetRedelegation(s.ctx, red)) - require.NoError(s.stakingKeeper.SetRedelegationByUnbondingID(s.ctx, red, unbondingID)) - err = s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID) - require.ErrorIs(err, types.ErrUnbondingOnHoldRefCountNegative) - - require.NoError(s.stakingKeeper.PutUnbondingOnHold(s.ctx, unbondingID)) - require.NoError(s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID)) - - // validator unbonding - unbondingID++ - require.NoError(s.stakingKeeper.SetUnbondingType(s.ctx, unbondingID, types.UnbondingType_ValidatorUnbonding)) - err = s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID) - require.ErrorIs(err, types.ErrNoValidatorFound) - - val := testutil.NewValidator(s.T(), valAddrs[0], PKs[0]) - require.NoError(s.stakingKeeper.SetValidator(s.ctx, val)) - require.NoError(s.stakingKeeper.SetValidatorByUnbondingID(s.ctx, val, unbondingID)) - err = s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID) - require.ErrorIs(err, types.ErrUnbondingOnHoldRefCountNegative) - - require.NoError(s.stakingKeeper.PutUnbondingOnHold(s.ctx, unbondingID)) - require.NoError(s.stakingKeeper.UnbondingCanComplete(s.ctx, unbondingID)) -} diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index 867dc89dd5cb..866cc1ce0a2d 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -456,11 +456,6 @@ func (k Keeper) BeginUnbondingValidator(ctx context.Context, validator types.Val return validator, fmt.Errorf("should not already be unbonded or unbonding, validator: %v", validator) } - id, err := k.IncrementUnbondingID(ctx) - if err != nil { - return validator, err - } - validator = validator.UpdateStatus(types.Unbonding) headerInfo := k.HeaderService.HeaderInfo(ctx) @@ -468,8 +463,6 @@ func (k Keeper) BeginUnbondingValidator(ctx context.Context, validator types.Val validator.UnbondingTime = headerInfo.Time.Add(params.UnbondingTime) validator.UnbondingHeight = headerInfo.Height - validator.UnbondingIds = append(validator.UnbondingIds, id) - // save the now unbonded validator record and power index if err = k.SetValidator(ctx, validator); err != nil { return validator, err @@ -499,14 +492,6 @@ func (k Keeper) BeginUnbondingValidator(ctx context.Context, validator types.Val return validator, err } - if err := k.SetValidatorByUnbondingID(ctx, validator, id); err != nil { - return validator, err - } - - if err := k.Hooks().AfterUnbondingInitiated(ctx, id); err != nil { - return validator, err - } - return validator, nil } diff --git a/x/staking/keeper/validator.go b/x/staking/keeper/validator.go index 7ce5cae9822a..61e42bdf8008 100644 --- a/x/staking/keeper/validator.go +++ b/x/staking/keeper/validator.go @@ -545,36 +545,19 @@ func (k Keeper) unbondMatureValidators( return errors.New("unexpected validator in unbonding queue; status was not unbonding") } - // if the ref count is not zero, early exit. - if val.UnbondingOnHoldRefCount != 0 { - return nil - } - - // otherwise do proper unbonding - for _, id := range val.UnbondingIds { - if err = k.DeleteUnbondingIndex(ctx, id); err != nil { - return err - } - } - val, err = k.UnbondingToUnbonded(ctx, val) if err != nil { return err } - if val.GetDelegatorShares().IsZero() { - str, err := k.validatorAddressCodec.StringToBytes(val.GetOperator()) + addr, err := k.validatorAddressCodec.StringToBytes(val.OperatorAddress) if err != nil { return err } - if err = k.RemoveValidator(ctx, str); err != nil { + if err := k.RemoveValidator(ctx, addr); err != nil { return err } - } else { - // remove unbonding ids - val.UnbondingIds = []uint64{} } - // remove validator from queue if err = k.DeleteValidatorQueue(ctx, val); err != nil { return err diff --git a/x/staking/migrations/v6/keys.go b/x/staking/migrations/v6/keys.go index 252d7ce50396..5c3b1a913350 100644 --- a/x/staking/migrations/v6/keys.go +++ b/x/staking/migrations/v6/keys.go @@ -3,6 +3,9 @@ package v6 import "cosmossdk.io/collections" var ( + UnbondingTypeKey = collections.NewPrefix(57) // prefix for an index containing the type of unbonding operations + UnbondingIDKey = collections.NewPrefix(55) // key for the counter for the incrementing id for UnbondingOperations + UnbondingIndexKey = collections.NewPrefix(56) // prefix for an index for looking up unbonding operations by their IDs ValidatorUpdatesKey = collections.NewPrefix(97) HistoricalInfoKey = collections.NewPrefix(80) // prefix for the historical info ) diff --git a/x/staking/migrations/v6/store.go b/x/staking/migrations/v6/store.go index 93de43ec51fa..98b4cb446faa 100644 --- a/x/staking/migrations/v6/store.go +++ b/x/staking/migrations/v6/store.go @@ -13,5 +13,8 @@ import ( func MigrateStore(ctx context.Context, store storetypes.KVStore, cdc codec.BinaryCodec) error { store.Delete(ValidatorUpdatesKey) store.Delete(HistoricalInfoKey) + store.Delete(UnbondingIDKey) + store.Delete(UnbondingIndexKey) + store.Delete(UnbondingTypeKey) return nil } diff --git a/x/staking/proto/cosmos/staking/v1beta1/staking.proto b/x/staking/proto/cosmos/staking/v1beta1/staking.proto index 495fa0020cfd..78b87250c3bb 100644 --- a/x/staking/proto/cosmos/staking/v1beta1/staking.proto +++ b/x/staking/proto/cosmos/staking/v1beta1/staking.proto @@ -259,7 +259,7 @@ message UnbondingDelegationEntry { (gogoproto.nullable) = false ]; // Incrementing id that uniquely identifies this entry - uint64 unbonding_id = 5; + uint64 unbonding_id = 5 [deprecated = true]; // Strictly positive if this entry's unbonding has been stopped by external modules int64 unbonding_on_hold_ref_count = 6; diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index d2bd42c4505d..04a942f2d3ca 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -611,20 +611,6 @@ func (mr *MockStakingHooksMockRecorder) AfterDelegationModified(ctx, delAddr, va return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AfterDelegationModified", reflect.TypeOf((*MockStakingHooks)(nil).AfterDelegationModified), ctx, delAddr, valAddr) } -// AfterUnbondingInitiated mocks base method. -func (m *MockStakingHooks) AfterUnbondingInitiated(ctx context.Context, id uint64) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AfterUnbondingInitiated", ctx, id) - ret0, _ := ret[0].(error) - return ret0 -} - -// AfterUnbondingInitiated indicates an expected call of AfterUnbondingInitiated. -func (mr *MockStakingHooksMockRecorder) AfterUnbondingInitiated(ctx, id any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AfterUnbondingInitiated", reflect.TypeOf((*MockStakingHooks)(nil).AfterUnbondingInitiated), ctx, id) -} - // AfterValidatorBeginUnbonding mocks base method. func (m *MockStakingHooks) AfterValidatorBeginUnbonding(ctx context.Context, consAddr types1.ConsAddress, valAddr types1.ValAddress) error { m.ctrl.T.Helper() diff --git a/x/staking/types/delegation.go b/x/staking/types/delegation.go index fad9ae19ab76..c7754d9a8412 100644 --- a/x/staking/types/delegation.go +++ b/x/staking/types/delegation.go @@ -66,13 +66,12 @@ func (d Delegations) String() (out string) { return strings.TrimSpace(out) } -func NewUnbondingDelegationEntry(creationHeight int64, completionTime time.Time, balance math.Int, unbondingID uint64) UnbondingDelegationEntry { +func NewUnbondingDelegationEntry(creationHeight int64, completionTime time.Time, balance math.Int) UnbondingDelegationEntry { return UnbondingDelegationEntry{ CreationHeight: creationHeight, CompletionTime: completionTime, InitialBalance: balance, Balance: balance, - UnbondingId: unbondingID, UnbondingOnHoldRefCount: 0, } } @@ -82,26 +81,6 @@ func (e UnbondingDelegationEntry) IsMature(currentTime time.Time) bool { return !e.CompletionTime.After(currentTime) } -// OnHold - is the current entry on hold due to external modules -func (e UnbondingDelegationEntry) OnHold() bool { - return e.UnbondingOnHoldRefCount > 0 -} - -// return the unbonding delegation entry -func MustMarshalUBDE(cdc codec.BinaryCodec, ubd UnbondingDelegationEntry) []byte { - return cdc.MustMarshal(&ubd) -} - -// unmarshal a unbonding delegation entry from a store value -func MustUnmarshalUBDE(cdc codec.BinaryCodec, value []byte) UnbondingDelegationEntry { - ubd, err := UnmarshalUBDE(cdc, value) - if err != nil { - panic(err) - } - - return ubd -} - // unmarshal a unbonding delegation entry from a store value func UnmarshalUBDE(cdc codec.BinaryCodec, value []byte) (ubd UnbondingDelegationEntry, err error) { err = cdc.Unmarshal(value, &ubd) @@ -111,7 +90,7 @@ func UnmarshalUBDE(cdc codec.BinaryCodec, value []byte) (ubd UnbondingDelegation // NewUnbondingDelegation - create a new unbonding delegation object func NewUnbondingDelegation( delegatorAddr sdk.AccAddress, validatorAddr sdk.ValAddress, - creationHeight int64, minTime time.Time, balance math.Int, id uint64, + creationHeight int64, minTime time.Time, balance math.Int, valAc, delAc address.Codec, ) UnbondingDelegation { valAddr, err := valAc.BytesToString(validatorAddr) @@ -126,13 +105,13 @@ func NewUnbondingDelegation( DelegatorAddress: delAddr, ValidatorAddress: valAddr, Entries: []UnbondingDelegationEntry{ - NewUnbondingDelegationEntry(creationHeight, minTime, balance, id), + NewUnbondingDelegationEntry(creationHeight, minTime, balance), }, } } // AddEntry - append entry to the unbonding delegation -func (ubd *UnbondingDelegation) AddEntry(creationHeight int64, minTime time.Time, balance math.Int, unbondingID uint64) bool { +func (ubd *UnbondingDelegation) AddEntry(creationHeight int64, minTime time.Time, balance math.Int) bool { // Check the entries exists with creation_height and complete_time entryIndex := -1 for index, ubdEntry := range ubd.Entries { @@ -152,7 +131,7 @@ func (ubd *UnbondingDelegation) AddEntry(creationHeight int64, minTime time.Time return false } // append the new unbond delegation entry - entry := NewUnbondingDelegationEntry(creationHeight, minTime, balance, unbondingID) + entry := NewUnbondingDelegationEntry(creationHeight, minTime, balance) ubd.Entries = append(ubd.Entries, entry) return true } @@ -194,13 +173,12 @@ func (ubds UnbondingDelegations) String() (out string) { return strings.TrimSpace(out) } -func NewRedelegationEntry(creationHeight int64, completionTime time.Time, balance math.Int, sharesDst math.LegacyDec, id uint64) RedelegationEntry { +func NewRedelegationEntry(creationHeight int64, completionTime time.Time, balance math.Int, sharesDst math.LegacyDec) RedelegationEntry { return RedelegationEntry{ CreationHeight: creationHeight, CompletionTime: completionTime, InitialBalance: balance, SharesDst: sharesDst, - UnbondingId: id, UnbondingOnHoldRefCount: 0, } } @@ -217,7 +195,7 @@ func (e RedelegationEntry) OnHold() bool { func NewRedelegation( delegatorAddr sdk.AccAddress, validatorSrcAddr, validatorDstAddr sdk.ValAddress, - creationHeight int64, minTime time.Time, balance math.Int, sharesDst math.LegacyDec, id uint64, + creationHeight int64, minTime time.Time, balance math.Int, sharesDst math.LegacyDec, valAc, delAc address.Codec, ) Redelegation { valSrcAddr, err := valAc.BytesToString(validatorSrcAddr) @@ -238,14 +216,14 @@ func NewRedelegation( ValidatorSrcAddress: valSrcAddr, ValidatorDstAddress: valDstAddr, Entries: []RedelegationEntry{ - NewRedelegationEntry(creationHeight, minTime, balance, sharesDst, id), + NewRedelegationEntry(creationHeight, minTime, balance, sharesDst), }, } } // AddEntry - append entry to the unbonding delegation -func (red *Redelegation) AddEntry(creationHeight int64, minTime time.Time, balance math.Int, sharesDst math.LegacyDec, id uint64) { - entry := NewRedelegationEntry(creationHeight, minTime, balance, sharesDst, id) +func (red *Redelegation) AddEntry(creationHeight int64, minTime time.Time, balance math.Int, sharesDst math.LegacyDec) { + entry := NewRedelegationEntry(creationHeight, minTime, balance, sharesDst) red.Entries = append(red.Entries, entry) } @@ -341,10 +319,10 @@ func NewRedelegationResponse( // NewRedelegationEntryResponse creates a new RedelegationEntryResponse instance. func NewRedelegationEntryResponse( - creationHeight int64, completionTime time.Time, sharesDst math.LegacyDec, initialBalance, balance math.Int, unbondingID uint64, + creationHeight int64, completionTime time.Time, sharesDst math.LegacyDec, initialBalance, balance math.Int, ) RedelegationEntryResponse { return RedelegationEntryResponse{ - RedelegationEntry: NewRedelegationEntry(creationHeight, completionTime, initialBalance, sharesDst, unbondingID), + RedelegationEntry: NewRedelegationEntry(creationHeight, completionTime, initialBalance, sharesDst), Balance: balance, } } diff --git a/x/staking/types/delegation_test.go b/x/staking/types/delegation_test.go index 3452ce51744c..61d36bbf02f1 100644 --- a/x/staking/types/delegation_test.go +++ b/x/staking/types/delegation_test.go @@ -50,7 +50,7 @@ func TestDelegationString(t *testing.T) { func TestUnbondingDelegationEqual(t *testing.T) { ubd1 := types.NewUnbondingDelegation(sdk.AccAddress(valAddr1), valAddr2, 0, - time.Unix(0, 0), math.NewInt(0), 1, addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) + time.Unix(0, 0), math.NewInt(0), addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) ubd2 := ubd1 ok := ubd1.String() == ubd2.String() @@ -67,7 +67,7 @@ func TestUnbondingDelegationEqual(t *testing.T) { func TestUnbondingDelegationString(t *testing.T) { ubd := types.NewUnbondingDelegation(sdk.AccAddress(valAddr1), valAddr2, 0, - time.Unix(0, 0), math.NewInt(0), 1, addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) + time.Unix(0, 0), math.NewInt(0), addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) require.NotEmpty(t, ubd.String()) } @@ -75,10 +75,10 @@ func TestUnbondingDelegationString(t *testing.T) { func TestRedelegationEqual(t *testing.T) { r1 := types.NewRedelegation(sdk.AccAddress(valAddr1), valAddr2, valAddr3, 0, time.Unix(0, 0), math.NewInt(0), - math.LegacyNewDec(0), 1, addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) + math.LegacyNewDec(0), addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) r2 := types.NewRedelegation(sdk.AccAddress(valAddr1), valAddr2, valAddr3, 0, time.Unix(0, 0), math.NewInt(0), - math.LegacyNewDec(0), 1, addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) + math.LegacyNewDec(0), addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) require.True(t, proto.Equal(&r1, &r2)) r2.Entries[0].SharesDst = math.LegacyNewDec(10) @@ -89,7 +89,7 @@ func TestRedelegationEqual(t *testing.T) { func TestRedelegationString(t *testing.T) { r := types.NewRedelegation(sdk.AccAddress(valAddr1), valAddr2, valAddr3, 0, time.Unix(0, 0), math.NewInt(0), - math.LegacyNewDec(10), 1, addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) + math.LegacyNewDec(10), addresscodec.NewBech32Codec("cosmosvaloper"), addresscodec.NewBech32Codec("cosmos")) require.NotEmpty(t, r.String()) } @@ -145,8 +145,8 @@ func TestRedelegationResponses(t *testing.T) { require.NoError(t, err) entries := []types.RedelegationEntryResponse{ - types.NewRedelegationEntryResponse(0, time.Unix(0, 0), math.LegacyNewDec(5), math.NewInt(5), math.NewInt(5), 0), - types.NewRedelegationEntryResponse(0, time.Unix(0, 0), math.LegacyNewDec(5), math.NewInt(5), math.NewInt(5), 0), + types.NewRedelegationEntryResponse(0, time.Unix(0, 0), math.LegacyNewDec(5), math.NewInt(5), math.NewInt(5)), + types.NewRedelegationEntryResponse(0, time.Unix(0, 0), math.LegacyNewDec(5), math.NewInt(5), math.NewInt(5)), } rdr1 := types.NewRedelegationResponse(addr1, vAddr2, vAddr3, entries) rdr2 := types.NewRedelegationResponse(addr2, vAddr1, vAddr3, entries) diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index e757c2c2b586..a67b52887b33 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -105,7 +105,6 @@ type StakingHooks interface { BeforeDelegationRemoved(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) error // Must be called when a delegation is removed AfterDelegationModified(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) error BeforeValidatorSlashed(ctx context.Context, valAddr sdk.ValAddress, fraction math.LegacyDec) error - AfterUnbondingInitiated(ctx context.Context, id uint64) error AfterConsensusPubKeyUpdate(ctx context.Context, oldPubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error } diff --git a/x/staking/types/hooks.go b/x/staking/types/hooks.go index 6cf0581b6e53..cb5a6099d4e7 100644 --- a/x/staking/types/hooks.go +++ b/x/staking/types/hooks.go @@ -109,15 +109,6 @@ func (h MultiStakingHooks) BeforeValidatorSlashed(ctx context.Context, valAddr s return nil } -func (h MultiStakingHooks) AfterUnbondingInitiated(ctx context.Context, id uint64) error { - for i := range h { - if err := h[i].AfterUnbondingInitiated(ctx, id); err != nil { - return err - } - } - return nil -} - func (h MultiStakingHooks) AfterConsensusPubKeyUpdate(ctx context.Context, oldPubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { for i := range h { if err := h[i].AfterConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey, rotationFee); err != nil { diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index 03335a9a8372..7228716a7700 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -49,10 +49,6 @@ var ( RedelegationByValSrcIndexKey = collections.NewPrefix(53) // prefix for each key for a redelegation, by source validator operator RedelegationByValDstIndexKey = collections.NewPrefix(54) // prefix for each key for a redelegation, by destination validator operator - UnbondingIDKey = collections.NewPrefix(55) // key for the counter for the incrementing id for UnbondingOperations - UnbondingIndexKey = collections.NewPrefix(56) // prefix for an index for looking up unbonding operations by their IDs - UnbondingTypeKey = collections.NewPrefix(57) // prefix for an index containing the type of unbonding operations - UnbondingQueueKey = collections.NewPrefix(65) // prefix for the timestamps in unbonding queue RedelegationQueueKey = collections.NewPrefix(66) // prefix for the timestamps in redelegations queue ValidatorQueueKey = collections.NewPrefix(67) // prefix for the timestamps in validator queue diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 1a6ae219a100..47691b5dff7f 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -793,7 +793,7 @@ type UnbondingDelegationEntry struct { // balance defines the tokens to receive at completion. Balance cosmossdk_io_math.Int `protobuf:"bytes,4,opt,name=balance,proto3,customtype=cosmossdk.io/math.Int" json:"balance"` // Incrementing id that uniquely identifies this entry - UnbondingId uint64 `protobuf:"varint,5,opt,name=unbonding_id,json=unbondingId,proto3" json:"unbonding_id,omitempty"` + UnbondingId uint64 `protobuf:"varint,5,opt,name=unbonding_id,json=unbondingId,proto3" json:"unbonding_id,omitempty"` // Deprecated: Do not use. // Strictly positive if this entry's unbonding has been stopped by external modules UnbondingOnHoldRefCount int64 `protobuf:"varint,6,opt,name=unbonding_on_hold_ref_count,json=unbondingOnHoldRefCount,proto3" json:"unbonding_on_hold_ref_count,omitempty"` } @@ -845,6 +845,7 @@ func (m *UnbondingDelegationEntry) GetCompletionTime() time.Time { return time.Time{} } +// Deprecated: Do not use. func (m *UnbondingDelegationEntry) GetUnbondingId() uint64 { if m != nil { return m.UnbondingId @@ -1449,142 +1450,142 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2150 bytes of a gzipped FileDescriptorProto + // 2154 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0x4b, 0x6c, 0x1b, 0xc7, - 0x19, 0xd6, 0x92, 0x34, 0x25, 0xfe, 0x14, 0x45, 0x6a, 0xfc, 0xa2, 0xe8, 0x58, 0x92, 0x19, 0x37, + 0x19, 0xd6, 0x92, 0x0c, 0x25, 0xfe, 0x14, 0x45, 0x6a, 0xfc, 0xa2, 0xe8, 0x58, 0x92, 0x19, 0x27, 0x91, 0xdd, 0x98, 0x8c, 0xdc, 0xc2, 0x05, 0x84, 0x20, 0x85, 0x29, 0xca, 0x36, 0x93, 0x58, 0x52, 0x97, 0xa2, 0xfa, 0x40, 0x9b, 0xc5, 0x70, 0x77, 0x48, 0x6d, 0x45, 0xee, 0xb2, 0x3b, 0x43, 0xd9, - 0xbc, 0xf7, 0x10, 0xb8, 0x28, 0x90, 0x53, 0x11, 0xa0, 0x30, 0x6a, 0xa0, 0x97, 0xf6, 0x96, 0x83, - 0xd1, 0x7b, 0x6f, 0x69, 0x81, 0x02, 0x86, 0x4f, 0x45, 0x80, 0xba, 0x85, 0x7d, 0x48, 0xd0, 0x5c, - 0xda, 0x9e, 0x7a, 0x2c, 0xe6, 0xb1, 0x0f, 0x8a, 0xa2, 0x65, 0xc9, 0x41, 0x11, 0xb4, 0x17, 0x62, - 0x67, 0xe6, 0xff, 0xbf, 0x99, 0xff, 0x3d, 0xf3, 0x13, 0x2e, 0x9a, 0x2e, 0xed, 0xba, 0xb4, 0x4c, - 0x19, 0xde, 0xb5, 0x9d, 0x76, 0x79, 0x6f, 0xb9, 0x49, 0x18, 0x5e, 0xf6, 0xc7, 0xa5, 0x9e, 0xe7, - 0x32, 0x17, 0x9d, 0x91, 0x54, 0x25, 0x7f, 0x56, 0x51, 0x15, 0x66, 0x71, 0xd7, 0x76, 0xdc, 0xb2, - 0xf8, 0x95, 0xa4, 0x85, 0x57, 0x4c, 0xb7, 0x4b, 0x58, 0xb3, 0xc5, 0xca, 0xb8, 0x69, 0xda, 0xe5, - 0xbd, 0xe5, 0x32, 0x1b, 0xf4, 0x08, 0x55, 0xab, 0xe7, 0x83, 0x55, 0x31, 0xbb, 0x7f, 0x79, 0x5e, - 0x9d, 0xa6, 0x89, 0x29, 0x09, 0x8e, 0x62, 0xba, 0xb6, 0xa3, 0xd6, 0xe7, 0xe4, 0xba, 0x21, 0x46, - 0x65, 0x75, 0x28, 0xb9, 0x74, 0xaa, 0xed, 0xb6, 0x5d, 0x39, 0xcf, 0xbf, 0x7c, 0x86, 0xb6, 0xeb, - 0xb6, 0x3b, 0xa4, 0x2c, 0x46, 0xcd, 0x7e, 0xab, 0x8c, 0x9d, 0x81, 0xbf, 0xd7, 0xfe, 0x25, 0xab, - 0xef, 0x61, 0x66, 0xbb, 0xfe, 0x5e, 0x0b, 0xfb, 0xd7, 0x99, 0xdd, 0x25, 0x94, 0xe1, 0x6e, 0x4f, - 0x12, 0x14, 0x3f, 0xd2, 0x60, 0xe6, 0x96, 0x4d, 0x99, 0xeb, 0xd9, 0x26, 0xee, 0xd4, 0x9c, 0x96, - 0x8b, 0xde, 0x82, 0xe4, 0x0e, 0xc1, 0x16, 0xf1, 0xf2, 0xda, 0xa2, 0xb6, 0x94, 0xbe, 0x3a, 0x57, - 0xf2, 0xe5, 0x2d, 0x49, 0x31, 0xf7, 0x96, 0x4b, 0xb7, 0x04, 0x41, 0x25, 0xf5, 0xc9, 0x93, 0x85, - 0x89, 0xdf, 0x7c, 0xf6, 0xf1, 0x65, 0x4d, 0x57, 0x3c, 0xa8, 0x0a, 0xc9, 0x3d, 0xdc, 0xa1, 0x84, - 0xe5, 0x63, 0x8b, 0xf1, 0xa5, 0xf4, 0xd5, 0x0b, 0xa5, 0x83, 0xd5, 0x5e, 0xda, 0xc6, 0x1d, 0xdb, - 0xc2, 0xcc, 0x1d, 0x46, 0x91, 0xbc, 0x2b, 0xb1, 0xbc, 0x56, 0xfc, 0x45, 0x0c, 0xb2, 0xab, 0x6e, - 0xb7, 0x6b, 0x53, 0x6a, 0xbb, 0x8e, 0x8e, 0x19, 0xa1, 0xe8, 0x1d, 0x48, 0x78, 0x98, 0x11, 0x71, - 0xb2, 0x54, 0xe5, 0x1a, 0x67, 0xfc, 0xf4, 0xc9, 0xc2, 0x39, 0xb9, 0x05, 0xb5, 0x76, 0x4b, 0xb6, - 0x5b, 0xee, 0x62, 0xb6, 0x53, 0x7a, 0x8f, 0xb4, 0xb1, 0x39, 0xa8, 0x12, 0xf3, 0xf1, 0xc3, 0x2b, - 0xa0, 0x4e, 0x50, 0x25, 0xa6, 0xdc, 0x45, 0x60, 0xa0, 0xef, 0xc0, 0x54, 0x17, 0xdf, 0x35, 0x04, - 0x5e, 0xec, 0xa5, 0xf0, 0x26, 0xbb, 0xf8, 0x2e, 0x3f, 0x1f, 0x7a, 0x1f, 0xb2, 0x1c, 0xd2, 0xdc, - 0xc1, 0x4e, 0x9b, 0x48, 0xe4, 0xf8, 0x4b, 0x21, 0x67, 0xba, 0xf8, 0xee, 0xaa, 0x40, 0xe3, 0xf8, - 0x2b, 0x89, 0xcf, 0x1f, 0x2c, 0x68, 0xc5, 0xdf, 0x6b, 0x00, 0xa1, 0x62, 0x10, 0x86, 0x9c, 0x19, - 0x8c, 0xc4, 0xa6, 0x54, 0x59, 0xee, 0xf5, 0x71, 0xba, 0xdf, 0xa7, 0xd6, 0x4a, 0x86, 0x1f, 0xef, - 0xd1, 0x93, 0x05, 0x4d, 0xee, 0x9a, 0x35, 0x47, 0xd4, 0x9e, 0xee, 0xf7, 0x2c, 0xcc, 0x88, 0xc1, - 0xfd, 0x47, 0x68, 0x2b, 0x7d, 0xb5, 0x50, 0x92, 0xce, 0x55, 0xf2, 0x9d, 0xab, 0xb4, 0xe5, 0x3b, - 0x97, 0x04, 0xfc, 0xf0, 0xaf, 0x3e, 0x20, 0x48, 0x6e, 0xbe, 0xae, 0x64, 0xf8, 0xa7, 0x06, 0xe9, - 0x2a, 0xa1, 0xa6, 0x67, 0xf7, 0xb8, 0xbb, 0xa2, 0x3c, 0x4c, 0x76, 0x5d, 0xc7, 0xde, 0x55, 0x5e, - 0x97, 0xd2, 0xfd, 0x21, 0x2a, 0xc0, 0x94, 0x6d, 0x11, 0x87, 0xd9, 0x6c, 0x20, 0xcd, 0xa4, 0x07, - 0x63, 0xce, 0x75, 0x87, 0x34, 0xa9, 0xed, 0xeb, 0x59, 0xf7, 0x87, 0xe8, 0x12, 0xe4, 0x28, 0x31, - 0xfb, 0x9e, 0xcd, 0x06, 0x86, 0xe9, 0x3a, 0x0c, 0x9b, 0x2c, 0x9f, 0x10, 0x24, 0x59, 0x7f, 0x7e, - 0x55, 0x4e, 0x73, 0x10, 0x8b, 0x30, 0x6c, 0x77, 0x68, 0xfe, 0x84, 0x04, 0x51, 0x43, 0x74, 0x13, - 0xa6, 0xba, 0x84, 0x61, 0x0b, 0x33, 0x9c, 0x4f, 0x0a, 0x99, 0x17, 0xc7, 0x69, 0xf4, 0xb6, 0xa2, - 0x13, 0xce, 0x2c, 0xa4, 0x9e, 0xd0, 0x03, 0x66, 0x25, 0x73, 0x0b, 0xa6, 0x7c, 0x32, 0xf4, 0x1a, - 0x64, 0x7b, 0x9e, 0xdb, 0xb2, 0x3b, 0xc4, 0xe8, 0xd9, 0xa6, 0xd1, 0xf7, 0x6c, 0x25, 0x77, 0x46, - 0x4d, 0x6f, 0xda, 0x66, 0xc3, 0xb3, 0xd1, 0x1b, 0x80, 0xa8, 0x6b, 0xda, 0xb8, 0x63, 0xec, 0x60, - 0xc7, 0xea, 0x10, 0x4e, 0x49, 0x45, 0x68, 0xa5, 0xf4, 0x9c, 0x5c, 0xb9, 0x25, 0x16, 0x1a, 0x9e, - 0x4d, 0xd5, 0x3e, 0xf7, 0x27, 0x21, 0x15, 0x44, 0x17, 0x5a, 0x85, 0x9c, 0xdb, 0x23, 0x1e, 0xff, - 0x36, 0xb0, 0x65, 0x79, 0x84, 0x52, 0x15, 0x3e, 0xf9, 0xc7, 0x0f, 0xaf, 0x9c, 0x52, 0xf2, 0x5c, - 0x97, 0x2b, 0x75, 0xe6, 0xd9, 0x4e, 0x5b, 0xcf, 0xfa, 0x1c, 0x6a, 0x1a, 0x7d, 0x9f, 0xfb, 0x98, - 0x43, 0x89, 0x43, 0xfb, 0xd4, 0xe8, 0xf5, 0x9b, 0xbb, 0x64, 0xa0, 0xbc, 0xe0, 0xd4, 0x88, 0x17, - 0x5c, 0x77, 0x06, 0x95, 0xfc, 0x1f, 0x43, 0x68, 0xd3, 0x1b, 0xf4, 0x98, 0x5b, 0xda, 0xec, 0x37, - 0xdf, 0x25, 0x03, 0xee, 0x5b, 0x0a, 0x67, 0x53, 0xc0, 0xa0, 0x33, 0x90, 0xfc, 0x31, 0xb6, 0x3b, - 0xc4, 0x12, 0x26, 0x9c, 0xd2, 0xd5, 0x08, 0xad, 0x40, 0x92, 0x32, 0xcc, 0xfa, 0x54, 0xd8, 0x6d, - 0xe6, 0x6a, 0x71, 0x9c, 0xea, 0x2b, 0xae, 0x63, 0xd5, 0x05, 0xa5, 0xae, 0x38, 0xd0, 0x2a, 0x24, - 0x99, 0xbb, 0x4b, 0x1c, 0x65, 0xd1, 0xca, 0xd7, 0x55, 0xf8, 0x9d, 0x1e, 0x0d, 0xbf, 0x9a, 0xc3, - 0x22, 0x81, 0x57, 0x73, 0x98, 0xae, 0x58, 0xd1, 0x0f, 0x21, 0x67, 0x91, 0x0e, 0x69, 0x0b, 0xcd, - 0xd1, 0x1d, 0xec, 0x11, 0x2a, 0xbc, 0x20, 0x55, 0x59, 0x3e, 0x72, 0x34, 0xeb, 0xd9, 0x00, 0xaa, - 0x2e, 0x90, 0xd0, 0x26, 0xa4, 0xad, 0xd0, 0xff, 0xf3, 0x93, 0x42, 0x99, 0xaf, 0x8e, 0x93, 0x31, - 0x12, 0x2a, 0xd1, 0x74, 0x19, 0x85, 0xe0, 0x2e, 0xdf, 0x77, 0x9a, 0xae, 0x63, 0xd9, 0x4e, 0xdb, - 0xd8, 0x21, 0x76, 0x7b, 0x87, 0xe5, 0xa7, 0x16, 0xb5, 0xa5, 0xb8, 0x9e, 0x0d, 0xe6, 0x6f, 0x89, - 0x69, 0xb4, 0x09, 0x33, 0x21, 0xa9, 0x08, 0xe9, 0xd4, 0x51, 0x43, 0x3a, 0x13, 0x00, 0x70, 0x12, - 0x74, 0x1b, 0x20, 0x4c, 0x1a, 0x79, 0x10, 0x68, 0xc5, 0xc3, 0xd3, 0x4f, 0x54, 0x98, 0x08, 0x00, - 0x72, 0xe0, 0x64, 0xd7, 0x76, 0x0c, 0x4a, 0x3a, 0x2d, 0x43, 0x69, 0x8e, 0xe3, 0xa6, 0x85, 0xfa, - 0xdf, 0x3e, 0x82, 0x35, 0x3f, 0x7d, 0x78, 0x25, 0x2b, 0x47, 0x57, 0xa8, 0xb5, 0xbb, 0xf8, 0x66, - 0xe9, 0x9b, 0xdf, 0xd2, 0x67, 0xbb, 0xb6, 0x53, 0x27, 0x9d, 0x56, 0x35, 0x00, 0x46, 0x6f, 0xc1, - 0xb9, 0x50, 0x21, 0xae, 0x63, 0xec, 0xb8, 0x1d, 0xcb, 0xf0, 0x48, 0xcb, 0x30, 0xdd, 0xbe, 0xc3, - 0xf2, 0xd3, 0x42, 0x8d, 0x67, 0x03, 0x92, 0x0d, 0xe7, 0x96, 0xdb, 0xb1, 0x74, 0xd2, 0x5a, 0xe5, - 0xcb, 0xe8, 0x55, 0x08, 0xb5, 0x61, 0xd8, 0x16, 0xcd, 0x67, 0x16, 0xe3, 0x4b, 0x09, 0x7d, 0x3a, - 0x98, 0xac, 0x59, 0x74, 0x65, 0xea, 0x83, 0x07, 0x0b, 0x13, 0x9f, 0x3f, 0x58, 0x98, 0x28, 0xde, - 0x80, 0xe9, 0x6d, 0xdc, 0x51, 0xa1, 0x45, 0x28, 0xba, 0x06, 0x29, 0xec, 0x0f, 0xf2, 0x1a, 0x0f, - 0xed, 0xe7, 0x84, 0x66, 0x48, 0x5a, 0xfc, 0xad, 0x06, 0xc9, 0xea, 0xf6, 0x26, 0xb6, 0x3d, 0xb4, - 0x06, 0xb3, 0xa1, 0xaf, 0xbe, 0x68, 0x94, 0x87, 0xee, 0xed, 0x87, 0xf9, 0x3a, 0xcc, 0xee, 0xf9, - 0x89, 0x23, 0x80, 0x91, 0xb5, 0xf1, 0xc2, 0xe3, 0x87, 0x57, 0xce, 0x2b, 0x98, 0x20, 0xb9, 0xec, - 0xc3, 0xdb, 0xdb, 0x37, 0x1f, 0x91, 0xf9, 0x1d, 0x98, 0x94, 0x47, 0xa5, 0xe8, 0xdb, 0x70, 0xa2, - 0xc7, 0x3f, 0x84, 0xa8, 0xe9, 0xab, 0xf3, 0x63, 0x7d, 0x5e, 0xd0, 0x47, 0x3d, 0x44, 0xf2, 0x15, - 0x7f, 0x16, 0x03, 0xa8, 0x6e, 0x6f, 0x6f, 0x79, 0x76, 0xaf, 0x43, 0xd8, 0x97, 0x25, 0x7b, 0x03, - 0x4e, 0x87, 0xb2, 0x53, 0xcf, 0x3c, 0xba, 0xfc, 0x27, 0x03, 0xfe, 0xba, 0x67, 0x1e, 0x08, 0x6b, - 0x51, 0x16, 0xc0, 0xc6, 0x8f, 0x0e, 0x5b, 0xa5, 0x6c, 0x54, 0xb3, 0xdf, 0x83, 0x74, 0xa8, 0x0c, - 0x8a, 0x6a, 0x30, 0xc5, 0xd4, 0xb7, 0x52, 0x70, 0x71, 0xbc, 0x82, 0x7d, 0xb6, 0xa8, 0x92, 0x03, - 0xf6, 0xe2, 0xbf, 0x35, 0x80, 0x48, 0x8c, 0x7c, 0x35, 0x7d, 0x0c, 0xd5, 0x20, 0xa9, 0x92, 0x73, - 0xfc, 0xb8, 0xc9, 0x59, 0x01, 0x44, 0x94, 0xfa, 0xf3, 0x18, 0x9c, 0x6c, 0xf8, 0xd1, 0xfb, 0xd5, - 0xd7, 0x41, 0x03, 0x26, 0x89, 0xc3, 0x3c, 0x5b, 0x28, 0x81, 0xdb, 0xfc, 0xcd, 0x71, 0x36, 0x3f, - 0x40, 0xa8, 0x35, 0x87, 0x79, 0x83, 0xa8, 0x07, 0xf8, 0x58, 0x11, 0x7d, 0xfc, 0x32, 0x0e, 0xf9, - 0x71, 0xac, 0xe8, 0x75, 0xc8, 0x9a, 0x1e, 0x11, 0x13, 0x7e, 0xdd, 0xd1, 0x44, 0xc2, 0x9c, 0xf1, - 0xa7, 0x55, 0xd9, 0xd1, 0x81, 0xdf, 0x2c, 0xb9, 0x73, 0x71, 0xd2, 0xe3, 0x5d, 0x25, 0x67, 0x42, - 0x04, 0x51, 0x78, 0xb6, 0x20, 0x6b, 0x3b, 0x36, 0xe3, 0x37, 0xa4, 0x26, 0xee, 0x60, 0xc7, 0xf4, - 0xaf, 0xdc, 0x47, 0xaa, 0xf9, 0x33, 0x0a, 0xa3, 0x22, 0x21, 0xd0, 0x1a, 0x4c, 0xfa, 0x68, 0x89, - 0xa3, 0xa3, 0xf9, 0xbc, 0xe8, 0x02, 0x4c, 0x47, 0x0b, 0x83, 0xb8, 0x8d, 0x24, 0xf4, 0x74, 0xa4, - 0x2e, 0x1c, 0x56, 0x79, 0x92, 0xcf, 0xad, 0x3c, 0xea, 0xc2, 0xf7, 0xab, 0x38, 0xcc, 0xea, 0xc4, - 0xfa, 0xdf, 0x37, 0xcb, 0x26, 0x80, 0x0c, 0x55, 0x9e, 0x49, 0x95, 0x65, 0x8e, 0x11, 0xef, 0x29, - 0x09, 0x52, 0xa5, 0xec, 0xbf, 0x65, 0xa1, 0xbf, 0xc4, 0x60, 0x3a, 0x6a, 0xa1, 0xff, 0xcb, 0xa2, - 0x85, 0xd6, 0xc3, 0x34, 0x95, 0x10, 0x69, 0xea, 0xd2, 0xb8, 0x34, 0x35, 0xe2, 0xcd, 0x87, 0xe4, - 0xa7, 0x2f, 0xe2, 0x90, 0xdc, 0xc4, 0x1e, 0xee, 0x52, 0xb4, 0x31, 0x72, 0xb7, 0xf5, 0xdb, 0x18, - 0xfb, 0x9d, 0xb9, 0xaa, 0x7a, 0x25, 0xd2, 0x97, 0x3f, 0x1a, 0x77, 0xb5, 0xfd, 0x1a, 0xcc, 0xf0, - 0x47, 0x7d, 0x20, 0x90, 0x54, 0x6e, 0x46, 0xbc, 0xcd, 0x03, 0xe9, 0x29, 0x5a, 0x80, 0x34, 0x27, - 0x0b, 0xf3, 0x30, 0xa7, 0x81, 0x2e, 0xbe, 0xbb, 0x26, 0x67, 0xd0, 0x32, 0xa0, 0x9d, 0xa0, 0xd3, - 0x62, 0x84, 0x8a, 0xd0, 0x96, 0x32, 0x95, 0x58, 0x5e, 0xd3, 0x67, 0xc3, 0x55, 0x9f, 0xe5, 0x3c, - 0x00, 0x3f, 0x89, 0x61, 0x11, 0xc7, 0xed, 0xaa, 0xd7, 0x69, 0x8a, 0xcf, 0x54, 0xf9, 0x04, 0xfa, - 0xa9, 0x26, 0xaf, 0xc9, 0xfb, 0x9e, 0xff, 0xea, 0x95, 0xb2, 0xf5, 0x02, 0x81, 0xf1, 0xaf, 0x27, - 0x0b, 0x85, 0x01, 0xee, 0x76, 0x56, 0x8a, 0x07, 0xe0, 0x14, 0x0f, 0xea, 0x48, 0xf0, 0xcb, 0xf3, - 0x70, 0xfb, 0x00, 0xd5, 0x20, 0xb7, 0x4b, 0x06, 0x86, 0xe7, 0x32, 0x99, 0x6c, 0x5a, 0x84, 0xa8, - 0xf7, 0xcc, 0x9c, 0x6f, 0xdf, 0x26, 0xa6, 0x24, 0x72, 0xfd, 0xb7, 0x9d, 0x4a, 0x82, 0x9f, 0x4e, - 0x9f, 0xd9, 0x25, 0x03, 0x5d, 0xf1, 0xdd, 0x20, 0x64, 0xe5, 0x22, 0x8f, 0x96, 0x7b, 0x9f, 0x7d, - 0x7c, 0xf9, 0x5c, 0x78, 0x69, 0x2f, 0xdf, 0x0d, 0x1a, 0x7b, 0xd2, 0xc4, 0xfc, 0xe2, 0x8b, 0xc2, - 0x22, 0xa4, 0x13, 0xda, 0xe3, 0x6f, 0x4a, 0xfe, 0x06, 0x89, 0xbc, 0x15, 0xb4, 0xe7, 0xbf, 0x41, - 0x42, 0xfe, 0xa1, 0x37, 0x48, 0x24, 0x44, 0xdf, 0x0e, 0x6b, 0x40, 0xec, 0x30, 0x69, 0xa2, 0xde, - 0xa9, 0x98, 0x44, 0xe4, 0x4f, 0x14, 0xff, 0xa4, 0xc1, 0xdc, 0x88, 0x37, 0x07, 0x47, 0x36, 0x01, - 0x79, 0x91, 0x45, 0xe1, 0x15, 0x03, 0x75, 0xf4, 0xe3, 0x05, 0xc7, 0xac, 0x37, 0x52, 0x08, 0xbe, - 0x9c, 0x62, 0xa6, 0x32, 0xd9, 0x1f, 0x34, 0x38, 0x15, 0x3d, 0x40, 0x20, 0x4a, 0x1d, 0xa6, 0xa3, - 0x5b, 0x2b, 0x21, 0x2e, 0xbe, 0x88, 0x10, 0xd1, 0xf3, 0x0f, 0x81, 0xa0, 0xed, 0x30, 0x63, 0xc8, - 0x76, 0xe2, 0xf2, 0x0b, 0x2b, 0xc5, 0x3f, 0xd8, 0x81, 0x99, 0x43, 0xda, 0xe6, 0x0b, 0x0d, 0x12, - 0x9b, 0xae, 0xdb, 0x41, 0x3f, 0x81, 0x59, 0xc7, 0x65, 0x06, 0x8f, 0x2c, 0x62, 0x19, 0xaa, 0x75, - 0x20, 0xb3, 0xf1, 0xda, 0x73, 0x75, 0xf5, 0xf7, 0x27, 0x0b, 0xa3, 0x9c, 0xc3, 0x0a, 0x54, 0x2d, - 0x35, 0xc7, 0x65, 0x15, 0x41, 0xb4, 0x25, 0xbb, 0x0b, 0x2d, 0xc8, 0x0c, 0x6f, 0x27, 0x33, 0xf6, - 0xf5, 0xc3, 0xb6, 0xcb, 0x1c, 0xba, 0xd5, 0x74, 0x33, 0xb2, 0xcf, 0xca, 0x14, 0xb7, 0xda, 0x3f, - 0xb8, 0xe5, 0xde, 0x87, 0x5c, 0x90, 0xae, 0x1a, 0xa2, 0x1f, 0x47, 0xd1, 0x0d, 0x98, 0x94, 0xad, - 0x39, 0xff, 0xb1, 0x70, 0x21, 0x6c, 0xf6, 0xe2, 0xa6, 0x69, 0x97, 0xf6, 0x22, 0x8d, 0x5a, 0xc9, - 0x34, 0xa4, 0x4f, 0xc5, 0x2c, 0xfa, 0xb5, 0x8f, 0x62, 0x30, 0xb7, 0xea, 0x3a, 0x54, 0x35, 0x7a, - 0x54, 0x54, 0xcb, 0xe6, 0xf2, 0x00, 0x5d, 0x1a, 0xd3, 0x86, 0x9a, 0x1e, 0x6d, 0x36, 0x6d, 0x43, - 0x96, 0x97, 0x58, 0xd3, 0x75, 0x5e, 0xb2, 0xd7, 0x94, 0x71, 0x3b, 0x96, 0x3a, 0xd1, 0x2e, 0x19, - 0x70, 0x5c, 0x87, 0xdc, 0x19, 0xc2, 0x8d, 0x1f, 0x0f, 0xd7, 0x21, 0x77, 0x22, 0xb8, 0x67, 0x20, - 0xa9, 0xee, 0x57, 0x09, 0x71, 0x7b, 0x50, 0x23, 0x74, 0x0d, 0xe2, 0x3c, 0x15, 0x9e, 0x38, 0x42, - 0xf2, 0xe0, 0x0c, 0x91, 0xb2, 0x56, 0x87, 0x39, 0xd5, 0x29, 0xa0, 0x1b, 0x2d, 0xa1, 0x51, 0x22, - 0x04, 0x7a, 0x97, 0x0c, 0x0e, 0x68, 0x1b, 0x4c, 0xbf, 0x50, 0xdb, 0xe0, 0xf2, 0xef, 0x34, 0x80, - 0xb0, 0x67, 0x86, 0xde, 0x80, 0xb3, 0x95, 0x8d, 0xf5, 0xaa, 0x51, 0xdf, 0xba, 0xbe, 0xd5, 0xa8, - 0x1b, 0x8d, 0xf5, 0xfa, 0xe6, 0xda, 0x6a, 0xed, 0x46, 0x6d, 0xad, 0x9a, 0x9b, 0x28, 0x64, 0xef, - 0xdd, 0x5f, 0x4c, 0x37, 0x1c, 0xda, 0x23, 0xa6, 0xdd, 0xb2, 0x89, 0x85, 0x5e, 0x83, 0x53, 0xc3, - 0xd4, 0x7c, 0xb4, 0x56, 0xcd, 0x69, 0x85, 0xe9, 0x7b, 0xf7, 0x17, 0xa7, 0xe4, 0x1b, 0x81, 0x58, - 0x68, 0x09, 0x4e, 0x8f, 0xd2, 0xd5, 0xd6, 0x6f, 0xe6, 0x62, 0x85, 0xcc, 0xbd, 0xfb, 0x8b, 0xa9, - 0xe0, 0x31, 0x81, 0x8a, 0x80, 0xa2, 0x94, 0x0a, 0x2f, 0x5e, 0x80, 0x7b, 0xf7, 0x17, 0x93, 0x32, - 0x64, 0x0a, 0x89, 0x0f, 0x7e, 0x3d, 0x3f, 0x71, 0xf9, 0x47, 0x00, 0x35, 0xa7, 0xe5, 0x61, 0x53, - 0xa4, 0x86, 0x02, 0x9c, 0xa9, 0xad, 0xdf, 0xd0, 0xaf, 0xaf, 0x6e, 0xd5, 0x36, 0xd6, 0x87, 0x8f, - 0xbd, 0x6f, 0xad, 0xba, 0xd1, 0xa8, 0xbc, 0xb7, 0x66, 0xd4, 0x6b, 0x37, 0xd7, 0x73, 0x1a, 0x3a, - 0x0b, 0x27, 0x87, 0xd6, 0xbe, 0xbb, 0xbe, 0x55, 0xbb, 0xbd, 0x96, 0x8b, 0x55, 0xae, 0x7d, 0xf2, - 0x74, 0x5e, 0x7b, 0xf4, 0x74, 0x5e, 0xfb, 0xdb, 0xd3, 0x79, 0xed, 0xc3, 0x67, 0xf3, 0x13, 0x8f, - 0x9e, 0xcd, 0x4f, 0xfc, 0xf9, 0xd9, 0xfc, 0xc4, 0x0f, 0x5e, 0x19, 0x0a, 0xc6, 0xb0, 0x1c, 0x89, - 0xbf, 0x43, 0x9a, 0x49, 0xe1, 0x35, 0xdf, 0xf8, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xca, 0x97, - 0xa2, 0x84, 0x86, 0x1a, 0x00, 0x00, + 0xbc, 0xf7, 0x10, 0xb8, 0x28, 0x90, 0x53, 0x91, 0x8b, 0x11, 0x03, 0xbd, 0xb4, 0xb7, 0x1c, 0x8c, + 0xde, 0x7b, 0x4b, 0x0b, 0x14, 0x30, 0x7c, 0x2a, 0x02, 0xd4, 0x2d, 0xec, 0x43, 0x82, 0xe6, 0xd2, + 0xf6, 0xd4, 0x63, 0x31, 0x8f, 0x7d, 0x50, 0x14, 0x2d, 0x4b, 0xf6, 0x21, 0x68, 0x2f, 0xc4, 0xce, + 0xcc, 0xff, 0x7f, 0x33, 0xff, 0x7b, 0xe6, 0x27, 0x5c, 0x30, 0x5d, 0xda, 0x75, 0x69, 0x99, 0x32, + 0xbc, 0x6b, 0x3b, 0xed, 0xf2, 0xde, 0x72, 0x93, 0x30, 0xbc, 0xec, 0x8f, 0x4b, 0x3d, 0xcf, 0x65, + 0x2e, 0x3a, 0x2d, 0xa9, 0x4a, 0xfe, 0xac, 0xa2, 0x2a, 0xcc, 0xe2, 0xae, 0xed, 0xb8, 0x65, 0xf1, + 0x2b, 0x49, 0x0b, 0xaf, 0x9a, 0x6e, 0x97, 0xb0, 0x66, 0x8b, 0x95, 0x71, 0xd3, 0xb4, 0xcb, 0x7b, + 0xcb, 0x65, 0x36, 0xe8, 0x11, 0xaa, 0x56, 0xcf, 0x05, 0xab, 0x62, 0x76, 0xff, 0xf2, 0xbc, 0x3a, + 0x4d, 0x13, 0x53, 0x12, 0x1c, 0xc5, 0x74, 0x6d, 0x47, 0xad, 0xcf, 0xc9, 0x75, 0x43, 0x8c, 0xca, + 0xea, 0x50, 0x72, 0xe9, 0x64, 0xdb, 0x6d, 0xbb, 0x72, 0x9e, 0x7f, 0xf9, 0x0c, 0x6d, 0xd7, 0x6d, + 0x77, 0x48, 0x59, 0x8c, 0x9a, 0xfd, 0x56, 0x19, 0x3b, 0x03, 0x7f, 0xaf, 0xfd, 0x4b, 0x56, 0xdf, + 0xc3, 0xcc, 0x76, 0xfd, 0xbd, 0x16, 0xf6, 0xaf, 0x33, 0xbb, 0x4b, 0x28, 0xc3, 0xdd, 0x9e, 0x24, + 0x28, 0x7e, 0xa2, 0xc1, 0xcc, 0x4d, 0x9b, 0x32, 0xd7, 0xb3, 0x4d, 0xdc, 0xa9, 0x39, 0x2d, 0x17, + 0xbd, 0x03, 0xc9, 0x1d, 0x82, 0x2d, 0xe2, 0xe5, 0xb5, 0x45, 0x6d, 0x29, 0x7d, 0x65, 0xae, 0xe4, + 0xcb, 0x5b, 0x92, 0x62, 0xee, 0x2d, 0x97, 0x6e, 0x0a, 0x82, 0x4a, 0xea, 0xf3, 0xc7, 0x0b, 0x13, + 0xbf, 0xfd, 0xf2, 0xb3, 0x4b, 0x9a, 0xae, 0x78, 0x50, 0x15, 0x92, 0x7b, 0xb8, 0x43, 0x09, 0xcb, + 0xc7, 0x16, 0xe3, 0x4b, 0xe9, 0x2b, 0xe7, 0x4b, 0x07, 0xab, 0xbd, 0xb4, 0x8d, 0x3b, 0xb6, 0x85, + 0x99, 0x3b, 0x8c, 0x22, 0x79, 0x57, 0x62, 0x79, 0xad, 0xf8, 0xeb, 0x18, 0x64, 0x57, 0xdd, 0x6e, + 0xd7, 0xa6, 0xd4, 0x76, 0x1d, 0x1d, 0x33, 0x42, 0xd1, 0x7b, 0x90, 0xf0, 0x30, 0x23, 0xe2, 0x64, + 0xa9, 0xca, 0x55, 0xce, 0xf8, 0xc5, 0xe3, 0x85, 0xb3, 0x72, 0x0b, 0x6a, 0xed, 0x96, 0x6c, 0xb7, + 0xdc, 0xc5, 0x6c, 0xa7, 0xf4, 0x01, 0x69, 0x63, 0x73, 0x50, 0x25, 0xe6, 0xa3, 0x07, 0x97, 0x41, + 0x9d, 0xa0, 0x4a, 0x4c, 0xb9, 0x8b, 0xc0, 0x40, 0xdf, 0x87, 0xa9, 0x2e, 0xbe, 0x63, 0x08, 0xbc, + 0xd8, 0x0b, 0xe1, 0x4d, 0x76, 0xf1, 0x1d, 0x7e, 0x3e, 0xf4, 0x21, 0x64, 0x39, 0xa4, 0xb9, 0x83, + 0x9d, 0x36, 0x91, 0xc8, 0xf1, 0x17, 0x42, 0xce, 0x74, 0xf1, 0x9d, 0x55, 0x81, 0xc6, 0xf1, 0x57, + 0x12, 0x5f, 0xdd, 0x5f, 0xd0, 0x8a, 0x7f, 0xd0, 0x00, 0x42, 0xc5, 0x20, 0x0c, 0x39, 0x33, 0x18, + 0x89, 0x4d, 0xa9, 0xb2, 0xdc, 0x9b, 0xe3, 0x74, 0xbf, 0x4f, 0xad, 0x95, 0x0c, 0x3f, 0xde, 0xc3, + 0xc7, 0x0b, 0x9a, 0xdc, 0x35, 0x6b, 0x8e, 0xa8, 0x3d, 0xdd, 0xef, 0x59, 0x98, 0x11, 0x83, 0xfb, + 0x8f, 0xd0, 0x56, 0xfa, 0x4a, 0xa1, 0x24, 0x9d, 0xab, 0xe4, 0x3b, 0x57, 0x69, 0xcb, 0x77, 0x2e, + 0x09, 0xf8, 0xf1, 0xdf, 0x7c, 0x40, 0x90, 0xdc, 0x7c, 0x5d, 0xc9, 0xf0, 0x2f, 0x0d, 0xd2, 0x55, + 0x42, 0x4d, 0xcf, 0xee, 0x71, 0x77, 0x45, 0x79, 0x98, 0xec, 0xba, 0x8e, 0xbd, 0xab, 0xbc, 0x2e, + 0xa5, 0xfb, 0x43, 0x54, 0x80, 0x29, 0xdb, 0x22, 0x0e, 0xb3, 0xd9, 0x40, 0x9a, 0x49, 0x0f, 0xc6, + 0x9c, 0xeb, 0x36, 0x69, 0x52, 0xdb, 0xd7, 0xb3, 0xee, 0x0f, 0xd1, 0x45, 0xc8, 0x51, 0x62, 0xf6, + 0x3d, 0x9b, 0x0d, 0x0c, 0xd3, 0x75, 0x18, 0x36, 0x59, 0x3e, 0x21, 0x48, 0xb2, 0xfe, 0xfc, 0xaa, + 0x9c, 0xe6, 0x20, 0x16, 0x61, 0xd8, 0xee, 0xd0, 0xfc, 0x2b, 0x12, 0x44, 0x0d, 0xd1, 0x0d, 0x98, + 0xea, 0x12, 0x86, 0x2d, 0xcc, 0x70, 0x3e, 0x29, 0x64, 0x5e, 0x1c, 0xa7, 0xd1, 0x5b, 0x8a, 0x4e, + 0x38, 0xb3, 0x90, 0x7a, 0x42, 0x0f, 0x98, 0x95, 0xcc, 0x2d, 0x98, 0xf2, 0xc9, 0xd0, 0x1b, 0x90, + 0xed, 0x79, 0x6e, 0xcb, 0xee, 0x10, 0xa3, 0x67, 0x9b, 0x46, 0xdf, 0xb3, 0x95, 0xdc, 0x19, 0x35, + 0xbd, 0x69, 0x9b, 0x0d, 0xcf, 0x46, 0x6f, 0x01, 0xa2, 0xae, 0x69, 0xe3, 0x8e, 0xb1, 0x83, 0x1d, + 0xab, 0x43, 0x38, 0x25, 0x15, 0xa1, 0x95, 0xd2, 0x73, 0x72, 0xe5, 0xa6, 0x58, 0x68, 0x78, 0x36, + 0x55, 0xfb, 0xdc, 0x9b, 0x84, 0x54, 0x10, 0x5d, 0x68, 0x15, 0x72, 0x6e, 0x8f, 0x78, 0xfc, 0xdb, + 0xc0, 0x96, 0xe5, 0x11, 0x4a, 0x55, 0xf8, 0xe4, 0x1f, 0x3d, 0xb8, 0x7c, 0x52, 0xc9, 0x73, 0x4d, + 0xae, 0xd4, 0x99, 0x67, 0x3b, 0x6d, 0x3d, 0xeb, 0x73, 0xa8, 0x69, 0xf4, 0x23, 0xee, 0x63, 0x0e, + 0x25, 0x0e, 0xed, 0x53, 0xa3, 0xd7, 0x6f, 0xee, 0x92, 0x81, 0xf2, 0x82, 0x93, 0x23, 0x5e, 0x70, + 0xcd, 0x19, 0x54, 0xf2, 0x7f, 0x0a, 0xa1, 0x4d, 0x6f, 0xd0, 0x63, 0x6e, 0x69, 0xb3, 0xdf, 0x7c, + 0x9f, 0x0c, 0xb8, 0x6f, 0x29, 0x9c, 0x4d, 0x01, 0x83, 0x4e, 0x43, 0xf2, 0x67, 0xd8, 0xee, 0x10, + 0x4b, 0x98, 0x70, 0x4a, 0x57, 0x23, 0xb4, 0x02, 0x49, 0xca, 0x30, 0xeb, 0x53, 0x61, 0xb7, 0x99, + 0x2b, 0xc5, 0x71, 0xaa, 0xaf, 0xb8, 0x8e, 0x55, 0x17, 0x94, 0xba, 0xe2, 0x40, 0xab, 0x90, 0x64, + 0xee, 0x2e, 0x71, 0x94, 0x45, 0x2b, 0xdf, 0x52, 0xe1, 0x77, 0x6a, 0x34, 0xfc, 0x6a, 0x0e, 0x8b, + 0x04, 0x5e, 0xcd, 0x61, 0xba, 0x62, 0x45, 0x3f, 0x81, 0x9c, 0x45, 0x3a, 0xa4, 0x2d, 0x34, 0x47, + 0x77, 0xb0, 0x47, 0xa8, 0xf0, 0x82, 0x54, 0x65, 0xf9, 0xc8, 0xd1, 0xac, 0x67, 0x03, 0xa8, 0xba, + 0x40, 0x42, 0x9b, 0x90, 0xb6, 0x42, 0xff, 0xcf, 0x4f, 0x0a, 0x65, 0xbe, 0x36, 0x4e, 0xc6, 0x48, + 0xa8, 0x44, 0xd3, 0x65, 0x14, 0x82, 0xbb, 0x7c, 0xdf, 0x69, 0xba, 0x8e, 0x65, 0x3b, 0x6d, 0x63, + 0x87, 0xd8, 0xed, 0x1d, 0x96, 0x9f, 0x5a, 0xd4, 0x96, 0xe2, 0x7a, 0x36, 0x98, 0xbf, 0x29, 0xa6, + 0xd1, 0x26, 0xcc, 0x84, 0xa4, 0x22, 0xa4, 0x53, 0x47, 0x0d, 0xe9, 0x4c, 0x00, 0xc0, 0x49, 0xd0, + 0x2d, 0x80, 0x30, 0x69, 0xe4, 0x41, 0xa0, 0x15, 0x0f, 0x4f, 0x3f, 0x51, 0x61, 0x22, 0x00, 0xc8, + 0x81, 0x13, 0x5d, 0xdb, 0x31, 0x28, 0xe9, 0xb4, 0x0c, 0xa5, 0x39, 0x8e, 0x9b, 0x16, 0xea, 0x7f, + 0xf7, 0x08, 0xd6, 0xfc, 0xe2, 0xc1, 0xe5, 0xac, 0x1c, 0x5d, 0xa6, 0xd6, 0xee, 0xe2, 0xdb, 0xa5, + 0xef, 0x7c, 0x57, 0x9f, 0xed, 0xda, 0x4e, 0x9d, 0x74, 0x5a, 0xd5, 0x00, 0x18, 0xbd, 0x03, 0x67, + 0x43, 0x85, 0xb8, 0x8e, 0xb1, 0xe3, 0x76, 0x2c, 0xc3, 0x23, 0x2d, 0xc3, 0x74, 0xfb, 0x0e, 0xcb, + 0x4f, 0x0b, 0x35, 0x9e, 0x09, 0x48, 0x36, 0x9c, 0x9b, 0x6e, 0xc7, 0xd2, 0x49, 0x6b, 0x95, 0x2f, + 0xa3, 0xd7, 0x20, 0xd4, 0x86, 0x61, 0x5b, 0x34, 0x9f, 0x59, 0x8c, 0x2f, 0x25, 0xf4, 0xe9, 0x60, + 0xb2, 0x66, 0xd1, 0x95, 0xa9, 0x8f, 0xee, 0x2f, 0x4c, 0x7c, 0x75, 0x7f, 0x61, 0xa2, 0x78, 0x1d, + 0xa6, 0xb7, 0x71, 0x47, 0x85, 0x16, 0xa1, 0xe8, 0x2a, 0xa4, 0xb0, 0x3f, 0xc8, 0x6b, 0x3c, 0xb4, + 0x9f, 0x11, 0x9a, 0x21, 0x69, 0xf1, 0x77, 0x1a, 0x24, 0xab, 0xdb, 0x9b, 0xd8, 0xf6, 0xd0, 0x1a, + 0xcc, 0x86, 0xbe, 0xfa, 0xbc, 0x51, 0x1e, 0xba, 0xb7, 0x1f, 0xe6, 0xeb, 0x30, 0xbb, 0xe7, 0x27, + 0x8e, 0x00, 0x46, 0xd6, 0xc6, 0xf3, 0x8f, 0x1e, 0x5c, 0x3e, 0xa7, 0x60, 0x82, 0xe4, 0xb2, 0x0f, + 0x6f, 0x6f, 0xdf, 0x7c, 0x44, 0xe6, 0xf7, 0x60, 0x52, 0x1e, 0x95, 0xa2, 0xef, 0xc1, 0x2b, 0x3d, + 0xfe, 0x21, 0x44, 0x4d, 0x5f, 0x99, 0x1f, 0xeb, 0xf3, 0x82, 0x3e, 0xea, 0x21, 0x92, 0xaf, 0xf8, + 0xcb, 0x18, 0x40, 0x75, 0x7b, 0x7b, 0xcb, 0xb3, 0x7b, 0x1d, 0xc2, 0x5e, 0x96, 0xec, 0x0d, 0x38, + 0x15, 0xca, 0x4e, 0x3d, 0xf3, 0xe8, 0xf2, 0x9f, 0x08, 0xf8, 0xeb, 0x9e, 0x79, 0x20, 0xac, 0x45, + 0x59, 0x00, 0x1b, 0x3f, 0x3a, 0x6c, 0x95, 0xb2, 0x51, 0xcd, 0xfe, 0x10, 0xd2, 0xa1, 0x32, 0x28, + 0xaa, 0xc1, 0x14, 0x53, 0xdf, 0x4a, 0xc1, 0xc5, 0xf1, 0x0a, 0xf6, 0xd9, 0xa2, 0x4a, 0x0e, 0xd8, + 0x8b, 0xff, 0xd1, 0x00, 0x22, 0x31, 0xf2, 0xcd, 0xf4, 0x31, 0x54, 0x83, 0xa4, 0x4a, 0xce, 0xf1, + 0xe3, 0x26, 0x67, 0x05, 0x10, 0x51, 0xea, 0xaf, 0x62, 0x70, 0xa2, 0xe1, 0x47, 0xef, 0x37, 0x5f, + 0x07, 0x0d, 0x98, 0x24, 0x0e, 0xf3, 0x6c, 0xa1, 0x04, 0x6e, 0xf3, 0xb7, 0xc7, 0xd9, 0xfc, 0x00, + 0xa1, 0xd6, 0x1c, 0xe6, 0x0d, 0xa2, 0x1e, 0xe0, 0x63, 0x45, 0xf4, 0xf1, 0x69, 0x1c, 0xf2, 0xe3, + 0x58, 0xd1, 0x9b, 0x90, 0x35, 0x3d, 0x22, 0x26, 0xfc, 0xba, 0xa3, 0x89, 0x84, 0x39, 0xe3, 0x4f, + 0xab, 0xb2, 0xa3, 0x03, 0xbf, 0x59, 0x72, 0xe7, 0xe2, 0xa4, 0xc7, 0xbb, 0x4a, 0xce, 0x84, 0x08, + 0xa2, 0xf0, 0x6c, 0x41, 0xd6, 0x76, 0x6c, 0xc6, 0x6f, 0x48, 0x4d, 0xdc, 0xc1, 0x8e, 0xe9, 0x5f, + 0xb9, 0x8f, 0x54, 0xf3, 0x67, 0x14, 0x46, 0x45, 0x42, 0xa0, 0x35, 0x98, 0xf4, 0xd1, 0x12, 0x47, + 0x47, 0xf3, 0x79, 0xd1, 0xeb, 0x30, 0x1d, 0x2d, 0x0c, 0xe2, 0x36, 0x92, 0xa8, 0xc4, 0xf2, 0x9a, + 0x9e, 0x8e, 0xd4, 0x86, 0xc3, 0xaa, 0x4f, 0xf2, 0x99, 0xd5, 0x47, 0x5d, 0xfa, 0x3e, 0x8d, 0xc3, + 0xac, 0x4e, 0xac, 0xff, 0x7d, 0xd3, 0x6c, 0x02, 0xc8, 0x70, 0xe5, 0xd9, 0x54, 0x59, 0xe7, 0x18, + 0x31, 0x9f, 0x92, 0x20, 0x55, 0xca, 0xd0, 0xf9, 0x83, 0xac, 0xf4, 0xf2, 0x2d, 0xf4, 0xd7, 0x18, + 0x4c, 0x47, 0x2d, 0xf4, 0x7f, 0x59, 0xb8, 0xd0, 0x7a, 0x98, 0xaa, 0x12, 0x22, 0x55, 0x5d, 0x1c, + 0x97, 0xaa, 0x46, 0xbc, 0xf9, 0x90, 0x1c, 0xf5, 0x75, 0x1c, 0x92, 0x9b, 0xd8, 0xc3, 0x5d, 0x8a, + 0x36, 0x46, 0xee, 0xb7, 0x7e, 0x2b, 0x63, 0xbf, 0x33, 0x57, 0x55, 0xbf, 0x44, 0xfa, 0xf2, 0x27, + 0xe3, 0xae, 0xb7, 0xaf, 0xc3, 0x0c, 0x7f, 0xd8, 0x07, 0x02, 0x49, 0xe5, 0x66, 0xc4, 0xfb, 0x3c, + 0x90, 0x9e, 0xa2, 0x05, 0x48, 0x73, 0xb2, 0x30, 0x17, 0x73, 0x1a, 0xe8, 0xe2, 0x3b, 0x6b, 0x72, + 0x06, 0x2d, 0x03, 0xda, 0x09, 0xba, 0x2d, 0x46, 0xa8, 0x08, 0x6d, 0x29, 0x23, 0xd2, 0xc2, 0x6c, + 0xb8, 0xea, 0xb3, 0x9c, 0x03, 0xe0, 0x27, 0x31, 0x2c, 0xe2, 0xb8, 0x5d, 0xf5, 0x42, 0x4d, 0xf1, + 0x99, 0x2a, 0x9f, 0x40, 0xbf, 0xd0, 0xe4, 0x55, 0x79, 0x5f, 0x0b, 0x40, 0xbd, 0x54, 0xb6, 0x9e, + 0x23, 0x30, 0xfe, 0xfd, 0x78, 0xa1, 0x30, 0xc0, 0xdd, 0xce, 0x4a, 0xf1, 0x00, 0x9c, 0xe2, 0x41, + 0x5d, 0x09, 0x7e, 0x81, 0x1e, 0x6e, 0x21, 0xa0, 0x1a, 0xe4, 0x76, 0xc9, 0xc0, 0xf0, 0x5c, 0x26, + 0x93, 0x4d, 0x8b, 0x10, 0xf5, 0xa6, 0x99, 0xf3, 0xed, 0xdb, 0xc4, 0x94, 0x44, 0x9e, 0x00, 0xb6, + 0x53, 0x49, 0xf0, 0xd3, 0xe9, 0x33, 0xbb, 0x64, 0xa0, 0x2b, 0xbe, 0xeb, 0x84, 0xac, 0x5c, 0xe0, + 0xd1, 0x72, 0xf7, 0xcb, 0xcf, 0x2e, 0x9d, 0x0d, 0x2f, 0xee, 0xe5, 0x3b, 0x41, 0x73, 0x4f, 0x9a, + 0x98, 0x5f, 0x7e, 0x51, 0x58, 0x88, 0x74, 0x42, 0x7b, 0xfc, 0x5d, 0xc9, 0xdf, 0x21, 0x91, 0xf7, + 0x82, 0xf6, 0xec, 0x77, 0x48, 0xc8, 0x3f, 0xf4, 0x0e, 0x89, 0x84, 0xe8, 0xbb, 0x61, 0x1d, 0x88, + 0x1d, 0x26, 0x4d, 0xd4, 0x3b, 0x15, 0x93, 0x88, 0xfc, 0x89, 0xe2, 0x9f, 0x35, 0x98, 0x1b, 0xf1, + 0xe6, 0xe0, 0xc8, 0x26, 0x20, 0x2f, 0xb2, 0x28, 0xbc, 0x62, 0xa0, 0x8e, 0x7e, 0xbc, 0xe0, 0x98, + 0xf5, 0x46, 0x0a, 0xc1, 0xcb, 0x29, 0x68, 0x2a, 0x93, 0xfd, 0x51, 0x83, 0x93, 0xd1, 0x03, 0x04, + 0xa2, 0xd4, 0x61, 0x3a, 0xba, 0xb5, 0x12, 0xe2, 0xc2, 0xf3, 0x08, 0x11, 0x3d, 0xff, 0x10, 0x08, + 0xda, 0x0e, 0x33, 0x86, 0x6c, 0x29, 0x2e, 0x3f, 0xb7, 0x52, 0xfc, 0x83, 0x1d, 0x98, 0x39, 0xa4, + 0x6d, 0xbe, 0xd6, 0x20, 0xb1, 0xe9, 0xba, 0x1d, 0xf4, 0x73, 0x98, 0x75, 0x5c, 0x66, 0xf0, 0xc8, + 0x22, 0x96, 0xa1, 0xda, 0x07, 0x32, 0x1b, 0xaf, 0x3d, 0x53, 0x57, 0xff, 0x78, 0xbc, 0x30, 0xca, + 0x39, 0xac, 0x40, 0xd5, 0x56, 0x73, 0x5c, 0x56, 0x11, 0x44, 0x5b, 0xb2, 0xc3, 0xd0, 0x82, 0xcc, + 0xf0, 0x76, 0x32, 0x63, 0x5f, 0x3b, 0x6c, 0xbb, 0xcc, 0xa1, 0x5b, 0x4d, 0x37, 0x23, 0xfb, 0xac, + 0x4c, 0x71, 0xab, 0xfd, 0x93, 0x5b, 0xee, 0x43, 0xc8, 0x05, 0xe9, 0xaa, 0x21, 0x7a, 0x72, 0x14, + 0x5d, 0x87, 0x49, 0xd9, 0x9e, 0xf3, 0x1f, 0x0c, 0xe7, 0xc3, 0x86, 0x2f, 0x6e, 0x9a, 0x76, 0x69, + 0x2f, 0xd2, 0xac, 0x95, 0x4c, 0x43, 0xfa, 0x54, 0xcc, 0xa2, 0x67, 0xfb, 0x30, 0x06, 0x73, 0xab, + 0xae, 0x43, 0x55, 0xb3, 0x47, 0x45, 0xb5, 0x6c, 0x30, 0x0f, 0xd0, 0xc5, 0x31, 0xad, 0xa8, 0xe9, + 0xd1, 0x86, 0xd3, 0x36, 0x64, 0x79, 0x89, 0x35, 0x5d, 0xe7, 0x05, 0xfb, 0x4d, 0x19, 0xb7, 0x63, + 0xa9, 0x13, 0xed, 0x92, 0x01, 0xc7, 0x75, 0xc8, 0xed, 0x21, 0xdc, 0xf8, 0xf1, 0x70, 0x1d, 0x72, + 0x3b, 0x82, 0x7b, 0x1a, 0x92, 0xea, 0x7e, 0x95, 0x10, 0xb7, 0x07, 0x35, 0x42, 0x57, 0x21, 0xce, + 0x53, 0xe1, 0x2b, 0x47, 0x48, 0x1e, 0x9c, 0x21, 0x52, 0xd6, 0xea, 0x30, 0xa7, 0xba, 0x05, 0x74, + 0xa3, 0x25, 0x34, 0x4a, 0x84, 0x40, 0xef, 0x93, 0xc1, 0x01, 0xad, 0x83, 0xe9, 0xe7, 0x6a, 0x1d, + 0x5c, 0xfa, 0xbd, 0x06, 0x10, 0xf6, 0xcd, 0xd0, 0x5b, 0x70, 0xa6, 0xb2, 0xb1, 0x5e, 0x35, 0xea, + 0x5b, 0xd7, 0xb6, 0x1a, 0x75, 0xa3, 0xb1, 0x5e, 0xdf, 0x5c, 0x5b, 0xad, 0x5d, 0xaf, 0xad, 0x55, + 0x73, 0x13, 0x85, 0xec, 0xdd, 0x7b, 0x8b, 0xe9, 0x86, 0x43, 0x7b, 0xc4, 0xb4, 0x5b, 0x36, 0xb1, + 0xd0, 0x1b, 0x70, 0x72, 0x98, 0x9a, 0x8f, 0xd6, 0xaa, 0x39, 0xad, 0x30, 0x7d, 0xf7, 0xde, 0xe2, + 0x94, 0x7c, 0x27, 0x10, 0x0b, 0x2d, 0xc1, 0xa9, 0x51, 0xba, 0xda, 0xfa, 0x8d, 0x5c, 0xac, 0x90, + 0xb9, 0x7b, 0x6f, 0x31, 0x15, 0x3c, 0x28, 0x50, 0x11, 0x50, 0x94, 0x52, 0xe1, 0xc5, 0x0b, 0x70, + 0xf7, 0xde, 0x62, 0x52, 0x86, 0x4c, 0x21, 0xf1, 0xd1, 0x6f, 0xe6, 0x27, 0x2e, 0xfd, 0x14, 0xa0, + 0xe6, 0xb4, 0x3c, 0x6c, 0x8a, 0xd4, 0x50, 0x80, 0xd3, 0xb5, 0xf5, 0xeb, 0xfa, 0xb5, 0xd5, 0xad, + 0xda, 0xc6, 0xfa, 0xf0, 0xb1, 0xf7, 0xad, 0x55, 0x37, 0x1a, 0x95, 0x0f, 0xd6, 0x8c, 0x7a, 0xed, + 0xc6, 0x7a, 0x4e, 0x43, 0x67, 0xe0, 0xc4, 0xd0, 0xda, 0x0f, 0xd6, 0xb7, 0x6a, 0xb7, 0xd6, 0x72, + 0xb1, 0xca, 0xd5, 0xcf, 0x9f, 0xcc, 0x6b, 0x0f, 0x9f, 0xcc, 0x6b, 0x7f, 0x7f, 0x32, 0xaf, 0x7d, + 0xfc, 0x74, 0x7e, 0xe2, 0xe1, 0xd3, 0xf9, 0x89, 0xbf, 0x3c, 0x9d, 0x9f, 0xf8, 0xf1, 0xab, 0x43, + 0xc1, 0x18, 0x96, 0x23, 0xf1, 0x97, 0x48, 0x33, 0x29, 0xbc, 0xe6, 0xdb, 0xff, 0x0d, 0x00, 0x00, + 0xff, 0xff, 0x54, 0xe6, 0x7d, 0x82, 0x8a, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1593,750 +1594,750 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 11880 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6b, 0x94, 0x24, 0xd7, - 0x59, 0xd8, 0x56, 0x77, 0x4f, 0x4f, 0xf7, 0xd7, 0xaf, 0x9a, 0x3b, 0xb3, 0xbb, 0xb3, 0xb3, 0xd2, - 0xce, 0x6c, 0xad, 0xa4, 0x5d, 0xad, 0xa4, 0x59, 0xed, 0x4a, 0xbb, 0x92, 0x5a, 0x96, 0x44, 0xf7, - 0x4c, 0xef, 0x6c, 0xaf, 0xe6, 0xe5, 0xea, 0x9e, 0xb5, 0x24, 0x1e, 0x45, 0x4d, 0xf5, 0x9d, 0x99, - 0xd2, 0x76, 0x57, 0xb5, 0xab, 0xaa, 0x77, 0x77, 0x94, 0x73, 0x72, 0x4c, 0xc0, 0x8e, 0x11, 0x8f, - 0x98, 0x40, 0xc0, 0xd8, 0x5e, 0x23, 0x20, 0x60, 0x1b, 0x02, 0x81, 0xd8, 0x10, 0x1c, 0x4e, 0x1e, - 0xe4, 0x24, 0x04, 0xc8, 0x09, 0x71, 0xf8, 0x11, 0x38, 0x9c, 0x83, 0x02, 0x36, 0xe7, 0xe0, 0x60, - 0x43, 0x80, 0x18, 0x0e, 0x27, 0x3e, 0xc9, 0xc9, 0xb9, 0xaf, 0x7a, 0x74, 0x57, 0x4f, 0xf7, 0xac, - 0x24, 0x43, 0x20, 0x7f, 0x76, 0xa7, 0xee, 0xfd, 0xbe, 0xef, 0xde, 0xfb, 0xdd, 0xef, 0x7e, 0xaf, - 0xfb, 0x68, 0xf8, 0xbd, 0xab, 0xb0, 0xb0, 0x6b, 0xdb, 0xbb, 0x6d, 0x7c, 0xa1, 0xeb, 0xd8, 0x9e, - 0xbd, 0xdd, 0xdb, 0xb9, 0xd0, 0xc2, 0xae, 0xe1, 0x98, 0x5d, 0xcf, 0x76, 0x16, 0x69, 0x19, 0x2a, - 0x31, 0x88, 0x45, 0x01, 0xa1, 0xac, 0xc1, 0xd4, 0x55, 0xb3, 0x8d, 0x97, 0x7d, 0xc0, 0x06, 0xf6, - 0xd0, 0xd3, 0x90, 0xda, 0x31, 0xdb, 0x78, 0x56, 0x5a, 0x48, 0x9e, 0xcb, 0x5d, 0x7a, 0x60, 0xb1, - 0x0f, 0x69, 0x31, 0x8a, 0xb1, 0x49, 0x8a, 0x55, 0x8a, 0xa1, 0xfc, 0x9f, 0x14, 0x4c, 0xc7, 0xd4, - 0x22, 0x04, 0x29, 0x4b, 0xef, 0x10, 0x8a, 0xd2, 0xb9, 0xac, 0x4a, 0xff, 0x46, 0xb3, 0x30, 0xd9, - 0xd5, 0x8d, 0x9b, 0xfa, 0x2e, 0x9e, 0x4d, 0xd0, 0x62, 0xf1, 0x89, 0x4e, 0x01, 0xb4, 0x70, 0x17, - 0x5b, 0x2d, 0x6c, 0x19, 0xfb, 0xb3, 0xc9, 0x85, 0xe4, 0xb9, 0xac, 0x1a, 0x2a, 0x41, 0x8f, 0xc0, - 0x54, 0xb7, 0xb7, 0xdd, 0x36, 0x0d, 0x2d, 0x04, 0x06, 0x0b, 0xc9, 0x73, 0x13, 0xaa, 0xcc, 0x2a, - 0x96, 0x03, 0xe0, 0xb3, 0x50, 0xba, 0x8d, 0xf5, 0x9b, 0x61, 0xd0, 0x1c, 0x05, 0x2d, 0x92, 0xe2, - 0x10, 0xe0, 0x12, 0xe4, 0x3b, 0xd8, 0x75, 0xf5, 0x5d, 0xac, 0x79, 0xfb, 0x5d, 0x3c, 0x9b, 0xa2, - 0xa3, 0x5f, 0x18, 0x18, 0x7d, 0xff, 0xc8, 0x73, 0x1c, 0xab, 0xb9, 0xdf, 0xc5, 0xa8, 0x02, 0x59, - 0x6c, 0xf5, 0x3a, 0x8c, 0xc2, 0xc4, 0x10, 0xfe, 0xd5, 0xac, 0x5e, 0xa7, 0x9f, 0x4a, 0x86, 0xa0, - 0x71, 0x12, 0x93, 0x2e, 0x76, 0x6e, 0x99, 0x06, 0x9e, 0x4d, 0x53, 0x02, 0x67, 0x07, 0x08, 0x34, - 0x58, 0x7d, 0x3f, 0x0d, 0x81, 0x87, 0x96, 0x20, 0x8b, 0xef, 0x78, 0xd8, 0x72, 0x4d, 0xdb, 0x9a, - 0x9d, 0xa4, 0x44, 0x1e, 0x8c, 0x99, 0x45, 0xdc, 0x6e, 0xf5, 0x93, 0x08, 0xf0, 0xd0, 0x15, 0x98, - 0xb4, 0xbb, 0x9e, 0x69, 0x5b, 0xee, 0x6c, 0x66, 0x41, 0x3a, 0x97, 0xbb, 0x74, 0x5f, 0xac, 0x20, - 0x6c, 0x30, 0x18, 0x55, 0x00, 0xa3, 0x3a, 0xc8, 0xae, 0xdd, 0x73, 0x0c, 0xac, 0x19, 0x76, 0x0b, - 0x6b, 0xa6, 0xb5, 0x63, 0xcf, 0x66, 0x29, 0x81, 0xf9, 0xc1, 0x81, 0x50, 0xc0, 0x25, 0xbb, 0x85, - 0xeb, 0xd6, 0x8e, 0xad, 0x16, 0xdd, 0xc8, 0x37, 0x3a, 0x06, 0x69, 0x77, 0xdf, 0xf2, 0xf4, 0x3b, - 0xb3, 0x79, 0x2a, 0x21, 0xfc, 0x8b, 0x88, 0x0e, 0x6e, 0x99, 0xa4, 0xb9, 0xd9, 0x02, 0x13, 0x1d, - 0xfe, 0xa9, 0x7c, 0x36, 0x0d, 0xa5, 0x71, 0x84, 0xef, 0x59, 0x98, 0xd8, 0x21, 0xe3, 0x9f, 0x4d, - 0x1c, 0x86, 0x3b, 0x0c, 0x27, 0xca, 0xde, 0xf4, 0x3d, 0xb2, 0xb7, 0x02, 0x39, 0x0b, 0xbb, 0x1e, - 0x6e, 0x31, 0x59, 0x49, 0x8e, 0x29, 0x6d, 0xc0, 0x90, 0x06, 0x85, 0x2d, 0x75, 0x4f, 0xc2, 0xf6, - 0x12, 0x94, 0xfc, 0x2e, 0x69, 0x8e, 0x6e, 0xed, 0x0a, 0xa9, 0xbd, 0x30, 0xaa, 0x27, 0x8b, 0x35, - 0x81, 0xa7, 0x12, 0x34, 0xb5, 0x88, 0x23, 0xdf, 0x68, 0x19, 0xc0, 0xb6, 0xb0, 0xbd, 0xa3, 0xb5, - 0xb0, 0xd1, 0x9e, 0xcd, 0x0c, 0xe1, 0xd2, 0x06, 0x01, 0x19, 0xe0, 0x92, 0xcd, 0x4a, 0x8d, 0x36, - 0x7a, 0x26, 0x10, 0xc2, 0xc9, 0x21, 0x32, 0xb4, 0xc6, 0x96, 0xdf, 0x80, 0x1c, 0x6e, 0x41, 0xd1, - 0xc1, 0x64, 0x45, 0xe0, 0x16, 0x1f, 0x59, 0x96, 0x76, 0x62, 0x71, 0xe4, 0xc8, 0x54, 0x8e, 0xc6, - 0x06, 0x56, 0x70, 0xc2, 0x9f, 0xe8, 0x0c, 0xf8, 0x05, 0x1a, 0x15, 0x2b, 0xa0, 0xfa, 0x29, 0x2f, - 0x0a, 0xd7, 0xf5, 0x0e, 0x9e, 0x7b, 0x0d, 0x8a, 0x51, 0xf6, 0xa0, 0x19, 0x98, 0x70, 0x3d, 0xdd, - 0xf1, 0xa8, 0x14, 0x4e, 0xa8, 0xec, 0x03, 0xc9, 0x90, 0xc4, 0x56, 0x8b, 0xea, 0xbf, 0x09, 0x95, - 0xfc, 0x89, 0xbe, 0x2e, 0x18, 0x70, 0x92, 0x0e, 0xf8, 0xa1, 0xc1, 0x19, 0x8d, 0x50, 0xee, 0x1f, - 0xf7, 0xdc, 0x53, 0x50, 0x88, 0x0c, 0x60, 0xdc, 0xa6, 0x95, 0x9f, 0x4a, 0xc1, 0xd1, 0x58, 0xda, - 0xe8, 0x25, 0x98, 0xe9, 0x59, 0xa6, 0xe5, 0x61, 0xa7, 0xeb, 0x60, 0x22, 0xb2, 0xac, 0xad, 0xd9, - 0x3f, 0x98, 0x1c, 0x22, 0x74, 0x5b, 0x61, 0x68, 0x46, 0x45, 0x9d, 0xee, 0x0d, 0x16, 0xa2, 0x97, - 0x21, 0x47, 0xe4, 0x43, 0x77, 0x74, 0x4a, 0x90, 0xad, 0xc6, 0x4b, 0xe3, 0x0d, 0x79, 0x71, 0x39, - 0xc0, 0xac, 0x26, 0x3f, 0x28, 0x25, 0xd4, 0x30, 0x2d, 0xb4, 0x07, 0xf9, 0x5b, 0xd8, 0x31, 0x77, - 0x4c, 0x83, 0xd1, 0x26, 0xec, 0x2c, 0x5e, 0x7a, 0x7a, 0x4c, 0xda, 0x37, 0x42, 0xa8, 0x0d, 0x4f, - 0xf7, 0x70, 0x19, 0xb6, 0xd6, 0x6f, 0xd4, 0xd4, 0xfa, 0xd5, 0x7a, 0x6d, 0x59, 0x8d, 0x50, 0x9e, - 0xfb, 0xb4, 0x04, 0xb9, 0x50, 0x5f, 0x88, 0xda, 0xb2, 0x7a, 0x9d, 0x6d, 0xec, 0x70, 0x8e, 0xf3, - 0x2f, 0x74, 0x12, 0xb2, 0x3b, 0xbd, 0x76, 0x9b, 0x89, 0x0d, 0xb3, 0x79, 0x19, 0x52, 0x40, 0x44, - 0x86, 0x68, 0x29, 0xae, 0x08, 0xa8, 0x96, 0x22, 0x7f, 0xa3, 0x33, 0x90, 0x33, 0x5d, 0xcd, 0xc1, - 0x5d, 0xac, 0x7b, 0xb8, 0x35, 0x9b, 0x5a, 0x90, 0xce, 0x65, 0xaa, 0x89, 0x59, 0x49, 0x05, 0xd3, - 0x55, 0x79, 0x29, 0x9a, 0x83, 0x8c, 0x90, 0xbd, 0xd9, 0x09, 0x02, 0xa1, 0xfa, 0xdf, 0xac, 0x8e, - 0x63, 0xa7, 0x45, 0x1d, 0xfb, 0x56, 0x9e, 0x84, 0xa9, 0x81, 0x41, 0xa2, 0x12, 0xe4, 0x96, 0x6b, - 0x4b, 0xab, 0x15, 0xb5, 0xd2, 0xac, 0x6f, 0xac, 0xcb, 0x47, 0x50, 0x11, 0x42, 0xe3, 0x96, 0xa5, - 0xf3, 0xd9, 0xcc, 0x17, 0x27, 0xe5, 0xf7, 0xbd, 0xef, 0x7d, 0xef, 0x4b, 0x28, 0xbf, 0x94, 0x86, - 0x99, 0x38, 0x2d, 0x17, 0xab, 0x70, 0x03, 0x9e, 0x24, 0x23, 0x3c, 0xa9, 0xc0, 0x44, 0x5b, 0xdf, - 0xc6, 0x6d, 0x3a, 0xb8, 0xe2, 0xa5, 0x47, 0xc6, 0xd2, 0xa3, 0x8b, 0xab, 0x04, 0x45, 0x65, 0x98, - 0xe8, 0x79, 0xce, 0xb9, 0x09, 0x4a, 0xe1, 0xfc, 0x78, 0x14, 0x88, 0xf6, 0xe3, 0x5c, 0x3e, 0x09, - 0x59, 0xf2, 0x3f, 0x9b, 0x96, 0x34, 0x9b, 0x16, 0x52, 0x40, 0xa7, 0x65, 0x0e, 0x32, 0x54, 0xb1, - 0xb5, 0xb0, 0x3f, 0x65, 0xe2, 0x9b, 0xa8, 0x82, 0x16, 0xde, 0xd1, 0x7b, 0x6d, 0x4f, 0xbb, 0xa5, - 0xb7, 0x7b, 0x98, 0xaa, 0xa8, 0xac, 0x9a, 0xe7, 0x85, 0x37, 0x48, 0x19, 0x9a, 0x87, 0x1c, 0xd3, - 0x83, 0xa6, 0xd5, 0xc2, 0x77, 0xa8, 0x25, 0x9c, 0x50, 0x99, 0x6a, 0xac, 0x93, 0x12, 0xd2, 0xfc, - 0xab, 0xae, 0x6d, 0x09, 0x65, 0x42, 0x9b, 0x20, 0x05, 0xb4, 0xf9, 0xa7, 0xfa, 0x8d, 0xf0, 0xfd, - 0xf1, 0xc3, 0x1b, 0xd0, 0x7e, 0x67, 0xa1, 0x44, 0x21, 0x9e, 0xe0, 0x6b, 0x55, 0x6f, 0xcf, 0x4e, - 0x51, 0x01, 0x28, 0xb2, 0xe2, 0x0d, 0x5e, 0xaa, 0xfc, 0x7c, 0x02, 0x52, 0xd4, 0x14, 0x94, 0x20, - 0xd7, 0x7c, 0x79, 0xb3, 0xa6, 0x2d, 0x6f, 0x6c, 0x55, 0x57, 0x6b, 0xb2, 0x44, 0xa6, 0x9e, 0x16, - 0x5c, 0x5d, 0xdd, 0xa8, 0x34, 0xe5, 0x84, 0xff, 0x5d, 0x5f, 0x6f, 0x5e, 0x79, 0x52, 0x4e, 0xfa, - 0x08, 0x5b, 0xac, 0x20, 0x15, 0x06, 0x78, 0xe2, 0x92, 0x3c, 0x81, 0x64, 0xc8, 0x33, 0x02, 0xf5, - 0x97, 0x6a, 0xcb, 0x57, 0x9e, 0x94, 0xd3, 0xd1, 0x92, 0x27, 0x2e, 0xc9, 0x93, 0xa8, 0x00, 0x59, - 0x5a, 0x52, 0xdd, 0xd8, 0x58, 0x95, 0x33, 0x3e, 0xcd, 0x46, 0x53, 0xad, 0xaf, 0xaf, 0xc8, 0x59, - 0x9f, 0xe6, 0x8a, 0xba, 0xb1, 0xb5, 0x29, 0x83, 0x4f, 0x61, 0xad, 0xd6, 0x68, 0x54, 0x56, 0x6a, - 0x72, 0xce, 0x87, 0xa8, 0xbe, 0xdc, 0xac, 0x35, 0xe4, 0x7c, 0xa4, 0x5b, 0x4f, 0x5c, 0x92, 0x0b, - 0x7e, 0x13, 0xb5, 0xf5, 0xad, 0x35, 0xb9, 0x88, 0xa6, 0xa0, 0xc0, 0x9a, 0x10, 0x9d, 0x28, 0xf5, - 0x15, 0x5d, 0x79, 0x52, 0x96, 0x83, 0x8e, 0x30, 0x2a, 0x53, 0x91, 0x82, 0x2b, 0x4f, 0xca, 0x48, - 0x59, 0x82, 0x09, 0x2a, 0x86, 0x08, 0x41, 0x71, 0xb5, 0x52, 0xad, 0xad, 0x6a, 0x1b, 0x9b, 0x64, - 0xd1, 0x54, 0x56, 0x65, 0x29, 0x28, 0x53, 0x6b, 0xef, 0xde, 0xaa, 0xab, 0xb5, 0x65, 0x39, 0x11, - 0x2e, 0xdb, 0xac, 0x55, 0x9a, 0xb5, 0x65, 0x39, 0xa9, 0x18, 0x30, 0x13, 0x67, 0x02, 0x63, 0x97, - 0x50, 0x48, 0x16, 0x12, 0x43, 0x64, 0x81, 0xd2, 0xea, 0x97, 0x05, 0xe5, 0x0b, 0x09, 0x98, 0x8e, - 0x71, 0x03, 0x62, 0x1b, 0x79, 0x01, 0x26, 0x98, 0x2c, 0x33, 0x55, 0xfc, 0x70, 0xac, 0x3f, 0x41, - 0x25, 0x7b, 0xc0, 0x39, 0xa2, 0x78, 0x61, 0xb7, 0x31, 0x39, 0xc4, 0x6d, 0x24, 0x24, 0x06, 0x04, - 0xf6, 0x1b, 0x07, 0xcc, 0x35, 0xf3, 0x68, 0xae, 0x8c, 0xe3, 0xd1, 0xd0, 0xb2, 0xc3, 0x99, 0xed, - 0x89, 0x18, 0xb3, 0xfd, 0x2c, 0x4c, 0x0d, 0x10, 0x1a, 0xdb, 0x7c, 0x7e, 0xab, 0x04, 0xb3, 0xc3, - 0x98, 0x33, 0x42, 0x25, 0x26, 0x22, 0x2a, 0xf1, 0xd9, 0x7e, 0x0e, 0x9e, 0x1e, 0x3e, 0x09, 0x03, - 0x73, 0xfd, 0x09, 0x09, 0x8e, 0xc5, 0x87, 0x07, 0xb1, 0x7d, 0x78, 0x1e, 0xd2, 0x1d, 0xec, 0xed, - 0xd9, 0xc2, 0x11, 0x7e, 0x28, 0xc6, 0xbd, 0x22, 0xd5, 0xfd, 0x93, 0xcd, 0xb1, 0xc2, 0xfe, 0x59, - 0x72, 0x98, 0x8f, 0xcf, 0x7a, 0x33, 0xd0, 0xd3, 0x6f, 0x4f, 0xc0, 0xd1, 0x58, 0xe2, 0xb1, 0x1d, - 0xbd, 0x1f, 0xc0, 0xb4, 0xba, 0x3d, 0x8f, 0x39, 0xbb, 0x4c, 0x13, 0x67, 0x69, 0x09, 0x55, 0x5e, - 0x44, 0xcb, 0xf6, 0x3c, 0xbf, 0x9e, 0x19, 0x51, 0x60, 0x45, 0x14, 0xe0, 0xe9, 0xa0, 0xa3, 0x29, - 0xda, 0xd1, 0x53, 0x43, 0x46, 0x3a, 0x20, 0x98, 0x8f, 0x83, 0x6c, 0xb4, 0x4d, 0x6c, 0x79, 0x9a, - 0xeb, 0x39, 0x58, 0xef, 0x98, 0xd6, 0x2e, 0xb3, 0xb3, 0xe5, 0x89, 0x1d, 0xbd, 0xed, 0x62, 0xb5, - 0xc4, 0xaa, 0x1b, 0xa2, 0x96, 0x60, 0x50, 0x01, 0x72, 0x42, 0x18, 0xe9, 0x08, 0x06, 0xab, 0xf6, - 0x31, 0x94, 0xef, 0xc9, 0x42, 0x2e, 0x14, 0x4c, 0xa1, 0xd3, 0x90, 0x7f, 0x55, 0xbf, 0xa5, 0x6b, - 0x22, 0x40, 0x66, 0x9c, 0xc8, 0x91, 0xb2, 0x4d, 0x1e, 0x24, 0x3f, 0x0e, 0x33, 0x14, 0xc4, 0xee, - 0x79, 0xd8, 0xd1, 0x8c, 0xb6, 0xee, 0xba, 0x94, 0x69, 0x19, 0x0a, 0x8a, 0x48, 0xdd, 0x06, 0xa9, - 0x5a, 0x12, 0x35, 0xe8, 0x32, 0x4c, 0x53, 0x8c, 0x4e, 0xaf, 0xed, 0x99, 0xdd, 0x36, 0xd6, 0x48, - 0xc8, 0xee, 0x52, 0x93, 0xe3, 0xf7, 0x6c, 0x8a, 0x40, 0xac, 0x71, 0x00, 0xd2, 0x23, 0x17, 0x2d, - 0xc3, 0xfd, 0x14, 0x6d, 0x17, 0x5b, 0xd8, 0xd1, 0x3d, 0xac, 0xe1, 0xf7, 0xf6, 0xf4, 0xb6, 0xab, - 0xe9, 0x56, 0x4b, 0xdb, 0xd3, 0xdd, 0xbd, 0xd9, 0x19, 0xdf, 0x2d, 0x39, 0x41, 0x00, 0x57, 0x38, - 0x5c, 0x8d, 0x82, 0x55, 0xac, 0xd6, 0x35, 0xdd, 0xdd, 0x43, 0x65, 0x38, 0x46, 0xa9, 0xb8, 0x9e, - 0x63, 0x5a, 0xbb, 0x9a, 0xb1, 0x87, 0x8d, 0x9b, 0x5a, 0xcf, 0xdb, 0x79, 0x7a, 0xf6, 0x64, 0xb8, - 0x7d, 0xda, 0xc3, 0x06, 0x85, 0x59, 0x22, 0x20, 0x5b, 0xde, 0xce, 0xd3, 0xa8, 0x01, 0x79, 0x32, - 0x19, 0x1d, 0xf3, 0x35, 0xac, 0xed, 0xd8, 0x0e, 0xb5, 0xa1, 0xc5, 0x18, 0xd5, 0x14, 0xe2, 0xe0, - 0xe2, 0x06, 0x47, 0x58, 0xb3, 0x5b, 0xb8, 0x3c, 0xd1, 0xd8, 0xac, 0xd5, 0x96, 0xd5, 0x9c, 0xa0, - 0x72, 0xd5, 0x76, 0x88, 0x40, 0xed, 0xda, 0x3e, 0x83, 0x73, 0x4c, 0xa0, 0x76, 0x6d, 0xc1, 0xde, - 0xcb, 0x30, 0x6d, 0x18, 0x6c, 0xcc, 0xa6, 0xa1, 0xf1, 0xc0, 0xda, 0x9d, 0x95, 0x23, 0xcc, 0x32, - 0x8c, 0x15, 0x06, 0xc0, 0x65, 0xdc, 0x45, 0xcf, 0xc0, 0xd1, 0x80, 0x59, 0x61, 0xc4, 0xa9, 0x81, - 0x51, 0xf6, 0xa3, 0x5e, 0x86, 0xe9, 0xee, 0xfe, 0x20, 0x22, 0x8a, 0xb4, 0xd8, 0xdd, 0xef, 0x47, - 0x7b, 0x0a, 0x66, 0xba, 0x7b, 0xdd, 0x41, 0xbc, 0xf3, 0x61, 0x3c, 0xd4, 0xdd, 0xeb, 0xf6, 0x23, - 0x3e, 0x48, 0xb3, 0x2c, 0x0e, 0x36, 0xa8, 0x77, 0x78, 0x3c, 0x0c, 0x1e, 0xaa, 0x40, 0x8b, 0x20, - 0x1b, 0x86, 0x86, 0x2d, 0x7d, 0xbb, 0x8d, 0x35, 0xdd, 0xc1, 0x96, 0xee, 0xce, 0xce, 0x53, 0xe0, - 0x94, 0xe7, 0xf4, 0xb0, 0x5a, 0x34, 0x8c, 0x1a, 0xad, 0xac, 0xd0, 0x3a, 0x74, 0x1e, 0xa6, 0xec, - 0xed, 0x57, 0x0d, 0x26, 0x91, 0x5a, 0xd7, 0xc1, 0x3b, 0xe6, 0x9d, 0xd9, 0x07, 0x28, 0x7b, 0x4b, - 0xa4, 0x82, 0xca, 0xe3, 0x26, 0x2d, 0x46, 0x0f, 0x83, 0x6c, 0xb8, 0x7b, 0xba, 0xd3, 0xa5, 0x2a, - 0xd9, 0xed, 0xea, 0x06, 0x9e, 0x7d, 0x90, 0x81, 0xb2, 0xf2, 0x75, 0x51, 0x4c, 0x56, 0x84, 0x7b, - 0xdb, 0xdc, 0xf1, 0x04, 0xc5, 0xb3, 0x6c, 0x45, 0xd0, 0x32, 0x4e, 0xed, 0x1c, 0xc8, 0x84, 0x13, - 0x91, 0x86, 0xcf, 0x51, 0xb0, 0x62, 0x77, 0xaf, 0x1b, 0x6e, 0xf7, 0x0c, 0x14, 0x08, 0x64, 0xd0, - 0xe8, 0xc3, 0xcc, 0x71, 0xeb, 0xee, 0x85, 0x5a, 0x7c, 0x12, 0x8e, 0x11, 0xa0, 0x0e, 0xf6, 0xf4, - 0x96, 0xee, 0xe9, 0x21, 0xe8, 0x47, 0x29, 0x34, 0x61, 0xfb, 0x1a, 0xaf, 0x8c, 0xf4, 0xd3, 0xe9, - 0x6d, 0xef, 0xfb, 0x82, 0xf5, 0x18, 0xeb, 0x27, 0x29, 0x13, 0xa2, 0xf5, 0x8e, 0x45, 0x53, 0x4a, - 0x19, 0xf2, 0x61, 0xb9, 0x47, 0x59, 0x60, 0x92, 0x2f, 0x4b, 0xc4, 0x09, 0x5a, 0xda, 0x58, 0x26, - 0xee, 0xcb, 0x2b, 0x35, 0x39, 0x41, 0xdc, 0xa8, 0xd5, 0x7a, 0xb3, 0xa6, 0xa9, 0x5b, 0xeb, 0xcd, - 0xfa, 0x5a, 0x4d, 0x4e, 0x86, 0x1c, 0xfb, 0xeb, 0xa9, 0xcc, 0x43, 0xf2, 0x59, 0xe5, 0x17, 0x93, - 0x50, 0x8c, 0xc6, 0xd6, 0xe8, 0x5d, 0x70, 0x5c, 0xa4, 0xc8, 0x5c, 0xec, 0x69, 0xb7, 0x4d, 0x87, - 0x2e, 0xc8, 0x8e, 0xce, 0x8c, 0xa3, 0x2f, 0x3f, 0x33, 0x1c, 0xaa, 0x81, 0xbd, 0xf7, 0x98, 0x0e, - 0x59, 0x6e, 0x1d, 0xdd, 0x43, 0xab, 0x30, 0x6f, 0xd9, 0x9a, 0xeb, 0xe9, 0x56, 0x4b, 0x77, 0x5a, - 0x5a, 0x90, 0x9c, 0xd4, 0x74, 0xc3, 0xc0, 0xae, 0x6b, 0x33, 0x43, 0xe8, 0x53, 0xb9, 0xcf, 0xb2, - 0x1b, 0x1c, 0x38, 0xb0, 0x10, 0x15, 0x0e, 0xda, 0x27, 0xbe, 0xc9, 0x61, 0xe2, 0x7b, 0x12, 0xb2, - 0x1d, 0xbd, 0xab, 0x61, 0xcb, 0x73, 0xf6, 0xa9, 0x7f, 0x9e, 0x51, 0x33, 0x1d, 0xbd, 0x5b, 0x23, - 0xdf, 0xe8, 0x06, 0x3c, 0x14, 0x80, 0x6a, 0x6d, 0xbc, 0xab, 0x1b, 0xfb, 0x1a, 0x75, 0xc6, 0x69, - 0xa2, 0x47, 0x33, 0x6c, 0x6b, 0xa7, 0x6d, 0x1a, 0x9e, 0x4b, 0xf5, 0x03, 0xd3, 0x71, 0x4a, 0x80, - 0xb1, 0x4a, 0x11, 0xae, 0xbb, 0xb6, 0x45, 0x7d, 0xf0, 0x25, 0x01, 0xfd, 0xce, 0xcd, 0x70, 0x74, - 0x96, 0x52, 0xf2, 0xc4, 0xf5, 0x54, 0x66, 0x42, 0x4e, 0x5f, 0x4f, 0x65, 0xd2, 0xf2, 0xe4, 0xf5, - 0x54, 0x26, 0x23, 0x67, 0xaf, 0xa7, 0x32, 0x59, 0x19, 0x94, 0xf7, 0x67, 0x21, 0x1f, 0x8e, 0x0c, - 0x48, 0xa0, 0x65, 0x50, 0xdb, 0x28, 0x51, 0xed, 0x79, 0xe6, 0xc0, 0x38, 0x62, 0x71, 0x89, 0x18, - 0xcd, 0x72, 0x9a, 0xb9, 0xe1, 0x2a, 0xc3, 0x24, 0x0e, 0x0b, 0x11, 0x6b, 0xcc, 0xdc, 0x9e, 0x8c, - 0xca, 0xbf, 0xd0, 0x0a, 0xa4, 0x5f, 0x75, 0x29, 0xed, 0x34, 0xa5, 0xfd, 0xc0, 0xc1, 0xb4, 0xaf, - 0x37, 0x28, 0xf1, 0xec, 0xf5, 0x86, 0xb6, 0xbe, 0xa1, 0xae, 0x55, 0x56, 0x55, 0x8e, 0x8e, 0x4e, - 0x40, 0xaa, 0xad, 0xbf, 0xb6, 0x1f, 0x35, 0xaf, 0xb4, 0x08, 0x2d, 0x42, 0xa9, 0x67, 0xb1, 0xa8, - 0x9b, 0x4c, 0x15, 0x81, 0x2a, 0x85, 0xa1, 0x8a, 0x41, 0xed, 0x2a, 0x81, 0x1f, 0x53, 0x3c, 0x4e, - 0x40, 0xea, 0x36, 0xd6, 0x6f, 0x46, 0x8d, 0x20, 0x2d, 0x42, 0xe7, 0x20, 0xdf, 0xc2, 0xdb, 0xbd, - 0x5d, 0xcd, 0xc1, 0x2d, 0xdd, 0xf0, 0xa2, 0xaa, 0x3f, 0x47, 0xab, 0x54, 0x5a, 0x83, 0x5e, 0x84, - 0x2c, 0x99, 0x23, 0x8b, 0xce, 0xf1, 0x14, 0x65, 0xc1, 0x63, 0x07, 0xb3, 0x80, 0x4f, 0xb1, 0x40, - 0x52, 0x03, 0x7c, 0x74, 0x1d, 0xd2, 0x9e, 0xee, 0xec, 0x62, 0x8f, 0x6a, 0xfe, 0x62, 0x4c, 0xba, - 0x2a, 0x86, 0x52, 0x93, 0x62, 0x10, 0xb6, 0x52, 0x19, 0xe5, 0x14, 0xd0, 0x35, 0x98, 0x64, 0x7f, - 0xb9, 0xb3, 0xd3, 0x0b, 0xc9, 0xc3, 0x13, 0x53, 0x05, 0xfa, 0x3b, 0xa8, 0xb3, 0x2e, 0xc0, 0x04, - 0x15, 0x36, 0x04, 0xc0, 0xc5, 0x4d, 0x3e, 0x82, 0x32, 0x90, 0x5a, 0xda, 0x50, 0x89, 0xde, 0x92, - 0x21, 0xcf, 0x4a, 0xb5, 0xcd, 0x7a, 0x6d, 0xa9, 0x26, 0x27, 0x94, 0xcb, 0x90, 0x66, 0x12, 0x44, - 0x74, 0x9a, 0x2f, 0x43, 0xf2, 0x11, 0xfe, 0xc9, 0x69, 0x48, 0xa2, 0x76, 0x6b, 0xad, 0x5a, 0x53, - 0xe5, 0x84, 0xb2, 0x05, 0xa5, 0x3e, 0xae, 0xa3, 0xa3, 0x30, 0xa5, 0xd6, 0x9a, 0xb5, 0x75, 0x12, - 0xb5, 0x69, 0x5b, 0xeb, 0x2f, 0xae, 0x6f, 0xbc, 0x67, 0x5d, 0x3e, 0x12, 0x2d, 0x16, 0x0a, 0x52, - 0x42, 0x33, 0x20, 0x07, 0xc5, 0x8d, 0x8d, 0x2d, 0x95, 0xf6, 0xe6, 0x3b, 0x13, 0x20, 0xf7, 0xb3, - 0x0d, 0x1d, 0x87, 0xe9, 0x66, 0x45, 0x5d, 0xa9, 0x35, 0x35, 0x16, 0x89, 0xfa, 0xa4, 0x67, 0x40, - 0x0e, 0x57, 0x5c, 0xad, 0xd3, 0x40, 0x7b, 0x1e, 0x4e, 0x86, 0x4b, 0x6b, 0x2f, 0x35, 0x6b, 0xeb, - 0x0d, 0xda, 0x78, 0x65, 0x7d, 0x85, 0x68, 0xeb, 0x3e, 0x7a, 0x22, 0xf6, 0x4d, 0x92, 0xae, 0x46, - 0xe9, 0xd5, 0x56, 0x97, 0xe5, 0x54, 0x7f, 0xf1, 0xc6, 0x7a, 0x6d, 0xe3, 0xaa, 0x3c, 0xd1, 0xdf, - 0x3a, 0x8d, 0x87, 0xd3, 0x68, 0x0e, 0x8e, 0xf5, 0x97, 0x6a, 0xb5, 0xf5, 0xa6, 0xfa, 0xb2, 0x3c, - 0xd9, 0xdf, 0x70, 0xa3, 0xa6, 0xde, 0xa8, 0x2f, 0xd5, 0xe4, 0x0c, 0x3a, 0x06, 0x28, 0xda, 0xa3, - 0xe6, 0xb5, 0x8d, 0x65, 0x39, 0x3b, 0xa0, 0x9f, 0x14, 0x17, 0xf2, 0xe1, 0xa0, 0xf4, 0x6b, 0xa2, - 0x1a, 0x95, 0x0f, 0x27, 0x20, 0x17, 0x0a, 0x32, 0x49, 0x74, 0xa0, 0xb7, 0xdb, 0xf6, 0x6d, 0x4d, - 0x6f, 0x9b, 0xba, 0xcb, 0xb5, 0x17, 0xd0, 0xa2, 0x0a, 0x29, 0x19, 0x57, 0x5b, 0x8c, 0x6f, 0x2f, - 0xd2, 0x7f, 0x1d, 0xed, 0xc5, 0x84, 0x9c, 0x56, 0x3e, 0x2e, 0x81, 0xdc, 0x1f, 0x3d, 0xf6, 0x0d, - 0x5f, 0x1a, 0x36, 0xfc, 0xaf, 0xc9, 0xdc, 0x7d, 0x4c, 0x82, 0x62, 0x34, 0x64, 0xec, 0xeb, 0xde, - 0xe9, 0xbf, 0xd2, 0xee, 0xfd, 0x6e, 0x02, 0x0a, 0x91, 0x40, 0x71, 0xdc, 0xde, 0xbd, 0x17, 0xa6, - 0xcc, 0x16, 0xee, 0x74, 0x6d, 0x0f, 0x5b, 0xc6, 0xbe, 0xd6, 0xc6, 0xb7, 0x70, 0x7b, 0x56, 0xa1, - 0x2a, 0xfe, 0xc2, 0xc1, 0xa1, 0xe8, 0x62, 0x3d, 0xc0, 0x5b, 0x25, 0x68, 0xe5, 0xe9, 0xfa, 0x72, - 0x6d, 0x6d, 0x73, 0xa3, 0x59, 0x5b, 0x5f, 0x7a, 0x59, 0x68, 0x17, 0x55, 0x36, 0xfb, 0xc0, 0xde, - 0x41, 0xa5, 0xbd, 0x09, 0x72, 0x7f, 0xa7, 0x88, 0xae, 0x88, 0xe9, 0x96, 0x7c, 0x04, 0x4d, 0x43, - 0x69, 0x7d, 0x43, 0x6b, 0xd4, 0x97, 0x6b, 0x5a, 0xed, 0xea, 0xd5, 0xda, 0x52, 0xb3, 0xc1, 0x92, - 0x8b, 0x3e, 0x74, 0x53, 0x4e, 0x84, 0x59, 0xfc, 0x91, 0x24, 0x4c, 0xc7, 0xf4, 0x04, 0x55, 0x78, - 0x5a, 0x80, 0x65, 0x2a, 0x1e, 0x1b, 0xa7, 0xf7, 0x8b, 0xc4, 0x31, 0xdf, 0xd4, 0x1d, 0x8f, 0x67, - 0x11, 0x1e, 0x06, 0xc2, 0x25, 0xcb, 0x23, 0x7e, 0x82, 0xc3, 0x93, 0xb6, 0x2c, 0x57, 0x50, 0x0a, - 0xca, 0x59, 0xde, 0xf6, 0x51, 0x40, 0x5d, 0xdb, 0x35, 0x3d, 0xf3, 0x16, 0xd6, 0x4c, 0x4b, 0x64, - 0x78, 0x53, 0x0b, 0xd2, 0xb9, 0x94, 0x2a, 0x8b, 0x9a, 0xba, 0xe5, 0xf9, 0xd0, 0x16, 0xde, 0xd5, - 0xfb, 0xa0, 0x89, 0x1f, 0x93, 0x54, 0x65, 0x51, 0xe3, 0x43, 0x9f, 0x86, 0x7c, 0xcb, 0xee, 0x91, - 0x80, 0x8a, 0xc1, 0x11, 0x6d, 0x21, 0xa9, 0x39, 0x56, 0xe6, 0x83, 0xf0, 0x50, 0x39, 0x48, 0x2d, - 0xe7, 0xd5, 0x1c, 0x2b, 0x63, 0x20, 0x67, 0xa1, 0xa4, 0xef, 0xee, 0x3a, 0x84, 0xb8, 0x20, 0xc4, - 0x82, 0xff, 0xa2, 0x5f, 0x4c, 0x01, 0xe7, 0xae, 0x43, 0x46, 0xf0, 0x81, 0xf8, 0xc3, 0x84, 0x13, - 0x5a, 0x97, 0x65, 0xb4, 0x12, 0xe7, 0xb2, 0x6a, 0xc6, 0x12, 0x95, 0xa7, 0x21, 0x6f, 0xba, 0x5a, - 0xb0, 0xb7, 0x99, 0x58, 0x48, 0x9c, 0xcb, 0xa8, 0x39, 0xd3, 0xf5, 0xf7, 0x48, 0x94, 0x4f, 0x24, - 0xa0, 0x18, 0xdd, 0xb5, 0x45, 0xcb, 0x90, 0x69, 0xdb, 0x7c, 0x93, 0x85, 0x1d, 0x19, 0x38, 0x37, - 0x62, 0xa3, 0x77, 0x71, 0x95, 0xc3, 0xab, 0x3e, 0xe6, 0xdc, 0xaf, 0x4b, 0x90, 0x11, 0xc5, 0xe8, - 0x18, 0xa4, 0xba, 0xba, 0xb7, 0x47, 0xc9, 0x4d, 0x54, 0x13, 0xb2, 0xa4, 0xd2, 0x6f, 0x52, 0xee, - 0x76, 0x75, 0xb6, 0x4f, 0xc4, 0xcb, 0xc9, 0x37, 0x99, 0xd7, 0x36, 0xd6, 0x5b, 0x34, 0xb3, 0x60, - 0x77, 0x3a, 0xd8, 0xf2, 0x5c, 0x31, 0xaf, 0xbc, 0x7c, 0x89, 0x17, 0xa3, 0x47, 0x60, 0xca, 0x73, - 0x74, 0xb3, 0x1d, 0x81, 0x4d, 0x51, 0x58, 0x59, 0x54, 0xf8, 0xc0, 0x65, 0x38, 0x21, 0xe8, 0xb6, - 0xb0, 0xa7, 0x1b, 0x7b, 0xb8, 0x15, 0x20, 0xa5, 0x69, 0x06, 0xf1, 0x38, 0x07, 0x58, 0xe6, 0xf5, - 0x02, 0x57, 0xf9, 0x5c, 0x02, 0xa6, 0x44, 0x2e, 0xa4, 0xe5, 0x33, 0x6b, 0x0d, 0x40, 0xb7, 0x2c, - 0xdb, 0x0b, 0xb3, 0x6b, 0x50, 0x94, 0x07, 0xf0, 0x16, 0x2b, 0x3e, 0x92, 0x1a, 0x22, 0x30, 0xf7, - 0x25, 0x09, 0x20, 0xa8, 0x1a, 0xca, 0xb7, 0x79, 0xc8, 0xf1, 0x3d, 0x79, 0x7a, 0xb0, 0x83, 0xa5, - 0xcf, 0x80, 0x15, 0x5d, 0x35, 0xdb, 0x34, 0xc9, 0xb9, 0x8d, 0x77, 0x4d, 0x8b, 0xef, 0xce, 0xb0, - 0x0f, 0x91, 0xe4, 0x4c, 0x05, 0xdb, 0x93, 0x2a, 0x64, 0x5c, 0xdc, 0xd1, 0x2d, 0xcf, 0x34, 0xf8, - 0x7e, 0xcb, 0x95, 0x43, 0x75, 0x7e, 0xb1, 0xc1, 0xb1, 0x55, 0x9f, 0x8e, 0x72, 0x0e, 0x32, 0xa2, - 0x94, 0x38, 0x7e, 0xeb, 0x1b, 0xeb, 0x35, 0xf9, 0x08, 0x9a, 0x84, 0x64, 0xa3, 0xd6, 0x94, 0x25, - 0x12, 0xc4, 0x56, 0x56, 0xeb, 0x95, 0x86, 0x9c, 0xa8, 0xfe, 0x5d, 0x98, 0x36, 0xec, 0x4e, 0x7f, - 0x83, 0x55, 0xb9, 0x2f, 0x81, 0xe8, 0x5e, 0x93, 0x5e, 0x79, 0x8c, 0x03, 0xed, 0xda, 0x6d, 0xdd, - 0xda, 0x5d, 0xb4, 0x9d, 0xdd, 0xe0, 0x58, 0x0c, 0x89, 0x35, 0xdc, 0xd0, 0xe1, 0x98, 0xee, 0xf6, - 0x5f, 0x4a, 0xd2, 0x8f, 0x24, 0x92, 0x2b, 0x9b, 0xd5, 0x9f, 0x48, 0xcc, 0xad, 0x30, 0xc4, 0x4d, - 0x31, 0x1c, 0x15, 0xef, 0xb4, 0xb1, 0x41, 0x3a, 0x0f, 0x1f, 0x4d, 0xc1, 0x94, 0xde, 0x31, 0x2d, - 0xfb, 0x02, 0xfd, 0x97, 0x1f, 0xaa, 0x99, 0xa0, 0x1f, 0x73, 0x23, 0x4f, 0xdf, 0x94, 0xaf, 0x30, - 0x05, 0x86, 0x46, 0xed, 0x61, 0xcf, 0xfe, 0xe9, 0x77, 0xfe, 0xf8, 0x44, 0x90, 0xfb, 0x2c, 0xaf, - 0x81, 0x2c, 0xc2, 0x6e, 0x6c, 0x19, 0x36, 0x91, 0xb6, 0xd1, 0x34, 0xfe, 0x4c, 0xd0, 0x28, 0x71, - 0xdc, 0x1a, 0x47, 0x2d, 0xbf, 0x0b, 0x32, 0x3e, 0x99, 0x83, 0xb7, 0x93, 0x66, 0xff, 0xa7, 0x20, - 0xe2, 0x63, 0x94, 0x5f, 0x00, 0x60, 0xce, 0x0e, 0x4b, 0xcb, 0x1e, 0x8c, 0xff, 0x15, 0x81, 0x9f, - 0xa5, 0x38, 0x44, 0x0b, 0x95, 0x57, 0xa0, 0xd8, 0xb2, 0x2d, 0x4f, 0xb3, 0x3b, 0xa6, 0x87, 0x3b, - 0x5d, 0x6f, 0x7f, 0x14, 0x91, 0x3f, 0x67, 0x44, 0x32, 0x6a, 0x81, 0xe0, 0x6d, 0x08, 0x34, 0xd2, - 0x13, 0xb6, 0xb3, 0x36, 0x4e, 0x4f, 0xfe, 0xc2, 0xef, 0x09, 0xc5, 0x21, 0x3d, 0xa9, 0xd6, 0x7e, - 0xe5, 0xf3, 0xa7, 0xa4, 0xcf, 0x7d, 0xfe, 0x94, 0xf4, 0xbb, 0x9f, 0x3f, 0x25, 0x7d, 0xe8, 0x0b, - 0xa7, 0x8e, 0x7c, 0xee, 0x0b, 0xa7, 0x8e, 0xfc, 0xd6, 0x17, 0x4e, 0x1d, 0x79, 0xe5, 0x91, 0x5d, - 0xd3, 0xdb, 0xeb, 0x6d, 0x2f, 0x1a, 0x76, 0xe7, 0x82, 0x61, 0xbb, 0x1d, 0xdb, 0xe5, 0xff, 0x3d, - 0xe6, 0xb6, 0x6e, 0x72, 0xf9, 0xf1, 0xee, 0x30, 0x29, 0xd8, 0x4e, 0xb3, 0x1d, 0x35, 0xf8, 0xa3, - 0x47, 0x60, 0x66, 0xd7, 0xde, 0xb5, 0xe9, 0xe7, 0x05, 0xf2, 0x17, 0x17, 0x90, 0xac, 0x5f, 0x3a, - 0x86, 0x90, 0xac, 0xc3, 0x34, 0x07, 0xd6, 0xe8, 0xe1, 0x0e, 0x96, 0xc8, 0x42, 0x07, 0xee, 0xa2, - 0xcc, 0xfe, 0xec, 0xef, 0x53, 0x9f, 0x55, 0x9d, 0xe2, 0xa8, 0xa4, 0x8e, 0xe5, 0xba, 0xca, 0x2a, - 0x1c, 0x8d, 0xd0, 0x63, 0x16, 0x04, 0x3b, 0x23, 0x28, 0xfe, 0x7b, 0x4e, 0x71, 0x3a, 0x44, 0xb1, - 0xc1, 0x51, 0xcb, 0x4b, 0x50, 0x38, 0x0c, 0xad, 0x5f, 0xe6, 0xb4, 0xf2, 0x38, 0x4c, 0x64, 0x05, - 0x4a, 0x94, 0x88, 0xd1, 0x73, 0x3d, 0xbb, 0x43, 0xe7, 0xf0, 0x60, 0x32, 0xff, 0xe1, 0xf7, 0x99, - 0x4a, 0x2f, 0x12, 0xb4, 0x25, 0x1f, 0xab, 0x5c, 0x06, 0x7a, 0x9e, 0xa5, 0x85, 0x8d, 0xf6, 0x08, - 0x0a, 0xbf, 0xc2, 0x3b, 0xe2, 0xc3, 0x97, 0x6f, 0xc0, 0x0c, 0xf9, 0x9b, 0x5a, 0xcf, 0x70, 0x4f, - 0x46, 0x6f, 0xb9, 0xcc, 0xfe, 0x97, 0x6f, 0x65, 0x56, 0x63, 0xda, 0x27, 0x10, 0xea, 0x53, 0x68, - 0x16, 0x77, 0xb1, 0xe7, 0x61, 0xc7, 0xd5, 0xf4, 0x76, 0x5c, 0xf7, 0x42, 0x39, 0xeb, 0xd9, 0x1f, - 0xfc, 0x72, 0x74, 0x16, 0x57, 0x18, 0x66, 0xa5, 0xdd, 0x2e, 0x6f, 0xc1, 0xf1, 0x18, 0xa9, 0x18, - 0x83, 0xe6, 0x47, 0x38, 0xcd, 0x99, 0x01, 0xc9, 0x20, 0x64, 0x37, 0x41, 0x94, 0xfb, 0x73, 0x39, - 0x06, 0xcd, 0x8f, 0x72, 0x9a, 0x88, 0xe3, 0x8a, 0x29, 0x25, 0x14, 0xaf, 0xc3, 0xd4, 0x2d, 0xec, - 0x6c, 0xdb, 0x2e, 0xdf, 0x27, 0x18, 0x83, 0xdc, 0xc7, 0x38, 0xb9, 0x12, 0x47, 0xa4, 0x1b, 0x07, - 0x84, 0xd6, 0x33, 0x90, 0xd9, 0xd1, 0x0d, 0x3c, 0x06, 0x89, 0xbb, 0x9c, 0xc4, 0x24, 0x81, 0x27, - 0xa8, 0x15, 0xc8, 0xef, 0xda, 0xdc, 0x81, 0x1a, 0x8d, 0xfe, 0x71, 0x8e, 0x9e, 0x13, 0x38, 0x9c, - 0x44, 0xd7, 0xee, 0xf6, 0xda, 0xc4, 0xbb, 0x1a, 0x4d, 0xe2, 0x87, 0x04, 0x09, 0x81, 0xc3, 0x49, - 0x1c, 0x82, 0xad, 0x6f, 0x08, 0x12, 0x6e, 0x88, 0x9f, 0x2f, 0x40, 0xce, 0xb6, 0xda, 0xfb, 0xb6, - 0x35, 0x4e, 0x27, 0x7e, 0x98, 0x53, 0x00, 0x8e, 0x42, 0x08, 0x3c, 0x0b, 0xd9, 0x71, 0x27, 0xe2, - 0xc7, 0xbe, 0x2c, 0x96, 0x87, 0x98, 0x81, 0x15, 0x28, 0x09, 0x05, 0x65, 0xda, 0xd6, 0x18, 0x24, - 0x7e, 0x9c, 0x93, 0x28, 0x86, 0xd0, 0xf8, 0x30, 0x3c, 0xec, 0x7a, 0xbb, 0x78, 0x1c, 0x22, 0x9f, - 0x10, 0xc3, 0xe0, 0x28, 0x9c, 0x95, 0xdb, 0xd8, 0x32, 0xf6, 0xc6, 0xa3, 0xf0, 0x49, 0xc1, 0x4a, - 0x81, 0x43, 0x48, 0x2c, 0x41, 0xa1, 0xa3, 0x3b, 0xee, 0x9e, 0xde, 0x1e, 0x6b, 0x3a, 0x3e, 0xc5, - 0x69, 0xe4, 0x7d, 0x24, 0xce, 0x91, 0x9e, 0x75, 0x18, 0x32, 0x3f, 0x21, 0x38, 0x12, 0x42, 0xe3, - 0x4b, 0xcf, 0xf5, 0xe8, 0xa6, 0xca, 0x61, 0xa8, 0xfd, 0xa4, 0x58, 0x7a, 0x0c, 0x77, 0x2d, 0x4c, - 0xf1, 0x59, 0xc8, 0xba, 0xe6, 0x6b, 0x63, 0x91, 0xf9, 0x27, 0x62, 0xa6, 0x29, 0x02, 0x41, 0x7e, - 0x19, 0x4e, 0xc4, 0x9a, 0x89, 0x31, 0x88, 0xfd, 0x14, 0x27, 0x76, 0x2c, 0xc6, 0x54, 0x70, 0x95, - 0x70, 0x58, 0x92, 0x3f, 0x2d, 0x54, 0x02, 0xee, 0xa3, 0xb5, 0x49, 0x42, 0x5a, 0x57, 0xdf, 0x39, - 0x1c, 0xd7, 0xfe, 0xa9, 0xe0, 0x1a, 0xc3, 0x8d, 0x70, 0xad, 0x09, 0xc7, 0x38, 0xc5, 0xc3, 0xcd, - 0xeb, 0xcf, 0x08, 0xc5, 0xca, 0xb0, 0xb7, 0xa2, 0xb3, 0xfb, 0xf5, 0x30, 0xe7, 0xb3, 0x53, 0xc4, - 0x4e, 0xae, 0xd6, 0xd1, 0xbb, 0x63, 0x50, 0xfe, 0x59, 0x4e, 0x59, 0x68, 0x7c, 0x3f, 0xf8, 0x72, - 0xd7, 0xf4, 0x2e, 0x21, 0xfe, 0x12, 0xcc, 0x0a, 0xe2, 0x3d, 0xcb, 0xc1, 0x86, 0xbd, 0x6b, 0x99, - 0xaf, 0xe1, 0xd6, 0x18, 0xa4, 0xff, 0x59, 0xdf, 0x54, 0x6d, 0x85, 0xd0, 0x09, 0xe5, 0x3a, 0xc8, - 0xbe, 0xaf, 0xa2, 0x99, 0x9d, 0xae, 0xed, 0x78, 0x23, 0x28, 0x7e, 0x5a, 0xcc, 0x94, 0x8f, 0x57, - 0xa7, 0x68, 0xe5, 0x1a, 0xb0, 0x93, 0x46, 0xe3, 0x8a, 0xe4, 0x67, 0x38, 0xa1, 0x42, 0x80, 0xc5, - 0x15, 0x87, 0x61, 0x77, 0xba, 0xba, 0x33, 0x8e, 0xfe, 0xfb, 0x39, 0xa1, 0x38, 0x38, 0x0a, 0x57, - 0x1c, 0xc4, 0x5f, 0x23, 0xd6, 0x7e, 0x0c, 0x0a, 0x3f, 0x2f, 0x14, 0x87, 0xc0, 0xe1, 0x24, 0x84, - 0xc3, 0x30, 0x06, 0x89, 0x7f, 0x2e, 0x48, 0x08, 0x1c, 0x42, 0xe2, 0xdd, 0x81, 0xa1, 0x75, 0xf0, - 0xae, 0xe9, 0x7a, 0xfc, 0xa8, 0xe0, 0xc1, 0xa4, 0x7e, 0xe1, 0xcb, 0x51, 0x27, 0x4c, 0x0d, 0xa1, - 0x12, 0x4d, 0xc4, 0x3d, 0x7b, 0x1a, 0xd0, 0x8f, 0xee, 0xd8, 0x67, 0x85, 0x26, 0x0a, 0xa1, 0x91, - 0xbe, 0x85, 0x3c, 0x44, 0xc2, 0x76, 0x83, 0x84, 0xb1, 0x63, 0x90, 0xfb, 0x17, 0x7d, 0x9d, 0x6b, - 0x08, 0x5c, 0x42, 0x33, 0xe4, 0xff, 0xf4, 0xac, 0x9b, 0x78, 0x7f, 0x2c, 0xe9, 0xfc, 0xc5, 0x3e, - 0xff, 0x67, 0x8b, 0x61, 0x32, 0x1d, 0x52, 0xea, 0xf3, 0xa7, 0x46, 0x47, 0x40, 0xdf, 0xf2, 0x15, - 0x3e, 0xde, 0xa8, 0x3b, 0x55, 0x5e, 0x25, 0x42, 0x1e, 0x75, 0x7a, 0x46, 0x13, 0xfb, 0xd6, 0xaf, - 0xf8, 0x72, 0x1e, 0xf1, 0x79, 0xca, 0x57, 0xa1, 0x10, 0x71, 0x78, 0x46, 0x93, 0xfa, 0x36, 0x4e, - 0x2a, 0x1f, 0xf6, 0x77, 0xca, 0x97, 0x21, 0x45, 0x9c, 0x97, 0xd1, 0xe8, 0xef, 0xe7, 0xe8, 0x14, - 0xbc, 0xfc, 0x1c, 0x64, 0x84, 0xd3, 0x32, 0x1a, 0xf5, 0x03, 0x1c, 0xd5, 0x47, 0x21, 0xe8, 0xc2, - 0x61, 0x19, 0x8d, 0xfe, 0xf7, 0x05, 0xba, 0x40, 0x21, 0xe8, 0xe3, 0xb3, 0xf0, 0xdf, 0x7c, 0x47, - 0x8a, 0x1b, 0x1d, 0xc1, 0xbb, 0x67, 0x61, 0x92, 0x7b, 0x2a, 0xa3, 0xb1, 0xbf, 0x9d, 0x37, 0x2e, - 0x30, 0xca, 0x4f, 0xc1, 0xc4, 0x98, 0x0c, 0xff, 0x2e, 0x8e, 0xca, 0xe0, 0xcb, 0x4b, 0x90, 0x0b, - 0x79, 0x27, 0xa3, 0xd1, 0xbf, 0x9b, 0xa3, 0x87, 0xb1, 0x48, 0xd7, 0xb9, 0x77, 0x32, 0x9a, 0xc0, - 0x3f, 0x10, 0x5d, 0xe7, 0x18, 0x84, 0x6d, 0xc2, 0x31, 0x19, 0x8d, 0xfd, 0x21, 0xc1, 0x75, 0x81, - 0x52, 0x7e, 0x01, 0xb2, 0xbe, 0xb1, 0x19, 0x8d, 0xff, 0x3d, 0x1c, 0x3f, 0xc0, 0x21, 0x1c, 0x08, - 0x19, 0xbb, 0xd1, 0x24, 0xfe, 0xa1, 0xe0, 0x40, 0x08, 0x8b, 0x2c, 0xa3, 0x7e, 0x07, 0x66, 0x34, - 0xa5, 0xef, 0x15, 0xcb, 0xa8, 0xcf, 0x7f, 0x21, 0xb3, 0x49, 0x75, 0xfe, 0x68, 0x12, 0xdf, 0x27, - 0x66, 0x93, 0xc2, 0x93, 0x6e, 0xf4, 0x7b, 0x04, 0xa3, 0x69, 0xfc, 0x80, 0xe8, 0x46, 0x9f, 0x43, - 0x50, 0xde, 0x04, 0x34, 0xe8, 0x0d, 0x8c, 0xa6, 0xf7, 0x61, 0x4e, 0x6f, 0x6a, 0xc0, 0x19, 0x28, - 0xbf, 0x07, 0x8e, 0xc5, 0x7b, 0x02, 0xa3, 0xa9, 0xfe, 0xe0, 0x57, 0xfa, 0x62, 0xb7, 0xb0, 0x23, - 0x50, 0x6e, 0x06, 0x26, 0x25, 0xec, 0x05, 0x8c, 0x26, 0xfb, 0x91, 0xaf, 0x44, 0x15, 0x77, 0xd8, - 0x09, 0x28, 0x57, 0x00, 0x02, 0x03, 0x3c, 0x9a, 0xd6, 0xc7, 0x38, 0xad, 0x10, 0x12, 0x59, 0x1a, - 0xdc, 0xfe, 0x8e, 0xc6, 0xbf, 0x2b, 0x96, 0x06, 0xc7, 0x20, 0x4b, 0x43, 0x98, 0xde, 0xd1, 0xd8, - 0x1f, 0x17, 0x4b, 0x43, 0xa0, 0x10, 0xc9, 0x0e, 0x59, 0xb7, 0xd1, 0x14, 0x7e, 0x58, 0x48, 0x76, - 0x08, 0xab, 0xbc, 0x0e, 0x53, 0x03, 0x06, 0x71, 0x34, 0xa9, 0x1f, 0xe1, 0xa4, 0xe4, 0x7e, 0x7b, - 0x18, 0x36, 0x5e, 0xdc, 0x18, 0x8e, 0xa6, 0xf6, 0xa3, 0x7d, 0xc6, 0x8b, 0xdb, 0xc2, 0xf2, 0xb3, - 0x90, 0xb1, 0x7a, 0xed, 0x36, 0x59, 0x3c, 0xa3, 0x52, 0x5e, 0xff, 0xfd, 0xab, 0x9c, 0x3b, 0x02, - 0xa1, 0x7c, 0x19, 0x26, 0x70, 0x67, 0x1b, 0xb7, 0x46, 0x61, 0xfe, 0xe1, 0x57, 0x85, 0xc2, 0x24, - 0xd0, 0xe5, 0x17, 0x00, 0x58, 0x6a, 0x84, 0x1e, 0xd2, 0x18, 0x81, 0xfb, 0xa5, 0xaf, 0xf2, 0xc3, - 0x97, 0x01, 0x4a, 0x40, 0x60, 0x9c, 0x4c, 0xdd, 0x97, 0xa3, 0x04, 0xe8, 0x8c, 0x3c, 0x03, 0x93, - 0xaf, 0xba, 0xb6, 0xe5, 0xe9, 0x23, 0x33, 0x96, 0x7f, 0xc4, 0xb1, 0x05, 0x3c, 0x61, 0x58, 0xc7, - 0x76, 0xb0, 0xa7, 0xef, 0xba, 0xa3, 0x70, 0xff, 0x98, 0xe3, 0xfa, 0x08, 0x04, 0xd9, 0xd0, 0x5d, - 0x6f, 0x9c, 0x71, 0xff, 0x0f, 0x81, 0x2c, 0x10, 0x48, 0xa7, 0xc9, 0xdf, 0x37, 0xf1, 0xc8, 0x0c, - 0xe7, 0x9f, 0x88, 0x4e, 0x73, 0xf8, 0xf2, 0x73, 0x90, 0x25, 0x7f, 0xb2, 0x13, 0xd5, 0x23, 0x90, - 0xff, 0x94, 0x23, 0x07, 0x18, 0xa4, 0x65, 0xd7, 0x6b, 0x79, 0xe6, 0x68, 0x66, 0xff, 0x19, 0x9f, - 0x69, 0x01, 0x5f, 0xae, 0x40, 0xce, 0xf5, 0x5a, 0xad, 0x1e, 0xf7, 0x4f, 0x47, 0xe5, 0x87, 0xbf, - 0xea, 0xa7, 0x2c, 0x7c, 0x1c, 0x32, 0xdb, 0xb7, 0x6f, 0x7a, 0x5d, 0x9b, 0xee, 0xc6, 0x8d, 0xcc, - 0x10, 0x73, 0x0a, 0x21, 0x94, 0xf2, 0x12, 0xe4, 0xc9, 0x58, 0xc4, 0x4d, 0x95, 0x91, 0xf9, 0x61, - 0xce, 0x80, 0x08, 0x52, 0xf5, 0x9b, 0x87, 0x25, 0x77, 0xe3, 0xf7, 0x10, 0x60, 0xc5, 0x5e, 0xb1, - 0xd9, 0xee, 0xc1, 0x2b, 0x0f, 0x0e, 0x66, 0x7f, 0xa3, 0x79, 0x5d, 0xfa, 0x17, 0xfc, 0x2f, 0x09, - 0xee, 0x37, 0xec, 0x0e, 0xf6, 0xb6, 0x77, 0xbc, 0x0b, 0x86, 0xb3, 0xdf, 0xf5, 0xec, 0x0b, 0xb7, - 0x2e, 0x5e, 0xb8, 0x89, 0xf7, 0x5d, 0x9e, 0xf8, 0x45, 0xa2, 0x7a, 0x91, 0x55, 0x2f, 0xde, 0xba, - 0x38, 0x17, 0x9b, 0x22, 0x56, 0x5e, 0x82, 0xec, 0x26, 0xbd, 0xb9, 0xfa, 0x22, 0xde, 0x47, 0x73, - 0x30, 0x89, 0x5b, 0x97, 0x2e, 0x5f, 0xbe, 0xf8, 0x0c, 0xdd, 0x8b, 0xcf, 0x5f, 0x3b, 0xa2, 0x8a, - 0x02, 0x74, 0x0a, 0xb2, 0x2e, 0x36, 0xba, 0x97, 0x2e, 0x5f, 0xb9, 0x79, 0x91, 0xee, 0xe3, 0x90, - 0xda, 0xa0, 0xa8, 0x9c, 0xf9, 0xe2, 0x1b, 0xf3, 0xd2, 0x17, 0x7f, 0x78, 0x5e, 0xaa, 0x4e, 0x40, + // 11885 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6b, 0x94, 0x1c, 0x57, + 0x5a, 0x98, 0xaa, 0xbb, 0xa7, 0xa7, 0xfb, 0xeb, 0x57, 0xcd, 0x9d, 0x91, 0x34, 0x1a, 0xd9, 0x9a, + 0x51, 0xc9, 0xb6, 0x64, 0xd9, 0x1e, 0x59, 0xb2, 0x2d, 0xdb, 0xed, 0x17, 0xdd, 0x33, 0xad, 0x51, + 0xcb, 0xf3, 0xda, 0xea, 0x1e, 0xad, 0x6d, 0x1e, 0x45, 0x4d, 0xf5, 0x9d, 0x99, 0xb2, 0xba, 0xab, + 0x7a, 0xab, 0xaa, 0x25, 0x8d, 0x73, 0x4e, 0xce, 0x12, 0x58, 0xb2, 0x88, 0x47, 0x96, 0x40, 0x60, + 0xd9, 0x5d, 0x2d, 0x06, 0x02, 0xbb, 0x0b, 0x81, 0x40, 0x76, 0x21, 0x6c, 0x38, 0x79, 0x90, 0x93, + 0x10, 0x20, 0x27, 0x64, 0xc3, 0x8f, 0xc0, 0xe1, 0x1c, 0x1c, 0xd8, 0xe5, 0x1c, 0x36, 0xec, 0x42, + 0x80, 0x2c, 0x1c, 0x4e, 0xf6, 0x24, 0x27, 0xe7, 0xbe, 0xea, 0xd1, 0x5d, 0x3d, 0xdd, 0x23, 0xdb, + 0x40, 0x20, 0x7f, 0xa4, 0xa9, 0x7b, 0xbf, 0xef, 0xbb, 0xf7, 0x7e, 0xf7, 0xbb, 0xdf, 0xeb, 0x3e, + 0x1a, 0x7e, 0xf7, 0x0a, 0x2c, 0xec, 0xda, 0xf6, 0x6e, 0x1b, 0x5f, 0xe8, 0x3a, 0xb6, 0x67, 0x6f, + 0xf7, 0x76, 0x2e, 0xb4, 0xb0, 0x6b, 0x38, 0x66, 0xd7, 0xb3, 0x9d, 0x45, 0x5a, 0x86, 0x4a, 0x0c, + 0x62, 0x51, 0x40, 0x28, 0x6b, 0x30, 0x75, 0xc5, 0x6c, 0xe3, 0x65, 0x1f, 0xb0, 0x81, 0x3d, 0xf4, + 0x0c, 0xa4, 0x76, 0xcc, 0x36, 0x9e, 0x95, 0x16, 0x92, 0xe7, 0x72, 0x97, 0x1e, 0x58, 0xec, 0x43, + 0x5a, 0x8c, 0x62, 0x6c, 0x92, 0x62, 0x95, 0x62, 0x28, 0xff, 0x27, 0x05, 0xd3, 0x31, 0xb5, 0x08, + 0x41, 0xca, 0xd2, 0x3b, 0x84, 0xa2, 0x74, 0x2e, 0xab, 0xd2, 0xbf, 0xd1, 0x2c, 0x4c, 0x76, 0x75, + 0xe3, 0x86, 0xbe, 0x8b, 0x67, 0x13, 0xb4, 0x58, 0x7c, 0xa2, 0x53, 0x00, 0x2d, 0xdc, 0xc5, 0x56, + 0x0b, 0x5b, 0xc6, 0xfe, 0x6c, 0x72, 0x21, 0x79, 0x2e, 0xab, 0x86, 0x4a, 0xd0, 0x23, 0x30, 0xd5, + 0xed, 0x6d, 0xb7, 0x4d, 0x43, 0x0b, 0x81, 0xc1, 0x42, 0xf2, 0xdc, 0x84, 0x2a, 0xb3, 0x8a, 0xe5, + 0x00, 0xf8, 0x2c, 0x94, 0x6e, 0x61, 0xfd, 0x46, 0x18, 0x34, 0x47, 0x41, 0x8b, 0xa4, 0x38, 0x04, + 0xb8, 0x04, 0xf9, 0x0e, 0x76, 0x5d, 0x7d, 0x17, 0x6b, 0xde, 0x7e, 0x17, 0xcf, 0xa6, 0xe8, 0xe8, + 0x17, 0x06, 0x46, 0xdf, 0x3f, 0xf2, 0x1c, 0xc7, 0x6a, 0xee, 0x77, 0x31, 0xaa, 0x40, 0x16, 0x5b, + 0xbd, 0x0e, 0xa3, 0x30, 0x31, 0x84, 0x7f, 0x35, 0xab, 0xd7, 0xe9, 0xa7, 0x92, 0x21, 0x68, 0x9c, + 0xc4, 0xa4, 0x8b, 0x9d, 0x9b, 0xa6, 0x81, 0x67, 0xd3, 0x94, 0xc0, 0xd9, 0x01, 0x02, 0x0d, 0x56, + 0xdf, 0x4f, 0x43, 0xe0, 0xa1, 0x25, 0xc8, 0xe2, 0xdb, 0x1e, 0xb6, 0x5c, 0xd3, 0xb6, 0x66, 0x27, + 0x29, 0x91, 0x07, 0x63, 0x66, 0x11, 0xb7, 0x5b, 0xfd, 0x24, 0x02, 0x3c, 0x74, 0x19, 0x26, 0xed, + 0xae, 0x67, 0xda, 0x96, 0x3b, 0x9b, 0x59, 0x90, 0xce, 0xe5, 0x2e, 0xdd, 0x17, 0x2b, 0x08, 0x1b, + 0x0c, 0x46, 0x15, 0xc0, 0xa8, 0x0e, 0xb2, 0x6b, 0xf7, 0x1c, 0x03, 0x6b, 0x86, 0xdd, 0xc2, 0x9a, + 0x69, 0xed, 0xd8, 0xb3, 0x59, 0x4a, 0x60, 0x7e, 0x70, 0x20, 0x14, 0x70, 0xc9, 0x6e, 0xe1, 0xba, + 0xb5, 0x63, 0xab, 0x45, 0x37, 0xf2, 0x8d, 0x8e, 0x41, 0xda, 0xdd, 0xb7, 0x3c, 0xfd, 0xf6, 0x6c, + 0x9e, 0x4a, 0x08, 0xff, 0x22, 0xa2, 0x83, 0x5b, 0x26, 0x69, 0x6e, 0xb6, 0xc0, 0x44, 0x87, 0x7f, + 0x2a, 0x9f, 0x4d, 0x43, 0x69, 0x1c, 0xe1, 0x7b, 0x0e, 0x26, 0x76, 0xc8, 0xf8, 0x67, 0x13, 0x87, + 0xe1, 0x0e, 0xc3, 0x89, 0xb2, 0x37, 0x7d, 0x8f, 0xec, 0xad, 0x40, 0xce, 0xc2, 0xae, 0x87, 0x5b, + 0x4c, 0x56, 0x92, 0x63, 0x4a, 0x1b, 0x30, 0xa4, 0x41, 0x61, 0x4b, 0xdd, 0x93, 0xb0, 0xbd, 0x02, + 0x25, 0xbf, 0x4b, 0x9a, 0xa3, 0x5b, 0xbb, 0x42, 0x6a, 0x2f, 0x8c, 0xea, 0xc9, 0x62, 0x4d, 0xe0, + 0xa9, 0x04, 0x4d, 0x2d, 0xe2, 0xc8, 0x37, 0x5a, 0x06, 0xb0, 0x2d, 0x6c, 0xef, 0x68, 0x2d, 0x6c, + 0xb4, 0x67, 0x33, 0x43, 0xb8, 0xb4, 0x41, 0x40, 0x06, 0xb8, 0x64, 0xb3, 0x52, 0xa3, 0x8d, 0x9e, + 0x0d, 0x84, 0x70, 0x72, 0x88, 0x0c, 0xad, 0xb1, 0xe5, 0x37, 0x20, 0x87, 0x5b, 0x50, 0x74, 0x30, + 0x59, 0x11, 0xb8, 0xc5, 0x47, 0x96, 0xa5, 0x9d, 0x58, 0x1c, 0x39, 0x32, 0x95, 0xa3, 0xb1, 0x81, + 0x15, 0x9c, 0xf0, 0x27, 0x3a, 0x03, 0x7e, 0x81, 0x46, 0xc5, 0x0a, 0xa8, 0x7e, 0xca, 0x8b, 0xc2, + 0x75, 0xbd, 0x83, 0xe7, 0xde, 0x80, 0x62, 0x94, 0x3d, 0x68, 0x06, 0x26, 0x5c, 0x4f, 0x77, 0x3c, + 0x2a, 0x85, 0x13, 0x2a, 0xfb, 0x40, 0x32, 0x24, 0xb1, 0xd5, 0xa2, 0xfa, 0x6f, 0x42, 0x25, 0x7f, + 0xa2, 0xaf, 0x09, 0x06, 0x9c, 0xa4, 0x03, 0x7e, 0x68, 0x70, 0x46, 0x23, 0x94, 0xfb, 0xc7, 0x3d, + 0xf7, 0x34, 0x14, 0x22, 0x03, 0x18, 0xb7, 0x69, 0xe5, 0x27, 0x53, 0x70, 0x34, 0x96, 0x36, 0x7a, + 0x05, 0x66, 0x7a, 0x96, 0x69, 0x79, 0xd8, 0xe9, 0x3a, 0x98, 0x88, 0x2c, 0x6b, 0x6b, 0xf6, 0xf7, + 0x27, 0x87, 0x08, 0xdd, 0x56, 0x18, 0x9a, 0x51, 0x51, 0xa7, 0x7b, 0x83, 0x85, 0xe8, 0x55, 0xc8, + 0x11, 0xf9, 0xd0, 0x1d, 0x9d, 0x12, 0x64, 0xab, 0xf1, 0xd2, 0x78, 0x43, 0x5e, 0x5c, 0x0e, 0x30, + 0xab, 0xc9, 0x0f, 0x4a, 0x09, 0x35, 0x4c, 0x0b, 0xed, 0x41, 0xfe, 0x26, 0x76, 0xcc, 0x1d, 0xd3, + 0x60, 0xb4, 0x09, 0x3b, 0x8b, 0x97, 0x9e, 0x19, 0x93, 0xf6, 0xf5, 0x10, 0x6a, 0xc3, 0xd3, 0x3d, + 0x5c, 0x86, 0xad, 0xf5, 0xeb, 0x35, 0xb5, 0x7e, 0xa5, 0x5e, 0x5b, 0x56, 0x23, 0x94, 0xe7, 0x3e, + 0x2d, 0x41, 0x2e, 0xd4, 0x17, 0xa2, 0xb6, 0xac, 0x5e, 0x67, 0x1b, 0x3b, 0x9c, 0xe3, 0xfc, 0x0b, + 0x9d, 0x84, 0xec, 0x4e, 0xaf, 0xdd, 0x66, 0x62, 0xc3, 0x6c, 0x5e, 0x86, 0x14, 0x10, 0x91, 0x21, + 0x5a, 0x8a, 0x2b, 0x02, 0xaa, 0xa5, 0xc8, 0xdf, 0xe8, 0x0c, 0xe4, 0x4c, 0x57, 0x73, 0x70, 0x17, + 0xeb, 0x1e, 0x6e, 0xcd, 0xa6, 0x16, 0xa4, 0x73, 0x99, 0x6a, 0x62, 0x56, 0x52, 0xc1, 0x74, 0x55, + 0x5e, 0x8a, 0xe6, 0x20, 0x23, 0x64, 0x6f, 0x76, 0x82, 0x40, 0xa8, 0xfe, 0x37, 0xab, 0xe3, 0xd8, + 0x69, 0x51, 0xc7, 0xbe, 0x95, 0x27, 0x61, 0x6a, 0x60, 0x90, 0xa8, 0x04, 0xb9, 0xe5, 0xda, 0xd2, + 0x6a, 0x45, 0xad, 0x34, 0xeb, 0x1b, 0xeb, 0xf2, 0x11, 0x54, 0x84, 0xd0, 0xb8, 0x65, 0xe9, 0x7c, + 0x36, 0xf3, 0xc5, 0x49, 0xf9, 0xfd, 0xef, 0x7f, 0xff, 0xfb, 0x13, 0xca, 0x2f, 0xa6, 0x61, 0x26, + 0x4e, 0xcb, 0xc5, 0x2a, 0xdc, 0x80, 0x27, 0xc9, 0x08, 0x4f, 0x2a, 0x30, 0xd1, 0xd6, 0xb7, 0x71, + 0x9b, 0x0e, 0xae, 0x78, 0xe9, 0x91, 0xb1, 0xf4, 0xe8, 0xe2, 0x2a, 0x41, 0x51, 0x19, 0x26, 0x7a, + 0x91, 0x73, 0x6e, 0x82, 0x52, 0x38, 0x3f, 0x1e, 0x05, 0xa2, 0xfd, 0x38, 0x97, 0x4f, 0x42, 0x96, + 0xfc, 0xcf, 0xa6, 0x25, 0xcd, 0xa6, 0x85, 0x14, 0xd0, 0x69, 0x99, 0x83, 0x0c, 0x55, 0x6c, 0x2d, + 0xec, 0x4f, 0x99, 0xf8, 0x26, 0xaa, 0xa0, 0x85, 0x77, 0xf4, 0x5e, 0xdb, 0xd3, 0x6e, 0xea, 0xed, + 0x1e, 0xa6, 0x2a, 0x2a, 0xab, 0xe6, 0x79, 0xe1, 0x75, 0x52, 0x86, 0xe6, 0x21, 0xc7, 0xf4, 0xa0, + 0x69, 0xb5, 0xf0, 0x6d, 0x6a, 0x09, 0x27, 0x54, 0xa6, 0x1a, 0xeb, 0xa4, 0x84, 0x34, 0xff, 0xba, + 0x6b, 0x5b, 0x42, 0x99, 0xd0, 0x26, 0x48, 0x01, 0x6d, 0xfe, 0xe9, 0x7e, 0x23, 0x7c, 0x7f, 0xfc, + 0xf0, 0x06, 0xb4, 0xdf, 0x59, 0x28, 0x51, 0x88, 0x27, 0xf8, 0x5a, 0xd5, 0xdb, 0xb3, 0x53, 0x54, + 0x00, 0x8a, 0xac, 0x78, 0x83, 0x97, 0x2a, 0x3f, 0x97, 0x80, 0x14, 0x35, 0x05, 0x25, 0xc8, 0x35, + 0x5f, 0xdd, 0xac, 0x69, 0xcb, 0x1b, 0x5b, 0xd5, 0xd5, 0x9a, 0x2c, 0x91, 0xa9, 0xa7, 0x05, 0x57, + 0x56, 0x37, 0x2a, 0x4d, 0x39, 0xe1, 0x7f, 0xd7, 0xd7, 0x9b, 0x97, 0x9f, 0x94, 0x93, 0x3e, 0xc2, + 0x16, 0x2b, 0x48, 0x85, 0x01, 0x9e, 0xb8, 0x24, 0x4f, 0x20, 0x19, 0xf2, 0x8c, 0x40, 0xfd, 0x95, + 0xda, 0xf2, 0xe5, 0x27, 0xe5, 0x74, 0xb4, 0xe4, 0x89, 0x4b, 0xf2, 0x24, 0x2a, 0x40, 0x96, 0x96, + 0x54, 0x37, 0x36, 0x56, 0xe5, 0x8c, 0x4f, 0xb3, 0xd1, 0x54, 0xeb, 0xeb, 0x2b, 0x72, 0xd6, 0xa7, + 0xb9, 0xa2, 0x6e, 0x6c, 0x6d, 0xca, 0xe0, 0x53, 0x58, 0xab, 0x35, 0x1a, 0x95, 0x95, 0x9a, 0x9c, + 0xf3, 0x21, 0xaa, 0xaf, 0x36, 0x6b, 0x0d, 0x39, 0x1f, 0xe9, 0xd6, 0x13, 0x97, 0xe4, 0x82, 0xdf, + 0x44, 0x6d, 0x7d, 0x6b, 0x4d, 0x2e, 0xa2, 0x29, 0x28, 0xb0, 0x26, 0x44, 0x27, 0x4a, 0x7d, 0x45, + 0x97, 0x9f, 0x94, 0xe5, 0xa0, 0x23, 0x8c, 0xca, 0x54, 0xa4, 0xe0, 0xf2, 0x93, 0x32, 0x52, 0x96, + 0x60, 0x82, 0x8a, 0x21, 0x42, 0x50, 0x5c, 0xad, 0x54, 0x6b, 0xab, 0xda, 0xc6, 0x26, 0x59, 0x34, + 0x95, 0x55, 0x59, 0x0a, 0xca, 0xd4, 0xda, 0x7b, 0xb6, 0xea, 0x6a, 0x6d, 0x59, 0x4e, 0x84, 0xcb, + 0x36, 0x6b, 0x95, 0x66, 0x6d, 0x59, 0x4e, 0x2a, 0x06, 0xcc, 0xc4, 0x99, 0xc0, 0xd8, 0x25, 0x14, + 0x92, 0x85, 0xc4, 0x10, 0x59, 0xa0, 0xb4, 0xfa, 0x65, 0x41, 0xf9, 0x42, 0x02, 0xa6, 0x63, 0xdc, + 0x80, 0xd8, 0x46, 0x5e, 0x82, 0x09, 0x26, 0xcb, 0x4c, 0x15, 0x3f, 0x1c, 0xeb, 0x4f, 0x50, 0xc9, + 0x1e, 0x70, 0x8e, 0x28, 0x5e, 0xd8, 0x6d, 0x4c, 0x0e, 0x71, 0x1b, 0x09, 0x89, 0x01, 0x81, 0xfd, + 0xfa, 0x01, 0x73, 0xcd, 0x3c, 0x9a, 0xcb, 0xe3, 0x78, 0x34, 0xb4, 0xec, 0x70, 0x66, 0x7b, 0x22, + 0xc6, 0x6c, 0x3f, 0x07, 0x53, 0x03, 0x84, 0xc6, 0x36, 0x9f, 0xdf, 0x2c, 0xc1, 0xec, 0x30, 0xe6, + 0x8c, 0x50, 0x89, 0x89, 0x88, 0x4a, 0x7c, 0xae, 0x9f, 0x83, 0xa7, 0x87, 0x4f, 0xc2, 0xc0, 0x5c, + 0x7f, 0x42, 0x82, 0x63, 0xf1, 0xe1, 0x41, 0x6c, 0x1f, 0x5e, 0x84, 0x74, 0x07, 0x7b, 0x7b, 0xb6, + 0x70, 0x84, 0x1f, 0x8a, 0x71, 0xaf, 0x48, 0x75, 0xff, 0x64, 0x73, 0xac, 0xb0, 0x7f, 0x96, 0x1c, + 0xe6, 0xe3, 0xb3, 0xde, 0x0c, 0xf4, 0xf4, 0xdb, 0x12, 0x70, 0x34, 0x96, 0x78, 0x6c, 0x47, 0xef, + 0x07, 0x30, 0xad, 0x6e, 0xcf, 0x63, 0xce, 0x2e, 0xd3, 0xc4, 0x59, 0x5a, 0x42, 0x95, 0x17, 0xd1, + 0xb2, 0x3d, 0xcf, 0xaf, 0x67, 0x46, 0x14, 0x58, 0x11, 0x05, 0x78, 0x26, 0xe8, 0x68, 0x8a, 0x76, + 0xf4, 0xd4, 0x90, 0x91, 0x0e, 0x08, 0xe6, 0xe3, 0x20, 0x1b, 0x6d, 0x13, 0x5b, 0x9e, 0xe6, 0x7a, + 0x0e, 0xd6, 0x3b, 0xa6, 0xb5, 0xcb, 0xec, 0x6c, 0x79, 0x62, 0x47, 0x6f, 0xbb, 0x58, 0x2d, 0xb1, + 0xea, 0x86, 0xa8, 0x25, 0x18, 0x54, 0x80, 0x9c, 0x10, 0x46, 0x3a, 0x82, 0xc1, 0xaa, 0x7d, 0x0c, + 0xe5, 0xbb, 0xb3, 0x90, 0x0b, 0x05, 0x53, 0xe8, 0x34, 0xe4, 0x5f, 0xd7, 0x6f, 0xea, 0x9a, 0x08, + 0x90, 0x19, 0x27, 0x72, 0xa4, 0x6c, 0x93, 0x07, 0xc9, 0x8f, 0xc3, 0x0c, 0x05, 0xb1, 0x7b, 0x1e, + 0x76, 0x34, 0xa3, 0xad, 0xbb, 0x2e, 0x65, 0x5a, 0x86, 0x82, 0x22, 0x52, 0xb7, 0x41, 0xaa, 0x96, + 0x44, 0x0d, 0x7a, 0x0a, 0xa6, 0x29, 0x46, 0xa7, 0xd7, 0xf6, 0xcc, 0x6e, 0x1b, 0x6b, 0x24, 0x64, + 0x77, 0xa9, 0xc9, 0xf1, 0x7b, 0x36, 0x45, 0x20, 0xd6, 0x38, 0x00, 0xe9, 0x91, 0x8b, 0x96, 0xe1, + 0x7e, 0x8a, 0xb6, 0x8b, 0x2d, 0xec, 0xe8, 0x1e, 0xd6, 0xf0, 0xfb, 0x7a, 0x7a, 0xdb, 0xd5, 0x74, + 0xab, 0xa5, 0xed, 0xe9, 0xee, 0xde, 0xec, 0x8c, 0xef, 0x96, 0x9c, 0x20, 0x80, 0x2b, 0x1c, 0xae, + 0x46, 0xc1, 0x2a, 0x56, 0xeb, 0xaa, 0xee, 0xee, 0xa1, 0x32, 0x1c, 0xa3, 0x54, 0x5c, 0xcf, 0x31, + 0xad, 0x5d, 0xcd, 0xd8, 0xc3, 0xc6, 0x0d, 0xad, 0xe7, 0xed, 0x3c, 0x33, 0x7b, 0x32, 0xdc, 0x3e, + 0xed, 0x61, 0x83, 0xc2, 0x2c, 0x11, 0x90, 0x2d, 0x6f, 0xe7, 0x19, 0xd4, 0x80, 0x3c, 0x99, 0x8c, + 0x8e, 0xf9, 0x06, 0xd6, 0x76, 0x6c, 0x87, 0xda, 0xd0, 0x62, 0x8c, 0x6a, 0x0a, 0x71, 0x70, 0x71, + 0x83, 0x23, 0xac, 0xd9, 0x2d, 0x5c, 0x9e, 0x68, 0x6c, 0xd6, 0x6a, 0xcb, 0x6a, 0x4e, 0x50, 0xb9, + 0x62, 0x3b, 0x44, 0xa0, 0x76, 0x6d, 0x9f, 0xc1, 0x39, 0x26, 0x50, 0xbb, 0xb6, 0x60, 0xef, 0x53, + 0x30, 0x6d, 0x18, 0x6c, 0xcc, 0xa6, 0xa1, 0xf1, 0xc0, 0xda, 0x9d, 0x95, 0x23, 0xcc, 0x32, 0x8c, + 0x15, 0x06, 0xc0, 0x65, 0xdc, 0x45, 0xcf, 0xc2, 0xd1, 0x80, 0x59, 0x61, 0xc4, 0xa9, 0x81, 0x51, + 0xf6, 0xa3, 0x3e, 0x05, 0xd3, 0xdd, 0xfd, 0x41, 0x44, 0x14, 0x69, 0xb1, 0xbb, 0xdf, 0x8f, 0xf6, + 0x34, 0xcc, 0x74, 0xf7, 0xba, 0x83, 0x78, 0xe7, 0xc3, 0x78, 0xa8, 0xbb, 0xd7, 0xed, 0x47, 0x7c, + 0x90, 0x66, 0x59, 0x1c, 0x6c, 0x50, 0xef, 0xf0, 0x78, 0x18, 0x3c, 0x54, 0x81, 0x16, 0x41, 0x36, + 0x0c, 0x0d, 0x5b, 0xfa, 0x76, 0x1b, 0x6b, 0xba, 0x83, 0x2d, 0xdd, 0x9d, 0x9d, 0xa7, 0xc0, 0x29, + 0xcf, 0xe9, 0x61, 0xb5, 0x68, 0x18, 0x35, 0x5a, 0x59, 0xa1, 0x75, 0xe8, 0x3c, 0x4c, 0xd9, 0xdb, + 0xaf, 0x1b, 0x4c, 0x22, 0xb5, 0xae, 0x83, 0x77, 0xcc, 0xdb, 0xb3, 0x0f, 0x50, 0xf6, 0x96, 0x48, + 0x05, 0x95, 0xc7, 0x4d, 0x5a, 0x8c, 0x1e, 0x06, 0xd9, 0x70, 0xf7, 0x74, 0xa7, 0x4b, 0x55, 0xb2, + 0xdb, 0xd5, 0x0d, 0x3c, 0xfb, 0x20, 0x03, 0x65, 0xe5, 0xeb, 0xa2, 0x98, 0xac, 0x08, 0xf7, 0x96, + 0xb9, 0xe3, 0x09, 0x8a, 0x67, 0xd9, 0x8a, 0xa0, 0x65, 0x9c, 0xda, 0x39, 0x90, 0x09, 0x27, 0x22, + 0x0d, 0x9f, 0xa3, 0x60, 0xc5, 0xee, 0x5e, 0x37, 0xdc, 0xee, 0x19, 0x28, 0x10, 0xc8, 0xa0, 0xd1, + 0x87, 0x99, 0xe3, 0xd6, 0xdd, 0x0b, 0xb5, 0xf8, 0x24, 0x1c, 0x23, 0x40, 0x1d, 0xec, 0xe9, 0x2d, + 0xdd, 0xd3, 0x43, 0xd0, 0x8f, 0x52, 0x68, 0xc2, 0xf6, 0x35, 0x5e, 0x19, 0xe9, 0xa7, 0xd3, 0xdb, + 0xde, 0xf7, 0x05, 0xeb, 0x31, 0xd6, 0x4f, 0x52, 0x26, 0x44, 0xeb, 0x5d, 0x8b, 0xa6, 0x94, 0x32, + 0xe4, 0xc3, 0x72, 0x8f, 0xb2, 0xc0, 0x24, 0x5f, 0x96, 0x88, 0x13, 0xb4, 0xb4, 0xb1, 0x4c, 0xdc, + 0x97, 0xd7, 0x6a, 0x72, 0x82, 0xb8, 0x51, 0xab, 0xf5, 0x66, 0x4d, 0x53, 0xb7, 0xd6, 0x9b, 0xf5, + 0xb5, 0x9a, 0x9c, 0x0c, 0x39, 0xf6, 0xd7, 0x52, 0x99, 0x87, 0xe4, 0xb3, 0xca, 0x2f, 0x24, 0xa1, + 0x18, 0x8d, 0xad, 0xd1, 0xf3, 0x70, 0x5c, 0xa4, 0xc8, 0x5c, 0xec, 0x69, 0xb7, 0x4c, 0x87, 0x2e, + 0xc8, 0x8e, 0xce, 0x8c, 0xa3, 0x2f, 0x3f, 0x33, 0x1c, 0xaa, 0x81, 0xbd, 0xf7, 0x9a, 0x0e, 0x59, + 0x6e, 0x1d, 0xdd, 0x43, 0xab, 0x30, 0x6f, 0xd9, 0x9a, 0xeb, 0xe9, 0x56, 0x4b, 0x77, 0x5a, 0x5a, + 0x90, 0x9c, 0xd4, 0x74, 0xc3, 0xc0, 0xae, 0x6b, 0x33, 0x43, 0xe8, 0x53, 0xb9, 0xcf, 0xb2, 0x1b, + 0x1c, 0x38, 0xb0, 0x10, 0x15, 0x0e, 0xda, 0x27, 0xbe, 0xc9, 0x61, 0xe2, 0x7b, 0x12, 0xb2, 0x1d, + 0xbd, 0xab, 0x61, 0xcb, 0x73, 0xf6, 0xa9, 0x7f, 0x9e, 0x51, 0x33, 0x1d, 0xbd, 0x5b, 0x23, 0xdf, + 0xe8, 0x3a, 0x3c, 0x14, 0x80, 0x6a, 0x6d, 0xbc, 0xab, 0x1b, 0xfb, 0x1a, 0x75, 0xc6, 0x69, 0xa2, + 0x47, 0x33, 0x6c, 0x6b, 0xa7, 0x6d, 0x1a, 0x9e, 0x4b, 0xf5, 0x03, 0xd3, 0x71, 0x4a, 0x80, 0xb1, + 0x4a, 0x11, 0xae, 0xb9, 0xb6, 0x45, 0x7d, 0xf0, 0x25, 0x01, 0xfd, 0xee, 0xcd, 0x70, 0x74, 0x96, + 0x52, 0xf2, 0xc4, 0xb5, 0x54, 0x66, 0x42, 0x4e, 0x5f, 0x4b, 0x65, 0xd2, 0xf2, 0xe4, 0xb5, 0x54, + 0x26, 0x23, 0x67, 0xaf, 0xa5, 0x32, 0x59, 0x19, 0x94, 0x0f, 0x64, 0x21, 0x1f, 0x8e, 0x0c, 0x48, + 0xa0, 0x65, 0x50, 0xdb, 0x28, 0x51, 0xed, 0x79, 0xe6, 0xc0, 0x38, 0x62, 0x71, 0x89, 0x18, 0xcd, + 0x72, 0x9a, 0xb9, 0xe1, 0x2a, 0xc3, 0x24, 0x0e, 0x0b, 0x11, 0x6b, 0xcc, 0xdc, 0x9e, 0x8c, 0xca, + 0xbf, 0xd0, 0x0a, 0xa4, 0x5f, 0x77, 0x29, 0xed, 0x34, 0xa5, 0xfd, 0xc0, 0xc1, 0xb4, 0xaf, 0x35, + 0x28, 0xf1, 0xec, 0xb5, 0x86, 0xb6, 0xbe, 0xa1, 0xae, 0x55, 0x56, 0x55, 0x8e, 0x8e, 0x4e, 0x40, + 0xaa, 0xad, 0xbf, 0xb1, 0x1f, 0x35, 0xaf, 0xb4, 0x08, 0x2d, 0x42, 0xa9, 0x67, 0xb1, 0xa8, 0x9b, + 0x4c, 0x15, 0x81, 0x2a, 0x85, 0xa1, 0x8a, 0x41, 0xed, 0x2a, 0x81, 0x1f, 0x53, 0x3c, 0x4e, 0x40, + 0xea, 0x16, 0xd6, 0x6f, 0x44, 0x8d, 0x20, 0x2d, 0x42, 0xe7, 0x20, 0xdf, 0xc2, 0xdb, 0xbd, 0x5d, + 0xcd, 0xc1, 0x2d, 0xdd, 0xf0, 0xa2, 0xaa, 0x3f, 0x47, 0xab, 0x54, 0x5a, 0x83, 0x5e, 0x86, 0x2c, + 0x99, 0x23, 0x8b, 0xce, 0xf1, 0x14, 0x65, 0xc1, 0x63, 0x07, 0xb3, 0x80, 0x4f, 0xb1, 0x40, 0x52, + 0x03, 0x7c, 0x74, 0x0d, 0xd2, 0x9e, 0xee, 0xec, 0x62, 0x8f, 0x6a, 0xfe, 0x62, 0x4c, 0xba, 0x2a, + 0x86, 0x52, 0x93, 0x62, 0x10, 0xb6, 0x52, 0x19, 0xe5, 0x14, 0xd0, 0x55, 0x98, 0x64, 0x7f, 0xb9, + 0xb3, 0xd3, 0x0b, 0xc9, 0xc3, 0x13, 0x53, 0x05, 0xfa, 0xbb, 0xa8, 0xb3, 0x2e, 0xc0, 0x04, 0x15, + 0x36, 0x04, 0xc0, 0xc5, 0x4d, 0x3e, 0x82, 0x32, 0x90, 0x5a, 0xda, 0x50, 0x89, 0xde, 0x92, 0x21, + 0xcf, 0x4a, 0xb5, 0xcd, 0x7a, 0x6d, 0xa9, 0x26, 0x27, 0x94, 0xa7, 0x20, 0xcd, 0x24, 0x88, 0xe8, + 0x34, 0x5f, 0x86, 0xe4, 0x23, 0xfc, 0x93, 0xd3, 0x90, 0x44, 0xed, 0xd6, 0x5a, 0xb5, 0xa6, 0xca, + 0x09, 0x65, 0x0b, 0x4a, 0x7d, 0x5c, 0x47, 0x47, 0x61, 0x4a, 0xad, 0x35, 0x6b, 0xeb, 0x24, 0x6a, + 0xd3, 0xb6, 0xd6, 0x5f, 0x5e, 0xdf, 0x78, 0xef, 0xba, 0x7c, 0x24, 0x5a, 0x2c, 0x14, 0xa4, 0x84, + 0x66, 0x40, 0x0e, 0x8a, 0x1b, 0x1b, 0x5b, 0x2a, 0xed, 0xcd, 0x77, 0x24, 0x40, 0xee, 0x67, 0x1b, + 0x3a, 0x0e, 0xd3, 0xcd, 0x8a, 0xba, 0x52, 0x6b, 0x6a, 0x2c, 0x12, 0xf5, 0x49, 0xcf, 0x80, 0x1c, + 0xae, 0xb8, 0x52, 0xa7, 0x81, 0xf6, 0x3c, 0x9c, 0x0c, 0x97, 0xd6, 0x5e, 0x69, 0xd6, 0xd6, 0x1b, + 0xb4, 0xf1, 0xca, 0xfa, 0x0a, 0xd1, 0xd6, 0x7d, 0xf4, 0x44, 0xec, 0x9b, 0x24, 0x5d, 0x8d, 0xd2, + 0xab, 0xad, 0x2e, 0xcb, 0xa9, 0xfe, 0xe2, 0x8d, 0xf5, 0xda, 0xc6, 0x15, 0x79, 0xa2, 0xbf, 0x75, + 0x1a, 0x0f, 0xa7, 0xd1, 0x1c, 0x1c, 0xeb, 0x2f, 0xd5, 0x6a, 0xeb, 0x4d, 0xf5, 0x55, 0x79, 0xb2, + 0xbf, 0xe1, 0x46, 0x4d, 0xbd, 0x5e, 0x5f, 0xaa, 0xc9, 0x19, 0x74, 0x0c, 0x50, 0xb4, 0x47, 0xcd, + 0xab, 0x1b, 0xcb, 0x72, 0x76, 0x40, 0x3f, 0x29, 0x2e, 0xe4, 0xc3, 0x41, 0xe9, 0x5f, 0x8a, 0x6a, + 0x54, 0x3e, 0x9c, 0x80, 0x5c, 0x28, 0xc8, 0x24, 0xd1, 0x81, 0xde, 0x6e, 0xdb, 0xb7, 0x34, 0xbd, + 0x6d, 0xea, 0x2e, 0xd7, 0x5e, 0x40, 0x8b, 0x2a, 0xa4, 0x64, 0x5c, 0x6d, 0x31, 0xbe, 0xbd, 0x48, + 0xff, 0x75, 0xb4, 0x17, 0x13, 0x72, 0x5a, 0xf9, 0xb8, 0x04, 0x72, 0x7f, 0xf4, 0xd8, 0x37, 0x7c, + 0x69, 0xd8, 0xf0, 0xff, 0x52, 0xe6, 0xee, 0x63, 0x12, 0x14, 0xa3, 0x21, 0x63, 0x5f, 0xf7, 0x4e, + 0xff, 0x95, 0x76, 0xef, 0x77, 0x12, 0x50, 0x88, 0x04, 0x8a, 0xe3, 0xf6, 0xee, 0x7d, 0x30, 0x65, + 0xb6, 0x70, 0xa7, 0x6b, 0x7b, 0xd8, 0x32, 0xf6, 0xb5, 0x36, 0xbe, 0x89, 0xdb, 0xb3, 0x0a, 0x55, + 0xf1, 0x17, 0x0e, 0x0e, 0x45, 0x17, 0xeb, 0x01, 0xde, 0x2a, 0x41, 0x2b, 0x4f, 0xd7, 0x97, 0x6b, + 0x6b, 0x9b, 0x1b, 0xcd, 0xda, 0xfa, 0xd2, 0xab, 0x42, 0xbb, 0xa8, 0xb2, 0xd9, 0x07, 0xf6, 0x2e, + 0x2a, 0xed, 0x4d, 0x90, 0xfb, 0x3b, 0x45, 0x74, 0x45, 0x4c, 0xb7, 0xe4, 0x23, 0x68, 0x1a, 0x4a, + 0xeb, 0x1b, 0x5a, 0xa3, 0xbe, 0x5c, 0xd3, 0x6a, 0x57, 0xae, 0xd4, 0x96, 0x9a, 0x0d, 0x96, 0x5c, + 0xf4, 0xa1, 0x9b, 0x72, 0x22, 0xcc, 0xe2, 0x8f, 0x24, 0x61, 0x3a, 0xa6, 0x27, 0xa8, 0xc2, 0xd3, + 0x02, 0x2c, 0x53, 0xf1, 0xd8, 0x38, 0xbd, 0x5f, 0x24, 0x8e, 0xf9, 0xa6, 0xee, 0x78, 0x3c, 0x8b, + 0xf0, 0x30, 0x10, 0x2e, 0x59, 0x1e, 0xf1, 0x13, 0x1c, 0x9e, 0xb4, 0x65, 0xb9, 0x82, 0x52, 0x50, + 0xce, 0xf2, 0xb6, 0x8f, 0x02, 0xea, 0xda, 0xae, 0xe9, 0x99, 0x37, 0xb1, 0x66, 0x5a, 0x22, 0xc3, + 0x9b, 0x5a, 0x90, 0xce, 0xa5, 0x54, 0x59, 0xd4, 0xd4, 0x2d, 0xcf, 0x87, 0xb6, 0xf0, 0xae, 0xde, + 0x07, 0x4d, 0xfc, 0x98, 0xa4, 0x2a, 0x8b, 0x1a, 0x1f, 0xfa, 0x34, 0xe4, 0x5b, 0x76, 0x8f, 0x04, + 0x54, 0x0c, 0x8e, 0x68, 0x0b, 0x49, 0xcd, 0xb1, 0x32, 0x1f, 0x84, 0x87, 0xca, 0x41, 0x6a, 0x39, + 0xaf, 0xe6, 0x58, 0x19, 0x03, 0x39, 0x0b, 0x25, 0x7d, 0x77, 0xd7, 0x21, 0xc4, 0x05, 0x21, 0x16, + 0xfc, 0x17, 0xfd, 0x62, 0x0a, 0x38, 0x77, 0x0d, 0x32, 0x82, 0x0f, 0xc4, 0x1f, 0x26, 0x9c, 0xd0, + 0xba, 0x2c, 0xa3, 0x95, 0x38, 0x97, 0x55, 0x33, 0x96, 0xa8, 0x3c, 0x0d, 0x79, 0xd3, 0xd5, 0x82, + 0xbd, 0xcd, 0xc4, 0x42, 0xe2, 0x5c, 0x46, 0xcd, 0x99, 0xae, 0xbf, 0x47, 0xa2, 0x7c, 0x22, 0x01, + 0xc5, 0xe8, 0xae, 0x2d, 0x5a, 0x86, 0x4c, 0xdb, 0xe6, 0x9b, 0x2c, 0xec, 0xc8, 0xc0, 0xb9, 0x11, + 0x1b, 0xbd, 0x8b, 0xab, 0x1c, 0x5e, 0xf5, 0x31, 0xe7, 0x7e, 0x4d, 0x82, 0x8c, 0x28, 0x46, 0xc7, + 0x20, 0xd5, 0xd5, 0xbd, 0x3d, 0x4a, 0x6e, 0xa2, 0x9a, 0x90, 0x25, 0x95, 0x7e, 0x93, 0x72, 0xb7, + 0xab, 0xb3, 0x7d, 0x22, 0x5e, 0x4e, 0xbe, 0xc9, 0xbc, 0xb6, 0xb1, 0xde, 0xa2, 0x99, 0x05, 0xbb, + 0xd3, 0xc1, 0x96, 0xe7, 0x8a, 0x79, 0xe5, 0xe5, 0x4b, 0xbc, 0x18, 0x3d, 0x02, 0x53, 0x9e, 0xa3, + 0x9b, 0xed, 0x08, 0x6c, 0x8a, 0xc2, 0xca, 0xa2, 0xc2, 0x07, 0x2e, 0xc3, 0x09, 0x41, 0xb7, 0x85, + 0x3d, 0xdd, 0xd8, 0xc3, 0xad, 0x00, 0x29, 0x4d, 0x33, 0x88, 0xc7, 0x39, 0xc0, 0x32, 0xaf, 0x17, + 0xb8, 0xca, 0xe7, 0x12, 0x30, 0x25, 0x72, 0x21, 0x2d, 0x9f, 0x59, 0x6b, 0x00, 0xba, 0x65, 0xd9, + 0x5e, 0x98, 0x5d, 0x83, 0xa2, 0x3c, 0x80, 0xb7, 0x58, 0xf1, 0x91, 0xd4, 0x10, 0x81, 0xb9, 0x2f, + 0x49, 0x00, 0x41, 0xd5, 0x50, 0xbe, 0xcd, 0x43, 0x8e, 0xef, 0xc9, 0xd3, 0x83, 0x1d, 0x2c, 0x7d, + 0x06, 0xac, 0xe8, 0x8a, 0xd9, 0xa6, 0x49, 0xce, 0x6d, 0xbc, 0x6b, 0x5a, 0x7c, 0x77, 0x86, 0x7d, + 0x88, 0x24, 0x67, 0x2a, 0xd8, 0x9e, 0x54, 0x21, 0xe3, 0xe2, 0x8e, 0x6e, 0x79, 0xa6, 0xc1, 0xf7, + 0x5b, 0x2e, 0x1f, 0xaa, 0xf3, 0x8b, 0x0d, 0x8e, 0xad, 0xfa, 0x74, 0x94, 0x73, 0x90, 0x11, 0xa5, + 0xc4, 0xf1, 0x5b, 0xdf, 0x58, 0xaf, 0xc9, 0x47, 0xd0, 0x24, 0x24, 0x1b, 0xb5, 0xa6, 0x2c, 0x91, + 0x20, 0xb6, 0xb2, 0x5a, 0xaf, 0x34, 0xe4, 0x44, 0xf5, 0xef, 0xc2, 0xb4, 0x61, 0x77, 0xfa, 0x1b, + 0xac, 0xca, 0x7d, 0x09, 0x44, 0xf7, 0xaa, 0xf4, 0xda, 0x63, 0x1c, 0x68, 0xd7, 0x6e, 0xeb, 0xd6, + 0xee, 0xa2, 0xed, 0xec, 0x06, 0xc7, 0x62, 0x48, 0xac, 0xe1, 0x86, 0x0e, 0xc7, 0x74, 0xb7, 0xff, + 0x42, 0x92, 0x7e, 0x38, 0x91, 0x5c, 0xd9, 0xac, 0xfe, 0x78, 0x62, 0x6e, 0x85, 0x21, 0x6e, 0x8a, + 0xe1, 0xa8, 0x78, 0xa7, 0x8d, 0x0d, 0xd2, 0x79, 0xf8, 0x68, 0x0a, 0xa6, 0xf4, 0x8e, 0x69, 0xd9, + 0x17, 0xe8, 0xbf, 0xfc, 0x50, 0xcd, 0x04, 0xfd, 0x98, 0x1b, 0x79, 0xfa, 0xa6, 0x7c, 0x99, 0x29, + 0x30, 0x34, 0x6a, 0x0f, 0x7b, 0xf6, 0x4f, 0xbe, 0xe3, 0xc7, 0x26, 0x82, 0xdc, 0x67, 0x79, 0x0d, + 0x64, 0x11, 0x76, 0x63, 0xcb, 0xb0, 0x89, 0xb4, 0x8d, 0xa6, 0xf1, 0xa7, 0x82, 0x46, 0x89, 0xe3, + 0xd6, 0x38, 0x6a, 0xf9, 0x79, 0xc8, 0xf8, 0x64, 0x0e, 0xde, 0x4e, 0x9a, 0xfd, 0x9f, 0x82, 0x88, + 0x8f, 0x51, 0x7e, 0x09, 0x80, 0x39, 0x3b, 0x2c, 0x2d, 0x7b, 0x30, 0xfe, 0x57, 0x04, 0x7e, 0x96, + 0xe2, 0x10, 0x2d, 0x54, 0x5e, 0x81, 0x62, 0xcb, 0xb6, 0x3c, 0xcd, 0xee, 0x98, 0x1e, 0xee, 0x74, + 0xbd, 0xfd, 0x51, 0x44, 0xfe, 0x8c, 0x11, 0xc9, 0xa8, 0x05, 0x82, 0xb7, 0x21, 0xd0, 0x48, 0x4f, + 0xd8, 0xce, 0xda, 0x38, 0x3d, 0xf9, 0x73, 0xbf, 0x27, 0x14, 0x87, 0xf4, 0xa4, 0x5a, 0xfb, 0xe5, + 0xcf, 0x9f, 0x92, 0x3e, 0xf7, 0xf9, 0x53, 0xd2, 0xef, 0x7c, 0xfe, 0x94, 0xf4, 0xa1, 0x2f, 0x9c, + 0x3a, 0xf2, 0xb9, 0x2f, 0x9c, 0x3a, 0xf2, 0x9b, 0x5f, 0x38, 0x75, 0xe4, 0xb5, 0x47, 0x76, 0x4d, + 0x6f, 0xaf, 0xb7, 0xbd, 0x68, 0xd8, 0x9d, 0x0b, 0x86, 0xed, 0x76, 0x6c, 0x97, 0xff, 0xf7, 0x98, + 0xdb, 0xba, 0xc1, 0xe5, 0xc7, 0xbb, 0xcd, 0xa4, 0x60, 0x3b, 0xcd, 0x76, 0xd4, 0xe0, 0x0f, 0x1f, + 0x81, 0x99, 0x5d, 0x7b, 0xd7, 0xa6, 0x9f, 0x17, 0xc8, 0x5f, 0x5c, 0x40, 0xb2, 0x7e, 0xe9, 0x18, + 0x42, 0xb2, 0x0e, 0xd3, 0x1c, 0x58, 0xa3, 0x87, 0x3b, 0x58, 0x22, 0x0b, 0x1d, 0xb8, 0x8b, 0x32, + 0xfb, 0x33, 0xbf, 0x47, 0x7d, 0x56, 0x75, 0x8a, 0xa3, 0x92, 0x3a, 0x96, 0xeb, 0x2a, 0xab, 0x70, + 0x34, 0x42, 0x8f, 0x59, 0x10, 0xec, 0x8c, 0xa0, 0xf8, 0xef, 0x39, 0xc5, 0xe9, 0x10, 0xc5, 0x06, + 0x47, 0x2d, 0x2f, 0x41, 0xe1, 0x30, 0xb4, 0x7e, 0x89, 0xd3, 0xca, 0xe3, 0x30, 0x91, 0x15, 0x28, + 0x51, 0x22, 0x46, 0xcf, 0xf5, 0xec, 0x0e, 0x9d, 0xc3, 0x83, 0xc9, 0xfc, 0x87, 0xdf, 0x63, 0x2a, + 0xbd, 0x48, 0xd0, 0x96, 0x7c, 0xac, 0x72, 0x19, 0xe8, 0x79, 0x96, 0x16, 0x36, 0xda, 0x23, 0x28, + 0xfc, 0x32, 0xef, 0x88, 0x0f, 0x5f, 0xbe, 0x0e, 0x33, 0xe4, 0x6f, 0x6a, 0x3d, 0xc3, 0x3d, 0x19, + 0xbd, 0xe5, 0x32, 0xfb, 0x5f, 0xbe, 0x99, 0x59, 0x8d, 0x69, 0x9f, 0x40, 0xa8, 0x4f, 0xa1, 0x59, + 0xdc, 0xc5, 0x9e, 0x87, 0x1d, 0x57, 0xd3, 0xdb, 0x71, 0xdd, 0x0b, 0xe5, 0xac, 0x67, 0x7f, 0xe0, + 0xcb, 0xd1, 0x59, 0x5c, 0x61, 0x98, 0x95, 0x76, 0xbb, 0xbc, 0x05, 0xc7, 0x63, 0xa4, 0x62, 0x0c, + 0x9a, 0x1f, 0xe1, 0x34, 0x67, 0x06, 0x24, 0x83, 0x90, 0xdd, 0x04, 0x51, 0xee, 0xcf, 0xe5, 0x18, + 0x34, 0x3f, 0xca, 0x69, 0x22, 0x8e, 0x2b, 0xa6, 0x94, 0x50, 0xbc, 0x06, 0x53, 0x37, 0xb1, 0xb3, + 0x6d, 0xbb, 0x7c, 0x9f, 0x60, 0x0c, 0x72, 0x1f, 0xe3, 0xe4, 0x4a, 0x1c, 0x91, 0x6e, 0x1c, 0x10, + 0x5a, 0xcf, 0x42, 0x66, 0x47, 0x37, 0xf0, 0x18, 0x24, 0xee, 0x72, 0x12, 0x93, 0x04, 0x9e, 0xa0, + 0x56, 0x20, 0xbf, 0x6b, 0x73, 0x07, 0x6a, 0x34, 0xfa, 0xc7, 0x39, 0x7a, 0x4e, 0xe0, 0x70, 0x12, + 0x5d, 0xbb, 0xdb, 0x6b, 0x13, 0xef, 0x6a, 0x34, 0x89, 0x1f, 0x14, 0x24, 0x04, 0x0e, 0x27, 0x71, + 0x08, 0xb6, 0xbe, 0x29, 0x48, 0xb8, 0x21, 0x7e, 0xbe, 0x04, 0x39, 0xdb, 0x6a, 0xef, 0xdb, 0xd6, + 0x38, 0x9d, 0xf8, 0x21, 0x4e, 0x01, 0x38, 0x0a, 0x21, 0xf0, 0x1c, 0x64, 0xc7, 0x9d, 0x88, 0x1f, + 0xfd, 0xb2, 0x58, 0x1e, 0x62, 0x06, 0x56, 0xa0, 0x24, 0x14, 0x94, 0x69, 0x5b, 0x63, 0x90, 0xf8, + 0x31, 0x4e, 0xa2, 0x18, 0x42, 0xe3, 0xc3, 0xf0, 0xb0, 0xeb, 0xed, 0xe2, 0x71, 0x88, 0x7c, 0x42, + 0x0c, 0x83, 0xa3, 0x70, 0x56, 0x6e, 0x63, 0xcb, 0xd8, 0x1b, 0x8f, 0xc2, 0x27, 0x05, 0x2b, 0x05, + 0x0e, 0x21, 0xb1, 0x04, 0x85, 0x8e, 0xee, 0xb8, 0x7b, 0x7a, 0x7b, 0xac, 0xe9, 0xf8, 0x14, 0xa7, + 0x91, 0xf7, 0x91, 0x38, 0x47, 0x7a, 0xd6, 0x61, 0xc8, 0xfc, 0xb8, 0xe0, 0x48, 0x08, 0x8d, 0x2f, + 0x3d, 0xd7, 0xa3, 0x9b, 0x2a, 0x87, 0xa1, 0xf6, 0x13, 0x62, 0xe9, 0x31, 0xdc, 0xb5, 0x30, 0xc5, + 0xe7, 0x20, 0xeb, 0x9a, 0x6f, 0x8c, 0x45, 0xe6, 0x9f, 0x88, 0x99, 0xa6, 0x08, 0x04, 0xf9, 0x55, + 0x38, 0x11, 0x6b, 0x26, 0xc6, 0x20, 0xf6, 0x93, 0x9c, 0xd8, 0xb1, 0x18, 0x53, 0xc1, 0x55, 0xc2, + 0x61, 0x49, 0xfe, 0x94, 0x50, 0x09, 0xb8, 0x8f, 0xd6, 0x26, 0x09, 0x69, 0x5d, 0x7d, 0xe7, 0x70, + 0x5c, 0xfb, 0xa7, 0x82, 0x6b, 0x0c, 0x37, 0xc2, 0xb5, 0x26, 0x1c, 0xe3, 0x14, 0x0f, 0x37, 0xaf, + 0x3f, 0x2d, 0x14, 0x2b, 0xc3, 0xde, 0x8a, 0xce, 0xee, 0xd7, 0xc2, 0x9c, 0xcf, 0x4e, 0x11, 0x3b, + 0xb9, 0x5a, 0x47, 0xef, 0x8e, 0x41, 0xf9, 0x67, 0x38, 0x65, 0xa1, 0xf1, 0xfd, 0xe0, 0xcb, 0x5d, + 0xd3, 0xbb, 0x84, 0xf8, 0x2b, 0x30, 0x2b, 0x88, 0xf7, 0x2c, 0x07, 0x1b, 0xf6, 0xae, 0x65, 0xbe, + 0x81, 0x5b, 0x63, 0x90, 0xfe, 0x67, 0x7d, 0x53, 0xb5, 0x15, 0x42, 0x27, 0x94, 0xeb, 0x20, 0xfb, + 0xbe, 0x8a, 0x66, 0x76, 0xba, 0xb6, 0xe3, 0x8d, 0xa0, 0xf8, 0x69, 0x31, 0x53, 0x3e, 0x5e, 0x9d, + 0xa2, 0x95, 0x6b, 0xc0, 0x4e, 0x1a, 0x8d, 0x2b, 0x92, 0x9f, 0xe1, 0x84, 0x0a, 0x01, 0x16, 0x57, + 0x1c, 0x86, 0xdd, 0xe9, 0xea, 0xce, 0x38, 0xfa, 0xef, 0x67, 0x85, 0xe2, 0xe0, 0x28, 0x5c, 0x71, + 0x10, 0x7f, 0x8d, 0x58, 0xfb, 0x31, 0x28, 0xfc, 0x9c, 0x50, 0x1c, 0x02, 0x87, 0x93, 0x10, 0x0e, + 0xc3, 0x18, 0x24, 0xfe, 0xb9, 0x20, 0x21, 0x70, 0x08, 0x89, 0xf7, 0x04, 0x86, 0xd6, 0xc1, 0xbb, + 0xa6, 0xeb, 0xf1, 0xa3, 0x82, 0x07, 0x93, 0xfa, 0xf9, 0x2f, 0x47, 0x9d, 0x30, 0x35, 0x84, 0x4a, + 0x34, 0x11, 0xf7, 0xec, 0x69, 0x40, 0x3f, 0xba, 0x63, 0x9f, 0x15, 0x9a, 0x28, 0x84, 0x46, 0xfa, + 0x16, 0xf2, 0x10, 0x09, 0xdb, 0x0d, 0x12, 0xc6, 0x8e, 0x41, 0xee, 0x5f, 0xf4, 0x75, 0xae, 0x21, + 0x70, 0x09, 0xcd, 0x90, 0xff, 0xd3, 0xb3, 0x6e, 0xe0, 0xfd, 0xb1, 0xa4, 0xf3, 0x17, 0xfa, 0xfc, + 0x9f, 0x2d, 0x86, 0xc9, 0x74, 0x48, 0xa9, 0xcf, 0x9f, 0x1a, 0x1d, 0x01, 0x7d, 0xd3, 0x57, 0xf8, + 0x78, 0xa3, 0xee, 0x54, 0x79, 0x95, 0x08, 0x79, 0xd4, 0xe9, 0x19, 0x4d, 0xec, 0x9b, 0xbf, 0xe2, + 0xcb, 0x79, 0xc4, 0xe7, 0x29, 0x5f, 0x81, 0x42, 0xc4, 0xe1, 0x19, 0x4d, 0xea, 0x5b, 0x38, 0xa9, + 0x7c, 0xd8, 0xdf, 0x29, 0x3f, 0x05, 0x29, 0xe2, 0xbc, 0x8c, 0x46, 0xff, 0x00, 0x47, 0xa7, 0xe0, + 0xe5, 0x17, 0x20, 0x23, 0x9c, 0x96, 0xd1, 0xa8, 0xdf, 0xca, 0x51, 0x7d, 0x14, 0x82, 0x2e, 0x1c, + 0x96, 0xd1, 0xe8, 0x7f, 0x5f, 0xa0, 0x0b, 0x14, 0x82, 0x3e, 0x3e, 0x0b, 0xff, 0xcd, 0xb7, 0xa7, + 0xb8, 0xd1, 0x11, 0xbc, 0x7b, 0x0e, 0x26, 0xb9, 0xa7, 0x32, 0x1a, 0xfb, 0xdb, 0x78, 0xe3, 0x02, + 0xa3, 0xfc, 0x34, 0x4c, 0x8c, 0xc9, 0xf0, 0xef, 0xe4, 0xa8, 0x0c, 0xbe, 0xbc, 0x04, 0xb9, 0x90, + 0x77, 0x32, 0x1a, 0xfd, 0xbb, 0x38, 0x7a, 0x18, 0x8b, 0x74, 0x9d, 0x7b, 0x27, 0xa3, 0x09, 0xfc, + 0x03, 0xd1, 0x75, 0x8e, 0x41, 0xd8, 0x26, 0x1c, 0x93, 0xd1, 0xd8, 0x1f, 0x12, 0x5c, 0x17, 0x28, + 0xe5, 0x97, 0x20, 0xeb, 0x1b, 0x9b, 0xd1, 0xf8, 0xdf, 0xcd, 0xf1, 0x03, 0x1c, 0xc2, 0x81, 0x90, + 0xb1, 0x1b, 0x4d, 0xe2, 0x1f, 0x0a, 0x0e, 0x84, 0xb0, 0xc8, 0x32, 0xea, 0x77, 0x60, 0x46, 0x53, + 0xfa, 0x1e, 0xb1, 0x8c, 0xfa, 0xfc, 0x17, 0x32, 0x9b, 0x54, 0xe7, 0x8f, 0x26, 0xf1, 0xbd, 0x62, + 0x36, 0x29, 0x3c, 0xe9, 0x46, 0xbf, 0x47, 0x30, 0x9a, 0xc6, 0xf7, 0x8b, 0x6e, 0xf4, 0x39, 0x04, + 0xe5, 0x4d, 0x40, 0x83, 0xde, 0xc0, 0x68, 0x7a, 0x1f, 0xe6, 0xf4, 0xa6, 0x06, 0x9c, 0x81, 0xf2, + 0x7b, 0xe1, 0x58, 0xbc, 0x27, 0x30, 0x9a, 0xea, 0x0f, 0x7c, 0xa5, 0x2f, 0x76, 0x0b, 0x3b, 0x02, + 0xe5, 0x66, 0x60, 0x52, 0xc2, 0x5e, 0xc0, 0x68, 0xb2, 0x1f, 0xf9, 0x4a, 0x54, 0x71, 0x87, 0x9d, + 0x80, 0x72, 0x05, 0x20, 0x30, 0xc0, 0xa3, 0x69, 0x7d, 0x8c, 0xd3, 0x0a, 0x21, 0x91, 0xa5, 0xc1, + 0xed, 0xef, 0x68, 0xfc, 0xbb, 0x62, 0x69, 0x70, 0x0c, 0xb2, 0x34, 0x84, 0xe9, 0x1d, 0x8d, 0xfd, + 0x71, 0xb1, 0x34, 0x04, 0x0a, 0x91, 0xec, 0x90, 0x75, 0x1b, 0x4d, 0xe1, 0x87, 0x84, 0x64, 0x87, + 0xb0, 0xca, 0xeb, 0x30, 0x35, 0x60, 0x10, 0x47, 0x93, 0xfa, 0x61, 0x4e, 0x4a, 0xee, 0xb7, 0x87, + 0x61, 0xe3, 0xc5, 0x8d, 0xe1, 0x68, 0x6a, 0x3f, 0xd2, 0x67, 0xbc, 0xb8, 0x2d, 0x2c, 0x3f, 0x07, + 0x19, 0xab, 0xd7, 0x6e, 0x93, 0xc5, 0x33, 0x2a, 0xe5, 0xf5, 0xdf, 0xbf, 0xca, 0xb9, 0x23, 0x10, + 0xca, 0x4f, 0xc1, 0x04, 0xee, 0x6c, 0xe3, 0xd6, 0x28, 0xcc, 0x3f, 0xf8, 0xaa, 0x50, 0x98, 0x04, + 0xba, 0xfc, 0x12, 0x00, 0x4b, 0x8d, 0xd0, 0x43, 0x1a, 0x23, 0x70, 0xbf, 0xf4, 0x55, 0x7e, 0xf8, + 0x32, 0x40, 0x09, 0x08, 0x8c, 0x93, 0xa9, 0xfb, 0x72, 0x94, 0x00, 0x9d, 0x91, 0x67, 0x61, 0xf2, + 0x75, 0xd7, 0xb6, 0x3c, 0x7d, 0x64, 0xc6, 0xf2, 0x0f, 0x39, 0xb6, 0x80, 0x27, 0x0c, 0xeb, 0xd8, + 0x0e, 0xf6, 0xf4, 0x5d, 0x77, 0x14, 0xee, 0x1f, 0x71, 0x5c, 0x1f, 0x81, 0x20, 0x1b, 0xba, 0xeb, + 0x8d, 0x33, 0xee, 0xff, 0x21, 0x90, 0x05, 0x02, 0xe9, 0x34, 0xf9, 0xfb, 0x06, 0x1e, 0x99, 0xe1, + 0xfc, 0x63, 0xd1, 0x69, 0x0e, 0x5f, 0x7e, 0x01, 0xb2, 0xe4, 0x4f, 0x76, 0xa2, 0x7a, 0x04, 0xf2, + 0x9f, 0x70, 0xe4, 0x00, 0x83, 0xb4, 0xec, 0x7a, 0x2d, 0xcf, 0x1c, 0xcd, 0xec, 0x3f, 0xe5, 0x33, + 0x2d, 0xe0, 0xcb, 0x15, 0xc8, 0xb9, 0x5e, 0xab, 0xd5, 0xe3, 0xfe, 0xe9, 0xa8, 0xfc, 0xf0, 0x57, + 0xfd, 0x94, 0x85, 0x8f, 0x43, 0x66, 0xfb, 0xd6, 0x0d, 0xaf, 0x6b, 0xd3, 0xdd, 0xb8, 0x91, 0x19, + 0x62, 0x4e, 0x21, 0x84, 0x52, 0x5e, 0x82, 0x3c, 0x19, 0x8b, 0xb8, 0xa9, 0x32, 0x32, 0x3f, 0xcc, + 0x19, 0x10, 0x41, 0xaa, 0x7e, 0xe3, 0xb0, 0xe4, 0x6e, 0xfc, 0x1e, 0x02, 0xac, 0xd8, 0x2b, 0x36, + 0xdb, 0x3d, 0x78, 0xed, 0xc1, 0xc1, 0xec, 0x6f, 0x34, 0xaf, 0x4b, 0xff, 0x82, 0xff, 0x25, 0xc1, + 0xfd, 0x86, 0xdd, 0xc1, 0xde, 0xf6, 0x8e, 0x77, 0xc1, 0x70, 0xf6, 0xbb, 0x9e, 0x7d, 0xe1, 0xe6, + 0xc5, 0x0b, 0x37, 0xf0, 0xbe, 0xcb, 0x13, 0xbf, 0x48, 0x54, 0x2f, 0xb2, 0xea, 0xc5, 0x9b, 0x17, + 0xe7, 0x62, 0x53, 0xc4, 0xca, 0x2b, 0x90, 0xdd, 0xa4, 0x37, 0x57, 0x5f, 0xc6, 0xfb, 0x68, 0x0e, + 0x26, 0x71, 0xeb, 0xd2, 0x53, 0x4f, 0x5d, 0x7c, 0x96, 0xee, 0xc5, 0xe7, 0xaf, 0x1e, 0x51, 0x45, + 0x01, 0x3a, 0x05, 0x59, 0x17, 0x1b, 0xdd, 0x4b, 0x4f, 0x5d, 0xbe, 0x71, 0x91, 0xee, 0xe3, 0x90, + 0xda, 0xa0, 0xa8, 0x9c, 0xf9, 0xe2, 0x9b, 0xf3, 0xd2, 0x17, 0x7f, 0x68, 0x5e, 0xaa, 0x4e, 0x40, 0xd2, 0xed, 0x75, 0xaa, 0x6b, 0x43, 0x93, 0xdc, 0x4f, 0x44, 0x86, 0x29, 0xc6, 0x21, 0xfe, 0xd0, 0xbb, 0xe6, 0x85, 0xc1, 0xd1, 0xf9, 0xc9, 0xee, 0x4f, 0xa5, 0xe0, 0x54, 0xcc, 0xe0, 0xbb, 0x8e, 0x6d, 0xef, 0x1c, 0x7a, 0xf4, 0x3b, 0x30, 0xb1, 0x49, 0x10, 0xd1, 0x0c, 0x4c, 0x78, 0xb6, 0xa7, 0xb7, 0xe9, 0xb8, 0x93, 0x2a, 0xfb, 0x20, 0xa5, 0xec, 0xf2, 0x4c, 0x82, 0x95, 0x9a, 0xe2, 0xde, 0x4c, 0x1b, 0xeb, 0x3b, 0xec, 0x0c, 0x72, 0x92, 0x6e, 0x8f, 0x66, 0x48, 0x01, 0x3d, 0x6e, 0x3c, 0x03, 0x13, 0x7a, 0x8f, 0xed, 0xec, 0x25, 0xcf, 0xe5, 0x55, 0xf6, 0xa1, 0xac, 0xc2, 0x24, 0x4f, - 0xe1, 0x22, 0x19, 0x92, 0x37, 0xf1, 0x3e, 0xe3, 0xaf, 0x4a, 0xfe, 0x44, 0x17, 0x60, 0x82, 0xf6, - 0x9e, 0x5f, 0xae, 0x38, 0xb1, 0x38, 0xd8, 0xfd, 0x45, 0xda, 0x4b, 0x95, 0xc1, 0x29, 0xd7, 0x21, + 0xe1, 0x22, 0x19, 0x92, 0x37, 0xf0, 0x3e, 0xe3, 0xaf, 0x4a, 0xfe, 0x44, 0x17, 0x60, 0x82, 0xf6, + 0x9e, 0x5f, 0xae, 0x38, 0xb1, 0x38, 0xd8, 0xfd, 0x45, 0xda, 0x4b, 0x95, 0xc1, 0x29, 0xd7, 0x20, 0xb3, 0x6c, 0x77, 0x4c, 0xcb, 0x8e, 0x92, 0xcb, 0x32, 0x72, 0xb4, 0xd3, 0xdd, 0x9e, 0xc7, 0x37, 0xdb, 0xd8, 0x07, 0x3a, 0x06, 0x69, 0x76, 0x28, 0x9d, 0x6f, 0x4f, 0xf2, 0x2f, 0x65, 0x09, 0x26, 0x29, 0xed, 0x8d, 0xae, 0x7f, 0x11, 0x4c, 0x0a, 0x5d, 0x04, 0xe3, 0xe4, 0x13, 0x41, 0x6f, 0x11, - 0xa4, 0x5a, 0xba, 0xa7, 0xf3, 0x81, 0xd3, 0xbf, 0x95, 0x17, 0x20, 0xc3, 0x89, 0xb8, 0xe8, 0x09, - 0x48, 0xda, 0x5d, 0x97, 0x6f, 0x30, 0x9e, 0x1c, 0x3a, 0x96, 0x8d, 0x6e, 0x35, 0xf5, 0x2b, 0x6f, - 0xce, 0x1f, 0x51, 0x09, 0xf4, 0x3b, 0x25, 0x2b, 0xdf, 0x9b, 0x80, 0x53, 0x03, 0xfb, 0x1e, 0x5c, + 0xa4, 0x5a, 0xba, 0xa7, 0xf3, 0x81, 0xd3, 0xbf, 0x95, 0x97, 0x20, 0xc3, 0x89, 0xb8, 0xe8, 0x09, + 0x48, 0xda, 0x5d, 0x97, 0x6f, 0x30, 0x9e, 0x1c, 0x3a, 0x96, 0x8d, 0x6e, 0x35, 0xf5, 0xcb, 0x6f, + 0xcd, 0x1f, 0x51, 0x09, 0xf4, 0xbb, 0x25, 0x2b, 0xdf, 0x93, 0x80, 0x53, 0x03, 0xfb, 0x1e, 0x5c, 0x5b, 0x0c, 0xbb, 0x98, 0x5e, 0x86, 0xcc, 0xb2, 0x50, 0x42, 0xb3, 0x30, 0xe9, 0x62, 0xc3, 0xb6, 0x5a, 0x2e, 0x97, 0x0b, 0xf1, 0x49, 0x98, 0x6c, 0xe9, 0x96, 0xed, 0xf2, 0x1b, 0x14, 0xec, 0xa3, - 0xfa, 0x51, 0xe9, 0x70, 0x6b, 0xbf, 0x20, 0x5a, 0xa2, 0xeb, 0x7f, 0x53, 0x7a, 0xe5, 0xe2, 0xc8, - 0xcd, 0xc3, 0x9b, 0x96, 0x7d, 0xdb, 0xf2, 0x07, 0x11, 0xd9, 0x40, 0x3c, 0xd5, 0xbf, 0x81, 0xf8, - 0x1e, 0xdc, 0x6e, 0xbf, 0x48, 0xe0, 0x9b, 0x04, 0xd5, 0xe7, 0xca, 0xc7, 0x53, 0x83, 0x5c, 0xb9, - 0xed, 0xe8, 0xdd, 0x2e, 0x76, 0xdc, 0x61, 0x5c, 0x39, 0x03, 0xb9, 0xe5, 0xd0, 0x21, 0x81, 0x19, - 0x71, 0x59, 0x47, 0xa2, 0x07, 0x08, 0xd8, 0x87, 0xa2, 0x00, 0x5c, 0x6d, 0xdb, 0xba, 0x17, 0x03, - 0x93, 0x08, 0xc1, 0xd4, 0x2d, 0xef, 0xca, 0x93, 0x31, 0x30, 0x49, 0x01, 0x73, 0x06, 0x72, 0x5b, + 0xfa, 0x51, 0xe9, 0x70, 0x6b, 0xbf, 0x20, 0x5a, 0xa2, 0xeb, 0x7f, 0x53, 0x7a, 0xed, 0xe2, 0xc8, + 0xcd, 0xc3, 0x1b, 0x96, 0x7d, 0xcb, 0xf2, 0x07, 0x11, 0xd9, 0x40, 0x3c, 0xd5, 0xbf, 0x81, 0xf8, + 0x5e, 0xdc, 0x6e, 0xbf, 0x4c, 0xe0, 0x9b, 0x04, 0xd5, 0xe7, 0xca, 0xc7, 0x53, 0x83, 0x5c, 0xb9, + 0xe5, 0xe8, 0xdd, 0x2e, 0x76, 0xdc, 0x61, 0x5c, 0x39, 0x03, 0xb9, 0xe5, 0xd0, 0x21, 0x81, 0x19, + 0x71, 0x59, 0x47, 0xa2, 0x07, 0x08, 0xd8, 0x87, 0xa2, 0x00, 0x5c, 0x69, 0xdb, 0xba, 0x17, 0x03, + 0x93, 0x08, 0xc1, 0xd4, 0x2d, 0xef, 0xf2, 0x93, 0x31, 0x30, 0x49, 0x01, 0x73, 0x06, 0x72, 0x5b, 0xc3, 0x80, 0x52, 0x51, 0x42, 0x4f, 0x5c, 0x8a, 0x81, 0x99, 0xe8, 0x23, 0x14, 0x0b, 0x54, 0x10, 0x40, 0xa7, 0x21, 0x5b, 0xb5, 0xed, 0x76, 0x0c, 0x48, 0x26, 0x44, 0xa7, 0x11, 0x3a, 0xff, 0x10, 0x01, 0xca, 0x86, 0x3a, 0x54, 0xdd, 0xf7, 0xb0, 0x1b, 0x03, 0x93, 0xe7, 0x30, 0x87, 0x17, 0x90, - 0xf7, 0xf0, 0x79, 0x39, 0xac, 0x80, 0x88, 0xf9, 0xbc, 0x27, 0x01, 0xf9, 0x81, 0x7c, 0x48, 0xc5, + 0xf7, 0xf2, 0x79, 0x39, 0xac, 0x80, 0x88, 0xf9, 0xbc, 0x27, 0x01, 0xf9, 0xfe, 0x7c, 0x48, 0xc5, 0x32, 0xaa, 0x44, 0xc3, 0xea, 0x8e, 0xde, 0x11, 0x02, 0x32, 0xe5, 0xaf, 0x6b, 0x5a, 0x3f, 0x54, 0xc3, 0xce, 0x8d, 0x58, 0x7f, 0x73, 0x23, 0x24, 0x51, 0xf9, 0x6c, 0x12, 0x4a, 0x4b, 0xb6, 0xe5, - 0x62, 0xcb, 0xed, 0xb9, 0x9b, 0xb4, 0x0b, 0xe8, 0x49, 0x98, 0xd8, 0x6e, 0xdb, 0xc6, 0x4d, 0xca, + 0x62, 0xcb, 0xed, 0xb9, 0x9b, 0xb4, 0x0b, 0xe8, 0x49, 0x98, 0xd8, 0x6e, 0xdb, 0xc6, 0x0d, 0xca, 0xdb, 0xdc, 0xa5, 0x53, 0x8b, 0x03, 0x9d, 0x59, 0xac, 0x92, 0x7a, 0x06, 0xae, 0x32, 0x60, 0xf4, - 0x1c, 0x64, 0xf0, 0x2d, 0xb3, 0x85, 0x2d, 0x03, 0x73, 0x4d, 0x7b, 0x3a, 0x06, 0xb1, 0xc6, 0x41, - 0x38, 0xae, 0x8f, 0x82, 0xbe, 0x0e, 0xb2, 0xb7, 0xf4, 0xb6, 0xd9, 0xd2, 0x3d, 0xdb, 0xe1, 0x57, - 0x8e, 0x94, 0x18, 0xfc, 0x1b, 0x02, 0x86, 0x13, 0x08, 0x90, 0x50, 0x19, 0x26, 0x6f, 0x61, 0x87, - 0x9e, 0x6f, 0x61, 0x37, 0x81, 0x16, 0xe2, 0xf0, 0x19, 0x04, 0xc7, 0x16, 0x08, 0xe8, 0x32, 0xa4, - 0xf4, 0x6d, 0xc3, 0xa4, 0x47, 0x1f, 0x72, 0x97, 0xee, 0x8f, 0x41, 0xac, 0x54, 0x97, 0xea, 0x0c, - 0x8b, 0x9e, 0xfe, 0xa3, 0xe0, 0xa4, 0xd3, 0xee, 0xbe, 0x65, 0xec, 0x39, 0xb6, 0xb5, 0x4f, 0x0f, - 0xfb, 0xc4, 0x77, 0xba, 0x21, 0x60, 0x44, 0xa7, 0x7d, 0x24, 0xd2, 0xe9, 0x1d, 0xac, 0x7b, 0x3d, - 0x07, 0xf3, 0x7b, 0xf0, 0x71, 0x9d, 0xbe, 0xca, 0x20, 0x44, 0xa7, 0x39, 0x82, 0x52, 0x87, 0x5c, - 0x68, 0x1e, 0xd8, 0x89, 0xf8, 0x3b, 0xda, 0x36, 0x59, 0x24, 0x7c, 0xc1, 0x67, 0x3a, 0xfa, 0x1d, - 0xba, 0x68, 0xd0, 0x71, 0x98, 0x24, 0x95, 0xbb, 0xfc, 0x94, 0x64, 0x52, 0x4d, 0x77, 0xf4, 0x3b, - 0x2b, 0xba, 0x7b, 0x3d, 0x95, 0x49, 0xca, 0x29, 0xe5, 0x53, 0x12, 0x14, 0xa3, 0x53, 0x83, 0x1e, - 0x01, 0x44, 0x30, 0xf4, 0x5d, 0xac, 0x59, 0xbd, 0x8e, 0x46, 0x27, 0x59, 0xd0, 0x2d, 0x75, 0xf4, - 0x3b, 0x95, 0x5d, 0xbc, 0xde, 0xeb, 0xd0, 0x0e, 0xb8, 0x68, 0x0d, 0x64, 0x01, 0x2c, 0x04, 0xd0, - 0x37, 0xb7, 0x03, 0xb7, 0xf2, 0x39, 0x40, 0x35, 0x43, 0x0c, 0xd4, 0x87, 0xff, 0xdb, 0xbc, 0xa4, - 0x16, 0x19, 0x3d, 0xdf, 0x30, 0x44, 0x86, 0x92, 0x8c, 0x0e, 0x45, 0x79, 0x01, 0x4a, 0x7d, 0x52, - 0x80, 0x14, 0x28, 0x74, 0x7b, 0xdb, 0xda, 0x4d, 0xbc, 0x4f, 0xaf, 0x89, 0x31, 0xf3, 0x98, 0x55, - 0x73, 0xdd, 0xde, 0xf6, 0x8b, 0x78, 0x9f, 0xae, 0xbe, 0x72, 0xe6, 0x17, 0x88, 0x03, 0xf5, 0xc6, - 0xbc, 0xa4, 0x3c, 0x02, 0x85, 0x88, 0x18, 0x10, 0x2b, 0xac, 0x77, 0xbb, 0x5c, 0xff, 0x91, 0x3f, - 0x43, 0xc0, 0xaf, 0x40, 0x9e, 0x38, 0x1e, 0xb8, 0xc5, 0x61, 0x1f, 0x82, 0x12, 0x65, 0x85, 0xd6, - 0xcf, 0xeb, 0x02, 0x2d, 0x5e, 0x13, 0x0c, 0x57, 0xa0, 0x10, 0xc0, 0x05, 0x6c, 0xcf, 0x09, 0xa8, - 0x15, 0xdd, 0x55, 0xbe, 0x5f, 0x82, 0x52, 0x9f, 0x6c, 0xa0, 0xe7, 0x20, 0xdb, 0x75, 0xb0, 0x61, - 0xba, 0xec, 0x18, 0xd1, 0x08, 0x16, 0xa6, 0x28, 0xfb, 0x02, 0x0c, 0xb4, 0x0c, 0x05, 0x71, 0xa4, - 0xa4, 0x85, 0xdb, 0xfa, 0xfe, 0xe8, 0x59, 0x60, 0x24, 0xc4, 0x13, 0x29, 0xcb, 0x04, 0x49, 0xf9, - 0x65, 0x09, 0x0a, 0x11, 0xa1, 0x43, 0x2d, 0xb8, 0xff, 0x96, 0xed, 0xe1, 0x70, 0xaa, 0x83, 0x5f, - 0x1d, 0xda, 0xc3, 0xe6, 0xee, 0x9e, 0xc7, 0xbb, 0x7a, 0x72, 0xa0, 0x9d, 0xc0, 0xd0, 0x50, 0x87, - 0x44, 0x52, 0xe7, 0x08, 0x9d, 0x20, 0xe3, 0xc1, 0xee, 0x18, 0x5d, 0xa3, 0x44, 0xd0, 0x06, 0xa0, - 0xee, 0xb6, 0xd7, 0x4f, 0x3a, 0x31, 0x2e, 0x69, 0x99, 0x20, 0x87, 0x09, 0x2a, 0x0d, 0x80, 0x60, - 0xe1, 0xa2, 0xca, 0x38, 0x83, 0x48, 0x1e, 0xd4, 0xc3, 0x72, 0x62, 0x56, 0xaa, 0x6e, 0x7e, 0xf2, - 0xf3, 0xa7, 0x86, 0x1a, 0x9a, 0x57, 0x2e, 0x8d, 0xef, 0x51, 0x09, 0xdd, 0xef, 0x5b, 0x86, 0xbf, - 0x48, 0xc3, 0xe9, 0x41, 0xcb, 0xe0, 0xab, 0xb8, 0xc3, 0x1a, 0x87, 0x83, 0xa3, 0x18, 0xe5, 0x33, - 0x12, 0xe4, 0xfd, 0x95, 0xd4, 0xc0, 0x1e, 0x7a, 0x17, 0x80, 0xdf, 0x96, 0x70, 0x31, 0xef, 0x3b, - 0x48, 0x09, 0xab, 0x21, 0x78, 0xf4, 0x34, 0x64, 0xba, 0x8e, 0xdd, 0xb5, 0x5d, 0x7e, 0xf1, 0x75, - 0x14, 0xae, 0x0f, 0x8d, 0x1e, 0x05, 0x44, 0x03, 0x02, 0xed, 0x96, 0xed, 0x99, 0xd6, 0xae, 0xd6, - 0xb5, 0x6f, 0xf3, 0xf7, 0x04, 0x92, 0xaa, 0x4c, 0x6b, 0x6e, 0xd0, 0x8a, 0x4d, 0x52, 0xae, 0x7c, + 0x02, 0x64, 0xf0, 0x4d, 0xb3, 0x85, 0x2d, 0x03, 0x73, 0x4d, 0x7b, 0x3a, 0x06, 0xb1, 0xc6, 0x41, + 0x38, 0xae, 0x8f, 0x82, 0xbe, 0x06, 0xb2, 0x37, 0xf5, 0xb6, 0xd9, 0xd2, 0x3d, 0xdb, 0xe1, 0x57, + 0x8e, 0x94, 0x18, 0xfc, 0xeb, 0x02, 0x86, 0x13, 0x08, 0x90, 0x50, 0x19, 0x26, 0x6f, 0x62, 0x87, + 0x9e, 0x6f, 0x61, 0x37, 0x81, 0x16, 0xe2, 0xf0, 0x19, 0x04, 0xc7, 0x16, 0x08, 0xe8, 0x29, 0x48, + 0xe9, 0xdb, 0x86, 0x49, 0x8f, 0x3e, 0xe4, 0x2e, 0xdd, 0x1f, 0x83, 0x58, 0xa9, 0x2e, 0xd5, 0x19, + 0x16, 0x3d, 0xfd, 0x47, 0xc1, 0x49, 0xa7, 0xdd, 0x7d, 0xcb, 0xd8, 0x73, 0x6c, 0x6b, 0x9f, 0x1e, + 0xf6, 0x89, 0xef, 0x74, 0x43, 0xc0, 0x88, 0x4e, 0xfb, 0x48, 0xa4, 0xd3, 0x3b, 0x58, 0xf7, 0x7a, + 0x0e, 0xe6, 0xf7, 0xe0, 0xe3, 0x3a, 0x7d, 0x85, 0x41, 0x88, 0x4e, 0x73, 0x04, 0xa5, 0x0e, 0xb9, + 0xd0, 0x3c, 0xb0, 0x13, 0xf1, 0xb7, 0xb5, 0x6d, 0xb2, 0x48, 0xf8, 0x82, 0xcf, 0x74, 0xf4, 0xdb, + 0x74, 0xd1, 0xa0, 0xe3, 0x30, 0x49, 0x2a, 0x77, 0xf9, 0x29, 0xc9, 0xa4, 0x9a, 0xee, 0xe8, 0xb7, + 0x57, 0x74, 0xf7, 0x5a, 0x2a, 0x93, 0x94, 0x53, 0xca, 0xa7, 0x24, 0x28, 0x46, 0xa7, 0x06, 0x3d, + 0x02, 0x88, 0x60, 0xe8, 0xbb, 0x58, 0xb3, 0x7a, 0x1d, 0x8d, 0x4e, 0xb2, 0xa0, 0x5b, 0xea, 0xe8, + 0xb7, 0x2b, 0xbb, 0x78, 0xbd, 0xd7, 0xa1, 0x1d, 0x70, 0xd1, 0x1a, 0xc8, 0x02, 0x58, 0x08, 0xa0, + 0x6f, 0x6e, 0x07, 0x6e, 0xe5, 0x73, 0x80, 0x6a, 0x86, 0x18, 0xa8, 0x0f, 0xff, 0xb7, 0x79, 0x49, + 0x2d, 0x32, 0x7a, 0xbe, 0x61, 0x88, 0x0c, 0x25, 0x19, 0x1d, 0x8a, 0xf2, 0x12, 0x94, 0xfa, 0xa4, + 0x00, 0x29, 0x50, 0xe8, 0xf6, 0xb6, 0xb5, 0x1b, 0x78, 0x9f, 0x5e, 0x13, 0x63, 0xe6, 0x31, 0xab, + 0xe6, 0xba, 0xbd, 0xed, 0x97, 0xf1, 0x3e, 0x5d, 0x7d, 0xe5, 0xcc, 0xcf, 0x13, 0x07, 0xea, 0xcd, + 0x79, 0x49, 0x79, 0x04, 0x0a, 0x11, 0x31, 0x20, 0x56, 0x58, 0xef, 0x76, 0xb9, 0xfe, 0x23, 0x7f, + 0x86, 0x80, 0x5f, 0x83, 0x3c, 0x71, 0x3c, 0x70, 0x8b, 0xc3, 0x3e, 0x04, 0x25, 0xca, 0x0a, 0xad, + 0x9f, 0xd7, 0x05, 0x5a, 0xbc, 0x26, 0x18, 0xae, 0x40, 0x21, 0x80, 0x0b, 0xd8, 0x9e, 0x13, 0x50, + 0x2b, 0xba, 0xab, 0x7c, 0x9f, 0x04, 0xa5, 0x3e, 0xd9, 0x40, 0x2f, 0x40, 0xb6, 0xeb, 0x60, 0xc3, + 0x74, 0xd9, 0x31, 0xa2, 0x11, 0x2c, 0x4c, 0x51, 0xf6, 0x05, 0x18, 0x68, 0x19, 0x0a, 0xe2, 0x48, + 0x49, 0x0b, 0xb7, 0xf5, 0xfd, 0xd1, 0xb3, 0xc0, 0x48, 0x88, 0x27, 0x52, 0x96, 0x09, 0x92, 0xf2, + 0x4b, 0x12, 0x14, 0x22, 0x42, 0x87, 0x5a, 0x70, 0xff, 0x4d, 0xdb, 0xc3, 0xe1, 0x54, 0x07, 0xbf, + 0x3a, 0xb4, 0x87, 0xcd, 0xdd, 0x3d, 0x8f, 0x77, 0xf5, 0xe4, 0x40, 0x3b, 0x81, 0xa1, 0xa1, 0x0e, + 0x89, 0xa4, 0xce, 0x11, 0x3a, 0x41, 0xc6, 0x83, 0xdd, 0x31, 0xba, 0x4a, 0x89, 0xa0, 0x0d, 0x40, + 0xdd, 0x6d, 0xaf, 0x9f, 0x74, 0x62, 0x5c, 0xd2, 0x32, 0x41, 0x0e, 0x13, 0x54, 0x1a, 0x00, 0xc1, + 0xc2, 0x45, 0x95, 0x71, 0x06, 0x91, 0x3c, 0xa8, 0x87, 0xe5, 0xc4, 0xac, 0x54, 0xdd, 0xfc, 0xe4, + 0xe7, 0x4f, 0x0d, 0x35, 0x34, 0xaf, 0x5d, 0x1a, 0xdf, 0xa3, 0x12, 0xba, 0xdf, 0xb7, 0x0c, 0x7f, + 0x9e, 0x86, 0xd3, 0x83, 0x96, 0xc1, 0x57, 0x71, 0x87, 0x35, 0x0e, 0x07, 0x47, 0x31, 0xca, 0x67, + 0x24, 0xc8, 0xfb, 0x2b, 0xa9, 0x81, 0x3d, 0xf4, 0x3c, 0x80, 0xdf, 0x96, 0x70, 0x31, 0xef, 0x3b, + 0x48, 0x09, 0xab, 0x21, 0x78, 0xf4, 0x0c, 0x64, 0xba, 0x8e, 0xdd, 0xb5, 0x5d, 0x7e, 0xf1, 0x75, + 0x14, 0xae, 0x0f, 0x8d, 0x1e, 0x05, 0x44, 0x03, 0x02, 0xed, 0xa6, 0xed, 0x99, 0xd6, 0xae, 0xd6, + 0xb5, 0x6f, 0xf1, 0xf7, 0x04, 0x92, 0xaa, 0x4c, 0x6b, 0xae, 0xd3, 0x8a, 0x4d, 0x52, 0xae, 0x7c, 0x5a, 0x82, 0xac, 0x4f, 0x85, 0xf8, 0x90, 0x7a, 0xab, 0xe5, 0x60, 0xd7, 0xe5, 0xae, 0x80, 0xf8, - 0x44, 0xef, 0x82, 0x49, 0xae, 0x14, 0xfc, 0x6b, 0xd5, 0x71, 0xde, 0xb2, 0x88, 0xce, 0xb8, 0xbf, - 0x9c, 0x66, 0x3a, 0x03, 0x9d, 0x86, 0x7c, 0x4c, 0x6f, 0x72, 0xb7, 0x82, 0x8e, 0xd0, 0xe7, 0x8a, - 0xf8, 0x10, 0xb4, 0xae, 0x63, 0xda, 0x8e, 0xe9, 0xed, 0x53, 0xd3, 0x93, 0x54, 0x65, 0x51, 0xb1, - 0xc9, 0xcb, 0x95, 0x36, 0x94, 0x1a, 0x66, 0xa7, 0x4b, 0x3d, 0x3c, 0xde, 0xf5, 0x2b, 0x41, 0x07, - 0xa5, 0x31, 0x3a, 0x38, 0xb4, 0x6b, 0x89, 0x81, 0xae, 0x9d, 0xff, 0x4d, 0x89, 0xdb, 0x86, 0xfa, - 0xf2, 0xd5, 0xb6, 0xbe, 0x8b, 0x2e, 0xc2, 0xd1, 0xea, 0xea, 0xc6, 0xd2, 0x8b, 0x5a, 0x7d, 0x59, - 0xbb, 0xba, 0x5a, 0x59, 0x09, 0x4e, 0xf1, 0xce, 0x1d, 0x7b, 0xfd, 0xee, 0x02, 0x0a, 0xc1, 0x6e, - 0x59, 0xd4, 0xc5, 0x41, 0x17, 0x60, 0x26, 0x8a, 0x52, 0xa9, 0x36, 0x6a, 0xeb, 0x4d, 0x59, 0x9a, - 0x3b, 0xfa, 0xfa, 0xdd, 0x85, 0xa9, 0x10, 0x46, 0x65, 0xdb, 0xc5, 0x96, 0x37, 0x88, 0xb0, 0xb4, - 0xb1, 0xb6, 0x56, 0x6f, 0xca, 0x89, 0x01, 0x84, 0x25, 0xbb, 0xd3, 0x31, 0x3d, 0xf4, 0x30, 0x4c, - 0x45, 0x11, 0xd6, 0xeb, 0xab, 0x72, 0x72, 0x0e, 0xbd, 0x7e, 0x77, 0xa1, 0x18, 0x82, 0x5e, 0x37, - 0xdb, 0x73, 0x99, 0x0f, 0xfe, 0xe8, 0xa9, 0x23, 0x9f, 0xfc, 0xc7, 0xa7, 0xa4, 0xea, 0xea, 0x3b, - 0xb2, 0xf0, 0x7e, 0x20, 0x01, 0xf3, 0xfd, 0x9e, 0x92, 0x67, 0x76, 0xb0, 0xeb, 0xe9, 0x9d, 0xee, - 0x30, 0xa7, 0xfd, 0x59, 0xc8, 0x36, 0x05, 0xcc, 0xa1, 0x63, 0x99, 0xbb, 0x87, 0x74, 0x55, 0x8b, - 0x7e, 0x53, 0xc2, 0x57, 0xbd, 0x34, 0xa6, 0xaf, 0xea, 0x8f, 0xe3, 0x9e, 0x9c, 0xd5, 0xdf, 0x69, - 0xc0, 0x7d, 0x01, 0x13, 0xb7, 0x0d, 0x93, 0x28, 0x11, 0xb6, 0x9a, 0x19, 0x5b, 0x64, 0x5f, 0x66, - 0x49, 0x2d, 0x51, 0x46, 0x07, 0xab, 0x9d, 0xb9, 0x11, 0xe9, 0x85, 0xb9, 0x11, 0xbe, 0xf1, 0xdc, - 0x68, 0x0d, 0x39, 0x44, 0x1d, 0x8e, 0x9a, 0x61, 0xe5, 0x3f, 0x67, 0x61, 0x52, 0xc5, 0xef, 0xed, - 0x61, 0xd7, 0x43, 0x4f, 0x40, 0x0a, 0x1b, 0x7b, 0xf6, 0xe0, 0xca, 0xe4, 0xa3, 0x5c, 0xac, 0x19, - 0x7b, 0x36, 0x07, 0xbe, 0x76, 0x44, 0xa5, 0xc0, 0xe8, 0x0a, 0x4c, 0xec, 0xb4, 0x7b, 0xee, 0x1e, - 0x57, 0x38, 0xa7, 0x06, 0xb1, 0xae, 0x92, 0xea, 0x00, 0x8d, 0x81, 0x93, 0xc6, 0xe8, 0x73, 0x5a, - 0xc9, 0x61, 0x8d, 0xd1, 0x57, 0xb4, 0x82, 0xc6, 0x08, 0x30, 0x5a, 0x02, 0x30, 0x2d, 0xd3, 0xd3, - 0x8c, 0x3d, 0xdd, 0xb4, 0xb8, 0xe7, 0xaa, 0xc4, 0xa1, 0x9a, 0xde, 0x12, 0x01, 0x09, 0xf0, 0xb3, - 0xa6, 0x28, 0x23, 0x3d, 0x7e, 0x6f, 0x0f, 0x3b, 0xc2, 0x7b, 0x8d, 0xe9, 0xf1, 0xbb, 0x49, 0x75, - 0xa8, 0xc7, 0x14, 0x9c, 0x78, 0xfb, 0xec, 0xaa, 0xb7, 0x77, 0x87, 0x3f, 0x60, 0xb2, 0x30, 0x88, - 0x4a, 0x6f, 0x7a, 0x37, 0xef, 0x04, 0xc8, 0x93, 0x06, 0x2b, 0x41, 0xcf, 0x40, 0xda, 0xa0, 0x4a, - 0x80, 0x5e, 0xc0, 0xcc, 0x5d, 0x9a, 0x8f, 0x41, 0xa6, 0xf5, 0x01, 0x2e, 0x47, 0x40, 0x1b, 0x50, - 0x6c, 0x9b, 0xae, 0xa7, 0xb9, 0x96, 0xde, 0x75, 0xf7, 0x6c, 0xcf, 0xa5, 0x6f, 0x88, 0xe5, 0x2e, - 0x3d, 0x34, 0x48, 0x62, 0xd5, 0x74, 0xbd, 0x86, 0x00, 0x0b, 0x28, 0x15, 0xda, 0xe1, 0x72, 0x42, - 0xd0, 0xde, 0xd9, 0xc1, 0x8e, 0x4f, 0x91, 0xbe, 0x3d, 0x16, 0x4b, 0x70, 0x83, 0xc0, 0x09, 0xcc, - 0x10, 0x41, 0x3b, 0x5c, 0x8e, 0xbe, 0x01, 0xa6, 0xdb, 0xb6, 0xde, 0xf2, 0xe9, 0x69, 0xc6, 0x5e, - 0xcf, 0xba, 0x39, 0x5b, 0xa4, 0x54, 0xcf, 0xc7, 0x74, 0xd3, 0xd6, 0x5b, 0x02, 0x79, 0x89, 0x80, - 0x06, 0x94, 0xa7, 0xda, 0xfd, 0x75, 0x48, 0x83, 0x19, 0xbd, 0xdb, 0x6d, 0xef, 0xf7, 0x93, 0x2f, - 0x51, 0xf2, 0x8f, 0x0c, 0x92, 0xaf, 0x10, 0xe8, 0x21, 0xf4, 0x91, 0x3e, 0x50, 0x89, 0xb6, 0x40, - 0xee, 0x3a, 0x98, 0x9e, 0xcc, 0x60, 0x56, 0x4c, 0x6f, 0xd3, 0x3b, 0x92, 0xb9, 0x4b, 0xe7, 0x06, - 0x89, 0x6f, 0x32, 0xc8, 0x4d, 0x0e, 0x18, 0x50, 0x2e, 0x75, 0xa3, 0x35, 0x8c, 0xac, 0x6d, 0x60, - 0x7a, 0x87, 0x9b, 0x93, 0x9d, 0x1a, 0x4e, 0x96, 0x42, 0xc6, 0x92, 0x8d, 0xd4, 0xa0, 0xab, 0x90, - 0x63, 0xef, 0xf6, 0x10, 0xe7, 0x01, 0xd3, 0xbb, 0x95, 0xb9, 0x4b, 0x67, 0x62, 0x96, 0x2b, 0x05, - 0xba, 0x61, 0x7b, 0x38, 0x20, 0x06, 0xd8, 0x2f, 0x44, 0xdb, 0x70, 0x94, 0xde, 0x33, 0xdd, 0xd7, - 0xa2, 0x2e, 0xe2, 0xec, 0x34, 0xa5, 0xf8, 0xe8, 0x20, 0x45, 0xfa, 0xc8, 0xd2, 0xfe, 0x8d, 0xb0, - 0xaf, 0x18, 0x90, 0x9e, 0xbe, 0x35, 0x58, 0x4b, 0x24, 0x6d, 0xc7, 0xb4, 0xf4, 0xb6, 0xf9, 0x1a, - 0x66, 0xf1, 0x14, 0x7d, 0x62, 0x21, 0x56, 0xd2, 0xae, 0x72, 0x38, 0x6a, 0x07, 0x43, 0x92, 0xb6, - 0x13, 0x2e, 0xaf, 0x4e, 0xf2, 0x2c, 0x88, 0x7f, 0x67, 0x78, 0x52, 0xce, 0xb0, 0x7b, 0xc2, 0xd7, - 0x53, 0x19, 0x90, 0x73, 0xca, 0x59, 0xc8, 0x85, 0xf4, 0x14, 0x31, 0x52, 0xdc, 0xcf, 0xe7, 0xb9, - 0x15, 0xf1, 0xa9, 0x14, 0x21, 0x1f, 0x56, 0x4d, 0xca, 0x87, 0x24, 0xc8, 0x85, 0x94, 0x0e, 0xc1, - 0x14, 0xc1, 0x35, 0xc7, 0x14, 0xa1, 0xf3, 0x19, 0x11, 0xe8, 0x88, 0xfa, 0x04, 0x0d, 0xa3, 0xf2, - 0xb4, 0x90, 0xc7, 0x59, 0x68, 0x1e, 0x72, 0xdd, 0x4b, 0x5d, 0x1f, 0x24, 0x49, 0x41, 0xa0, 0x7b, - 0xa9, 0x2b, 0x00, 0x4e, 0x43, 0x9e, 0x0c, 0x5d, 0x0b, 0x47, 0xf0, 0x59, 0x35, 0x47, 0xca, 0x38, - 0x88, 0xf2, 0xeb, 0x09, 0x90, 0xfb, 0x95, 0x19, 0x7a, 0x1a, 0x52, 0x44, 0x8b, 0x73, 0x35, 0x3d, - 0x37, 0x10, 0x23, 0xf8, 0x56, 0x93, 0x45, 0x9b, 0x1f, 0x22, 0xb1, 0x0e, 0xc5, 0x40, 0x27, 0x88, - 0x06, 0xd3, 0x4d, 0x4b, 0x33, 0x5b, 0xe2, 0x9d, 0x4a, 0xfa, 0x5d, 0x6f, 0x91, 0x68, 0xd6, 0x10, - 0x39, 0x11, 0x8d, 0xd9, 0x9e, 0x03, 0x52, 0x12, 0x7d, 0xe9, 0x13, 0xb5, 0x64, 0xf4, 0xe5, 0x53, - 0x56, 0x22, 0x6e, 0x35, 0x7b, 0xfd, 0xe6, 0x74, 0x8c, 0x3c, 0x09, 0x98, 0xad, 0x6e, 0x4b, 0xf7, - 0x30, 0xf7, 0x47, 0xc3, 0x1e, 0xf6, 0x43, 0x50, 0xd2, 0xbb, 0x5d, 0xcd, 0xf5, 0x74, 0x0f, 0xf3, - 0xd8, 0x73, 0x82, 0xfa, 0xbc, 0x05, 0xbd, 0xdb, 0xa5, 0xef, 0x7c, 0xb1, 0xd8, 0xf3, 0x41, 0x28, - 0x12, 0x0d, 0x6f, 0xea, 0x6d, 0x11, 0xd8, 0xa4, 0x59, 0x88, 0xca, 0x4b, 0x79, 0x70, 0xd4, 0x82, - 0x7c, 0x58, 0xb9, 0xfb, 0xa9, 0x67, 0x29, 0x48, 0x3d, 0x93, 0x32, 0x7a, 0xf1, 0x84, 0x71, 0x48, - 0x5c, 0xd6, 0x49, 0x73, 0xb2, 0xcc, 0x29, 0xe6, 0x5f, 0xc4, 0xd1, 0xe9, 0x3a, 0xf6, 0x2d, 0x76, - 0x99, 0x2a, 0xa3, 0xb2, 0x0f, 0xe5, 0x65, 0x28, 0x46, 0xed, 0x00, 0x2a, 0x42, 0xc2, 0xbb, 0xc3, - 0x5b, 0x49, 0x78, 0x77, 0xd0, 0xc5, 0xd0, 0x0b, 0x69, 0xc5, 0x38, 0xeb, 0xc7, 0xf1, 0x83, 0xa7, - 0xbd, 0xae, 0xa7, 0x32, 0x09, 0x39, 0xa9, 0x94, 0xa0, 0x10, 0xb1, 0x12, 0xca, 0x31, 0x98, 0x89, - 0xd3, 0xf9, 0x8a, 0x09, 0x33, 0x71, 0xaa, 0x1b, 0x5d, 0x81, 0x8c, 0xaf, 0xf4, 0x85, 0x04, 0x0d, - 0xb4, 0xee, 0x23, 0xf9, 0xb0, 0x44, 0x76, 0xc8, 0x44, 0xd0, 0x1d, 0x8a, 0x04, 0x8f, 0x3a, 0xba, - 0xdd, 0x6b, 0xba, 0xbb, 0xa7, 0x7c, 0x33, 0xcc, 0x0e, 0xd3, 0xe7, 0x21, 0xc6, 0xb1, 0x54, 0x83, - 0x60, 0xdc, 0x31, 0x48, 0xf3, 0xd7, 0x16, 0x12, 0x34, 0x73, 0xca, 0xbf, 0x08, 0x43, 0x99, 0x6e, - 0x4f, 0xb2, 0x84, 0x2a, 0xfd, 0x50, 0x34, 0x38, 0x31, 0x54, 0xa5, 0x07, 0x5b, 0x2a, 0x3c, 0x07, - 0xcb, 0xb6, 0x54, 0x7c, 0x42, 0xac, 0xb3, 0xec, 0x83, 0xbe, 0xc2, 0x89, 0xad, 0x16, 0x0f, 0x6e, - 0xb2, 0x2a, 0xff, 0x52, 0x3e, 0x92, 0x84, 0x63, 0xf1, 0x7a, 0x1d, 0x2d, 0x40, 0xbe, 0xa3, 0xdf, - 0xd1, 0xbc, 0x68, 0xea, 0x03, 0x3a, 0xfa, 0x9d, 0x26, 0xcf, 0x7b, 0xc8, 0x90, 0xf4, 0xee, 0xb8, - 0xf4, 0x22, 0x57, 0x5e, 0x25, 0x7f, 0xa2, 0x1b, 0x30, 0xd5, 0xb6, 0x0d, 0xbd, 0xad, 0xb5, 0x75, - 0xd7, 0xd3, 0xb8, 0xd9, 0x67, 0xcb, 0xe9, 0x81, 0x61, 0x7a, 0x9a, 0x5d, 0xb7, 0x32, 0x3d, 0xa2, - 0x82, 0xf8, 0x42, 0x28, 0x51, 0x22, 0xab, 0xba, 0xeb, 0xf1, 0xf0, 0xa1, 0x06, 0xb9, 0x8e, 0xe9, - 0x6e, 0xe3, 0x3d, 0xfd, 0x96, 0x69, 0x3b, 0x7c, 0x5d, 0xc5, 0x48, 0xcf, 0x5a, 0x00, 0xc4, 0x49, - 0x85, 0xf1, 0x42, 0x93, 0x32, 0x11, 0x91, 0x66, 0xa1, 0x59, 0xd2, 0x87, 0xd6, 0x2c, 0x8f, 0xc3, - 0x8c, 0x85, 0xef, 0xd0, 0xbb, 0x82, 0x7c, 0xe5, 0x32, 0x49, 0x61, 0x57, 0xfd, 0x10, 0xa9, 0xf3, - 0xd7, 0xba, 0x4b, 0x77, 0xb5, 0x1e, 0x06, 0x3f, 0x60, 0xd4, 0x44, 0x34, 0x9b, 0xa1, 0xd0, 0x25, - 0x51, 0x5e, 0x61, 0xc5, 0xca, 0xeb, 0x74, 0x72, 0xe2, 0xac, 0xa3, 0x60, 0xbd, 0x14, 0xb0, 0xbe, - 0x09, 0x33, 0x1c, 0xbf, 0x15, 0xe1, 0xfe, 0x40, 0x78, 0x1e, 0x75, 0xba, 0x42, 0x5c, 0x47, 0x02, - 0x7f, 0x38, 0xe3, 0x93, 0xf7, 0xc8, 0x78, 0x04, 0x29, 0xca, 0x96, 0x14, 0x53, 0x37, 0xe4, 0xef, - 0xff, 0xd7, 0x26, 0xe3, 0xfd, 0x49, 0x98, 0x1a, 0x70, 0x2c, 0xfc, 0x81, 0x49, 0xb1, 0x03, 0x4b, - 0xc4, 0x0e, 0x2c, 0x79, 0xe8, 0x81, 0xf1, 0xd9, 0x4e, 0x8d, 0x9e, 0xed, 0x89, 0xb7, 0x73, 0xb6, - 0xd3, 0xf7, 0x38, 0xdb, 0xef, 0xe8, 0x3c, 0x7c, 0x4c, 0x82, 0xb9, 0xe1, 0xee, 0x58, 0xec, 0x84, - 0x3c, 0x02, 0x53, 0x7e, 0x57, 0x7c, 0xf2, 0x4c, 0x3d, 0xca, 0x7e, 0x05, 0xa7, 0x3f, 0xd4, 0xe2, - 0x3d, 0x08, 0xc5, 0x3e, 0x6f, 0x91, 0x09, 0x73, 0x21, 0x92, 0x41, 0x54, 0x3e, 0x90, 0x84, 0x99, - 0x38, 0x87, 0x2e, 0x66, 0xc5, 0xaa, 0x30, 0xdd, 0xc2, 0x86, 0xd9, 0xba, 0xe7, 0x05, 0x3b, 0xc5, - 0xd1, 0xff, 0xff, 0x7a, 0x8d, 0x91, 0x93, 0x1f, 0x03, 0xc8, 0xa8, 0xd8, 0xed, 0x12, 0x07, 0x8d, - 0xbd, 0xf6, 0x6c, 0xe0, 0xae, 0x17, 0x64, 0xda, 0x63, 0xe3, 0x06, 0x0e, 0x22, 0xf0, 0x48, 0xfc, - 0xec, 0xe3, 0xa1, 0x27, 0x79, 0x9a, 0x60, 0x68, 0xc0, 0xcf, 0xdc, 0x6f, 0x1f, 0x95, 0xe5, 0x09, - 0x9e, 0x12, 0x79, 0x82, 0xe4, 0xb0, 0xe8, 0x97, 0x3b, 0xe3, 0x3e, 0x1e, 0x4f, 0x14, 0x3c, 0xc9, - 0x13, 0x05, 0xa9, 0x61, 0xcd, 0x31, 0x9f, 0x3d, 0x68, 0xce, 0x64, 0x17, 0xb9, 0xc3, 0x99, 0x82, - 0xf4, 0xb0, 0xa1, 0x86, 0x9c, 0xeb, 0x60, 0xa8, 0x41, 0xaa, 0xe0, 0x29, 0x91, 0x2a, 0x98, 0x1c, - 0xd6, 0x69, 0xee, 0x4d, 0x06, 0x9d, 0x66, 0xb9, 0x82, 0xe7, 0x43, 0xb9, 0x82, 0x6c, 0xff, 0xce, - 0xe0, 0x40, 0xae, 0xc0, 0xc7, 0xf6, 0x93, 0x05, 0x65, 0x3f, 0x59, 0x90, 0x1f, 0x9a, 0x69, 0xe0, - 0x6e, 0xa0, 0x8f, 0x2c, 0xb2, 0x05, 0x9b, 0x03, 0xd9, 0x02, 0x16, 0xdc, 0x9f, 0x1d, 0x99, 0x2d, - 0xf0, 0x49, 0xf5, 0xa5, 0x0b, 0x36, 0x07, 0xd2, 0x05, 0xc5, 0x61, 0x14, 0xfb, 0x7c, 0xce, 0x80, - 0x62, 0x34, 0x5f, 0xf0, 0x8d, 0xf1, 0xf9, 0x82, 0xa1, 0x01, 0x7d, 0x8c, 0x7f, 0xe9, 0x93, 0x8e, - 0x49, 0x18, 0x7c, 0xf3, 0x90, 0x84, 0x81, 0x3c, 0x2c, 0xb0, 0x8d, 0xf3, 0x2e, 0xfd, 0x06, 0xe2, - 0x32, 0x06, 0x37, 0x62, 0x32, 0x06, 0x2c, 0xb4, 0x7f, 0x78, 0x8c, 0x8c, 0x81, 0x4f, 0x7a, 0x20, - 0x65, 0x70, 0x23, 0x26, 0x65, 0x80, 0x86, 0xd3, 0xed, 0x73, 0x8a, 0xc2, 0x74, 0xa3, 0x39, 0x83, - 0x95, 0x68, 0xce, 0x60, 0xfa, 0x60, 0x5f, 0x94, 0x99, 0x76, 0x9f, 0x5a, 0x38, 0x69, 0x60, 0x0c, - 0x4b, 0x1a, 0xb0, 0xb8, 0xfe, 0xb1, 0x31, 0x93, 0x06, 0x3e, 0xed, 0xd8, 0xac, 0xc1, 0xe6, 0x40, - 0xd6, 0xe0, 0xe8, 0x30, 0x81, 0xeb, 0x33, 0x32, 0x81, 0xc0, 0x0d, 0x4d, 0x1b, 0xb0, 0x47, 0xc6, - 0xd8, 0xf3, 0x62, 0x20, 0xe7, 0xae, 0xa7, 0x32, 0x39, 0x39, 0xaf, 0x3c, 0x4c, 0xdc, 0x9a, 0x3e, - 0xbd, 0x47, 0x82, 0x08, 0xec, 0x38, 0xb6, 0x23, 0x8e, 0x65, 0xd0, 0x0f, 0xe5, 0x1c, 0xe4, 0xc3, - 0x2a, 0xee, 0x80, 0x14, 0x43, 0x09, 0x0a, 0x11, 0xad, 0xa6, 0xfc, 0x82, 0x04, 0xf9, 0xb0, 0xbe, - 0x8a, 0x04, 0xa0, 0x59, 0x1e, 0x80, 0x86, 0x12, 0x0f, 0x89, 0x68, 0xe2, 0x61, 0x1e, 0x72, 0x24, - 0x08, 0xeb, 0xcb, 0x29, 0xe8, 0x5d, 0x3f, 0xa7, 0x70, 0x1e, 0xa6, 0xa8, 0x0d, 0x65, 0xe9, 0x09, - 0x6e, 0xa7, 0xd8, 0xfe, 0x4c, 0x89, 0x54, 0x50, 0x66, 0xf0, 0x9d, 0xc7, 0xc7, 0x60, 0x3a, 0x04, - 0xeb, 0x07, 0x77, 0x2c, 0xbc, 0x96, 0x7d, 0xe8, 0x0a, 0x8f, 0xf2, 0x7e, 0x59, 0x82, 0xa9, 0x01, - 0x75, 0x19, 0x9b, 0x37, 0x90, 0xde, 0xae, 0xbc, 0x41, 0xe2, 0xde, 0xf3, 0x06, 0xe1, 0x70, 0x35, - 0x19, 0x0d, 0x57, 0xff, 0x52, 0x82, 0x42, 0x44, 0x6d, 0x93, 0x49, 0x30, 0xec, 0x96, 0x38, 0xc4, - 0x43, 0xff, 0x26, 0x7e, 0x4a, 0xdb, 0xde, 0xe5, 0x61, 0x22, 0xf9, 0x93, 0x40, 0xf9, 0x86, 0x28, - 0xcb, 0xcd, 0x8c, 0x1f, 0x7b, 0x4e, 0x84, 0x8f, 0xf3, 0xf1, 0x23, 0x6e, 0xe9, 0xe0, 0x88, 0x9b, - 0x7f, 0x76, 0x67, 0x32, 0x74, 0x76, 0x07, 0x3d, 0x03, 0x59, 0xba, 0x0b, 0xa0, 0xd9, 0xdd, 0xe0, - 0x87, 0x29, 0x86, 0x1f, 0x6f, 0x73, 0xe9, 0xfe, 0x21, 0x3b, 0x13, 0x17, 0x78, 0x21, 0xd9, 0x88, - 0x17, 0x72, 0x1f, 0x64, 0x49, 0xf7, 0xd9, 0xe3, 0x8e, 0xc0, 0x0f, 0xd3, 0x8a, 0x02, 0xe5, 0x27, - 0x13, 0x50, 0xea, 0xb3, 0x3a, 0xb1, 0x83, 0x17, 0x52, 0x99, 0x08, 0xa5, 0x45, 0xc6, 0x63, 0xc8, - 0x29, 0x80, 0x5d, 0xdd, 0xd5, 0x6e, 0xeb, 0x96, 0xc7, 0xdf, 0x70, 0x4f, 0xaa, 0xa1, 0x12, 0x34, - 0x07, 0x19, 0xf2, 0xd5, 0x73, 0xf9, 0x2b, 0xee, 0x49, 0xd5, 0xff, 0x46, 0x75, 0x48, 0xe3, 0x5b, - 0xf4, 0x39, 0x12, 0xf6, 0xa8, 0xcf, 0xf1, 0x18, 0xf5, 0x44, 0xea, 0xab, 0xb3, 0x64, 0xba, 0xff, - 0xf0, 0xcd, 0x79, 0x99, 0x81, 0x3f, 0xea, 0x3f, 0xbf, 0xa0, 0x72, 0x02, 0x51, 0x36, 0x64, 0xfa, - 0xd8, 0x40, 0xd3, 0x85, 0x79, 0x11, 0xfb, 0x13, 0xa6, 0xb2, 0x0d, 0x4b, 0xb5, 0xd0, 0xc1, 0x9d, - 0xae, 0x6d, 0xb7, 0x35, 0xb6, 0xce, 0x2b, 0x50, 0x8c, 0x1a, 0x59, 0xf6, 0xf2, 0xb2, 0xa7, 0x9b, - 0x96, 0x16, 0xf1, 0x8d, 0xf3, 0xac, 0x90, 0xad, 0xab, 0xeb, 0xa9, 0x8c, 0x24, 0x27, 0x78, 0xba, - 0xe6, 0xdd, 0x70, 0x34, 0xd6, 0xc6, 0xa2, 0xa7, 0x21, 0x1b, 0xd8, 0x67, 0xb6, 0xed, 0x7c, 0x50, - 0x1e, 0x26, 0x00, 0x56, 0x6e, 0xc0, 0xd1, 0x58, 0x23, 0x8b, 0x9e, 0x83, 0xb4, 0x83, 0xdd, 0x5e, - 0xdb, 0xe3, 0xcf, 0x22, 0x3e, 0x38, 0xda, 0x3a, 0xf7, 0xda, 0x9e, 0xca, 0x91, 0x94, 0x8b, 0x70, - 0x62, 0xa8, 0x95, 0x0d, 0xb2, 0x29, 0x52, 0x28, 0x9b, 0xa2, 0xfc, 0xb4, 0x04, 0x73, 0xc3, 0x2d, - 0x27, 0xaa, 0xf6, 0x75, 0xe8, 0xfc, 0x98, 0x76, 0x37, 0xd4, 0x2b, 0x12, 0x6e, 0x38, 0x78, 0x07, - 0x7b, 0xc6, 0x1e, 0x33, 0xe1, 0x4c, 0x29, 0x14, 0xd4, 0x02, 0x2f, 0xa5, 0x38, 0x2e, 0x03, 0x7b, - 0x15, 0x1b, 0x9e, 0xc6, 0x26, 0xd5, 0xe5, 0x3f, 0xb5, 0x53, 0x60, 0xa5, 0x0d, 0x56, 0xa8, 0x3c, - 0x02, 0xc7, 0x87, 0xd8, 0xe2, 0xc1, 0xb8, 0x44, 0x79, 0x85, 0x00, 0xc7, 0x1a, 0x58, 0xf4, 0x02, - 0xa4, 0x5d, 0x4f, 0xf7, 0x7a, 0x2e, 0x1f, 0xd9, 0xd9, 0x91, 0xb6, 0xb9, 0x41, 0xc1, 0x55, 0x8e, - 0xa6, 0x3c, 0x0b, 0x68, 0xd0, 0xd2, 0xc6, 0xc4, 0x56, 0x52, 0x5c, 0x6c, 0xb5, 0x0d, 0x27, 0x0f, - 0xb0, 0xa9, 0x68, 0xa9, 0xaf, 0x73, 0x8f, 0x8c, 0x65, 0x92, 0xfb, 0x3a, 0xf8, 0xc7, 0x09, 0x38, - 0x1a, 0x6b, 0x5a, 0x43, 0xab, 0x54, 0x7a, 0xab, 0xab, 0xf4, 0x39, 0x00, 0xef, 0x8e, 0xc6, 0x66, - 0x5a, 0x68, 0xfb, 0xb8, 0x78, 0xe2, 0x0e, 0x36, 0xa8, 0xc2, 0x22, 0x82, 0x91, 0xf5, 0xf8, 0x5f, - 0x24, 0xf8, 0x0f, 0xc5, 0xb3, 0x3d, 0x6a, 0x09, 0x5c, 0x1e, 0xea, 0x8d, 0x6d, 0x33, 0x82, 0xc0, - 0x97, 0x15, 0xbb, 0xe8, 0x15, 0x38, 0xde, 0x67, 0xd1, 0x7c, 0xda, 0xa9, 0xb1, 0x0d, 0xdb, 0xd1, - 0xa8, 0x61, 0x13, 0xb4, 0xc3, 0x56, 0x69, 0x22, 0x6a, 0x95, 0x5e, 0x01, 0x08, 0x02, 0x5b, 0xb2, - 0xde, 0x1c, 0xbb, 0x67, 0xb5, 0xc4, 0xe1, 0x53, 0xfa, 0x81, 0xae, 0xc0, 0x04, 0x91, 0x04, 0xc1, - 0xaa, 0x18, 0x85, 0x41, 0xa6, 0x34, 0x14, 0x19, 0x33, 0x70, 0xe5, 0x55, 0x21, 0x6d, 0xe1, 0x1c, - 0xe3, 0x90, 0x36, 0x9e, 0x8f, 0xb6, 0xa1, 0x0c, 0x4f, 0x57, 0xc6, 0xb7, 0xf5, 0x77, 0x60, 0x82, - 0x4e, 0x7f, 0xec, 0xd9, 0xef, 0x6f, 0x02, 0xd0, 0x3d, 0xcf, 0x31, 0xb7, 0x7b, 0x41, 0x0b, 0x0b, - 0x43, 0xe4, 0xa7, 0x22, 0x00, 0xab, 0xf7, 0x71, 0x41, 0x9a, 0x09, 0x70, 0x43, 0xc2, 0x14, 0xa2, - 0xa8, 0xac, 0x43, 0x31, 0x8a, 0x1b, 0x7f, 0x98, 0x5d, 0xfc, 0x2a, 0x40, 0x70, 0xd4, 0x36, 0x30, - 0xe4, 0xfc, 0xb6, 0x10, 0xfd, 0x50, 0xbe, 0x25, 0x01, 0xf9, 0xb0, 0xf4, 0xfd, 0x2d, 0x34, 0x96, - 0xca, 0x07, 0x24, 0xc8, 0xf8, 0xe3, 0x8f, 0xa6, 0xf3, 0x23, 0xfb, 0x20, 0xc1, 0xb5, 0x06, 0x3f, - 0x07, 0xcf, 0x76, 0x3d, 0x92, 0xfe, 0xae, 0xc7, 0xbb, 0x7c, 0x83, 0x30, 0x34, 0x98, 0x0f, 0x73, - 0x5b, 0x1c, 0x4f, 0xe2, 0x06, 0xea, 0xd9, 0xf1, 0xce, 0x40, 0xcd, 0xc0, 0x44, 0xf8, 0xf8, 0x12, - 0xfb, 0x50, 0x70, 0xe8, 0x04, 0x25, 0x5b, 0x8d, 0xe1, 0xc3, 0x52, 0xd2, 0xe1, 0x0f, 0x4b, 0xf9, - 0xcd, 0x24, 0xc2, 0xcd, 0xfc, 0x23, 0x09, 0x32, 0x62, 0x5d, 0xa0, 0x17, 0xc2, 0xe7, 0x7b, 0xc5, - 0x61, 0xc1, 0xe1, 0x7a, 0x89, 0x37, 0x10, 0x3a, 0xde, 0x5b, 0x15, 0xfb, 0x8c, 0x66, 0x4b, 0xdb, - 0x69, 0xeb, 0xbb, 0x7c, 0xbb, 0x68, 0xe8, 0xe9, 0x64, 0x76, 0x78, 0x88, 0x1f, 0xb8, 0xac, 0xb7, - 0xc8, 0x07, 0xf7, 0x43, 0xfe, 0x5c, 0x02, 0xb9, 0x7f, 0xdd, 0xbe, 0xf5, 0xfe, 0x0d, 0xda, 0xab, - 0x64, 0x8c, 0xbd, 0x42, 0x17, 0x60, 0x3a, 0xf8, 0x61, 0x2e, 0xd7, 0xdc, 0xb5, 0xd8, 0xe1, 0x5f, - 0x96, 0x54, 0x43, 0x7e, 0x55, 0x43, 0xd4, 0x0c, 0x8e, 0x7b, 0xe2, 0x5e, 0xc7, 0xfd, 0xfe, 0x04, - 0xe4, 0x42, 0x39, 0x3e, 0x74, 0x39, 0xa4, 0x94, 0x8a, 0x71, 0x56, 0x22, 0x04, 0x1c, 0xfa, 0x59, - 0x9d, 0x08, 0xa7, 0x12, 0xf7, 0xc0, 0xa9, 0x61, 0xd9, 0x54, 0x91, 0x34, 0x4c, 0x1d, 0x3a, 0x69, - 0x18, 0x7f, 0x80, 0x70, 0x62, 0xc8, 0x01, 0xc2, 0xbf, 0x27, 0x41, 0xc6, 0x4f, 0xbe, 0x1c, 0x76, - 0x4f, 0xee, 0x18, 0xa4, 0xb9, 0xef, 0xc5, 0x36, 0xe5, 0xf8, 0x57, 0x6c, 0x76, 0x74, 0x0e, 0x32, - 0xe2, 0x95, 0x79, 0x6e, 0xe1, 0xfc, 0xef, 0xf3, 0xdb, 0x90, 0x0b, 0x6d, 0x6b, 0xa2, 0x13, 0x70, - 0x74, 0xe9, 0x5a, 0x6d, 0xe9, 0x45, 0xad, 0xf9, 0x52, 0xff, 0xdb, 0xc2, 0x03, 0x55, 0x6a, 0x8d, - 0x7e, 0xcb, 0x12, 0x3a, 0x0e, 0xd3, 0xd1, 0x2a, 0x56, 0x91, 0x98, 0x4b, 0x7d, 0xf0, 0x47, 0x4f, - 0x1d, 0x39, 0xff, 0xe7, 0x12, 0x4c, 0xc7, 0x78, 0xb9, 0xe8, 0x34, 0xdc, 0xbf, 0x71, 0xf5, 0x6a, - 0x4d, 0xd5, 0x1a, 0xeb, 0x95, 0xcd, 0xc6, 0xb5, 0x8d, 0xa6, 0xa6, 0xd6, 0x1a, 0x5b, 0xab, 0xcd, - 0x50, 0xa3, 0x0b, 0x70, 0x5f, 0x3c, 0x48, 0x65, 0x69, 0xa9, 0xb6, 0xd9, 0x64, 0x8f, 0x1b, 0x0f, - 0x81, 0xa8, 0x6e, 0xa8, 0x4d, 0x39, 0x31, 0x9c, 0x84, 0x5a, 0xbb, 0x5e, 0x5b, 0x6a, 0xca, 0x49, - 0x74, 0x16, 0xce, 0x1c, 0x04, 0xa1, 0x5d, 0xdd, 0x50, 0xd7, 0x2a, 0x4d, 0x39, 0x35, 0x12, 0xb0, - 0x51, 0x5b, 0x5f, 0xae, 0xa9, 0xf2, 0x04, 0x1f, 0xf7, 0x1b, 0x09, 0x98, 0x1d, 0xe6, 0x4c, 0x13, - 0x5a, 0x95, 0xcd, 0xcd, 0xd5, 0x97, 0x03, 0x5a, 0x4b, 0xd7, 0xb6, 0xd6, 0x5f, 0x1c, 0x64, 0xc1, - 0x43, 0xa0, 0x1c, 0x04, 0xe8, 0x33, 0xe2, 0x41, 0x38, 0x7d, 0x20, 0x1c, 0x67, 0xc7, 0x08, 0x30, - 0xb5, 0xd6, 0x54, 0x5f, 0x96, 0x93, 0x68, 0x11, 0xce, 0x8f, 0x04, 0xf3, 0xeb, 0xe4, 0x14, 0xba, - 0x00, 0x8f, 0x1c, 0x0c, 0xcf, 0x18, 0x24, 0x10, 0x04, 0x8b, 0x5e, 0x97, 0xe0, 0x68, 0xac, 0x57, - 0x8e, 0xce, 0xc0, 0xfc, 0xa6, 0xba, 0xb1, 0x54, 0x6b, 0x34, 0xb4, 0x4d, 0x75, 0x63, 0x73, 0xa3, - 0x51, 0x59, 0xd5, 0x1a, 0xcd, 0x4a, 0x73, 0xab, 0x11, 0xe2, 0x8d, 0x02, 0xa7, 0x86, 0x01, 0xf9, - 0x7c, 0x39, 0x00, 0x86, 0x4b, 0x80, 0x90, 0xd3, 0xbb, 0x12, 0x9c, 0x18, 0xea, 0x85, 0xa3, 0x73, - 0xf0, 0x00, 0xfd, 0x9d, 0xb2, 0x97, 0xb5, 0x1b, 0x1b, 0xcd, 0xf0, 0x2b, 0xda, 0x03, 0xbd, 0x3a, - 0x0b, 0x67, 0x0e, 0x84, 0xf4, 0xbb, 0x36, 0x0a, 0xb0, 0xaf, 0x7f, 0xdf, 0x26, 0x41, 0xa9, 0x4f, - 0x17, 0xa2, 0xfb, 0x60, 0x76, 0xad, 0xde, 0xa8, 0xd6, 0xae, 0x55, 0x6e, 0xd4, 0x37, 0xd4, 0xfe, - 0x35, 0x7b, 0x06, 0xe6, 0x07, 0x6a, 0x97, 0xb7, 0x36, 0x57, 0xeb, 0x4b, 0x95, 0x66, 0x8d, 0x36, - 0x2a, 0x4b, 0x64, 0x60, 0x03, 0x40, 0xab, 0xf5, 0x95, 0x6b, 0x4d, 0x6d, 0x69, 0xb5, 0x5e, 0x5b, - 0x6f, 0x6a, 0x95, 0x66, 0xb3, 0x12, 0x2c, 0xe7, 0xea, 0x8b, 0x43, 0x8f, 0xbe, 0x5e, 0x1c, 0xff, - 0xe8, 0x2b, 0x3f, 0xc2, 0x19, 0xdc, 0x56, 0x4b, 0xc0, 0xbc, 0x5f, 0xc9, 0x73, 0x69, 0xfd, 0x47, - 0x3c, 0xa7, 0x7d, 0xed, 0xce, 0x01, 0x86, 0xdf, 0xf8, 0x7c, 0x0e, 0x92, 0x95, 0x6e, 0x97, 0x68, - 0x3e, 0xfa, 0x6d, 0xd8, 0x6d, 0xae, 0x57, 0xfd, 0x6f, 0x52, 0xe7, 0xda, 0x3b, 0xde, 0x6d, 0xdd, - 0xf1, 0x7f, 0x79, 0x4d, 0x7c, 0x2b, 0xcf, 0x40, 0xd6, 0x8f, 0x1e, 0xe8, 0xdb, 0xa5, 0xfe, 0x3d, - 0xa4, 0x94, 0xb8, 0x67, 0xc4, 0x2f, 0x6b, 0x24, 0x82, 0xcb, 0x1a, 0xa9, 0x2f, 0xbe, 0x31, 0x2f, - 0x55, 0xd7, 0x87, 0x72, 0xe7, 0xc9, 0xf1, 0xb9, 0x13, 0x30, 0xc0, 0x67, 0xd0, 0xf7, 0xdd, 0x1f, - 0xba, 0x0d, 0xec, 0x9f, 0x38, 0x0d, 0xb3, 0x27, 0xe6, 0x3c, 0xfe, 0xa8, 0x33, 0xae, 0x63, 0x9c, - 0x61, 0x1d, 0x35, 0x2b, 0xf7, 0x7a, 0xc8, 0xf5, 0x19, 0x28, 0x6c, 0xea, 0x8e, 0xd7, 0xc0, 0xde, - 0x35, 0xac, 0xb7, 0xb0, 0x13, 0xbd, 0x9b, 0x5b, 0x10, 0x77, 0x73, 0x85, 0x3d, 0x4b, 0x04, 0xf6, - 0x4c, 0x31, 0x21, 0x45, 0x9f, 0x13, 0x1e, 0x7a, 0xc8, 0x84, 0x1d, 0x0a, 0xe1, 0x87, 0x4c, 0xe8, - 0x07, 0xba, 0x2c, 0x6e, 0xdf, 0x26, 0x47, 0xdc, 0xbe, 0x15, 0x91, 0x13, 0xbb, 0x83, 0xdb, 0x81, - 0x49, 0xee, 0xcd, 0xc4, 0xee, 0xde, 0xae, 0x43, 0xa9, 0xab, 0x3b, 0x1e, 0xfd, 0xb5, 0x92, 0x3d, - 0x3a, 0x0c, 0xee, 0x89, 0xc4, 0x5d, 0x9f, 0x8a, 0x0c, 0x97, 0x37, 0x53, 0xe8, 0x86, 0x0b, 0x95, - 0x2f, 0xa6, 0x20, 0xcd, 0xd9, 0xf1, 0x7c, 0xf4, 0xa4, 0x5b, 0xc4, 0x31, 0x0f, 0xc4, 0x3f, 0x08, - 0x72, 0x39, 0x41, 0x3f, 0x2d, 0xfd, 0x50, 0xff, 0xb9, 0xb2, 0x6a, 0xee, 0xf3, 0x6f, 0xce, 0x4f, - 0xd2, 0x4c, 0x71, 0x7d, 0x39, 0x38, 0x64, 0xf6, 0xf6, 0x7b, 0x41, 0xcb, 0x50, 0x08, 0xe5, 0xb0, - 0xcd, 0x16, 0xdf, 0xf8, 0x9f, 0x1b, 0xee, 0x29, 0x8a, 0x6d, 0x5e, 0x3f, 0xbf, 0x5d, 0x6f, 0xa1, - 0x73, 0x20, 0x87, 0x76, 0x9e, 0x59, 0x78, 0xce, 0x92, 0xb7, 0xc5, 0xb6, 0xbf, 0xa7, 0x4c, 0x37, - 0x5e, 0x4f, 0x42, 0x96, 0xfe, 0x80, 0x4e, 0x68, 0x7f, 0x36, 0x43, 0x0a, 0x68, 0xe5, 0x59, 0x28, - 0xf5, 0x6f, 0xe1, 0xb2, 0x4d, 0xd9, 0xe2, 0xad, 0xe8, 0xf6, 0xed, 0xb0, 0x0d, 0xdf, 0xec, 0xd0, - 0x0d, 0xdf, 0x07, 0xa1, 0x18, 0x24, 0x25, 0x28, 0x2c, 0x30, 0x4f, 0xdb, 0x2f, 0xa5, 0x60, 0xe1, - 0xfc, 0x42, 0x2e, 0x92, 0x5f, 0xf0, 0x77, 0x06, 0x78, 0xb6, 0x85, 0xc1, 0xe4, 0xd9, 0x9e, 0x31, - 0xa9, 0xe0, 0x49, 0x15, 0x0a, 0x7b, 0x06, 0x0a, 0xe2, 0x92, 0x22, 0x83, 0x2b, 0x50, 0xb8, 0xbc, - 0x28, 0x1c, 0xba, 0x07, 0x5d, 0x8c, 0xdf, 0x83, 0x9e, 0x85, 0xd4, 0x32, 0x8f, 0x8a, 0xfb, 0x72, - 0x6c, 0x9f, 0x4d, 0x42, 0x8a, 0x6e, 0x2b, 0x3d, 0x19, 0x71, 0xcc, 0xe3, 0x44, 0x9a, 0x84, 0x07, - 0xb8, 0xb5, 0xe6, 0xee, 0x86, 0xfc, 0xf2, 0x61, 0x47, 0x4c, 0xfc, 0xd4, 0x46, 0x32, 0x9c, 0xda, - 0xb8, 0x0a, 0x19, 0x5f, 0x4e, 0x52, 0x23, 0xe5, 0xa4, 0x44, 0xe4, 0x84, 0x88, 0x31, 0x2f, 0x50, - 0x27, 0x79, 0x78, 0x81, 0xaa, 0x90, 0xf5, 0x35, 0x8c, 0x2f, 0x70, 0xe3, 0xc8, 0x6c, 0x80, 0x16, - 0x7f, 0x16, 0x23, 0x3d, 0xe4, 0x2c, 0x46, 0x58, 0xb0, 0xf8, 0x6f, 0x6f, 0x4e, 0xd2, 0x81, 0x05, - 0x82, 0xc5, 0x7e, 0x7f, 0xf3, 0x3e, 0xc8, 0x06, 0xf1, 0x15, 0x93, 0xbd, 0xa0, 0x80, 0xd4, 0x06, - 0x91, 0x1a, 0x93, 0xb5, 0xd0, 0x8f, 0x38, 0x0f, 0x89, 0xd2, 0x60, 0x58, 0x94, 0xa6, 0xfc, 0x5b, - 0x09, 0xd2, 0xfc, 0xb8, 0xc5, 0x01, 0x69, 0x01, 0x36, 0x0f, 0x89, 0x61, 0xf3, 0x90, 0x7c, 0x4b, - 0xf3, 0x00, 0x7e, 0x3f, 0xc5, 0x21, 0xd3, 0xfb, 0x62, 0x93, 0x73, 0xa4, 0x93, 0x0d, 0x73, 0x57, - 0xec, 0x13, 0x05, 0x58, 0xca, 0x9b, 0x12, 0x31, 0xbf, 0xbc, 0x7e, 0x30, 0xf0, 0x94, 0x0e, 0x1d, - 0x78, 0x1e, 0xee, 0x94, 0x4d, 0x44, 0x94, 0x92, 0xf7, 0x26, 0x4a, 0x91, 0x49, 0x4f, 0xf5, 0x4d, - 0xba, 0xf2, 0x05, 0x89, 0xff, 0x7e, 0xb3, 0x9f, 0xfc, 0xfb, 0x2b, 0x9a, 0xad, 0xaf, 0xe7, 0xf2, - 0xd5, 0xc2, 0x2d, 0x6d, 0x60, 0xda, 0x1e, 0x88, 0xbb, 0x37, 0x1d, 0xe9, 0x75, 0x30, 0x7d, 0x48, - 0x90, 0x69, 0x04, 0xd3, 0xf8, 0x73, 0x09, 0x71, 0x2a, 0x2d, 0x04, 0xff, 0x37, 0x70, 0x3a, 0xa3, - 0x6b, 0x78, 0x62, 0xcc, 0x35, 0x9c, 0x1e, 0xba, 0x86, 0x7f, 0x2e, 0x41, 0xdf, 0xd9, 0x60, 0x67, - 0x04, 0xbe, 0x16, 0x3a, 0xf8, 0x24, 0x64, 0xbb, 0x76, 0x5b, 0x63, 0x35, 0xec, 0x31, 0xfe, 0x4c, - 0xd7, 0x6e, 0xab, 0x03, 0xa2, 0x36, 0xf1, 0x76, 0x29, 0xe8, 0xf4, 0xdb, 0x30, 0x0d, 0x93, 0xfd, - 0xab, 0xca, 0x83, 0x3c, 0xe3, 0x05, 0xf7, 0xa0, 0x2e, 0x12, 0x26, 0x50, 0x9f, 0x4c, 0xea, 0xf7, - 0xf9, 0xfc, 0x7e, 0x33, 0x50, 0x95, 0x03, 0x12, 0x94, 0xc8, 0x49, 0xb7, 0x13, 0x43, 0x35, 0x97, - 0x38, 0xd9, 0xa3, 0x7c, 0x58, 0x02, 0x58, 0x25, 0xcc, 0xa5, 0x23, 0x26, 0xce, 0x8f, 0x4b, 0x3b, - 0xa1, 0x45, 0xda, 0x9e, 0x1f, 0x3a, 0x71, 0xbc, 0x07, 0x79, 0x37, 0xdc, 0xf5, 0x65, 0x28, 0x04, - 0x02, 0xee, 0x62, 0xd1, 0x9d, 0xf9, 0x83, 0x2e, 0xb2, 0x36, 0xb0, 0xa7, 0xe6, 0x6f, 0x85, 0xbe, - 0x94, 0x7f, 0x27, 0x41, 0x96, 0xf6, 0x6a, 0x0d, 0x7b, 0x7a, 0x64, 0x22, 0xa5, 0xb7, 0x30, 0x91, - 0xf7, 0x03, 0x30, 0x3a, 0xae, 0xf9, 0x1a, 0xe6, 0xf2, 0x95, 0xa5, 0x25, 0x0d, 0xf3, 0x35, 0x8c, - 0x9e, 0xf2, 0xb9, 0x9e, 0x1c, 0xc1, 0x75, 0x91, 0xbc, 0xe5, 0xbc, 0x3f, 0x0e, 0x93, 0x56, 0xaf, - 0xa3, 0xb1, 0xc3, 0xa4, 0x54, 0x68, 0xad, 0x5e, 0xa7, 0x79, 0xc7, 0x55, 0x6e, 0xc2, 0x64, 0xf3, - 0x0e, 0x7b, 0xbf, 0xe7, 0x24, 0x64, 0x1d, 0xdb, 0xe6, 0xde, 0x20, 0x73, 0xc4, 0x33, 0xa4, 0x80, - 0x3a, 0x3f, 0x71, 0x39, 0xff, 0x0b, 0xe3, 0xba, 0xfd, 0xdc, 0xe1, 0x3f, 0xff, 0x9b, 0x12, 0x14, - 0x22, 0x2b, 0x0a, 0x3d, 0x0a, 0xc7, 0x1b, 0xf5, 0x95, 0xf5, 0xda, 0xb2, 0xb6, 0xd6, 0x58, 0xe9, - 0x0b, 0xb0, 0xe7, 0x4a, 0xaf, 0xdf, 0x5d, 0xc8, 0xf1, 0xab, 0xaa, 0xc3, 0xa0, 0x37, 0xd5, 0x1a, - 0x8b, 0xb4, 0x19, 0xf4, 0xa6, 0x83, 0x6f, 0xd9, 0x1e, 0xa6, 0xd0, 0x8f, 0xc3, 0x89, 0x18, 0x68, - 0xff, 0xc2, 0xea, 0xd4, 0xeb, 0x77, 0x17, 0x0a, 0x9b, 0x0e, 0x66, 0xa2, 0x46, 0x31, 0x16, 0x61, - 0x76, 0x10, 0x83, 0x65, 0x35, 0xe4, 0x85, 0x39, 0xf9, 0xf5, 0xbb, 0x0b, 0x79, 0xa1, 0x3b, 0x08, - 0xfc, 0x3b, 0x7e, 0x63, 0xf5, 0xa3, 0x59, 0x38, 0xc1, 0xde, 0xb0, 0xd2, 0x58, 0x0c, 0xc8, 0x3e, - 0x78, 0x48, 0x9a, 0x0f, 0x57, 0x8d, 0xfe, 0x71, 0x02, 0xe5, 0x45, 0x98, 0xae, 0x5b, 0x1e, 0x76, - 0x76, 0xf4, 0xf0, 0xcf, 0x0b, 0xc7, 0xfe, 0x60, 0xef, 0x42, 0xe4, 0x95, 0x4d, 0x1e, 0xc1, 0x87, - 0x8b, 0x94, 0x6f, 0x91, 0x40, 0x6e, 0x18, 0x7a, 0x5b, 0x77, 0xde, 0x2a, 0x29, 0xf4, 0x94, 0xf8, - 0x51, 0x0a, 0x7e, 0x41, 0x24, 0x79, 0xae, 0x78, 0x69, 0x76, 0x31, 0x3c, 0xb8, 0x45, 0xd6, 0x12, - 0xd5, 0xc1, 0xec, 0xc7, 0x28, 0xc8, 0x9f, 0xe7, 0x5f, 0x02, 0x08, 0x2a, 0xd0, 0x49, 0x38, 0xde, - 0x58, 0xaa, 0xac, 0x56, 0xfc, 0x3c, 0x4d, 0x63, 0xb3, 0xb6, 0xc4, 0x7e, 0xf9, 0xfe, 0x08, 0x3a, - 0x06, 0x28, 0x5c, 0xe9, 0xff, 0xce, 0xdc, 0x51, 0x98, 0x0a, 0x97, 0xb3, 0x9f, 0x21, 0x4f, 0x94, - 0xaf, 0x41, 0x89, 0xfd, 0x46, 0x32, 0x31, 0x80, 0xb8, 0xa5, 0x99, 0x16, 0x1a, 0xf1, 0x93, 0xc3, - 0xb3, 0xbf, 0xfa, 0x5f, 0xd9, 0x4f, 0x54, 0x14, 0x18, 0x62, 0x85, 0xe0, 0xd5, 0xad, 0x72, 0x13, - 0x66, 0xe8, 0x8d, 0x70, 0xfa, 0xb3, 0x32, 0x9a, 0x29, 0xf8, 0x3f, 0xfa, 0x0d, 0x41, 0x42, 0x2f, - 0x79, 0x2e, 0xab, 0x4e, 0x07, 0xe8, 0xfe, 0xec, 0x95, 0x5f, 0x0c, 0x7e, 0x54, 0xc4, 0xef, 0xe0, - 0x48, 0x8a, 0xbf, 0xc6, 0x7b, 0x28, 0x9e, 0x10, 0x16, 0x5d, 0x5c, 0x85, 0x29, 0xdd, 0x30, 0x70, - 0x37, 0xd2, 0xbf, 0x11, 0xcf, 0xb6, 0x89, 0xd1, 0xca, 0x1c, 0x33, 0xe8, 0xda, 0x53, 0x90, 0x76, - 0xe9, 0xa4, 0x8c, 0x22, 0x21, 0xba, 0xc3, 0xc1, 0xcb, 0x35, 0x28, 0x32, 0x31, 0xf0, 0x47, 0x34, - 0x82, 0xc0, 0x7f, 0xe4, 0x04, 0xf2, 0x14, 0x4d, 0x8c, 0xc6, 0x82, 0xa9, 0x16, 0x36, 0xda, 0xba, - 0x83, 0x43, 0xa3, 0x39, 0xf8, 0xe9, 0xe2, 0x7f, 0xf9, 0xe9, 0xc7, 0xfd, 0x3d, 0xf4, 0x90, 0xd0, - 0xc5, 0x2c, 0x16, 0x55, 0xe6, 0xb4, 0x83, 0xf1, 0x62, 0x28, 0x8a, 0xf6, 0xf8, 0xb8, 0x0f, 0x6e, - 0xec, 0x5f, 0xf1, 0xc6, 0x4e, 0xc5, 0x49, 0x78, 0xa8, 0xa5, 0x02, 0xa7, 0xca, 0x2a, 0xca, 0x55, - 0x28, 0xec, 0x98, 0xed, 0xd0, 0x74, 0x1f, 0xdc, 0xca, 0xbf, 0xfe, 0xf4, 0xe3, 0x6c, 0xa1, 0x11, - 0x24, 0xce, 0x9a, 0x7b, 0xfa, 0xc9, 0x14, 0x4a, 0xfd, 0xd9, 0x70, 0x57, 0x7d, 0xed, 0xf4, 0x89, - 0x24, 0x9c, 0xe2, 0xc0, 0xdb, 0xba, 0x8b, 0x89, 0xe2, 0xc2, 0x9e, 0x7e, 0xf1, 0x82, 0x61, 0x9b, - 0x56, 0x90, 0x54, 0xa4, 0x0a, 0x8b, 0xd4, 0x2f, 0xf2, 0xfa, 0x21, 0x39, 0xad, 0xe1, 0x8a, 0x6e, - 0x6e, 0xf0, 0x67, 0x7b, 0x94, 0x36, 0xa4, 0x96, 0x6c, 0xd3, 0x22, 0x3e, 0x57, 0x0b, 0x5b, 0x76, - 0x47, 0x9c, 0x57, 0xa4, 0x1f, 0xe8, 0x1a, 0xa4, 0xf5, 0x8e, 0xdd, 0xb3, 0xf8, 0xfb, 0x6d, 0xd5, - 0xc7, 0x89, 0x2d, 0xfc, 0xed, 0x37, 0xe7, 0x8f, 0x32, 0xb2, 0x6e, 0xeb, 0xe6, 0xa2, 0x69, 0x5f, - 0xe8, 0xe8, 0xde, 0x1e, 0x99, 0xe4, 0xdf, 0xf8, 0xcc, 0x63, 0xc0, 0xdb, 0xab, 0x5b, 0xde, 0x27, - 0xff, 0xe0, 0x67, 0xce, 0x4b, 0x2a, 0xc7, 0x67, 0x69, 0x47, 0xa5, 0x0b, 0x93, 0xcb, 0xd8, 0x38, - 0xa0, 0xc1, 0x7a, 0x5f, 0x83, 0x17, 0x79, 0x83, 0x27, 0x07, 0x1b, 0x64, 0xbf, 0x23, 0xb8, 0x8c, - 0x8d, 0x50, 0xb3, 0xcb, 0xd8, 0x88, 0xb6, 0x58, 0x5d, 0xfe, 0xad, 0xdf, 0x3b, 0x75, 0xe4, 0x7d, - 0x9f, 0x3f, 0x75, 0x64, 0xe8, 0x94, 0x29, 0xa3, 0x7f, 0xe5, 0xc6, 0x9f, 0xa9, 0xff, 0x2d, 0xc1, - 0x89, 0x7e, 0xf3, 0xa0, 0x5b, 0xfb, 0xc3, 0xde, 0x3c, 0xb8, 0x02, 0xc9, 0x8a, 0xb5, 0x8f, 0x4e, - 0xb0, 0xd7, 0x5c, 0xb5, 0x9e, 0xd3, 0x16, 0xc7, 0x3c, 0xc9, 0xf7, 0x96, 0xd3, 0x8e, 0x1e, 0x29, - 0xf0, 0x5f, 0xe6, 0xfa, 0xee, 0x43, 0x3e, 0x77, 0x90, 0xa9, 0x58, 0xfb, 0xe2, 0xa1, 0x83, 0x47, - 0xc7, 0x7c, 0xe8, 0x40, 0xb7, 0xf6, 0xbb, 0xdb, 0x87, 0x7d, 0xdf, 0xe0, 0x03, 0x97, 0xe1, 0x01, - 0xce, 0x23, 0xd7, 0xd3, 0x6f, 0x9a, 0xd6, 0xae, 0x2f, 0xac, 0xfc, 0x9b, 0xb3, 0xe2, 0x18, 0x9f, - 0x10, 0x51, 0x2a, 0x44, 0x76, 0x50, 0x02, 0xe7, 0x0e, 0x7c, 0x30, 0x61, 0xee, 0xe0, 0x6c, 0xf2, - 0xdc, 0x88, 0x75, 0x73, 0xd0, 0x62, 0x18, 0xb2, 0x7a, 0x86, 0x4e, 0xef, 0xc8, 0xd7, 0xc3, 0x46, - 0x26, 0x93, 0x3f, 0x2c, 0x41, 0xf1, 0x9a, 0xe9, 0x7a, 0xb6, 0x63, 0x1a, 0x7a, 0x9b, 0x6e, 0xa4, - 0xbf, 0x6b, 0x6c, 0xef, 0xbf, 0x9a, 0x25, 0x4b, 0x81, 0x2f, 0xaa, 0x3d, 0xe1, 0x80, 0xa7, 0x6f, - 0xe9, 0x6d, 0xe6, 0x79, 0x87, 0xf5, 0x6e, 0x3f, 0xdb, 0x43, 0xfb, 0xcb, 0x61, 0x2a, 0x0c, 0xb7, - 0x9c, 0x98, 0x95, 0x94, 0xef, 0x4f, 0x40, 0x89, 0x86, 0x0c, 0x2e, 0x3d, 0x10, 0x46, 0x8f, 0x1c, - 0x5d, 0x87, 0x94, 0xa3, 0x7b, 0xdc, 0x09, 0xa9, 0x5e, 0x39, 0xf4, 0x4a, 0x64, 0xad, 0x50, 0x1a, - 0xe8, 0xdd, 0x90, 0xe9, 0xe8, 0x77, 0x34, 0x4a, 0x2f, 0xf1, 0x96, 0xe8, 0x4d, 0x76, 0xf4, 0x3b, - 0xa4, 0x7f, 0xe8, 0x9b, 0xa0, 0x44, 0x48, 0x1a, 0x7b, 0xba, 0xb5, 0x8b, 0x19, 0xe5, 0xe4, 0x5b, - 0xa2, 0x5c, 0xe8, 0xe8, 0x77, 0x96, 0x28, 0x35, 0x42, 0x9f, 0x6b, 0xac, 0x5f, 0x92, 0xf8, 0xe9, - 0x2a, 0xca, 0x18, 0xa4, 0x83, 0x6c, 0xf8, 0x5f, 0xb4, 0x51, 0x71, 0x68, 0xf9, 0xec, 0x30, 0xde, - 0xf7, 0xb1, 0xb5, 0x5a, 0x20, 0xdd, 0xfb, 0xdc, 0x9b, 0xf3, 0x12, 0x6b, 0xb5, 0x64, 0x0c, 0xb0, - 0x3d, 0xc7, 0x4e, 0x8d, 0x69, 0x34, 0xb3, 0x9d, 0x18, 0x19, 0x84, 0x16, 0x44, 0x10, 0xca, 0x08, - 0x02, 0xc3, 0x26, 0xf5, 0x7c, 0x0c, 0x7f, 0x2a, 0x41, 0x6e, 0x39, 0xe4, 0x27, 0xce, 0xc2, 0x64, - 0xc7, 0xb6, 0xcc, 0x9b, 0xd8, 0xf1, 0x4f, 0x9d, 0xb3, 0x4f, 0x34, 0x07, 0x19, 0xf6, 0x0b, 0x90, - 0xde, 0xbe, 0xd8, 0x6d, 0x12, 0xdf, 0x04, 0xeb, 0x36, 0xde, 0x76, 0x4d, 0xc1, 0x67, 0x55, 0x7c, - 0xa2, 0x87, 0x41, 0x76, 0xb1, 0xd1, 0x73, 0x4c, 0x6f, 0x5f, 0x33, 0x6c, 0xcb, 0xd3, 0x0d, 0x8f, - 0x1f, 0x56, 0x2a, 0x89, 0xf2, 0x25, 0x56, 0x4c, 0x88, 0xb4, 0xb0, 0xa7, 0x9b, 0x6d, 0x76, 0x19, - 0x3b, 0xab, 0x8a, 0x4f, 0xb4, 0x12, 0xda, 0xfe, 0x4f, 0xfb, 0xbb, 0x13, 0xb1, 0x1c, 0x15, 0xbf, - 0x37, 0x4f, 0x85, 0x99, 0x8e, 0xfa, 0x48, 0x70, 0x56, 0x80, 0x8f, 0x79, 0x07, 0x32, 0x02, 0x0c, - 0x3d, 0x04, 0xa5, 0xae, 0x63, 0x53, 0xab, 0xdf, 0x35, 0x0d, 0xad, 0xe7, 0x98, 0x7c, 0xdc, 0x05, - 0x5e, 0xbc, 0x69, 0x1a, 0x5b, 0x8e, 0x89, 0x1e, 0x05, 0xe4, 0xda, 0x06, 0xbd, 0x08, 0xae, 0x5b, - 0xad, 0x36, 0x51, 0xd8, 0x26, 0x3b, 0x6b, 0x96, 0x55, 0x65, 0x56, 0x73, 0x8d, 0x56, 0x6c, 0x39, - 0xa6, 0xcb, 0xdb, 0xb9, 0x3b, 0x19, 0x3e, 0x5b, 0xb4, 0x04, 0xb2, 0xdd, 0xc5, 0x4e, 0x24, 0xe3, - 0xc3, 0x96, 0xcf, 0xec, 0x6f, 0x7c, 0xe6, 0xb1, 0x19, 0x3e, 0x1e, 0x9e, 0xf3, 0x61, 0xaf, 0x38, - 0xaa, 0x25, 0x81, 0x21, 0x52, 0x41, 0x2f, 0x47, 0x0e, 0xc6, 0xf7, 0xb6, 0x83, 0x37, 0x99, 0x66, - 0x06, 0xa4, 0xa0, 0x62, 0xed, 0x57, 0x67, 0x7f, 0x2d, 0x20, 0xcd, 0xe3, 0xc5, 0x4d, 0x7a, 0xd2, - 0x28, 0x7c, 0x48, 0x9e, 0x92, 0x41, 0xc7, 0x20, 0xfd, 0xaa, 0x6e, 0xb6, 0xc5, 0xaf, 0xfb, 0xaa, - 0xfc, 0x0b, 0x95, 0xfd, 0x83, 0x9f, 0x29, 0x9a, 0xc1, 0x51, 0x86, 0xb1, 0xbe, 0x6a, 0x5b, 0xad, - 0xe8, 0x79, 0x4f, 0xb4, 0x04, 0x69, 0xcf, 0xbe, 0x89, 0x2d, 0x3e, 0xa3, 0xd5, 0x47, 0x0e, 0xe1, - 0x23, 0xa8, 0x1c, 0x15, 0x7d, 0x03, 0xc8, 0x2d, 0xdc, 0xc6, 0xbb, 0x2c, 0x95, 0xb0, 0xa7, 0x3b, - 0x98, 0xe5, 0xb4, 0xef, 0xc9, 0x03, 0x28, 0xf9, 0xa4, 0x1a, 0x94, 0x12, 0xda, 0x8c, 0x86, 0x4e, - 0x93, 0xfe, 0x9d, 0xae, 0xd8, 0x31, 0x86, 0x96, 0x4a, 0x58, 0x5d, 0x46, 0x42, 0xad, 0x87, 0x41, - 0xee, 0x59, 0xdb, 0xb6, 0x45, 0x7f, 0x14, 0x93, 0x27, 0xb1, 0x32, 0xec, 0xb2, 0x84, 0x5f, 0xce, - 0x2f, 0x4b, 0x6c, 0x42, 0x31, 0x00, 0xa5, 0x4b, 0x3a, 0x7b, 0xd8, 0x25, 0x5d, 0xf0, 0x09, 0x10, - 0x10, 0xb4, 0x06, 0x10, 0x28, 0x0d, 0x9a, 0x66, 0xcf, 0x0d, 0x9f, 0xb1, 0x40, 0xfd, 0x84, 0x07, - 0x13, 0x22, 0x80, 0x2c, 0x98, 0xee, 0x98, 0x96, 0xe6, 0xe2, 0xf6, 0x8e, 0xc6, 0x39, 0x47, 0xe8, - 0xe6, 0x28, 0xfb, 0x9f, 0x3f, 0xc4, 0x6c, 0xfe, 0xf6, 0x67, 0x1e, 0x2b, 0x05, 0xae, 0xd3, 0xc2, - 0xe3, 0x8b, 0x4f, 0x3e, 0xa5, 0x4e, 0x75, 0x4c, 0xab, 0x81, 0xdb, 0x3b, 0xcb, 0x3e, 0x61, 0xf4, - 0x2e, 0x38, 0x19, 0x30, 0xc4, 0xb6, 0xb4, 0x3d, 0xbb, 0xdd, 0xd2, 0x1c, 0xbc, 0xa3, 0x19, 0xd4, - 0xf1, 0xcb, 0x53, 0x36, 0x1e, 0xf7, 0x41, 0x36, 0xac, 0x6b, 0x76, 0xbb, 0xa5, 0xe2, 0x9d, 0x25, - 0x52, 0x8d, 0xce, 0x40, 0xc0, 0x0d, 0xcd, 0x6c, 0xb9, 0xb3, 0x85, 0x85, 0xe4, 0xb9, 0x94, 0x9a, - 0xf7, 0x0b, 0xeb, 0x2d, 0xb7, 0x9c, 0xf9, 0xe0, 0x1b, 0xf3, 0x47, 0xbe, 0xf8, 0xc6, 0xfc, 0x11, - 0xe5, 0x2a, 0x7d, 0xb5, 0x8d, 0x2f, 0x2d, 0xec, 0xa2, 0x2b, 0x90, 0xd5, 0xc5, 0x07, 0x7b, 0xf8, - 0xf0, 0x80, 0xa5, 0x19, 0x80, 0x2a, 0x9f, 0x92, 0x20, 0xbd, 0x7c, 0x63, 0x53, 0x37, 0x1d, 0x54, - 0x23, 0x81, 0x91, 0x90, 0xd5, 0x71, 0x57, 0x79, 0x20, 0xde, 0x62, 0x99, 0xaf, 0x0f, 0x4b, 0x0f, - 0x67, 0xab, 0xa7, 0x7f, 0xe3, 0x33, 0x8f, 0xdd, 0xcf, 0xc9, 0xdc, 0xe8, 0xcb, 0x14, 0x0b, 0x7a, - 0xfd, 0x19, 0xe4, 0xd0, 0x98, 0xaf, 0xc3, 0x24, 0xeb, 0xaa, 0x8b, 0x5e, 0x80, 0x89, 0x2e, 0xf9, - 0x83, 0x9f, 0xb8, 0x3e, 0x35, 0x54, 0xe6, 0x29, 0x7c, 0x58, 0x42, 0x18, 0x9e, 0xf2, 0x1d, 0x09, - 0x80, 0xe5, 0x1b, 0x37, 0x9a, 0x8e, 0xd9, 0x6d, 0x63, 0xef, 0xed, 0x1a, 0xfb, 0x16, 0x1c, 0x0d, - 0x65, 0x0e, 0x1d, 0xe3, 0xf0, 0xe3, 0x9f, 0x0e, 0x72, 0x88, 0x8e, 0x11, 0x4b, 0xb6, 0xe5, 0x7a, - 0x3e, 0xd9, 0xe4, 0xe1, 0xc9, 0x2e, 0xbb, 0xde, 0x20, 0x67, 0x5f, 0x82, 0x5c, 0xc0, 0x0c, 0x17, - 0xd5, 0x21, 0xe3, 0xf1, 0xbf, 0x39, 0x83, 0x95, 0xe1, 0x0c, 0x16, 0x68, 0x61, 0x26, 0xfb, 0xe8, - 0xca, 0x5f, 0x4a, 0x00, 0xa1, 0x35, 0xf2, 0xd7, 0x53, 0xc6, 0x48, 0x78, 0xc6, 0x95, 0x73, 0xf2, - 0x9e, 0xc3, 0x33, 0x46, 0x20, 0xc4, 0xd4, 0xef, 0x4a, 0xc0, 0xf4, 0x96, 0x58, 0xbd, 0x7f, 0xfd, - 0x79, 0xb0, 0x05, 0x93, 0xd8, 0xf2, 0x1c, 0xd3, 0xbf, 0x31, 0xf0, 0xf8, 0xb0, 0x39, 0x8f, 0x19, - 0x54, 0xcd, 0xf2, 0x9c, 0xfd, 0xb0, 0x04, 0x08, 0x5a, 0x21, 0x7e, 0x7c, 0x34, 0x09, 0xb3, 0xc3, - 0x50, 0xd1, 0x59, 0x28, 0x19, 0x0e, 0xa6, 0x05, 0xd1, 0x77, 0x38, 0x8b, 0xa2, 0x98, 0x9b, 0x1d, - 0x15, 0x88, 0x67, 0x49, 0x84, 0x8b, 0x80, 0xde, 0x9b, 0x2b, 0x59, 0x0c, 0x28, 0x50, 0xc3, 0xd3, - 0x84, 0x92, 0x78, 0x2a, 0x67, 0x5b, 0x6f, 0xeb, 0x96, 0x21, 0x5c, 0xee, 0x43, 0xd9, 0x7c, 0xf1, - 0xdc, 0x4e, 0x95, 0x91, 0x40, 0x35, 0x98, 0x14, 0xd4, 0x52, 0x87, 0xa7, 0x26, 0x70, 0xd1, 0x69, - 0xc8, 0x87, 0x0d, 0x03, 0xf5, 0x46, 0x52, 0x6a, 0x2e, 0x64, 0x17, 0x46, 0x59, 0x9e, 0xf4, 0x81, - 0x96, 0x87, 0x3b, 0x7c, 0x3f, 0x94, 0x84, 0x29, 0x15, 0xb7, 0xfe, 0xe6, 0x4f, 0xcb, 0x26, 0x00, - 0x5b, 0xaa, 0x44, 0x93, 0xf2, 0x99, 0xb9, 0x87, 0xf5, 0x9e, 0x65, 0x44, 0x96, 0x5d, 0xef, 0x6b, - 0x35, 0x43, 0xbf, 0x93, 0x80, 0x7c, 0x78, 0x86, 0xfe, 0x56, 0x1a, 0x2d, 0xb4, 0x1e, 0xa8, 0x29, - 0xb6, 0x51, 0xfe, 0xf0, 0x30, 0x35, 0x35, 0x20, 0xcd, 0x23, 0xf4, 0xd3, 0x97, 0x92, 0x90, 0xe6, - 0x97, 0x6e, 0x37, 0x06, 0x7c, 0xdb, 0x91, 0x8f, 0x30, 0x17, 0xc4, 0x3b, 0xd6, 0xb1, 0xae, 0xed, - 0x83, 0x50, 0x24, 0x41, 0x7d, 0xe4, 0x26, 0xaf, 0x74, 0xae, 0x40, 0x63, 0xf3, 0xe0, 0x60, 0x13, - 0x9a, 0x87, 0x1c, 0x01, 0x0b, 0xf4, 0x30, 0x81, 0x81, 0x8e, 0x7e, 0xa7, 0xc6, 0x4a, 0xd0, 0x45, - 0x40, 0x7b, 0x7e, 0xa6, 0x45, 0x0b, 0x18, 0x21, 0x9d, 0x2b, 0xd0, 0x17, 0xc9, 0xa7, 0x82, 0x5a, - 0x81, 0x72, 0x3f, 0x00, 0xe9, 0x89, 0xc6, 0xb2, 0x92, 0xfc, 0x67, 0xb2, 0x49, 0xc9, 0x32, 0xcd, - 0x4c, 0x7e, 0x9b, 0xc4, 0xdc, 0xe4, 0xbe, 0xf0, 0x9f, 0x47, 0x29, 0xcd, 0x31, 0x16, 0xc6, 0x9f, - 0xbd, 0x39, 0x3f, 0xb7, 0xaf, 0x77, 0xda, 0x65, 0x25, 0x86, 0x8e, 0x12, 0x97, 0x91, 0x20, 0xce, - 0x73, 0x34, 0x7d, 0x80, 0xea, 0x20, 0xdf, 0xc4, 0xfb, 0x9a, 0xc3, 0x7f, 0x49, 0x5e, 0xdb, 0xc1, - 0xe2, 0x2d, 0xf4, 0x13, 0x8b, 0x31, 0x39, 0xe2, 0xc5, 0x25, 0xdb, 0xb4, 0xf8, 0x16, 0x66, 0xf1, - 0x26, 0xde, 0x57, 0x39, 0xde, 0x55, 0x8c, 0xcb, 0x0f, 0x90, 0xd5, 0xf2, 0xfa, 0x1f, 0xfc, 0xcc, - 0xf9, 0x93, 0xa1, 0x7c, 0xe7, 0x1d, 0x3f, 0xb1, 0xc7, 0xa6, 0x98, 0x38, 0xbe, 0x28, 0x30, 0x42, - 0xa1, 0xdb, 0xdb, 0x10, 0x8a, 0x15, 0xa4, 0x83, 0x63, 0x90, 0x00, 0x3f, 0x12, 0x83, 0x84, 0x96, - 0xe8, 0xf3, 0x81, 0x0d, 0x48, 0x8c, 0x1a, 0x4d, 0x58, 0x3a, 0x39, 0x12, 0x5d, 0xf9, 0x47, 0x94, - 0xff, 0x24, 0xc1, 0x89, 0x01, 0x69, 0xf6, 0xbb, 0x6c, 0x00, 0x72, 0x42, 0x95, 0x54, 0x2a, 0xc4, - 0x05, 0x9e, 0x7b, 0x5b, 0x1c, 0x53, 0xce, 0x80, 0x21, 0x78, 0x7b, 0x8c, 0x19, 0xd7, 0x64, 0xbf, - 0x2a, 0xc1, 0x4c, 0xb8, 0x03, 0xfe, 0x50, 0x1a, 0x90, 0x0f, 0x37, 0xcd, 0x07, 0xf1, 0xc0, 0x38, - 0x83, 0x08, 0xf7, 0x3f, 0x42, 0x04, 0xdd, 0x08, 0x34, 0x06, 0x4b, 0x27, 0x5e, 0x1c, 0x9b, 0x29, - 0xa2, 0x63, 0xb1, 0x9a, 0x83, 0xcd, 0xcd, 0x97, 0x24, 0x48, 0x6d, 0xda, 0x76, 0x1b, 0xbd, 0x17, - 0xa6, 0x2c, 0xdb, 0xd3, 0xc8, 0xca, 0xc2, 0x2d, 0x8d, 0xa7, 0x0e, 0x98, 0x36, 0xae, 0x1d, 0xc8, - 0xab, 0x3f, 0x7c, 0x73, 0x7e, 0x10, 0x33, 0x6e, 0xcf, 0xa1, 0x64, 0xd9, 0x5e, 0x95, 0x02, 0x35, - 0x59, 0x76, 0x61, 0x07, 0x0a, 0xd1, 0xe6, 0x98, 0xc6, 0xae, 0x8c, 0x6a, 0xae, 0x30, 0xb2, 0xa9, - 0xfc, 0x76, 0xa8, 0x1d, 0xf6, 0xb3, 0x43, 0x7f, 0x42, 0x66, 0xee, 0x9b, 0x40, 0xbe, 0xd1, 0x7f, - 0x3d, 0xf4, 0x2a, 0x4c, 0x8a, 0xeb, 0xa0, 0xd2, 0xb8, 0x57, 0x4d, 0xc3, 0xfc, 0xe4, 0xc8, 0x34, - 0x5f, 0xfb, 0xb9, 0x04, 0x9c, 0x58, 0xb2, 0x2d, 0x97, 0x27, 0x7a, 0xf8, 0xaa, 0x66, 0xc9, 0xe5, - 0x7d, 0xf4, 0xf0, 0x90, 0x34, 0x54, 0x7e, 0x30, 0xd9, 0x74, 0x03, 0x4a, 0xc4, 0xc4, 0x1a, 0xb6, - 0xf5, 0x16, 0x73, 0x4d, 0x05, 0xbb, 0xdd, 0xe2, 0x3d, 0xba, 0x89, 0xf7, 0x09, 0x5d, 0x0b, 0xdf, - 0x8e, 0xd0, 0x4d, 0xde, 0x1b, 0x5d, 0x0b, 0xdf, 0x0e, 0xd1, 0x0d, 0xce, 0x0c, 0xa5, 0x22, 0x37, - 0x90, 0xae, 0x40, 0x92, 0xa8, 0xc2, 0x89, 0x43, 0x28, 0x0f, 0x82, 0x10, 0x32, 0x6b, 0x0d, 0x38, - 0xc1, 0x33, 0x05, 0xee, 0xc6, 0x0e, 0xe5, 0x28, 0xa6, 0x03, 0x7a, 0x11, 0xef, 0xc7, 0xa4, 0x0d, - 0xf2, 0x63, 0xa5, 0x0d, 0xce, 0xff, 0xbc, 0x04, 0x10, 0xe4, 0xcc, 0xd0, 0xa3, 0x70, 0xbc, 0xba, - 0xb1, 0xbe, 0x1c, 0x5c, 0xc6, 0x08, 0x6d, 0xad, 0x8b, 0x53, 0x1a, 0x6e, 0x17, 0x1b, 0xe6, 0x8e, - 0x89, 0x5b, 0xe8, 0x21, 0x98, 0x89, 0x42, 0x93, 0xaf, 0xda, 0xb2, 0x2c, 0xcd, 0xe5, 0x5f, 0xbf, - 0xbb, 0x90, 0x61, 0x31, 0x02, 0x6e, 0xa1, 0x73, 0x70, 0x74, 0x10, 0xae, 0xbe, 0xbe, 0x22, 0x27, - 0xe6, 0x0a, 0xaf, 0xdf, 0x5d, 0xc8, 0xfa, 0xc1, 0x04, 0x52, 0x00, 0x85, 0x21, 0x39, 0xbd, 0xe4, - 0x1c, 0xbc, 0x7e, 0x77, 0x21, 0xcd, 0x96, 0x0c, 0xbf, 0xc5, 0xf1, 0x8d, 0x00, 0x75, 0x6b, 0xc7, - 0xd1, 0x0d, 0xaa, 0x1a, 0xe6, 0xe0, 0x58, 0x7d, 0xfd, 0xaa, 0x5a, 0x59, 0x6a, 0xd6, 0x37, 0xd6, - 0xfb, 0x4e, 0x04, 0x44, 0xeb, 0x96, 0x37, 0xb6, 0xaa, 0xab, 0x35, 0xad, 0x51, 0x5f, 0x59, 0x67, - 0x57, 0xae, 0x22, 0x75, 0xef, 0x59, 0x6f, 0xd6, 0xd7, 0x6a, 0x72, 0xa2, 0x7a, 0x65, 0xe8, 0x76, - 0xdc, 0x7d, 0x91, 0xc5, 0x18, 0x98, 0xa3, 0xc8, 0x46, 0xdc, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, - 0xf0, 0xde, 0x01, 0x06, 0xe8, 0xa7, 0x00, 0x00, + 0x44, 0xcf, 0xc3, 0x24, 0x57, 0x0a, 0xfe, 0xb5, 0xea, 0x38, 0x6f, 0x59, 0x44, 0x67, 0xdc, 0x5f, + 0x4e, 0x33, 0x9d, 0x81, 0x4e, 0x43, 0x3e, 0xa6, 0x37, 0xb9, 0x9b, 0x41, 0x47, 0xe8, 0x73, 0x45, + 0x7c, 0x08, 0x5a, 0xd7, 0x31, 0x6d, 0xc7, 0xf4, 0xf6, 0xa9, 0xe9, 0x49, 0xaa, 0xb2, 0xa8, 0xd8, + 0xe4, 0xe5, 0x4a, 0x1b, 0x4a, 0x0d, 0xb3, 0xd3, 0xa5, 0x1e, 0x1e, 0xef, 0xfa, 0xe5, 0xa0, 0x83, + 0xd2, 0x18, 0x1d, 0x1c, 0xda, 0xb5, 0xc4, 0x40, 0xd7, 0xce, 0xff, 0x86, 0xc4, 0x6d, 0x43, 0x7d, + 0xf9, 0x4a, 0x5b, 0xdf, 0x45, 0x17, 0xe1, 0x68, 0x75, 0x75, 0x63, 0xe9, 0x65, 0xad, 0xbe, 0xac, + 0x5d, 0x59, 0xad, 0xac, 0x04, 0xa7, 0x78, 0xe7, 0x8e, 0xdd, 0xb9, 0xbb, 0x80, 0x42, 0xb0, 0x5b, + 0x16, 0x75, 0x71, 0xd0, 0x05, 0x98, 0x89, 0xa2, 0x54, 0xaa, 0x8d, 0xda, 0x7a, 0x53, 0x96, 0xe6, + 0x8e, 0xde, 0xb9, 0xbb, 0x30, 0x15, 0xc2, 0xa8, 0x6c, 0xbb, 0xd8, 0xf2, 0x06, 0x11, 0x96, 0x36, + 0xd6, 0xd6, 0xea, 0x4d, 0x39, 0x31, 0x80, 0xb0, 0x64, 0x77, 0x3a, 0xa6, 0x87, 0x1e, 0x86, 0xa9, + 0x28, 0xc2, 0x7a, 0x7d, 0x55, 0x4e, 0xce, 0xa1, 0x3b, 0x77, 0x17, 0x8a, 0x21, 0xe8, 0x75, 0xb3, + 0x3d, 0x97, 0xf9, 0xe0, 0x8f, 0x9c, 0x3a, 0xf2, 0xc9, 0x7f, 0x7c, 0x4a, 0xaa, 0xae, 0xbe, 0x2b, + 0x0b, 0xef, 0xfb, 0x13, 0x30, 0xdf, 0xef, 0x29, 0x79, 0x66, 0x07, 0xbb, 0x9e, 0xde, 0xe9, 0x0e, + 0x73, 0xda, 0x9f, 0x83, 0x6c, 0x53, 0xc0, 0x1c, 0x3a, 0x96, 0xb9, 0x7b, 0x48, 0x57, 0xb5, 0xe8, + 0x37, 0x25, 0x7c, 0xd5, 0x4b, 0x63, 0xfa, 0xaa, 0xfe, 0x38, 0xee, 0xc9, 0x59, 0xfd, 0xed, 0x06, + 0xdc, 0x17, 0x30, 0x71, 0xdb, 0x30, 0x89, 0x12, 0x61, 0xab, 0x99, 0xb1, 0x45, 0xf6, 0x65, 0x96, + 0xd4, 0x12, 0x65, 0x74, 0xb0, 0xda, 0x99, 0x1b, 0x91, 0x5e, 0x98, 0x1b, 0xe1, 0x1b, 0xcf, 0x8d, + 0xd6, 0x90, 0x43, 0xd4, 0xe1, 0xa8, 0x19, 0x56, 0xfe, 0x73, 0x16, 0x26, 0x55, 0xfc, 0xbe, 0x1e, + 0x76, 0x3d, 0xf4, 0x04, 0xa4, 0xb0, 0xb1, 0x67, 0x0f, 0xae, 0x4c, 0x3e, 0xca, 0xc5, 0x9a, 0xb1, + 0x67, 0x73, 0xe0, 0xab, 0x47, 0x54, 0x0a, 0x8c, 0x2e, 0xc3, 0xc4, 0x4e, 0xbb, 0xe7, 0xee, 0x71, + 0x85, 0x73, 0x6a, 0x10, 0xeb, 0x0a, 0xa9, 0x0e, 0xd0, 0x18, 0x38, 0x69, 0x8c, 0x3e, 0xa7, 0x95, + 0x1c, 0xd6, 0x18, 0x7d, 0x45, 0x2b, 0x68, 0x8c, 0x00, 0xa3, 0x25, 0x00, 0xd3, 0x32, 0x3d, 0xcd, + 0xd8, 0xd3, 0x4d, 0x8b, 0x7b, 0xae, 0x4a, 0x1c, 0xaa, 0xe9, 0x2d, 0x11, 0x90, 0x00, 0x3f, 0x6b, + 0x8a, 0x32, 0xd2, 0xe3, 0xf7, 0xf5, 0xb0, 0x23, 0xbc, 0xd7, 0x98, 0x1e, 0xbf, 0x87, 0x54, 0x87, + 0x7a, 0x4c, 0xc1, 0x89, 0xb7, 0xcf, 0xae, 0x7a, 0x7b, 0xb7, 0xf9, 0x03, 0x26, 0x0b, 0x83, 0xa8, + 0xf4, 0xa6, 0x77, 0xf3, 0x76, 0x80, 0x3c, 0x69, 0xb0, 0x12, 0xf4, 0x2c, 0xa4, 0x0d, 0xaa, 0x04, + 0xe8, 0x05, 0xcc, 0xdc, 0xa5, 0xf9, 0x18, 0x64, 0x5a, 0x1f, 0xe0, 0x72, 0x04, 0xb4, 0x01, 0xc5, + 0xb6, 0xe9, 0x7a, 0x9a, 0x6b, 0xe9, 0x5d, 0x77, 0xcf, 0xf6, 0x5c, 0xfa, 0x86, 0x58, 0xee, 0xd2, + 0x43, 0x83, 0x24, 0x56, 0x4d, 0xd7, 0x6b, 0x08, 0xb0, 0x80, 0x52, 0xa1, 0x1d, 0x2e, 0x27, 0x04, + 0xed, 0x9d, 0x1d, 0xec, 0xf8, 0x14, 0xe9, 0xdb, 0x63, 0xb1, 0x04, 0x37, 0x08, 0x9c, 0xc0, 0x0c, + 0x11, 0xb4, 0xc3, 0xe5, 0xe8, 0xeb, 0x60, 0xba, 0x6d, 0xeb, 0x2d, 0x9f, 0x9e, 0x66, 0xec, 0xf5, + 0xac, 0x1b, 0xb3, 0x45, 0x4a, 0xf5, 0x7c, 0x4c, 0x37, 0x6d, 0xbd, 0x25, 0x90, 0x97, 0x08, 0x68, + 0x40, 0x79, 0xaa, 0xdd, 0x5f, 0x87, 0x34, 0x98, 0xd1, 0xbb, 0xdd, 0xf6, 0x7e, 0x3f, 0xf9, 0x12, + 0x25, 0xff, 0xc8, 0x20, 0xf9, 0x0a, 0x81, 0x1e, 0x42, 0x1f, 0xe9, 0x03, 0x95, 0x68, 0x0b, 0xe4, + 0xae, 0x83, 0xe9, 0xc9, 0x0c, 0x66, 0xc5, 0xf4, 0x36, 0xbd, 0x23, 0x99, 0xbb, 0x74, 0x6e, 0x90, + 0xf8, 0x26, 0x83, 0xdc, 0xe4, 0x80, 0x01, 0xe5, 0x52, 0x37, 0x5a, 0xc3, 0xc8, 0xda, 0x06, 0xa6, + 0x77, 0xb8, 0x39, 0xd9, 0xa9, 0xe1, 0x64, 0x29, 0x64, 0x2c, 0xd9, 0x48, 0x0d, 0xba, 0x02, 0x39, + 0xf6, 0x6e, 0x0f, 0x71, 0x1e, 0x30, 0xbd, 0x5b, 0x99, 0xbb, 0x74, 0x26, 0x66, 0xb9, 0x52, 0xa0, + 0xeb, 0xb6, 0x87, 0x03, 0x62, 0x80, 0xfd, 0x42, 0xb4, 0x0d, 0x47, 0xe9, 0x3d, 0xd3, 0x7d, 0x2d, + 0xea, 0x22, 0xce, 0x4e, 0x53, 0x8a, 0x8f, 0x0e, 0x52, 0xa4, 0x8f, 0x2c, 0xed, 0x5f, 0x0f, 0xfb, + 0x8a, 0x01, 0xe9, 0xe9, 0x9b, 0x83, 0xb5, 0x44, 0xd2, 0x76, 0x4c, 0x4b, 0x6f, 0x9b, 0x6f, 0x60, + 0x16, 0x4f, 0xd1, 0x27, 0x16, 0x62, 0x25, 0xed, 0x0a, 0x87, 0xa3, 0x76, 0x30, 0x24, 0x69, 0x3b, + 0xe1, 0xf2, 0xea, 0x24, 0xcf, 0x82, 0xf8, 0x77, 0x86, 0x27, 0xe5, 0x0c, 0xbb, 0x27, 0x7c, 0x2d, + 0x95, 0x01, 0x39, 0xa7, 0x9c, 0x85, 0x5c, 0x48, 0x4f, 0x11, 0x23, 0xc5, 0xfd, 0x7c, 0x9e, 0x5b, + 0x11, 0x9f, 0x4a, 0x11, 0xf2, 0x61, 0xd5, 0xa4, 0x7c, 0x48, 0x82, 0x5c, 0x48, 0xe9, 0x10, 0x4c, + 0x11, 0x5c, 0x73, 0x4c, 0x11, 0x3a, 0x9f, 0x11, 0x81, 0x8e, 0xa8, 0x4f, 0xd0, 0x30, 0x2a, 0x4f, + 0x0b, 0x79, 0x9c, 0x85, 0xe6, 0x21, 0xd7, 0xbd, 0xd4, 0xf5, 0x41, 0x92, 0x14, 0x04, 0xba, 0x97, + 0xba, 0x02, 0xe0, 0x34, 0xe4, 0xc9, 0xd0, 0xb5, 0x70, 0x04, 0x9f, 0x55, 0x73, 0xa4, 0x8c, 0x83, + 0x28, 0xbf, 0x96, 0x00, 0xb9, 0x5f, 0x99, 0xa1, 0x67, 0x20, 0x45, 0xb4, 0x38, 0x57, 0xd3, 0x73, + 0x03, 0x31, 0x82, 0x6f, 0x35, 0x59, 0xb4, 0xf9, 0x21, 0x12, 0xeb, 0x50, 0x0c, 0x74, 0x82, 0x68, + 0x30, 0xdd, 0xb4, 0x34, 0xb3, 0x25, 0xde, 0xa9, 0xa4, 0xdf, 0xf5, 0x16, 0x89, 0x66, 0x0d, 0x91, + 0x13, 0xd1, 0x98, 0xed, 0x39, 0x20, 0x25, 0xd1, 0x97, 0x3e, 0x51, 0x4b, 0x46, 0x5f, 0x3e, 0x65, + 0x25, 0xe2, 0x56, 0xb3, 0xd7, 0x6f, 0x4e, 0xc7, 0xc8, 0x93, 0x80, 0xd9, 0xea, 0xb6, 0x74, 0x0f, + 0x73, 0x7f, 0x34, 0xec, 0x61, 0x3f, 0x04, 0x25, 0xbd, 0xdb, 0xd5, 0x5c, 0x4f, 0xf7, 0x30, 0x8f, + 0x3d, 0x27, 0xa8, 0xcf, 0x5b, 0xd0, 0xbb, 0x5d, 0xfa, 0xce, 0x17, 0x8b, 0x3d, 0x1f, 0x84, 0x22, + 0xd1, 0xf0, 0xa6, 0xde, 0x16, 0x81, 0x4d, 0x9a, 0x85, 0xa8, 0xbc, 0x94, 0x07, 0x47, 0x2d, 0xc8, + 0x87, 0x95, 0xbb, 0x9f, 0x7a, 0x96, 0x82, 0xd4, 0x33, 0x29, 0xa3, 0x17, 0x4f, 0x18, 0x87, 0xc4, + 0x65, 0x9d, 0x34, 0x27, 0xcb, 0x9c, 0x62, 0xfe, 0x45, 0x1c, 0x9d, 0xae, 0x63, 0xdf, 0x64, 0x97, + 0xa9, 0x32, 0x2a, 0xfb, 0x50, 0x5e, 0x85, 0x62, 0xd4, 0x0e, 0xa0, 0x22, 0x24, 0xbc, 0xdb, 0xbc, + 0x95, 0x84, 0x77, 0x1b, 0x5d, 0x0c, 0xbd, 0x90, 0x56, 0x8c, 0xb3, 0x7e, 0x1c, 0x3f, 0x78, 0xda, + 0xeb, 0x5a, 0x2a, 0x93, 0x90, 0x93, 0x4a, 0x09, 0x0a, 0x11, 0x2b, 0xa1, 0x1c, 0x83, 0x99, 0x38, + 0x9d, 0xaf, 0x98, 0x30, 0x13, 0xa7, 0xba, 0xd1, 0x65, 0xc8, 0xf8, 0x4a, 0x5f, 0x48, 0xd0, 0x40, + 0xeb, 0x3e, 0x92, 0x0f, 0x4b, 0x64, 0x87, 0x4c, 0x04, 0xdd, 0xa1, 0x48, 0xf0, 0xa8, 0xa3, 0xdb, + 0xbd, 0xaa, 0xbb, 0x7b, 0xca, 0x37, 0xc2, 0xec, 0x30, 0x7d, 0x1e, 0x62, 0x1c, 0x4b, 0x35, 0x08, + 0xc6, 0x1d, 0x83, 0x34, 0x7f, 0x6d, 0x21, 0x41, 0x33, 0xa7, 0xfc, 0x8b, 0x30, 0x94, 0xe9, 0xf6, + 0x24, 0x4b, 0xa8, 0xd2, 0x0f, 0x45, 0x83, 0x13, 0x43, 0x55, 0x7a, 0xb0, 0xa5, 0xc2, 0x73, 0xb0, + 0x6c, 0x4b, 0xc5, 0x27, 0xc4, 0x3a, 0xcb, 0x3e, 0xe8, 0x2b, 0x9c, 0xd8, 0x6a, 0xf1, 0xe0, 0x26, + 0xab, 0xf2, 0x2f, 0xe5, 0x23, 0x49, 0x38, 0x16, 0xaf, 0xd7, 0xd1, 0x02, 0xe4, 0x3b, 0xfa, 0x6d, + 0xcd, 0x8b, 0xa6, 0x3e, 0xa0, 0xa3, 0xdf, 0x6e, 0xf2, 0xbc, 0x87, 0x0c, 0x49, 0xef, 0xb6, 0x4b, + 0x2f, 0x72, 0xe5, 0x55, 0xf2, 0x27, 0xba, 0x0e, 0x53, 0x6d, 0xdb, 0xd0, 0xdb, 0x5a, 0x5b, 0x77, + 0x3d, 0x8d, 0x9b, 0x7d, 0xb6, 0x9c, 0x1e, 0x18, 0xa6, 0xa7, 0xd9, 0x75, 0x2b, 0xd3, 0x23, 0x2a, + 0x88, 0x2f, 0x84, 0x12, 0x25, 0xb2, 0xaa, 0xbb, 0x1e, 0x0f, 0x1f, 0x6a, 0x90, 0xeb, 0x98, 0xee, + 0x36, 0xde, 0xd3, 0x6f, 0x9a, 0xb6, 0xc3, 0xd7, 0x55, 0x8c, 0xf4, 0xac, 0x05, 0x40, 0x9c, 0x54, + 0x18, 0x2f, 0x34, 0x29, 0x13, 0x11, 0x69, 0x16, 0x9a, 0x25, 0x7d, 0x68, 0xcd, 0xf2, 0x38, 0xcc, + 0x58, 0xf8, 0x36, 0xbd, 0x2b, 0xc8, 0x57, 0x2e, 0x93, 0x14, 0x76, 0xd5, 0x0f, 0x91, 0x3a, 0x7f, + 0xad, 0xbb, 0x74, 0x57, 0xeb, 0x61, 0xf0, 0x03, 0x46, 0x4d, 0x44, 0xb3, 0x19, 0x0a, 0x5d, 0x12, + 0xe5, 0x15, 0x56, 0xac, 0xdc, 0xa1, 0x93, 0x13, 0x67, 0x1d, 0x05, 0xeb, 0xa5, 0x80, 0xf5, 0x4d, + 0x98, 0xe1, 0xf8, 0xad, 0x08, 0xf7, 0x07, 0xc2, 0xf3, 0xa8, 0xd3, 0x15, 0xe2, 0x3a, 0x12, 0xf8, + 0xc3, 0x19, 0x9f, 0xbc, 0x47, 0xc6, 0x23, 0x48, 0x51, 0xb6, 0xa4, 0x98, 0xba, 0x21, 0x7f, 0xff, + 0xbf, 0x36, 0x19, 0x1f, 0x48, 0xc2, 0xd4, 0x80, 0x63, 0xe1, 0x0f, 0x4c, 0x8a, 0x1d, 0x58, 0x22, + 0x76, 0x60, 0xc9, 0x43, 0x0f, 0x8c, 0xcf, 0x76, 0x6a, 0xf4, 0x6c, 0x4f, 0xbc, 0x93, 0xb3, 0x9d, + 0xbe, 0xc7, 0xd9, 0x7e, 0x57, 0xe7, 0xe1, 0x63, 0x12, 0xcc, 0x0d, 0x77, 0xc7, 0x62, 0x27, 0xe4, + 0x11, 0x98, 0xf2, 0xbb, 0xe2, 0x93, 0x67, 0xea, 0x51, 0xf6, 0x2b, 0x38, 0xfd, 0xa1, 0x16, 0xef, + 0x41, 0x28, 0xf6, 0x79, 0x8b, 0x4c, 0x98, 0x0b, 0x91, 0x0c, 0xa2, 0xf2, 0xad, 0x49, 0x98, 0x89, + 0x73, 0xe8, 0x62, 0x56, 0xac, 0x0a, 0xd3, 0x2d, 0x6c, 0x98, 0xad, 0x7b, 0x5e, 0xb0, 0x53, 0x1c, + 0xfd, 0xff, 0xaf, 0xd7, 0x18, 0x39, 0xf9, 0x51, 0x80, 0x8c, 0x8a, 0xdd, 0x2e, 0x71, 0xd0, 0xd8, + 0x6b, 0xcf, 0x06, 0xee, 0x7a, 0x41, 0xa6, 0x3d, 0x36, 0x6e, 0xe0, 0x20, 0x02, 0x8f, 0xc4, 0xcf, + 0x3e, 0x1e, 0x7a, 0x92, 0xa7, 0x09, 0x86, 0x06, 0xfc, 0xcc, 0xfd, 0xf6, 0x51, 0x59, 0x9e, 0xe0, + 0x69, 0x91, 0x27, 0x48, 0x0e, 0x8b, 0x7e, 0xb9, 0x33, 0xee, 0xe3, 0xf1, 0x44, 0xc1, 0x93, 0x3c, + 0x51, 0x90, 0x1a, 0xd6, 0x1c, 0xf3, 0xd9, 0x83, 0xe6, 0x4c, 0x76, 0x91, 0x3b, 0x9c, 0x29, 0x48, + 0x0f, 0x1b, 0x6a, 0xc8, 0xb9, 0x0e, 0x86, 0x1a, 0xa4, 0x0a, 0x9e, 0x16, 0xa9, 0x82, 0xc9, 0x61, + 0x9d, 0xe6, 0xde, 0x64, 0xd0, 0x69, 0x96, 0x2b, 0x78, 0x31, 0x94, 0x2b, 0xc8, 0xf6, 0xef, 0x0c, + 0x0e, 0xe4, 0x0a, 0x7c, 0x6c, 0x3f, 0x59, 0x50, 0xf6, 0x93, 0x05, 0xf9, 0xa1, 0x99, 0x06, 0xee, + 0x06, 0xfa, 0xc8, 0x22, 0x5b, 0xb0, 0x39, 0x90, 0x2d, 0x60, 0xc1, 0xfd, 0xd9, 0x91, 0xd9, 0x02, + 0x9f, 0x54, 0x5f, 0xba, 0x60, 0x73, 0x20, 0x5d, 0x50, 0x1c, 0x46, 0xb1, 0xcf, 0xe7, 0x0c, 0x28, + 0x46, 0xf3, 0x05, 0x5f, 0x1f, 0x9f, 0x2f, 0x18, 0x1a, 0xd0, 0xc7, 0xf8, 0x97, 0x3e, 0xe9, 0x98, + 0x84, 0xc1, 0x37, 0x0e, 0x49, 0x18, 0xc8, 0xc3, 0x02, 0xdb, 0x38, 0xef, 0xd2, 0x6f, 0x20, 0x2e, + 0x63, 0x70, 0x3d, 0x26, 0x63, 0xc0, 0x42, 0xfb, 0x87, 0xc7, 0xc8, 0x18, 0xf8, 0xa4, 0x07, 0x52, + 0x06, 0xd7, 0x63, 0x52, 0x06, 0x68, 0x38, 0xdd, 0x3e, 0xa7, 0x28, 0x4c, 0x37, 0x9a, 0x33, 0x58, + 0x89, 0xe6, 0x0c, 0xa6, 0x0f, 0xf6, 0x45, 0x99, 0x69, 0xf7, 0xa9, 0x85, 0x93, 0x06, 0xc6, 0xb0, + 0xa4, 0x01, 0x8b, 0xeb, 0x1f, 0x1b, 0x33, 0x69, 0xe0, 0xd3, 0x8e, 0xcd, 0x1a, 0x6c, 0x0e, 0x64, + 0x0d, 0x8e, 0x0e, 0x13, 0xb8, 0x3e, 0x23, 0x13, 0x08, 0xdc, 0xd0, 0xb4, 0x01, 0x7b, 0x64, 0x8c, + 0x3d, 0x2f, 0x06, 0x72, 0xee, 0x5a, 0x2a, 0x93, 0x93, 0xf3, 0xca, 0xc3, 0xc4, 0xad, 0xe9, 0xd3, + 0x7b, 0x24, 0x88, 0xc0, 0x8e, 0x63, 0x3b, 0xe2, 0x58, 0x06, 0xfd, 0x50, 0xce, 0x41, 0x3e, 0xac, + 0xe2, 0x0e, 0x48, 0x31, 0x94, 0xa0, 0x10, 0xd1, 0x6a, 0xca, 0xcf, 0x4b, 0x90, 0x0f, 0xeb, 0xab, + 0x48, 0x00, 0x9a, 0xe5, 0x01, 0x68, 0x28, 0xf1, 0x90, 0x88, 0x26, 0x1e, 0xe6, 0x21, 0x47, 0x82, + 0xb0, 0xbe, 0x9c, 0x82, 0xde, 0xf5, 0x73, 0x0a, 0xe7, 0x61, 0x8a, 0xda, 0x50, 0x96, 0x9e, 0xe0, + 0x76, 0x8a, 0xed, 0xcf, 0x94, 0x48, 0x05, 0x65, 0x06, 0xdf, 0x79, 0x7c, 0x0c, 0xa6, 0x43, 0xb0, + 0x7e, 0x70, 0xc7, 0xc2, 0x6b, 0xd9, 0x87, 0xae, 0xf0, 0x28, 0xef, 0x97, 0x24, 0x98, 0x1a, 0x50, + 0x97, 0xb1, 0x79, 0x03, 0xe9, 0x9d, 0xca, 0x1b, 0x24, 0xee, 0x3d, 0x6f, 0x10, 0x0e, 0x57, 0x93, + 0xd1, 0x70, 0xf5, 0x2f, 0x24, 0x28, 0x44, 0xd4, 0x36, 0x99, 0x04, 0xc3, 0x6e, 0x89, 0x43, 0x3c, + 0xf4, 0x6f, 0xe2, 0xa7, 0xb4, 0xed, 0x5d, 0x1e, 0x26, 0x92, 0x3f, 0x09, 0x94, 0x6f, 0x88, 0xb2, + 0xdc, 0xcc, 0xf8, 0xb1, 0xe7, 0x44, 0xf8, 0x38, 0x1f, 0x3f, 0xe2, 0x96, 0x0e, 0x8e, 0xb8, 0xf9, + 0x67, 0x77, 0x26, 0x43, 0x67, 0x77, 0xd0, 0xb3, 0x90, 0xa5, 0xbb, 0x00, 0x9a, 0xdd, 0x0d, 0x7e, + 0x98, 0x62, 0xf8, 0xf1, 0x36, 0x97, 0xee, 0x1f, 0xb2, 0x33, 0x71, 0x81, 0x17, 0x92, 0x8d, 0x78, + 0x21, 0xf7, 0x41, 0x96, 0x74, 0x9f, 0x3d, 0xee, 0x08, 0xfc, 0x30, 0xad, 0x28, 0x50, 0x7e, 0x22, + 0x01, 0xa5, 0x3e, 0xab, 0x13, 0x3b, 0x78, 0x21, 0x95, 0x89, 0x50, 0x5a, 0x64, 0x3c, 0x86, 0x9c, + 0x02, 0xd8, 0xd5, 0x5d, 0xed, 0x96, 0x6e, 0x79, 0xfc, 0x0d, 0xf7, 0xa4, 0x1a, 0x2a, 0x41, 0x73, + 0x90, 0x21, 0x5f, 0x3d, 0x97, 0xbf, 0xe2, 0x9e, 0x54, 0xfd, 0x6f, 0x54, 0x87, 0x34, 0xbe, 0x49, + 0x9f, 0x23, 0x61, 0x8f, 0xfa, 0x1c, 0x8f, 0x51, 0x4f, 0xa4, 0xbe, 0x3a, 0x4b, 0xa6, 0xfb, 0x0f, + 0xde, 0x9a, 0x97, 0x19, 0xf8, 0xa3, 0xfe, 0xf3, 0x0b, 0x2a, 0x27, 0x10, 0x65, 0x43, 0xa6, 0x8f, + 0x0d, 0x34, 0x5d, 0x98, 0x17, 0xb1, 0x3f, 0x61, 0x2a, 0xdb, 0xb0, 0x54, 0x0b, 0x1d, 0xdc, 0xe9, + 0xda, 0x76, 0x5b, 0x63, 0xeb, 0xbc, 0x02, 0xc5, 0xa8, 0x91, 0x65, 0x2f, 0x2f, 0x7b, 0xba, 0x69, + 0x69, 0x11, 0xdf, 0x38, 0xcf, 0x0a, 0xd9, 0xba, 0xba, 0x96, 0xca, 0x48, 0x72, 0x82, 0xa7, 0x6b, + 0xde, 0x03, 0x47, 0x63, 0x6d, 0x2c, 0x7a, 0x06, 0xb2, 0x81, 0x7d, 0x66, 0xdb, 0xce, 0x07, 0xe5, + 0x61, 0x02, 0x60, 0xe5, 0x3a, 0x1c, 0x8d, 0x35, 0xb2, 0xe8, 0x05, 0x48, 0x3b, 0xd8, 0xed, 0xb5, + 0x3d, 0xfe, 0x2c, 0xe2, 0x83, 0xa3, 0xad, 0x73, 0xaf, 0xed, 0xa9, 0x1c, 0x49, 0xb9, 0x08, 0x27, + 0x86, 0x5a, 0xd9, 0x20, 0x9b, 0x22, 0x85, 0xb2, 0x29, 0xca, 0x4f, 0x49, 0x30, 0x37, 0xdc, 0x72, + 0xa2, 0x6a, 0x5f, 0x87, 0xce, 0x8f, 0x69, 0x77, 0x43, 0xbd, 0x22, 0xe1, 0x86, 0x83, 0x77, 0xb0, + 0x67, 0xec, 0x31, 0x13, 0xce, 0x94, 0x42, 0x41, 0x2d, 0xf0, 0x52, 0x8a, 0xe3, 0x32, 0xb0, 0xd7, + 0xb1, 0xe1, 0x69, 0x6c, 0x52, 0x5d, 0xfe, 0x53, 0x3b, 0x05, 0x56, 0xda, 0x60, 0x85, 0xca, 0x23, + 0x70, 0x7c, 0x88, 0x2d, 0x1e, 0x8c, 0x4b, 0x94, 0xd7, 0x08, 0x70, 0xac, 0x81, 0x45, 0x2f, 0x41, + 0xda, 0xf5, 0x74, 0xaf, 0xe7, 0xf2, 0x91, 0x9d, 0x1d, 0x69, 0x9b, 0x1b, 0x14, 0x5c, 0xe5, 0x68, + 0xca, 0x73, 0x80, 0x06, 0x2d, 0x6d, 0x4c, 0x6c, 0x25, 0xc5, 0xc5, 0x56, 0xdb, 0x70, 0xf2, 0x00, + 0x9b, 0x8a, 0x96, 0xfa, 0x3a, 0xf7, 0xc8, 0x58, 0x26, 0xb9, 0xaf, 0x83, 0x7f, 0x94, 0x80, 0xa3, + 0xb1, 0xa6, 0x35, 0xb4, 0x4a, 0xa5, 0xb7, 0xbb, 0x4a, 0x5f, 0x00, 0xf0, 0x6e, 0x6b, 0x6c, 0xa6, + 0x85, 0xb6, 0x8f, 0x8b, 0x27, 0x6e, 0x63, 0x83, 0x2a, 0x2c, 0x22, 0x18, 0x59, 0x8f, 0xff, 0x45, + 0x82, 0xff, 0x50, 0x3c, 0xdb, 0xa3, 0x96, 0xc0, 0xe5, 0xa1, 0xde, 0xd8, 0x36, 0x23, 0x08, 0x7c, + 0x59, 0xb1, 0x8b, 0x5e, 0x83, 0xe3, 0x7d, 0x16, 0xcd, 0xa7, 0x9d, 0x1a, 0xdb, 0xb0, 0x1d, 0x8d, + 0x1a, 0x36, 0x41, 0x3b, 0x6c, 0x95, 0x26, 0xa2, 0x56, 0xe9, 0x35, 0x80, 0x20, 0xb0, 0x25, 0xeb, + 0xcd, 0xb1, 0x7b, 0x56, 0x4b, 0x1c, 0x3e, 0xa5, 0x1f, 0xe8, 0x32, 0x4c, 0x10, 0x49, 0x10, 0xac, + 0x8a, 0x51, 0x18, 0x64, 0x4a, 0x43, 0x91, 0x31, 0x03, 0x57, 0x5e, 0x17, 0xd2, 0x16, 0xce, 0x31, + 0x0e, 0x69, 0xe3, 0xc5, 0x68, 0x1b, 0xca, 0xf0, 0x74, 0x65, 0x7c, 0x5b, 0x7f, 0x07, 0x26, 0xe8, + 0xf4, 0xc7, 0x9e, 0xfd, 0xfe, 0x06, 0x00, 0xdd, 0xf3, 0x1c, 0x73, 0xbb, 0x17, 0xb4, 0xb0, 0x30, + 0x44, 0x7e, 0x2a, 0x02, 0xb0, 0x7a, 0x1f, 0x17, 0xa4, 0x99, 0x00, 0x37, 0x24, 0x4c, 0x21, 0x8a, + 0xca, 0x3a, 0x14, 0xa3, 0xb8, 0xf1, 0x87, 0xd9, 0xc5, 0xaf, 0x02, 0x04, 0x47, 0x6d, 0x03, 0x43, + 0xce, 0x6f, 0x0b, 0xd1, 0x0f, 0xe5, 0x9b, 0x12, 0x90, 0x0f, 0x4b, 0xdf, 0xdf, 0x42, 0x63, 0xa9, + 0x7c, 0xab, 0x04, 0x19, 0x7f, 0xfc, 0xd1, 0x74, 0x7e, 0x64, 0x1f, 0x24, 0xb8, 0xd6, 0xe0, 0xe7, + 0xe0, 0xd9, 0xae, 0x47, 0xd2, 0xdf, 0xf5, 0x78, 0xde, 0x37, 0x08, 0x43, 0x83, 0xf9, 0x30, 0xb7, + 0xc5, 0xf1, 0x24, 0x6e, 0xa0, 0x9e, 0x1b, 0xef, 0x0c, 0xd4, 0x0c, 0x4c, 0x84, 0x8f, 0x2f, 0xb1, + 0x0f, 0x05, 0x87, 0x4e, 0x50, 0xb2, 0xd5, 0x18, 0x3e, 0x2c, 0x25, 0x1d, 0xfe, 0xb0, 0x94, 0xdf, + 0x4c, 0x22, 0xdc, 0xcc, 0x3f, 0x92, 0x20, 0x23, 0xd6, 0x05, 0x7a, 0x29, 0x7c, 0xbe, 0x57, 0x1c, + 0x16, 0x1c, 0xae, 0x97, 0x78, 0x03, 0xa1, 0xe3, 0xbd, 0x55, 0xb1, 0xcf, 0x68, 0xb6, 0xb4, 0x9d, + 0xb6, 0xbe, 0xcb, 0xb7, 0x8b, 0x86, 0x9e, 0x4e, 0x66, 0x87, 0x87, 0xf8, 0x81, 0xcb, 0x7a, 0x8b, + 0x7c, 0x70, 0x3f, 0xe4, 0xcf, 0x24, 0x90, 0xfb, 0xd7, 0xed, 0xdb, 0xef, 0xdf, 0xa0, 0xbd, 0x4a, + 0xc6, 0xd8, 0x2b, 0x74, 0x01, 0xa6, 0x83, 0x1f, 0xe6, 0x72, 0xcd, 0x5d, 0x8b, 0x1d, 0xfe, 0x65, + 0x49, 0x35, 0xe4, 0x57, 0x35, 0x44, 0xcd, 0xe0, 0xb8, 0x27, 0xee, 0x75, 0xdc, 0x1f, 0x48, 0x40, + 0x2e, 0x94, 0xe3, 0x43, 0x4f, 0x85, 0x94, 0x52, 0x31, 0xce, 0x4a, 0x84, 0x80, 0x43, 0x3f, 0xab, + 0x13, 0xe1, 0x54, 0xe2, 0x1e, 0x38, 0x35, 0x2c, 0x9b, 0x2a, 0x92, 0x86, 0xa9, 0x43, 0x27, 0x0d, + 0xe3, 0x0f, 0x10, 0x4e, 0x0c, 0x39, 0x40, 0xf8, 0xf7, 0x24, 0xc8, 0xf8, 0xc9, 0x97, 0xc3, 0xee, + 0xc9, 0x1d, 0x83, 0x34, 0xf7, 0xbd, 0xd8, 0xa6, 0x1c, 0xff, 0x8a, 0xcd, 0x8e, 0xce, 0x41, 0x46, + 0xbc, 0x32, 0xcf, 0x2d, 0x9c, 0xff, 0x7d, 0x7e, 0x1b, 0x72, 0xa1, 0x6d, 0x4d, 0x74, 0x02, 0x8e, + 0x2e, 0x5d, 0xad, 0x2d, 0xbd, 0xac, 0x35, 0x5f, 0xe9, 0x7f, 0x5b, 0x78, 0xa0, 0x4a, 0xad, 0xd1, + 0x6f, 0x59, 0x42, 0xc7, 0x61, 0x3a, 0x5a, 0xc5, 0x2a, 0x12, 0x73, 0xa9, 0x0f, 0xfe, 0xc8, 0xa9, + 0x23, 0xe7, 0xff, 0x4c, 0x82, 0xe9, 0x18, 0x2f, 0x17, 0x9d, 0x86, 0xfb, 0x37, 0xae, 0x5c, 0xa9, + 0xa9, 0x5a, 0x63, 0xbd, 0xb2, 0xd9, 0xb8, 0xba, 0xd1, 0xd4, 0xd4, 0x5a, 0x63, 0x6b, 0xb5, 0x19, + 0x6a, 0x74, 0x01, 0xee, 0x8b, 0x07, 0xa9, 0x2c, 0x2d, 0xd5, 0x36, 0x9b, 0xec, 0x71, 0xe3, 0x21, + 0x10, 0xd5, 0x0d, 0xb5, 0x29, 0x27, 0x86, 0x93, 0x50, 0x6b, 0xd7, 0x6a, 0x4b, 0x4d, 0x39, 0x89, + 0xce, 0xc2, 0x99, 0x83, 0x20, 0xb4, 0x2b, 0x1b, 0xea, 0x5a, 0xa5, 0x29, 0xa7, 0x46, 0x02, 0x36, + 0x6a, 0xeb, 0xcb, 0x35, 0x55, 0x9e, 0xe0, 0xe3, 0x7e, 0x33, 0x01, 0xb3, 0xc3, 0x9c, 0x69, 0x42, + 0xab, 0xb2, 0xb9, 0xb9, 0xfa, 0x6a, 0x40, 0x6b, 0xe9, 0xea, 0xd6, 0xfa, 0xcb, 0x83, 0x2c, 0x78, + 0x08, 0x94, 0x83, 0x00, 0x7d, 0x46, 0x3c, 0x08, 0xa7, 0x0f, 0x84, 0xe3, 0xec, 0x18, 0x01, 0xa6, + 0xd6, 0x9a, 0xea, 0xab, 0x72, 0x12, 0x2d, 0xc2, 0xf9, 0x91, 0x60, 0x7e, 0x9d, 0x9c, 0x42, 0x17, + 0xe0, 0x91, 0x83, 0xe1, 0x19, 0x83, 0x04, 0x82, 0x60, 0xd1, 0x1d, 0x09, 0x8e, 0xc6, 0x7a, 0xe5, + 0xe8, 0x0c, 0xcc, 0x6f, 0xaa, 0x1b, 0x4b, 0xb5, 0x46, 0x43, 0xdb, 0x54, 0x37, 0x36, 0x37, 0x1a, + 0x95, 0x55, 0xad, 0xd1, 0xac, 0x34, 0xb7, 0x1a, 0x21, 0xde, 0x28, 0x70, 0x6a, 0x18, 0x90, 0xcf, + 0x97, 0x03, 0x60, 0xb8, 0x04, 0x08, 0x39, 0xbd, 0x2b, 0xc1, 0x89, 0xa1, 0x5e, 0x38, 0x3a, 0x07, + 0x0f, 0xd0, 0xdf, 0x29, 0x7b, 0x55, 0xbb, 0xbe, 0xd1, 0x0c, 0xbf, 0xa2, 0x3d, 0xd0, 0xab, 0xb3, + 0x70, 0xe6, 0x40, 0x48, 0xbf, 0x6b, 0xa3, 0x00, 0xfb, 0xfa, 0xf7, 0x2d, 0x12, 0x94, 0xfa, 0x74, + 0x21, 0xba, 0x0f, 0x66, 0xd7, 0xea, 0x8d, 0x6a, 0xed, 0x6a, 0xe5, 0x7a, 0x7d, 0x43, 0xed, 0x5f, + 0xb3, 0x67, 0x60, 0x7e, 0xa0, 0x76, 0x79, 0x6b, 0x73, 0xb5, 0xbe, 0x54, 0x69, 0xd6, 0x68, 0xa3, + 0xb2, 0x44, 0x06, 0x36, 0x00, 0xb4, 0x5a, 0x5f, 0xb9, 0xda, 0xd4, 0x96, 0x56, 0xeb, 0xb5, 0xf5, + 0xa6, 0x56, 0x69, 0x36, 0x2b, 0xc1, 0x72, 0xae, 0xbe, 0x3c, 0xf4, 0xe8, 0xeb, 0xc5, 0xf1, 0x8f, + 0xbe, 0xf2, 0x23, 0x9c, 0xc1, 0x6d, 0xb5, 0x04, 0xcc, 0xfb, 0x95, 0x3c, 0x97, 0xd6, 0x7f, 0xc4, + 0x73, 0xda, 0xd7, 0xee, 0x1c, 0x60, 0xf8, 0x8d, 0xcf, 0x17, 0x20, 0x59, 0xe9, 0x76, 0x89, 0xe6, + 0xa3, 0xdf, 0x86, 0xdd, 0xe6, 0x7a, 0xd5, 0xff, 0x26, 0x75, 0xae, 0xbd, 0xe3, 0xdd, 0xd2, 0x1d, + 0xff, 0x97, 0xd7, 0xc4, 0xb7, 0xf2, 0x2c, 0x64, 0xfd, 0xe8, 0x81, 0xbe, 0x5d, 0xea, 0xdf, 0x43, + 0x4a, 0x89, 0x7b, 0x46, 0xfc, 0xb2, 0x46, 0x22, 0xb8, 0xac, 0x91, 0xfa, 0xe2, 0x9b, 0xf3, 0x52, + 0x75, 0x7d, 0x28, 0x77, 0x9e, 0x1c, 0x9f, 0x3b, 0x01, 0x03, 0x7c, 0x06, 0x7d, 0xef, 0xfd, 0xa1, + 0xdb, 0xc0, 0xfe, 0x89, 0xd3, 0x30, 0x7b, 0x62, 0xce, 0xe3, 0x8f, 0x3a, 0xe3, 0x3a, 0xc6, 0x19, + 0xd6, 0x51, 0xb3, 0x72, 0xaf, 0x87, 0x5c, 0x9f, 0x85, 0xc2, 0xa6, 0xee, 0x78, 0x0d, 0xec, 0x5d, + 0xc5, 0x7a, 0x0b, 0x3b, 0xd1, 0xbb, 0xb9, 0x05, 0x71, 0x37, 0x57, 0xd8, 0xb3, 0x44, 0x60, 0xcf, + 0x14, 0x13, 0x52, 0xf4, 0x39, 0xe1, 0xa1, 0x87, 0x4c, 0xd8, 0xa1, 0x10, 0x7e, 0xc8, 0x84, 0x7e, + 0xa0, 0xa7, 0xc4, 0xed, 0xdb, 0xe4, 0x88, 0xdb, 0xb7, 0x22, 0x72, 0x62, 0x77, 0x70, 0x3b, 0x30, + 0xc9, 0xbd, 0x99, 0xd8, 0xdd, 0xdb, 0x75, 0x28, 0x75, 0x75, 0xc7, 0xa3, 0xbf, 0x56, 0xb2, 0x47, + 0x87, 0xc1, 0x3d, 0x91, 0xb8, 0xeb, 0x53, 0x91, 0xe1, 0xf2, 0x66, 0x0a, 0xdd, 0x70, 0xa1, 0xf2, + 0xc5, 0x14, 0xa4, 0x39, 0x3b, 0x5e, 0x8c, 0x9e, 0x74, 0x8b, 0x38, 0xe6, 0x81, 0xf8, 0x07, 0x41, + 0x2e, 0x27, 0xe8, 0xa7, 0xa5, 0x1f, 0xea, 0x3f, 0x57, 0x56, 0xcd, 0x7d, 0xfe, 0xad, 0xf9, 0x49, + 0x9a, 0x29, 0xae, 0x2f, 0x07, 0x87, 0xcc, 0xde, 0x79, 0x2f, 0x68, 0x19, 0x0a, 0xa1, 0x1c, 0xb6, + 0xd9, 0xe2, 0x1b, 0xff, 0x73, 0xc3, 0x3d, 0x45, 0xb1, 0xcd, 0xeb, 0xe7, 0xb7, 0xeb, 0x2d, 0x74, + 0x0e, 0xe4, 0xd0, 0xce, 0x33, 0x0b, 0xcf, 0x59, 0xf2, 0xb6, 0xd8, 0xf6, 0xf7, 0x94, 0xe9, 0xc6, + 0xeb, 0x49, 0xc8, 0xd2, 0x1f, 0xd0, 0x09, 0xed, 0xcf, 0x66, 0x48, 0x01, 0xad, 0x3c, 0x0b, 0xa5, + 0xfe, 0x2d, 0x5c, 0xb6, 0x29, 0x5b, 0xbc, 0x19, 0xdd, 0xbe, 0x1d, 0xb6, 0xe1, 0x9b, 0x1d, 0xba, + 0xe1, 0xfb, 0x20, 0x14, 0x83, 0xa4, 0x04, 0x85, 0x05, 0xe6, 0x69, 0xfb, 0xa5, 0x14, 0x2c, 0x9c, + 0x5f, 0xc8, 0x45, 0xf2, 0x0b, 0xfe, 0xce, 0x00, 0xcf, 0xb6, 0x30, 0x98, 0x3c, 0xdb, 0x33, 0x26, + 0x15, 0x3c, 0xa9, 0x42, 0x61, 0xcf, 0x40, 0x41, 0x5c, 0x52, 0x64, 0x70, 0x05, 0x0a, 0x97, 0x17, + 0x85, 0x43, 0xf7, 0xa0, 0x8b, 0xf1, 0x7b, 0xd0, 0xb3, 0x90, 0x5a, 0xe6, 0x51, 0x71, 0x5f, 0x8e, + 0xed, 0xb3, 0x49, 0x48, 0xd1, 0x6d, 0xa5, 0x27, 0x23, 0x8e, 0x79, 0x9c, 0x48, 0x93, 0xf0, 0x00, + 0xb7, 0xd6, 0xdc, 0xdd, 0x90, 0x5f, 0x3e, 0xec, 0x88, 0x89, 0x9f, 0xda, 0x48, 0x86, 0x53, 0x1b, + 0x57, 0x20, 0xe3, 0xcb, 0x49, 0x6a, 0xa4, 0x9c, 0x94, 0x88, 0x9c, 0x10, 0x31, 0xe6, 0x05, 0xea, + 0x24, 0x0f, 0x2f, 0x50, 0x15, 0xb2, 0xbe, 0x86, 0xf1, 0x05, 0x6e, 0x1c, 0x99, 0x0d, 0xd0, 0xe2, + 0xcf, 0x62, 0xa4, 0x87, 0x9c, 0xc5, 0x08, 0x0b, 0x16, 0xff, 0xed, 0xcd, 0x49, 0x3a, 0xb0, 0x40, + 0xb0, 0xd8, 0xef, 0x6f, 0xde, 0x07, 0xd9, 0x20, 0xbe, 0x62, 0xb2, 0x17, 0x14, 0x90, 0xda, 0x20, + 0x52, 0x63, 0xb2, 0x16, 0xfa, 0x11, 0xe7, 0x21, 0x51, 0x1a, 0x0c, 0x8b, 0xd2, 0x94, 0x7f, 0x2b, + 0x41, 0x9a, 0x1f, 0xb7, 0x38, 0x20, 0x2d, 0xc0, 0xe6, 0x21, 0x31, 0x6c, 0x1e, 0x92, 0x6f, 0x6b, + 0x1e, 0xc0, 0xef, 0xa7, 0x38, 0x64, 0x7a, 0x5f, 0x6c, 0x72, 0x8e, 0x74, 0xb2, 0x61, 0xee, 0x8a, + 0x7d, 0xa2, 0x00, 0x4b, 0x79, 0x4b, 0x22, 0xe6, 0x97, 0xd7, 0x0f, 0x06, 0x9e, 0xd2, 0xa1, 0x03, + 0xcf, 0xc3, 0x9d, 0xb2, 0x89, 0x88, 0x52, 0xf2, 0xde, 0x44, 0x29, 0x32, 0xe9, 0xa9, 0xbe, 0x49, + 0x57, 0xbe, 0x20, 0xf1, 0xdf, 0x6f, 0xf6, 0x93, 0x7f, 0x7f, 0x45, 0xb3, 0xf5, 0xb5, 0x5c, 0xbe, + 0x5a, 0xb8, 0xa5, 0x0d, 0x4c, 0xdb, 0x03, 0x71, 0xf7, 0xa6, 0x23, 0xbd, 0x0e, 0xa6, 0x0f, 0x09, + 0x32, 0x8d, 0x60, 0x1a, 0x7f, 0x36, 0x21, 0x4e, 0xa5, 0x85, 0xe0, 0xff, 0x06, 0x4e, 0x67, 0x74, + 0x0d, 0x4f, 0x8c, 0xb9, 0x86, 0xd3, 0x43, 0xd7, 0xf0, 0xcf, 0x26, 0xe8, 0x3b, 0x1b, 0xec, 0x8c, + 0xc0, 0x5f, 0x86, 0x0e, 0x3e, 0x09, 0xd9, 0xae, 0xdd, 0xd6, 0x58, 0x0d, 0x7b, 0x8c, 0x3f, 0xd3, + 0xb5, 0xdb, 0xea, 0x80, 0xa8, 0x4d, 0xbc, 0x53, 0x0a, 0x3a, 0xfd, 0x0e, 0x4c, 0xc3, 0x64, 0xff, + 0xaa, 0xf2, 0x20, 0xcf, 0x78, 0xc1, 0x3d, 0xa8, 0x8b, 0x84, 0x09, 0xd4, 0x27, 0x93, 0xfa, 0x7d, + 0x3e, 0xbf, 0xdf, 0x0c, 0x54, 0xe5, 0x80, 0x04, 0x25, 0x72, 0xd2, 0xed, 0xc4, 0x50, 0xcd, 0x25, + 0x4e, 0xf6, 0x28, 0x1f, 0x96, 0x00, 0x56, 0x09, 0x73, 0xe9, 0x88, 0x89, 0xf3, 0xe3, 0xd2, 0x4e, + 0x68, 0x91, 0xb6, 0xe7, 0x87, 0x4e, 0x1c, 0xef, 0x41, 0xde, 0x0d, 0x77, 0x7d, 0x19, 0x0a, 0x81, + 0x80, 0xbb, 0x58, 0x74, 0x67, 0xfe, 0xa0, 0x8b, 0xac, 0x0d, 0xec, 0xa9, 0xf9, 0x9b, 0xa1, 0x2f, + 0xe5, 0xdf, 0x49, 0x90, 0xa5, 0xbd, 0x5a, 0xc3, 0x9e, 0x1e, 0x99, 0x48, 0xe9, 0x6d, 0x4c, 0xe4, + 0xfd, 0x00, 0x8c, 0x8e, 0x6b, 0xbe, 0x81, 0xb9, 0x7c, 0x65, 0x69, 0x49, 0xc3, 0x7c, 0x03, 0xa3, + 0xa7, 0x7d, 0xae, 0x27, 0x47, 0x70, 0x5d, 0x24, 0x6f, 0x39, 0xef, 0x8f, 0xc3, 0xa4, 0xd5, 0xeb, + 0x68, 0xec, 0x30, 0x29, 0x15, 0x5a, 0xab, 0xd7, 0x69, 0xde, 0x76, 0x95, 0x1b, 0x30, 0xd9, 0xbc, + 0xcd, 0xde, 0xef, 0x39, 0x09, 0x59, 0xc7, 0xb6, 0xb9, 0x37, 0xc8, 0x1c, 0xf1, 0x0c, 0x29, 0xa0, + 0xce, 0x4f, 0x5c, 0xce, 0xff, 0xc2, 0xb8, 0x6e, 0x3f, 0x77, 0xf8, 0xcf, 0xff, 0x86, 0x04, 0x85, + 0xc8, 0x8a, 0x42, 0x8f, 0xc2, 0xf1, 0x46, 0x7d, 0x65, 0xbd, 0xb6, 0xac, 0xad, 0x35, 0x56, 0xfa, + 0x02, 0xec, 0xb9, 0xd2, 0x9d, 0xbb, 0x0b, 0x39, 0x7e, 0x55, 0x75, 0x18, 0xf4, 0xa6, 0x5a, 0x63, + 0x91, 0x36, 0x83, 0xde, 0x74, 0xf0, 0x4d, 0xdb, 0xc3, 0x14, 0xfa, 0x71, 0x38, 0x11, 0x03, 0xed, + 0x5f, 0x58, 0x9d, 0xba, 0x73, 0x77, 0xa1, 0xb0, 0xe9, 0x60, 0x26, 0x6a, 0x14, 0x63, 0x11, 0x66, + 0x07, 0x31, 0x58, 0x56, 0x43, 0x5e, 0x98, 0x93, 0xef, 0xdc, 0x5d, 0xc8, 0x0b, 0xdd, 0x41, 0xe0, + 0xdf, 0xf5, 0x1b, 0xab, 0x1f, 0xcd, 0xc2, 0x09, 0xf6, 0x86, 0x95, 0xc6, 0x62, 0x40, 0xf6, 0xc1, + 0x43, 0xd2, 0x7c, 0xb8, 0x6a, 0xf4, 0x8f, 0x13, 0x28, 0x2f, 0xc3, 0x74, 0xdd, 0xf2, 0xb0, 0xb3, + 0xa3, 0x87, 0x7f, 0x5e, 0x38, 0xf6, 0x07, 0x7b, 0x17, 0x22, 0xaf, 0x6c, 0xf2, 0x08, 0x3e, 0x5c, + 0xa4, 0x7c, 0x93, 0x04, 0x72, 0xc3, 0xd0, 0xdb, 0xba, 0xf3, 0x76, 0x49, 0xa1, 0xa7, 0xc5, 0x8f, + 0x52, 0xf0, 0x0b, 0x22, 0xc9, 0x73, 0xc5, 0x4b, 0xb3, 0x8b, 0xe1, 0xc1, 0x2d, 0xb2, 0x96, 0xa8, + 0x0e, 0x66, 0x3f, 0x46, 0x41, 0xfe, 0x3c, 0xff, 0x0a, 0x40, 0x50, 0x81, 0x4e, 0xc2, 0xf1, 0xc6, + 0x52, 0x65, 0xb5, 0xe2, 0xe7, 0x69, 0x1a, 0x9b, 0xb5, 0x25, 0xf6, 0xcb, 0xf7, 0x47, 0xd0, 0x31, + 0x40, 0xe1, 0x4a, 0xff, 0x77, 0xe6, 0x8e, 0xc2, 0x54, 0xb8, 0x9c, 0xfd, 0x0c, 0x79, 0xa2, 0x7c, + 0x15, 0x4a, 0xec, 0x37, 0x92, 0x89, 0x01, 0xc4, 0x2d, 0xcd, 0xb4, 0xd0, 0x88, 0x9f, 0x1c, 0x9e, + 0xfd, 0x95, 0xff, 0xca, 0x7e, 0xa2, 0xa2, 0xc0, 0x10, 0x2b, 0x04, 0xaf, 0x6e, 0x95, 0x9b, 0x30, + 0x43, 0x6f, 0x84, 0xd3, 0x9f, 0x95, 0xd1, 0x4c, 0xc1, 0xff, 0xd1, 0x6f, 0x08, 0x12, 0x7a, 0xc9, + 0x73, 0x59, 0x75, 0x3a, 0x40, 0xf7, 0x67, 0xaf, 0xfc, 0x72, 0xf0, 0xa3, 0x22, 0x7e, 0x07, 0x47, + 0x52, 0xfc, 0x55, 0xde, 0x43, 0xf1, 0x84, 0xb0, 0xe8, 0xe2, 0x2a, 0x4c, 0xe9, 0x86, 0x81, 0xbb, + 0x91, 0xfe, 0x8d, 0x78, 0xb6, 0x4d, 0x8c, 0x56, 0xe6, 0x98, 0x41, 0xd7, 0x9e, 0x86, 0xb4, 0x4b, + 0x27, 0x65, 0x14, 0x09, 0xd1, 0x1d, 0x0e, 0x5e, 0xae, 0x41, 0x91, 0x89, 0x81, 0x3f, 0xa2, 0x11, + 0x04, 0xfe, 0x23, 0x27, 0x90, 0xa7, 0x68, 0x62, 0x34, 0x16, 0x4c, 0xb5, 0xb0, 0xd1, 0xd6, 0x1d, + 0x1c, 0x1a, 0xcd, 0xc1, 0x4f, 0x17, 0xff, 0xcb, 0x4f, 0x3f, 0xee, 0xef, 0xa1, 0x87, 0x84, 0x2e, + 0x66, 0xb1, 0xa8, 0x32, 0xa7, 0x1d, 0x8c, 0x17, 0x43, 0x51, 0xb4, 0xc7, 0xc7, 0x7d, 0x70, 0x63, + 0xff, 0x8a, 0x37, 0x76, 0x2a, 0x4e, 0xc2, 0x43, 0x2d, 0x15, 0x38, 0x55, 0x56, 0x51, 0xae, 0x42, + 0x61, 0xc7, 0x6c, 0x87, 0xa6, 0xfb, 0xe0, 0x56, 0xfe, 0xf5, 0xa7, 0x1f, 0x67, 0x0b, 0x8d, 0x20, + 0x71, 0xd6, 0xdc, 0xd3, 0x4f, 0xa6, 0x50, 0xea, 0xcf, 0x85, 0xbb, 0xea, 0x6b, 0xa7, 0x4f, 0x24, + 0xe1, 0x14, 0x07, 0xde, 0xd6, 0x5d, 0x4c, 0x14, 0x17, 0xf6, 0xf4, 0x8b, 0x17, 0x0c, 0xdb, 0xb4, + 0x82, 0xa4, 0x22, 0x55, 0x58, 0xa4, 0x7e, 0x91, 0xd7, 0x0f, 0xc9, 0x69, 0x0d, 0x57, 0x74, 0x73, + 0x83, 0x3f, 0xdb, 0xa3, 0xb4, 0x21, 0xb5, 0x64, 0x9b, 0x16, 0xf1, 0xb9, 0x5a, 0xd8, 0xb2, 0x3b, + 0xe2, 0xbc, 0x22, 0xfd, 0x40, 0x57, 0x21, 0xad, 0x77, 0xec, 0x9e, 0xc5, 0xdf, 0x6f, 0xab, 0x3e, + 0x4e, 0x6c, 0xe1, 0x6f, 0xbd, 0x35, 0x7f, 0x94, 0x91, 0x75, 0x5b, 0x37, 0x16, 0x4d, 0xfb, 0x42, + 0x47, 0xf7, 0xf6, 0xc8, 0x24, 0xff, 0xfa, 0x67, 0x1e, 0x03, 0xde, 0x5e, 0xdd, 0xf2, 0x3e, 0xf9, + 0xfb, 0x3f, 0x7d, 0x5e, 0x52, 0x39, 0x3e, 0x4b, 0x3b, 0x2a, 0x5d, 0x98, 0x5c, 0xc6, 0xc6, 0x01, + 0x0d, 0xd6, 0xfb, 0x1a, 0xbc, 0xc8, 0x1b, 0x3c, 0x39, 0xd8, 0x20, 0xfb, 0x1d, 0xc1, 0x65, 0x6c, + 0x84, 0x9a, 0x5d, 0xc6, 0x46, 0xb4, 0xc5, 0xea, 0xf2, 0x6f, 0xfe, 0xee, 0xa9, 0x23, 0xef, 0xff, + 0xfc, 0xa9, 0x23, 0x43, 0xa7, 0x4c, 0x19, 0xfd, 0x2b, 0x37, 0xfe, 0x4c, 0xfd, 0x6f, 0x09, 0x4e, + 0xf4, 0x9b, 0x07, 0xdd, 0xda, 0x1f, 0xf6, 0xe6, 0xc1, 0x65, 0x48, 0x56, 0xac, 0x7d, 0x74, 0x82, + 0xbd, 0xe6, 0xaa, 0xf5, 0x9c, 0xb6, 0x38, 0xe6, 0x49, 0xbe, 0xb7, 0x9c, 0x76, 0xf4, 0x48, 0x81, + 0xff, 0x32, 0xd7, 0x77, 0x1d, 0xf2, 0xb9, 0x83, 0x4c, 0xc5, 0xda, 0x17, 0x0f, 0x1d, 0x3c, 0x3a, + 0xe6, 0x43, 0x07, 0xba, 0xb5, 0xdf, 0xdd, 0x3e, 0xec, 0xfb, 0x06, 0x77, 0x9e, 0x82, 0x07, 0x38, + 0x8f, 0x5c, 0x4f, 0xbf, 0x61, 0x5a, 0xbb, 0xbe, 0xb0, 0xf2, 0x6f, 0xce, 0x8a, 0x63, 0x7c, 0x42, + 0x44, 0xa9, 0x10, 0xd9, 0x41, 0x09, 0x9c, 0x3b, 0xf0, 0xc1, 0x84, 0xb9, 0x83, 0xb3, 0xc9, 0x73, + 0x23, 0xd6, 0xcd, 0x41, 0x8b, 0x61, 0xc8, 0xea, 0x19, 0x3a, 0xbd, 0x23, 0x5f, 0x0f, 0x1b, 0x99, + 0x4c, 0xfe, 0xb0, 0x04, 0xc5, 0xab, 0xa6, 0xeb, 0xd9, 0x8e, 0x69, 0xe8, 0x6d, 0xba, 0x91, 0xfe, + 0xfc, 0xd8, 0xde, 0x7f, 0x35, 0x4b, 0x96, 0x02, 0x5f, 0x54, 0x7b, 0xc2, 0x01, 0x4f, 0xdf, 0xd4, + 0xdb, 0xcc, 0xf3, 0x0e, 0xeb, 0xdd, 0x7e, 0xb6, 0x87, 0xf6, 0x97, 0xc3, 0x54, 0x18, 0x6e, 0x39, + 0x31, 0x2b, 0x29, 0xdf, 0x97, 0x80, 0x12, 0x0d, 0x19, 0x5c, 0x7a, 0x20, 0x8c, 0x1e, 0x39, 0xba, + 0x06, 0x29, 0x47, 0xf7, 0xb8, 0x13, 0x52, 0xbd, 0x7c, 0xe8, 0x95, 0xc8, 0x5a, 0xa1, 0x34, 0xd0, + 0x7b, 0x20, 0xd3, 0xd1, 0x6f, 0x6b, 0x94, 0x5e, 0xe2, 0x6d, 0xd1, 0x9b, 0xec, 0xe8, 0xb7, 0x49, + 0xff, 0xd0, 0x37, 0x40, 0x89, 0x90, 0x34, 0xf6, 0x74, 0x6b, 0x17, 0x33, 0xca, 0xc9, 0xb7, 0x45, + 0xb9, 0xd0, 0xd1, 0x6f, 0x2f, 0x51, 0x6a, 0x84, 0x3e, 0xd7, 0x58, 0xbf, 0x28, 0xf1, 0xd3, 0x55, + 0x94, 0x31, 0x48, 0x07, 0xd9, 0xf0, 0xbf, 0x68, 0xa3, 0xe2, 0xd0, 0xf2, 0xd9, 0x61, 0xbc, 0xef, + 0x63, 0x6b, 0xb5, 0x40, 0xba, 0xf7, 0xb9, 0xb7, 0xe6, 0x25, 0xd6, 0x6a, 0xc9, 0x18, 0x60, 0x7b, + 0x8e, 0x9d, 0x1a, 0xd3, 0x68, 0x66, 0x3b, 0x31, 0x32, 0x08, 0x2d, 0x88, 0x20, 0x94, 0x11, 0x04, + 0x86, 0x4d, 0xea, 0xf9, 0x18, 0xfe, 0x44, 0x82, 0xdc, 0x72, 0xc8, 0x4f, 0x9c, 0x85, 0xc9, 0x8e, + 0x6d, 0x99, 0x37, 0xb0, 0xe3, 0x9f, 0x3a, 0x67, 0x9f, 0x68, 0x0e, 0x32, 0xec, 0x17, 0x20, 0xbd, + 0x7d, 0xb1, 0xdb, 0x24, 0xbe, 0x09, 0xd6, 0x2d, 0xbc, 0xed, 0x9a, 0x82, 0xcf, 0xaa, 0xf8, 0x44, + 0x0f, 0x83, 0xec, 0x62, 0xa3, 0xe7, 0x98, 0xde, 0xbe, 0x66, 0xd8, 0x96, 0xa7, 0x1b, 0x1e, 0x3f, + 0xac, 0x54, 0x12, 0xe5, 0x4b, 0xac, 0x98, 0x10, 0x69, 0x61, 0x4f, 0x37, 0xdb, 0xec, 0x32, 0x76, + 0x56, 0x15, 0x9f, 0x68, 0x25, 0xb4, 0xfd, 0x9f, 0xf6, 0x77, 0x27, 0x62, 0x39, 0x2a, 0x7e, 0x6f, + 0x9e, 0x0a, 0x33, 0x1d, 0xf5, 0x91, 0xe0, 0xac, 0x00, 0x1f, 0xf3, 0x0e, 0x64, 0x04, 0x18, 0x7a, + 0x08, 0x4a, 0x5d, 0xc7, 0xa6, 0x56, 0xbf, 0x6b, 0x1a, 0x5a, 0xcf, 0x31, 0xf9, 0xb8, 0x0b, 0xbc, + 0x78, 0xd3, 0x34, 0xb6, 0x1c, 0x13, 0x3d, 0x0a, 0xc8, 0xb5, 0x0d, 0x7a, 0x11, 0x5c, 0xb7, 0x5a, + 0x6d, 0xa2, 0xb0, 0x4d, 0x76, 0xd6, 0x2c, 0xab, 0xca, 0xac, 0xe6, 0x2a, 0xad, 0xd8, 0x72, 0x4c, + 0x97, 0xb7, 0x73, 0x77, 0x32, 0x7c, 0xb6, 0x68, 0x09, 0x64, 0xbb, 0x8b, 0x9d, 0x48, 0xc6, 0x87, + 0x2d, 0x9f, 0xd9, 0x5f, 0xff, 0xcc, 0x63, 0x33, 0x7c, 0x3c, 0x3c, 0xe7, 0xc3, 0x5e, 0x71, 0x54, + 0x4b, 0x02, 0x43, 0xa4, 0x82, 0x5e, 0x8d, 0x1c, 0x8c, 0xef, 0x6d, 0x07, 0x6f, 0x32, 0xcd, 0x0c, + 0x48, 0x41, 0xc5, 0xda, 0xaf, 0xce, 0xfe, 0x6a, 0x40, 0x9a, 0xc7, 0x8b, 0x9b, 0xf4, 0xa4, 0x51, + 0xf8, 0x90, 0x3c, 0x25, 0x83, 0x8e, 0x41, 0xfa, 0x75, 0xdd, 0x6c, 0x8b, 0x5f, 0xf7, 0x55, 0xf9, + 0x17, 0x2a, 0xfb, 0x07, 0x3f, 0x53, 0x34, 0x83, 0xa3, 0x0c, 0x63, 0x7d, 0xd5, 0xb6, 0x5a, 0xd1, + 0xf3, 0x9e, 0x68, 0x09, 0xd2, 0x9e, 0x7d, 0x03, 0x5b, 0x7c, 0x46, 0xab, 0x8f, 0x1c, 0xc2, 0x47, + 0x50, 0x39, 0x2a, 0xfa, 0x3a, 0x90, 0x5b, 0xb8, 0x8d, 0x77, 0x59, 0x2a, 0x61, 0x4f, 0x77, 0x30, + 0xcb, 0x69, 0xdf, 0x93, 0x07, 0x50, 0xf2, 0x49, 0x35, 0x28, 0x25, 0xb4, 0x19, 0x0d, 0x9d, 0x26, + 0xfd, 0x3b, 0x5d, 0xb1, 0x63, 0x0c, 0x2d, 0x95, 0xb0, 0xba, 0x8c, 0x84, 0x5a, 0x0f, 0x83, 0xdc, + 0xb3, 0xb6, 0x6d, 0x8b, 0xfe, 0x28, 0x26, 0x4f, 0x62, 0x65, 0xd8, 0x65, 0x09, 0xbf, 0x9c, 0x5f, + 0x96, 0xd8, 0x84, 0x62, 0x00, 0x4a, 0x97, 0x74, 0xf6, 0xb0, 0x4b, 0xba, 0xe0, 0x13, 0x20, 0x20, + 0x68, 0x0d, 0x20, 0x50, 0x1a, 0x34, 0xcd, 0x9e, 0x1b, 0x3e, 0x63, 0x81, 0xfa, 0x09, 0x0f, 0x26, + 0x44, 0x00, 0x59, 0x30, 0xdd, 0x31, 0x2d, 0xcd, 0xc5, 0xed, 0x1d, 0x8d, 0x73, 0x8e, 0xd0, 0xcd, + 0x51, 0xf6, 0xbf, 0x78, 0x88, 0xd9, 0xfc, 0xad, 0xcf, 0x3c, 0x56, 0x0a, 0x5c, 0xa7, 0x85, 0xc7, + 0x17, 0x9f, 0x7c, 0x5a, 0x9d, 0xea, 0x98, 0x56, 0x03, 0xb7, 0x77, 0x96, 0x7d, 0xc2, 0xe8, 0x79, + 0x38, 0x19, 0x30, 0xc4, 0xb6, 0xb4, 0x3d, 0xbb, 0xdd, 0xd2, 0x1c, 0xbc, 0xa3, 0x19, 0xd4, 0xf1, + 0xcb, 0x53, 0x36, 0x1e, 0xf7, 0x41, 0x36, 0xac, 0xab, 0x76, 0xbb, 0xa5, 0xe2, 0x9d, 0x25, 0x52, + 0x8d, 0xce, 0x40, 0xc0, 0x0d, 0xcd, 0x6c, 0xb9, 0xb3, 0x85, 0x85, 0xe4, 0xb9, 0x94, 0x9a, 0xf7, + 0x0b, 0xeb, 0x2d, 0xb7, 0x9c, 0xf9, 0xe0, 0x9b, 0xf3, 0x47, 0xbe, 0xf8, 0xe6, 0xfc, 0x11, 0xe5, + 0x0a, 0x7d, 0xb5, 0x8d, 0x2f, 0x2d, 0xec, 0xa2, 0xcb, 0x90, 0xd5, 0xc5, 0x07, 0x7b, 0xf8, 0xf0, + 0x80, 0xa5, 0x19, 0x80, 0x2a, 0x9f, 0x92, 0x20, 0xbd, 0x7c, 0x7d, 0x53, 0x37, 0x1d, 0x54, 0x23, + 0x81, 0x91, 0x90, 0xd5, 0x71, 0x57, 0x79, 0x20, 0xde, 0x62, 0x99, 0xaf, 0x0f, 0x4b, 0x0f, 0x67, + 0xab, 0xa7, 0x7f, 0xfd, 0x33, 0x8f, 0xdd, 0xcf, 0xc9, 0x5c, 0xef, 0xcb, 0x14, 0x0b, 0x7a, 0xfd, + 0x19, 0xe4, 0xd0, 0x98, 0xaf, 0xc1, 0x24, 0xeb, 0xaa, 0x8b, 0x5e, 0x82, 0x89, 0x2e, 0xf9, 0x83, + 0x9f, 0xb8, 0x3e, 0x35, 0x54, 0xe6, 0x29, 0x7c, 0x58, 0x42, 0x18, 0x9e, 0xf2, 0xed, 0x09, 0x80, + 0xe5, 0xeb, 0xd7, 0x9b, 0x8e, 0xd9, 0x6d, 0x63, 0xef, 0x9d, 0x1a, 0xfb, 0x16, 0x1c, 0x0d, 0x65, + 0x0e, 0x1d, 0xe3, 0xf0, 0xe3, 0x9f, 0x0e, 0x72, 0x88, 0x8e, 0x11, 0x4b, 0xb6, 0xe5, 0x7a, 0x3e, + 0xd9, 0xe4, 0xe1, 0xc9, 0x2e, 0xbb, 0xde, 0x20, 0x67, 0x5f, 0x81, 0x5c, 0xc0, 0x0c, 0x17, 0xd5, + 0x21, 0xe3, 0xf1, 0xbf, 0x39, 0x83, 0x95, 0xe1, 0x0c, 0x16, 0x68, 0x61, 0x26, 0xfb, 0xe8, 0xca, + 0x5f, 0x48, 0x00, 0xa1, 0x35, 0xf2, 0xd7, 0x53, 0xc6, 0x48, 0x78, 0xc6, 0x95, 0x73, 0xf2, 0x9e, + 0xc3, 0x33, 0x46, 0x20, 0xc4, 0xd4, 0xef, 0x4c, 0xc0, 0xf4, 0x96, 0x58, 0xbd, 0x7f, 0xfd, 0x79, + 0xb0, 0x05, 0x93, 0xd8, 0xf2, 0x1c, 0xd3, 0xbf, 0x31, 0xf0, 0xf8, 0xb0, 0x39, 0x8f, 0x19, 0x54, + 0xcd, 0xf2, 0x9c, 0xfd, 0xb0, 0x04, 0x08, 0x5a, 0x21, 0x7e, 0xfc, 0x60, 0x12, 0x66, 0x87, 0xa1, + 0xa2, 0xb3, 0x50, 0x32, 0x1c, 0x4c, 0x0b, 0xa2, 0xef, 0x70, 0x16, 0x45, 0x31, 0x37, 0x3b, 0x2a, + 0x10, 0xcf, 0x92, 0x08, 0x17, 0x01, 0xbd, 0x37, 0x57, 0xb2, 0x18, 0x50, 0xa0, 0x86, 0xa7, 0x09, + 0x25, 0xf1, 0x54, 0xce, 0xb6, 0xde, 0xd6, 0x2d, 0x43, 0xb8, 0xdc, 0x87, 0xb2, 0xf9, 0xe2, 0xb9, + 0x9d, 0x2a, 0x23, 0x81, 0x6a, 0x30, 0x29, 0xa8, 0xa5, 0x0e, 0x4f, 0x4d, 0xe0, 0xa2, 0x07, 0x21, + 0x1f, 0x36, 0x0c, 0xd4, 0x1b, 0x49, 0xd1, 0xe7, 0x87, 0x73, 0x21, 0xdb, 0x30, 0xca, 0xfa, 0xa4, + 0x0f, 0xb4, 0x3e, 0xdc, 0xe9, 0xfb, 0xc1, 0x24, 0x4c, 0xa9, 0xb8, 0xf5, 0x37, 0x7f, 0x6a, 0x36, + 0x01, 0xd8, 0x72, 0x25, 0xda, 0x94, 0xcf, 0xce, 0x3d, 0xac, 0xf9, 0x2c, 0x23, 0xb2, 0xec, 0xd2, + 0x1f, 0x57, 0x1f, 0x9c, 0xa5, 0x77, 0x7e, 0x86, 0x7e, 0x3b, 0x01, 0xf9, 0xf0, 0x0c, 0xfd, 0xad, + 0x34, 0x5c, 0x68, 0x3d, 0x50, 0x55, 0x6c, 0xb3, 0xfc, 0xe1, 0x61, 0xaa, 0x6a, 0x40, 0x9a, 0x47, + 0xe8, 0xa8, 0x2f, 0x25, 0x21, 0xcd, 0x2f, 0xde, 0x6e, 0x0c, 0xf8, 0xb7, 0x23, 0x1f, 0x62, 0x2e, + 0x88, 0xb7, 0xac, 0x63, 0xdd, 0xdb, 0x07, 0xa1, 0x48, 0x02, 0xfb, 0xc8, 0x6d, 0x5e, 0xe9, 0x5c, + 0x81, 0xc6, 0xe7, 0xc1, 0xe1, 0x26, 0x34, 0x0f, 0x39, 0x02, 0x16, 0xe8, 0x62, 0x02, 0x03, 0x1d, + 0xfd, 0x76, 0x8d, 0x95, 0xa0, 0x8b, 0x80, 0xf6, 0xfc, 0x6c, 0x8b, 0x16, 0x30, 0x42, 0x3a, 0x57, + 0xa0, 0x6a, 0x61, 0x2a, 0xa8, 0x15, 0x28, 0xf7, 0x03, 0x90, 0x9e, 0x68, 0x2c, 0x33, 0xc9, 0x7f, + 0x2a, 0x9b, 0x94, 0x2c, 0xd3, 0xec, 0xe4, 0xb7, 0x48, 0xcc, 0x55, 0xee, 0x4b, 0x01, 0xf0, 0x48, + 0xa5, 0x39, 0xc6, 0xc2, 0xf8, 0xd3, 0xb7, 0xe6, 0xe7, 0xf6, 0xf5, 0x4e, 0xbb, 0xac, 0xc4, 0xd0, + 0x51, 0xe2, 0xb2, 0x12, 0xc4, 0x81, 0x8e, 0xa6, 0x10, 0x50, 0x1d, 0xe4, 0x1b, 0x78, 0x5f, 0x73, + 0xf8, 0xaf, 0xc9, 0x6b, 0x3b, 0x58, 0xbc, 0x87, 0x7e, 0x62, 0x31, 0x26, 0x4f, 0xbc, 0xb8, 0x64, + 0x9b, 0x16, 0xdf, 0xc6, 0x2c, 0xde, 0xc0, 0xfb, 0x2a, 0xc7, 0xbb, 0x82, 0x71, 0xf9, 0x01, 0xb2, + 0x5a, 0xee, 0xfc, 0xfe, 0x4f, 0x9f, 0x3f, 0x19, 0xca, 0x79, 0xde, 0xf6, 0x93, 0x7b, 0x6c, 0x8a, + 0x89, 0xf3, 0x8b, 0x02, 0x43, 0x14, 0xba, 0xc1, 0x0d, 0xa1, 0x78, 0x41, 0x3a, 0x38, 0x0e, 0x09, + 0xf0, 0x23, 0x71, 0x48, 0x68, 0x89, 0xbe, 0x18, 0xd8, 0x81, 0xc4, 0xa8, 0xd1, 0x84, 0xa5, 0x93, + 0x23, 0xd1, 0x95, 0x7f, 0x44, 0xf9, 0x4f, 0x12, 0x9c, 0x18, 0x90, 0x66, 0xbf, 0xcb, 0x06, 0x20, + 0x27, 0x54, 0x49, 0xa5, 0x42, 0x5c, 0xe2, 0xb9, 0xb7, 0xc5, 0x31, 0xe5, 0x0c, 0x18, 0x82, 0x77, + 0xc6, 0xa0, 0x71, 0x4d, 0xf6, 0x2b, 0x12, 0xcc, 0x84, 0x3b, 0xe0, 0x0f, 0xa5, 0x01, 0xf9, 0x70, + 0xd3, 0x7c, 0x10, 0x0f, 0x8c, 0x33, 0x88, 0x70, 0xff, 0x23, 0x44, 0xd0, 0xf5, 0x40, 0x63, 0xb0, + 0x94, 0xe2, 0xc5, 0xb1, 0x99, 0x22, 0x3a, 0x16, 0xab, 0x39, 0xd8, 0xdc, 0x7c, 0x49, 0x82, 0xd4, + 0xa6, 0x6d, 0xb7, 0xd1, 0xfb, 0x60, 0xca, 0xb2, 0x3d, 0x8d, 0xac, 0x2c, 0xdc, 0xd2, 0x78, 0xfa, + 0x80, 0x69, 0xe3, 0xda, 0x81, 0xbc, 0xfa, 0x83, 0xb7, 0xe6, 0x07, 0x31, 0xe3, 0xf6, 0x1d, 0x4a, + 0x96, 0xed, 0x55, 0x29, 0x50, 0x93, 0x65, 0x18, 0x76, 0xa0, 0x10, 0x6d, 0x8e, 0x69, 0xec, 0xca, + 0xa8, 0xe6, 0x0a, 0x23, 0x9b, 0xca, 0x6f, 0x87, 0xda, 0x61, 0x3f, 0x3d, 0xf4, 0xc7, 0x64, 0xe6, + 0xbe, 0x01, 0xe4, 0xeb, 0xfd, 0x57, 0x44, 0xaf, 0xc0, 0xa4, 0xb8, 0x12, 0x2a, 0x8d, 0x7b, 0xdd, + 0x34, 0xcc, 0x4f, 0x8e, 0x4c, 0x73, 0xb6, 0x9f, 0x4b, 0xc0, 0x89, 0x25, 0xdb, 0x72, 0x79, 0xb2, + 0x87, 0xaf, 0x6a, 0x96, 0x60, 0xde, 0x47, 0x0f, 0x0f, 0x49, 0x45, 0xe5, 0x07, 0x13, 0x4e, 0xd7, + 0xa1, 0x44, 0x4c, 0xac, 0x61, 0x5b, 0x6f, 0x33, 0xdf, 0x54, 0xb0, 0xdb, 0x2d, 0xde, 0xa3, 0x1b, + 0x78, 0x9f, 0xd0, 0xb5, 0xf0, 0xad, 0x08, 0xdd, 0xe4, 0xbd, 0xd1, 0xb5, 0xf0, 0xad, 0x10, 0xdd, + 0xe0, 0xdc, 0x50, 0x2a, 0x72, 0x0b, 0xe9, 0x32, 0x24, 0x89, 0x2a, 0x9c, 0x38, 0x84, 0xf2, 0x20, + 0x08, 0x21, 0xb3, 0xd6, 0x80, 0x13, 0x3c, 0x5b, 0xe0, 0x6e, 0xec, 0x50, 0x8e, 0x62, 0x3a, 0xa0, + 0x97, 0xf1, 0x7e, 0x4c, 0xea, 0x20, 0x3f, 0x56, 0xea, 0xe0, 0xfc, 0xcf, 0x49, 0x00, 0x41, 0xde, + 0x0c, 0x3d, 0x0a, 0xc7, 0xab, 0x1b, 0xeb, 0xcb, 0xc1, 0x85, 0x8c, 0xd0, 0xf6, 0xba, 0x38, 0xa9, + 0xe1, 0x76, 0xb1, 0x61, 0xee, 0x98, 0xb8, 0x85, 0x1e, 0x82, 0x99, 0x28, 0x34, 0xf9, 0xaa, 0x2d, + 0xcb, 0xd2, 0x5c, 0xfe, 0xce, 0xdd, 0x85, 0x0c, 0x8b, 0x13, 0x70, 0x0b, 0x9d, 0x83, 0xa3, 0x83, + 0x70, 0xf5, 0xf5, 0x15, 0x39, 0x31, 0x57, 0xb8, 0x73, 0x77, 0x21, 0xeb, 0x07, 0x14, 0x48, 0x01, + 0x14, 0x86, 0xe4, 0xf4, 0x92, 0x73, 0x70, 0xe7, 0xee, 0x42, 0x9a, 0x2d, 0x19, 0x7e, 0x93, 0xe3, + 0xeb, 0x01, 0xea, 0xd6, 0x8e, 0xa3, 0x1b, 0x54, 0x35, 0xcc, 0xc1, 0xb1, 0xfa, 0xfa, 0x15, 0xb5, + 0xb2, 0xd4, 0xac, 0x6f, 0xac, 0xf7, 0x9d, 0x0a, 0x88, 0xd6, 0x2d, 0x6f, 0x6c, 0x55, 0x57, 0x6b, + 0x5a, 0xa3, 0xbe, 0xb2, 0xce, 0xae, 0x5d, 0x45, 0xea, 0xde, 0xbb, 0xde, 0xac, 0xaf, 0xd5, 0xe4, + 0x44, 0xf5, 0xf2, 0xd0, 0x2d, 0xb9, 0xfb, 0x22, 0x8b, 0x31, 0x30, 0x47, 0x91, 0xcd, 0xb8, 0xff, + 0x1b, 0x00, 0x00, 0xff, 0xff, 0x99, 0x81, 0xa8, 0x52, 0xec, 0xa7, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) From c263939faa549b4cded73e854a93a04fe5d6c1be Mon Sep 17 00:00:00 2001 From: mmsqe Date: Mon, 16 Dec 2024 21:47:43 +0800 Subject: [PATCH 12/22] fix(test): avoid concurrent read and write on same hash in oe test (#22892) --- server/v2/cometbft/abci_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/v2/cometbft/abci_test.go b/server/v2/cometbft/abci_test.go index b35c71a7c240..780e50b5027d 100644 --- a/server/v2/cometbft/abci_test.go +++ b/server/v2/cometbft/abci_test.go @@ -959,10 +959,10 @@ func TestOptimisticExecution(t *testing.T) { require.Equal(t, resp.Status, abciproto.PROCESS_PROPOSAL_STATUS_ACCEPT) // Initialize FinalizeBlock with correct hash - should use optimistic result - theHash = sha256.Sum256([]byte("test")) + theHash2 := sha256.Sum256([]byte("test")) fbReq := &abciproto.FinalizeBlockRequest{ Height: 2, - Hash: theHash[:], + Hash: theHash2[:], Time: ppReq.Time, Txs: ppReq.Txs, } From cfe194013ccd53a342d8dfa97d930df9e5416b83 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 16 Dec 2024 17:06:22 +0100 Subject: [PATCH 13/22] test: fix failing tests after protocompat changes (#22889) Co-authored-by: Marko --- baseapp/internal/protocompat/protocompat.go | 32 +++-- scripts/mockgen.sh | 2 +- x/authz/keeper/keeper_test.go | 1 + x/authz/testutil/bank_helpers.go | 29 ----- x/authz/testutil/expected_keepers.go | 19 +++ x/authz/testutil/expected_keepers_mocks.go | 131 +++++++++++++++++--- x/group/keeper/msg_server_test.go | 28 ++--- x/group/testutil/expected_keepers.go | 2 +- 8 files changed, 173 insertions(+), 71 deletions(-) delete mode 100644 x/authz/testutil/bank_helpers.go create mode 100644 x/authz/testutil/expected_keepers.go diff --git a/baseapp/internal/protocompat/protocompat.go b/baseapp/internal/protocompat/protocompat.go index 43c32df35376..3c3a6fd701cb 100644 --- a/baseapp/internal/protocompat/protocompat.go +++ b/baseapp/internal/protocompat/protocompat.go @@ -123,14 +123,13 @@ func makeGogoHybridHandler(prefMethod protoreflect.MethodDescriptor, cdc codec.B return fmt.Errorf("invalid request type %T, method %s does not accept protov2 messages", inReq, prefMethod.FullName()) } resp, err := method.Handler(handler, ctx, func(msg any) error { - setPointer(msg, inReq) - return nil + return setPointer(msg, inReq) }, nil) if err != nil { return err } - setPointer(outResp, resp) - return nil + + return setPointer(outResp, resp) }, nil } // this is a gogo handler, and we have a protov2 counterparty. @@ -161,14 +160,13 @@ func makeGogoHybridHandler(prefMethod protoreflect.MethodDescriptor, cdc codec.B case gogoproto.Message: // we can just call the handler after making a copy of the message, for safety reasons. resp, err := method.Handler(handler, ctx, func(msg any) error { - setPointer(msg, m) - return nil + return setPointer(msg, m) }, nil) if err != nil { return err } - setPointer(outResp, resp) - return nil + + return setPointer(outResp, resp) default: panic("unreachable") } @@ -235,6 +233,20 @@ func ResponseFullNameFromMethodDesc(sd *grpc.ServiceDesc, method grpc.MethodDesc // since proto.Merge breaks due to the custom cosmos sdk any, we are forced to do this ugly setPointer hack. // ref: https://github.com/cosmos/cosmos-sdk/issues/22779 -func setPointer(dst, src any) { - reflect.ValueOf(dst).Elem().Set(reflect.ValueOf(src).Elem()) +func setPointer(dst, src any) error { + dstValue := reflect.ValueOf(dst) + srcValue := reflect.ValueOf(src) + if !dstValue.IsValid() || !srcValue.IsValid() { + return fmt.Errorf("dst and src must be valid") + } + if dstValue.IsNil() || srcValue.IsNil() { + return fmt.Errorf("dst and src must be non-nil") + } + dstElem := dstValue.Elem() + srcElem := srcValue.Elem() + if dstElem.Type() != srcElem.Type() { + return fmt.Errorf("dst and src must have the same type") + } + dstElem.Set(srcElem) + return nil } diff --git a/scripts/mockgen.sh b/scripts/mockgen.sh index 8ec5f02f50f5..d30058a37554 100755 --- a/scripts/mockgen.sh +++ b/scripts/mockgen.sh @@ -15,7 +15,7 @@ $mockgen_cmd -source=x/mint/types/expected_keepers.go -package testutil -destina $mockgen_cmd -source=x/auth/tx/config/expected_keepers.go -package testutil -destination x/auth/tx/testutil/expected_keepers_mocks.go $mockgen_cmd -source=x/auth/types/expected_keepers.go -package testutil -destination x/auth/testutil/expected_keepers_mocks.go $mockgen_cmd -source=x/auth/ante/expected_keepers.go -package testutil -destination x/auth/ante/testutil/expected_keepers_mocks.go -$mockgen_cmd -source=x/authz/expected_keepers.go -package testutil -destination x/authz/testutil/expected_keepers_mocks.go +$mockgen_cmd -source=x/authz/testutil/expected_keepers.go -package testutil -destination x/authz/testutil/expected_keepers_mocks.go $mockgen_cmd -source=x/bank/types/expected_keepers.go -package testutil -destination x/bank/testutil/expected_keepers_mocks.go $mockgen_cmd -source=x/group/testutil/expected_keepers.go -package testutil -destination x/group/testutil/expected_keepers_mocks.go $mockgen_cmd -source=x/evidence/types/expected_keepers.go -package testutil -destination x/evidence/testutil/expected_keepers_mocks.go diff --git a/x/authz/keeper/keeper_test.go b/x/authz/keeper/keeper_test.go index 1958725cb2a6..ccb36eaaabc5 100644 --- a/x/authz/keeper/keeper_test.go +++ b/x/authz/keeper/keeper_test.go @@ -72,6 +72,7 @@ func (s *TestSuite) SetupTest() { // gomock initializations ctrl := gomock.NewController(s.T()) s.bankKeeper = authztestutil.NewMockBankKeeper(ctrl) + s.bankKeeper.EXPECT().Send(gomock.Any(), gomock.Any()).Return(&banktypes.MsgSendResponse{}, nil).AnyTimes() banktypes.RegisterInterfaces(s.encCfg.InterfaceRegistry) banktypes.RegisterMsgServer(s.baseApp.MsgServiceRouter(), s.bankKeeper) diff --git a/x/authz/testutil/bank_helpers.go b/x/authz/testutil/bank_helpers.go deleted file mode 100644 index b818ea8f8081..000000000000 --- a/x/authz/testutil/bank_helpers.go +++ /dev/null @@ -1,29 +0,0 @@ -package testutil - -import ( - "context" - - bank "cosmossdk.io/x/bank/types" -) - -var _ bank.MsgServer = MockBankKeeper{} - -func (k MockBankKeeper) Send(ctx context.Context, msg *bank.MsgSend) (*bank.MsgSendResponse, error) { - return nil, nil -} - -func (k MockBankKeeper) Burn(ctx context.Context, msg *bank.MsgBurn) (*bank.MsgBurnResponse, error) { - return nil, nil -} - -func (k MockBankKeeper) MultiSend(ctx context.Context, msg *bank.MsgMultiSend) (*bank.MsgMultiSendResponse, error) { - return nil, nil -} - -func (k MockBankKeeper) UpdateParams(ctx context.Context, req *bank.MsgUpdateParams) (*bank.MsgUpdateParamsResponse, error) { - return nil, nil -} - -func (k MockBankKeeper) SetSendEnabled(ctx context.Context, req *bank.MsgSetSendEnabled) (*bank.MsgSetSendEnabledResponse, error) { - return nil, nil -} diff --git a/x/authz/testutil/expected_keepers.go b/x/authz/testutil/expected_keepers.go new file mode 100644 index 000000000000..19902aa86fde --- /dev/null +++ b/x/authz/testutil/expected_keepers.go @@ -0,0 +1,19 @@ +package testutil + +import ( + "context" + + banktypes "cosmossdk.io/x/bank/types" + + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// BankKeeper extends bank `MsgServer` to mock `Send` and to register handlers in MsgServiceRouter +type BankKeeper interface { + banktypes.MsgServer + + SpendableCoins(ctx context.Context, addr sdk.AccAddress) sdk.Coins + MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins +} diff --git a/x/authz/testutil/expected_keepers_mocks.go b/x/authz/testutil/expected_keepers_mocks.go index 03675095d7b4..5e077872173e 100644 --- a/x/authz/testutil/expected_keepers_mocks.go +++ b/x/authz/testutil/expected_keepers_mocks.go @@ -1,9 +1,9 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: x/authz/expected_keepers.go +// Source: x/authz/testutil/expected_keepers.go // // Generated by this command: // -// mockgen -source=x/authz/expected_keepers.go -package testutil -destination x/authz/testutil/expected_keepers_mocks.go +// mockgen -source=x/authz/testutil/expected_keepers.go -package testutil -destination x/authz/testutil/expected_keepers_mocks.go // // Package testutil is a generated GoMock package. @@ -13,7 +13,8 @@ import ( context "context" reflect "reflect" - types "github.com/cosmos/cosmos-sdk/types" + types "cosmossdk.io/x/bank/types" + types0 "github.com/cosmos/cosmos-sdk/types" gomock "go.uber.org/mock/gomock" ) @@ -41,30 +42,113 @@ func (m *MockBankKeeper) EXPECT() *MockBankKeeperMockRecorder { return m.recorder } -// IsSendEnabledCoins mocks base method. -func (m *MockBankKeeper) IsSendEnabledCoins(ctx context.Context, coins ...types.Coin) error { +// Burn mocks base method. +func (m *MockBankKeeper) Burn(arg0 context.Context, arg1 *types.MsgBurn) (*types.MsgBurnResponse, error) { m.ctrl.T.Helper() - varargs := []any{ctx} - for _, a := range coins { - varargs = append(varargs, a) - } - ret := m.ctrl.Call(m, "IsSendEnabledCoins", varargs...) + ret := m.ctrl.Call(m, "Burn", arg0, arg1) + ret0, _ := ret[0].(*types.MsgBurnResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Burn indicates an expected call of Burn. +func (mr *MockBankKeeperMockRecorder) Burn(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Burn", reflect.TypeOf((*MockBankKeeper)(nil).Burn), arg0, arg1) +} + +// GetAllBalances mocks base method. +func (m *MockBankKeeper) GetAllBalances(ctx context.Context, addr types0.AccAddress) types0.Coins { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAllBalances", ctx, addr) + ret0, _ := ret[0].(types0.Coins) + return ret0 +} + +// GetAllBalances indicates an expected call of GetAllBalances. +func (mr *MockBankKeeperMockRecorder) GetAllBalances(ctx, addr any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllBalances", reflect.TypeOf((*MockBankKeeper)(nil).GetAllBalances), ctx, addr) +} + +// MintCoins mocks base method. +func (m *MockBankKeeper) MintCoins(ctx context.Context, moduleName string, amt types0.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "MintCoins", ctx, moduleName, amt) ret0, _ := ret[0].(error) return ret0 } -// IsSendEnabledCoins indicates an expected call of IsSendEnabledCoins. -func (mr *MockBankKeeperMockRecorder) IsSendEnabledCoins(ctx any, coins ...any) *gomock.Call { +// MintCoins indicates an expected call of MintCoins. +func (mr *MockBankKeeperMockRecorder) MintCoins(ctx, moduleName, amt any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx}, coins...) - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsSendEnabledCoins", reflect.TypeOf((*MockBankKeeper)(nil).IsSendEnabledCoins), varargs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MintCoins", reflect.TypeOf((*MockBankKeeper)(nil).MintCoins), ctx, moduleName, amt) +} + +// MultiSend mocks base method. +func (m *MockBankKeeper) MultiSend(arg0 context.Context, arg1 *types.MsgMultiSend) (*types.MsgMultiSendResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "MultiSend", arg0, arg1) + ret0, _ := ret[0].(*types.MsgMultiSendResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// MultiSend indicates an expected call of MultiSend. +func (mr *MockBankKeeperMockRecorder) MultiSend(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MultiSend", reflect.TypeOf((*MockBankKeeper)(nil).MultiSend), arg0, arg1) +} + +// Send mocks base method. +func (m *MockBankKeeper) Send(arg0 context.Context, arg1 *types.MsgSend) (*types.MsgSendResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Send", arg0, arg1) + ret0, _ := ret[0].(*types.MsgSendResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Send indicates an expected call of Send. +func (mr *MockBankKeeperMockRecorder) Send(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockBankKeeper)(nil).Send), arg0, arg1) +} + +// SendCoinsFromModuleToAccount mocks base method. +func (m *MockBankKeeper) SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr types0.AccAddress, amt types0.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoinsFromModuleToAccount", ctx, senderModule, recipientAddr, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoinsFromModuleToAccount indicates an expected call of SendCoinsFromModuleToAccount. +func (mr *MockBankKeeperMockRecorder) SendCoinsFromModuleToAccount(ctx, senderModule, recipientAddr, amt any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoinsFromModuleToAccount", reflect.TypeOf((*MockBankKeeper)(nil).SendCoinsFromModuleToAccount), ctx, senderModule, recipientAddr, amt) +} + +// SetSendEnabled mocks base method. +func (m *MockBankKeeper) SetSendEnabled(arg0 context.Context, arg1 *types.MsgSetSendEnabled) (*types.MsgSetSendEnabledResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SetSendEnabled", arg0, arg1) + ret0, _ := ret[0].(*types.MsgSetSendEnabledResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetSendEnabled indicates an expected call of SetSendEnabled. +func (mr *MockBankKeeperMockRecorder) SetSendEnabled(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetSendEnabled", reflect.TypeOf((*MockBankKeeper)(nil).SetSendEnabled), arg0, arg1) } // SpendableCoins mocks base method. -func (m *MockBankKeeper) SpendableCoins(ctx context.Context, addr types.AccAddress) types.Coins { +func (m *MockBankKeeper) SpendableCoins(ctx context.Context, addr types0.AccAddress) types0.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SpendableCoins", ctx, addr) - ret0, _ := ret[0].(types.Coins) + ret0, _ := ret[0].(types0.Coins) return ret0 } @@ -73,3 +157,18 @@ func (mr *MockBankKeeperMockRecorder) SpendableCoins(ctx, addr any) *gomock.Call mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SpendableCoins", reflect.TypeOf((*MockBankKeeper)(nil).SpendableCoins), ctx, addr) } + +// UpdateParams mocks base method. +func (m *MockBankKeeper) UpdateParams(arg0 context.Context, arg1 *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateParams", arg0, arg1) + ret0, _ := ret[0].(*types.MsgUpdateParamsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateParams indicates an expected call of UpdateParams. +func (mr *MockBankKeeperMockRecorder) UpdateParams(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateParams", reflect.TypeOf((*MockBankKeeper)(nil).UpdateParams), arg0, arg1) +} diff --git a/x/group/keeper/msg_server_test.go b/x/group/keeper/msg_server_test.go index 646fd702d484..778dd1e5ab95 100644 --- a/x/group/keeper/msg_server_test.go +++ b/x/group/keeper/msg_server_test.go @@ -1817,7 +1817,7 @@ func (s *TestSuite) TestSubmitProposal() { "with try exec": { preRun: func(msgs []sdk.Msg) { for i := 0; i < len(msgs); i++ { - s.bankKeeper.EXPECT().Send(gomock.Any(), msgs[i]).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgs[i]).Return(&banktypes.MsgSendResponse{}, nil) } }, req: &group.MsgSubmitProposal{ @@ -2154,7 +2154,7 @@ func (s *TestSuite) TestVote() { expProposalStatus: group.PROPOSAL_STATUS_ACCEPTED, expExecutorResult: group.PROPOSAL_EXECUTOR_RESULT_SUCCESS, doBefore: func(ctx context.Context) { - s.bankKeeper.EXPECT().Send(gomock.Any(), msg).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msg).Return(&banktypes.MsgSendResponse{}, nil) }, postRun: func(sdkCtx sdk.Context) { s.bankKeeper.EXPECT().GetAllBalances(gomock.Any(), groupPolicy).Return(sdk.NewCoins(sdk.NewInt64Coin("test", 9900))) @@ -2344,7 +2344,7 @@ func (s *TestSuite) TestVote() { Option: group.VOTE_OPTION_NO, }, doBefore: func(ctx context.Context) { - s.bankKeeper.EXPECT().Send(gomock.Any(), msg).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msg).Return(&banktypes.MsgSendResponse{}, nil) _, err := s.groupKeeper.Vote(ctx, &group.MsgVote{ ProposalId: myProposalID, @@ -2556,7 +2556,7 @@ func (s *TestSuite) TestExecProposal() { }{ "proposal executed when accepted": { setupProposal: func(ctx context.Context) uint64 { - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, nil) msgs := []sdk.Msg{msgSend1} return submitProposalAndVote(ctx, s, msgs, proposers, group.VOTE_OPTION_YES) }, @@ -2574,7 +2574,7 @@ func (s *TestSuite) TestExecProposal() { "proposal with multiple messages executed when accepted": { setupProposal: func(ctx context.Context) uint64 { msgs := []sdk.Msg{msgSend1, msgSend1} - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, nil).MaxTimes(2) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, nil).MaxTimes(2) return submitProposalAndVote(ctx, s, msgs, proposers, group.VOTE_OPTION_YES) }, @@ -2660,7 +2660,7 @@ func (s *TestSuite) TestExecProposal() { "exec proposal at exactly MinExecutionPeriod should pass": { setupProposal: func(ctx context.Context) uint64 { msgs := []sdk.Msg{msgSend1} - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, nil) return submitProposalAndVote(ctx, s, msgs, proposers, group.VOTE_OPTION_YES) }, srcBlockTime: s.blockTime.Add(5 * time.Second), // min execution date is 5s later after s.blockTime @@ -2674,7 +2674,7 @@ func (s *TestSuite) TestExecProposal() { "prevent double execution when successful": { setupProposal: func(ctx context.Context) uint64 { myProposalID := submitProposalAndVote(ctx, s, []sdk.Msg{msgSend1}, proposers, group.VOTE_OPTION_YES) - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, nil) // Wait after min execution period end before Exec sdkCtx := sdk.UnwrapSDKContext(ctx) @@ -2696,7 +2696,7 @@ func (s *TestSuite) TestExecProposal() { "rollback all msg updates on failure": { setupProposal: func(ctx context.Context) uint64 { msgs := []sdk.Msg{msgSend1, msgSend2} - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, nil) s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend2).Return(nil, errors.New("error")) return submitProposalAndVote(ctx, s, msgs, proposers, group.VOTE_OPTION_YES) @@ -2716,7 +2716,7 @@ func (s *TestSuite) TestExecProposal() { sdkCtx = sdkCtx.WithHeaderInfo(header.Info{Time: sdkCtx.HeaderInfo().Time.Add(minExecutionPeriod)}) // MinExecutionPeriod is 5s s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend2).Return(nil, errors.New("error")) _, err := s.groupKeeper.Exec(sdkCtx, &group.MsgExec{Executor: s.addrsStr[0], ProposalId: myProposalID}) - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend2).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend2).Return(&banktypes.MsgSendResponse{}, nil) s.Require().NoError(err) s.Require().NoError(s.bankKeeper.SendCoinsFromModuleToAccount(s.sdkCtx, minttypes.ModuleName, s.groupPolicyAddr, sdk.Coins{sdk.NewInt64Coin("test", 10000)})) @@ -2793,7 +2793,7 @@ func (s *TestSuite) TestExecPrunedProposalsAndVotes() { Amount: sdk.Coins{sdk.NewInt64Coin("test", 101)}, } msgs := []sdk.Msg{msgSend1} - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, nil) return submitProposalAndVote(ctx, s, msgs, proposers, group.VOTE_OPTION_YES) }, expErrMsg: "load proposal: not found", @@ -2806,7 +2806,7 @@ func (s *TestSuite) TestExecPrunedProposalsAndVotes() { ToAddress: s.addrsStr[1], Amount: sdk.Coins{sdk.NewInt64Coin("test", 102)}, } - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, nil).MaxTimes(2) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, nil).MaxTimes(2) msgs := []sdk.Msg{msgSend1, msgSend1} return submitProposalAndVote(ctx, s, msgs, proposers, group.VOTE_OPTION_YES) @@ -2891,7 +2891,7 @@ func (s *TestSuite) TestExecPrunedProposalsAndVotes() { } msgs := []sdk.Msg{msgSend1, msgSend2} - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, errors.New("error")) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, errors.New("error")) return submitProposalAndVote(ctx, s, msgs, proposers, group.VOTE_OPTION_YES) }, @@ -2915,7 +2915,7 @@ func (s *TestSuite) TestExecPrunedProposalsAndVotes() { sdkCtx := sdk.UnwrapSDKContext(ctx) sdkCtx = sdkCtx.WithHeaderInfo(header.Info{Time: sdkCtx.HeaderInfo().Time.Add(minExecutionPeriod)}) _, err := s.groupKeeper.Exec(sdkCtx, &group.MsgExec{Executor: s.addrsStr[0], ProposalId: myProposalID}) - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend2).Return(nil, nil) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend2).Return(&banktypes.MsgSendResponse{}, nil) s.Require().NoError(err) return myProposalID @@ -3194,7 +3194,7 @@ func (s *TestSuite) TestExecProposalsWhenMemberLeavesOrIsUpdated() { } // the proposal will pass and be executed - s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(nil, nil).MaxTimes(1) + s.bankKeeper.EXPECT().Send(gomock.Any(), msgSend1).Return(&banktypes.MsgSendResponse{}, nil).MaxTimes(1) msgs := []sdk.Msg{msgSend1} proposalReq := &group.MsgSubmitProposal{ diff --git a/x/group/testutil/expected_keepers.go b/x/group/testutil/expected_keepers.go index 3354ac5d7b54..04f9ac3d87f5 100644 --- a/x/group/testutil/expected_keepers.go +++ b/x/group/testutil/expected_keepers.go @@ -30,9 +30,9 @@ type AccountKeeper interface { // BankKeeper extends bank `MsgServer` to mock `Send` and to register handlers in MsgServiceRouter type BankKeeper interface { - SpendableCoins(ctx context.Context, addr sdk.AccAddress) sdk.Coins bank.MsgServer + SpendableCoins(ctx context.Context, addr sdk.AccAddress) sdk.Coins MintCoins(ctx context.Context, moduleName string, amt sdk.Coins) error SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error GetAllBalances(ctx context.Context, addr sdk.AccAddress) sdk.Coins From 4e81d17254b0ad3e83216723b0cb2a22f5496c40 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 08:27:30 -0800 Subject: [PATCH 14/22] chore: fix spelling errors (#22888) Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> Co-authored-by: Julien Robert --- codec/codec.go | 4 ++-- docs/architecture/adr-033-protobuf-inter-module-comm.md | 2 +- docs/build/building-modules/00-intro.md | 2 +- docs/learn/beginner/00-app-anatomy.md | 2 +- schema/type.go | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/codec/codec.go b/codec/codec.go index 3d9cfd771bc0..026d3e4cd760 100644 --- a/codec/codec.go +++ b/codec/codec.go @@ -72,7 +72,7 @@ type ( // MarshalInterface is a helper method which will wrap `i` into `Any` for correct // binary interface (de)serialization. MarshalInterface(i proto.Message) ([]byte, error) - // UnmarshalInterface is a helper method which will parse binary enoded data + // UnmarshalInterface is a helper method which will parse binary encoded data // into `Any` and unpack any into the `ptr`. It fails if the target interface type // is not registered in codec, or is not compatible with the serialized data UnmarshalInterface(bz []byte, ptr interface{}) error @@ -88,7 +88,7 @@ type ( // MarshalInterfaceJSON is a helper method which will wrap `i` into `Any` for correct // JSON interface (de)serialization. MarshalInterfaceJSON(i proto.Message) ([]byte, error) - // UnmarshalInterfaceJSON is a helper method which will parse JSON enoded data + // UnmarshalInterfaceJSON is a helper method which will parse JSON encoded data // into `Any` and unpack any into the `ptr`. It fails if the target interface type // is not registered in codec, or is not compatible with the serialized data UnmarshalInterfaceJSON(bz []byte, ptr interface{}) error diff --git a/docs/architecture/adr-033-protobuf-inter-module-comm.md b/docs/architecture/adr-033-protobuf-inter-module-comm.md index 1929975c9a27..b85bf90952db 100644 --- a/docs/architecture/adr-033-protobuf-inter-module-comm.md +++ b/docs/architecture/adr-033-protobuf-inter-module-comm.md @@ -378,7 +378,7 @@ replacing `Keeper` interfaces altogether. * an alternative to keepers which can more easily lead to stable inter-module interfaces * proper inter-module OCAPs -* improved module developer DevX, as commented on by several particpants on +* improved module developer DevX, as commented on by several participants on [Architecture Review Call, Dec 3](https://hackmd.io/E0wxxOvRQ5qVmTf6N_k84Q) * lays the groundwork for what can be a greatly simplified `app.go` * router can be setup to enforce atomic transactions for module-to-module calls diff --git a/docs/build/building-modules/00-intro.md b/docs/build/building-modules/00-intro.md index 10b21db77e18..b301e92ae318 100644 --- a/docs/build/building-modules/00-intro.md +++ b/docs/build/building-modules/00-intro.md @@ -63,7 +63,7 @@ While there are no definitive guidelines for writing modules, here are some impo The SDK provides a set of APIs that a module can implement, and a set of services that a module can use. Those APIs are defined in the `cosmossdk.io/core/appmodule` package, and are used to defined the module capabilities, which is used by `runtime` during the wiring of the application. -Whenever possible, a module should strive to use only the core APIs (`cosmossdk.io/core`) and not import the `github.com/cosmos/cosmos-sdk` module. This makes modules reusable accross SDK versions and reduces the risk of breaking changes. +Whenever possible, a module should strive to use only the core APIs (`cosmossdk.io/core`) and not import the `github.com/cosmos/cosmos-sdk` module. This makes modules reusable across SDK versions and reduces the risk of breaking changes. Learn more about the core APIs for modules [here](../../learn/advanced/02-core.md). diff --git a/docs/learn/beginner/00-app-anatomy.md b/docs/learn/beginner/00-app-anatomy.md index 1515799677fd..3d73c38fd837 100644 --- a/docs/learn/beginner/00-app-anatomy.md +++ b/docs/learn/beginner/00-app-anatomy.md @@ -59,7 +59,7 @@ In general, the core of the state-machine is defined in a file called `app.go`. The first thing defined in `app.go` is the `type` of the application. It is generally comprised of the following parts: -* **Embeding [runtime.App](../../build/building-apps/00-runtime.md)** The runtime package manages the application's core components and modules through dependency injection. It provides declarative configuration for module management, state storage, and ABCI handling. +* **Embedding [runtime.App](../../build/building-apps/00-runtime.md)** The runtime package manages the application's core components and modules through dependency injection. It provides declarative configuration for module management, state storage, and ABCI handling. * `Runtime` wraps `baseapp`, meaning when a transaction is relayed by CometBFT to the application, `app` uses `runtime`'s methods to route them to the appropriate module. Baseapp implements all the [ABCI methods](https://docs.cometbft.com/v1.0/spec/abci/) and the [routing logic](../advanced/00-baseapp.md#service-routers). * It configures automatically the **[module manager](../../build/building-modules/01-module-manager.md#manager)** based on the app wiring configuration. The module manager facilitates operations related to these modules, like registering their [`Msg` service](../../build/building-modules/03-msg-services.md) and [gRPC `Query` service](#grpc-query-services), or setting the order of execution between modules for various functions like [`InitChainer`](#initchainer), [`PreBlocker`](#preblocker) and [`BeginBlocker` and `EndBlocker`](#beginblocker-and-endblocker). * [**An App Wiring configuration file**](../../build/building-apps/00-runtime.md) The app wiring configuration file contains the list of application's modules that `runtime` must instantiate. The instantiation of the modules are done using `depinject`. It contains as well at which order the modules `InitGenesis`, `Pre/Begin/EndBlocker` should be executed. diff --git a/schema/type.go b/schema/type.go index bb02ea329e98..5d6a43a278a3 100644 --- a/schema/type.go +++ b/schema/type.go @@ -18,7 +18,7 @@ type Type interface { type ReferenceableType interface { Type - // isReferenceType is implemented if this is a reference type. + // isReferenceableType is implemented if this is a reference type. isReferenceableType() } From f22d2a84a1311a5659c04ea5a739ff4ab1aa7df3 Mon Sep 17 00:00:00 2001 From: son trinh Date: Mon, 16 Dec 2024 23:29:18 +0700 Subject: [PATCH 15/22] refactor(tests/integration): Port x/accounts integration tests to server v2 (#22881) --- .../integration/accounts/base_account_test.go | 118 ---------- tests/integration/accounts/fixture_test.go | 203 ---------------- .../v2/accounts/base_account_test.go | 96 ++++++++ .../{ => v2}/accounts/bundler_test.go | 0 tests/integration/v2/accounts/fixture_test.go | 219 ++++++++++++++++++ .../{ => v2}/accounts/wiring_test.go | 26 ++- tests/integration/v2/services.go | 54 ++++- 7 files changed, 381 insertions(+), 335 deletions(-) delete mode 100644 tests/integration/accounts/base_account_test.go delete mode 100644 tests/integration/accounts/fixture_test.go create mode 100644 tests/integration/v2/accounts/base_account_test.go rename tests/integration/{ => v2}/accounts/bundler_test.go (100%) create mode 100644 tests/integration/v2/accounts/fixture_test.go rename tests/integration/{ => v2}/accounts/wiring_test.go (62%) diff --git a/tests/integration/accounts/base_account_test.go b/tests/integration/accounts/base_account_test.go deleted file mode 100644 index 5f239d36c083..000000000000 --- a/tests/integration/accounts/base_account_test.go +++ /dev/null @@ -1,118 +0,0 @@ -package accounts - -import ( - "math/rand" - "testing" - - gogoproto "github.com/cosmos/gogoproto/proto" - gogoany "github.com/cosmos/gogoproto/types/any" - "github.com/stretchr/testify/require" - - "cosmossdk.io/simapp" - baseaccountv1 "cosmossdk.io/x/accounts/defaults/base/v1" - "cosmossdk.io/x/bank/testutil" - banktypes "cosmossdk.io/x/bank/types" - - codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" - cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" - "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -var ( - privKey = secp256k1.GenPrivKey() - accCreator = []byte("creator") -) - -func TestBaseAccount(t *testing.T) { - app := setupApp(t) - ak := app.AccountsKeeper - ctx := sdk.NewContext(app.CommitMultiStore(), false, app.Logger()) - - _, baseAccountAddr, err := ak.Init(ctx, "base", accCreator, &baseaccountv1.MsgInit{ - PubKey: toAnyPb(t, privKey.PubKey()), - }, nil, nil) - require.NoError(t, err) - - // fund base account! this will also cause an auth base account to be created - // by the bank module. - // TODO: fixed by letting x/auth rely on x/accounts for acc existence checks. - fundAccount(t, app, ctx, baseAccountAddr, "1000000stake") - - // now we make the account send a tx, public key not present. - // so we know it will default to x/accounts calling. - msg := &banktypes.MsgSend{ - FromAddress: bechify(t, app, baseAccountAddr), - ToAddress: bechify(t, app, []byte("random-addr")), - Amount: coins(t, "100stake"), - } - sendTx(t, ctx, app, baseAccountAddr, msg) -} - -func sendTx(t *testing.T, ctx sdk.Context, app *simapp.SimApp, sender []byte, msg sdk.Msg) { - t.Helper() - tx := sign(t, ctx, app, sender, privKey, msg) - _, _, err := app.SimDeliver(app.TxEncode, tx) - require.NoError(t, err) -} - -func sign(t *testing.T, ctx sdk.Context, app *simapp.SimApp, from sdk.AccAddress, privKey cryptotypes.PrivKey, msg sdk.Msg) sdk.Tx { - t.Helper() - r := rand.New(rand.NewSource(0)) - - accNum, err := app.AccountsKeeper.AccountByNumber.Get(ctx, from) - require.NoError(t, err) - accSeq, err := app.AccountsKeeper.Query(ctx, from, &baseaccountv1.QuerySequence{}) - require.NoError(t, err) - - tx, err := sims.GenSignedMockTx( - r, - app.TxConfig(), - []sdk.Msg{msg}, - coins(t, "100stake"), - 1_000_000, - app.ChainID(), - []uint64{accNum}, - []uint64{accSeq.(*baseaccountv1.QuerySequenceResponse).Sequence}, - privKey, - ) - - require.NoError(t, err) - return tx -} - -func bechify(t *testing.T, app *simapp.SimApp, addr []byte) string { - t.Helper() - bech32, err := app.AuthKeeper.AddressCodec().BytesToString(addr) - require.NoError(t, err) - return bech32 -} - -func fundAccount(t *testing.T, app *simapp.SimApp, ctx sdk.Context, addr sdk.AccAddress, amt string) { - t.Helper() - require.NoError(t, testutil.FundAccount(ctx, app.BankKeeper, addr, coins(t, amt))) -} - -func toAnyPb(t *testing.T, pm gogoproto.Message) *codectypes.Any { - t.Helper() - if gogoproto.MessageName(pm) == gogoproto.MessageName(&gogoany.Any{}) { - t.Fatal("no") - } - pb, err := codectypes.NewAnyWithValue(pm) - require.NoError(t, err) - return pb -} - -func coins(t *testing.T, s string) sdk.Coins { - t.Helper() - coins, err := sdk.ParseCoinsNormalized(s) - require.NoError(t, err) - return coins -} - -func setupApp(t *testing.T) *simapp.SimApp { - t.Helper() - app := simapp.Setup(t, false) - return app -} diff --git a/tests/integration/accounts/fixture_test.go b/tests/integration/accounts/fixture_test.go deleted file mode 100644 index 0cf55d6d9022..000000000000 --- a/tests/integration/accounts/fixture_test.go +++ /dev/null @@ -1,203 +0,0 @@ -package accounts - -import ( - "context" - "testing" - - gogotypes "github.com/cosmos/gogoproto/types" - "github.com/stretchr/testify/require" - - "cosmossdk.io/core/appmodule" - "cosmossdk.io/log" - storetypes "cosmossdk.io/store/types" - "cosmossdk.io/x/accounts" - "cosmossdk.io/x/accounts/accountstd" - account_abstractionv1 "cosmossdk.io/x/accounts/interfaces/account_abstraction/v1" - accountsv1 "cosmossdk.io/x/accounts/v1" - "cosmossdk.io/x/bank" - bankkeeper "cosmossdk.io/x/bank/keeper" - banktypes "cosmossdk.io/x/bank/types" - minttypes "cosmossdk.io/x/mint/types" - txdecode "cosmossdk.io/x/tx/decode" - - "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/codec" - addresscodec "github.com/cosmos/cosmos-sdk/codec/address" - codectestutil "github.com/cosmos/cosmos-sdk/codec/testutil" - "github.com/cosmos/cosmos-sdk/runtime" - "github.com/cosmos/cosmos-sdk/testutil/integration" - sdk "github.com/cosmos/cosmos-sdk/types" - moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" - "github.com/cosmos/cosmos-sdk/x/auth" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - authsims "github.com/cosmos/cosmos-sdk/x/auth/simulation" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" -) - -var _ accountstd.Interface = (*mockAccount)(nil) - -type mockAccount struct { - authenticate func(ctx context.Context, msg *account_abstractionv1.MsgAuthenticate) (*account_abstractionv1.MsgAuthenticateResponse, error) -} - -func (m mockAccount) RegisterInitHandler(builder *accountstd.InitBuilder) { - accountstd.RegisterInitHandler(builder, func(ctx context.Context, req *gogotypes.Empty) (*gogotypes.Empty, error) { - return &gogotypes.Empty{}, nil - }) -} - -func (m mockAccount) RegisterExecuteHandlers(builder *accountstd.ExecuteBuilder) { - if m.authenticate == nil { - return - } - - accountstd.RegisterExecuteHandler(builder, m.authenticate) -} - -func (m mockAccount) RegisterQueryHandlers(_ *accountstd.QueryBuilder) {} - -type fixture struct { - t *testing.T - - app *integration.App - cdc codec.Codec - - authKeeper authkeeper.AccountKeeper - accountsKeeper accounts.Keeper - bankKeeper bankkeeper.Keeper - - mockAccountAddress []byte - bundler string -} - -func (f fixture) mustAddr(address []byte) string { - s, _ := f.authKeeper.AddressCodec().BytesToString(address) - return s -} - -func (f fixture) runBundle(txBytes ...[]byte) *accountsv1.MsgExecuteBundleResponse { - f.t.Helper() - - msgSrv := accounts.NewMsgServer(f.accountsKeeper) - - resp, err := msgSrv.ExecuteBundle(f.app.Context(), &accountsv1.MsgExecuteBundle{ - Bundler: f.bundler, - Txs: txBytes, - }) - require.NoError(f.t, err) - return resp -} - -func (f fixture) mint(address []byte, coins ...sdk.Coin) { - f.t.Helper() - for _, coin := range coins { - err := f.bankKeeper.MintCoins(f.app.Context(), minttypes.ModuleName, sdk.NewCoins(coin)) - require.NoError(f.t, err) - err = f.bankKeeper.SendCoinsFromModuleToAccount(f.app.Context(), minttypes.ModuleName, address, sdk.NewCoins(coin)) - require.NoError(f.t, err) - } -} - -func (f fixture) balance(recipient, denom string) sdk.Coin { - f.t.Helper() - balances, err := f.bankKeeper.Balance(f.app.Context(), &banktypes.QueryBalanceRequest{ - Address: recipient, - Denom: denom, - }) - require.NoError(f.t, err) - return *balances.Balance -} - -func initFixture(t *testing.T, f func(ctx context.Context, msg *account_abstractionv1.MsgAuthenticate) (*account_abstractionv1.MsgAuthenticateResponse, error)) *fixture { - t.Helper() - keys := storetypes.NewKVStoreKeys( - authtypes.StoreKey, banktypes.StoreKey, accounts.StoreKey, - ) - encodingCfg := moduletestutil.MakeTestEncodingConfig(codectestutil.CodecOptions{}, auth.AppModule{}, bank.AppModule{}, accounts.AppModule{}) - cdc := encodingCfg.Codec - - logger := log.NewTestLogger(t) - router := baseapp.NewMsgServiceRouter() - queryRouter := baseapp.NewGRPCQueryRouter() - - txDecoder, err := txdecode.NewDecoder(txdecode.Options{ - SigningContext: encodingCfg.TxConfig.SigningContext(), - ProtoCodec: encodingCfg.Codec, - }) - require.NoError(t, err) - - accountsKeeper, err := accounts.NewKeeper( - cdc, - runtime.NewEnvironment(runtime.NewKVStoreService(keys[accounts.StoreKey]), log.NewNopLogger(), runtime.EnvWithQueryRouterService(queryRouter), runtime.EnvWithMsgRouterService(router)), - addresscodec.NewBech32Codec("cosmos"), - cdc.InterfaceRegistry(), - txDecoder, - accountstd.AddAccount("mock", func(deps accountstd.Dependencies) (accountstd.Interface, error) { - return mockAccount{f}, nil - }), - ) - require.NoError(t, err) - accountsv1.RegisterQueryServer(queryRouter, accounts.NewQueryServer(accountsKeeper)) - - authority := authtypes.NewModuleAddress("gov") - - authKeeper := authkeeper.NewAccountKeeper( - runtime.NewEnvironment(runtime.NewKVStoreService(keys[authtypes.StoreKey]), log.NewNopLogger()), - cdc, - authtypes.ProtoBaseAccount, - accountsKeeper, - map[string][]string{minttypes.ModuleName: {authtypes.Minter}}, - addresscodec.NewBech32Codec(sdk.Bech32MainPrefix), - sdk.Bech32MainPrefix, - authority.String(), - ) - - blockedAddresses := map[string]bool{ - authKeeper.GetAuthority(): false, - } - bankKeeper := bankkeeper.NewBaseKeeper( - runtime.NewEnvironment(runtime.NewKVStoreService(keys[banktypes.StoreKey]), log.NewNopLogger()), - cdc, - authKeeper, - blockedAddresses, - authority.String(), - ) - - accountsModule := accounts.NewAppModule(cdc, accountsKeeper) - authModule := auth.NewAppModule(cdc, authKeeper, accountsKeeper, authsims.RandomGenesisAccounts, nil) - bankModule := bank.NewAppModule(cdc, bankKeeper, authKeeper) - - integrationApp := integration.NewIntegrationApp(logger, keys, cdc, - encodingCfg.InterfaceRegistry.SigningContext().AddressCodec(), - encodingCfg.InterfaceRegistry.SigningContext().ValidatorAddressCodec(), - map[string]appmodule.AppModule{ - accounts.ModuleName: accountsModule, - authtypes.ModuleName: authModule, - banktypes.ModuleName: bankModule, - }, router, queryRouter) - - authtypes.RegisterInterfaces(cdc.InterfaceRegistry()) - banktypes.RegisterInterfaces(cdc.InterfaceRegistry()) - - authtypes.RegisterMsgServer(integrationApp.MsgServiceRouter(), authkeeper.NewMsgServerImpl(authKeeper)) - authtypes.RegisterQueryServer(integrationApp.QueryHelper(), authkeeper.NewQueryServer(authKeeper)) - - banktypes.RegisterMsgServer(router, bankkeeper.NewMsgServerImpl(bankKeeper)) - - // init account - _, addr, err := accountsKeeper.Init(integrationApp.Context(), "mock", []byte("system"), &gogotypes.Empty{}, nil, nil) - require.NoError(t, err) - - fixture := &fixture{ - t: t, - app: integrationApp, - cdc: cdc, - authKeeper: authKeeper, - accountsKeeper: accountsKeeper, - bankKeeper: bankKeeper, - mockAccountAddress: addr, - bundler: "", - } - fixture.bundler = fixture.mustAddr([]byte("bundler")) - return fixture -} diff --git a/tests/integration/v2/accounts/base_account_test.go b/tests/integration/v2/accounts/base_account_test.go new file mode 100644 index 000000000000..4aa4610ce883 --- /dev/null +++ b/tests/integration/v2/accounts/base_account_test.go @@ -0,0 +1,96 @@ +package accounts + +import ( + "context" + "testing" + + gogoproto "github.com/cosmos/gogoproto/proto" + gogoany "github.com/cosmos/gogoproto/types/any" + "github.com/stretchr/testify/require" + + "cosmossdk.io/x/accounts" + baseaccountv1 "cosmossdk.io/x/accounts/defaults/base/v1" + bankkeeper "cosmossdk.io/x/bank/keeper" + "cosmossdk.io/x/bank/testutil" + banktypes "cosmossdk.io/x/bank/types" + + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + "github.com/cosmos/cosmos-sdk/tests/integration/v2" + sdk "github.com/cosmos/cosmos-sdk/types" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" +) + +var ( + privKey = secp256k1.GenPrivKey() + accCreator = []byte("creator") +) + +func TestBaseAccount(t *testing.T) { + f := initFixture(t, nil) + app := f.app + ctx := f.ctx + + _, baseAccountAddr, err := f.accountsKeeper.Init(ctx, "base", accCreator, &baseaccountv1.MsgInit{ + PubKey: toAnyPb(t, privKey.PubKey()), + }, nil, nil) + require.NoError(t, err) + + // fund base account! this will also cause an auth base account to be created + // by the bank module. + fundAccount(t, f.bankKeeper, ctx, baseAccountAddr, "1000000stake") + + // now we make the account send a tx, public key not present. + // so we know it will default to x/accounts calling. + msg := &banktypes.MsgSend{ + FromAddress: bechify(t, f.authKeeper, baseAccountAddr), + ToAddress: bechify(t, f.authKeeper, []byte("random-addr")), + Amount: coins(t, "100stake"), + } + sendTx(t, ctx, app, f.accountsKeeper, baseAccountAddr, msg) +} + +func sendTx(t *testing.T, ctx context.Context, app *integration.App, ak accounts.Keeper, sender []byte, msg sdk.Msg) { + t.Helper() + accNum, err := ak.AccountByNumber.Get(ctx, sender) + require.NoError(t, err) + + accSeq, err := ak.Query(ctx, sender, &baseaccountv1.QuerySequence{}) + require.NoError(t, err) + + app.SignCheckDeliver( + t, ctx, []sdk.Msg{msg}, "", []uint64{accNum}, []uint64{accSeq.(*baseaccountv1.QuerySequenceResponse).Sequence}, + []cryptotypes.PrivKey{privKey}, + "", + ) +} + +func bechify(t *testing.T, ak authkeeper.AccountKeeper, addr []byte) string { + t.Helper() + bech32, err := ak.AddressCodec().BytesToString(addr) + require.NoError(t, err) + return bech32 +} + +func fundAccount(t *testing.T, bk bankkeeper.Keeper, ctx context.Context, addr sdk.AccAddress, amt string) { + t.Helper() + require.NoError(t, testutil.FundAccount(ctx, bk, addr, coins(t, amt))) +} + +func toAnyPb(t *testing.T, pm gogoproto.Message) *codectypes.Any { + t.Helper() + if gogoproto.MessageName(pm) == gogoproto.MessageName(&gogoany.Any{}) { + t.Fatal("no") + } + pb, err := codectypes.NewAnyWithValue(pm) + require.NoError(t, err) + return pb +} + +func coins(t *testing.T, s string) sdk.Coins { + t.Helper() + coins, err := sdk.ParseCoinsNormalized(s) + require.NoError(t, err) + return coins +} diff --git a/tests/integration/accounts/bundler_test.go b/tests/integration/v2/accounts/bundler_test.go similarity index 100% rename from tests/integration/accounts/bundler_test.go rename to tests/integration/v2/accounts/bundler_test.go diff --git a/tests/integration/v2/accounts/fixture_test.go b/tests/integration/v2/accounts/fixture_test.go new file mode 100644 index 000000000000..2a9a5c9aada7 --- /dev/null +++ b/tests/integration/v2/accounts/fixture_test.go @@ -0,0 +1,219 @@ +package accounts + +import ( + "context" + "testing" + + gogotypes "github.com/cosmos/gogoproto/types" + "github.com/stretchr/testify/require" + + "cosmossdk.io/core/router" + "cosmossdk.io/core/transaction" + "cosmossdk.io/depinject" + "cosmossdk.io/log" + "cosmossdk.io/runtime/v2" + "cosmossdk.io/x/accounts" + "cosmossdk.io/x/accounts/accountstd" + basedepinject "cosmossdk.io/x/accounts/defaults/base/depinject" + account_abstractionv1 "cosmossdk.io/x/accounts/interfaces/account_abstraction/v1" + counteraccount "cosmossdk.io/x/accounts/testing/counter" + accountsv1 "cosmossdk.io/x/accounts/v1" + "cosmossdk.io/x/bank" + bankkeeper "cosmossdk.io/x/bank/keeper" + banktypes "cosmossdk.io/x/bank/types" + _ "cosmossdk.io/x/consensus" // import as blank for app wiring + minttypes "cosmossdk.io/x/mint/types" + _ "cosmossdk.io/x/staking" // import as blank for app wirings + + "github.com/cosmos/cosmos-sdk/codec" + codectestutil "github.com/cosmos/cosmos-sdk/codec/testutil" + "github.com/cosmos/cosmos-sdk/tests/integration/v2" + "github.com/cosmos/cosmos-sdk/testutil/configurator" + sdk "github.com/cosmos/cosmos-sdk/types" + moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" + "github.com/cosmos/cosmos-sdk/x/auth" + authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" + _ "github.com/cosmos/cosmos-sdk/x/auth/tx/config" // import as blank for app wiring`` + _ "github.com/cosmos/cosmos-sdk/x/auth/vesting" // import as blank for app wiring + _ "github.com/cosmos/cosmos-sdk/x/genutil" // import as blank for app wiring +) + +var _ accountstd.Interface = (*mockAccount)(nil) + +type mockAccount struct { + authenticate authentiacteFunc +} + +func (m mockAccount) RegisterInitHandler(builder *accountstd.InitBuilder) { + accountstd.RegisterInitHandler(builder, func(ctx context.Context, req *gogotypes.Empty) (*gogotypes.Empty, error) { + return &gogotypes.Empty{}, nil + }) +} + +func (m mockAccount) RegisterExecuteHandlers(builder *accountstd.ExecuteBuilder) { + if m.authenticate == nil { + return + } + + accountstd.RegisterExecuteHandler(builder, m.authenticate) +} + +func (m mockAccount) RegisterQueryHandlers(_ *accountstd.QueryBuilder) {} + +func ProvideMockAccount(f authentiacteFunc) accountstd.DepinjectAccount { + return accountstd.DepinjectAccount{MakeAccount: func(_ accountstd.Dependencies) (string, accountstd.Interface, error) { + return "mock", mockAccount{f}, nil + }} +} + +type authentiacteFunc = func(ctx context.Context, msg *account_abstractionv1.MsgAuthenticate) (*account_abstractionv1.MsgAuthenticateResponse, error) + +type fixture struct { + t *testing.T + + app *integration.App + cdc codec.Codec + ctx context.Context + + authKeeper authkeeper.AccountKeeper + accountsKeeper accounts.Keeper + bankKeeper bankkeeper.Keeper + + mockAccountAddress []byte + bundler string +} + +func (f fixture) mustAddr(address []byte) string { + s, _ := f.authKeeper.AddressCodec().BytesToString(address) + return s +} + +func (f fixture) runBundle(txBytes ...[]byte) *accountsv1.MsgExecuteBundleResponse { + f.t.Helper() + + msgSrv := accounts.NewMsgServer(f.accountsKeeper) + + resp, err := msgSrv.ExecuteBundle(f.ctx, &accountsv1.MsgExecuteBundle{ + Bundler: f.bundler, + Txs: txBytes, + }) + require.NoError(f.t, err) + return resp +} + +func (f fixture) mint(address []byte, coins ...sdk.Coin) { + f.t.Helper() + for _, coin := range coins { + err := f.bankKeeper.MintCoins(f.ctx, minttypes.ModuleName, sdk.NewCoins(coin)) + require.NoError(f.t, err) + err = f.bankKeeper.SendCoinsFromModuleToAccount(f.ctx, minttypes.ModuleName, address, sdk.NewCoins(coin)) + require.NoError(f.t, err) + } +} + +func (f fixture) balance(recipient, denom string) sdk.Coin { + f.t.Helper() + balances, err := f.bankKeeper.Balance(f.ctx, &banktypes.QueryBalanceRequest{ + Address: recipient, + Denom: denom, + }) + require.NoError(f.t, err) + return *balances.Balance +} + +func initFixture(t *testing.T, f authentiacteFunc) *fixture { + t.Helper() + + fixture := &fixture{} + fixture.t = t + encodingCfg := moduletestutil.MakeTestEncodingConfig(codectestutil.CodecOptions{}, auth.AppModule{}, bank.AppModule{}, accounts.AppModule{}) + cdc := encodingCfg.Codec + + moduleConfigs := []configurator.ModuleOption{ + configurator.AccountsModule(), + configurator.AuthModule(), + configurator.BankModule(), + configurator.VestingModule(), + configurator.StakingModule(), + configurator.TxModule(), + configurator.ValidateModule(), + configurator.ConsensusModule(), + configurator.GenutilModule(), + } + + var err error + startupCfg := integration.DefaultStartUpConfig(t) + + msgRouterService := integration.NewRouterService() + fixture.registerMsgRouterService(msgRouterService) + + var routerFactory runtime.RouterServiceFactory = func(_ []byte) router.Service { + return msgRouterService + } + + queryRouterService := integration.NewRouterService() + fixture.registerQueryRouterService(queryRouterService) + + serviceBuilder := runtime.NewRouterBuilder(routerFactory, queryRouterService) + + startupCfg.BranchService = &integration.BranchService{} + startupCfg.RouterServiceBuilder = serviceBuilder + startupCfg.HeaderService = &integration.HeaderService{} + startupCfg.GasService = &integration.GasService{} + + fixture.app, err = integration.NewApp( + depinject.Configs(configurator.NewAppV2Config(moduleConfigs...), depinject.Provide( + // inject desired account types: + basedepinject.ProvideAccount, + + // provide base account options + basedepinject.ProvideSecp256K1PubKey, + + ProvideMockAccount, + counteraccount.ProvideAccount, + ), depinject.Supply(log.NewNopLogger(), f)), + startupCfg, + &fixture.bankKeeper, &fixture.accountsKeeper, &fixture.authKeeper, &fixture.cdc) + require.NoError(t, err) + + fixture.ctx = fixture.app.StateLatestContext(t) + + // init account + _, addr, err := fixture.accountsKeeper.Init(fixture.ctx, "mock", []byte("system"), &gogotypes.Empty{}, nil, nil) + require.NoError(t, err) + + fixture.cdc = cdc + fixture.mockAccountAddress = addr + fixture.bundler = fixture.mustAddr([]byte("bundler")) + return fixture +} + +func (f *fixture) registerMsgRouterService(router *integration.RouterService) { + // register custom router service + bankSendHandler := func(ctx context.Context, req transaction.Msg) (transaction.Msg, error) { + msg, ok := req.(*banktypes.MsgSend) + if !ok { + return nil, integration.ErrInvalidMsgType + } + msgServer := bankkeeper.NewMsgServerImpl(f.bankKeeper) + resp, err := msgServer.Send(ctx, msg) + return resp, err + } + + router.RegisterHandler(bankSendHandler, "cosmos.bank.v1beta1.MsgSend") +} + +func (f *fixture) registerQueryRouterService(router *integration.RouterService) { + // register custom router service + queryHandler := func(ctx context.Context, msg transaction.Msg) (transaction.Msg, error) { + req, ok := msg.(*accountsv1.AccountNumberRequest) + if !ok { + return nil, integration.ErrInvalidMsgType + } + qs := accounts.NewQueryServer(f.accountsKeeper) + resp, err := qs.AccountNumber(ctx, req) + return resp, err + } + + router.RegisterHandler(queryHandler, "cosmos.accounts.v1.AccountNumberRequest") +} diff --git a/tests/integration/accounts/wiring_test.go b/tests/integration/v2/accounts/wiring_test.go similarity index 62% rename from tests/integration/accounts/wiring_test.go rename to tests/integration/v2/accounts/wiring_test.go index 3d0a8ed0b5b4..649d990f8d05 100644 --- a/tests/integration/accounts/wiring_test.go +++ b/tests/integration/v2/accounts/wiring_test.go @@ -6,10 +6,11 @@ import ( "github.com/stretchr/testify/require" "cosmossdk.io/core/header" - storetypes "cosmossdk.io/store/types" + stfgas "cosmossdk.io/server/v2/stf/gas" counterv1 "cosmossdk.io/x/accounts/testing/counter/v1" "cosmossdk.io/x/bank/testutil" + "github.com/cosmos/cosmos-sdk/tests/integration/v2" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -21,21 +22,21 @@ import ( // - gas service // - funds func TestDependencies(t *testing.T) { - app := setupApp(t) - ak := app.AccountsKeeper - ctx := sdk.NewContext(app.CommitMultiStore(), false, app.Logger()).WithHeaderInfo(header.Info{ChainID: "chain-id"}) - ctx = ctx.WithGasMeter(storetypes.NewGasMeter(500_000)) + f := initFixture(t, nil) + ctx := f.ctx + ctx = integration.SetHeaderInfo(ctx, header.Info{ChainID: "chain-id"}) + ctx = integration.SetGasMeter(ctx, stfgas.DefaultGasMeter(500_000)) - _, counterAddr, err := ak.Init(ctx, "counter", accCreator, &counterv1.MsgInit{ + _, counterAddr, err := f.accountsKeeper.Init(ctx, "counter", accCreator, &counterv1.MsgInit{ InitialValue: 0, }, nil, nil) require.NoError(t, err) // test dependencies creatorInitFunds := sdk.NewCoins(sdk.NewInt64Coin("stake", 100_000)) - err = testutil.FundAccount(ctx, app.BankKeeper, accCreator, creatorInitFunds) + err = testutil.FundAccount(ctx, f.bankKeeper, accCreator, creatorInitFunds) require.NoError(t, err) sentFunds := sdk.NewCoins(sdk.NewInt64Coin("stake", 50_000)) - r, err := ak.Execute( + r, err := f.accountsKeeper.Execute( ctx, counterAddr, accCreator, @@ -50,18 +51,19 @@ func TestDependencies(t *testing.T) { require.NotZero(t, res.AfterGas) require.Equal(t, int(uint64(10)), int(res.AfterGas-res.BeforeGas)) + headerInfo := integration.HeaderInfoFromContext(ctx) // test header service - require.Equal(t, ctx.HeaderInfo().ChainID, res.ChainId) + require.Equal(t, headerInfo.ChainID, res.ChainId) // test address codec - wantAddr, err := app.AuthKeeper.AddressCodec().BytesToString(counterAddr) + wantAddr, err := f.authKeeper.AddressCodec().BytesToString(counterAddr) require.NoError(t, err) require.Equal(t, wantAddr, res.Address) // test funds - creatorFunds := app.BankKeeper.GetAllBalances(ctx, accCreator) + creatorFunds := f.bankKeeper.GetAllBalances(ctx, accCreator) require.Equal(t, creatorInitFunds.Sub(sentFunds...), creatorFunds) - accFunds := app.BankKeeper.GetAllBalances(ctx, counterAddr) + accFunds := f.bankKeeper.GetAllBalances(ctx, counterAddr) require.Equal(t, sentFunds, accFunds) } diff --git a/tests/integration/v2/services.go b/tests/integration/v2/services.go index f608fd65fdb0..f8c27ff12666 100644 --- a/tests/integration/v2/services.go +++ b/tests/integration/v2/services.go @@ -21,6 +21,7 @@ import ( corestore "cosmossdk.io/core/store" "cosmossdk.io/core/transaction" "cosmossdk.io/server/v2/stf" + stfbranch "cosmossdk.io/server/v2/stf/branch" stfgas "cosmossdk.io/server/v2/stf/gas" ) @@ -139,6 +140,15 @@ func GasMeterFactory(ctx context.Context) func() gas.Meter { } } +func SetGasMeter(ctx context.Context, meter gas.Meter) context.Context { + iCtx, ok := ctx.Value(contextKey).(*integrationContext) + if !ok { + return ctx + } + iCtx.gasMeter = meter + return context.WithValue(ctx, contextKey, iCtx) +} + func (s storeService) OpenKVStore(ctx context.Context) corestore.KVStore { const gasLimit = 100_000 iCtx, ok := ctx.Value(contextKey).(*integrationContext) @@ -244,15 +254,55 @@ func (bs *BranchService) ExecuteWithGasLimit( return 0, errors.New("context is not an integration context") } + originalGasMeter := iCtx.gasMeter + + iCtx.gasMeter = stfgas.DefaultGasMeter(gasLimit) + // execute branched, with predefined gas limit. - err = f(ctx) + err = bs.execute(ctx, iCtx, f) + // restore original context gasUsed = iCtx.gasMeter.Limit() - iCtx.gasMeter.Remaining() - _ = iCtx.gasMeter.Consume(gasUsed, "execute-with-gas-limit") + _ = originalGasMeter.Consume(gasUsed, "execute-with-gas-limit") + iCtx.gasMeter = stfgas.DefaultGasMeter(originalGasMeter.Remaining()) return gasUsed, err } +func (bs BranchService) execute(ctx context.Context, ictx *integrationContext, f func(ctx context.Context) error) error { + branchedState := stfbranch.DefaultNewWriterMap(ictx.state) + meteredBranchedState := stfgas.DefaultWrapWithGasMeter(ictx.gasMeter, branchedState) + + branchedCtx := &integrationContext{ + state: meteredBranchedState, + gasMeter: ictx.gasMeter, + header: ictx.header, + events: ictx.events, + } + + newCtx := context.WithValue(ctx, contextKey, branchedCtx) + + err := f(newCtx) + if err != nil { + return err + } + + err = applyStateChanges(ictx.state, branchedCtx.state) + if err != nil { + return err + } + + return nil +} + +func applyStateChanges(dst, src corestore.WriterMap) error { + changes, err := src.GetStateChanges() + if err != nil { + return err + } + return dst.ApplyStateChanges(changes) +} + // msgTypeURL returns the TypeURL of a proto message. func msgTypeURL(msg gogoproto.Message) string { return gogoproto.MessageName(msg) From c6b1bdcd5628e3e425a3f02881d3c7db1d7af653 Mon Sep 17 00:00:00 2001 From: Alexander Peters Date: Mon, 16 Dec 2024 18:04:52 +0100 Subject: [PATCH 16/22] fix: Limit recursion depth for unknown field detection and unpack any (#22901) --- CHANGELOG.md | 1 - codec/types/interface_registry.go | 56 +++++++++++++++++++++++++++- codec/unknownproto/unknown_fields.go | 18 ++++++++- x/tx/CHANGELOG.md | 2 +- x/tx/decode/unknown.go | 18 ++++++++- 5 files changed, 87 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09bef4b4a38e..22f663ee1d68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,7 +55,6 @@ Every module contains its own CHANGELOG.md. Please refer to the module you are i * [#22826](https://github.com/cosmos/cosmos-sdk/pull/22826) Simplify testing frameworks by removing `testutil/cmdtest`. ### Bug Fixes - * (sims) [#21906](https://github.com/cosmos/cosmos-sdk/pull/21906) Skip sims test when running dry on validators * (cli) [#21919](https://github.com/cosmos/cosmos-sdk/pull/21919) Query address-by-acc-num by account_id instead of id. * (cli) [#22656](https://github.com/cosmos/cosmos-sdk/pull/22656) Prune cmd should disable async pruning. diff --git a/codec/types/interface_registry.go b/codec/types/interface_registry.go index 04c94c4394a9..34d59bd33a46 100644 --- a/codec/types/interface_registry.go +++ b/codec/types/interface_registry.go @@ -15,6 +15,17 @@ import ( "cosmossdk.io/x/tx/signing" ) +var ( + + // MaxUnpackAnySubCalls extension point that defines the maximum number of sub-calls allowed during the unpacking + // process of protobuf Any messages. + MaxUnpackAnySubCalls = 100 + + // MaxUnpackAnyRecursionDepth extension point that defines the maximum allowed recursion depth during protobuf Any + // message unpacking. + MaxUnpackAnyRecursionDepth = 10 +) + // UnpackInterfaces is a convenience function that calls UnpackInterfaces // on x if x implements UnpackInterfacesMessage func UnpackInterfaces(x interface{}, unpacker gogoprotoany.AnyUnpacker) error { @@ -230,6 +241,45 @@ func (registry *interfaceRegistry) ListImplementations(ifaceName string) []strin } func (registry *interfaceRegistry) UnpackAny(any *Any, iface interface{}) error { + unpacker := &statefulUnpacker{ + registry: registry, + maxDepth: MaxUnpackAnyRecursionDepth, + maxCalls: &sharedCounter{count: MaxUnpackAnySubCalls}, + } + return unpacker.UnpackAny(any, iface) +} + +// sharedCounter is a type that encapsulates a counter value +type sharedCounter struct { + count int +} + +// statefulUnpacker is a struct that helps in deserializing and unpacking +// protobuf Any messages while maintaining certain stateful constraints. +type statefulUnpacker struct { + registry *interfaceRegistry + maxDepth int + maxCalls *sharedCounter +} + +// cloneForRecursion returns a new statefulUnpacker instance with maxDepth reduced by one, preserving the registry and maxCalls. +func (r statefulUnpacker) cloneForRecursion() *statefulUnpacker { + return &statefulUnpacker{ + registry: r.registry, + maxDepth: r.maxDepth - 1, + maxCalls: r.maxCalls, + } +} + +// UnpackAny deserializes a protobuf Any message into the provided interface, ensuring the interface is a pointer. +// It applies stateful constraints such as max depth and call limits, and unpacks interfaces if required. +func (r *statefulUnpacker) UnpackAny(any *Any, iface interface{}) error { + if r.maxDepth == 0 { + return errors.New("max depth exceeded") + } + if r.maxCalls.count == 0 { + return errors.New("call limit exceeded") + } // here we gracefully handle the case in which `any` itself is `nil`, which may occur in message decoding if any == nil { return nil @@ -240,6 +290,8 @@ func (registry *interfaceRegistry) UnpackAny(any *Any, iface interface{}) error return nil } + r.maxCalls.count-- + rv := reflect.ValueOf(iface) if rv.Kind() != reflect.Ptr { return errors.New("UnpackAny expects a pointer") @@ -255,7 +307,7 @@ func (registry *interfaceRegistry) UnpackAny(any *Any, iface interface{}) error } } - imap, found := registry.interfaceImpls[rt] + imap, found := r.registry.interfaceImpls[rt] if !found { return fmt.Errorf("no registered implementations of type %+v", rt) } @@ -277,7 +329,7 @@ func (registry *interfaceRegistry) UnpackAny(any *Any, iface interface{}) error return err } - err = UnpackInterfaces(msg, registry) + err = UnpackInterfaces(msg, r.cloneForRecursion()) if err != nil { return err } diff --git a/codec/unknownproto/unknown_fields.go b/codec/unknownproto/unknown_fields.go index 07759456e296..17b8f7e424ee 100644 --- a/codec/unknownproto/unknown_fields.go +++ b/codec/unknownproto/unknown_fields.go @@ -40,9 +40,23 @@ func RejectUnknownFieldsStrict(bz []byte, msg proto.Message, resolver jsonpb.Any // This function traverses inside of messages nested via google.protobuf.Any. It does not do any deserialization of the proto.Message. // An AnyResolver must be provided for traversing inside google.protobuf.Any's. func RejectUnknownFields(bz []byte, msg proto.Message, allowUnknownNonCriticals bool, resolver jsonpb.AnyResolver) (hasUnknownNonCriticals bool, err error) { + // recursion limit with same default as https://github.com/protocolbuffers/protobuf-go/blob/v1.35.2/encoding/protowire/wire.go#L28 + return doRejectUnknownFields(bz, msg, allowUnknownNonCriticals, resolver, 10_000) +} + +func doRejectUnknownFields( + bz []byte, + msg proto.Message, + allowUnknownNonCriticals bool, + resolver jsonpb.AnyResolver, + recursionLimit int, +) (hasUnknownNonCriticals bool, err error) { if len(bz) == 0 { return hasUnknownNonCriticals, nil } + if recursionLimit == 0 { + return false, errors.New("recursion limit reached") + } fieldDescProtoFromTagNum, _, err := getDescriptorInfo(msg) if err != nil { @@ -125,7 +139,7 @@ func RejectUnknownFields(bz []byte, msg proto.Message, allowUnknownNonCriticals if protoMessageName == ".google.protobuf.Any" { // Firstly typecheck types.Any to ensure nothing snuck in. - hasUnknownNonCriticalsChild, err := RejectUnknownFields(fieldBytes, (*types.Any)(nil), allowUnknownNonCriticals, resolver) + hasUnknownNonCriticalsChild, err := doRejectUnknownFields(fieldBytes, (*types.Any)(nil), allowUnknownNonCriticals, resolver, recursionLimit-1) hasUnknownNonCriticals = hasUnknownNonCriticals || hasUnknownNonCriticalsChild if err != nil { return hasUnknownNonCriticals, err @@ -148,7 +162,7 @@ func RejectUnknownFields(bz []byte, msg proto.Message, allowUnknownNonCriticals } } - hasUnknownNonCriticalsChild, err := RejectUnknownFields(fieldBytes, msg, allowUnknownNonCriticals, resolver) + hasUnknownNonCriticalsChild, err := doRejectUnknownFields(fieldBytes, msg, allowUnknownNonCriticals, resolver, recursionLimit-1) hasUnknownNonCriticals = hasUnknownNonCriticals || hasUnknownNonCriticalsChild if err != nil { return hasUnknownNonCriticals, err diff --git a/x/tx/CHANGELOG.md b/x/tx/CHANGELOG.md index edec82e4efcf..958cd9ac19b4 100644 --- a/x/tx/CHANGELOG.md +++ b/x/tx/CHANGELOG.md @@ -33,7 +33,7 @@ Since v0.13.0, x/tx follows Cosmos SDK semver: https://github.com/cosmos/cosmos- ## [Unreleased] -## [v1.0.0-alpha.3](https://github.com/cosmos/cosmos-sdk/releases/tag/x/tx/v1.0.0-alpha.3) - 2024-12-12 +## [v1.0.0-alpha.3](https://github.com/cosmos/cosmos-sdk/releases/tag/x/tx/v1.0.0-alpha.3) - 2024-12-16 ### Bug Fixes diff --git a/x/tx/decode/unknown.go b/x/tx/decode/unknown.go index cd0ed0ba7aa1..3a30ef898776 100644 --- a/x/tx/decode/unknown.go +++ b/x/tx/decode/unknown.go @@ -33,9 +33,23 @@ func RejectUnknownFieldsStrict(bz []byte, msg protoreflect.MessageDescriptor, re // This function traverses inside of messages nested via google.protobuf.Any. It does not do any deserialization of the proto.Message. // An AnyResolver must be provided for traversing inside google.protobuf.Any's. func RejectUnknownFields(bz []byte, desc protoreflect.MessageDescriptor, allowUnknownNonCriticals bool, resolver protodesc.Resolver) (hasUnknownNonCriticals bool, err error) { + // recursion limit with same default as https://github.com/protocolbuffers/protobuf-go/blob/v1.35.2/encoding/protowire/wire.go#L28 + return doRejectUnknownFields(bz, desc, allowUnknownNonCriticals, resolver, 10_000) +} + +func doRejectUnknownFields( + bz []byte, + desc protoreflect.MessageDescriptor, + allowUnknownNonCriticals bool, + resolver protodesc.Resolver, + recursionLimit int, +) (hasUnknownNonCriticals bool, err error) { if len(bz) == 0 { return hasUnknownNonCriticals, nil } + if recursionLimit == 0 { + return false, errors.New("recursion limit reached") + } fields := desc.Fields() @@ -111,7 +125,7 @@ func RejectUnknownFields(bz []byte, desc protoreflect.MessageDescriptor, allowUn if fieldMessage.FullName() == anyFullName { // Firstly typecheck types.Any to ensure nothing snuck in. - hasUnknownNonCriticalsChild, err := RejectUnknownFields(fieldBytes, anyDesc, allowUnknownNonCriticals, resolver) + hasUnknownNonCriticalsChild, err := doRejectUnknownFields(fieldBytes, anyDesc, allowUnknownNonCriticals, resolver, recursionLimit-1) hasUnknownNonCriticals = hasUnknownNonCriticals || hasUnknownNonCriticalsChild if err != nil { return hasUnknownNonCriticals, err @@ -131,7 +145,7 @@ func RejectUnknownFields(bz []byte, desc protoreflect.MessageDescriptor, allowUn fieldBytes = a.Value } - hasUnknownNonCriticalsChild, err := RejectUnknownFields(fieldBytes, fieldMessage, allowUnknownNonCriticals, resolver) + hasUnknownNonCriticalsChild, err := doRejectUnknownFields(fieldBytes, fieldMessage, allowUnknownNonCriticals, resolver, recursionLimit-1) hasUnknownNonCriticals = hasUnknownNonCriticals || hasUnknownNonCriticalsChild if err != nil { return hasUnknownNonCriticals, err From f14cbd25849ee69a753a6a96046e58d71c735aa3 Mon Sep 17 00:00:00 2001 From: Alex | Skip Date: Mon, 16 Dec 2024 14:32:13 -0500 Subject: [PATCH 17/22] refactor(x/validate): add `nil` protection (#22902) --- x/validate/module.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/x/validate/module.go b/x/validate/module.go index f547e63fe085..2de32508591c 100644 --- a/x/validate/module.go +++ b/x/validate/module.go @@ -57,6 +57,10 @@ func (a AppModule) TxValidator(ctx context.Context, tx transaction.Tx) error { } } + if a.feeTxValidator == nil { + panic("feeTxValidator cannot be nil") + } + if err := a.feeTxValidator.ValidateTx(ctx, tx); err != nil { return err } From ee5da1a70d7a706fca23c81e869508373dbd0d51 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 16 Dec 2024 20:35:53 +0100 Subject: [PATCH 18/22] chore: package release prep (2/n) (#22885) --- client/v2/go.mod | 9 ++++----- client/v2/go.sum | 14 ++++++++------ core/testing/CHANGELOG.md | 2 ++ core/testing/go.mod | 2 +- core/testing/go.sum | 4 ++-- go.mod | 9 ++++----- go.sum | 14 ++++++++------ indexer/postgres/go.mod | 4 +--- indexer/postgres/go.sum | 2 ++ indexer/postgres/tests/go.mod | 11 +++++------ indexer/postgres/tests/go.sum | 2 ++ runtime/v2/go.mod | 5 ++--- runtime/v2/go.sum | 6 ++++-- schema/testing/CHANGELOG.md | 6 ++++++ schema/testing/go.mod | 4 +--- schema/testing/go.sum | 2 ++ server/v2/cometbft/go.mod | 10 ++++------ server/v2/cometbft/go.sum | 12 ++++++++---- server/v2/go.mod | 4 ++-- server/v2/go.sum | 8 ++++---- simapp/go.mod | 10 ++++------ simapp/go.sum | 12 ++++++++---- simapp/v2/go.mod | 10 ++++------ simapp/v2/go.sum | 12 ++++++++---- store/v2/go.mod | 6 ++---- store/v2/go.sum | 10 ++++++---- tests/go.mod | 11 ++++------- tests/go.sum | 10 ++++++++-- tools/benchmark/go.mod | 9 ++++----- tools/benchmark/go.sum | 14 ++++++++------ x/accounts/defaults/base/go.mod | 9 ++++----- x/accounts/defaults/base/go.sum | 14 ++++++++------ x/accounts/defaults/lockup/go.mod | 9 ++++----- x/accounts/defaults/lockup/go.sum | 14 ++++++++------ x/accounts/defaults/multisig/go.mod | 9 ++++----- x/accounts/defaults/multisig/go.sum | 14 ++++++++------ x/accounts/go.mod | 9 ++++----- x/accounts/go.sum | 14 ++++++++------ x/authz/go.mod | 9 ++++----- x/authz/go.sum | 14 ++++++++------ x/bank/go.mod | 13 +++++-------- x/bank/go.sum | 14 ++++++++------ x/circuit/go.mod | 9 ++++----- x/circuit/go.sum | 14 ++++++++------ x/consensus/go.mod | 9 ++++----- x/consensus/go.sum | 14 ++++++++------ x/distribution/go.mod | 9 ++++----- x/distribution/go.sum | 14 ++++++++------ x/epochs/go.mod | 9 ++++----- x/epochs/go.sum | 14 ++++++++------ x/evidence/go.mod | 9 ++++----- x/evidence/go.sum | 14 ++++++++------ x/feegrant/go.mod | 9 ++++----- x/feegrant/go.sum | 14 ++++++++------ x/gov/go.mod | 9 ++++----- x/gov/go.sum | 14 ++++++++------ x/group/go.mod | 9 ++++----- x/group/go.sum | 14 ++++++++------ x/mint/go.mod | 9 ++++----- x/mint/go.sum | 14 ++++++++------ x/nft/go.mod | 9 ++++----- x/nft/go.sum | 14 ++++++++------ x/params/go.mod | 9 ++++----- x/params/go.sum | 14 ++++++++------ x/protocolpool/go.mod | 9 ++++----- x/protocolpool/go.sum | 14 ++++++++------ x/slashing/go.mod | 9 ++++----- x/slashing/go.sum | 14 ++++++++------ x/staking/go.mod | 13 +++++-------- x/staking/go.sum | 14 ++++++++------ x/upgrade/go.mod | 9 ++++----- x/upgrade/go.sum | 14 ++++++++------ 72 files changed, 382 insertions(+), 343 deletions(-) diff --git a/client/v2/go.mod b/client/v2/go.mod index d83a927dd0f3..6cdb971671df 100644 --- a/client/v2/go.mod +++ b/client/v2/go.mod @@ -33,13 +33,13 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e // indirect + cosmossdk.io/collections v1.0.0-rc.1 // indirect + cosmossdk.io/core/testing v0.0.1 // indirect cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect + cosmossdk.io/schema v1.0.0 // indirect + cosmossdk.io/store v1.10.0-rc.1 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -179,7 +179,6 @@ replace github.com/cosmos/cosmos-sdk => ./../../ // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ./../../store cosmossdk.io/x/bank => ./../../x/bank cosmossdk.io/x/staking => ./../../x/staking ) diff --git a/client/v2/go.sum b/client/v2/go.sum index ec732719eb37..973f0ba8b63b 100644 --- a/client/v2/go.sum +++ b/client/v2/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/core/testing/CHANGELOG.md b/core/testing/CHANGELOG.md index 52646803689d..6c22238dae05 100644 --- a/core/testing/CHANGELOG.md +++ b/core/testing/CHANGELOG.md @@ -36,6 +36,8 @@ Ref: https://keepachangelog.com/en/1.0.0/ ## [Unreleased] +> Testing suite for the core module. Should stay in 0ver. + ## [v0.0.1](https://github.com/cosmos/cosmos-sdk/releases/tag/core/testing%2Fv0.0.1) * Initial tag. diff --git a/core/testing/go.mod b/core/testing/go.mod index a9d0ddad934a..43b8f19a34a1 100644 --- a/core/testing/go.mod +++ b/core/testing/go.mod @@ -8,4 +8,4 @@ require ( go.uber.org/mock v0.5.0 ) -require cosmossdk.io/schema v0.4.0 // indirect +require cosmossdk.io/schema v1.0.0 // indirect diff --git a/core/testing/go.sum b/core/testing/go.sum index bceb89d5bd80..10769294ceb1 100644 --- a/core/testing/go.sum +++ b/core/testing/go.sum @@ -1,7 +1,7 @@ cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= github.com/tidwall/btree v1.7.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU= diff --git a/go.mod b/go.mod index bfcf507bfaac..985478129eca 100644 --- a/go.mod +++ b/go.mod @@ -4,15 +4,15 @@ module github.com/cosmos/cosmos-sdk require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/schema v0.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/schema v1.0.0 + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 cosmossdk.io/x/tx v1.0.0-alpha.3 @@ -185,7 +185,6 @@ require ( // TODO remove after all modules have their own go.mods replace ( - cosmossdk.io/store => ./store cosmossdk.io/x/bank => ./x/bank cosmossdk.io/x/staking => ./x/staking ) diff --git a/go.sum b/go.sum index 73bf461b7b37..6b63256d2cbd 100644 --- a/go.sum +++ b/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/indexer/postgres/go.mod b/indexer/postgres/go.mod index 7bea5187eeaa..25ad37878bb9 100644 --- a/indexer/postgres/go.mod +++ b/indexer/postgres/go.mod @@ -8,6 +8,4 @@ go 1.12 // so there are no problems building this with any version of the SDK. // This module should only use the golang standard library (database/sql) // and cosmossdk.io/indexer/base. -require cosmossdk.io/schema v0.4.0 - -replace cosmossdk.io/schema => ../../schema +require cosmossdk.io/schema v1.0.0 diff --git a/indexer/postgres/go.sum b/indexer/postgres/go.sum index e69de29bb2d1..a66dc8149d2f 100644 --- a/indexer/postgres/go.sum +++ b/indexer/postgres/go.sum @@ -0,0 +1,2 @@ +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= diff --git a/indexer/postgres/tests/go.mod b/indexer/postgres/tests/go.mod index 3509757ae5c3..bb81fab6a0c6 100644 --- a/indexer/postgres/tests/go.mod +++ b/indexer/postgres/tests/go.mod @@ -4,7 +4,7 @@ go 1.23 require ( cosmossdk.io/indexer/postgres v0.0.0-00010101000000-000000000000 - cosmossdk.io/schema v0.4.0 + cosmossdk.io/schema v1.0.0 cosmossdk.io/schema/testing v0.0.0 github.com/fergusstrange/embedded-postgres v1.30.0 github.com/hashicorp/consul/sdk v0.16.1 @@ -33,8 +33,7 @@ require ( pgregory.net/rapid v1.1.0 // indirect ) -replace cosmossdk.io/indexer/postgres => ../. - -replace cosmossdk.io/schema => ../../../schema - -replace cosmossdk.io/schema/testing => ../../../schema/testing +replace ( + cosmossdk.io/indexer/postgres => ../. + cosmossdk.io/schema/testing => ../../../schema/testing +) diff --git a/indexer/postgres/tests/go.sum b/indexer/postgres/tests/go.sum index c498953ee244..257aad6410e5 100644 --- a/indexer/postgres/tests/go.sum +++ b/indexer/postgres/tests/go.sum @@ -1,3 +1,5 @@ +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/runtime/v2/go.mod b/runtime/v2/go.mod index bf07d1b02849..5078a2ad4810 100644 --- a/runtime/v2/go.mod +++ b/runtime/v2/go.mod @@ -4,7 +4,6 @@ go 1.23 // server v2 integration replace ( - cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/server/v2/appmanager => ../../server/v2/appmanager cosmossdk.io/server/v2/stf => ../../server/v2/stf cosmossdk.io/store/v2 => ../../store/v2 @@ -15,7 +14,7 @@ require ( cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/log v1.5.0 - cosmossdk.io/schema v0.4.0 + cosmossdk.io/schema v1.0.0 cosmossdk.io/server/v2/appmanager v0.0.0-00010101000000-000000000000 cosmossdk.io/server/v2/stf v0.0.0-00010101000000-000000000000 cosmossdk.io/store/v2 v2.0.0-00010101000000-000000000000 @@ -29,7 +28,7 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/core/testing v0.0.0 // indirect + cosmossdk.io/core/testing v0.0.1 // indirect cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect github.com/DataDog/zstd v1.5.5 // indirect github.com/beorn7/perks v1.0.1 // indirect diff --git a/runtime/v2/go.sum b/runtime/v2/go.sum index 7966515ebb89..0352ca55a40e 100644 --- a/runtime/v2/go.sum +++ b/runtime/v2/go.sum @@ -6,14 +6,16 @@ cosmossdk.io/api v0.8.0-rc.1 h1:j5oNt5D9gsXtcI9ITYDKjxLXYysgzQIGIbXe381fXNE= cosmossdk.io/api v0.8.0-rc.1/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA= cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= diff --git a/schema/testing/CHANGELOG.md b/schema/testing/CHANGELOG.md index 0c3c9d03857f..1c69f3989d7f 100644 --- a/schema/testing/CHANGELOG.md +++ b/schema/testing/CHANGELOG.md @@ -35,3 +35,9 @@ Ref: https://keepachangelog.com/en/1.0.0/ # Changelog ## [Unreleased] + +> Testing suite for the schema module. Should stay in 0ver. + +## [v0.0.1](https://github.com/cosmos/cosmos-sdk/releases/tag/schema/testing%2Fv0.0.1) + +* Initial tag. diff --git a/schema/testing/go.mod b/schema/testing/go.mod index c45939d0c627..405154154d27 100644 --- a/schema/testing/go.mod +++ b/schema/testing/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/schema/testing go 1.23 require ( - cosmossdk.io/schema v0.4.0 + cosmossdk.io/schema v1.0.0 github.com/cockroachdb/apd/v3 v3.2.1 github.com/stretchr/testify v1.10.0 github.com/tidwall/btree v1.7.0 @@ -17,5 +17,3 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) - -replace cosmossdk.io/schema => ./.. diff --git a/schema/testing/go.sum b/schema/testing/go.sum index ffa78a9d6fb4..c52109d015b3 100644 --- a/schema/testing/go.sum +++ b/schema/testing/go.sum @@ -1,3 +1,5 @@ +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index f9200593be85..232768dcdaf4 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -3,11 +3,9 @@ module cosmossdk.io/server/v2/cometbft go 1.23.2 replace ( - cosmossdk.io/core/testing => ../../../core/testing cosmossdk.io/server/v2 => ../ cosmossdk.io/server/v2/appmanager => ../appmanager cosmossdk.io/server/v2/stf => ../stf - cosmossdk.io/store => ../../../store cosmossdk.io/store/v2 => ../../../store/v2 cosmossdk.io/x/bank => ../../../x/bank cosmossdk.io/x/consensus => ../../../x/consensus @@ -17,12 +15,12 @@ replace ( require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/errors v1.0.1 cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 cosmossdk.io/log v1.5.0 - cosmossdk.io/schema v0.4.0 + cosmossdk.io/schema v1.0.0 cosmossdk.io/server/v2 v2.0.0-00010101000000-000000000000 cosmossdk.io/server/v2/appmanager v0.0.0-20240802110823-cffeedff643d cosmossdk.io/server/v2/stf v0.0.0-20240708142107-25e99c54bac1 @@ -43,10 +41,10 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/core/testing v0.0.0 // indirect + cosmossdk.io/core/testing v0.0.1 // indirect cosmossdk.io/depinject v1.1.0 // indirect cosmossdk.io/math v1.4.0 // indirect - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect + cosmossdk.io/store v1.10.0-rc.1 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index 74bb315ef159..e638501b6fc0 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -6,10 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +22,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/server/v2/go.mod b/server/v2/go.mod index c781f224a6dc..8be9b7ae2717 100644 --- a/server/v2/go.mod +++ b/server/v2/go.mod @@ -12,7 +12,7 @@ replace ( require ( cosmossdk.io/api v0.8.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/server/v2/appmanager v0.0.0-00010101000000-000000000000 cosmossdk.io/store/v2 v2.0.0-00010101000000-000000000000 @@ -39,7 +39,7 @@ require ( require ( cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect github.com/DataDog/datadog-go v4.8.3+incompatible // indirect github.com/DataDog/zstd v1.5.5 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect diff --git a/server/v2/go.sum b/server/v2/go.sum index c5d67a76ad66..80fc3f3da017 100644 --- a/server/v2/go.sum +++ b/server/v2/go.sum @@ -4,14 +4,14 @@ cosmossdk.io/api v0.8.0-rc.1 h1:j5oNt5D9gsXtcI9ITYDKjxLXYysgzQIGIbXe381fXNE= cosmossdk.io/api v0.8.0-rc.1/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA= cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go v4.8.3+incompatible h1:fNGaYSuObuQb5nzeTQqowRAd9bpDIRRV4/gUtIBjh8Q= diff --git a/simapp/go.mod b/simapp/go.mod index dc11f6220eab..0faf6457db0d 100644 --- a/simapp/go.mod +++ b/simapp/go.mod @@ -5,13 +5,13 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/client/v2 v2.0.0-beta.6 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1 + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/tools/confix v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/accounts v0.0.0-20240913065641-0064ccbce64e cosmossdk.io/x/accounts/defaults/base v0.0.0-00010101000000-000000000000 @@ -65,7 +65,7 @@ require ( cloud.google.com/go/iam v1.1.13 // indirect cloud.google.com/go/storage v1.43.0 // indirect cosmossdk.io/errors v1.0.1 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -251,9 +251,7 @@ require ( // SimApp on main always tests the latest extracted SDK modules importing the sdk replace ( cosmossdk.io/client/v2 => ../client/v2 - cosmossdk.io/collections => ../collections cosmossdk.io/indexer/postgres => ../indexer/postgres - cosmossdk.io/store => ../store cosmossdk.io/tools/benchmark => ../tools/benchmark cosmossdk.io/tools/confix => ../tools/confix cosmossdk.io/x/accounts => ../x/accounts diff --git a/simapp/go.sum b/simapp/go.sum index 7802baba96ab..8fa882cc83a9 100644 --- a/simapp/go.sum +++ b/simapp/go.sum @@ -194,10 +194,12 @@ cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1V cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -206,8 +208,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= diff --git a/simapp/v2/go.mod b/simapp/v2/go.mod index 816af4c4685e..c6e2ed914b6d 100644 --- a/simapp/v2/go.mod +++ b/simapp/v2/go.mod @@ -60,14 +60,14 @@ require ( cloud.google.com/go/compute/metadata v0.5.0 // indirect cloud.google.com/go/iam v1.1.13 // indirect cloud.google.com/go/storage v1.43.0 // indirect - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect - cosmossdk.io/core/testing v0.0.0 // indirect + cosmossdk.io/collections v1.0.0-rc.1 // indirect + cosmossdk.io/core/testing v0.0.1 // indirect cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/server/v2/appmanager v0.0.0-20240802110823-cffeedff643d // indirect cosmossdk.io/server/v2/stf v0.0.0-20240708142107-25e99c54bac1 // indirect - cosmossdk.io/store v1.1.1 // indirect + cosmossdk.io/store v1.10.0-rc.1 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -298,13 +298,11 @@ replace ( // server v2 integration replace ( - cosmossdk.io/core/testing => ../../core/testing cosmossdk.io/indexer/postgres => ../../indexer/postgres cosmossdk.io/runtime/v2 => ../../runtime/v2 cosmossdk.io/server/v2 => ../../server/v2 cosmossdk.io/server/v2/appmanager => ../../server/v2/appmanager cosmossdk.io/server/v2/cometbft => ../../server/v2/cometbft cosmossdk.io/server/v2/stf => ../../server/v2/stf - cosmossdk.io/store => ../../store cosmossdk.io/store/v2 => ../../store/v2 ) diff --git a/simapp/v2/go.sum b/simapp/v2/go.sum index 292eacfdf9d5..c250d0471eb7 100644 --- a/simapp/v2/go.sum +++ b/simapp/v2/go.sum @@ -194,10 +194,12 @@ cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1V cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -208,8 +210,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= diff --git a/store/v2/go.mod b/store/v2/go.mod index 902b061e856f..3f629f699b66 100644 --- a/store/v2/go.mod +++ b/store/v2/go.mod @@ -4,7 +4,7 @@ go 1.23 require ( cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 cosmossdk.io/log v1.5.0 github.com/cockroachdb/pebble v1.1.0 @@ -24,7 +24,7 @@ require ( ) require ( - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect github.com/DataDog/zstd v1.5.5 // indirect github.com/aybabtme/uniplot v0.0.0-20151203143629-039c559e5e7e // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -75,5 +75,3 @@ require ( google.golang.org/protobuf v1.35.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) - -replace cosmossdk.io/core => ../../core diff --git a/store/v2/go.sum b/store/v2/go.sum index ef45ceecc104..f7c414f3773d 100644 --- a/store/v2/go.sum +++ b/store/v2/go.sum @@ -1,11 +1,13 @@ -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= +cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA= cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= diff --git a/tests/go.mod b/tests/go.mod index 388f24fefee1..562bf01fd740 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -4,13 +4,13 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 cosmossdk.io/simapp v0.0.0-20230309163709-87da587416ba - cosmossdk.io/store v1.1.1 + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/evidence v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/feegrant v0.0.0-20230613133644-0a778132a60f cosmossdk.io/x/nft v0.0.0-20230613133644-0a778132a60f // indirect @@ -32,7 +32,7 @@ require ( ) require ( - cosmossdk.io/core/testing v0.0.0 + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/runtime/v2 v2.0.0-20240911143651-72620a577660 cosmossdk.io/server/v2/stf v0.0.0-00010101000000-000000000000 cosmossdk.io/store/v2 v2.0.0-00010101000000-000000000000 @@ -72,7 +72,7 @@ require ( cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect cosmossdk.io/indexer/postgres v0.1.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/server/v2/appmanager v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/tools/benchmark v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/circuit v0.0.0-20230613133644-0a778132a60f // indirect @@ -250,13 +250,10 @@ require ( // SimApp on main always tests the latest extracted SDK modules importing the sdk replace ( cosmossdk.io/client/v2 => ../client/v2 - cosmossdk.io/collections => ../collections - cosmossdk.io/core/testing => ../core/testing cosmossdk.io/indexer/postgres => ../indexer/postgres cosmossdk.io/runtime/v2 => ../runtime/v2 cosmossdk.io/server/v2/appmanager => ../server/v2/appmanager cosmossdk.io/server/v2/stf => ../server/v2/stf - cosmossdk.io/store => ../store cosmossdk.io/store/v2 => ../store/v2 cosmossdk.io/tools/benchmark => ../tools/benchmark cosmossdk.io/x/accounts => ../x/accounts diff --git a/tests/go.sum b/tests/go.sum index 94e9ee2f5b5e..a014bc4af741 100644 --- a/tests/go.sum +++ b/tests/go.sum @@ -194,8 +194,12 @@ cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1V cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -206,8 +210,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= diff --git a/tools/benchmark/go.mod b/tools/benchmark/go.mod index e2d0cbed15cb..1ec747bc66fb 100644 --- a/tools/benchmark/go.mod +++ b/tools/benchmark/go.mod @@ -19,12 +19,12 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e // indirect + cosmossdk.io/collections v1.0.0-rc.1 // indirect + cosmossdk.io/core/testing v0.0.1 // indirect cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/math v1.4.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect + cosmossdk.io/schema v1.0.0 // indirect + cosmossdk.io/store v1.10.0-rc.1 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -150,7 +150,6 @@ require ( ) replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../../x/bank cosmossdk.io/x/staking => ../../x/staking github.com/cosmos/cosmos-sdk => ../../ diff --git a/tools/benchmark/go.sum b/tools/benchmark/go.sum index cae75a20a657..f786d795a2d4 100644 --- a/tools/benchmark/go.sum +++ b/tools/benchmark/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/accounts/defaults/base/go.mod b/x/accounts/defaults/base/go.mod index fdb18cca2852..ca8ae41e7cde 100644 --- a/x/accounts/defaults/base/go.mod +++ b/x/accounts/defaults/base/go.mod @@ -4,7 +4,7 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/x/accounts v0.0.0-20240913065641-0064ccbce64e @@ -19,12 +19,12 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e // indirect + cosmossdk.io/core/testing v0.0.1 // indirect cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/math v1.4.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect + cosmossdk.io/schema v1.0.0 // indirect + cosmossdk.io/store v1.10.0-rc.1 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -173,7 +173,6 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( - cosmossdk.io/store => ../../../../store cosmossdk.io/x/accounts => ../../. cosmossdk.io/x/bank => ../../../bank cosmossdk.io/x/staking => ../../../staking diff --git a/x/accounts/defaults/base/go.sum b/x/accounts/defaults/base/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/accounts/defaults/base/go.sum +++ b/x/accounts/defaults/base/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/accounts/defaults/lockup/go.mod b/x/accounts/defaults/lockup/go.mod index 2dc11f2c7014..51777217d441 100644 --- a/x/accounts/defaults/lockup/go.mod +++ b/x/accounts/defaults/lockup/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/accounts/defaults/lockup go 1.23.3 require ( - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/x/accounts v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 @@ -28,13 +28,13 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/api v0.8.0-rc.2 // indirect - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e // indirect + cosmossdk.io/core/testing v0.0.1 // indirect cosmossdk.io/depinject v1.1.0 // indirect cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect + cosmossdk.io/schema v1.0.0 // indirect + cosmossdk.io/store v1.10.0-rc.1 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -154,7 +154,6 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( - cosmossdk.io/store => ../../../../store cosmossdk.io/x/accounts => ../../. cosmossdk.io/x/bank => ../../../bank cosmossdk.io/x/distribution => ../../../distribution diff --git a/x/accounts/defaults/lockup/go.sum b/x/accounts/defaults/lockup/go.sum index cae75a20a657..f786d795a2d4 100644 --- a/x/accounts/defaults/lockup/go.sum +++ b/x/accounts/defaults/lockup/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/accounts/defaults/multisig/go.mod b/x/accounts/defaults/multisig/go.mod index ba1c9c160ded..89bf8a343f49 100644 --- a/x/accounts/defaults/multisig/go.mod +++ b/x/accounts/defaults/multisig/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/x/accounts/defaults/multisig go 1.23.3 require ( - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/math v1.4.0 cosmossdk.io/x/accounts v0.0.0-00010101000000-000000000000 @@ -19,12 +19,12 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/api v0.8.0-rc.2 // indirect - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e // indirect + cosmossdk.io/core/testing v0.0.1 // indirect cosmossdk.io/depinject v1.1.0 // indirect cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/log v1.5.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect + cosmossdk.io/schema v1.0.0 // indirect + cosmossdk.io/store v1.10.0-rc.1 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -173,7 +173,6 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../../../. replace ( - cosmossdk.io/store => ../../../../store cosmossdk.io/x/accounts => ../../. cosmossdk.io/x/bank => ../../../bank cosmossdk.io/x/staking => ../../../staking diff --git a/x/accounts/defaults/multisig/go.sum b/x/accounts/defaults/multisig/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/accounts/defaults/multisig/go.sum +++ b/x/accounts/defaults/multisig/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/accounts/go.mod b/x/accounts/go.mod index b2c1d94b7a92..6397004fc085 100644 --- a/x/accounts/go.mod +++ b/x/accounts/go.mod @@ -4,9 +4,9 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/tx v1.0.0-alpha.3 @@ -39,8 +39,8 @@ require ( cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/math v1.4.0 - cosmossdk.io/schema v0.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect + cosmossdk.io/schema v1.0.0 + cosmossdk.io/store v1.10.0-rc.1 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -177,7 +177,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/accounts/go.sum b/x/accounts/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/accounts/go.sum +++ b/x/accounts/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/authz/go.mod b/x/authz/go.mod index a762b2fe2de2..24a182feb4ed 100644 --- a/x/authz/go.mod +++ b/x/authz/go.mod @@ -9,7 +9,7 @@ require ( cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 cosmossdk.io/x/tx v1.0.0-alpha.3 @@ -29,8 +29,8 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/collections v1.0.0-rc.1 // indirect + cosmossdk.io/schema v1.0.0 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect @@ -158,7 +158,7 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -require cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e +require cosmossdk.io/core/testing v0.0.1 require ( github.com/bytedance/sonic v1.12.4 // indirect @@ -178,7 +178,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/authz/go.sum b/x/authz/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/authz/go.sum +++ b/x/authz/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/bank/go.mod b/x/bank/go.mod index 04010a834251..48c7c843739f 100644 --- a/x/bank/go.mod +++ b/x/bank/go.mod @@ -4,13 +4,13 @@ go 1.23.2 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 // indirect cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.5 @@ -30,7 +30,7 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -156,7 +156,7 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -require cosmossdk.io/schema v0.4.0 +require cosmossdk.io/schema v1.0.0 require ( github.com/bytedance/sonic v1.12.4 // indirect @@ -176,7 +176,4 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules -replace ( - cosmossdk.io/store => ../../store - cosmossdk.io/x/staking => ../staking -) +replace cosmossdk.io/x/staking => ../staking diff --git a/x/bank/go.sum b/x/bank/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/bank/go.sum +++ b/x/bank/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/circuit/go.mod b/x/circuit/go.mod index 9aef5db125db..456a7b31df36 100644 --- a/x/circuit/go.mod +++ b/x/circuit/go.mod @@ -4,13 +4,13 @@ go 1.23.2 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 - cosmossdk.io/schema v0.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/schema v1.0.0 + cosmossdk.io/store v1.10.0-rc.1 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 github.com/golang/protobuf v1.5.4 @@ -174,7 +174,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/circuit/go.sum b/x/circuit/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/circuit/go.sum +++ b/x/circuit/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/consensus/go.mod b/x/consensus/go.mod index d17d144dc8a4..ddd0975adcbf 100644 --- a/x/consensus/go.mod +++ b/x/consensus/go.mod @@ -4,12 +4,12 @@ go 1.23.2 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 - cosmossdk.io/schema v0.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/schema v1.0.0 + cosmossdk.io/store v1.10.0-rc.1 github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 github.com/cometbft/cometbft/api v1.0.0-rc2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 @@ -172,7 +172,6 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/consensus/go.sum b/x/consensus/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/consensus/go.sum +++ b/x/consensus/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/distribution/go.mod b/x/distribution/go.mod index 491199219b7a..0a9290dd6041 100644 --- a/x/distribution/go.mod +++ b/x/distribution/go.mod @@ -4,14 +4,14 @@ go 1.23.2 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/math v1.4.0 - cosmossdk.io/schema v0.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/schema v1.0.0 + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 @@ -174,7 +174,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/staking => ../staking diff --git a/x/distribution/go.sum b/x/distribution/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/distribution/go.sum +++ b/x/distribution/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/epochs/go.mod b/x/epochs/go.mod index 0ef67424de53..274a5c8756e6 100644 --- a/x/epochs/go.mod +++ b/x/epochs/go.mod @@ -4,12 +4,12 @@ go 1.23.2 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 @@ -20,7 +20,7 @@ require ( google.golang.org/grpc v1.68.1 ) -require cosmossdk.io/schema v0.4.0 +require cosmossdk.io/schema v1.0.0 require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect @@ -177,7 +177,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/epochs/go.sum b/x/epochs/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/epochs/go.sum +++ b/x/epochs/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/evidence/go.mod b/x/evidence/go.mod index d216fe0ab115..603a0eac2c14 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -4,13 +4,13 @@ go 1.23.2 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 @@ -28,7 +28,7 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/log v1.5.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect @@ -174,7 +174,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/evidence/go.sum b/x/evidence/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/feegrant/go.mod b/x/feegrant/go.mod index 89343cc04350..d39fb1489cd3 100644 --- a/x/feegrant/go.mod +++ b/x/feegrant/go.mod @@ -4,13 +4,13 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/gov v0.0.0-20231113122742-912390d5fc4a github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 // indirect @@ -38,7 +38,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/client/v2 v2.0.0-beta.6 // indirect cosmossdk.io/log v1.5.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect @@ -183,7 +183,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( cosmossdk.io/client/v2 => ../../client/v2 - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/gov => ../gov cosmossdk.io/x/protocolpool => ../protocolpool diff --git a/x/feegrant/go.sum b/x/feegrant/go.sum index ec732719eb37..973f0ba8b63b 100644 --- a/x/feegrant/go.sum +++ b/x/feegrant/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/gov/go.mod b/x/gov/go.mod index 6bfbfe4a1758..f1f6d5fc5415 100644 --- a/x/gov/go.mod +++ b/x/gov/go.mod @@ -5,14 +5,14 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/client/v2 v2.0.0-beta.6 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 @@ -36,7 +36,7 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -182,7 +182,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( cosmossdk.io/client/v2 => ../../client/v2 - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/protocolpool => ../protocolpool cosmossdk.io/x/staking => ../staking diff --git a/x/gov/go.sum b/x/gov/go.sum index ec732719eb37..973f0ba8b63b 100644 --- a/x/gov/go.sum +++ b/x/gov/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/group/go.mod b/x/group/go.mod index 55ede2550228..6798dbaa3054 100644 --- a/x/group/go.mod +++ b/x/group/go.mod @@ -6,12 +6,12 @@ require ( cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/client/v2 v2.0.0-beta.6 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/accounts v0.0.0-20240913065641-0064ccbce64e cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 cosmossdk.io/x/consensus v0.0.0-00010101000000-000000000000 @@ -36,8 +36,8 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/collections v1.0.0-rc.1 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -184,7 +184,6 @@ replace github.com/cosmos/cosmos-sdk => ../../ // TODO remove post spinning out all modules replace ( cosmossdk.io/client/v2 => ../../client/v2 - cosmossdk.io/store => ../../store cosmossdk.io/x/accounts => ../accounts cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus diff --git a/x/group/go.sum b/x/group/go.sum index 2cecff26523a..6c75ff49416a 100644 --- a/x/group/go.sum +++ b/x/group/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/mint/go.mod b/x/mint/go.mod index 8276030c4729..2c7589405122 100644 --- a/x/mint/go.mod +++ b/x/mint/go.mod @@ -4,14 +4,14 @@ go 1.23.2 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/epochs v0.0.0-20240522060652-a1ae4c3e0337 github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.5 @@ -29,7 +29,7 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/schema v0.4.0 + cosmossdk.io/schema v1.0.0 cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect @@ -178,7 +178,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/consensus => ../consensus cosmossdk.io/x/epochs => ../epochs diff --git a/x/mint/go.sum b/x/mint/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/mint/go.sum +++ b/x/mint/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/nft/go.mod b/x/nft/go.mod index b754dcf18764..21aedb5724f6 100644 --- a/x/nft/go.mod +++ b/x/nft/go.mod @@ -9,7 +9,7 @@ require ( cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 @@ -24,9 +24,9 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/collections v1.0.0-rc.1 // indirect + cosmossdk.io/core/testing v0.0.1 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect @@ -174,7 +174,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/nft/go.sum b/x/nft/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/nft/go.sum +++ b/x/nft/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/params/go.mod b/x/params/go.mod index 94951d83264c..21ec602d2f41 100644 --- a/x/params/go.mod +++ b/x/params/go.mod @@ -5,12 +5,12 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/gov v0.0.0-20230925135524-a1bc045b3190 github.com/cometbft/cometbft/api v1.0.0-rc2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 @@ -28,8 +28,8 @@ require ( require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/collections v1.0.0-rc.1 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -167,7 +167,6 @@ replace github.com/cosmos/cosmos-sdk => ../.. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/distribution => ../distribution cosmossdk.io/x/gov => ../gov diff --git a/x/params/go.sum b/x/params/go.sum index e977b87778cd..e67029ced6b2 100644 --- a/x/params/go.sum +++ b/x/params/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/protocolpool/go.mod b/x/protocolpool/go.mod index 2ba83bfb51e6..ce37c2d64f37 100644 --- a/x/protocolpool/go.mod +++ b/x/protocolpool/go.mod @@ -4,13 +4,13 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.53.0 github.com/cosmos/gogoproto v1.7.0 @@ -27,7 +27,7 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/log v1.5.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect @@ -174,7 +174,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/protocolpool/go.sum b/x/protocolpool/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/protocolpool/go.sum +++ b/x/protocolpool/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/slashing/go.mod b/x/slashing/go.mod index 570a564c3e3d..f0aa01d7053a 100644 --- a/x/slashing/go.mod +++ b/x/slashing/go.mod @@ -4,13 +4,13 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 github.com/bits-and-blooms/bitset v1.10.0 github.com/cosmos/cosmos-proto v1.0.0-beta.5 @@ -30,7 +30,7 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.35.2-20241120201313-68e42a58b301.1 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.35.2-20240130113600-88ef6483f90f.1 // indirect cosmossdk.io/log v1.5.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.1.0 // indirect @@ -175,7 +175,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules replace ( - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/staking => ../staking ) diff --git a/x/slashing/go.sum b/x/slashing/go.sum index e6ce3ad420eb..7dca20453d39 100644 --- a/x/slashing/go.sum +++ b/x/slashing/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/staking/go.mod b/x/staking/go.mod index 4eddd3f3c72f..24681b309ce9 100644 --- a/x/staking/go.mod +++ b/x/staking/go.mod @@ -4,13 +4,13 @@ go 1.23.2 require ( cosmossdk.io/api v0.8.0-rc.2 - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b + cosmossdk.io/collections v1.0.0-rc.1 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/math v1.4.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 // indirect github.com/cometbft/cometbft/api v1.0.0-rc2 github.com/cosmos/cosmos-proto v1.0.0-beta.5 @@ -158,7 +158,7 @@ require ( go.opencensus.io v0.24.0 // indirect ) -require cosmossdk.io/schema v0.4.0 +require cosmossdk.io/schema v1.0.0 require ( github.com/bytedance/sonic v1.12.4 // indirect @@ -180,7 +180,4 @@ require ( replace github.com/cosmos/cosmos-sdk => ../../. // TODO remove post spinning out all modules -replace ( - cosmossdk.io/store => ../../store - cosmossdk.io/x/bank => ../bank -) +replace cosmossdk.io/x/bank => ../bank diff --git a/x/staking/go.sum b/x/staking/go.sum index 922863ae72ec..dbc40c429b47 100644 --- a/x/staking/go.sum +++ b/x/staking/go.sum @@ -6,12 +6,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -20,8 +20,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= cosmossdk.io/x/tx v1.0.0-alpha.3/go.mod h1:h4pQ/j6Gfu8goB1R3Jbl4qY4RjYVNAsoylcleTXdSRg= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= diff --git a/x/upgrade/go.mod b/x/upgrade/go.mod index 59fa7c5612fc..16e7914d8497 100644 --- a/x/upgrade/go.mod +++ b/x/upgrade/go.mod @@ -5,11 +5,11 @@ go 1.23.3 require ( cosmossdk.io/api v0.8.0-rc.2 cosmossdk.io/core v1.0.0-alpha.6 - cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e + cosmossdk.io/core/testing v0.0.1 cosmossdk.io/depinject v1.1.0 cosmossdk.io/errors v1.0.1 cosmossdk.io/log v1.5.0 - cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc + cosmossdk.io/store v1.10.0-rc.1 cosmossdk.io/x/gov v0.0.0-20231113122742-912390d5fc4a github.com/cometbft/cometbft v1.0.0-rc2.0.20241127125717-4ce33b646ac9 github.com/cometbft/cometbft/api v1.0.0-rc2 @@ -41,9 +41,9 @@ require ( cloud.google.com/go/iam v1.1.13 // indirect cloud.google.com/go/storage v1.43.0 // indirect cosmossdk.io/client/v2 v2.0.0-beta.6 // indirect - cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b // indirect + cosmossdk.io/collections v1.0.0-rc.1 // indirect cosmossdk.io/math v1.4.0 // indirect - cosmossdk.io/schema v0.4.0 // indirect + cosmossdk.io/schema v1.0.0 // indirect cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91 // indirect cosmossdk.io/x/staking v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect @@ -207,7 +207,6 @@ replace github.com/cosmos/cosmos-sdk => ../../. replace ( cosmossdk.io/client/v2 => ../../client/v2 - cosmossdk.io/store => ../../store cosmossdk.io/x/bank => ../bank cosmossdk.io/x/gov => ../gov cosmossdk.io/x/staking => ../staking diff --git a/x/upgrade/go.sum b/x/upgrade/go.sum index 34295868c7c7..c616be59d292 100644 --- a/x/upgrade/go.sum +++ b/x/upgrade/go.sum @@ -194,12 +194,12 @@ cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1V cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= cosmossdk.io/api v0.8.0-rc.2 h1:7DQjVnYz7sTy47bZMzahfOANbhxLmPtgQvvru9kA2R0= cosmossdk.io/api v0.8.0-rc.2/go.mod h1:edvI8tMINqCH75EgkOEMnCZEQ3iKJgOlZ+ZxOu4gmXU= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b h1:MgU4EDOo/pXgepHCUFQFnIfUCxk/JO0AJGDTUQhhEhg= -cosmossdk.io/collections v0.4.1-0.20241128094659-bd76b47e1d8b/go.mod h1:uf12i1yKvzEIHt2ok7poNqFDQTb71O00RQLitSynmrg= +cosmossdk.io/collections v1.0.0-rc.1 h1:Mzv0YKZJ6aloy4oSnMnyl8b6PtM2dTdDlzRR/079TyM= +cosmossdk.io/collections v1.0.0-rc.1/go.mod h1:nOgrEpyMFOWBy8QmSbq/T6Tgtm2IyOFvxDRWk+DI97k= cosmossdk.io/core v1.0.0-alpha.6 h1:5ukC4JcQKmemLQXcAgu/QoOvJI50hpBkIIg4ZT2EN8E= cosmossdk.io/core v1.0.0-alpha.6/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e h1:F+ScucYxwrrDJU8guJXQXpGhdpziYSbxW6HMP2wCNxs= -cosmossdk.io/core/testing v0.0.0-20241108153815-606544c7be7e/go.mod h1:3YvVv9aJayjPhdX0DY1IMrGse4sR63hNBWx2VtDWjGQ= +cosmossdk.io/core/testing v0.0.1 h1:gYCTaftcRrz+HoNXmK7r9KgbG1jgBJ8pNzm/Pa/erFQ= +cosmossdk.io/core/testing v0.0.1/go.mod h1:2VDNz/25qtxgPa0+j8LW5e8Ev/xObqoJA7QuJS9/wIQ= cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E= cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= @@ -208,8 +208,10 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/schema v0.4.0 h1:TrBs5BUnGqniAwEBVsjiisrAk3h3DK/zHLU1O8fRnO0= -cosmossdk.io/schema v0.4.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/schema v1.0.0 h1:/diH4XJjpV1JQwuIozwr+A4uFuuwanFdnw2kKeiXwwQ= +cosmossdk.io/schema v1.0.0/go.mod h1:RDAhxIeNB4bYqAlF4NBJwRrgtnciMcyyg0DOKnhNZQQ= +cosmossdk.io/store v1.10.0-rc.1 h1:/YVPJLre7lt/QDbl90k95TLt+IvafF1sHaU6WHd/rpc= +cosmossdk.io/store v1.10.0-rc.1/go.mod h1:eZNgZKvZRlDUk8CE3LTDVMAcSM7zLOet2S8fByQkF3s= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190 h1:XQJj9Dv9Gtze0l2TF79BU5lkP6MkUveTUuKICmxoz+o= cosmossdk.io/x/protocolpool v0.0.0-20230925135524-a1bc045b3190/go.mod h1:7WUGupOvmlHJoIMBz1JbObQxeo6/TDiuDBxmtod8HRg= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= From ad10d245261094e9985936315c75ad47697110c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:45:21 -0800 Subject: [PATCH 19/22] build(deps): Bump github.com/cosmos/cosmos-sdk from 0.50.6 to 0.50.11 in /tests/systemtests (#22908) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tests/systemtests/go.mod | 6 +++--- tests/systemtests/go.sum | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/systemtests/go.mod b/tests/systemtests/go.mod index 9048c0474bad..587387448cbc 100644 --- a/tests/systemtests/go.mod +++ b/tests/systemtests/go.mod @@ -5,7 +5,7 @@ go 1.23 require ( cosmossdk.io/math v1.4.0 cosmossdk.io/systemtests v1.0.0-rc.3 - github.com/cosmos/cosmos-sdk v0.50.6 + github.com/cosmos/cosmos-sdk v0.50.11 ) require ( @@ -15,7 +15,7 @@ require ( cosmossdk.io/depinject v1.1.0 // indirect cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/log v1.5.0 // indirect - cosmossdk.io/store v1.1.0 // indirect + cosmossdk.io/store v1.1.1 // indirect cosmossdk.io/x/tx v1.0.0-alpha.3 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -45,7 +45,7 @@ require ( github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/gogoproto v1.7.0 // indirect - github.com/cosmos/iavl v1.1.4 // indirect + github.com/cosmos/iavl v1.2.2 // indirect github.com/cosmos/ics23/go v0.11.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect github.com/creachadair/tomledit v0.0.26 // indirect diff --git a/tests/systemtests/go.sum b/tests/systemtests/go.sum index 5f9f9fb513b7..52cb0a6f6b52 100644 --- a/tests/systemtests/go.sum +++ b/tests/systemtests/go.sum @@ -14,8 +14,8 @@ cosmossdk.io/log v1.5.0 h1:dVdzPJW9kMrnAYyMf1duqacoidB9uZIl+7c6z0mnq0g= cosmossdk.io/log v1.5.0/go.mod h1:Tr46PUJjiUthlwQ+hxYtUtPn4D/oCZXAkYevBeh5+FI= cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ= cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk= -cosmossdk.io/store v1.1.0 h1:LnKwgYMc9BInn9PhpTFEQVbL9UK475G2H911CGGnWHk= -cosmossdk.io/store v1.1.0/go.mod h1:oZfW/4Fc/zYqu3JmQcQdUJ3fqu5vnYTn3LZFFy8P8ng= +cosmossdk.io/store v1.1.1 h1:NA3PioJtWDVU7cHHeyvdva5J/ggyLDkyH0hGHl2804Y= +cosmossdk.io/store v1.1.1/go.mod h1:8DwVTz83/2PSI366FERGbWSH7hL6sB7HbYp8bqksNwM= cosmossdk.io/systemtests v1.0.0-rc.3 h1:W1ZdfHtWxbzRCiBwcMb1nMKkmUNyAcHapJOrfh1lX20= cosmossdk.io/systemtests v1.0.0-rc.3/go.mod h1:B3RY1tY/iwLjQ9MUTz+GsiXV9gEdS8mfUvSQtWUwaAo= cosmossdk.io/x/tx v1.0.0-alpha.3 h1:+55/JFH5QRqnFhOI2heH3DKsaNL0RpXcJOQNzUvHiaQ= @@ -72,8 +72,8 @@ github.com/bgentry/speakeasy v0.2.0 h1:tgObeVOf8WAvtuAX6DhJ4xks4CFNwPDZiqzGqIHE5 github.com/bgentry/speakeasy v0.2.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.8.0 h1:FD+XqgOZDUxxZ8hzoBFuV9+cGWY9CslN6d5MS5JVb4c= github.com/bits-and-blooms/bitset v1.8.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= -github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= -github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= +github.com/btcsuite/btcd/btcec/v2 v2.3.4 h1:3EJjcN70HCu/mwqlUsGK8GcNVyLVxFDlWurTXGPFfiQ= +github.com/btcsuite/btcd/btcec/v2 v2.3.4/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= github.com/btcsuite/btcd/btcutil v1.1.6 h1:zFL2+c3Lb9gEgqKNzowKUPQNb8jV7v5Oaodi/AYFd6c= github.com/btcsuite/btcd/btcutil v1.1.6/go.mod h1:9dFymx8HpuLqBnsPELrImQeTQfKBQqzqGbbV3jK55aE= github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY= @@ -149,8 +149,8 @@ github.com/cosmos/cosmos-db v1.1.0 h1:KLHNVQ73h7vawXTpj9UJ7ZR2IXv51tsEHkQJJ9EBDz github.com/cosmos/cosmos-db v1.1.0/go.mod h1:t7c4A6cfGdpUwwVxrQ0gQLeRQqGUBJu0yvE4F/26REg= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.6 h1:efR3MsvMHX5sxS3be+hOobGk87IzlZbSpsI2x/Vw3hk= -github.com/cosmos/cosmos-sdk v0.50.6/go.mod h1:lVkRY6cdMJ0fG3gp8y4hFrsKZqF4z7y0M2UXFb9Yt40= +github.com/cosmos/cosmos-sdk v0.50.11 h1:LxR1aAc8kixdrs3itO+3a44sFoc+vjxVAOyPFx22yjk= +github.com/cosmos/cosmos-sdk v0.50.11/go.mod h1:gt14Meok2IDCjbDtjwkbUcgVNEpUBDN/4hg9cCUtLgw= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= @@ -158,8 +158,8 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= -github.com/cosmos/iavl v1.1.4 h1:Z0cVVjeQqOUp78/nWt/uhQy83vYluWlAMGQ4zbH9G34= -github.com/cosmos/iavl v1.1.4/go.mod h1:vCYmRQUJU1wwj0oRD3wMEtOM9sJNDP+GFMaXmIxZ/rU= +github.com/cosmos/iavl v1.2.2 h1:qHhKW3I70w+04g5KdsdVSHRbFLgt3yY3qTMd4Xa4rC8= +github.com/cosmos/iavl v1.2.2/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= github.com/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= From 28e3bc4de1ce8ac59a91dca0b8b8bee8ad6d4e7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:45:34 -0800 Subject: [PATCH 20/22] build(deps): Bump github.com/cosmos/cosmos-sdk from 0.50.10 to 0.50.11 in /tools/cosmovisor (#22907) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/cosmovisor/go.mod | 4 ++-- tools/cosmovisor/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/cosmovisor/go.mod b/tools/cosmovisor/go.mod index 2e3e371f21c8..38fa77204ffd 100644 --- a/tools/cosmovisor/go.mod +++ b/tools/cosmovisor/go.mod @@ -5,7 +5,7 @@ go 1.23 require ( cosmossdk.io/log v1.5.0 cosmossdk.io/x/upgrade v0.1.4 - github.com/cosmos/cosmos-sdk v0.50.10 + github.com/cosmos/cosmos-sdk v0.50.11 github.com/fsnotify/fsnotify v1.8.0 github.com/otiai10/copy v1.14.0 github.com/pelletier/go-toml/v2 v2.2.3 @@ -60,7 +60,7 @@ require ( github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/gogoproto v1.7.0 // indirect - github.com/cosmos/iavl v1.2.0 // indirect + github.com/cosmos/iavl v1.2.2 // indirect github.com/cosmos/ics23/go v0.11.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect github.com/danieljoos/wincred v1.2.1 // indirect diff --git a/tools/cosmovisor/go.sum b/tools/cosmovisor/go.sum index d9cb21cfc90b..1eecc1005924 100644 --- a/tools/cosmovisor/go.sum +++ b/tools/cosmovisor/go.sum @@ -335,8 +335,8 @@ github.com/cosmos/cosmos-db v1.1.0 h1:KLHNVQ73h7vawXTpj9UJ7ZR2IXv51tsEHkQJJ9EBDz github.com/cosmos/cosmos-db v1.1.0/go.mod h1:t7c4A6cfGdpUwwVxrQ0gQLeRQqGUBJu0yvE4F/26REg= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.10 h1:zXfeu/z653tWZARr/jESzAEiCUYjgJwwG4ytnYWMoDM= -github.com/cosmos/cosmos-sdk v0.50.10/go.mod h1:6Eesrx3ZE7vxBZWpK++30H+Uc7Q4ahQWCL7JKU/LEdU= +github.com/cosmos/cosmos-sdk v0.50.11 h1:LxR1aAc8kixdrs3itO+3a44sFoc+vjxVAOyPFx22yjk= +github.com/cosmos/cosmos-sdk v0.50.11/go.mod h1:gt14Meok2IDCjbDtjwkbUcgVNEpUBDN/4hg9cCUtLgw= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= @@ -344,8 +344,8 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= -github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= -github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= +github.com/cosmos/iavl v1.2.2 h1:qHhKW3I70w+04g5KdsdVSHRbFLgt3yY3qTMd4Xa4rC8= +github.com/cosmos/iavl v1.2.2/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= github.com/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= From 36849974d7a17d10e42dca46587752bb5979c614 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:45:48 -0800 Subject: [PATCH 21/22] build(deps): Bump github.com/cosmos/cosmos-sdk from 0.50.10 to 0.50.11 in /tools/confix (#22906) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/confix/go.mod | 4 ++-- tools/confix/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/confix/go.mod b/tools/confix/go.mod index 3aa8a6821c4a..87c1f494aea8 100644 --- a/tools/confix/go.mod +++ b/tools/confix/go.mod @@ -3,7 +3,7 @@ module cosmossdk.io/tools/confix go 1.23 require ( - github.com/cosmos/cosmos-sdk v0.50.10 + github.com/cosmos/cosmos-sdk v0.50.11 github.com/creachadair/atomicfile v0.3.6 github.com/creachadair/tomledit v0.0.26 github.com/pelletier/go-toml/v2 v2.2.3 @@ -49,7 +49,7 @@ require ( github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/gogoproto v1.7.0 // indirect - github.com/cosmos/iavl v1.2.0 // indirect + github.com/cosmos/iavl v1.2.2 // indirect github.com/cosmos/ics23/go v0.11.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect github.com/danieljoos/wincred v1.1.2 // indirect diff --git a/tools/confix/go.sum b/tools/confix/go.sum index 7aa02c13e83f..5c0da2ba723f 100644 --- a/tools/confix/go.sum +++ b/tools/confix/go.sum @@ -145,8 +145,8 @@ github.com/cosmos/cosmos-db v1.1.0 h1:KLHNVQ73h7vawXTpj9UJ7ZR2IXv51tsEHkQJJ9EBDz github.com/cosmos/cosmos-db v1.1.0/go.mod h1:t7c4A6cfGdpUwwVxrQ0gQLeRQqGUBJu0yvE4F/26REg= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.10 h1:zXfeu/z653tWZARr/jESzAEiCUYjgJwwG4ytnYWMoDM= -github.com/cosmos/cosmos-sdk v0.50.10/go.mod h1:6Eesrx3ZE7vxBZWpK++30H+Uc7Q4ahQWCL7JKU/LEdU= +github.com/cosmos/cosmos-sdk v0.50.11 h1:LxR1aAc8kixdrs3itO+3a44sFoc+vjxVAOyPFx22yjk= +github.com/cosmos/cosmos-sdk v0.50.11/go.mod h1:gt14Meok2IDCjbDtjwkbUcgVNEpUBDN/4hg9cCUtLgw= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= @@ -154,8 +154,8 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= -github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= -github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= +github.com/cosmos/iavl v1.2.2 h1:qHhKW3I70w+04g5KdsdVSHRbFLgt3yY3qTMd4Xa4rC8= +github.com/cosmos/iavl v1.2.2/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= github.com/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM= From 7f63b6eb8df930b5482fe8251bac201685efc350 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 22:46:25 +0000 Subject: [PATCH 22/22] build(deps): Bump github.com/cosmos/cosmos-sdk from 0.50.10 to 0.50.11 in /tools/hubl (#22905) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tools/hubl/go.mod | 4 ++-- tools/hubl/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/hubl/go.mod b/tools/hubl/go.mod index dc2fd3e229ae..916936f795e6 100644 --- a/tools/hubl/go.mod +++ b/tools/hubl/go.mod @@ -7,7 +7,7 @@ require ( cosmossdk.io/client/v2 v2.0.0-beta.1.0.20240118210941-3897926e722e cosmossdk.io/core v0.11.1 cosmossdk.io/errors v1.0.1 - github.com/cosmos/cosmos-sdk v0.50.10 + github.com/cosmos/cosmos-sdk v0.50.11 github.com/manifoldco/promptui v0.9.0 github.com/pelletier/go-toml/v2 v2.2.3 github.com/spf13/cobra v1.8.1 @@ -50,7 +50,7 @@ require ( github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/gogoproto v1.7.0 // indirect - github.com/cosmos/iavl v1.2.0 // indirect + github.com/cosmos/iavl v1.2.2 // indirect github.com/cosmos/ics23/go v0.11.0 // indirect github.com/cosmos/ledger-cosmos-go v0.13.3 // indirect github.com/danieljoos/wincred v1.2.0 // indirect diff --git a/tools/hubl/go.sum b/tools/hubl/go.sum index 36a17dd47b5e..01bab03c37e9 100644 --- a/tools/hubl/go.sum +++ b/tools/hubl/go.sum @@ -151,8 +151,8 @@ github.com/cosmos/cosmos-db v1.1.0 h1:KLHNVQ73h7vawXTpj9UJ7ZR2IXv51tsEHkQJJ9EBDz github.com/cosmos/cosmos-db v1.1.0/go.mod h1:t7c4A6cfGdpUwwVxrQ0gQLeRQqGUBJu0yvE4F/26REg= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.10 h1:zXfeu/z653tWZARr/jESzAEiCUYjgJwwG4ytnYWMoDM= -github.com/cosmos/cosmos-sdk v0.50.10/go.mod h1:6Eesrx3ZE7vxBZWpK++30H+Uc7Q4ahQWCL7JKU/LEdU= +github.com/cosmos/cosmos-sdk v0.50.11 h1:LxR1aAc8kixdrs3itO+3a44sFoc+vjxVAOyPFx22yjk= +github.com/cosmos/cosmos-sdk v0.50.11/go.mod h1:gt14Meok2IDCjbDtjwkbUcgVNEpUBDN/4hg9cCUtLgw= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= @@ -160,8 +160,8 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= github.com/cosmos/gogoproto v1.7.0 h1:79USr0oyXAbxg3rspGh/m4SWNyoz/GLaAh0QlCe2fro= github.com/cosmos/gogoproto v1.7.0/go.mod h1:yWChEv5IUEYURQasfyBW5ffkMHR/90hiHgbNgrtp4j0= -github.com/cosmos/iavl v1.2.0 h1:kVxTmjTh4k0Dh1VNL046v6BXqKziqMDzxo93oh3kOfM= -github.com/cosmos/iavl v1.2.0/go.mod h1:HidWWLVAtODJqFD6Hbne2Y0q3SdxByJepHUOeoH4LiI= +github.com/cosmos/iavl v1.2.2 h1:qHhKW3I70w+04g5KdsdVSHRbFLgt3yY3qTMd4Xa4rC8= +github.com/cosmos/iavl v1.2.2/go.mod h1:GiM43q0pB+uG53mLxLDzimxM9l/5N9UuSY3/D0huuVw= github.com/cosmos/ics23/go v0.11.0 h1:jk5skjT0TqX5e5QJbEnwXIS2yI2vnmLOgpQPeM5RtnU= github.com/cosmos/ics23/go v0.11.0/go.mod h1:A8OjxPE67hHST4Icw94hOxxFEJMBG031xIGF/JHNIY0= github.com/cosmos/ledger-cosmos-go v0.13.3 h1:7ehuBGuyIytsXbd4MP43mLeoN2LTOEnk5nvue4rK+yM=