diff --git a/proto/cosmos/accesscontrol/constants.proto b/proto/cosmos/accesscontrol/constants.proto index 7df3e7d06..f97202146 100644 --- a/proto/cosmos/accesscontrol/constants.proto +++ b/proto/cosmos/accesscontrol/constants.proto @@ -27,12 +27,12 @@ enum ResourceType { ANY = 0; KV = 1; // child of ANY Mem = 2; // child of ANY - DexMem = 3; // child of MEM + reserved 3; // dex deprecated KV_BANK = 4; // child of KV KV_STAKING = 5; // child of KV KV_WASM = 6; // child of KV KV_ORACLE = 7; // child of KV - KV_DEX = 8; // child of KV + reserved 8; // dex deprecated KV_EPOCH = 9; // child of KV KV_TOKENFACTORY = 10; // child of KV KV_ORACLE_VOTE_TARGETS = 11; // child of KV_ORACLE @@ -78,26 +78,7 @@ enum ResourceType { KV_DISTRIBUTION_VAL_ACCUM_COMMISSION = 49; // child of KV_DISTRIBUTION KV_DISTRIBUTION_SLASH_EVENT = 50; // child of KV_DISTRIBUTION - KV_DEX_CONTRACT_LONGBOOK = 51; // child of KV_DEX - KV_DEX_CONTRACT_SHORTBOOK = 52; // child of KV_DEX - KV_DEX_SETTLEMENT = 53; // child of KV_DEX - KV_DEX_PAIR_PREFIX = 54; // child of KV_DEX - KV_DEX_TWAP = 55; // child of KV_DEX - KV_DEX_PRICE = 56; // child of KV_DEX - KV_DEX_SETTLEMENT_ENTRY = 57; // child of KV_DEX - KV_DEX_REGISTERED_PAIR = 58; // child of KV_DEX - reserved 59; // KV_DEX_PRICE_TICK_SIZE deprecated // child of KV_DEX - KV_DEX_ORDER = 60; // child of KV_DEX - KV_DEX_CANCEL = 61; // child of KV_DEX - KV_DEX_ACCOUNT_ACTIVE_ORDERS = 62; // child of KV_DEX - reserved 63; // KV_DEX_REGISTERED_PAIR_COUNT deprecated // child of KV_DEX - KV_DEX_ASSET_LIST = 64; // child of KV_DEX - KV_DEX_NEXT_ORDER_ID = 65; // child of KV_DEX - KV_DEX_NEXT_SETTLEMENT_ID = 66; // child of KV_DEX - KV_DEX_MATCH_RESULT = 67; // child of KV_DEX - KV_DEX_SETTLEMENT_ORDER_ID = 68; // child of KV_DEX - KV_DEX_ORDER_BOOK = 69; // child of KV_DEX - reserved 70; // KV_DEX_QUANTITY_TICK_SIZE deprecated // child of KV_DEX + reserved 51 to 70; // dex deprecated KV_ACCESSCONTROL = 71; // child of KV KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING = 72; // child of KV_ACCESSCONTROL @@ -121,13 +102,7 @@ enum ResourceType { KV_SLASHING_VAL_SIGNING_INFO = 85; // child of KV_SLASHING KV_SLASHING_ADDR_PUBKEY_RELATION_KEY = 86; // child of KV_SLASHING - KV_DEX_MEM_ORDER = 87; - KV_DEX_MEM_CANCEL = 88; - KV_DEX_MEM_DEPOSIT = 89; - - KV_DEX_CONTRACT = 90; // child of KV_DEX - KV_DEX_LONG_ORDER_COUNT = 91; // child of KV_DEX - KV_DEX_SHORT_ORDER_COUNT = 92; // child of KV_DEX + reserved 87 to 92; // dex deprecated KV_BANK_DEFERRED = 93; // child of KV reserved 94; @@ -148,8 +123,7 @@ enum ResourceType { KV_BANK_WEI_BALANCE = 108; // child of KV_BANK - KV_DEX_MEM_CONTRACTS_TO_PROCESS = 109; // child of KV_DEX_MEM - KV_DEX_MEM_DOWNSTREAM_CONTRACTS = 110; // child of KV_DEX_MEM + reserved 109, 110; // dex deprecated } enum WasmMessageSubtype { diff --git a/store/rootmulti/store.go b/store/rootmulti/store.go index 8a5fa496d..2ed486708 100644 --- a/store/rootmulti/store.go +++ b/store/rootmulti/store.go @@ -256,6 +256,15 @@ func (rs *Store) loadVersion(ver int64, upgrades *types.StoreUpgrades) error { storesKeys = append(storesKeys, key) } if upgrades != nil { + for _, upgrade := range upgrades.Deleted { + deletionStoreKey := types.NewKVStoreKey(upgrade) + storesKeys = append(storesKeys, deletionStoreKey) + rs.storesParams[deletionStoreKey] = storeParams{ + key: deletionStoreKey, + typ: types.StoreTypeIAVL, // TODO: is this safe + } + rs.keysByName[upgrade] = deletionStoreKey + } // deterministic iteration order for upgrades // (as the underlying store may change and // upgrades make store changes where the execution order may matter) @@ -283,6 +292,10 @@ func (rs *Store) loadVersion(ver int64, upgrades *types.StoreUpgrades) error { // If it was deleted, remove all data if upgrades.IsDeleted(key.Name()) { deleteKVStore(store.(types.KVStore)) + // drop deleted KV store from stores + delete(newStores, key) + delete(rs.keysByName, key.Name()) + delete(rs.storesParams, key) } else if oldName := upgrades.RenamedFrom(key.Name()); oldName != "" { // handle renames specially // make an unregistered key to satify loadCommitStore params diff --git a/store/rootmulti/store_test.go b/store/rootmulti/store_test.go index b3b7d01b4..da94d035b 100644 --- a/store/rootmulti/store_test.go +++ b/store/rootmulti/store_test.go @@ -240,10 +240,10 @@ func TestMultistoreLoadWithUpgrade(t *testing.T) { require.NotNil(t, s1) require.Equal(t, v1, s1.Get(k1)) - // store3 is mounted, but data deleted are gone - s3, _ = restore.GetStoreByName("store3").(types.KVStore) - require.NotNil(t, s3) - require.Nil(t, s3.Get(k3)) // data was deleted + // store3 is no longer mounted, and data deleted are gone + s3, ok := restore.GetStoreByName("store3").(types.KVStore) + require.Nil(t, s3) + require.False(t, ok) // store4 is mounted, with empty data s4, _ = restore.GetStoreByName("store4").(types.KVStore) @@ -298,8 +298,9 @@ func TestMultistoreLoadWithUpgrade(t *testing.T) { ci, err = getCommitInfo(db, 2) require.NoError(t, err) require.Equal(t, int64(2), ci.Version) - require.Equal(t, 4, len(ci.StoreInfos), ci.StoreInfos) - checkContains(t, ci.StoreInfos, []string{"store1", "restore2", "store3", "store4"}) + // 3 store infos because store3 was removed + require.Equal(t, 3, len(ci.StoreInfos), ci.StoreInfos) + checkContains(t, ci.StoreInfos, []string{"store1", "restore2", "store4"}) } func TestParsePath(t *testing.T) { diff --git a/storev2/rootmulti/store.go b/storev2/rootmulti/store.go index e4abfbf25..e94cd6aaa 100644 --- a/storev2/rootmulti/store.go +++ b/storev2/rootmulti/store.go @@ -381,6 +381,14 @@ func (rs *Store) LoadVersionAndUpgrade(version int64, upgrades *types.StoreUpgra for key := range rs.storesParams { storesKeys = append(storesKeys, key) } + + if upgrades != nil { + // load storeKeys for deletion + for _, upgrade := range upgrades.Deleted { + deletionStoreKey := types.NewKVStoreKey(upgrade) + storesKeys = append(storesKeys, deletionStoreKey) + } + } // deterministic iteration order for upgrades sort.Slice(storesKeys, func(i, j int) bool { return storesKeys[i].Name() < storesKeys[j].Name() @@ -397,11 +405,13 @@ func (rs *Store) LoadVersionAndUpgrade(version int64, upgrades *types.StoreUpgra return nil } + storesKeysForDeletion := make(map[types.StoreKey]struct{}) var treeUpgrades []*proto.TreeNameUpgrade for _, key := range storesKeys { switch { case upgrades.IsDeleted(key.Name()): treeUpgrades = append(treeUpgrades, &proto.TreeNameUpgrade{Name: key.Name(), Delete: true}) + storesKeysForDeletion[key] = struct{}{} case upgrades.IsAdded(key.Name()) || upgrades.RenamedFrom(key.Name()) != "": treeUpgrades = append(treeUpgrades, &proto.TreeNameUpgrade{Name: key.Name(), RenameFrom: upgrades.RenamedFrom(key.Name())}) } @@ -415,6 +425,9 @@ func (rs *Store) LoadVersionAndUpgrade(version int64, upgrades *types.StoreUpgra var err error newStores := make(map[types.StoreKey]types.CommitKVStore, len(storesKeys)) for _, key := range storesKeys { + if _, ok := storesKeysForDeletion[key]; ok { + continue + } newStores[key], err = rs.loadCommitStoreFromParams(key, rs.storesParams[key]) if err != nil { return err @@ -765,6 +778,10 @@ loop: if ssImporter != nil { close(ssImporter) } + // initialize the earliest version for SS store + if rs.ssStore != nil { + rs.ssStore.SetEarliestVersion(height) + } return snapshotItem, restoreErr } diff --git a/types/accesscontrol/constants.pb.go b/types/accesscontrol/constants.pb.go index 799d51d50..220339656 100644 --- a/types/accesscontrol/constants.pb.go +++ b/types/accesscontrol/constants.pb.go @@ -106,12 +106,10 @@ const ( ResourceType_ANY ResourceType = 0 ResourceType_KV ResourceType = 1 ResourceType_Mem ResourceType = 2 - ResourceType_DexMem ResourceType = 3 ResourceType_KV_BANK ResourceType = 4 ResourceType_KV_STAKING ResourceType = 5 ResourceType_KV_WASM ResourceType = 6 ResourceType_KV_ORACLE ResourceType = 7 - ResourceType_KV_DEX ResourceType = 8 ResourceType_KV_EPOCH ResourceType = 9 ResourceType_KV_TOKENFACTORY ResourceType = 10 ResourceType_KV_ORACLE_VOTE_TARGETS ResourceType = 11 @@ -154,23 +152,6 @@ const ( ResourceType_KV_DISTRIBUTION_VAL_CURRENT_REWARDS ResourceType = 48 ResourceType_KV_DISTRIBUTION_VAL_ACCUM_COMMISSION ResourceType = 49 ResourceType_KV_DISTRIBUTION_SLASH_EVENT ResourceType = 50 - ResourceType_KV_DEX_CONTRACT_LONGBOOK ResourceType = 51 - ResourceType_KV_DEX_CONTRACT_SHORTBOOK ResourceType = 52 - ResourceType_KV_DEX_SETTLEMENT ResourceType = 53 - ResourceType_KV_DEX_PAIR_PREFIX ResourceType = 54 - ResourceType_KV_DEX_TWAP ResourceType = 55 - ResourceType_KV_DEX_PRICE ResourceType = 56 - ResourceType_KV_DEX_SETTLEMENT_ENTRY ResourceType = 57 - ResourceType_KV_DEX_REGISTERED_PAIR ResourceType = 58 - ResourceType_KV_DEX_ORDER ResourceType = 60 - ResourceType_KV_DEX_CANCEL ResourceType = 61 - ResourceType_KV_DEX_ACCOUNT_ACTIVE_ORDERS ResourceType = 62 - ResourceType_KV_DEX_ASSET_LIST ResourceType = 64 - ResourceType_KV_DEX_NEXT_ORDER_ID ResourceType = 65 - ResourceType_KV_DEX_NEXT_SETTLEMENT_ID ResourceType = 66 - ResourceType_KV_DEX_MATCH_RESULT ResourceType = 67 - ResourceType_KV_DEX_SETTLEMENT_ORDER_ID ResourceType = 68 - ResourceType_KV_DEX_ORDER_BOOK ResourceType = 69 ResourceType_KV_ACCESSCONTROL ResourceType = 71 ResourceType_KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING ResourceType = 72 ResourceType_KV_WASM_CODE ResourceType = 73 @@ -187,12 +168,6 @@ const ( ResourceType_KV_SLASHING ResourceType = 84 ResourceType_KV_SLASHING_VAL_SIGNING_INFO ResourceType = 85 ResourceType_KV_SLASHING_ADDR_PUBKEY_RELATION_KEY ResourceType = 86 - ResourceType_KV_DEX_MEM_ORDER ResourceType = 87 - ResourceType_KV_DEX_MEM_CANCEL ResourceType = 88 - ResourceType_KV_DEX_MEM_DEPOSIT ResourceType = 89 - ResourceType_KV_DEX_CONTRACT ResourceType = 90 - ResourceType_KV_DEX_LONG_ORDER_COUNT ResourceType = 91 - ResourceType_KV_DEX_SHORT_ORDER_COUNT ResourceType = 92 ResourceType_KV_BANK_DEFERRED ResourceType = 93 ResourceType_KV_BANK_DEFERRED_MODULE_TX_INDEX ResourceType = 95 ResourceType_KV_EVM ResourceType = 96 @@ -208,20 +183,16 @@ const ( ResourceType_KV_EVM_CODE ResourceType = 106 ResourceType_KV_EVM_CODE_SIZE ResourceType = 107 ResourceType_KV_BANK_WEI_BALANCE ResourceType = 108 - ResourceType_KV_DEX_MEM_CONTRACTS_TO_PROCESS ResourceType = 109 - ResourceType_KV_DEX_MEM_DOWNSTREAM_CONTRACTS ResourceType = 110 ) var ResourceType_name = map[int32]string{ 0: "ANY", 1: "KV", 2: "Mem", - 3: "DexMem", 4: "KV_BANK", 5: "KV_STAKING", 6: "KV_WASM", 7: "KV_ORACLE", - 8: "KV_DEX", 9: "KV_EPOCH", 10: "KV_TOKENFACTORY", 11: "KV_ORACLE_VOTE_TARGETS", @@ -264,23 +235,6 @@ var ResourceType_name = map[int32]string{ 48: "KV_DISTRIBUTION_VAL_CURRENT_REWARDS", 49: "KV_DISTRIBUTION_VAL_ACCUM_COMMISSION", 50: "KV_DISTRIBUTION_SLASH_EVENT", - 51: "KV_DEX_CONTRACT_LONGBOOK", - 52: "KV_DEX_CONTRACT_SHORTBOOK", - 53: "KV_DEX_SETTLEMENT", - 54: "KV_DEX_PAIR_PREFIX", - 55: "KV_DEX_TWAP", - 56: "KV_DEX_PRICE", - 57: "KV_DEX_SETTLEMENT_ENTRY", - 58: "KV_DEX_REGISTERED_PAIR", - 60: "KV_DEX_ORDER", - 61: "KV_DEX_CANCEL", - 62: "KV_DEX_ACCOUNT_ACTIVE_ORDERS", - 64: "KV_DEX_ASSET_LIST", - 65: "KV_DEX_NEXT_ORDER_ID", - 66: "KV_DEX_NEXT_SETTLEMENT_ID", - 67: "KV_DEX_MATCH_RESULT", - 68: "KV_DEX_SETTLEMENT_ORDER_ID", - 69: "KV_DEX_ORDER_BOOK", 71: "KV_ACCESSCONTROL", 72: "KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING", 73: "KV_WASM_CODE", @@ -297,12 +251,6 @@ var ResourceType_name = map[int32]string{ 84: "KV_SLASHING", 85: "KV_SLASHING_VAL_SIGNING_INFO", 86: "KV_SLASHING_ADDR_PUBKEY_RELATION_KEY", - 87: "KV_DEX_MEM_ORDER", - 88: "KV_DEX_MEM_CANCEL", - 89: "KV_DEX_MEM_DEPOSIT", - 90: "KV_DEX_CONTRACT", - 91: "KV_DEX_LONG_ORDER_COUNT", - 92: "KV_DEX_SHORT_ORDER_COUNT", 93: "KV_BANK_DEFERRED", 95: "KV_BANK_DEFERRED_MODULE_TX_INDEX", 96: "KV_EVM", @@ -318,20 +266,16 @@ var ResourceType_name = map[int32]string{ 106: "KV_EVM_CODE", 107: "KV_EVM_CODE_SIZE", 108: "KV_BANK_WEI_BALANCE", - 109: "KV_DEX_MEM_CONTRACTS_TO_PROCESS", - 110: "KV_DEX_MEM_DOWNSTREAM_CONTRACTS", } var ResourceType_value = map[string]int32{ "ANY": 0, "KV": 1, "Mem": 2, - "DexMem": 3, "KV_BANK": 4, "KV_STAKING": 5, "KV_WASM": 6, "KV_ORACLE": 7, - "KV_DEX": 8, "KV_EPOCH": 9, "KV_TOKENFACTORY": 10, "KV_ORACLE_VOTE_TARGETS": 11, @@ -374,23 +318,6 @@ var ResourceType_value = map[string]int32{ "KV_DISTRIBUTION_VAL_CURRENT_REWARDS": 48, "KV_DISTRIBUTION_VAL_ACCUM_COMMISSION": 49, "KV_DISTRIBUTION_SLASH_EVENT": 50, - "KV_DEX_CONTRACT_LONGBOOK": 51, - "KV_DEX_CONTRACT_SHORTBOOK": 52, - "KV_DEX_SETTLEMENT": 53, - "KV_DEX_PAIR_PREFIX": 54, - "KV_DEX_TWAP": 55, - "KV_DEX_PRICE": 56, - "KV_DEX_SETTLEMENT_ENTRY": 57, - "KV_DEX_REGISTERED_PAIR": 58, - "KV_DEX_ORDER": 60, - "KV_DEX_CANCEL": 61, - "KV_DEX_ACCOUNT_ACTIVE_ORDERS": 62, - "KV_DEX_ASSET_LIST": 64, - "KV_DEX_NEXT_ORDER_ID": 65, - "KV_DEX_NEXT_SETTLEMENT_ID": 66, - "KV_DEX_MATCH_RESULT": 67, - "KV_DEX_SETTLEMENT_ORDER_ID": 68, - "KV_DEX_ORDER_BOOK": 69, "KV_ACCESSCONTROL": 71, "KV_ACCESSCONTROL_WASM_DEPENDENCY_MAPPING": 72, "KV_WASM_CODE": 73, @@ -407,12 +334,6 @@ var ResourceType_value = map[string]int32{ "KV_SLASHING": 84, "KV_SLASHING_VAL_SIGNING_INFO": 85, "KV_SLASHING_ADDR_PUBKEY_RELATION_KEY": 86, - "KV_DEX_MEM_ORDER": 87, - "KV_DEX_MEM_CANCEL": 88, - "KV_DEX_MEM_DEPOSIT": 89, - "KV_DEX_CONTRACT": 90, - "KV_DEX_LONG_ORDER_COUNT": 91, - "KV_DEX_SHORT_ORDER_COUNT": 92, "KV_BANK_DEFERRED": 93, "KV_BANK_DEFERRED_MODULE_TX_INDEX": 95, "KV_EVM": 96, @@ -428,8 +349,6 @@ var ResourceType_value = map[string]int32{ "KV_EVM_CODE": 106, "KV_EVM_CODE_SIZE": 107, "KV_BANK_WEI_BALANCE": 108, - "KV_DEX_MEM_CONTRACTS_TO_PROCESS": 109, - "KV_DEX_MEM_DOWNSTREAM_CONTRACTS": 110, } func (x ResourceType) String() string { @@ -477,105 +396,89 @@ func init() { } var fileDescriptor_36568f7561081112 = []byte{ - // 1586 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x57, 0x59, 0x77, 0x1b, 0xb7, - 0x15, 0x96, 0x6c, 0x59, 0x0b, 0xbc, 0x5d, 0xc3, 0xfb, 0x26, 0x3b, 0xb2, 0x1b, 0xbb, 0x8a, 0x23, - 0xc5, 0x76, 0xd7, 0xa4, 0x6d, 0x0a, 0x0e, 0xae, 0xc8, 0x11, 0x67, 0x80, 0x11, 0x80, 0xe1, 0xe2, - 0xb6, 0x41, 0x25, 0x86, 0x75, 0xdc, 0x58, 0xa2, 0x8f, 0x48, 0xf7, 0xb4, 0xbf, 0xa1, 0x2f, 0xfd, - 0x43, 0x7d, 0xef, 0x63, 0x1e, 0xfb, 0xd8, 0x63, 0xff, 0x91, 0x1e, 0xcc, 0x5c, 0xd2, 0xc3, 0x89, - 0x9d, 0x3c, 0x49, 0xbc, 0xdf, 0x87, 0x0b, 0xe0, 0xbb, 0x1b, 0x86, 0xdd, 0x1f, 0x8c, 0xc6, 0x87, - 0xa3, 0xf1, 0xf6, 0xfe, 0x60, 0x30, 0x1c, 0x8f, 0x07, 0xa3, 0xa3, 0xc9, 0xf1, 0xe8, 0xe5, 0xf6, - 0x60, 0x74, 0x34, 0x9e, 0xec, 0x1f, 0x4d, 0xc6, 0x5b, 0xaf, 0x8e, 0x47, 0x93, 0x11, 0xbf, 0x55, - 0xb2, 0xb6, 0xe6, 0x58, 0x5b, 0x7f, 0x7b, 0x7c, 0x30, 0x9c, 0xec, 0x3f, 0xde, 0xfc, 0x9c, 0x31, - 0x51, 0x00, 0xee, 0x1f, 0xaf, 0x86, 0xfc, 0x34, 0x5b, 0xc9, 0x55, 0x5b, 0xe9, 0xae, 0x82, 0x05, - 0xbe, 0xca, 0x96, 0x0c, 0x0a, 0x09, 0x8b, 0x7c, 0x8d, 0x9d, 0xea, 0x9a, 0xd8, 0x21, 0x9c, 0xe0, - 0x8c, 0x2d, 0x47, 0x3a, 0x4d, 0x63, 0x07, 0x27, 0x37, 0xff, 0x79, 0x82, 0xdd, 0x2c, 0x17, 0xeb, - 0x57, 0xc3, 0xe3, 0xfd, 0xc9, 0x8b, 0xd1, 0x91, 0x1d, 0xbe, 0x1c, 0x0e, 0x26, 0xa3, 0xe3, 0xc2, - 0xdb, 0x2a, 0x5b, 0x52, 0x5a, 0x21, 0x2c, 0xf0, 0x65, 0x76, 0x62, 0x77, 0x0f, 0x16, 0xf9, 0x65, - 0x76, 0x61, 0x77, 0xcf, 0x37, 0x30, 0x6a, 0x3d, 0x7d, 0xe2, 0x85, 0x94, 0x06, 0xad, 0x85, 0x13, - 0x7c, 0x9d, 0xdd, 0xd8, 0xdd, 0xf3, 0x09, 0xaa, 0xa6, 0x6b, 0xf9, 0xcc, 0xe0, 0x4e, 0xdc, 0x43, - 0x39, 0xc3, 0x4f, 0xf2, 0xeb, 0xec, 0xb2, 0x45, 0x25, 0xd1, 0xd4, 0x97, 0x2e, 0xf1, 0x0d, 0xb6, - 0x4e, 0xd0, 0x87, 0x96, 0x9f, 0xe2, 0x97, 0x18, 0x44, 0x5a, 0x39, 0x23, 0x22, 0x37, 0xb3, 0x2e, - 0xf3, 0x1b, 0xec, 0xca, 0xee, 0x9e, 0x4f, 0xd1, 0x5a, 0xd1, 0x44, 0x1f, 0x69, 0x25, 0x63, 0x17, - 0x6b, 0x25, 0x12, 0x58, 0x09, 0x58, 0xa4, 0x95, 0x75, 0x42, 0x39, 0x6f, 0x9d, 0x89, 0x55, 0xd3, - 0x3b, 0xed, 0x5b, 0xd8, 0x83, 0x55, 0x7e, 0x85, 0xf1, 0x99, 0x37, 0x83, 0x3b, 0x68, 0x50, 0x45, - 0x08, 0x6b, 0x9b, 0xff, 0xbe, 0xc2, 0xce, 0x98, 0xe1, 0x78, 0xf4, 0xfa, 0x78, 0x30, 0x2c, 0xae, - 0xbf, 0xc2, 0x4e, 0x0a, 0xd5, 0x2f, 0x6f, 0xdf, 0xee, 0xc0, 0x62, 0x30, 0xa4, 0xc3, 0xc3, 0x52, - 0x44, 0x39, 0xfc, 0x7b, 0xf8, 0xff, 0x64, 0x90, 0xbc, 0xdd, 0xf1, 0x0d, 0xa1, 0xda, 0xb0, 0xc4, - 0xcf, 0x31, 0xd6, 0xee, 0x78, 0xeb, 0x44, 0x3b, 0x56, 0x4d, 0x38, 0x45, 0x60, 0x57, 0xd8, 0x14, - 0x96, 0xf9, 0x59, 0xb6, 0xd6, 0xee, 0x78, 0x6d, 0x44, 0x94, 0x20, 0xac, 0x04, 0x27, 0xed, 0x8e, - 0x97, 0xc5, 0x99, 0xce, 0xb0, 0xd5, 0x76, 0xc7, 0x63, 0xa6, 0xa3, 0x16, 0xac, 0xf1, 0x8b, 0xec, - 0x7c, 0xbb, 0xe3, 0x9d, 0x6e, 0xa3, 0xda, 0x11, 0x91, 0xd3, 0xa6, 0x0f, 0x2c, 0x5c, 0x69, 0xb6, - 0xda, 0x77, 0xb4, 0x43, 0xef, 0x84, 0x69, 0xa2, 0xb3, 0x70, 0x9a, 0xdf, 0x66, 0xd7, 0xdf, 0x61, - 0xa2, 0xd9, 0x34, 0xd8, 0x14, 0xae, 0x64, 0x59, 0x38, 0x13, 0xa2, 0xf6, 0x0e, 0xde, 0x41, 0x94, - 0x68, 0x2c, 0x9c, 0x0d, 0x51, 0x79, 0x77, 0x58, 0x2f, 0x31, 0x09, 0xab, 0x62, 0xad, 0xe0, 0x1c, - 0xbf, 0xc6, 0x2e, 0x55, 0xa0, 0x8e, 0x48, 0x62, 0x29, 0x9c, 0x36, 0x70, 0x9e, 0x6e, 0x24, 0x72, - 0xd7, 0x02, 0x20, 0x0f, 0xe1, 0xc7, 0x34, 0x2e, 0xde, 0x3a, 0x6d, 0x10, 0x2e, 0x70, 0xce, 0xce, - 0x91, 0x2c, 0xde, 0xe6, 0x59, 0x96, 0xf4, 0x81, 0xf3, 0x0b, 0xec, 0xec, 0xd4, 0x26, 0x51, 0xe9, - 0x14, 0x2e, 0x86, 0xd0, 0x4e, 0x4d, 0x0d, 0x91, 0x08, 0x15, 0xa1, 0x85, 0x4b, 0xe4, 0xb7, 0x2a, - 0x00, 0x2d, 0xb8, 0xcc, 0x6f, 0xb1, 0x6b, 0x75, 0x28, 0x45, 0x27, 0xa4, 0x70, 0x02, 0xae, 0xbc, - 0x6f, 0xa1, 0x90, 0x69, 0xac, 0xe0, 0x2a, 0xbf, 0xc9, 0xae, 0xd6, 0xa1, 0xc8, 0x60, 0x71, 0xab, - 0x6b, 0x04, 0x92, 0x42, 0xd8, 0x8b, 0x5a, 0x42, 0x35, 0xd1, 0x1b, 0xe1, 0x10, 0xae, 0x87, 0x14, - 0xad, 0x29, 0x9f, 0xa1, 0x12, 0x89, 0xeb, 0xfb, 0x48, 0xe7, 0xca, 0xa1, 0x81, 0x1b, 0x74, 0x2c, - 0xe2, 0x64, 0x26, 0x8e, 0xd0, 0x5b, 0x25, 0x32, 0xdb, 0xd2, 0x0e, 0x6e, 0xf2, 0x3b, 0xec, 0xe6, - 0xf7, 0xe5, 0x8c, 0xb5, 0xf2, 0x99, 0xee, 0xa2, 0x81, 0x5b, 0x14, 0xdc, 0x29, 0xc1, 0x69, 0x27, - 0x12, 0xc2, 0x6e, 0xd3, 0xf6, 0xdf, 0x8b, 0x85, 0x0d, 0x29, 0x5f, 0xc8, 0x0e, 0xeb, 0xfc, 0x1e, - 0xbb, 0x53, 0xe1, 0xe4, 0xaa, 0x11, 0xaa, 0x61, 0x3e, 0xa8, 0x77, 0xf8, 0x03, 0x76, 0xef, 0x47, - 0x48, 0xc1, 0x3b, 0xdc, 0x25, 0x35, 0xa6, 0x44, 0x83, 0x15, 0x2f, 0x1f, 0xd5, 0xb6, 0xaa, 0x82, - 0x61, 0xb5, 0xb7, 0x26, 0x82, 0x8d, 0x1f, 0x23, 0x49, 0xeb, 0xe0, 0x1e, 0xff, 0x88, 0xdd, 0xfe, - 0x10, 0x69, 0x2f, 0xc7, 0x1c, 0xe1, 0x7e, 0x68, 0x2c, 0xef, 0xbb, 0x3b, 0xe1, 0x3f, 0xa9, 0xe1, - 0xad, 0x38, 0x64, 0x5f, 0x1c, 0x89, 0xc4, 0xc7, 0x6a, 0x47, 0xc3, 0xc7, 0xb5, 0x3c, 0x9e, 0x5d, - 0x19, 0x1e, 0x7c, 0x58, 0xd5, 0x46, 0x9f, 0x94, 0xff, 0x29, 0xd5, 0xa1, 0x8c, 0x43, 0x07, 0x69, - 0xe4, 0xc5, 0xfd, 0x1f, 0x52, 0xa4, 0xab, 0xc6, 0x50, 0x52, 0x3e, 0xd3, 0x3a, 0x81, 0x4d, 0x7e, - 0x97, 0xdd, 0xaa, 0xa3, 0x99, 0xd1, 0x99, 0xb6, 0x68, 0x7c, 0x1b, 0xfb, 0xf0, 0x09, 0x45, 0x61, - 0x8e, 0xa1, 0x73, 0x17, 0x5a, 0x95, 0x2c, 0x65, 0xe8, 0x0a, 0x23, 0x2d, 0x3c, 0xe2, 0x9f, 0xb0, - 0x07, 0x75, 0x22, 0x29, 0xa4, 0x8d, 0xef, 0xc6, 0xae, 0x25, 0x8d, 0xe8, 0x96, 0x09, 0xf0, 0xe9, - 0x0f, 0x93, 0xad, 0x13, 0xc6, 0x05, 0xe7, 0x85, 0x2a, 0x5b, 0x7c, 0x93, 0x7d, 0x5c, 0x27, 0x87, - 0xa8, 0x54, 0xe4, 0x9b, 0x9e, 0x62, 0xfb, 0x7d, 0xc7, 0x0d, 0xdc, 0x28, 0x37, 0x06, 0x95, 0x9b, - 0x11, 0x3f, 0xe3, 0x0f, 0xd9, 0xfd, 0xf7, 0x11, 0x45, 0x14, 0xe5, 0xa9, 0x2f, 0x46, 0x8e, 0xb5, - 0x41, 0xc1, 0xc7, 0x54, 0x0d, 0x73, 0x4c, 0x9b, 0x08, 0xdb, 0xf2, 0xd8, 0x41, 0xe5, 0xe0, 0xc9, - 0x54, 0x62, 0xec, 0xf9, 0x59, 0xa3, 0x4e, 0xb4, 0x6a, 0x36, 0xb4, 0x6e, 0xc3, 0x53, 0x6a, 0x76, - 0x73, 0xa8, 0x6d, 0x69, 0xe3, 0x0a, 0xf8, 0x67, 0xd4, 0xec, 0x02, 0x6c, 0xd1, 0xb9, 0x04, 0xd3, - 0xe0, 0xf3, 0xe7, 0xa1, 0xeb, 0x93, 0x39, 0x13, 0xb1, 0xa1, 0x29, 0x03, 0xbf, 0xe0, 0xe7, 0xd9, - 0x69, 0xb2, 0xbb, 0xae, 0xc8, 0xe0, 0x97, 0x1c, 0xd8, 0x99, 0x29, 0x31, 0x94, 0x31, 0xfc, 0x8a, - 0xca, 0x61, 0xde, 0xa3, 0x47, 0xe5, 0x4c, 0x1f, 0x7e, 0x4d, 0x95, 0x1b, 0x40, 0x83, 0xcd, 0xd8, - 0x3a, 0x34, 0x28, 0x8b, 0x2d, 0xe0, 0xf3, 0x8a, 0x2b, 0x6d, 0x24, 0x1a, 0xf8, 0x0d, 0x75, 0xc0, - 0xe2, 0xec, 0xa1, 0xd7, 0x25, 0xf0, 0xdb, 0x69, 0xc6, 0x60, 0x2f, 0x48, 0x15, 0xfa, 0x89, 0x17, - 0x91, 0x8b, 0x3b, 0x58, 0xae, 0xb1, 0xf0, 0xbb, 0xca, 0x8d, 0x84, 0xb5, 0xe8, 0x7c, 0x12, 0x5b, - 0x07, 0xbf, 0xa7, 0xdc, 0x0e, 0x66, 0x85, 0x3d, 0x57, 0xd2, 0x7d, 0x2c, 0x41, 0x54, 0x14, 0x2a, - 0x90, 0xca, 0xa9, 0x63, 0x09, 0x0d, 0x7e, 0x95, 0x5d, 0x24, 0x38, 0x15, 0x2e, 0x6a, 0x79, 0x83, - 0x36, 0x4f, 0x1c, 0x44, 0x54, 0x4d, 0xb5, 0x8b, 0xce, 0xfc, 0xca, 0xca, 0x41, 0x4a, 0x63, 0xa1, - 0x38, 0x52, 0x0f, 0x17, 0x51, 0x84, 0xd6, 0x16, 0x21, 0xd1, 0x09, 0x34, 0xf9, 0x23, 0xf6, 0xb0, - 0x6e, 0x2d, 0x06, 0xa1, 0x97, 0x98, 0x85, 0x81, 0xaf, 0xa2, 0xbe, 0x4f, 0x45, 0x96, 0x85, 0x72, - 0x6c, 0x91, 0x54, 0x05, 0x1e, 0x69, 0x89, 0x10, 0x53, 0x12, 0x90, 0xa5, 0x36, 0xfc, 0x77, 0x49, - 0xf6, 0x79, 0xb4, 0x1c, 0x3d, 0x6d, 0x12, 0xa6, 0xc0, 0x2c, 0xee, 0xe5, 0x61, 0xbc, 0x17, 0xb5, - 0x97, 0x50, 0xc7, 0x99, 0x5f, 0x15, 0xb6, 0xa3, 0xd4, 0xef, 0x43, 0x4a, 0xc9, 0x39, 0x4f, 0x69, - 0xf4, 0x4b, 0x56, 0x2c, 0x41, 0x91, 0xb8, 0x05, 0x21, 0x8b, 0x95, 0x42, 0x49, 0x98, 0x0a, 0x93, - 0x5c, 0xd3, 0x16, 0xc5, 0x48, 0x6c, 0x26, 0xba, 0x51, 0x56, 0x40, 0x11, 0x56, 0x95, 0xa7, 0x0d, - 0x34, 0x90, 0xd1, 0xb0, 0x0f, 0x94, 0x67, 0xb0, 0x47, 0x09, 0xb8, 0x83, 0xd8, 0x34, 0x42, 0x39, - 0x30, 0x34, 0xc3, 0xa6, 0x06, 0x2f, 0x92, 0x44, 0x77, 0x43, 0xb2, 0x80, 0x25, 0x6e, 0x51, 0x2c, - 0x41, 0x36, 0x47, 0xc9, 0x33, 0x35, 0x94, 0x0d, 0x38, 0x6e, 0xaa, 0x59, 0xad, 0xe7, 0x54, 0x96, - 0x33, 0x46, 0x50, 0xd0, 0x67, 0x79, 0xa3, 0x8d, 0x7d, 0x6f, 0x30, 0x29, 0xbb, 0x6d, 0x10, 0xa7, - 0x43, 0x61, 0x2c, 0xd2, 0x02, 0x53, 0xca, 0xd8, 0x6e, 0x25, 0xe6, 0xc1, 0x4a, 0x59, 0xdb, 0xab, - 0x94, 0x53, 0x30, 0x4b, 0xcc, 0xb4, 0x8d, 0x1d, 0xf4, 0xa7, 0x2d, 0xb3, 0x52, 0x9c, 0xf0, 0xac, - 0x52, 0x40, 0xa1, 0x8c, 0x29, 0x79, 0x0a, 0x51, 0xe0, 0x0f, 0x95, 0x62, 0x2f, 0xaa, 0x78, 0x0e, - 0xfd, 0x63, 0xf5, 0x7d, 0x20, 0xc3, 0x5b, 0xcd, 0xa0, 0x84, 0x3f, 0xf1, 0xfb, 0xec, 0x6e, 0xdd, - 0xea, 0x53, 0x2d, 0xf3, 0x04, 0xbd, 0xeb, 0x51, 0x28, 0x3c, 0x3d, 0xb0, 0xb0, 0x93, 0xc2, 0x9f, - 0xe9, 0x39, 0x82, 0x9d, 0x74, 0xfa, 0xcc, 0x80, 0x7d, 0xf2, 0x1d, 0x6c, 0xce, 0x08, 0x65, 0xe3, - 0xd0, 0x28, 0x0e, 0xe8, 0x3c, 0xc1, 0x3a, 0x0d, 0xdc, 0x3b, 0x74, 0x40, 0x57, 0x09, 0xe8, 0x74, - 0xbf, 0x19, 0xf8, 0x35, 0x25, 0x71, 0x00, 0x95, 0x0e, 0x5b, 0x0c, 0x2b, 0xdb, 0x1a, 0x8c, 0x30, - 0xce, 0x1c, 0xfc, 0x85, 0xde, 0x88, 0xc1, 0x66, 0x9f, 0x20, 0x3c, 0xaf, 0xfc, 0xc6, 0x27, 0x16, - 0xbe, 0xa9, 0x1c, 0xab, 0x4c, 0x4d, 0x61, 0x5b, 0xf0, 0x82, 0x42, 0x3f, 0xb5, 0xc2, 0x5f, 0xeb, - 0x34, 0x1b, 0x3f, 0x43, 0xf8, 0x96, 0x6a, 0xbb, 0x50, 0xa6, 0x8b, 0xf1, 0xec, 0xb2, 0x2f, 0x69, - 0x22, 0xcf, 0xe2, 0x48, 0xc1, 0xb1, 0xe1, 0x59, 0x9c, 0x19, 0x1d, 0x8a, 0x14, 0x0e, 0x6b, 0x24, - 0xa9, 0xbb, 0xca, 0x3a, 0x83, 0xa2, 0xc2, 0x87, 0xa3, 0x8d, 0xa5, 0xd5, 0x2f, 0xe0, 0x8b, 0x8d, - 0xa5, 0xd5, 0x2f, 0xe1, 0xcb, 0x8d, 0xa5, 0xd5, 0x1d, 0xd8, 0xd9, 0x58, 0x5a, 0xfd, 0x0a, 0xbe, - 0xda, 0x7c, 0xc4, 0x78, 0x77, 0x7f, 0x7c, 0x98, 0x0e, 0xc7, 0xe3, 0xfd, 0xe7, 0x43, 0xfb, 0xfa, - 0x60, 0x12, 0x1e, 0xd1, 0x6b, 0xec, 0xd4, 0x5e, 0x8e, 0x26, 0x3c, 0xa3, 0x4f, 0xb3, 0x15, 0xec, - 0x61, 0x94, 0x3b, 0x84, 0xc5, 0xc6, 0xee, 0x7f, 0xde, 0xac, 0x2f, 0x7e, 0xf7, 0x66, 0x7d, 0xf1, - 0x7f, 0x6f, 0xd6, 0x17, 0xff, 0xf5, 0x76, 0x7d, 0xe1, 0xbb, 0xb7, 0xeb, 0x0b, 0xff, 0x7d, 0xbb, - 0xbe, 0xf0, 0xec, 0xb3, 0xe7, 0x2f, 0x26, 0xdf, 0xbc, 0x3e, 0xd8, 0x1a, 0x8c, 0x0e, 0xb7, 0xe9, - 0x03, 0xa9, 0xfc, 0xf3, 0xe9, 0xf8, 0xeb, 0x6f, 0xb7, 0x83, 0xd3, 0xda, 0x17, 0xd3, 0xc1, 0x72, - 0xf1, 0xa1, 0xf4, 0xf4, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x26, 0x61, 0xa3, 0xab, 0x50, 0x0d, - 0x00, 0x00, + // 1334 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x56, 0xdd, 0x76, 0x13, 0x37, + 0x10, 0xce, 0x8f, 0x93, 0x38, 0x4a, 0x80, 0x89, 0xf8, 0x27, 0xc1, 0x80, 0x49, 0x81, 0x06, 0x48, + 0x20, 0xdc, 0xf5, 0x4e, 0xde, 0x9d, 0xd8, 0x9b, 0xdd, 0x95, 0xd6, 0x92, 0xd6, 0x8e, 0x39, 0x2d, + 0xaa, 0x63, 0x5c, 0xa0, 0x90, 0x98, 0x13, 0x9b, 0x9e, 0xd3, 0x67, 0xe8, 0x4d, 0x5f, 0xa3, 0x6f, + 0xd2, 0x4b, 0x2e, 0x7b, 0xd9, 0x03, 0x2f, 0xd2, 0xa3, 0xb5, 0xec, 0xd8, 0x4b, 0x28, 0x57, 0x3e, + 0x9e, 0xef, 0x9b, 0xd1, 0xce, 0x37, 0xa3, 0x19, 0x91, 0xcd, 0x4e, 0xaf, 0x7f, 0xd4, 0xeb, 0xef, + 0xb4, 0x3b, 0x9d, 0x6e, 0xbf, 0xdf, 0xe9, 0x1d, 0x0f, 0x4e, 0x7a, 0xef, 0x76, 0x3a, 0xbd, 0xe3, + 0xfe, 0xa0, 0x7d, 0x3c, 0xe8, 0x6f, 0xbf, 0x3f, 0xe9, 0x0d, 0x7a, 0x74, 0x63, 0xc8, 0xda, 0x9e, + 0x62, 0x6d, 0xff, 0xf6, 0xf4, 0xb0, 0x3b, 0x68, 0x3f, 0xdd, 0xfa, 0x81, 0x10, 0x96, 0x01, 0xfa, + 0xf7, 0xf7, 0x5d, 0xba, 0x42, 0x96, 0x52, 0x1e, 0x72, 0xd1, 0xe4, 0x30, 0x43, 0x8b, 0xa4, 0x20, + 0x91, 0xf9, 0x30, 0x4b, 0x97, 0xc9, 0x42, 0x53, 0x06, 0x1a, 0x61, 0x8e, 0x12, 0xb2, 0xe8, 0x89, + 0x38, 0x0e, 0x34, 0xcc, 0x6f, 0xfd, 0x31, 0x47, 0xd6, 0x87, 0xce, 0xe2, 0x7d, 0xf7, 0xa4, 0x3d, + 0x78, 0xd3, 0x3b, 0x56, 0xdd, 0x77, 0xdd, 0xce, 0xa0, 0x77, 0x92, 0x45, 0x2b, 0x92, 0x02, 0x17, + 0x1c, 0x61, 0x86, 0x2e, 0x92, 0xb9, 0xfd, 0x3a, 0xcc, 0xd2, 0xcb, 0x64, 0x6d, 0xbf, 0x6e, 0x2a, + 0xe8, 0xd5, 0x9e, 0xed, 0x1a, 0xe6, 0xfb, 0x12, 0x95, 0x82, 0x39, 0x5a, 0x22, 0x37, 0xf6, 0xeb, + 0x26, 0x42, 0x5e, 0xd5, 0x35, 0x93, 0x48, 0xdc, 0x0b, 0x0e, 0xd0, 0x1f, 0xe3, 0xf3, 0xf4, 0x3a, + 0xb9, 0xac, 0x90, 0xfb, 0x28, 0xf3, 0xae, 0x05, 0x5a, 0x26, 0x25, 0x07, 0x7d, 0xcd, 0x7d, 0x81, + 0x5e, 0x22, 0xe0, 0x09, 0xae, 0x25, 0xf3, 0xf4, 0xd8, 0xba, 0x48, 0x6f, 0x90, 0x2b, 0xfb, 0x75, + 0x13, 0xa3, 0x52, 0xac, 0x8a, 0xc6, 0x13, 0xdc, 0x0f, 0x74, 0x20, 0x38, 0x8b, 0x60, 0xc9, 0x62, + 0x9e, 0xe0, 0x4a, 0x33, 0xae, 0x8d, 0xd2, 0x32, 0xe0, 0x55, 0xa3, 0x85, 0xa9, 0xe1, 0x01, 0x14, + 0xe9, 0x15, 0x42, 0xc7, 0xd1, 0x24, 0xee, 0xa1, 0x44, 0xee, 0x21, 0x2c, 0x6f, 0xfd, 0xb5, 0x46, + 0x56, 0x65, 0xb7, 0xdf, 0xfb, 0x70, 0xd2, 0xe9, 0x66, 0xe9, 0x2f, 0x91, 0x79, 0xc6, 0x5b, 0xc3, + 0xec, 0xc3, 0x06, 0xcc, 0x5a, 0x43, 0xdc, 0x3d, 0x82, 0x39, 0x2b, 0x73, 0xd8, 0x30, 0x15, 0xc6, + 0x43, 0x28, 0xd0, 0xf3, 0x84, 0x84, 0x0d, 0xa3, 0x34, 0x0b, 0x03, 0x5e, 0x85, 0x05, 0x07, 0x36, + 0x99, 0x8a, 0x61, 0x91, 0x9e, 0x23, 0xcb, 0x61, 0xc3, 0x08, 0xc9, 0xbc, 0x08, 0x61, 0x89, 0xae, + 0x92, 0x62, 0xd8, 0x30, 0x98, 0x08, 0xaf, 0x06, 0xcb, 0xf4, 0x22, 0xb9, 0x10, 0x36, 0x8c, 0x16, + 0x21, 0xf2, 0x3d, 0xe6, 0x69, 0x21, 0x5b, 0x40, 0xec, 0xa7, 0x8f, 0x3d, 0x4c, 0x43, 0x68, 0x34, + 0x9a, 0xc9, 0x2a, 0x6a, 0x05, 0x2b, 0xf4, 0x26, 0xb9, 0x7e, 0x8a, 0xb1, 0x6a, 0x55, 0x62, 0x95, + 0xe9, 0x21, 0x4b, 0xc1, 0xaa, 0xad, 0xce, 0x29, 0xbc, 0x87, 0xe8, 0xa3, 0x54, 0x70, 0xce, 0xaa, + 0x7f, 0xfa, 0x81, 0xc6, 0xc7, 0xc8, 0x7a, 0x05, 0x82, 0xc3, 0x79, 0x7a, 0x8d, 0x5c, 0x9a, 0x80, + 0x1a, 0x2c, 0x0a, 0x7c, 0xa6, 0x85, 0x84, 0x0b, 0x2e, 0x0b, 0x96, 0xea, 0x1a, 0x80, 0x8b, 0x60, + 0xff, 0x8c, 0xf4, 0x37, 0x4a, 0x0b, 0x89, 0xb0, 0x46, 0x29, 0x39, 0xef, 0xa4, 0x30, 0x2a, 0x4d, + 0x92, 0xa8, 0x05, 0x94, 0xae, 0x91, 0x73, 0x23, 0x9b, 0x8f, 0x5c, 0xc4, 0x70, 0xd1, 0x96, 0x70, + 0x64, 0xaa, 0xb0, 0x88, 0x71, 0x0f, 0x15, 0x5c, 0x72, 0x71, 0x27, 0x05, 0x70, 0x0e, 0x97, 0xe9, + 0x06, 0xb9, 0x96, 0x87, 0x62, 0xd4, 0xcc, 0x67, 0x9a, 0xc1, 0x95, 0xb3, 0x1c, 0x99, 0x1f, 0x07, + 0x1c, 0xae, 0xd2, 0x75, 0x72, 0x35, 0x0f, 0x79, 0x12, 0xb3, 0xac, 0xae, 0x39, 0xd0, 0x29, 0x84, + 0x07, 0x5e, 0x8d, 0xf1, 0x2a, 0x1a, 0xc9, 0x34, 0xc2, 0x75, 0xdb, 0x8a, 0x39, 0xe5, 0x13, 0xe4, + 0x2c, 0xd2, 0x2d, 0xe3, 0x89, 0x94, 0x6b, 0x94, 0x70, 0xc3, 0x7d, 0x96, 0xe3, 0x24, 0x32, 0xf0, + 0xd0, 0x28, 0xce, 0x12, 0x55, 0x13, 0x1a, 0xd6, 0xe9, 0x2d, 0xb2, 0xfe, 0xa5, 0x9c, 0x81, 0xe0, + 0x26, 0x11, 0x4d, 0x94, 0xb0, 0xe1, 0x8a, 0x3b, 0x22, 0x68, 0xa1, 0x59, 0xe4, 0xb0, 0x9b, 0xee, + 0xf8, 0x2f, 0x6a, 0xa1, 0x6c, 0x6b, 0x67, 0xb2, 0x43, 0x89, 0xde, 0x25, 0xb7, 0x26, 0x38, 0x29, + 0xaf, 0xd8, 0xae, 0x9f, 0x2e, 0xea, 0x2d, 0x7a, 0x9f, 0xdc, 0xfd, 0x06, 0xc9, 0x46, 0x87, 0xdb, + 0x4e, 0x8d, 0x11, 0x51, 0xe2, 0x44, 0x94, 0x3b, 0xb9, 0xa3, 0x26, 0x41, 0xeb, 0x6d, 0x94, 0xf4, + 0xa0, 0xfc, 0x2d, 0x92, 0xaf, 0x34, 0xdc, 0xa5, 0x77, 0xc8, 0xcd, 0xaf, 0x91, 0xea, 0x29, 0xa6, + 0x08, 0x9b, 0x76, 0x80, 0x9c, 0x95, 0xbb, 0xc3, 0xbf, 0xcb, 0xe1, 0xb5, 0xc0, 0x76, 0x5f, 0xe0, + 0xb1, 0xc8, 0x04, 0x7c, 0x4f, 0xc0, 0xbd, 0x5c, 0x1f, 0x8f, 0x53, 0x86, 0xfb, 0x5f, 0x57, 0xb5, + 0xd2, 0x72, 0xca, 0x7f, 0xef, 0xee, 0xa1, 0x1f, 0xd8, 0x49, 0x51, 0x49, 0xb3, 0xfc, 0x1f, 0xb8, + 0x4a, 0x4f, 0x1a, 0xed, 0x95, 0x32, 0x89, 0x10, 0x11, 0x6c, 0xd1, 0xdb, 0x64, 0x23, 0x8f, 0x26, + 0x52, 0x24, 0x42, 0xa1, 0x34, 0x21, 0xb6, 0xe0, 0xa1, 0xab, 0xc2, 0x14, 0x43, 0xa4, 0xda, 0x8e, + 0x24, 0x7f, 0x28, 0x43, 0x93, 0x49, 0x5f, 0xc1, 0x23, 0xfa, 0x90, 0xdc, 0xcf, 0x13, 0x9d, 0x42, + 0x42, 0x9a, 0x66, 0xa0, 0x6b, 0xbe, 0x64, 0xcd, 0x61, 0x03, 0x3c, 0xfe, 0x7f, 0xb2, 0xd2, 0x4c, + 0x6a, 0x1b, 0x3c, 0x53, 0x65, 0x9b, 0x6e, 0x91, 0x7b, 0x79, 0xb2, 0xad, 0xca, 0x84, 0x7c, 0xa3, + 0xaf, 0xd8, 0x39, 0xeb, 0x73, 0x2d, 0xd7, 0x4b, 0xa5, 0x44, 0xae, 0xc7, 0xc4, 0x27, 0xf4, 0x01, + 0xd9, 0x3c, 0x8b, 0xc8, 0x3c, 0x2f, 0x8d, 0x4d, 0xb6, 0x5a, 0x94, 0xb2, 0x0a, 0x3e, 0x75, 0xb7, + 0x61, 0x8a, 0xa9, 0x22, 0xa6, 0x6a, 0x06, 0x1b, 0xc8, 0x35, 0xec, 0xba, 0xa1, 0xc0, 0x3c, 0x0f, + 0x95, 0xca, 0x46, 0xb2, 0x88, 0xa0, 0x4a, 0x1f, 0x91, 0x07, 0x79, 0x6b, 0x36, 0x4d, 0x8d, 0x8f, + 0x89, 0xdd, 0x14, 0xdc, 0x6b, 0x99, 0x98, 0x25, 0x89, 0xad, 0x6f, 0x8d, 0x02, 0x59, 0x75, 0xd3, + 0xd6, 0x78, 0xc2, 0x47, 0x08, 0x5c, 0xe1, 0x9c, 0x25, 0xb7, 0x35, 0xf6, 0xdd, 0x0d, 0x9c, 0x46, + 0x87, 0xb3, 0x2c, 0x74, 0x5d, 0x94, 0x61, 0x0a, 0xeb, 0xa9, 0xdd, 0x0b, 0x59, 0x31, 0x23, 0xd7, + 0xc2, 0xd3, 0x5e, 0xf6, 0x38, 0xa7, 0x65, 0x0b, 0x62, 0x97, 0xed, 0x34, 0xa5, 0xd2, 0x1a, 0xb2, + 0x02, 0x1f, 0xb8, 0x1b, 0xde, 0x19, 0x21, 0x09, 0x38, 0x47, 0xdf, 0x61, 0xdc, 0xc7, 0x03, 0x10, + 0xee, 0x88, 0x6c, 0xc6, 0x56, 0x23, 0x51, 0x19, 0x4a, 0x6a, 0xe7, 0x8e, 0xe1, 0x69, 0x5c, 0x41, + 0x09, 0x89, 0xdb, 0x1e, 0x96, 0xf2, 0x1c, 0xea, 0xf4, 0x02, 0x59, 0x09, 0x1b, 0xb6, 0x27, 0xab, + 0x92, 0x71, 0x0d, 0xd2, 0x0d, 0xc5, 0x91, 0xc1, 0xb0, 0x28, 0x12, 0x4d, 0x3b, 0x69, 0x41, 0x39, + 0x6e, 0xa6, 0xbe, 0x95, 0x4d, 0xbb, 0xfe, 0x1d, 0x19, 0x86, 0x37, 0x3a, 0xa8, 0xf2, 0x71, 0xf3, + 0xa4, 0xae, 0xce, 0x63, 0x86, 0x55, 0xd0, 0x24, 0x69, 0x25, 0xc4, 0x96, 0x91, 0x18, 0x0d, 0xaf, + 0xaf, 0x15, 0xa7, 0x31, 0x39, 0xdb, 0x7d, 0xbb, 0x4f, 0x25, 0xfa, 0xf0, 0x13, 0xdd, 0x24, 0xb7, + 0xf3, 0x56, 0x13, 0x0b, 0x3f, 0x8d, 0xd0, 0xe8, 0x03, 0x97, 0xb5, 0xb1, 0xcf, 0x11, 0xbb, 0x10, + 0x1b, 0x31, 0xfc, 0xec, 0x56, 0x09, 0x36, 0xe2, 0xd1, 0x8a, 0x80, 0xb6, 0x8b, 0x6d, 0x6d, 0x5a, + 0x32, 0xae, 0x02, 0xdb, 0x38, 0x87, 0xae, 0xc4, 0xd6, 0x3a, 0xd2, 0xe8, 0x14, 0xed, 0xb8, 0xb1, + 0x66, 0xd1, 0xd1, 0x79, 0x63, 0xf0, 0xa5, 0xeb, 0x17, 0x0b, 0x72, 0x61, 0x8f, 0xe8, 0x4e, 0x1c, + 0x2b, 0xd1, 0xc3, 0x20, 0xd1, 0xf0, 0x8b, 0xdb, 0xe9, 0xd6, 0xa6, 0x76, 0x11, 0x5e, 0x4d, 0xfc, + 0xc7, 0x5d, 0x05, 0xaf, 0x27, 0x3e, 0x6b, 0xd8, 0x05, 0x4c, 0xd5, 0xe0, 0x8d, 0x53, 0x79, 0x64, + 0x85, 0x5f, 0xf3, 0x34, 0x15, 0x3c, 0x47, 0x78, 0x4b, 0xaf, 0x92, 0x8b, 0x23, 0x65, 0x9a, 0x18, + 0x8c, 0x93, 0x7d, 0x57, 0x2e, 0x14, 0xe7, 0x61, 0xbe, 0x5c, 0x28, 0x16, 0xa1, 0x58, 0x2e, 0x14, + 0x9f, 0xc1, 0x5e, 0xb9, 0x50, 0x6c, 0xc2, 0x8f, 0xe5, 0x42, 0xf1, 0x05, 0xbc, 0x28, 0x17, 0x8a, + 0x47, 0x70, 0x54, 0x2e, 0x14, 0x8f, 0xe1, 0x78, 0xeb, 0x11, 0xa1, 0xcd, 0x76, 0xff, 0x28, 0xee, + 0xf6, 0xfb, 0xed, 0x57, 0x5d, 0xf5, 0xe1, 0x70, 0x60, 0x1f, 0x2c, 0xcb, 0x64, 0xa1, 0x9e, 0xa2, + 0xb4, 0x4f, 0x96, 0x15, 0xb2, 0x84, 0x07, 0xe8, 0xa5, 0x1a, 0x61, 0xb6, 0xb2, 0xff, 0xf7, 0xa7, + 0xd2, 0xec, 0xc7, 0x4f, 0xa5, 0xd9, 0x7f, 0x3f, 0x95, 0x66, 0xff, 0xfc, 0x5c, 0x9a, 0xf9, 0xf8, + 0xb9, 0x34, 0xf3, 0xcf, 0xe7, 0xd2, 0xcc, 0xf3, 0x27, 0xaf, 0xde, 0x0c, 0x5e, 0x7f, 0x38, 0xdc, + 0xee, 0xf4, 0x8e, 0x76, 0xdc, 0x63, 0x74, 0xf8, 0xf3, 0xb8, 0xff, 0xf2, 0xed, 0x8e, 0x0d, 0x9a, + 0x7b, 0x9d, 0x1e, 0x2e, 0x66, 0x8f, 0xd2, 0x67, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x49, 0xc1, + 0x70, 0xf6, 0xbc, 0x0a, 0x00, 0x00, } diff --git a/types/accesscontrol/resource.go b/types/accesscontrol/resource.go index 5bbe30e61..5bf410863 100644 --- a/types/accesscontrol/resource.go +++ b/types/accesscontrol/resource.go @@ -9,7 +9,6 @@ var ResourceTree = map[ResourceType]TreeNode{ ResourceType_ANY: {ResourceType_ANY, []ResourceType{ResourceType_KV, ResourceType_Mem}}, ResourceType_KV: {ResourceType_ANY, []ResourceType{ ResourceType_KV_BANK, - ResourceType_KV_DEX, ResourceType_KV_EPOCH, ResourceType_KV_ORACLE, ResourceType_KV_STAKING, @@ -24,10 +23,7 @@ var ResourceTree = map[ResourceType]TreeNode{ ResourceType_KV_BANK_DEFERRED, ResourceType_KV_EVM, }}, - ResourceType_Mem: {ResourceType_ANY, []ResourceType{ - ResourceType_DexMem, - }}, - ResourceType_DexMem: {ResourceType_Mem, []ResourceType{}}, + ResourceType_Mem: {ResourceType_ANY, []ResourceType{}}, ResourceType_KV_BANK: {ResourceType_KV, []ResourceType{ ResourceType_KV_BANK_SUPPLY, ResourceType_KV_BANK_DENOM, @@ -84,53 +80,6 @@ var ResourceTree = map[ResourceType]TreeNode{ ResourceType_KV_ORACLE_VOTE_TARGETS: {ResourceType_KV_ORACLE, []ResourceType{}}, ResourceType_KV_ORACLE_AGGREGATE_VOTES: {ResourceType_KV_ORACLE, []ResourceType{}}, ResourceType_KV_ORACLE_FEEDERS: {ResourceType_KV_ORACLE, []ResourceType{}}, - ResourceType_KV_DEX: {ResourceType_KV, []ResourceType{ - ResourceType_KV_DEX_CONTRACT_LONGBOOK, - ResourceType_KV_DEX_CONTRACT_SHORTBOOK, - ResourceType_KV_DEX_ORDER_BOOK, - ResourceType_KV_DEX_PAIR_PREFIX, - ResourceType_KV_DEX_TWAP, - ResourceType_KV_DEX_PRICE, - ResourceType_KV_DEX_CONTRACT, - ResourceType_KV_DEX_SETTLEMENT_ENTRY, - ResourceType_KV_DEX_REGISTERED_PAIR, - ResourceType_KV_DEX_ORDER, - ResourceType_KV_DEX_CANCEL, - ResourceType_KV_DEX_ACCOUNT_ACTIVE_ORDERS, - ResourceType_KV_DEX_ASSET_LIST, - ResourceType_KV_DEX_NEXT_ORDER_ID, - ResourceType_KV_DEX_NEXT_SETTLEMENT_ID, - ResourceType_KV_DEX_MATCH_RESULT, - ResourceType_KV_DEX_SETTLEMENT_ORDER_ID, - ResourceType_KV_DEX_SETTLEMENT, - ResourceType_KV_DEX_MEM_ORDER, - ResourceType_KV_DEX_MEM_CANCEL, - ResourceType_KV_DEX_MEM_DEPOSIT, - ResourceType_KV_DEX_LONG_ORDER_COUNT, - ResourceType_KV_DEX_SHORT_ORDER_COUNT, - ResourceType_KV_DEX_MEM_CONTRACTS_TO_PROCESS, - ResourceType_KV_DEX_MEM_DOWNSTREAM_CONTRACTS, - }}, - ResourceType_KV_DEX_CONTRACT_LONGBOOK: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_CONTRACT_SHORTBOOK: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_ORDER_BOOK: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_CONTRACT: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_LONG_ORDER_COUNT: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_SHORT_ORDER_COUNT: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_PAIR_PREFIX: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_TWAP: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_PRICE: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_SETTLEMENT_ENTRY: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_REGISTERED_PAIR: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_ORDER: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_CANCEL: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_ACCOUNT_ACTIVE_ORDERS: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_ASSET_LIST: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_NEXT_ORDER_ID: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_NEXT_SETTLEMENT_ID: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_MATCH_RESULT: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_SETTLEMENT_ORDER_ID: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_SETTLEMENT: {ResourceType_KV_DEX, []ResourceType{}}, ResourceType_KV_TOKENFACTORY: {ResourceType_KV, []ResourceType{ ResourceType_KV_TOKENFACTORY_DENOM, ResourceType_KV_TOKENFACTORY_METADATA, @@ -196,11 +145,6 @@ var ResourceTree = map[ResourceType]TreeNode{ ResourceType_KV_SLASHING: {ResourceType_KV, []ResourceType{ResourceType_KV_SLASHING_VAL_SIGNING_INFO, ResourceType_KV_SLASHING_ADDR_PUBKEY_RELATION_KEY}}, ResourceType_KV_SLASHING_VAL_SIGNING_INFO: {ResourceType_KV_SLASHING, []ResourceType{}}, ResourceType_KV_SLASHING_ADDR_PUBKEY_RELATION_KEY: {ResourceType_KV_SLASHING, []ResourceType{}}, - ResourceType_KV_DEX_MEM_ORDER: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_MEM_CANCEL: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_MEM_DEPOSIT: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_MEM_CONTRACTS_TO_PROCESS: {ResourceType_KV_DEX, []ResourceType{}}, - ResourceType_KV_DEX_MEM_DOWNSTREAM_CONTRACTS: {ResourceType_KV_DEX, []ResourceType{}}, ResourceType_KV_EVM: {ResourceType_KV, []ResourceType{ ResourceType_KV_EVM_BALANCE, ResourceType_KV_EVM_TRANSIENT, diff --git a/x/accesscontrol/types/graph_test.go b/x/accesscontrol/types/graph_test.go index 9d0cb735c..3aaf2fdb8 100644 --- a/x/accesscontrol/types/graph_test.go +++ b/x/accesscontrol/types/graph_test.go @@ -150,7 +150,7 @@ func TestHierarchyDag(t *testing.T) { /** tx1: write to A, commit 1 tx2: read ALL, commit 2 - tx3: write B dexmem, commit 3 + tx3: write B mem, commit 3 tx4: read A, commit 4 expected dag 1wA -> 1c => 2rALL -> 2c @@ -171,7 +171,7 @@ func TestHierarchyDag(t *testing.T) { } writeB := acltypes.AccessOperation{ AccessType: acltypes.AccessType_WRITE, - ResourceType: acltypes.ResourceType_DexMem, + ResourceType: acltypes.ResourceType_Mem, IdentifierTemplate: "ResourceB", } readAll := acltypes.AccessOperation{ diff --git a/x/gov/keeper/proposal.go b/x/gov/keeper/proposal.go index fe144645a..3c44ece57 100644 --- a/x/gov/keeper/proposal.go +++ b/x/gov/keeper/proposal.go @@ -20,15 +20,6 @@ func (keeper Keeper) SubmitProposalWithExpedite(ctx sdk.Context, content types.C return types.Proposal{}, sdkerrors.Wrap(types.ErrNoProposalHandlerExists, content.ProposalRoute()) } - // Execute the proposal content in a new context branch (with branched store) - // to validate the actual parameter changes before the proposal proceeds - // through the governance process. State is not persisted. - cacheCtx, _ := ctx.CacheContext() - handler := keeper.router.GetRoute(content.ProposalRoute()) - if err := handler(cacheCtx, content); err != nil { - return types.Proposal{}, sdkerrors.Wrap(types.ErrInvalidProposalContent, err.Error()) - } - proposalID, err := keeper.GetProposalID(ctx) if err != nil { return types.Proposal{}, err