From b93b4ead3fa79392f709d99f7461e50d17c71cce Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:28:11 -0300 Subject: [PATCH 1/4] (feat) Added support for module. Added also example scripts for all permissions module's messages and queries --- chain/auction/types/tx.pb.go | 66 +- chain/crypto/ethsecp256k1/ethsecp256k1.go | 10 +- chain/exchange/types/derivative_orders.go | 2 +- chain/exchange/types/msgs.go | 1 + chain/exchange/types/proposal.go | 6 +- chain/exchange/types/spot_orders.go | 4 +- chain/exchange/types/tx.pb.go | 465 +++---- chain/insurance/types/tx.pb.go | 100 +- chain/ocr/types/tx.pb.go | 151 +-- chain/oracle/types/codec.go | 6 + chain/oracle/types/errors.go | 4 + chain/oracle/types/events.pb.go | 271 +++- chain/oracle/types/genesis.pb.go | 206 ++- chain/oracle/types/key.go | 8 + chain/oracle/types/msgs.go | 70 +- chain/oracle/types/oracle.go | 5 + chain/oracle/types/oracle.pb.go | 1111 +++++++++++++++-- chain/oracle/types/params.go | 2 +- chain/oracle/types/proposal.go | 66 + chain/oracle/types/proposal.pb.go | 601 ++++++++- chain/oracle/types/query.pb.go | 1051 +++++++++++++--- chain/oracle/types/stork.go | 29 + chain/oracle/types/stork_oracle.go | 39 + chain/oracle/types/tx.pb.go | 513 +++++++- chain/peggy/types/msgs.pb.go | 224 ++-- chain/peggy/types/params.go | 2 +- chain/permissions/types/errors.go | 25 +- chain/permissions/types/events.pb.go | 364 +++++- chain/permissions/types/msgs.go | 227 ++++ chain/permissions/types/query.pb.go | 109 +- chain/permissions/types/tx.go | 130 -- chain/permissions/types/tx.pb.go | 146 +-- chain/permissions/types/types.go | 107 +- chain/tokenfactory/types/expected_keepers.go | 1 + chain/tokenfactory/types/tx.pb.go | 110 +- chain/wasmx/types/params.go | 2 +- chain/wasmx/types/tx.pb.go | 102 +- client/chain/chain.go | 59 + client/chain/chain_test_support.go | 23 + client/chain/tx_factory.go | 3 +- examples/chain/auction/1_MsgBid/example.go | 4 +- examples/chain/bank/1_MsgSend/example.go | 4 +- examples/chain/bank/2_MsgMultiSend/example.go | 10 +- .../14_MsgSubaccountTransfer/example.go | 4 +- .../15_MsgExternalTransfer/example.go | 4 +- .../chain/exchange/1_MsgDeposit/example.go | 4 +- .../chain/exchange/2_MsgWithdraw/example.go | 4 +- .../ibc/transfer/1_MsgTransfer/example.go | 4 +- .../chain/peggy/1_MsgSendToEth/example.go | 6 +- .../permissions/1_CreateNamespace/example.go | 92 ++ .../permissions/2_DeleteNamespace/example.go | 73 ++ .../permissions/3_UpdateNamespace/example.go | 77 ++ .../4_UpdateNamespaceRoles/example.go | 90 ++ .../5_RevokeNamespaceRoles/example.go | 80 ++ .../permissions/6_ClaimVoucher/example.go | 73 ++ .../query/1_AllNamespaces/example.go | 69 + .../query/2_NamespaceByDenom/example.go | 68 + .../query/3_AddressRoles/example.go | 69 + .../query/4_AddressesByRole/example.go | 69 + .../query/5_VouchersForAddress/example.go | 68 + .../chain/staking/1_MsgDelegate/example.go | 4 +- .../chain/tokenfactory/2_MsgMint/example.go | 4 +- .../chain/tokenfactory/3_MsgBurn/example.go | 4 +- go.mod | 8 +- go.sum | 12 +- 65 files changed, 5876 insertions(+), 1449 deletions(-) create mode 100644 chain/oracle/types/stork.go create mode 100644 chain/oracle/types/stork_oracle.go create mode 100644 chain/permissions/types/msgs.go delete mode 100644 chain/permissions/types/tx.go create mode 100644 examples/chain/permissions/1_CreateNamespace/example.go create mode 100644 examples/chain/permissions/2_DeleteNamespace/example.go create mode 100644 examples/chain/permissions/3_UpdateNamespace/example.go create mode 100644 examples/chain/permissions/4_UpdateNamespaceRoles/example.go create mode 100644 examples/chain/permissions/5_RevokeNamespaceRoles/example.go create mode 100644 examples/chain/permissions/6_ClaimVoucher/example.go create mode 100644 examples/chain/permissions/query/1_AllNamespaces/example.go create mode 100644 examples/chain/permissions/query/2_NamespaceByDenom/example.go create mode 100644 examples/chain/permissions/query/3_AddressRoles/example.go create mode 100644 examples/chain/permissions/query/4_AddressesByRole/example.go create mode 100644 examples/chain/permissions/query/5_VouchersForAddress/example.go diff --git a/chain/auction/types/tx.pb.go b/chain/auction/types/tx.pb.go index d2366e3f..28135196 100644 --- a/chain/auction/types/tx.pb.go +++ b/chain/auction/types/tx.pb.go @@ -214,39 +214,39 @@ func init() { } var fileDescriptor_0943fd5f0d415547 = []byte{ - // 497 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x4f, 0x6f, 0xd3, 0x30, - 0x1c, 0x8d, 0xe9, 0xa8, 0x54, 0x83, 0x06, 0x44, 0x15, 0xfd, 0x73, 0x48, 0x4b, 0x0e, 0x50, 0x2a, - 0x2d, 0x56, 0x8b, 0xc4, 0x61, 0x07, 0xd0, 0xca, 0x09, 0x89, 0x4a, 0x28, 0x13, 0x17, 0x2e, 0x93, - 0x13, 0x5b, 0xae, 0x11, 0xb1, 0xa3, 0xd8, 0xa9, 0xd8, 0x95, 0x13, 0xe2, 0xc4, 0x27, 0x40, 0xfb, - 0x08, 0x3b, 0x20, 0x3e, 0xc3, 0xc4, 0x69, 0xe2, 0xc4, 0x09, 0xa1, 0xf6, 0x30, 0x3e, 0x06, 0x4a, - 0xec, 0x74, 0x01, 0x69, 0x63, 0x97, 0xc4, 0x3f, 0xbf, 0xf7, 0x7b, 0xbf, 0xf7, 0x6c, 0x43, 0x9f, - 0x8b, 0x37, 0x34, 0xd6, 0x7c, 0x49, 0x11, 0xce, 0x63, 0xcd, 0xa5, 0x40, 0xcb, 0x49, 0x44, 0x35, - 0x9e, 0x20, 0xfd, 0x2e, 0x48, 0x33, 0xa9, 0xa5, 0xdb, 0xdb, 0x70, 0x02, 0xcb, 0x09, 0x2c, 0xa7, - 0xdf, 0x66, 0x92, 0xc9, 0x92, 0x85, 0x8a, 0x95, 0x69, 0xe8, 0x7b, 0xb1, 0x54, 0x89, 0x54, 0x28, - 0xc2, 0x8a, 0x6e, 0xe4, 0x62, 0xc9, 0x85, 0xc5, 0x3b, 0x16, 0x4f, 0x14, 0x43, 0xcb, 0x49, 0xf1, - 0xb3, 0x40, 0xcf, 0x00, 0x07, 0x46, 0xd1, 0x14, 0x16, 0x7a, 0x70, 0xb1, 0xd1, 0xca, 0x94, 0x21, - 0xde, 0xc1, 0x09, 0x17, 0x12, 0x95, 0x5f, 0xb3, 0xe5, 0x7f, 0x06, 0xb0, 0x39, 0x57, 0x6c, 0xc6, - 0x89, 0x7b, 0x17, 0x36, 0x15, 0x15, 0x84, 0x66, 0x5d, 0x30, 0x04, 0xa3, 0x56, 0x68, 0x2b, 0xf7, - 0x09, 0x84, 0x11, 0x27, 0x07, 0x38, 0x91, 0xb9, 0xd0, 0xdd, 0x6b, 0x43, 0x30, 0xba, 0x31, 0xed, - 0x05, 0xd6, 0x41, 0x91, 0xa3, 0x8a, 0x1c, 0x3c, 0x93, 0x5c, 0xcc, 0xb6, 0x4e, 0x7e, 0x0e, 0x9c, - 0xb0, 0x15, 0x71, 0xb2, 0x57, 0x76, 0xb8, 0x6d, 0x78, 0x3d, 0x93, 0xb9, 0x20, 0xdd, 0xc6, 0x10, - 0x8c, 0xb6, 0x42, 0x53, 0xec, 0xde, 0xff, 0x70, 0x34, 0x70, 0x7e, 0x1f, 0x0d, 0x9c, 0xf7, 0x67, - 0xc7, 0x63, 0x3b, 0xea, 0xe3, 0xd9, 0xf1, 0x78, 0xbb, 0x8a, 0x60, 0x5c, 0xf9, 0xb7, 0xe1, 0xb6, - 0x59, 0x85, 0x54, 0xa5, 0x52, 0x28, 0xea, 0x7f, 0x05, 0xf0, 0xd6, 0x5c, 0xb1, 0x57, 0x29, 0xc1, - 0x9a, 0xbe, 0xc4, 0x19, 0x4e, 0x94, 0xfb, 0x18, 0xb6, 0x70, 0xae, 0x17, 0x32, 0xe3, 0xfa, 0xd0, - 0xd8, 0x9f, 0x75, 0xbf, 0x7f, 0xd9, 0x69, 0x5b, 0x97, 0x7b, 0x84, 0x64, 0x54, 0xa9, 0x7d, 0x9d, - 0x71, 0xc1, 0xc2, 0x73, 0xaa, 0xfb, 0x14, 0x36, 0xd3, 0x52, 0xc1, 0xe6, 0xba, 0x17, 0x5c, 0x78, - 0xa1, 0x81, 0x19, 0x65, 0xf3, 0xd9, 0xb6, 0xdd, 0x71, 0x61, 0xff, 0x5c, 0xb0, 0x48, 0xd0, 0xa9, - 0x25, 0xa8, 0x9b, 0xf4, 0x7b, 0xb0, 0xf3, 0xcf, 0x56, 0x95, 0x69, 0xfa, 0x0d, 0xc0, 0xc6, 0x5c, - 0x31, 0x77, 0x1f, 0x36, 0x8a, 0xab, 0xb8, 0xcc, 0x86, 0x39, 0x8d, 0xfe, 0xc3, 0xff, 0x52, 0x2a, - 0x71, 0x57, 0xc0, 0x9b, 0x7f, 0x1d, 0xd6, 0xf8, 0xf2, 0xd6, 0x3a, 0xb7, 0x3f, 0xbd, 0x3a, 0xb7, - 0x9a, 0x37, 0x63, 0x27, 0x2b, 0x0f, 0x9c, 0xae, 0x3c, 0xf0, 0x6b, 0xe5, 0x81, 0x4f, 0x6b, 0xcf, - 0x39, 0x5d, 0x7b, 0xce, 0x8f, 0xb5, 0xe7, 0xbc, 0x9e, 0x33, 0xae, 0x17, 0x79, 0x14, 0xc4, 0x32, - 0x41, 0xcf, 0x2b, 0xdd, 0x17, 0x38, 0x52, 0x68, 0x33, 0x65, 0x27, 0x96, 0x19, 0xad, 0x97, 0x0b, - 0xcc, 0x05, 0x4a, 0x24, 0xc9, 0xdf, 0x52, 0xb5, 0x79, 0xdf, 0xfa, 0x30, 0xa5, 0x2a, 0x6a, 0x96, - 0x6f, 0xf8, 0xd1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xda, 0x66, 0xad, 0x44, 0xaa, 0x03, 0x00, - 0x00, + // 504 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0x31, 0x8f, 0xd3, 0x3e, + 0x1c, 0x8d, 0xff, 0xbd, 0xab, 0x54, 0xff, 0xd1, 0x01, 0x51, 0x45, 0xdb, 0x0c, 0x69, 0xc9, 0x00, + 0x25, 0xd2, 0xc5, 0x6a, 0x91, 0x18, 0x6e, 0x00, 0x5d, 0x99, 0x90, 0xa8, 0x84, 0x72, 0x62, 0x61, + 0x39, 0x39, 0x89, 0xe5, 0x1a, 0x11, 0x3b, 0x8a, 0x9d, 0x8a, 0xdb, 0x10, 0x13, 0x62, 0xe2, 0x13, + 0xa0, 0xfb, 0x08, 0x1d, 0x10, 0x9f, 0xe1, 0xc6, 0x83, 0x89, 0x09, 0xa1, 0x76, 0x28, 0x1f, 0x03, + 0x25, 0x76, 0x7a, 0x05, 0xe9, 0x0e, 0x96, 0xc4, 0x3f, 0xbf, 0xf7, 0x7b, 0xbf, 0xf7, 0x6c, 0x43, + 0x8f, 0xf1, 0x97, 0x24, 0x56, 0x6c, 0x4e, 0x10, 0x2e, 0x62, 0xc5, 0x04, 0x47, 0xf3, 0x51, 0x44, + 0x14, 0x1e, 0x21, 0xf5, 0x3a, 0xc8, 0x72, 0xa1, 0x84, 0xdd, 0xdb, 0x70, 0x02, 0xc3, 0x09, 0x0c, + 0xc7, 0x69, 0x53, 0x41, 0x45, 0xc5, 0x42, 0xe5, 0x4a, 0x37, 0x38, 0x6e, 0x2c, 0x64, 0x2a, 0x24, + 0x8a, 0xb0, 0x24, 0x1b, 0xb9, 0x58, 0x30, 0x6e, 0xf0, 0x8e, 0xc1, 0x53, 0x49, 0xd1, 0x7c, 0x54, + 0xfe, 0x0c, 0xd0, 0xd3, 0xc0, 0xb1, 0x56, 0xd4, 0x85, 0x81, 0xee, 0x5e, 0x6e, 0xb4, 0x36, 0xa5, + 0x89, 0x37, 0x71, 0xca, 0xb8, 0x40, 0xd5, 0x57, 0x6f, 0x79, 0x1f, 0x01, 0x6c, 0x4e, 0x25, 0x9d, + 0xb0, 0xc4, 0xbe, 0x05, 0x9b, 0x92, 0xf0, 0x84, 0xe4, 0x5d, 0x30, 0x00, 0xc3, 0x56, 0x68, 0x2a, + 0xfb, 0x21, 0x84, 0x11, 0x4b, 0x8e, 0x71, 0x2a, 0x0a, 0xae, 0xba, 0xff, 0x0d, 0xc0, 0xf0, 0xff, + 0x71, 0x2f, 0x30, 0x0e, 0xca, 0x1c, 0x75, 0xe4, 0xe0, 0xb1, 0x60, 0x7c, 0xb2, 0x73, 0xf6, 0xbd, + 0x6f, 0x85, 0xad, 0x88, 0x25, 0x87, 0x55, 0x87, 0xdd, 0x86, 0xbb, 0xb9, 0x28, 0x78, 0xd2, 0x6d, + 0x0c, 0xc0, 0x70, 0x27, 0xd4, 0xc5, 0xc1, 0x9d, 0x77, 0xa7, 0x7d, 0xeb, 0xe7, 0x69, 0xdf, 0x7a, + 0xbb, 0x5e, 0xf8, 0x66, 0xd4, 0xfb, 0xf5, 0xc2, 0xdf, 0xab, 0x23, 0x68, 0x57, 0xde, 0x0d, 0xb8, + 0xa7, 0x57, 0x21, 0x91, 0x99, 0xe0, 0x92, 0x78, 0x9f, 0x01, 0xbc, 0x3e, 0x95, 0xf4, 0x79, 0x96, + 0x60, 0x45, 0x9e, 0xe1, 0x1c, 0xa7, 0xd2, 0x7e, 0x00, 0x5b, 0xb8, 0x50, 0x33, 0x91, 0x33, 0x75, + 0xa2, 0xed, 0x4f, 0xba, 0x5f, 0x3f, 0xed, 0xb7, 0x8d, 0xcb, 0xc3, 0x24, 0xc9, 0x89, 0x94, 0x47, + 0x2a, 0x67, 0x9c, 0x86, 0x17, 0x54, 0xfb, 0x11, 0x6c, 0x66, 0x95, 0x82, 0xc9, 0x75, 0x3b, 0xb8, + 0xf4, 0x42, 0x03, 0x3d, 0xca, 0xe4, 0x33, 0x6d, 0x07, 0x7e, 0x69, 0xff, 0x42, 0xb0, 0x4c, 0xd0, + 0xd9, 0x4a, 0xb0, 0x6d, 0xd2, 0xeb, 0xc1, 0xce, 0x1f, 0x5b, 0x75, 0xa6, 0xf1, 0x17, 0x00, 0x1b, + 0x53, 0x49, 0xed, 0x23, 0xd8, 0x28, 0xaf, 0xe2, 0x2a, 0x1b, 0xfa, 0x34, 0x9c, 0x7b, 0x7f, 0xa5, + 0xd4, 0xe2, 0x36, 0x87, 0xd7, 0x7e, 0x3b, 0x2c, 0xff, 0xea, 0xd6, 0x6d, 0xae, 0x33, 0xfe, 0x77, + 0x6e, 0x3d, 0xcf, 0xd9, 0x7d, 0xb3, 0x5e, 0xf8, 0x60, 0x42, 0xcf, 0x96, 0x2e, 0x38, 0x5f, 0xba, + 0xe0, 0xc7, 0xd2, 0x05, 0x1f, 0x56, 0xae, 0x75, 0xbe, 0x72, 0xad, 0x6f, 0x2b, 0xd7, 0x7a, 0x31, + 0xa5, 0x4c, 0xcd, 0x8a, 0x28, 0x88, 0x45, 0x8a, 0x9e, 0xd4, 0xf2, 0x4f, 0x71, 0x24, 0xd1, 0x66, + 0xd8, 0x7e, 0x2c, 0x72, 0xb2, 0x5d, 0xce, 0x30, 0xe3, 0x28, 0x15, 0x49, 0xf1, 0x8a, 0xc8, 0xcd, + 0x33, 0x57, 0x27, 0x19, 0x91, 0x51, 0xb3, 0x7a, 0xca, 0xf7, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, + 0x5f, 0x56, 0x1a, 0xd8, 0xb1, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/crypto/ethsecp256k1/ethsecp256k1.go b/chain/crypto/ethsecp256k1/ethsecp256k1.go index eebeb6b9..08757a1e 100644 --- a/chain/crypto/ethsecp256k1/ethsecp256k1.go +++ b/chain/crypto/ethsecp256k1/ethsecp256k1.go @@ -6,15 +6,13 @@ import ( "crypto/subtle" "fmt" - ethcrypto "github.com/ethereum/go-ethereum/crypto" - "github.com/ethereum/go-ethereum/crypto/secp256k1" - "cosmossdk.io/errors" + tmcrypto "github.com/cometbft/cometbft/crypto" "github.com/cosmos/cosmos-sdk/codec" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - - tmcrypto "github.com/cometbft/cometbft/crypto" + ethcrypto "github.com/ethereum/go-ethereum/crypto" + "github.com/ethereum/go-ethereum/crypto/secp256k1" ) const ( @@ -197,7 +195,7 @@ func (pubKey *PubKey) UnmarshalAminoJSON(bz []byte) error { func (pubKey PubKey) VerifySignature(msg, sig []byte) bool { if len(sig) == 65 { // remove recovery ID if contained in the signature - sig = sig[:len(sig)-1] + sig = sig[:64] } // the signature needs to be in [R || S] format when provided to VerifySignature diff --git a/chain/exchange/types/derivative_orders.go b/chain/exchange/types/derivative_orders.go index 422fd108..630b470a 100644 --- a/chain/exchange/types/derivative_orders.go +++ b/chain/exchange/types/derivative_orders.go @@ -219,7 +219,7 @@ func (o *DerivativeLimitOrder) GetCancelRefundAmount(feeRate math.LegacyDec) mat if o.IsVanilla() { // negative fees are only accounted for upon matching positiveFeePart := math.LegacyMaxDec(math.LegacyZeroDec(), feeRate) - // nolint:all + //nolint:all // Refund = (FillableQuantity / Quantity) * (Margin + Price * Quantity * feeRate) notional := o.OrderInfo.Price.Mul(o.OrderInfo.Quantity) marginHoldRefund = o.Fillable.Mul(o.Margin.Add(notional.Mul(positiveFeePart))).Quo(o.OrderInfo.Quantity) diff --git a/chain/exchange/types/msgs.go b/chain/exchange/types/msgs.go index 611ea661..c1fdf2c0 100644 --- a/chain/exchange/types/msgs.go +++ b/chain/exchange/types/msgs.go @@ -32,6 +32,7 @@ var ( _ sdk.Msg = &MsgSubaccountTransfer{} _ sdk.Msg = &MsgExternalTransfer{} _ sdk.Msg = &MsgIncreasePositionMargin{} + _ sdk.Msg = &MsgDecreasePositionMargin{} _ sdk.Msg = &MsgLiquidatePosition{} _ sdk.Msg = &MsgEmergencySettleMarket{} _ sdk.Msg = &MsgInstantSpotMarketLaunch{} diff --git a/chain/exchange/types/proposal.go b/chain/exchange/types/proposal.go index 6d1b33e4..333507e2 100644 --- a/chain/exchange/types/proposal.go +++ b/chain/exchange/types/proposal.go @@ -8,10 +8,11 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" sdk "github.com/cosmos/cosmos-sdk/types" gov "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/ethereum/go-ethereum/common" + + oracletypes "github.com/InjectiveLabs/sdk-go/chain/oracle/types" ) // constants @@ -728,7 +729,8 @@ func (p *OracleParams) ValidateBasic() error { } switch p.OracleType { case oracletypes.OracleType_Band, oracletypes.OracleType_PriceFeed, oracletypes.OracleType_Coinbase, oracletypes.OracleType_Chainlink, oracletypes.OracleType_Razor, - oracletypes.OracleType_Dia, oracletypes.OracleType_API3, oracletypes.OracleType_Uma, oracletypes.OracleType_Pyth, oracletypes.OracleType_BandIBC, oracletypes.OracleType_Provider: + oracletypes.OracleType_Dia, oracletypes.OracleType_API3, oracletypes.OracleType_Uma, oracletypes.OracleType_Pyth, oracletypes.OracleType_BandIBC, oracletypes.OracleType_Provider, + oracletypes.OracleType_Stork: default: return errors.Wrap(ErrInvalidOracleType, p.OracleType.String()) diff --git a/chain/exchange/types/spot_orders.go b/chain/exchange/types/spot_orders.go index 7225a00c..ac5b243e 100644 --- a/chain/exchange/types/spot_orders.go +++ b/chain/exchange/types/spot_orders.go @@ -165,9 +165,7 @@ func (m *SpotOrder) GetBalanceHoldAndMarginDenom(market *SpotMarket) (balanceHol return balanceHold, denom } -func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (marginHold math.LegacyDec, marginDenom string) { - var denom string - var balanceHold math.LegacyDec +func (m *SpotLimitOrder) GetUnfilledMarginHoldAndMarginDenom(market *SpotMarket, isTransient bool) (balanceHold math.LegacyDec, denom string) { if m.IsBuy() { var tradeFeeRate math.LegacyDec diff --git a/chain/exchange/types/tx.pb.go b/chain/exchange/types/tx.pb.go index d4f4213e..4a78fb8f 100644 --- a/chain/exchange/types/tx.pb.go +++ b/chain/exchange/types/tx.pb.go @@ -3674,253 +3674,254 @@ func init() { } var fileDescriptor_bd45b74cb6d81462 = []byte{ - // 3934 bytes of a gzipped FileDescriptorProto + // 3942 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x4b, 0x6c, 0x1c, 0xc7, 0x95, 0x6a, 0x0e, 0x39, 0x24, 0x1f, 0x29, 0x89, 0x6a, 0x52, 0xe2, 0x70, 0xf8, 0x93, 0x9a, 0x92, 0xf5, 0x27, 0xf5, 0xff, 0x8c, 0x56, 0x96, 0xf8, 0x91, 0x6c, 0xae, 0x45, 0x4b, 0x1e, 0xca, 0xbb, 0xde, 0x85, 0xbd, 0x83, 0x66, 0x4f, 0x71, 0xd8, 0xe6, 0x4c, 0xf7, 0xa8, 0xbb, 0x47, 0x12, 0x8d, - 0x05, 0x76, 0xd7, 0x87, 0x85, 0x76, 0x13, 0x04, 0x09, 0x10, 0x20, 0x40, 0x00, 0x03, 0x06, 0x02, - 0xc4, 0x80, 0x13, 0x24, 0x76, 0x10, 0x04, 0x3e, 0xe4, 0x87, 0x20, 0x07, 0xc7, 0x27, 0x27, 0x40, - 0x80, 0x20, 0x07, 0x25, 0xb0, 0x0f, 0x36, 0x7c, 0x0a, 0x72, 0x09, 0x90, 0x5c, 0x82, 0xae, 0xaa, - 0xae, 0xe9, 0x4f, 0x55, 0x77, 0xcf, 0x88, 0xb4, 0xe5, 0xc0, 0x17, 0x89, 0x5d, 0xf5, 0xde, 0xab, - 0xf7, 0x5e, 0xbd, 0x4f, 0xd5, 0xab, 0xaa, 0x81, 0x29, 0xdd, 0x78, 0x19, 0x69, 0x8e, 0x7e, 0x17, - 0xcd, 0xa0, 0xfb, 0xda, 0x9a, 0x6a, 0x54, 0xd0, 0xcc, 0xdd, 0x93, 0x2b, 0xc8, 0x51, 0x4f, 0xce, - 0x38, 0xf7, 0xa7, 0xeb, 0x96, 0xe9, 0x98, 0x72, 0x9e, 0x01, 0x4d, 0x7b, 0x40, 0xd3, 0x14, 0x28, - 0x3f, 0xa1, 0x99, 0x76, 0xcd, 0xb4, 0x67, 0x56, 0x54, 0xbb, 0x89, 0xa9, 0x99, 0xba, 0x41, 0x70, - 0xf3, 0xd3, 0xb4, 0xbf, 0xac, 0xdb, 0x8e, 0xa5, 0xaf, 0x34, 0x1c, 0xdd, 0x34, 0x18, 0x9c, 0xbf, - 0x91, 0xc2, 0x0f, 0x53, 0xf8, 0x9a, 0x5d, 0x99, 0xb9, 0x7b, 0xd2, 0xfd, 0x8f, 0x76, 0x8c, 0x90, - 0x8e, 0x12, 0xfe, 0x9a, 0x21, 0x1f, 0xb4, 0x6b, 0xa8, 0x62, 0x56, 0x4c, 0xd2, 0xee, 0xfe, 0x45, - 0x5b, 0x0f, 0xc7, 0x88, 0xc6, 0xc4, 0x20, 0xa0, 0x07, 0x9a, 0xa0, 0xa6, 0xa5, 0x6a, 0xd5, 0x26, - 0x20, 0xf9, 0xa4, 0x60, 0xbb, 0xd4, 0x9a, 0x6e, 0x98, 0x33, 0xf8, 0x5f, 0xd2, 0xa4, 0xbc, 0x91, - 0x81, 0xc1, 0x25, 0xbb, 0xf2, 0x7c, 0xbd, 0xac, 0x3a, 0x68, 0xb9, 0x6e, 0x3a, 0x4b, 0xaa, 0xb5, - 0x8e, 0x1c, 0x79, 0x08, 0xba, 0xd4, 0x72, 0x4d, 0x37, 0x72, 0xd2, 0x5e, 0xe9, 0x50, 0x6f, 0x91, - 0x7c, 0xc8, 0xa3, 0xd0, 0x5b, 0xc3, 0xfd, 0x25, 0xbd, 0x9c, 0xeb, 0xc0, 0x3d, 0x3d, 0xa4, 0x61, - 0xb1, 0x2c, 0x8f, 0x03, 0x18, 0xe8, 0x5e, 0xc9, 0xd1, 0xb5, 0x75, 0x64, 0xe5, 0x32, 0xb8, 0xb7, - 0xd7, 0x40, 0xf7, 0x6e, 0xe3, 0x06, 0xf9, 0xdf, 0x60, 0xd8, 0xed, 0xae, 0xe9, 0x46, 0xa9, 0x6e, - 0xe9, 0x1a, 0xc2, 0x80, 0x25, 0x5b, 0x7f, 0x05, 0xe5, 0x3a, 0x5d, 0xd8, 0xb9, 0xa9, 0x77, 0x1f, - 0x4e, 0x6e, 0xfb, 0xfd, 0xc3, 0xc9, 0x51, 0xa2, 0x1b, 0xbb, 0xbc, 0x3e, 0xad, 0x9b, 0x33, 0x35, - 0xd5, 0x59, 0x9b, 0xbe, 0x81, 0x2a, 0xaa, 0xb6, 0xb1, 0x80, 0xb4, 0xe2, 0xa0, 0x81, 0xee, 0x2d, - 0xe9, 0xc6, 0x2d, 0x97, 0x82, 0x4b, 0x78, 0x59, 0x7f, 0x05, 0xc9, 0x25, 0xc8, 0x7b, 0xa4, 0xef, - 0x34, 0x54, 0xc3, 0xd1, 0x9d, 0x0d, 0x1f, 0xf5, 0xae, 0xf4, 0xd4, 0xf7, 0x10, 0xea, 0xcf, 0x51, - 0x22, 0x6c, 0x80, 0x25, 0x18, 0xf0, 0x06, 0x30, 0x4c, 0x77, 0xb2, 0xd5, 0x6a, 0x2e, 0x9b, 0x9e, - 0xec, 0x0e, 0x42, 0xf6, 0x59, 0x8a, 0x5a, 0x38, 0xfd, 0xe0, 0xf5, 0xc9, 0x6d, 0x1f, 0xbf, 0x3e, - 0xb9, 0xed, 0xd5, 0x8f, 0xde, 0x3a, 0x42, 0x54, 0xfb, 0xff, 0x1f, 0xbd, 0x75, 0x64, 0x8c, 0x4d, - 0x33, 0x67, 0x46, 0x94, 0x71, 0x18, 0xe5, 0x34, 0x17, 0x91, 0x5d, 0x37, 0x0d, 0x1b, 0x29, 0x7f, - 0xe9, 0x84, 0x11, 0xd6, 0xbf, 0x80, 0x2c, 0xfd, 0xae, 0xea, 0xda, 0xc3, 0x17, 0xd3, 0xb9, 0xe5, - 0xd3, 0x29, 0xbf, 0x08, 0x39, 0x97, 0x9c, 0x6e, 0xe8, 0x8e, 0xae, 0x56, 0x4b, 0x35, 0xd5, 0xaa, - 0xe8, 0x46, 0xc9, 0x52, 0x1d, 0xdd, 0xcc, 0x75, 0xa7, 0x27, 0xbb, 0xdb, 0x40, 0xf7, 0x16, 0x09, - 0x8d, 0x25, 0x4c, 0xa2, 0xe8, 0x52, 0x90, 0xcb, 0x30, 0x86, 0x99, 0x55, 0x75, 0xc3, 0x41, 0x86, - 0x6a, 0x68, 0x28, 0x38, 0x42, 0x4f, 0xfa, 0x11, 0x46, 0x5c, 0xc6, 0x9b, 0x74, 0x7c, 0xa3, 0x14, - 0x2e, 0xf2, 0x4d, 0x52, 0x89, 0x9a, 0x64, 0xd8, 0xb6, 0x94, 0x29, 0xd8, 0x27, 0xec, 0x64, 0xe6, - 0xf9, 0x8e, 0x04, 0x3b, 0x19, 0xd4, 0x2d, 0xd5, 0x52, 0x6b, 0xb6, 0x7c, 0x0e, 0x7a, 0xd5, 0x86, - 0xb3, 0x66, 0x5a, 0xba, 0xb3, 0x41, 0x0c, 0x73, 0x2e, 0xf7, 0x9b, 0x1f, 0x1e, 0x1f, 0xa2, 0xb1, - 0x71, 0xb6, 0x5c, 0xb6, 0x90, 0x6d, 0x2f, 0x3b, 0x96, 0x6e, 0x54, 0x8a, 0x4d, 0x50, 0xf9, 0x2a, - 0x64, 0xeb, 0x98, 0x02, 0xb6, 0xd9, 0xbe, 0x53, 0xca, 0xb4, 0x38, 0xbe, 0x4f, 0x93, 0xb1, 0xe6, - 0x3a, 0x5d, 0xfd, 0x14, 0x29, 0x5e, 0xe1, 0xa8, 0x2b, 0x65, 0x93, 0xa2, 0x2b, 0x69, 0x2e, 0x2a, - 0x29, 0x41, 0x55, 0x46, 0x60, 0x38, 0xd4, 0xc4, 0xa4, 0xfa, 0xbe, 0x04, 0xb0, 0x64, 0x57, 0x16, - 0x50, 0xdd, 0xb4, 0x75, 0x47, 0xde, 0x03, 0x59, 0x1b, 0x19, 0x65, 0x64, 0x51, 0x37, 0xa3, 0x5f, - 0xf2, 0x14, 0x6c, 0xb7, 0x1b, 0x2b, 0xaa, 0xa6, 0x99, 0x0d, 0xc3, 0xe7, 0x6b, 0xfd, 0xcd, 0xc6, - 0xc5, 0xb2, 0x7c, 0x1e, 0xb2, 0x6a, 0xcd, 0xfd, 0x1b, 0xfb, 0x5a, 0xdf, 0xa9, 0x11, 0x9a, 0x79, - 0xa6, 0xdd, 0xcc, 0xc4, 0xc4, 0x99, 0x37, 0x75, 0xc3, 0x13, 0x86, 0x80, 0x17, 0x8e, 0xfa, 0xa7, - 0x8e, 0x0e, 0xe9, 0x4a, 0x34, 0xe8, 0x97, 0x88, 0xb2, 0xa8, 0x0c, 0x81, 0xdc, 0xfc, 0x62, 0x72, - 0xbc, 0x2d, 0x41, 0xdf, 0x92, 0x5d, 0xf9, 0x57, 0xdd, 0x59, 0x2b, 0x5b, 0xea, 0xbd, 0xcf, 0x48, - 0x90, 0x63, 0x02, 0x41, 0x86, 0xfc, 0x82, 0x78, 0x3c, 0x2a, 0xbb, 0x71, 0xe2, 0xf2, 0x3e, 0x99, - 0x28, 0xdf, 0x93, 0xf0, 0x74, 0xcd, 0x5b, 0x88, 0xc6, 0xc9, 0x1b, 0x7a, 0x4d, 0x77, 0x6e, 0x5a, - 0x2e, 0xfb, 0x22, 0xb1, 0x66, 0xa1, 0xcb, 0x74, 0x01, 0xa8, 0x3d, 0x1d, 0x88, 0xb3, 0x27, 0x97, - 0x24, 0xa6, 0x46, 0x99, 0x27, 0x98, 0x85, 0x0b, 0x02, 0xde, 0xf7, 0xfa, 0x79, 0xe7, 0x31, 0xa5, - 0xbc, 0x08, 0x93, 0x82, 0x2e, 0x4f, 0x26, 0x37, 0x14, 0xe3, 0x51, 0x4a, 0x6b, 0xaa, 0xbd, 0x46, - 0x79, 0xef, 0xc5, 0x2d, 0x4f, 0xab, 0xf6, 0x9a, 0x3c, 0x00, 0x19, 0x8d, 0xcd, 0x85, 0xfb, 0x67, - 0xa1, 0xc7, 0xe3, 0x46, 0xf9, 0xb1, 0x04, 0xe3, 0x4b, 0x76, 0x65, 0x4e, 0x75, 0xb4, 0x35, 0xde, - 0x18, 0xb6, 0x50, 0x29, 0xf3, 0x90, 0xc5, 0x43, 0xb8, 0x5e, 0x96, 0x69, 0x55, 0x2b, 0x14, 0xb5, - 0xf0, 0xa4, 0x40, 0x2d, 0x4f, 0xf8, 0xd5, 0x22, 0x66, 0x4e, 0xf9, 0x81, 0x04, 0x07, 0x62, 0x21, - 0x98, 0x8e, 0xf6, 0x41, 0x7f, 0x53, 0x47, 0xc8, 0xce, 0x49, 0x7b, 0x33, 0x87, 0x7a, 0x8b, 0x7d, - 0x4c, 0x4b, 0xc8, 0x96, 0xa7, 0x61, 0x50, 0xc3, 0x34, 0xca, 0x25, 0xc2, 0x5e, 0x49, 0xd3, 0xcb, - 0x44, 0xbc, 0xde, 0xe2, 0x2e, 0xda, 0x45, 0xc8, 0xce, 0xeb, 0x65, 0x5b, 0x3e, 0x06, 0xf2, 0xaa, - 0xaa, 0x57, 0x43, 0xe0, 0x19, 0x0c, 0x3e, 0x40, 0x7a, 0x9a, 0xd0, 0x3e, 0x9d, 0xff, 0x2c, 0x03, - 0xf9, 0x25, 0xbb, 0xb2, 0x68, 0xd8, 0x8e, 0x6a, 0x38, 0xcd, 0x5c, 0x7d, 0x43, 0x6d, 0x18, 0xda, - 0x9a, 0x50, 0xe1, 0x7b, 0x20, 0x4b, 0x93, 0x2d, 0x99, 0x49, 0xfa, 0xe5, 0xce, 0xbe, 0xeb, 0x39, - 0xa5, 0x32, 0x32, 0xcc, 0x9a, 0x97, 0x88, 0xdd, 0x96, 0x05, 0xb7, 0x41, 0x9e, 0x84, 0xbe, 0x3b, - 0x0d, 0xd3, 0xf1, 0xfa, 0x71, 0xf2, 0x2d, 0x02, 0x6e, 0x22, 0x00, 0x45, 0x18, 0xe4, 0x65, 0xe9, - 0x16, 0xf2, 0xe8, 0x40, 0x2d, 0x9c, 0xa2, 0x5f, 0x80, 0x3d, 0x82, 0xf4, 0xdc, 0x42, 0x1e, 0x75, - 0xd9, 0x8a, 0xe4, 0xe6, 0xeb, 0xd0, 0x1f, 0xc8, 0xcb, 0x2d, 0x24, 0xd0, 0xbe, 0x9a, 0x6f, 0x8d, - 0x75, 0x49, 0x60, 0x79, 0x53, 0x7e, 0xcb, 0x13, 0x4c, 0x91, 0xb2, 0x1f, 0x14, 0x71, 0x6f, 0x33, - 0x6a, 0x76, 0x63, 0xd7, 0xa5, 0x60, 0xb7, 0x90, 0x55, 0x47, 0x4e, 0x03, 0x27, 0xef, 0xf6, 0x27, - 0x3b, 0x34, 0x9b, 0x99, 0xc8, 0x6c, 0x4e, 0x42, 0x1f, 0x59, 0xd3, 0x97, 0x5c, 0x13, 0xf0, 0xa6, - 0x9b, 0x34, 0xcd, 0xa9, 0x9e, 0x23, 0x60, 0x00, 0x8c, 0x45, 0xe6, 0xb9, 0x48, 0x91, 0x9e, 0x73, - 0x9b, 0x5c, 0x47, 0xa0, 0x20, 0xb6, 0xa6, 0x56, 0x51, 0x69, 0x55, 0xd5, 0x1c, 0xd3, 0xc2, 0x53, - 0xb7, 0xbd, 0xb8, 0x8b, 0x74, 0x2d, 0xbb, 0x3d, 0xd7, 0x71, 0x87, 0x7c, 0x8d, 0x8d, 0xe9, 0x6c, - 0xd4, 0x11, 0x9e, 0x92, 0x1d, 0xa7, 0xf6, 0xfb, 0xe2, 0x01, 0xdd, 0x65, 0x78, 0xd1, 0xe0, 0x26, - 0xfe, 0xbc, 0xbd, 0x51, 0x47, 0x1e, 0x67, 0xee, 0xdf, 0xf2, 0x22, 0xec, 0xa8, 0xa9, 0xeb, 0xc8, - 0x2a, 0xad, 0x22, 0xe4, 0x2e, 0x5e, 0x50, 0x2b, 0x6b, 0x97, 0x7e, 0x8c, 0x7a, 0x1d, 0xa1, 0xa2, - 0xea, 0x60, 0x52, 0x4e, 0x90, 0x54, 0x6f, 0x0b, 0xa4, 0x1c, 0x3f, 0xa9, 0xe7, 0x61, 0x88, 0xbb, - 0x72, 0x83, 0xf4, 0x04, 0x65, 0x3d, 0xba, 0x6c, 0x7b, 0x09, 0x72, 0xc2, 0x25, 0x5b, 0x5f, 0x0b, - 0x4b, 0xd8, 0x1a, 0x77, 0xbd, 0x26, 0x72, 0xea, 0xfe, 0xad, 0x71, 0xea, 0xed, 0x9b, 0xec, 0xd4, - 0x3b, 0xda, 0x74, 0xea, 0xab, 0x02, 0xa7, 0x3e, 0xc4, 0x71, 0x6a, 0xae, 0x3f, 0x2a, 0x87, 0xe1, - 0x60, 0x02, 0x08, 0x73, 0xef, 0xff, 0xeb, 0x86, 0xa9, 0x26, 0xec, 0x9c, 0x6e, 0xa8, 0xd6, 0xc6, - 0xcd, 0xba, 0xcb, 0x89, 0xfd, 0x48, 0x2e, 0x3e, 0x05, 0xdb, 0x3d, 0xef, 0xdb, 0xa8, 0xad, 0x98, - 0x55, 0xea, 0xe4, 0xd4, 0x6b, 0x97, 0x71, 0x9b, 0x7c, 0x10, 0x76, 0x52, 0xa0, 0xba, 0x65, 0xde, - 0xd5, 0x5d, 0xea, 0xc4, 0xd5, 0x77, 0x90, 0xe6, 0x5b, 0xb4, 0x35, 0xec, 0x9b, 0x5d, 0x6d, 0xfa, - 0x66, 0xab, 0x21, 0x21, 0xea, 0xcb, 0xdd, 0x9b, 0xe7, 0xcb, 0x3d, 0xed, 0xfa, 0xf2, 0x49, 0x18, - 0x42, 0xf7, 0xeb, 0x3a, 0xf6, 0x32, 0xa3, 0xe4, 0xe8, 0x35, 0x64, 0x3b, 0x6a, 0xad, 0x8e, 0x83, - 0x43, 0xa6, 0x38, 0xd8, 0xec, 0xbb, 0xed, 0x75, 0xb9, 0x28, 0x36, 0x72, 0x9c, 0x2a, 0xaa, 0x21, - 0xc3, 0xf1, 0xa1, 0x00, 0x41, 0x69, 0xf6, 0x35, 0x51, 0xd8, 0x66, 0xba, 0xcf, 0xbf, 0x99, 0x0e, - 0x45, 0xee, 0xfe, 0xb4, 0x79, 0x78, 0xfb, 0xd6, 0xb8, 0xec, 0x8e, 0x4d, 0x76, 0xd9, 0x9d, 0x6d, - 0xba, 0xec, 0x82, 0xc0, 0x65, 0x8f, 0x71, 0x5c, 0x56, 0xe8, 0x63, 0xca, 0x71, 0x38, 0x9a, 0x02, - 0x8c, 0xb9, 0xee, 0xaf, 0x03, 0xae, 0x7b, 0xcd, 0x9d, 0xf6, 0x8d, 0xeb, 0x0d, 0xa7, 0x61, 0x21, - 0xfb, 0xf1, 0xcf, 0xce, 0x21, 0x8f, 0xce, 0x6e, 0xae, 0x47, 0x77, 0x8b, 0x3c, 0x7a, 0x0f, 0x64, - 0xb1, 0x7f, 0x6c, 0x60, 0xf7, 0xcb, 0x14, 0xe9, 0x17, 0xc7, 0xd3, 0x7b, 0x37, 0xcf, 0xd3, 0x61, - 0xb3, 0xb3, 0x76, 0xdf, 0xd6, 0x65, 0xed, 0xfe, 0x2d, 0xcb, 0xda, 0x5f, 0x84, 0x80, 0x64, 0x5f, - 0x0d, 0x86, 0x00, 0x21, 0x18, 0x0b, 0x01, 0x6f, 0x49, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, - 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x96, 0x60, 0xaf, + 0x05, 0xd6, 0xeb, 0xc3, 0x42, 0xfb, 0xc1, 0x62, 0x17, 0x58, 0x60, 0x81, 0x05, 0x0c, 0x18, 0x58, + 0x20, 0x06, 0x9c, 0x20, 0x91, 0x83, 0x20, 0xf0, 0x21, 0x3f, 0x04, 0x39, 0x18, 0x3e, 0x29, 0x01, + 0x02, 0x04, 0x39, 0x28, 0x81, 0x7d, 0xb0, 0xe1, 0x53, 0x90, 0x4b, 0x80, 0xe4, 0x12, 0x74, 0x55, + 0x75, 0x4d, 0x7f, 0xaa, 0xba, 0x7b, 0x46, 0xa4, 0x2d, 0x07, 0xbe, 0x48, 0xec, 0xaa, 0xf7, 0x5e, + 0xbd, 0xf7, 0xea, 0x7d, 0xaa, 0x5e, 0x55, 0x0d, 0x4c, 0xe9, 0xc6, 0xeb, 0x48, 0x73, 0xf4, 0xbb, + 0x68, 0x06, 0xdd, 0xd7, 0xd6, 0x54, 0xa3, 0x82, 0x66, 0xee, 0x9e, 0x5c, 0x41, 0x8e, 0x7a, 0x72, + 0xc6, 0xb9, 0x3f, 0x5d, 0xb7, 0x4c, 0xc7, 0x94, 0xf3, 0x0c, 0x68, 0xda, 0x03, 0x9a, 0xa6, 0x40, + 0xf9, 0x09, 0xcd, 0xb4, 0x6b, 0xa6, 0x3d, 0xb3, 0xa2, 0xda, 0x4d, 0x4c, 0xcd, 0xd4, 0x0d, 0x82, + 0x9b, 0x9f, 0xa6, 0xfd, 0x65, 0xdd, 0x76, 0x2c, 0x7d, 0xa5, 0xe1, 0xe8, 0xa6, 0xc1, 0xe0, 0xfc, + 0x8d, 0x14, 0x7e, 0x98, 0xc2, 0xd7, 0xec, 0xca, 0xcc, 0xdd, 0x93, 0xee, 0x7f, 0xb4, 0x63, 0x84, + 0x74, 0x94, 0xf0, 0xd7, 0x0c, 0xf9, 0xa0, 0x5d, 0x43, 0x15, 0xb3, 0x62, 0x92, 0x76, 0xf7, 0x2f, + 0xda, 0x7a, 0x38, 0x46, 0x34, 0x26, 0x06, 0x01, 0x3d, 0xd0, 0x04, 0x35, 0x2d, 0x55, 0xab, 0x36, + 0x01, 0xc9, 0x27, 0x05, 0xdb, 0xa5, 0xd6, 0x74, 0xc3, 0x9c, 0xc1, 0xff, 0x92, 0x26, 0xe5, 0xdd, + 0x0c, 0x0c, 0x2e, 0xd9, 0x95, 0x97, 0xeb, 0x65, 0xd5, 0x41, 0xcb, 0x75, 0xd3, 0x59, 0x52, 0xad, + 0x75, 0xe4, 0xc8, 0x43, 0xd0, 0xa5, 0x96, 0x6b, 0xba, 0x91, 0x93, 0xf6, 0x4a, 0x87, 0x7a, 0x8b, + 0xe4, 0x43, 0x1e, 0x85, 0xde, 0x1a, 0xee, 0x2f, 0xe9, 0xe5, 0x5c, 0x07, 0xee, 0xe9, 0x21, 0x0d, + 0x8b, 0x65, 0x79, 0x1c, 0xc0, 0x40, 0xf7, 0x4a, 0x8e, 0xae, 0xad, 0x23, 0x2b, 0x97, 0xc1, 0xbd, + 0xbd, 0x06, 0xba, 0x77, 0x1b, 0x37, 0xc8, 0x7f, 0x07, 0xc3, 0x6e, 0x77, 0x4d, 0x37, 0x4a, 0x75, + 0x4b, 0xd7, 0x10, 0x06, 0x2c, 0xd9, 0xfa, 0x1b, 0x28, 0xd7, 0xe9, 0xc2, 0xce, 0x4d, 0x7d, 0xf8, + 0x78, 0x72, 0xdb, 0xaf, 0x1f, 0x4f, 0x8e, 0x12, 0xdd, 0xd8, 0xe5, 0xf5, 0x69, 0xdd, 0x9c, 0xa9, + 0xa9, 0xce, 0xda, 0xf4, 0x0d, 0x54, 0x51, 0xb5, 0x8d, 0x05, 0xa4, 0x15, 0x07, 0x0d, 0x74, 0x6f, + 0x49, 0x37, 0x6e, 0xb9, 0x14, 0x5c, 0xc2, 0xcb, 0xfa, 0x1b, 0x48, 0x2e, 0x41, 0xde, 0x23, 0x7d, + 0xa7, 0xa1, 0x1a, 0x8e, 0xee, 0x6c, 0xf8, 0xa8, 0x77, 0xa5, 0xa7, 0xbe, 0x87, 0x50, 0x7f, 0x89, + 0x12, 0x61, 0x03, 0x2c, 0xc1, 0x80, 0x37, 0x80, 0x61, 0xba, 0x93, 0xad, 0x56, 0x73, 0xd9, 0xf4, + 0x64, 0x77, 0x10, 0xb2, 0x2f, 0x52, 0xd4, 0xc2, 0xe9, 0x07, 0xef, 0x4c, 0x6e, 0xfb, 0xec, 0x9d, + 0xc9, 0x6d, 0x6f, 0x7d, 0xfa, 0xf0, 0x08, 0x51, 0xed, 0xbf, 0x7d, 0xfa, 0xf0, 0xc8, 0x18, 0x9b, + 0x66, 0xce, 0x8c, 0x28, 0xe3, 0x30, 0xca, 0x69, 0x2e, 0x22, 0xbb, 0x6e, 0x1a, 0x36, 0x52, 0xfe, + 0xd0, 0x09, 0x23, 0xac, 0x7f, 0x01, 0x59, 0xfa, 0x5d, 0xd5, 0xb5, 0x87, 0xaf, 0xa7, 0x73, 0xcb, + 0xa7, 0x53, 0x7e, 0x15, 0x72, 0x2e, 0x39, 0xdd, 0xd0, 0x1d, 0x5d, 0xad, 0x96, 0x6a, 0xaa, 0x55, + 0xd1, 0x8d, 0x92, 0xa5, 0x3a, 0xba, 0x99, 0xeb, 0x4e, 0x4f, 0x76, 0xb7, 0x81, 0xee, 0x2d, 0x12, + 0x1a, 0x4b, 0x98, 0x44, 0xd1, 0xa5, 0x20, 0x97, 0x61, 0x0c, 0x33, 0xab, 0xea, 0x86, 0x83, 0x0c, + 0xd5, 0xd0, 0x50, 0x70, 0x84, 0x9e, 0xf4, 0x23, 0x8c, 0xb8, 0x8c, 0x37, 0xe9, 0xf8, 0x46, 0x29, + 0x5c, 0xe4, 0x9b, 0xa4, 0x12, 0x35, 0xc9, 0xb0, 0x6d, 0x29, 0x53, 0xb0, 0x4f, 0xd8, 0xc9, 0xcc, + 0xf3, 0x03, 0x09, 0x76, 0x32, 0xa8, 0x5b, 0xaa, 0xa5, 0xd6, 0x6c, 0xf9, 0x1c, 0xf4, 0xaa, 0x0d, + 0x67, 0xcd, 0xb4, 0x74, 0x67, 0x83, 0x18, 0xe6, 0x5c, 0xee, 0x17, 0xdf, 0x3b, 0x3e, 0x44, 0x63, + 0xe3, 0x6c, 0xb9, 0x6c, 0x21, 0xdb, 0x5e, 0x76, 0x2c, 0xdd, 0xa8, 0x14, 0x9b, 0xa0, 0xf2, 0x55, + 0xc8, 0xd6, 0x31, 0x05, 0x6c, 0xb3, 0x7d, 0xa7, 0x94, 0x69, 0x71, 0x7c, 0x9f, 0x26, 0x63, 0xcd, + 0x75, 0xba, 0xfa, 0x29, 0x52, 0xbc, 0xc2, 0x51, 0x57, 0xca, 0x26, 0x45, 0x57, 0xd2, 0x5c, 0x54, + 0x52, 0x82, 0xaa, 0x8c, 0xc0, 0x70, 0xa8, 0x89, 0x49, 0xf5, 0x1d, 0x09, 0x60, 0xc9, 0xae, 0x2c, + 0xa0, 0xba, 0x69, 0xeb, 0x8e, 0xbc, 0x07, 0xb2, 0x36, 0x32, 0xca, 0xc8, 0xa2, 0x6e, 0x46, 0xbf, + 0xe4, 0x29, 0xd8, 0x6e, 0x37, 0x56, 0x54, 0x4d, 0x33, 0x1b, 0x86, 0xcf, 0xd7, 0xfa, 0x9b, 0x8d, + 0x8b, 0x65, 0xf9, 0x3c, 0x64, 0xd5, 0x9a, 0xfb, 0x37, 0xf6, 0xb5, 0xbe, 0x53, 0x23, 0x34, 0xf3, + 0x4c, 0xbb, 0x99, 0x89, 0x89, 0x33, 0x6f, 0xea, 0x86, 0x27, 0x0c, 0x01, 0x2f, 0x1c, 0xf5, 0x4f, + 0x1d, 0x1d, 0xd2, 0x95, 0x68, 0xd0, 0x2f, 0x11, 0x65, 0x51, 0x19, 0x02, 0xb9, 0xf9, 0xc5, 0xe4, + 0x78, 0x5f, 0x82, 0xbe, 0x25, 0xbb, 0xf2, 0xb7, 0xba, 0xb3, 0x56, 0xb6, 0xd4, 0x7b, 0x5f, 0x92, + 0x20, 0xc7, 0x04, 0x82, 0x0c, 0xf9, 0x05, 0xf1, 0x78, 0x54, 0x76, 0xe3, 0xc4, 0xe5, 0x7d, 0x32, + 0x51, 0xbe, 0x2d, 0xe1, 0xe9, 0x9a, 0xb7, 0x10, 0x8d, 0x93, 0x37, 0xf4, 0x9a, 0xee, 0xdc, 0xb4, + 0x5c, 0xf6, 0x45, 0x62, 0xcd, 0x42, 0x97, 0xe9, 0x02, 0x50, 0x7b, 0x3a, 0x10, 0x67, 0x4f, 0x2e, + 0x49, 0x4c, 0x8d, 0x32, 0x4f, 0x30, 0x0b, 0x17, 0x04, 0xbc, 0xef, 0xf5, 0xf3, 0xce, 0x63, 0x4a, + 0x79, 0x15, 0x26, 0x05, 0x5d, 0x9e, 0x4c, 0x6e, 0x28, 0xc6, 0xa3, 0x94, 0xd6, 0x54, 0x7b, 0x8d, + 0xf2, 0xde, 0x8b, 0x5b, 0x9e, 0x57, 0xed, 0x35, 0x79, 0x00, 0x32, 0x1a, 0x9b, 0x0b, 0xf7, 0xcf, + 0x42, 0x8f, 0xc7, 0x8d, 0xf2, 0x03, 0x09, 0xc6, 0x97, 0xec, 0xca, 0x9c, 0xea, 0x68, 0x6b, 0xbc, + 0x31, 0x6c, 0xa1, 0x52, 0xe6, 0x21, 0x8b, 0x87, 0x70, 0xbd, 0x2c, 0xd3, 0xaa, 0x56, 0x28, 0x6a, + 0xe1, 0x59, 0x81, 0x5a, 0x9e, 0xf1, 0xab, 0x45, 0xcc, 0x9c, 0xf2, 0x5d, 0x09, 0x0e, 0xc4, 0x42, + 0x30, 0x1d, 0xed, 0x83, 0xfe, 0xa6, 0x8e, 0x90, 0x9d, 0x93, 0xf6, 0x66, 0x0e, 0xf5, 0x16, 0xfb, + 0x98, 0x96, 0x90, 0x2d, 0x4f, 0xc3, 0xa0, 0x86, 0x69, 0x94, 0x4b, 0x84, 0xbd, 0x92, 0xa6, 0x97, + 0x89, 0x78, 0xbd, 0xc5, 0x5d, 0xb4, 0x8b, 0x90, 0x9d, 0xd7, 0xcb, 0xb6, 0x7c, 0x0c, 0xe4, 0x55, + 0x55, 0xaf, 0x86, 0xc0, 0x33, 0x18, 0x7c, 0x80, 0xf4, 0x34, 0xa1, 0x7d, 0x3a, 0xff, 0x71, 0x06, + 0xf2, 0x4b, 0x76, 0x65, 0xd1, 0xb0, 0x1d, 0xd5, 0x70, 0x9a, 0xb9, 0xfa, 0x86, 0xda, 0x30, 0xb4, + 0x35, 0xa1, 0xc2, 0xf7, 0x40, 0x96, 0x26, 0x5b, 0x32, 0x93, 0xf4, 0xcb, 0x9d, 0x7d, 0xd7, 0x73, + 0x4a, 0x65, 0x64, 0x98, 0x35, 0x2f, 0x11, 0xbb, 0x2d, 0x0b, 0x6e, 0x83, 0x3c, 0x09, 0x7d, 0x77, + 0x1a, 0xa6, 0xe3, 0xf5, 0xe3, 0xe4, 0x5b, 0x04, 0xdc, 0x44, 0x00, 0x8a, 0x30, 0xc8, 0xcb, 0xd2, + 0x2d, 0xe4, 0xd1, 0x81, 0x5a, 0x38, 0x45, 0xbf, 0x02, 0x7b, 0x04, 0xe9, 0xb9, 0x85, 0x3c, 0xea, + 0xb2, 0x15, 0xc9, 0xcd, 0xd7, 0xa1, 0x3f, 0x90, 0x97, 0x5b, 0x48, 0xa0, 0x7d, 0x35, 0xdf, 0x1a, + 0xeb, 0x92, 0xc0, 0xf2, 0xa6, 0xfc, 0x96, 0x27, 0x98, 0x22, 0x65, 0x3f, 0x28, 0xe2, 0xde, 0x66, + 0xd4, 0xec, 0xc6, 0xae, 0x4b, 0xc1, 0x6e, 0x21, 0xab, 0x8e, 0x9c, 0x06, 0x4e, 0xde, 0xed, 0x4f, + 0x76, 0x68, 0x36, 0x33, 0x91, 0xd9, 0x9c, 0x84, 0x3e, 0xb2, 0xa6, 0x2f, 0xb9, 0x26, 0xe0, 0x4d, + 0x37, 0x69, 0x9a, 0x53, 0x3d, 0x47, 0xc0, 0x00, 0x18, 0x8b, 0xcc, 0x73, 0x91, 0x22, 0xbd, 0xe4, + 0x36, 0xb9, 0x8e, 0x40, 0x41, 0x6c, 0x4d, 0xad, 0xa2, 0xd2, 0xaa, 0xaa, 0x39, 0xa6, 0x85, 0xa7, + 0x6e, 0x7b, 0x71, 0x17, 0xe9, 0x5a, 0x76, 0x7b, 0xae, 0xe3, 0x0e, 0xf9, 0x1a, 0x1b, 0xd3, 0xd9, + 0xa8, 0x23, 0x3c, 0x25, 0x3b, 0x4e, 0xed, 0xf7, 0xc5, 0x03, 0xba, 0xcb, 0xf0, 0xa2, 0xc1, 0x4d, + 0xfc, 0x79, 0x7b, 0xa3, 0x8e, 0x3c, 0xce, 0xdc, 0xbf, 0xe5, 0x45, 0xd8, 0x51, 0x53, 0xd7, 0x91, + 0x55, 0x5a, 0x45, 0xc8, 0x5d, 0xbc, 0xa0, 0x56, 0xd6, 0x2e, 0xfd, 0x18, 0xf5, 0x3a, 0x42, 0x45, + 0xd5, 0xc1, 0xa4, 0x9c, 0x20, 0xa9, 0xde, 0x16, 0x48, 0x39, 0x7e, 0x52, 0x2f, 0xc3, 0x10, 0x77, + 0xe5, 0x06, 0xe9, 0x09, 0xca, 0x7a, 0x74, 0xd9, 0xf6, 0x1a, 0xe4, 0x84, 0x4b, 0xb6, 0xbe, 0x16, + 0x96, 0xb0, 0x35, 0xee, 0x7a, 0x4d, 0xe4, 0xd4, 0xfd, 0x5b, 0xe3, 0xd4, 0xdb, 0x37, 0xd9, 0xa9, + 0x77, 0xb4, 0xe9, 0xd4, 0x57, 0x05, 0x4e, 0x7d, 0x88, 0xe3, 0xd4, 0x5c, 0x7f, 0x54, 0x0e, 0xc3, + 0xc1, 0x04, 0x10, 0xe6, 0xde, 0xff, 0xda, 0x0d, 0x53, 0x4d, 0xd8, 0x39, 0xdd, 0x50, 0xad, 0x8d, + 0x9b, 0x75, 0x97, 0x13, 0xfb, 0x89, 0x5c, 0x7c, 0x0a, 0xb6, 0x7b, 0xde, 0xb7, 0x51, 0x5b, 0x31, + 0xab, 0xd4, 0xc9, 0xa9, 0xd7, 0x2e, 0xe3, 0x36, 0xf9, 0x20, 0xec, 0xa4, 0x40, 0x75, 0xcb, 0xbc, + 0xab, 0xbb, 0xd4, 0x89, 0xab, 0xef, 0x20, 0xcd, 0xb7, 0x68, 0x6b, 0xd8, 0x37, 0xbb, 0xda, 0xf4, + 0xcd, 0x56, 0x43, 0x42, 0xd4, 0x97, 0xbb, 0x37, 0xcf, 0x97, 0x7b, 0xda, 0xf5, 0xe5, 0x93, 0x30, + 0x84, 0xee, 0xd7, 0x75, 0xec, 0x65, 0x46, 0xc9, 0xd1, 0x6b, 0xc8, 0x76, 0xd4, 0x5a, 0x1d, 0x07, + 0x87, 0x4c, 0x71, 0xb0, 0xd9, 0x77, 0xdb, 0xeb, 0x72, 0x51, 0x6c, 0xe4, 0x38, 0x55, 0x54, 0x43, + 0x86, 0xe3, 0x43, 0x01, 0x82, 0xd2, 0xec, 0x6b, 0xa2, 0xb0, 0xcd, 0x74, 0x9f, 0x7f, 0x33, 0x1d, + 0x8a, 0xdc, 0xfd, 0x69, 0xf3, 0xf0, 0xf6, 0xad, 0x71, 0xd9, 0x1d, 0x9b, 0xec, 0xb2, 0x3b, 0xdb, + 0x74, 0xd9, 0x05, 0x81, 0xcb, 0x1e, 0xe3, 0xb8, 0xac, 0xd0, 0xc7, 0x94, 0xe3, 0x70, 0x34, 0x05, + 0x18, 0x73, 0xdd, 0x9f, 0x07, 0x5c, 0xf7, 0x9a, 0x3b, 0xed, 0x1b, 0xd7, 0x1b, 0x4e, 0xc3, 0x42, + 0xf6, 0xd3, 0x9f, 0x9d, 0x43, 0x1e, 0x9d, 0xdd, 0x5c, 0x8f, 0xee, 0x16, 0x79, 0xf4, 0x1e, 0xc8, + 0x62, 0xff, 0xd8, 0xc0, 0xee, 0x97, 0x29, 0xd2, 0x2f, 0x8e, 0xa7, 0xf7, 0x6e, 0x9e, 0xa7, 0xc3, + 0x66, 0x67, 0xed, 0xbe, 0xad, 0xcb, 0xda, 0xfd, 0x5b, 0x96, 0xb5, 0xbf, 0x0e, 0x01, 0xc9, 0xbe, + 0x1a, 0x0c, 0x01, 0x42, 0x30, 0x16, 0x02, 0x1e, 0x4a, 0x90, 0x0b, 0xec, 0xab, 0x09, 0xd4, 0x96, + 0x17, 0x02, 0x2e, 0x0a, 0x84, 0xdd, 0xc7, 0x2f, 0x04, 0xf8, 0xb8, 0x52, 0xde, 0x97, 0x60, 0xaf, 0xa8, 0x33, 0x6d, 0x2d, 0xa0, 0x08, 0xdd, 0x16, 0xb2, 0x1b, 0x55, 0xc7, 0x2b, 0x8e, 0x9d, 0x4a, 0x92, 0x21, 0x38, 0x88, 0x8b, 0x89, 0x05, 0x92, 0x8a, 0x1e, 0x21, 0xaf, 0xbe, 0x90, 0xe1, 0xd5, - 0x17, 0x7e, 0x2b, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, + 0x17, 0x7e, 0x29, 0xc1, 0x1e, 0x3e, 0x15, 0xf9, 0x0a, 0xf4, 0x78, 0x46, 0x49, 0xab, 0x7b, 0xa9, 0x4c, 0x87, 0x21, 0xc9, 0x17, 0xa1, 0x0b, 0x7b, 0x0a, 0x09, 0xc2, 0xe9, 0xb0, 0x09, 0x86, 0x7c, 0x16, 0x32, 0xab, 0x08, 0x11, 0x96, 0xd3, 0x21, 0xba, 0xf0, 0xd1, 0xba, 0x09, 0x99, 0x8b, 0x66, - 0x55, 0x33, 0x45, 0x31, 0xe9, 0xa9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, + 0x55, 0x33, 0x45, 0x31, 0xe9, 0xb9, 0xa0, 0x0d, 0x1d, 0x8d, 0xd3, 0x7f, 0x93, 0x30, 0xc7, 0x92, 0x0a, 0x0f, 0x12, 0xea, 0x26, 0x62, 0xe6, 0x94, 0x15, 0x5c, 0x36, 0x11, 0x03, 0x6c, 0x46, 0x69, - 0xe9, 0x17, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x4f, 0x53, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, - 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x7b, 0x12, 0x5e, 0x90, 0xf8, + 0xe9, 0xa7, 0x7e, 0x73, 0x0d, 0xe4, 0xe4, 0x2f, 0x52, 0x4b, 0x97, 0x39, 0x5a, 0x3a, 0x1c, 0xd5, + 0x92, 0x80, 0x3f, 0x05, 0xc1, 0xa1, 0x24, 0x98, 0xcd, 0xd0, 0xd5, 0x47, 0x12, 0x5e, 0x90, 0xf8, 0xea, 0x58, 0xbc, 0x59, 0x11, 0x17, 0xe3, 0x16, 0x43, 0xc5, 0xb8, 0x36, 0xf4, 0xe5, 0x95, 0xe4, - 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0xef, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8e, - 0xa5, 0xb9, 0xf7, 0x25, 0x5c, 0xff, 0x9e, 0x77, 0x13, 0x73, 0x95, 0x45, 0x70, 0xa1, 0xda, 0x63, - 0x0f, 0xc8, 0x22, 0xc5, 0xf0, 0x0c, 0xa7, 0x18, 0x1e, 0xb4, 0x99, 0x4e, 0x81, 0xcd, 0x74, 0x35, - 0x6d, 0x66, 0x86, 0x33, 0x3d, 0xa3, 0x01, 0x7b, 0x0e, 0xf2, 0xae, 0x8c, 0xe1, 0x62, 0x63, 0xa8, - 0x95, 0xa5, 0xc1, 0x37, 0x49, 0x1a, 0x24, 0x73, 0x15, 0x84, 0x11, 0x5b, 0xdb, 0x15, 0xe8, 0x2c, - 0xab, 0x8e, 0x9a, 0xa6, 0xf0, 0x8b, 0x29, 0x2d, 0xa8, 0x8e, 0x4a, 0xad, 0x0c, 0x23, 0x16, 0xce, - 0x3e, 0x48, 0x48, 0x80, 0x5c, 0x7e, 0x94, 0xeb, 0x38, 0xa0, 0x70, 0xfb, 0x98, 0x31, 0xe5, 0xa0, - 0xdb, 0x6e, 0x68, 0x1a, 0xb2, 0x89, 0x1d, 0xf5, 0x14, 0xbd, 0xcf, 0x60, 0xf0, 0xde, 0x17, 0x24, - 0x14, 0x70, 0xed, 0xad, 0x96, 0xfe, 0x49, 0x8e, 0xf4, 0x47, 0x04, 0xd2, 0x73, 0x18, 0x53, 0x6e, - 0xc2, 0xe1, 0x44, 0xa0, 0x96, 0xf4, 0xf1, 0xe7, 0x6e, 0x18, 0xf2, 0x28, 0x92, 0x73, 0xac, 0x04, - 0x15, 0xa4, 0x3a, 0xe7, 0xb9, 0x02, 0xe3, 0x76, 0xdd, 0x74, 0x4a, 0xcc, 0x43, 0xec, 0x92, 0x63, - 0x96, 0x34, 0xcc, 0x71, 0x49, 0xad, 0x56, 0xa9, 0x3b, 0xe6, 0x6c, 0xb6, 0x3c, 0x58, 0x2c, 0xdb, - 0xb7, 0x4d, 0x22, 0xd2, 0x6c, 0xb5, 0x2a, 0x3f, 0x03, 0x53, 0x65, 0x16, 0x38, 0xc4, 0x64, 0x3a, - 0x31, 0x99, 0x89, 0x72, 0xe8, 0x68, 0x31, 0x44, 0xec, 0x3f, 0x60, 0x37, 0xe6, 0x86, 0xc6, 0x03, - 0x46, 0x22, 0xd7, 0xd5, 0xea, 0x34, 0x4a, 0x45, 0xd9, 0x66, 0x76, 0xe7, 0x0d, 0x21, 0xbf, 0x0c, - 0xa3, 0x3e, 0x66, 0x23, 0xa3, 0x64, 0x5b, 0x1f, 0x25, 0x57, 0x0e, 0xc6, 0xe9, 0xe6, 0x58, 0x1c, - 0x59, 0x70, 0x04, 0xcc, 0x75, 0xb7, 0x7a, 0x12, 0x13, 0x96, 0x05, 0x93, 0x91, 0xeb, 0x22, 0x59, - 0xc8, 0x28, 0x3d, 0xed, 0xa5, 0x18, 0xbe, 0x44, 0x64, 0xc4, 0x3b, 0x30, 0xb9, 0x82, 0x8d, 0xb8, - 0x64, 0x12, 0x2b, 0x8e, 0x6a, 0xb0, 0xb7, 0x75, 0x0d, 0x8e, 0xae, 0x44, 0x1d, 0x83, 0x29, 0xb1, - 0x08, 0x07, 0x43, 0x43, 0x0a, 0x2d, 0x0c, 0xb0, 0x85, 0xed, 0x5b, 0x89, 0xd6, 0x15, 0x42, 0x46, - 0x76, 0x2f, 0x4e, 0x0c, 0xa2, 0xbc, 0xbe, 0x76, 0x95, 0x27, 0x10, 0x06, 0x53, 0x2d, 0x9c, 0xe4, - 0x84, 0x94, 0xf1, 0x48, 0x48, 0xf1, 0xfb, 0xb6, 0xf2, 0x20, 0x0b, 0x63, 0xbc, 0x0e, 0x16, 0x39, - 0xa6, 0x61, 0x10, 0x5b, 0x19, 0x55, 0x44, 0x30, 0x8a, 0xec, 0x72, 0xbb, 0x68, 0x10, 0x26, 0x1d, - 0x72, 0x01, 0x46, 0x7c, 0x56, 0x13, 0xc2, 0xea, 0xc0, 0x58, 0xc3, 0x4d, 0x80, 0x20, 0xee, 0x11, - 0xd8, 0xd5, 0xb4, 0x68, 0x6f, 0x1d, 0x40, 0xe2, 0xc3, 0x4e, 0x66, 0xa0, 0x74, 0x2d, 0x70, 0x0e, - 0x86, 0xc3, 0xd6, 0xe9, 0x61, 0x90, 0x50, 0xb0, 0x3b, 0x64, 0x66, 0x14, 0x6f, 0x16, 0xc6, 0x43, - 0x93, 0x13, 0xe2, 0xb1, 0x0b, 0xf3, 0x98, 0x0f, 0xe8, 0x39, 0xc8, 0xe6, 0x65, 0x18, 0xe5, 0xcd, - 0xaf, 0x37, 0x7c, 0x96, 0x04, 0xb4, 0xe8, 0x44, 0x51, 0x0e, 0xce, 0x43, 0xce, 0x5b, 0xc5, 0xf8, - 0xfd, 0x17, 0xaf, 0x4d, 0xba, 0x09, 0xeb, 0xb4, 0xbf, 0x99, 0xd8, 0xf0, 0x72, 0xe6, 0x2c, 0x0c, - 0xd3, 0xe5, 0x4c, 0x04, 0xaf, 0x07, 0xe3, 0x0d, 0x91, 0xee, 0x10, 0xda, 0x3c, 0x4c, 0x78, 0xe3, - 0x45, 0xfd, 0x19, 0x63, 0xf7, 0x62, 0xec, 0x51, 0x0a, 0x15, 0x32, 0x3c, 0x42, 0x64, 0x16, 0xc6, - 0xe9, 0xd8, 0x02, 0x1a, 0xc4, 0x3b, 0xf2, 0x04, 0x88, 0x4b, 0xe2, 0x9f, 0x41, 0xf1, 0xf8, 0xe0, - 0xbb, 0x07, 0xa6, 0xd3, 0x47, 0xe2, 0x38, 0x85, 0xe4, 0xe4, 0x34, 0x4c, 0xeb, 0x69, 0xd8, 0x47, - 0xd9, 0x89, 0x21, 0xd5, 0x8f, 0x49, 0x51, 0xbe, 0x05, 0x94, 0x7c, 0xf9, 0xef, 0xa7, 0x12, 0x4c, - 0x70, 0xb6, 0x43, 0x69, 0x2a, 0x02, 0x9b, 0xb6, 0x4f, 0xb9, 0xc4, 0xf1, 0xe0, 0x83, 0x71, 0xbb, - 0x39, 0x7f, 0x65, 0xe0, 0x27, 0x12, 0x3c, 0x11, 0x0f, 0x92, 0x76, 0x93, 0xf2, 0x42, 0xb8, 0x3e, - 0x70, 0x21, 0x9d, 0x44, 0x8f, 0x56, 0x25, 0xf8, 0x53, 0x07, 0x8c, 0xc5, 0xd1, 0xfa, 0x1c, 0xd6, - 0x0a, 0xe4, 0x7f, 0x81, 0x1d, 0xf8, 0x12, 0x8d, 0x6e, 0x1a, 0xa5, 0x32, 0xaa, 0x3a, 0x2a, 0x5e, - 0xdd, 0xf7, 0x9d, 0x3a, 0x1c, 0x7b, 0x1b, 0x89, 0x62, 0x2c, 0xb8, 0x08, 0xd4, 0x40, 0xb6, 0xd7, - 0xfd, 0x8d, 0xf2, 0x25, 0xc8, 0xd6, 0xd5, 0x0d, 0xb3, 0xe1, 0xb4, 0x72, 0x42, 0x4f, 0x51, 0x7c, - 0x2a, 0xff, 0x25, 0x59, 0x03, 0x73, 0x76, 0xb6, 0x9f, 0xaa, 0xd9, 0x27, 0xae, 0x85, 0xe3, 0x19, - 0x54, 0x7e, 0x2e, 0xe1, 0xc5, 0x70, 0x3c, 0xd4, 0xe3, 0x6d, 0xfc, 0x7f, 0xa3, 0x95, 0x48, 0x9c, - 0x69, 0x42, 0xca, 0xfa, 0xec, 0x76, 0x9e, 0xac, 0xbb, 0xa6, 0xda, 0xeb, 0xd8, 0xd4, 0xba, 0x68, - 0xf7, 0x92, 0x6a, 0xaf, 0x7b, 0x02, 0x65, 0x9b, 0x02, 0x25, 0xee, 0xe9, 0xb8, 0x02, 0x2a, 0x0a, - 0x29, 0x12, 0xf1, 0xfa, 0xd8, 0x26, 0xf5, 0x7f, 0x3a, 0xf0, 0xdd, 0x56, 0xd1, 0x66, 0xe7, 0x73, - 0xa4, 0xa4, 0x0b, 0x1c, 0x25, 0xed, 0x8f, 0x2a, 0x29, 0x2a, 0xa3, 0x72, 0x00, 0x17, 0x88, 0x44, - 0xdd, 0x4c, 0x55, 0xaf, 0x49, 0xd0, 0xcb, 0x96, 0xc1, 0x41, 0x05, 0x48, 0x49, 0x0a, 0xe8, 0x48, - 0x54, 0x40, 0x26, 0x5e, 0x01, 0x9d, 0x02, 0x05, 0x34, 0xcb, 0x17, 0xca, 0x8f, 0x48, 0xaa, 0xf5, - 0x6d, 0x5e, 0xc3, 0x2b, 0x86, 0xad, 0xdb, 0x77, 0x27, 0xa6, 0xd8, 0x18, 0xae, 0x94, 0x1b, 0x38, - 0xc3, 0xc6, 0x40, 0xb4, 0xb4, 0xe3, 0xfe, 0xdf, 0x0e, 0xd8, 0xbd, 0x64, 0x57, 0x96, 0x99, 0xaa, - 0x6f, 0x5b, 0xaa, 0x61, 0xaf, 0xc6, 0xd8, 0xf2, 0x09, 0x18, 0xb2, 0xcd, 0x86, 0xa5, 0xa1, 0x12, - 0x6f, 0xd2, 0x64, 0xd2, 0xb7, 0xec, 0x9f, 0x3a, 0xbc, 0x1e, 0xb7, 0x1d, 0xdd, 0x20, 0xa7, 0xdd, - 0x3c, 0x63, 0x1f, 0xf6, 0x01, 0x2c, 0xf3, 0xef, 0x68, 0x76, 0xb6, 0x76, 0x47, 0x73, 0x3a, 0xa4, - 0xdf, 0x09, 0xbf, 0x7e, 0xa3, 0xe2, 0x2a, 0x93, 0xb8, 0x8c, 0x1e, 0xed, 0x60, 0x06, 0xfd, 0x6a, - 0x07, 0xbe, 0xc7, 0x79, 0xed, 0xbe, 0x83, 0x2c, 0x43, 0xad, 0xfe, 0xa3, 0xe8, 0xe9, 0x58, 0x48, - 0x4f, 0x81, 0xbb, 0xfd, 0x61, 0x61, 0xe9, 0xdd, 0xfe, 0x70, 0x33, 0xd3, 0xd1, 0xc7, 0x12, 0xae, - 0xdf, 0xdc, 0xd0, 0xef, 0x34, 0x74, 0x7c, 0x0b, 0x99, 0x2e, 0x18, 0x1e, 0xad, 0x7e, 0x13, 0x08, - 0x1e, 0x99, 0x50, 0xf0, 0x60, 0x0b, 0x80, 0xce, 0xf6, 0x16, 0x00, 0x92, 0xb7, 0x00, 0x38, 0x1e, - 0xb7, 0x6b, 0x8d, 0x48, 0xa4, 0x4c, 0xe0, 0x4d, 0x6b, 0xa4, 0x9d, 0xa9, 0xe2, 0x0d, 0x92, 0x4c, - 0xaf, 0xd5, 0x90, 0x55, 0x41, 0x86, 0xb6, 0xb1, 0x8c, 0xef, 0x67, 0xd0, 0x57, 0x0e, 0x5b, 0xa6, - 0x8e, 0xc2, 0xc9, 0xb8, 0xc4, 0xc7, 0x65, 0x86, 0x26, 0x3e, 0x6e, 0x5f, 0xf3, 0xfe, 0x78, 0x07, - 0x7e, 0xb4, 0xb1, 0x68, 0xb8, 0x9b, 0x22, 0x9b, 0x49, 0x4b, 0x8e, 0x8c, 0x1f, 0x13, 0x17, 0x08, - 0xe8, 0xa5, 0x33, 0x64, 0x26, 0x97, 0x98, 0x7f, 0xb4, 0xb2, 0x58, 0xa5, 0x3e, 0x72, 0x2a, 0xa4, - 0x54, 0x25, 0x78, 0x1e, 0xcc, 0xd3, 0x09, 0x7d, 0x6c, 0xc0, 0xef, 0x0c, 0xab, 0x75, 0x01, 0x7d, - 0xa1, 0xd6, 0xb0, 0x5a, 0xf9, 0x3a, 0xa1, 0x6a, 0xe5, 0x77, 0x32, 0xb5, 0xbe, 0x27, 0x61, 0xe7, - 0xbc, 0x65, 0xe9, 0x77, 0xf5, 0x2a, 0xaa, 0xa0, 0xf2, 0xb5, 0xfb, 0x48, 0x6b, 0x38, 0x68, 0xde, - 0x34, 0x1c, 0x4b, 0xd5, 0xc4, 0xfe, 0x37, 0x04, 0x5d, 0xab, 0x0d, 0xa3, 0x6c, 0x53, 0x55, 0x92, - 0x0f, 0xf9, 0x30, 0x0c, 0x68, 0x14, 0xb3, 0xa4, 0x92, 0xb7, 0x1e, 0x54, 0x69, 0x3b, 0xbd, 0x76, - 0xfa, 0x04, 0x44, 0x96, 0xe9, 0xd2, 0x80, 0xe8, 0x89, 0x64, 0xfb, 0xcb, 0x82, 0x83, 0xf6, 0x03, - 0x7e, 0x71, 0x85, 0xbc, 0xba, 0x81, 0x64, 0x7f, 0x1c, 0x00, 0x4b, 0xf7, 0x2f, 0x03, 0x60, 0x7e, - 0x4b, 0x65, 0x7d, 0x75, 0x15, 0x67, 0xfc, 0xd8, 0x34, 0x70, 0xc2, 0x9d, 0xaa, 0x37, 0xff, 0x30, - 0x79, 0xa8, 0xa2, 0x3b, 0x6b, 0x8d, 0x95, 0x69, 0xcd, 0xac, 0xd1, 0xc7, 0x7e, 0xf4, 0xbf, 0xe3, - 0x76, 0x79, 0x7d, 0xc6, 0xd9, 0xa8, 0x23, 0x1b, 0x23, 0xd8, 0xc5, 0x5e, 0x4c, 0x7e, 0x41, 0x5f, - 0x5d, 0x2d, 0x0c, 0x72, 0x64, 0x52, 0x5e, 0x82, 0x81, 0x25, 0xbb, 0x52, 0x44, 0xf7, 0x54, 0xab, - 0x6c, 0xdf, 0xac, 0x3b, 0x37, 0x1b, 0x42, 0x4d, 0x93, 0x3a, 0x21, 0x47, 0x29, 0x23, 0x7e, 0xa5, - 0x04, 0x48, 0x29, 0x79, 0x1c, 0x50, 0x03, 0x6d, 0xfe, 0xf7, 0x2d, 0xbb, 0x71, 0xa7, 0x56, 0x55, - 0xf5, 0xda, 0x0d, 0x53, 0x5b, 0x47, 0xe5, 0xeb, 0x78, 0xf2, 0xc4, 0x4e, 0x34, 0x58, 0xc5, 0x60, - 0xb3, 0xc4, 0xd2, 0x6f, 0x35, 0x56, 0x9e, 0x41, 0x1b, 0x78, 0xe2, 0xfb, 0x8b, 0xbc, 0x2e, 0x79, - 0x0c, 0x7a, 0x6d, 0xbd, 0x62, 0xa8, 0x4e, 0xc3, 0x22, 0x9b, 0xf0, 0xfe, 0x62, 0xb3, 0x21, 0x7e, - 0xbd, 0x11, 0xe5, 0x8b, 0xae, 0x37, 0xa2, 0x1d, 0x4c, 0xa4, 0xff, 0x26, 0x4f, 0x5d, 0x96, 0xf5, - 0x8a, 0x81, 0x97, 0xd0, 0xcb, 0x90, 0x75, 0xff, 0xa6, 0x82, 0xf4, 0xcf, 0x5d, 0xfa, 0xe4, 0xe1, - 0x64, 0xd6, 0xc6, 0x2d, 0x7f, 0x7d, 0x38, 0x79, 0x3c, 0xc5, 0x2c, 0xce, 0x6a, 0x1a, 0xb5, 0xd3, - 0x22, 0x25, 0x25, 0x8f, 0x41, 0xe7, 0x02, 0x59, 0xca, 0xba, 0x24, 0x7b, 0x3e, 0x79, 0x38, 0x89, - 0x6d, 0xb6, 0x88, 0x5b, 0x95, 0xfb, 0xf8, 0xd1, 0x10, 0xe6, 0xc0, 0xd4, 0xe4, 0x03, 0x44, 0x7e, - 0x72, 0xd9, 0x8b, 0xd4, 0x3e, 0x30, 0x82, 0xfb, 0x5d, 0xec, 0x71, 0xbb, 0xf0, 0x75, 0xae, 0x79, - 0xe8, 0xba, 0xab, 0x56, 0x1b, 0x88, 0xee, 0x5c, 0x0f, 0xc6, 0x25, 0x64, 0x9f, 0x7c, 0xde, 0x6e, - 0x1c, 0xe3, 0x2a, 0x5f, 0xce, 0x60, 0x3f, 0x9f, 0x2d, 0xd7, 0x74, 0x83, 0xd4, 0x84, 0x39, 0x5b, - 0xea, 0xf6, 0xb6, 0x5b, 0xcf, 0xc2, 0x80, 0xef, 0x1e, 0x25, 0xa9, 0xc5, 0x34, 0x4b, 0x2a, 0x52, - 0x52, 0xf0, 0xda, 0xd9, 0x44, 0xc6, 0xd7, 0x9b, 0x84, 0x57, 0x39, 0x3b, 0x5b, 0xbf, 0xca, 0xd9, - 0x25, 0xbe, 0xca, 0x79, 0x15, 0xb2, 0xb6, 0xa3, 0x3a, 0x0d, 0x9b, 0x5e, 0xb3, 0x3b, 0x14, 0xab, - 0x56, 0x2c, 0xeb, 0x32, 0x86, 0x2f, 0x52, 0xbc, 0x42, 0x21, 0xae, 0xb8, 0x11, 0xaf, 0x68, 0xe5, - 0x28, 0xae, 0x6d, 0xc4, 0x03, 0x31, 0xc3, 0xfd, 0x0e, 0x79, 0xd8, 0x34, 0x4b, 0x1e, 0xad, 0xbd, - 0x82, 0x96, 0x1d, 0x75, 0x1d, 0x3d, 0x65, 0xa9, 0x86, 0x23, 0xf6, 0xc6, 0xeb, 0x90, 0xad, 0x60, - 0x08, 0xba, 0xa9, 0x9a, 0x8e, 0x13, 0x0f, 0xd3, 0xf2, 0xc8, 0x63, 0xd5, 0x16, 0x29, 0x76, 0xe1, - 0x44, 0xdc, 0xab, 0x26, 0x1e, 0x47, 0xca, 0x3e, 0xfc, 0x34, 0x82, 0xd7, 0xc5, 0x04, 0xda, 0xc0, - 0xb1, 0x65, 0xd6, 0xe5, 0x46, 0x75, 0x7c, 0x10, 0x42, 0x69, 0x72, 0xd0, 0x8d, 0xf9, 0x61, 0xd7, - 0x32, 0xbd, 0xcf, 0xf8, 0x28, 0x11, 0x1d, 0x81, 0x46, 0x89, 0x68, 0x87, 0xc7, 0xdb, 0xa9, 0x5f, - 0x1d, 0x84, 0xcc, 0x92, 0x5d, 0x91, 0x55, 0xe8, 0xf6, 0x1e, 0xf7, 0x3d, 0x91, 0xe0, 0x71, 0x14, - 0x2e, 0x3f, 0x9d, 0x0e, 0x8e, 0xe5, 0x97, 0x32, 0xf4, 0xb0, 0x77, 0x77, 0x49, 0x5e, 0xed, 0x01, - 0xe6, 0x67, 0x52, 0x02, 0xb2, 0x51, 0xbe, 0x26, 0xc1, 0xb0, 0xe8, 0x41, 0xd2, 0xb9, 0x04, 0x62, - 0x02, 0xbc, 0xfc, 0x93, 0xed, 0xe1, 0x31, 0x9e, 0x5e, 0x97, 0x60, 0x2c, 0xf6, 0xf1, 0xcc, 0xa5, - 0x74, 0x03, 0x70, 0x91, 0xf3, 0xf3, 0x8f, 0x80, 0xcc, 0x58, 0xfc, 0xae, 0x04, 0x7b, 0x13, 0x6f, - 0x11, 0x5f, 0x49, 0x37, 0x92, 0x90, 0x40, 0xfe, 0xa9, 0x47, 0x24, 0xc0, 0xd8, 0x7d, 0x20, 0xc1, - 0x10, 0xf7, 0xe5, 0xe3, 0xe9, 0x84, 0x11, 0x78, 0x48, 0xf9, 0x4b, 0x6d, 0x20, 0x31, 0x56, 0xbe, - 0x29, 0x41, 0x3e, 0xe6, 0xd5, 0xe1, 0xc5, 0x04, 0xda, 0x62, 0xd4, 0xfc, 0x6c, 0xdb, 0xa8, 0x8c, - 0xb9, 0x2f, 0x49, 0xb0, 0x9b, 0x7f, 0x33, 0xf4, 0x4c, 0x6a, 0x99, 0x7d, 0x58, 0xf9, 0x7f, 0x6a, - 0x07, 0x8b, 0x71, 0xb3, 0x01, 0x3b, 0xc3, 0x17, 0x92, 0x92, 0x82, 0x48, 0x08, 0x3e, 0x7f, 0xae, - 0x35, 0xf8, 0x80, 0x22, 0xf8, 0x77, 0x83, 0xce, 0xa4, 0xd2, 0x72, 0x08, 0x2b, 0x51, 0x11, 0xf1, - 0x77, 0x7b, 0xfe, 0x0b, 0x76, 0x45, 0xef, 0xa8, 0x9c, 0x48, 0x43, 0xd2, 0x8f, 0x91, 0xbf, 0xd0, - 0x2a, 0x06, 0x63, 0xe0, 0x1b, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, + 0xae, 0x3e, 0x48, 0x88, 0xc4, 0x49, 0x4c, 0x2a, 0x1f, 0x48, 0x38, 0x14, 0x27, 0xc1, 0x3d, 0x8d, + 0xa5, 0xb9, 0x47, 0x12, 0xae, 0x7f, 0xcf, 0xbb, 0x89, 0xb9, 0xca, 0x22, 0xb8, 0x50, 0xed, 0xb1, + 0x07, 0x64, 0x91, 0x62, 0x78, 0x86, 0x53, 0x0c, 0x0f, 0xda, 0x4c, 0xa7, 0xc0, 0x66, 0xba, 0x9a, + 0x36, 0x33, 0xc3, 0x99, 0x9e, 0xd1, 0x80, 0x3d, 0x07, 0x79, 0x57, 0xc6, 0x70, 0xb1, 0x31, 0xd4, + 0xca, 0xd2, 0xe0, 0x7b, 0x24, 0x0d, 0x92, 0xb9, 0x0a, 0xc2, 0x88, 0xad, 0xed, 0x0a, 0x74, 0x96, + 0x55, 0x47, 0x4d, 0x53, 0xf8, 0xc5, 0x94, 0x16, 0x54, 0x47, 0xa5, 0x56, 0x86, 0x11, 0x0b, 0x67, + 0x1f, 0x24, 0x24, 0x40, 0x2e, 0x3f, 0xca, 0x75, 0x1c, 0x50, 0xb8, 0x7d, 0xcc, 0x98, 0x72, 0xd0, + 0x6d, 0x37, 0x34, 0x0d, 0xd9, 0xc4, 0x8e, 0x7a, 0x8a, 0xde, 0x67, 0x30, 0x78, 0xef, 0x0b, 0x12, + 0x0a, 0xb8, 0xf6, 0x56, 0x4b, 0xff, 0x2c, 0x47, 0xfa, 0x23, 0x02, 0xe9, 0x39, 0x8c, 0x29, 0x37, + 0xe1, 0x70, 0x22, 0x50, 0x4b, 0xfa, 0xf8, 0x7d, 0x37, 0x0c, 0x79, 0x14, 0xc9, 0x39, 0x56, 0x82, + 0x0a, 0x52, 0x9d, 0xf3, 0x5c, 0x81, 0x71, 0xbb, 0x6e, 0x3a, 0x25, 0xe6, 0x21, 0x76, 0xc9, 0x31, + 0x4b, 0x1a, 0xe6, 0xb8, 0xa4, 0x56, 0xab, 0xd4, 0x1d, 0x73, 0x36, 0x5b, 0x1e, 0x2c, 0x96, 0xed, + 0xdb, 0x26, 0x11, 0x69, 0xb6, 0x5a, 0x95, 0x5f, 0x80, 0xa9, 0x32, 0x0b, 0x1c, 0x62, 0x32, 0x9d, + 0x98, 0xcc, 0x44, 0x39, 0x74, 0xb4, 0x18, 0x22, 0xf6, 0x0f, 0xb0, 0x1b, 0x73, 0x43, 0xe3, 0x01, + 0x23, 0x91, 0xeb, 0x6a, 0x75, 0x1a, 0xa5, 0xa2, 0x6c, 0x33, 0xbb, 0xf3, 0x86, 0x90, 0x5f, 0x87, + 0x51, 0x1f, 0xb3, 0x91, 0x51, 0xb2, 0xad, 0x8f, 0x92, 0x2b, 0x07, 0xe3, 0x74, 0x73, 0x2c, 0x8e, + 0x2c, 0x38, 0x02, 0xe6, 0xba, 0x5b, 0x3d, 0x89, 0x09, 0xcb, 0x82, 0xc9, 0xc8, 0x75, 0x91, 0x2c, + 0x64, 0x94, 0x9e, 0xf6, 0x52, 0x0c, 0x5f, 0x22, 0x32, 0xe2, 0x1d, 0x98, 0x5c, 0xc1, 0x46, 0x5c, + 0x32, 0x89, 0x15, 0x47, 0x35, 0xd8, 0xdb, 0xba, 0x06, 0x47, 0x57, 0xa2, 0x8e, 0xc1, 0x94, 0x58, + 0x84, 0x83, 0xa1, 0x21, 0x85, 0x16, 0x06, 0xd8, 0xc2, 0xf6, 0xad, 0x44, 0xeb, 0x0a, 0x21, 0x23, + 0xbb, 0x17, 0x27, 0x06, 0x51, 0x5e, 0x5f, 0xbb, 0xca, 0x13, 0x08, 0x83, 0xa9, 0x16, 0x4e, 0x72, + 0x42, 0xca, 0x78, 0x24, 0xa4, 0xf8, 0x7d, 0x5b, 0x79, 0x90, 0x85, 0x31, 0x5e, 0x07, 0x8b, 0x1c, + 0xd3, 0x30, 0x88, 0xad, 0x8c, 0x2a, 0x22, 0x18, 0x45, 0x76, 0xb9, 0x5d, 0x34, 0x08, 0x93, 0x0e, + 0xb9, 0x00, 0x23, 0x3e, 0xab, 0x09, 0x61, 0x75, 0x60, 0xac, 0xe1, 0x26, 0x40, 0x10, 0xf7, 0x08, + 0xec, 0x6a, 0x5a, 0xb4, 0xb7, 0x0e, 0x20, 0xf1, 0x61, 0x27, 0x33, 0x50, 0xba, 0x16, 0x38, 0x07, + 0xc3, 0x61, 0xeb, 0xf4, 0x30, 0x48, 0x28, 0xd8, 0x1d, 0x32, 0x33, 0x8a, 0x37, 0x0b, 0xe3, 0xa1, + 0xc9, 0x09, 0xf1, 0xd8, 0x85, 0x79, 0xcc, 0x07, 0xf4, 0x1c, 0x64, 0xf3, 0x32, 0x8c, 0xf2, 0xe6, + 0xd7, 0x1b, 0x3e, 0x4b, 0x02, 0x5a, 0x74, 0xa2, 0x28, 0x07, 0xe7, 0x21, 0xe7, 0xad, 0x62, 0xfc, + 0xfe, 0x8b, 0xd7, 0x26, 0xdd, 0x84, 0x75, 0xda, 0xdf, 0x4c, 0x6c, 0x78, 0x39, 0x73, 0x16, 0x86, + 0xe9, 0x72, 0x26, 0x82, 0xd7, 0x83, 0xf1, 0x86, 0x48, 0x77, 0x08, 0x6d, 0x1e, 0x26, 0xbc, 0xf1, + 0xa2, 0xfe, 0x8c, 0xb1, 0x7b, 0x31, 0xf6, 0x28, 0x85, 0x0a, 0x19, 0x1e, 0x21, 0x32, 0x0b, 0xe3, + 0x74, 0x6c, 0x01, 0x0d, 0xe2, 0x1d, 0x79, 0x02, 0xc4, 0x25, 0xf1, 0xd7, 0xa0, 0x78, 0x7c, 0xf0, + 0xdd, 0x03, 0xd3, 0xe9, 0x23, 0x71, 0x9c, 0x42, 0x72, 0x72, 0x1a, 0xa6, 0xf5, 0x3c, 0xec, 0xa3, + 0xec, 0xc4, 0x90, 0xea, 0xc7, 0xa4, 0x28, 0xdf, 0x02, 0x4a, 0xbe, 0xfc, 0xf7, 0x23, 0x09, 0x26, + 0x38, 0xdb, 0xa1, 0x34, 0x15, 0x81, 0x4d, 0xdb, 0xa7, 0x5c, 0xe2, 0x78, 0xf0, 0xc1, 0xb8, 0xdd, + 0x9c, 0xbf, 0x32, 0xf0, 0x43, 0x09, 0x9e, 0x89, 0x07, 0x49, 0xbb, 0x49, 0x79, 0x25, 0x5c, 0x1f, + 0xb8, 0x90, 0x4e, 0xa2, 0x27, 0xab, 0x12, 0xfc, 0xae, 0x03, 0xc6, 0xe2, 0x68, 0x7d, 0x05, 0x6b, + 0x05, 0xf2, 0xdf, 0xc0, 0x0e, 0x7c, 0x89, 0x46, 0x37, 0x8d, 0x52, 0x19, 0x55, 0x1d, 0x15, 0xaf, + 0xee, 0xfb, 0x4e, 0x1d, 0x8e, 0xbd, 0x8d, 0x44, 0x31, 0x16, 0x5c, 0x04, 0x6a, 0x20, 0xdb, 0xeb, + 0xfe, 0x46, 0xf9, 0x12, 0x64, 0xeb, 0xea, 0x86, 0xd9, 0x70, 0x5a, 0x39, 0xa1, 0xa7, 0x28, 0x3e, + 0x95, 0xff, 0x8c, 0xac, 0x81, 0x39, 0x3b, 0xdb, 0x2f, 0xd4, 0xec, 0x13, 0xd7, 0xc2, 0xf1, 0x0c, + 0x2a, 0x3f, 0x91, 0xf0, 0x62, 0x38, 0x1e, 0xea, 0xe9, 0x36, 0xfe, 0x3f, 0xd1, 0x4a, 0x24, 0xce, + 0x34, 0x21, 0x65, 0x7d, 0x79, 0x3b, 0x4f, 0xd6, 0x5d, 0x53, 0xed, 0x75, 0x6c, 0x6a, 0x5d, 0xb4, + 0x7b, 0x49, 0xb5, 0xd7, 0x3d, 0x81, 0xb2, 0x4d, 0x81, 0x12, 0xf7, 0x74, 0x5c, 0x01, 0x15, 0x85, + 0x14, 0x89, 0x78, 0x7d, 0x6c, 0x93, 0xfa, 0xcf, 0x1d, 0xf8, 0x6e, 0xab, 0x68, 0xb3, 0xf3, 0x15, + 0x52, 0xd2, 0x05, 0x8e, 0x92, 0xf6, 0x47, 0x95, 0x14, 0x95, 0x51, 0x39, 0x80, 0x0b, 0x44, 0xa2, + 0x6e, 0xa6, 0xaa, 0xb7, 0x25, 0xe8, 0x65, 0xcb, 0xe0, 0xa0, 0x02, 0xa4, 0x24, 0x05, 0x74, 0x24, + 0x2a, 0x20, 0x13, 0xaf, 0x80, 0x4e, 0x81, 0x02, 0x9a, 0xe5, 0x0b, 0xe5, 0xfb, 0x24, 0xd5, 0xfa, + 0x36, 0xaf, 0xe1, 0x15, 0xc3, 0xd6, 0xed, 0xbb, 0x13, 0x53, 0x6c, 0x0c, 0x57, 0xca, 0x0d, 0x9c, + 0x61, 0x63, 0x20, 0x5a, 0xda, 0x71, 0xff, 0x4b, 0x07, 0xec, 0x5e, 0xb2, 0x2b, 0xcb, 0x4c, 0xd5, + 0xb7, 0x2d, 0xd5, 0xb0, 0x57, 0x63, 0x6c, 0xf9, 0x04, 0x0c, 0xd9, 0x66, 0xc3, 0xd2, 0x50, 0x89, + 0x37, 0x69, 0x32, 0xe9, 0x5b, 0xf6, 0x4f, 0x1d, 0x5e, 0x8f, 0xdb, 0x8e, 0x6e, 0x90, 0xd3, 0x6e, + 0x9e, 0xb1, 0x0f, 0xfb, 0x00, 0x96, 0xf9, 0x77, 0x34, 0x3b, 0x5b, 0xbb, 0xa3, 0x39, 0x1d, 0xd2, + 0xef, 0x84, 0x5f, 0xbf, 0x51, 0x71, 0x95, 0x49, 0x5c, 0x46, 0x8f, 0x76, 0x30, 0x83, 0x7e, 0xab, + 0x03, 0xdf, 0xe3, 0xbc, 0x76, 0xdf, 0x41, 0x96, 0xa1, 0x56, 0xff, 0x52, 0xf4, 0x74, 0x2c, 0xa4, + 0xa7, 0xc0, 0xdd, 0xfe, 0xb0, 0xb0, 0xf4, 0x6e, 0x7f, 0xb8, 0x99, 0xe9, 0xe8, 0x33, 0x09, 0xd7, + 0x6f, 0x6e, 0xe8, 0x77, 0x1a, 0x3a, 0xbe, 0x85, 0x4c, 0x17, 0x0c, 0x4f, 0x56, 0xbf, 0x09, 0x04, + 0x8f, 0x4c, 0x28, 0x78, 0xb0, 0x05, 0x40, 0x67, 0x7b, 0x0b, 0x00, 0xc9, 0x5b, 0x00, 0x1c, 0x8f, + 0xdb, 0xb5, 0x46, 0x24, 0x52, 0x26, 0xf0, 0xa6, 0x35, 0xd2, 0xce, 0x54, 0xf1, 0x2e, 0x49, 0xa6, + 0xd7, 0x6a, 0xc8, 0xaa, 0x20, 0x43, 0xdb, 0x58, 0xc6, 0xf7, 0x33, 0xe8, 0x2b, 0x87, 0x2d, 0x53, + 0x47, 0xe1, 0x64, 0x5c, 0xe2, 0xe3, 0x32, 0x43, 0x13, 0x1f, 0xb7, 0xaf, 0x79, 0x7f, 0xbc, 0x03, + 0x3f, 0xda, 0x58, 0x34, 0xdc, 0x4d, 0x91, 0xcd, 0xa4, 0x25, 0x47, 0xc6, 0x4f, 0x89, 0x0b, 0x04, + 0xf4, 0xd2, 0x19, 0x32, 0x93, 0x4b, 0xcc, 0x3f, 0x5a, 0x59, 0xac, 0x52, 0x1f, 0x39, 0x15, 0x52, + 0xaa, 0x12, 0x3c, 0x0f, 0xe6, 0xe9, 0x84, 0x3e, 0x36, 0xe0, 0x77, 0x86, 0xd5, 0xba, 0x80, 0xbe, + 0x56, 0x6b, 0x58, 0xad, 0x7c, 0x9d, 0x50, 0xb5, 0xf2, 0x3b, 0x99, 0x5a, 0x3f, 0x92, 0xb0, 0x73, + 0xde, 0xb2, 0xf4, 0xbb, 0x7a, 0x15, 0x55, 0x50, 0xf9, 0xda, 0x7d, 0xa4, 0x35, 0x1c, 0x34, 0x6f, + 0x1a, 0x8e, 0xa5, 0x6a, 0x62, 0xff, 0x1b, 0x82, 0xae, 0xd5, 0x86, 0x51, 0xb6, 0xa9, 0x2a, 0xc9, + 0x87, 0x7c, 0x18, 0x06, 0x34, 0x8a, 0x59, 0x52, 0xc9, 0x5b, 0x0f, 0xaa, 0xb4, 0x9d, 0x5e, 0x3b, + 0x7d, 0x02, 0x22, 0xcb, 0x74, 0x69, 0x40, 0xf4, 0x44, 0xb2, 0xfd, 0x65, 0xc1, 0x41, 0xfb, 0x01, + 0xbf, 0xb8, 0x42, 0x5e, 0xdd, 0x40, 0xb2, 0x3f, 0x0e, 0x80, 0xa5, 0xfb, 0xd7, 0x01, 0x30, 0xbf, + 0xa5, 0xb2, 0xbe, 0xba, 0x8a, 0x33, 0x7e, 0x6c, 0x1a, 0x38, 0xe1, 0x4e, 0xd5, 0x7b, 0xbf, 0x99, + 0x3c, 0x54, 0xd1, 0x9d, 0xb5, 0xc6, 0xca, 0xb4, 0x66, 0xd6, 0xe8, 0x63, 0x3f, 0xfa, 0xdf, 0x71, + 0xbb, 0xbc, 0x3e, 0xe3, 0x6c, 0xd4, 0x91, 0x8d, 0x11, 0xec, 0x62, 0x2f, 0x26, 0xbf, 0xa0, 0xaf, + 0xae, 0x16, 0x06, 0x39, 0x32, 0x29, 0xaf, 0xc1, 0xc0, 0x92, 0x5d, 0x29, 0xa2, 0x7b, 0xaa, 0x55, + 0xb6, 0x6f, 0xd6, 0x9d, 0x9b, 0x0d, 0xa1, 0xa6, 0x49, 0x9d, 0x90, 0xa3, 0x94, 0x11, 0xbf, 0x52, + 0x02, 0xa4, 0x94, 0x3c, 0x0e, 0xa8, 0x81, 0x36, 0xff, 0xfb, 0x96, 0xdd, 0xb8, 0x53, 0xab, 0xaa, + 0x7a, 0xed, 0x86, 0xa9, 0xad, 0xa3, 0xf2, 0x75, 0x3c, 0x79, 0x62, 0x27, 0x1a, 0xac, 0x62, 0xb0, + 0x59, 0x62, 0xe9, 0xb7, 0x1a, 0x2b, 0x2f, 0xa0, 0x0d, 0x3c, 0xf1, 0xfd, 0x45, 0x5e, 0x97, 0x3c, + 0x06, 0xbd, 0xb6, 0x5e, 0x31, 0x54, 0xa7, 0x61, 0x91, 0x4d, 0x78, 0x7f, 0xb1, 0xd9, 0x10, 0xbf, + 0xde, 0x88, 0xf2, 0x45, 0xd7, 0x1b, 0xd1, 0x0e, 0x26, 0xd2, 0x9b, 0xe4, 0xa9, 0xcb, 0xb2, 0x5e, + 0x31, 0xf0, 0x12, 0x7a, 0x19, 0xb2, 0xee, 0xdf, 0x54, 0x90, 0xfe, 0xb9, 0x4b, 0x9f, 0x3f, 0x9e, + 0xcc, 0xda, 0xb8, 0xe5, 0x8f, 0x8f, 0x27, 0x8f, 0xa7, 0x98, 0xc5, 0x59, 0x4d, 0xa3, 0x76, 0x5a, + 0xa4, 0xa4, 0xe4, 0x31, 0xe8, 0x5c, 0x20, 0x4b, 0x59, 0x97, 0x64, 0xcf, 0xe7, 0x8f, 0x27, 0xb1, + 0xcd, 0x16, 0x71, 0xab, 0x72, 0x1f, 0x3f, 0x1a, 0xc2, 0x1c, 0x98, 0x9a, 0x7c, 0x80, 0xc8, 0x4f, + 0x2e, 0x7b, 0x91, 0xda, 0x07, 0x46, 0x70, 0xbf, 0x8b, 0x3d, 0x6e, 0x17, 0xbe, 0xce, 0x35, 0x0f, + 0x5d, 0x77, 0xd5, 0x6a, 0x03, 0xd1, 0x9d, 0xeb, 0xc1, 0xb8, 0x84, 0xec, 0x93, 0xcf, 0xdb, 0x8d, + 0x63, 0x5c, 0xe5, 0x3f, 0x32, 0xd8, 0xcf, 0x67, 0xcb, 0x35, 0xdd, 0x20, 0x35, 0x61, 0xce, 0x96, + 0xba, 0xbd, 0xed, 0xd6, 0x8b, 0x30, 0xe0, 0xbb, 0x47, 0x49, 0x6a, 0x31, 0xcd, 0x92, 0x8a, 0x94, + 0x14, 0xbc, 0x76, 0x36, 0x91, 0xf1, 0xf5, 0x26, 0xe1, 0x55, 0xce, 0xce, 0xd6, 0xaf, 0x72, 0x76, + 0x89, 0xaf, 0x72, 0x5e, 0x85, 0xac, 0xed, 0xa8, 0x4e, 0xc3, 0xa6, 0xd7, 0xec, 0x0e, 0xc5, 0xaa, + 0x15, 0xcb, 0xba, 0x8c, 0xe1, 0x8b, 0x14, 0xaf, 0x50, 0x88, 0x2b, 0x6e, 0xc4, 0x2b, 0x5a, 0x39, + 0x8a, 0x6b, 0x1b, 0xf1, 0x40, 0xcc, 0x70, 0xbf, 0x49, 0x1e, 0x36, 0xcd, 0x92, 0x47, 0x6b, 0x6f, + 0xa0, 0x65, 0x47, 0x5d, 0x47, 0xcf, 0x59, 0xaa, 0xe1, 0x88, 0xbd, 0xf1, 0x3a, 0x64, 0x2b, 0x18, + 0x82, 0x6e, 0xaa, 0xa6, 0xe3, 0xc4, 0xc3, 0xb4, 0x3c, 0xf2, 0x58, 0xb5, 0x45, 0x8a, 0x5d, 0x38, + 0x11, 0xf7, 0xaa, 0x89, 0xc7, 0x91, 0xb2, 0x0f, 0x3f, 0x8d, 0xe0, 0x75, 0x31, 0x81, 0x36, 0x70, + 0x6c, 0x99, 0x75, 0xb9, 0x51, 0x1d, 0x1f, 0x84, 0x50, 0x9a, 0x1c, 0x74, 0x63, 0x7e, 0xd8, 0xb5, + 0x4c, 0xef, 0x33, 0x3e, 0x4a, 0x44, 0x47, 0xa0, 0x51, 0x22, 0xda, 0xe1, 0xf1, 0x76, 0xea, 0xd1, + 0x41, 0xc8, 0x2c, 0xd9, 0x15, 0x59, 0x85, 0x6e, 0xef, 0x71, 0xdf, 0x33, 0x09, 0x1e, 0x47, 0xe1, + 0xf2, 0xd3, 0xe9, 0xe0, 0x58, 0x7e, 0x29, 0x43, 0x0f, 0x7b, 0x77, 0x97, 0xe4, 0xd5, 0x1e, 0x60, + 0x7e, 0x26, 0x25, 0x20, 0x1b, 0xe5, 0xbf, 0x25, 0x18, 0x16, 0x3d, 0x48, 0x3a, 0x97, 0x40, 0x4c, + 0x80, 0x97, 0x7f, 0xb6, 0x3d, 0x3c, 0xc6, 0xd3, 0x3b, 0x12, 0x8c, 0xc5, 0x3e, 0x9e, 0xb9, 0x94, + 0x6e, 0x00, 0x2e, 0x72, 0x7e, 0xfe, 0x09, 0x90, 0x19, 0x8b, 0xdf, 0x92, 0x60, 0x6f, 0xe2, 0x2d, + 0xe2, 0x2b, 0xe9, 0x46, 0x12, 0x12, 0xc8, 0x3f, 0xf7, 0x84, 0x04, 0x18, 0xbb, 0x0f, 0x24, 0x18, + 0xe2, 0xbe, 0x7c, 0x3c, 0x9d, 0x30, 0x02, 0x0f, 0x29, 0x7f, 0xa9, 0x0d, 0x24, 0xc6, 0xca, 0xff, + 0x49, 0x90, 0x8f, 0x79, 0x75, 0x78, 0x31, 0x81, 0xb6, 0x18, 0x35, 0x3f, 0xdb, 0x36, 0x2a, 0x63, + 0xee, 0xdf, 0x25, 0xd8, 0xcd, 0xbf, 0x19, 0x7a, 0x26, 0xb5, 0xcc, 0x3e, 0xac, 0xfc, 0x5f, 0xb5, + 0x83, 0xc5, 0xb8, 0xd9, 0x80, 0x9d, 0xe1, 0x0b, 0x49, 0x49, 0x41, 0x24, 0x04, 0x9f, 0x3f, 0xd7, + 0x1a, 0x7c, 0x40, 0x11, 0xfc, 0xbb, 0x41, 0x67, 0x52, 0x69, 0x39, 0x84, 0x95, 0xa8, 0x88, 0xf8, + 0xbb, 0x3d, 0xff, 0x04, 0xbb, 0xa2, 0x77, 0x54, 0x4e, 0xa4, 0x21, 0xe9, 0xc7, 0xc8, 0x5f, 0x68, + 0x15, 0x83, 0x31, 0xf0, 0xbf, 0x12, 0x8c, 0x88, 0xb7, 0x37, 0x49, 0x74, 0x85, 0x98, 0xf9, 0xab, 0xed, 0x62, 0x06, 0xdc, 0x29, 0xe6, 0x32, 0xea, 0xc5, 0x54, 0x06, 0xc8, 0x43, 0x4d, 0x74, 0xa7, 0x14, 0x97, 0x48, 0xdd, 0x28, 0x99, 0x78, 0xb5, 0xf1, 0x4a, 0x7a, 0xb7, 0xe5, 0x12, 0x48, 0x8c, - 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x26, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, + 0x92, 0xa9, 0xef, 0x23, 0xbe, 0x2d, 0xc1, 0x68, 0xdc, 0x59, 0x70, 0xa1, 0x45, 0x8d, 0xf8, 0x23, 0xc1, 0x5c, 0xfb, 0xb8, 0xc1, 0xe8, 0xc4, 0x3d, 0x2d, 0x3a, 0x93, 0xca, 0xcd, 0x43, 0x58, 0xc9, 0xd1, 0x29, 0xee, 0x70, 0x06, 0x6b, 0x2b, 0xae, 0x9c, 0x5f, 0x48, 0xef, 0xf2, 0x61, 0xdc, 0x44, 0x6d, 0xa5, 0x29, 0xc7, 0xfb, 0x52, 0xb4, 0xf8, 0x8d, 0x5e, 0xca, 0x14, 0x2d, 0x24, 0x90, 0x36, - 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xbf, 0x25, 0xc1, 0x78, 0xfc, 0x95, 0xe9, 0x74, 0xc9, 0x44, 0x80, - 0x9d, 0x5f, 0x78, 0x14, 0x6c, 0xc6, 0xe5, 0xb7, 0x25, 0x98, 0x48, 0x38, 0x3a, 0xbe, 0xdc, 0xfa, - 0x40, 0x7e, 0x47, 0xb9, 0xf6, 0x48, 0xe8, 0x8c, 0xd1, 0xaf, 0x4b, 0x90, 0x13, 0x9e, 0x1b, 0x9e, - 0x4f, 0x65, 0xf8, 0x51, 0xc4, 0xfc, 0x95, 0x36, 0x11, 0x03, 0xfa, 0x4b, 0xb8, 0x7e, 0x7a, 0x39, - 0xbd, 0xed, 0x73, 0xd0, 0x13, 0xf5, 0x97, 0xf2, 0xfa, 0xe8, 0xab, 0x12, 0xc8, 0x9c, 0x53, 0xaa, - 0x93, 0x49, 0xe5, 0x85, 0x08, 0x4a, 0xfe, 0x62, 0xcb, 0x28, 0x8c, 0x89, 0xff, 0x84, 0x81, 0xc8, - 0xf9, 0x4f, 0xd2, 0x0e, 0x27, 0x8c, 0x90, 0x3f, 0xdf, 0x22, 0x82, 0x7f, 0xd5, 0x11, 0x3d, 0x59, - 0x49, 0x5a, 0x75, 0x44, 0x30, 0x12, 0x57, 0x1d, 0xc2, 0x33, 0x0d, 0x1c, 0xef, 0xf9, 0x07, 0x1a, - 0x49, 0xf1, 0x9e, 0x8b, 0x95, 0x18, 0xef, 0x63, 0xcf, 0x24, 0xe4, 0xaf, 0x48, 0xb0, 0x47, 0x70, - 0x20, 0x71, 0x36, 0x31, 0x08, 0xf2, 0xd0, 0xf2, 0x97, 0xdb, 0x42, 0x0b, 0x30, 0x24, 0x28, 0xe5, - 0x9f, 0x4d, 0xdc, 0x6b, 0xb7, 0xc5, 0x50, 0x7c, 0x1d, 0x5c, 0xb6, 0x61, 0x7b, 0xb0, 0x1a, 0x7b, - 0x2c, 0x81, 0x5e, 0x00, 0x3a, 0x7f, 0xa6, 0x15, 0xe8, 0x40, 0x44, 0x49, 0xa8, 0xdb, 0x25, 0x89, - 0x15, 0x8f, 0x9e, 0x18, 0x51, 0xd2, 0xd5, 0xa9, 0xe4, 0x3a, 0xf4, 0x07, 0x7e, 0xe5, 0xe9, 0x68, - 0x02, 0x59, 0x3f, 0x70, 0xfe, 0x74, 0x0b, 0xc0, 0xfe, 0xf0, 0x11, 0xf9, 0xfd, 0xba, 0x99, 0x54, - 0x84, 0x9a, 0x08, 0x89, 0xe1, 0x43, 0xf4, 0xc3, 0x6b, 0xd8, 0x3c, 0x05, 0xbf, 0xba, 0x76, 0x36, - 0x15, 0xcd, 0x30, 0x5a, 0xa2, 0x79, 0xc6, 0xff, 0xd4, 0x16, 0x2e, 0x02, 0x70, 0xab, 0x84, 0x49, - 0xca, 0xe5, 0x21, 0x25, 0x16, 0x01, 0xe2, 0x4a, 0x7c, 0x38, 0xbb, 0x70, 0x0a, 0x7c, 0x49, 0xd9, - 0x25, 0x8a, 0x92, 0x98, 0x5d, 0xc4, 0xb5, 0xbc, 0xb9, 0xb5, 0x77, 0x3f, 0x98, 0x90, 0xde, 0xff, - 0x60, 0x42, 0xfa, 0xe3, 0x07, 0x13, 0xd2, 0x57, 0x3f, 0x9c, 0xd8, 0xf6, 0xfe, 0x87, 0x13, 0xdb, - 0x7e, 0xf7, 0xe1, 0xc4, 0xb6, 0x7f, 0x7f, 0xd6, 0x57, 0xdd, 0x5f, 0xf4, 0xc8, 0xdf, 0x50, 0x57, - 0xec, 0x19, 0x36, 0xd8, 0x71, 0xcd, 0xb4, 0x90, 0xff, 0x73, 0x4d, 0xd5, 0x8d, 0x99, 0x9a, 0x59, - 0x6e, 0x54, 0x91, 0xdd, 0xfc, 0x5d, 0x46, 0x7c, 0x12, 0xb0, 0x92, 0xc5, 0xbf, 0xa9, 0x78, 0xfa, - 0xef, 0x01, 0x00, 0x00, 0xff, 0xff, 0x80, 0xf5, 0x7b, 0xe9, 0x95, 0x52, 0x00, 0x00, + 0x45, 0x27, 0x3e, 0x4d, 0x92, 0xff, 0x5f, 0x82, 0xf1, 0xf8, 0x2b, 0xd3, 0xe9, 0x92, 0x89, 0x00, + 0x3b, 0xbf, 0xf0, 0x24, 0xd8, 0x8c, 0xcb, 0x6f, 0x48, 0x30, 0x91, 0x70, 0x74, 0x7c, 0xb9, 0xf5, + 0x81, 0xfc, 0x8e, 0x72, 0xed, 0x89, 0xd0, 0x19, 0xa3, 0xff, 0x23, 0x41, 0x4e, 0x78, 0x6e, 0x78, + 0x3e, 0x95, 0xe1, 0x47, 0x11, 0xf3, 0x57, 0xda, 0x44, 0x0c, 0xe8, 0x2f, 0xe1, 0xfa, 0xe9, 0xe5, + 0xf4, 0xb6, 0xcf, 0x41, 0x4f, 0xd4, 0x5f, 0xca, 0xeb, 0xa3, 0x6f, 0x49, 0x20, 0x73, 0x4e, 0xa9, + 0x4e, 0x26, 0x95, 0x17, 0x22, 0x28, 0xf9, 0x8b, 0x2d, 0xa3, 0x30, 0x26, 0xfe, 0x11, 0x06, 0x22, + 0xe7, 0x3f, 0x49, 0x3b, 0x9c, 0x30, 0x42, 0xfe, 0x7c, 0x8b, 0x08, 0xfe, 0x55, 0x47, 0xf4, 0x64, + 0x25, 0x69, 0xd5, 0x11, 0xc1, 0x48, 0x5c, 0x75, 0x08, 0xcf, 0x34, 0x70, 0xbc, 0xe7, 0x1f, 0x68, + 0x24, 0xc5, 0x7b, 0x2e, 0x56, 0x62, 0xbc, 0x8f, 0x3d, 0x93, 0x90, 0xff, 0x53, 0x82, 0x3d, 0x82, + 0x03, 0x89, 0xb3, 0x89, 0x41, 0x90, 0x87, 0x96, 0xbf, 0xdc, 0x16, 0x5a, 0x80, 0x21, 0x41, 0x29, + 0xff, 0x6c, 0xe2, 0x5e, 0xbb, 0x2d, 0x86, 0xe2, 0xeb, 0xe0, 0xb2, 0x0d, 0xdb, 0x83, 0xd5, 0xd8, + 0x63, 0x09, 0xf4, 0x02, 0xd0, 0xf9, 0x33, 0xad, 0x40, 0x07, 0x22, 0x4a, 0x42, 0xdd, 0x2e, 0x49, + 0xac, 0x78, 0xf4, 0xc4, 0x88, 0x92, 0xae, 0x4e, 0x25, 0xd7, 0xa1, 0x3f, 0xf0, 0x2b, 0x4f, 0x47, + 0x13, 0xc8, 0xfa, 0x81, 0xf3, 0xa7, 0x5b, 0x00, 0xf6, 0x87, 0x8f, 0xc8, 0xef, 0xd7, 0xcd, 0xa4, + 0x22, 0xd4, 0x44, 0x48, 0x0c, 0x1f, 0xa2, 0x1f, 0x5e, 0xc3, 0xe6, 0x29, 0xf8, 0xd5, 0xb5, 0xb3, + 0xa9, 0x68, 0x86, 0xd1, 0x12, 0xcd, 0x33, 0xfe, 0xa7, 0xb6, 0x70, 0x11, 0x80, 0x5b, 0x25, 0x4c, + 0x52, 0x2e, 0x0f, 0x29, 0xb1, 0x08, 0x10, 0x57, 0xe2, 0xc3, 0xd9, 0x85, 0x53, 0xe0, 0x4b, 0xca, + 0x2e, 0x51, 0x94, 0xc4, 0xec, 0x22, 0xae, 0xe5, 0xe5, 0xbb, 0xde, 0xfc, 0xf4, 0xe1, 0x11, 0x69, + 0x6e, 0xed, 0xc3, 0x8f, 0x27, 0xa4, 0x47, 0x1f, 0x4f, 0x48, 0xbf, 0xfd, 0x78, 0x42, 0xfa, 0xaf, + 0x4f, 0x26, 0xb6, 0x3d, 0xfa, 0x64, 0x62, 0xdb, 0xaf, 0x3e, 0x99, 0xd8, 0xf6, 0xf7, 0x2f, 0xfa, + 0x8a, 0xfc, 0x8b, 0xde, 0x28, 0x37, 0xd4, 0x15, 0x7b, 0x86, 0x8d, 0x79, 0x5c, 0x33, 0x2d, 0xe4, + 0xff, 0x5c, 0x53, 0x75, 0x63, 0xa6, 0x66, 0x96, 0x1b, 0x55, 0x64, 0x37, 0x7f, 0x9e, 0x11, 0x1f, + 0x08, 0xac, 0x64, 0xf1, 0x4f, 0x2b, 0x9e, 0xfe, 0x73, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x05, + 0xa8, 0x24, 0x9c, 0x52, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/insurance/types/tx.pb.go b/chain/insurance/types/tx.pb.go index 0f1e3c31..f35a9e93 100644 --- a/chain/insurance/types/tx.pb.go +++ b/chain/insurance/types/tx.pb.go @@ -394,56 +394,56 @@ func init() { } var fileDescriptor_7e1fa941c3fd0dc4 = []byte{ - // 771 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0xdb, 0x48, - 0x14, 0x8f, 0x37, 0x6c, 0x80, 0x81, 0x05, 0xe1, 0x65, 0x89, 0x13, 0x56, 0x4e, 0x36, 0xcb, 0x4a, - 0x11, 0x0b, 0xb6, 0x12, 0x56, 0x6c, 0x49, 0x4f, 0x04, 0x5a, 0x15, 0xa9, 0x11, 0x6d, 0xda, 0x5e, - 0x7a, 0x89, 0x26, 0xf6, 0xc8, 0x4c, 0x89, 0x3d, 0xc6, 0x33, 0xa6, 0xe4, 0xd8, 0x5e, 0x5a, 0xf5, - 0xc4, 0x47, 0xe0, 0x23, 0x70, 0xe8, 0xa9, 0xea, 0x07, 0xe0, 0x88, 0x7a, 0xea, 0xa9, 0xaa, 0xe0, - 0x40, 0xbf, 0x40, 0xef, 0x95, 0x3d, 0x63, 0x3b, 0x29, 0xe1, 0xef, 0x25, 0xf1, 0x7b, 0xef, 0xf7, - 0x7e, 0xf3, 0xfb, 0xcd, 0x1b, 0x8f, 0xc1, 0x1c, 0x76, 0x5e, 0x20, 0x83, 0xe1, 0x5d, 0xa4, 0x63, - 0x87, 0xfa, 0x1e, 0x74, 0x0c, 0xa4, 0xef, 0x56, 0xda, 0x88, 0xc1, 0x8a, 0xce, 0xf6, 0x34, 0xd7, - 0x23, 0x8c, 0xc8, 0xb3, 0x31, 0x4a, 0x8b, 0x51, 0x9a, 0x40, 0xe5, 0xa7, 0x2d, 0x62, 0x91, 0x10, - 0xa7, 0x07, 0x4f, 0xbc, 0x25, 0xaf, 0x1a, 0x84, 0xda, 0x84, 0xea, 0x6d, 0x48, 0x13, 0x42, 0x83, - 0x60, 0x47, 0xd4, 0xb3, 0xa2, 0x6e, 0x53, 0x4b, 0xdf, 0xad, 0x04, 0x7f, 0xa2, 0x90, 0xe3, 0x85, - 0x16, 0x67, 0xe4, 0x81, 0x28, 0xfd, 0x7b, 0x99, 0xd8, 0x44, 0x18, 0x07, 0xff, 0x93, 0x80, 0x89, - 0x07, 0x8d, 0x4e, 0x82, 0xe4, 0xa1, 0x80, 0x4d, 0x41, 0x1b, 0x3b, 0x44, 0x0f, 0x7f, 0x79, 0xaa, - 0xb4, 0x9f, 0x06, 0x33, 0x0d, 0x6a, 0xad, 0x79, 0x08, 0x32, 0xb4, 0x11, 0xd1, 0xde, 0xf7, 0x1d, - 0x53, 0x9e, 0x01, 0x19, 0x8a, 0x1c, 0x13, 0x79, 0x8a, 0x54, 0x94, 0xca, 0xa3, 0x4d, 0x11, 0x05, - 0x79, 0x86, 0x8d, 0x6d, 0xe4, 0x29, 0xbf, 0xf0, 0x3c, 0x8f, 0xe4, 0x02, 0x18, 0xdb, 0xf1, 0x09, - 0x43, 0x2d, 0x13, 0x39, 0xc4, 0x56, 0xd2, 0x61, 0x11, 0x84, 0xa9, 0xf5, 0x20, 0x13, 0x00, 0xb8, - 0x9c, 0x56, 0xb0, 0x51, 0xca, 0x10, 0x07, 0xf0, 0x54, 0x1d, 0x52, 0x24, 0xff, 0x05, 0xc6, 0x05, - 0x20, 0xec, 0x52, 0x7e, 0x0d, 0x11, 0xa2, 0xe9, 0x71, 0x90, 0x92, 0xef, 0xc5, 0x1c, 0xac, 0xeb, - 0x22, 0x25, 0x53, 0x94, 0xca, 0x13, 0xd5, 0x39, 0x2d, 0x99, 0x99, 0x30, 0x2c, 0xfc, 0x6b, 0x9b, - 0x61, 0xf8, 0xb4, 0xeb, 0xa2, 0x68, 0xa5, 0xe0, 0x39, 0xf0, 0x80, 0xf6, 0x5c, 0xec, 0x75, 0x95, - 0xe1, 0xa2, 0x54, 0x4e, 0x37, 0x45, 0x24, 0x3f, 0x00, 0x93, 0xd8, 0xc1, 0x0c, 0xc3, 0x4e, 0xcb, - 0x44, 0x2e, 0xa1, 0x98, 0x29, 0x23, 0x45, 0xa9, 0x3c, 0x56, 0xcd, 0x69, 0x62, 0x3a, 0x81, 0xf4, - 0x98, 0x7d, 0x8d, 0x60, 0xa7, 0x3e, 0x74, 0xf4, 0xa5, 0x90, 0x6a, 0x4e, 0x88, 0xbe, 0x75, 0xde, - 0x56, 0xbb, 0xf3, 0xf6, 0xa0, 0x90, 0xfa, 0x76, 0x50, 0x48, 0xbd, 0x3e, 0x3b, 0x9c, 0x17, 0x5b, - 0xf7, 0xee, 0xec, 0x70, 0xbe, 0x98, 0x4c, 0x73, 0xf0, 0xbe, 0x97, 0x8a, 0x40, 0x1d, 0x5c, 0x69, - 0x22, 0xea, 0x12, 0x87, 0xa2, 0xd2, 0xa1, 0x04, 0x7e, 0x6b, 0x50, 0xeb, 0x59, 0xc0, 0xf9, 0xd2, - 0xc3, 0x0c, 0x5d, 0x38, 0xab, 0x59, 0x30, 0x6a, 0x43, 0x6f, 0x1b, 0xb1, 0x16, 0x36, 0xc5, 0xb8, - 0x46, 0x78, 0x62, 0xc3, 0x94, 0x57, 0xc0, 0x70, 0x64, 0x32, 0x7d, 0x3d, 0x93, 0x11, 0xbe, 0xa6, - 0x5f, 0xe0, 0x2e, 0xdb, 0xe7, 0x2e, 0x11, 0x58, 0xca, 0x82, 0x3f, 0xfa, 0x12, 0xb1, 0x97, 0x8f, - 0x12, 0x98, 0x6e, 0x50, 0xab, 0x89, 0x76, 0x7c, 0x44, 0x59, 0x13, 0x99, 0xc8, 0x76, 0x19, 0x26, - 0xce, 0xed, 0x2c, 0xfd, 0x0f, 0x32, 0xd0, 0x26, 0xbe, 0x73, 0x6d, 0x47, 0x02, 0x5e, 0x5b, 0xbe, - 0xc0, 0x90, 0xda, 0x67, 0xe8, 0x9c, 0xca, 0x92, 0x0a, 0xfe, 0x1c, 0x94, 0x8f, 0xed, 0x7d, 0x90, - 0xc0, 0x64, 0x60, 0xdc, 0x35, 0x21, 0x43, 0x8f, 0xa0, 0x07, 0x6d, 0x2a, 0x2f, 0x83, 0x51, 0xe8, - 0xb3, 0x2d, 0xe2, 0x61, 0xd6, 0xe5, 0xe6, 0xea, 0xca, 0xa7, 0xf7, 0x8b, 0xd3, 0x42, 0xea, 0xaa, - 0x69, 0x7a, 0x88, 0xd2, 0x27, 0xcc, 0xc3, 0x8e, 0xd5, 0x4c, 0xa0, 0xf2, 0x2a, 0xc8, 0xb8, 0x21, - 0x43, 0x68, 0x7b, 0xac, 0xfa, 0xb7, 0x76, 0xc9, 0x55, 0xa5, 0xf1, 0xc5, 0x22, 0x9b, 0xbc, 0xb1, - 0xb6, 0x10, 0xd8, 0x4b, 0x28, 0x03, 0x87, 0xb9, 0xfe, 0x91, 0xf5, 0x08, 0x2d, 0xe5, 0x40, 0xf6, - 0xa7, 0x54, 0xe4, 0xab, 0xfa, 0x3d, 0x0d, 0xd2, 0x0d, 0x6a, 0xc9, 0x6f, 0x24, 0xf0, 0xfb, 0xa0, - 0xcb, 0x63, 0xe9, 0x52, 0x6d, 0x83, 0xcf, 0x77, 0xfe, 0xee, 0x2d, 0x9a, 0x22, 0x45, 0x72, 0x07, - 0x80, 0x9e, 0x17, 0x62, 0xfe, 0x2a, 0xaa, 0x04, 0x9b, 0xaf, 0x5e, 0x1f, 0x1b, 0xaf, 0xf6, 0x4a, - 0x02, 0x53, 0xe7, 0xcf, 0x6c, 0xe5, 0x2a, 0xa6, 0x73, 0x2d, 0xf9, 0x95, 0x1b, 0xb7, 0xc4, 0x1a, - 0x3c, 0x30, 0xde, 0x77, 0xae, 0x16, 0xae, 0xf4, 0xd1, 0x83, 0xce, 0xff, 0x77, 0x13, 0x74, 0xb4, - 0x66, 0x1d, 0x1f, 0x9d, 0xa8, 0xd2, 0xf1, 0x89, 0x2a, 0x7d, 0x3d, 0x51, 0xa5, 0xfd, 0x53, 0x35, - 0x75, 0x7c, 0xaa, 0xa6, 0x3e, 0x9f, 0xaa, 0xa9, 0xe7, 0x9b, 0x16, 0x66, 0x5b, 0x7e, 0x5b, 0x33, - 0x88, 0xad, 0x6f, 0x44, 0xcc, 0x0f, 0x61, 0x9b, 0xea, 0xf1, 0x3a, 0x8b, 0x06, 0xf1, 0x50, 0x6f, - 0xb8, 0x05, 0xb1, 0xa3, 0xdb, 0xc4, 0xf4, 0x3b, 0x88, 0xf6, 0x7c, 0xe6, 0x82, 0xab, 0x9d, 0xb6, - 0x33, 0xe1, 0x17, 0x6a, 0xe9, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x1c, 0x9e, 0x97, 0xb7, - 0x07, 0x00, 0x00, + // 779 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x4f, 0xe3, 0x46, + 0x14, 0x8f, 0x1b, 0x08, 0x30, 0x50, 0x10, 0x2e, 0x25, 0x4e, 0xa8, 0x9c, 0x34, 0xa5, 0x52, 0x94, + 0x82, 0xad, 0x84, 0x8a, 0x96, 0xf4, 0x44, 0xa0, 0x55, 0x91, 0x1a, 0xd1, 0xa6, 0xed, 0xa5, 0x97, + 0x68, 0x62, 0x8f, 0xcc, 0x94, 0xd8, 0x63, 0x3c, 0x63, 0x96, 0xdc, 0x76, 0xf7, 0xb2, 0xab, 0x3d, + 0xf1, 0x11, 0xf8, 0x08, 0x39, 0xec, 0x69, 0xb5, 0x1f, 0x80, 0x23, 0xda, 0xd3, 0x9e, 0x56, 0x2b, + 0x38, 0xb0, 0x1f, 0x62, 0x0f, 0x2b, 0x7b, 0xc6, 0x76, 0xb2, 0x84, 0xbf, 0x17, 0xf0, 0xfb, 0xbd, + 0xdf, 0x7b, 0xef, 0xf7, 0xf3, 0x9b, 0x8c, 0xc1, 0x32, 0x76, 0xfe, 0x47, 0x06, 0xc3, 0x87, 0x48, + 0xc7, 0x0e, 0xf5, 0x3d, 0xe8, 0x18, 0x48, 0x3f, 0xac, 0x76, 0x10, 0x83, 0x55, 0x9d, 0x1d, 0x69, + 0xae, 0x47, 0x18, 0x91, 0x97, 0x62, 0x96, 0x16, 0xb3, 0x34, 0xc1, 0xca, 0x2f, 0x58, 0xc4, 0x22, + 0x21, 0x4f, 0x0f, 0x9e, 0x78, 0x49, 0x5e, 0x35, 0x08, 0xb5, 0x09, 0xd5, 0x3b, 0x90, 0x26, 0x0d, + 0x0d, 0x82, 0x1d, 0x91, 0xcf, 0x8a, 0xbc, 0x4d, 0x2d, 0xfd, 0xb0, 0x1a, 0xfc, 0x13, 0x89, 0x1c, + 0x4f, 0xb4, 0x79, 0x47, 0x1e, 0x88, 0xd4, 0x0f, 0x37, 0x89, 0x4d, 0x84, 0x71, 0xf2, 0xf7, 0x09, + 0x99, 0x78, 0xd0, 0xe8, 0x26, 0x4c, 0x1e, 0x0a, 0xda, 0x3c, 0xb4, 0xb1, 0x43, 0xf4, 0xf0, 0x2f, + 0x87, 0x4a, 0xc7, 0x69, 0xb0, 0xd8, 0xa4, 0xd6, 0x96, 0x87, 0x20, 0x43, 0x3b, 0x51, 0xdb, 0xdf, + 0x7c, 0xc7, 0x94, 0x17, 0x41, 0x86, 0x22, 0xc7, 0x44, 0x9e, 0x22, 0x15, 0xa5, 0xf2, 0x54, 0x4b, + 0x44, 0x01, 0xce, 0xb0, 0xb1, 0x8f, 0x3c, 0xe5, 0x0b, 0x8e, 0xf3, 0x48, 0x2e, 0x80, 0xe9, 0x03, + 0x9f, 0x30, 0xd4, 0x36, 0x91, 0x43, 0x6c, 0x25, 0x1d, 0x26, 0x41, 0x08, 0x6d, 0x07, 0x48, 0x40, + 0xe0, 0x72, 0xda, 0xc1, 0x8b, 0x52, 0xc6, 0x38, 0x81, 0x43, 0x0d, 0x48, 0x91, 0xfc, 0x2d, 0x98, + 0x11, 0x84, 0xb0, 0x4a, 0x19, 0x0f, 0x19, 0xa2, 0xe8, 0xaf, 0x00, 0x92, 0x7f, 0x8d, 0x7b, 0xb0, + 0x9e, 0x8b, 0x94, 0x4c, 0x51, 0x2a, 0xcf, 0xd6, 0x96, 0xb5, 0x64, 0x67, 0xc2, 0xb0, 0xf0, 0xaf, + 0xed, 0x86, 0xe1, 0x3f, 0x3d, 0x17, 0x45, 0x93, 0x82, 0xe7, 0xc0, 0x03, 0x3a, 0x72, 0xb1, 0xd7, + 0x53, 0x26, 0x8a, 0x52, 0x39, 0xdd, 0x12, 0x91, 0xfc, 0x3b, 0x98, 0xc3, 0x0e, 0x66, 0x18, 0x76, + 0xdb, 0x26, 0x72, 0x09, 0xc5, 0x4c, 0x99, 0x2c, 0x4a, 0xe5, 0xe9, 0x5a, 0x4e, 0x13, 0xdb, 0x09, + 0xa4, 0xc7, 0xdd, 0xb7, 0x08, 0x76, 0x1a, 0x63, 0xa7, 0xef, 0x0a, 0xa9, 0xd6, 0xac, 0xa8, 0xdb, + 0xe6, 0x65, 0xf5, 0x9f, 0x9f, 0x9f, 0x14, 0x52, 0x1f, 0x4e, 0x0a, 0xa9, 0xa7, 0x97, 0xfd, 0x8a, + 0x78, 0x75, 0x2f, 0x2e, 0xfb, 0x95, 0x62, 0xb2, 0xcd, 0xd1, 0xef, 0xbd, 0x54, 0x04, 0xea, 0xe8, + 0x4c, 0x0b, 0x51, 0x97, 0x38, 0x14, 0x95, 0xfa, 0x12, 0xf8, 0xb2, 0x49, 0xad, 0x7f, 0x83, 0x9e, + 0x8f, 0x3c, 0xcc, 0xd0, 0xb5, 0xbb, 0x5a, 0x02, 0x53, 0x36, 0xf4, 0xf6, 0x11, 0x6b, 0x63, 0x53, + 0xac, 0x6b, 0x92, 0x03, 0x3b, 0xa6, 0xbc, 0x01, 0x26, 0x22, 0x93, 0xe9, 0xbb, 0x99, 0x8c, 0xf8, + 0x75, 0xfd, 0x1a, 0x77, 0xd9, 0x21, 0x77, 0x89, 0xc0, 0x52, 0x16, 0x7c, 0x3d, 0x04, 0xc4, 0x5e, + 0x5e, 0x4b, 0x60, 0xa1, 0x49, 0xad, 0x16, 0x3a, 0xf0, 0x11, 0x65, 0x2d, 0x64, 0x22, 0xdb, 0x65, + 0x98, 0x38, 0x0f, 0xb3, 0xf4, 0x13, 0xc8, 0x40, 0x9b, 0xf8, 0xce, 0x9d, 0x1d, 0x09, 0x7a, 0x7d, + 0xfd, 0x1a, 0x43, 0xea, 0x90, 0xa1, 0x2b, 0x2a, 0x4b, 0x2a, 0xf8, 0x66, 0x14, 0x1e, 0xdb, 0x7b, + 0x25, 0x81, 0xb9, 0xc0, 0xb8, 0x6b, 0x42, 0x86, 0xfe, 0x84, 0x1e, 0xb4, 0xa9, 0xbc, 0x0e, 0xa6, + 0xa0, 0xcf, 0xf6, 0x88, 0x87, 0x59, 0x8f, 0x9b, 0x6b, 0x28, 0x6f, 0x5e, 0xae, 0x2e, 0x08, 0xa9, + 0x9b, 0xa6, 0xe9, 0x21, 0x4a, 0xff, 0x66, 0x1e, 0x76, 0xac, 0x56, 0x42, 0x95, 0x37, 0x41, 0xc6, + 0x0d, 0x3b, 0x84, 0xb6, 0xa7, 0x6b, 0xdf, 0x69, 0x37, 0x5c, 0x55, 0x1a, 0x1f, 0x16, 0xd9, 0xe4, + 0x85, 0xf5, 0x95, 0xc0, 0x5e, 0xd2, 0x32, 0x70, 0x98, 0x1b, 0x5e, 0xd9, 0x80, 0xd0, 0x52, 0x0e, + 0x64, 0x3f, 0x83, 0x22, 0x5f, 0xb5, 0x8f, 0x69, 0x90, 0x6e, 0x52, 0x4b, 0x7e, 0x26, 0x81, 0xaf, + 0x46, 0x5d, 0x1e, 0x6b, 0x37, 0x6a, 0x1b, 0x7d, 0xbe, 0xf3, 0xbf, 0x3c, 0xa0, 0x28, 0x52, 0x24, + 0x77, 0x01, 0x18, 0xf8, 0x41, 0x54, 0x6e, 0x6b, 0x95, 0x70, 0xf3, 0xb5, 0xbb, 0x73, 0xe3, 0x69, + 0x4f, 0x24, 0x30, 0x7f, 0xf5, 0xcc, 0x56, 0x6f, 0xeb, 0x74, 0xa5, 0x24, 0xbf, 0x71, 0xef, 0x92, + 0x58, 0x83, 0x07, 0x66, 0x86, 0xce, 0xd5, 0xca, 0xad, 0x3e, 0x06, 0xd8, 0xf9, 0x1f, 0xef, 0xc3, + 0x8e, 0x66, 0xe6, 0xc7, 0x1f, 0x5f, 0xf6, 0x2b, 0x52, 0x03, 0x9f, 0x9e, 0xab, 0xd2, 0xd9, 0xb9, + 0x2a, 0xbd, 0x3f, 0x57, 0xa5, 0xe3, 0x0b, 0x35, 0x75, 0x76, 0xa1, 0xa6, 0xde, 0x5e, 0xa8, 0xa9, + 0xff, 0x76, 0x2d, 0xcc, 0xf6, 0xfc, 0x8e, 0x66, 0x10, 0x5b, 0xdf, 0x89, 0x06, 0xfc, 0x01, 0x3b, + 0x54, 0x8f, 0xc7, 0xad, 0x1a, 0xc4, 0x43, 0x83, 0xe1, 0x1e, 0xc4, 0x8e, 0x6e, 0x13, 0xd3, 0xef, + 0x22, 0x3a, 0xf0, 0xb5, 0x0b, 0x6e, 0x78, 0xda, 0xc9, 0x84, 0x1f, 0xaa, 0xb5, 0x4f, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x5f, 0x13, 0xc4, 0xc0, 0xbe, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/ocr/types/tx.pb.go b/chain/ocr/types/tx.pb.go index fc7d7b38..82284d8a 100644 --- a/chain/ocr/types/tx.pb.go +++ b/chain/ocr/types/tx.pb.go @@ -777,81 +777,82 @@ func init() { func init() { proto.RegisterFile("injective/ocr/v1beta1/tx.proto", fileDescriptor_570bfdb24a1374f8) } var fileDescriptor_570bfdb24a1374f8 = []byte{ - // 1177 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcd, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0xd6, 0xa9, 0x13, 0xbf, 0xb8, 0x2a, 0xdd, 0x38, 0x89, 0xb3, 0x6a, 0x6c, 0x77, 0x83, - 0x2a, 0x37, 0x6d, 0xed, 0x26, 0xa1, 0x7c, 0x98, 0x53, 0x92, 0xaa, 0x22, 0x12, 0x56, 0xc3, 0x16, - 0x84, 0x54, 0x09, 0x99, 0xf5, 0xee, 0x64, 0xbd, 0x34, 0xde, 0x59, 0xcd, 0x8c, 0xd3, 0xe4, 0x8a, - 0x38, 0x20, 0x24, 0x24, 0xce, 0x9c, 0x7a, 0xe1, 0x8a, 0x72, 0xa8, 0xc4, 0x05, 0xee, 0x39, 0x56, - 0x48, 0x48, 0x88, 0x43, 0x84, 0x92, 0x43, 0xf9, 0x33, 0xd0, 0xcc, 0x8e, 0xc7, 0xeb, 0x8f, 0xcd, - 0x87, 0x38, 0x70, 0x49, 0xfc, 0xde, 0xfb, 0xbd, 0x8f, 0xdf, 0x7b, 0x33, 0x6f, 0x6c, 0x28, 0xfa, - 0xc1, 0x57, 0xc8, 0x61, 0xfe, 0x1e, 0xaa, 0x61, 0x87, 0xd4, 0xf6, 0x56, 0x5a, 0x88, 0xd9, 0x2b, - 0x35, 0xb6, 0x5f, 0x0d, 0x09, 0x66, 0x58, 0x9f, 0x55, 0xf6, 0x2a, 0x76, 0x48, 0x55, 0xda, 0x8d, - 0xa2, 0x83, 0x69, 0x07, 0xd3, 0x5a, 0xcb, 0xa6, 0x48, 0x39, 0x39, 0xd8, 0x0f, 0x22, 0x37, 0x63, - 0x5e, 0xda, 0x3b, 0xd4, 0xab, 0xed, 0xad, 0xf0, 0x7f, 0xd2, 0x90, 0xf7, 0xb0, 0x87, 0xc5, 0xc7, - 0x1a, 0xff, 0x24, 0xb5, 0xa5, 0xf1, 0x55, 0xf0, 0x8c, 0x11, 0x60, 0x21, 0x8a, 0xd7, 0x8c, 0x3c, - 0x23, 0x41, 0x9a, 0x6e, 0xd8, 0x1d, 0x3f, 0xc0, 0x35, 0xf1, 0x37, 0x52, 0x99, 0xdf, 0x6b, 0x70, - 0xad, 0x41, 0xbd, 0x4d, 0x82, 0x6c, 0x86, 0x1e, 0x23, 0xe4, 0xea, 0x73, 0x90, 0xa1, 0x28, 0x70, - 0x11, 0x29, 0x68, 0x65, 0xad, 0x92, 0xb5, 0xa4, 0xa4, 0x7f, 0x00, 0x19, 0x07, 0x07, 0x3b, 0xbe, - 0x57, 0xb8, 0x52, 0xd6, 0x2a, 0xd3, 0xab, 0xb7, 0xaa, 0x63, 0xf9, 0x56, 0x79, 0x90, 0x4d, 0x01, - 0xb4, 0xa4, 0x43, 0xfd, 0xce, 0xb7, 0x2f, 0x4b, 0xa9, 0x7f, 0x5e, 0x96, 0x52, 0x5f, 0xbf, 0x39, - 0x5c, 0x96, 0xf1, 0xbe, 0x7b, 0x73, 0xb8, 0x7c, 0x83, 0x33, 0x18, 0xc8, 0x6e, 0xce, 0xc3, 0xec, - 0x80, 0xc2, 0x42, 0x34, 0xc4, 0x01, 0x45, 0xe6, 0x61, 0x5a, 0x14, 0xfa, 0x59, 0xe8, 0x9e, 0x57, - 0xe8, 0x3c, 0x4c, 0xee, 0x20, 0xe4, 0x36, 0x7d, 0x57, 0x54, 0x9a, 0xb5, 0x32, 0x5c, 0xdc, 0x72, - 0xf5, 0x02, 0x4c, 0x52, 0xdf, 0x0b, 0x10, 0xa1, 0x85, 0x74, 0x39, 0x5d, 0xc9, 0x5a, 0x3d, 0x51, - 0x37, 0x21, 0xc7, 0x88, 0x1d, 0xd0, 0x8e, 0xcf, 0x18, 0x37, 0x4f, 0x08, 0xf3, 0x80, 0x4e, 0x7f, - 0x02, 0xf9, 0x5d, 0x3f, 0x78, 0xde, 0x0c, 0x11, 0x69, 0xe2, 0x16, 0x45, 0x64, 0xcf, 0x66, 0x3e, - 0x0e, 0x0a, 0x57, 0x79, 0x8e, 0x8d, 0xc5, 0xa3, 0xe3, 0x92, 0xf6, 0xd7, 0x71, 0x69, 0x36, 0x6a, - 0x38, 0x75, 0x9f, 0x57, 0x7d, 0x5c, 0xeb, 0xd8, 0xac, 0x5d, 0xdd, 0x0a, 0x98, 0xa5, 0x73, 0xd7, - 0x6d, 0x44, 0x9e, 0xf4, 0x1d, 0xf5, 0x4f, 0x60, 0x56, 0x05, 0x94, 0x99, 0x28, 0xe5, 0x11, 0x33, - 0x17, 0x89, 0x38, 0x23, 0x23, 0x7e, 0x1a, 0xf3, 0xd4, 0x17, 0x01, 0x44, 0x48, 0x17, 0x05, 0xb8, - 0x53, 0x98, 0x14, 0xec, 0xb3, 0x5c, 0xf3, 0x88, 0x2b, 0xb8, 0x59, 0x74, 0xc6, 0x76, 0x3b, 0x7e, - 0x50, 0x98, 0x8a, 0xcc, 0x5c, 0xb3, 0xce, 0x15, 0xfa, 0x12, 0x5c, 0x6b, 0xf9, 0xbb, 0xbb, 0x7e, - 0xe0, 0x49, 0x44, 0x56, 0x20, 0x72, 0x52, 0x29, 0x40, 0xe7, 0xce, 0xb2, 0x3f, 0x20, 0x39, 0xcb, - 0xbe, 0x42, 0xcd, 0xf2, 0xb7, 0x2b, 0x30, 0xdd, 0xa0, 0x9e, 0x2c, 0x9d, 0xe9, 0x65, 0x98, 0x8e, - 0xb5, 0x5a, 0x8e, 0x33, 0xae, 0xe2, 0xa5, 0x45, 0x67, 0xa9, 0xe9, 0xfa, 0x1e, 0xa2, 0x4c, 0x4c, - 0x36, 0x67, 0xe5, 0x22, 0xe5, 0x23, 0xa1, 0x8b, 0x0f, 0x3e, 0x3d, 0x30, 0xf8, 0x3c, 0x5c, 0x45, - 0x21, 0x76, 0xda, 0x85, 0x89, 0xb2, 0x56, 0x99, 0xb0, 0x22, 0x81, 0x6b, 0x09, 0xee, 0x06, 0xae, - 0x98, 0xe0, 0x84, 0x15, 0x09, 0xbc, 0x47, 0x68, 0x9f, 0x11, 0xbb, 0xd9, 0xb6, 0x69, 0x5b, 0x8c, - 0x22, 0x67, 0x65, 0x85, 0xe6, 0x23, 0x9b, 0xb6, 0xf5, 0x87, 0x90, 0x21, 0x28, 0xc4, 0x84, 0x89, - 0xee, 0x4e, 0xaf, 0x2e, 0x26, 0xdc, 0x02, 0x4b, 0x80, 0x2c, 0x09, 0xd6, 0x8b, 0x00, 0xfc, 0xac, - 0xd9, 0xac, 0x4b, 0x10, 0x2d, 0x4c, 0x95, 0xd3, 0x95, 0x9c, 0x15, 0xd3, 0xd4, 0xef, 0xc5, 0xbb, - 0x1a, 0x67, 0xce, 0x5b, 0x7b, 0x5d, 0xb6, 0xb6, 0xd7, 0x2f, 0x73, 0x16, 0x66, 0x62, 0xa2, 0x6a, - 0xeb, 0x2b, 0x4d, 0x34, 0xfc, 0x71, 0x37, 0x70, 0xa3, 0x76, 0xbf, 0xb0, 0x89, 0xbb, 0x8d, 0xf1, - 0xee, 0xe5, 0xaf, 0xca, 0x7b, 0x90, 0xb1, 0x3b, 0xb8, 0x1b, 0x30, 0xd1, 0xc9, 0xe9, 0xd5, 0x85, - 0xaa, 0x5c, 0x24, 0x7c, 0x8b, 0x29, 0x92, 0x9b, 0xd8, 0x0f, 0x36, 0x26, 0x8e, 0x8e, 0x4b, 0x29, - 0x4b, 0xc2, 0xeb, 0x2b, 0x09, 0xc7, 0x63, 0x41, 0x72, 0x18, 0x2d, 0xce, 0x2c, 0xc1, 0xe2, 0x58, - 0x83, 0xe2, 0xf5, 0xab, 0x06, 0x0b, 0x0d, 0xea, 0x7d, 0xee, 0xb3, 0xb6, 0x4b, 0xec, 0x17, 0xff, - 0x1b, 0xb7, 0x87, 0x09, 0xdc, 0x16, 0x25, 0xb7, 0xf1, 0x05, 0x9a, 0x4b, 0x70, 0x2b, 0xd1, 0xa8, - 0x38, 0xfe, 0xa4, 0x41, 0xae, 0x41, 0xbd, 0xa7, 0x88, 0x6d, 0xdb, 0x07, 0x08, 0xd1, 0xcb, 0xd3, - 0x1a, 0xde, 0x61, 0xe9, 0x31, 0x3b, 0x6c, 0x0e, 0x32, 0xa1, 0x08, 0x2f, 0x37, 0x9c, 0x94, 0xea, - 0x95, 0x04, 0x66, 0x6f, 0x49, 0x66, 0xaa, 0x2c, 0x73, 0x0e, 0xf2, 0x71, 0x59, 0xd5, 0xff, 0x8b, - 0x26, 0x0c, 0xe2, 0x4c, 0xee, 0x20, 0x12, 0x59, 0xdb, 0x7e, 0x98, 0xc8, 0x63, 0xe8, 0xce, 0x5f, - 0x19, 0xbd, 0xf3, 0x89, 0xd7, 0xd9, 0x80, 0xa9, 0x90, 0xe0, 0x10, 0x53, 0xe4, 0x8a, 0x1b, 0x9d, - 0xb5, 0x94, 0x5c, 0x7f, 0x90, 0xc0, 0xa4, 0x10, 0xbf, 0x43, 0xf1, 0x02, 0xcd, 0x22, 0xdc, 0x1c, - 0xa7, 0x57, 0xcc, 0x7e, 0xd4, 0x40, 0x6f, 0x50, 0x6f, 0xdd, 0x71, 0x50, 0xc8, 0xfa, 0xbc, 0xf2, - 0x70, 0x55, 0x34, 0x4f, 0xd2, 0x8a, 0x84, 0xff, 0xc0, 0xaa, 0xbe, 0x76, 0xd6, 0x0a, 0x98, 0x93, - 0xe5, 0x0f, 0x55, 0x61, 0xde, 0x04, 0x63, 0x54, 0xab, 0x4a, 0xff, 0x59, 0x83, 0xeb, 0x6a, 0x03, - 0x6f, 0xdb, 0xc4, 0xee, 0x50, 0xfd, 0x5d, 0xc8, 0xda, 0x5d, 0xd6, 0xc6, 0xc4, 0x67, 0x07, 0x51, - 0xed, 0x1b, 0x85, 0xdf, 0x5f, 0xdd, 0xcf, 0xcb, 0x3b, 0xb0, 0xee, 0xba, 0x04, 0x51, 0xfa, 0x94, - 0x11, 0x3f, 0xf0, 0xac, 0x3e, 0x54, 0xff, 0x90, 0x1f, 0x1d, 0x1e, 0x41, 0x3e, 0xff, 0x49, 0x8b, - 0x2f, 0x4a, 0xd3, 0xbb, 0x39, 0x91, 0x4b, 0xfd, 0x36, 0xe7, 0xd4, 0x0f, 0xc6, 0x19, 0xcd, 0x0c, - 0xbc, 0x17, 0x91, 0x97, 0xb9, 0x00, 0xf3, 0x43, 0xaa, 0x1e, 0x97, 0xd5, 0x3f, 0x26, 0x21, 0xdd, - 0xa0, 0x9e, 0xfe, 0x25, 0x40, 0xec, 0xcb, 0xca, 0xdb, 0x09, 0x55, 0x0c, 0x7c, 0x87, 0x30, 0xee, - 0x5d, 0x04, 0xd5, 0xcb, 0xc4, 0x33, 0xc4, 0xbe, 0x65, 0x9c, 0x91, 0xa1, 0x8f, 0x3a, 0x2b, 0xc3, - 0xe8, 0xfb, 0xa7, 0x3f, 0x83, 0x29, 0xf5, 0xf6, 0x99, 0xc9, 0x9e, 0x3d, 0x8c, 0xb1, 0x7c, 0x3e, - 0x46, 0xc5, 0xde, 0x07, 0x7d, 0xcc, 0x03, 0x70, 0x46, 0x7d, 0xa3, 0x68, 0xe3, 0x9d, 0xcb, 0xa0, - 0x55, 0xe6, 0x6f, 0x34, 0x98, 0x4b, 0xd8, 0xd1, 0x0f, 0x92, 0x03, 0x8e, 0xf7, 0x30, 0xde, 0xbf, - 0xac, 0x87, 0x2a, 0xe3, 0x0b, 0xc8, 0xf6, 0xb7, 0xe8, 0x52, 0x72, 0x18, 0x05, 0x32, 0xee, 0x5e, - 0x00, 0xa4, 0xc2, 0x77, 0xe1, 0xc6, 0xe8, 0x92, 0xbb, 0x7b, 0xce, 0x80, 0xe2, 0x60, 0x63, 0xed, - 0x12, 0x60, 0x95, 0x16, 0xc3, 0xf5, 0xe1, 0x0d, 0x74, 0x27, 0x39, 0xce, 0x10, 0xd4, 0x58, 0xb9, - 0x30, 0x54, 0x25, 0xdc, 0x81, 0xdc, 0xc0, 0xde, 0xb8, 0x7d, 0xde, 0x09, 0x8f, 0x70, 0x46, 0xf5, - 0x62, 0xb8, 0x5e, 0x9e, 0x0d, 0xe7, 0xe8, 0xa4, 0xa8, 0xbd, 0x3e, 0x29, 0x6a, 0x7f, 0x9f, 0x14, - 0xb5, 0x1f, 0x4e, 0x8b, 0xa9, 0xd7, 0xa7, 0xc5, 0xd4, 0x9f, 0xa7, 0xc5, 0xd4, 0xb3, 0x2d, 0xcf, - 0x67, 0xed, 0x6e, 0xab, 0xea, 0xe0, 0x4e, 0x6d, 0xab, 0x17, 0xf3, 0x63, 0xbb, 0x45, 0x6b, 0x2a, - 0xc3, 0x7d, 0x07, 0x13, 0x14, 0x17, 0xdb, 0xb6, 0x1f, 0xd4, 0x3a, 0xd8, 0xed, 0xee, 0x22, 0x2a, - 0x7e, 0x1f, 0xb1, 0x83, 0x10, 0xd1, 0x56, 0x46, 0xfc, 0xd8, 0x59, 0xfb, 0x37, 0x00, 0x00, 0xff, - 0xff, 0x86, 0x04, 0xae, 0x5e, 0xc3, 0x0d, 0x00, 0x00, + // 1186 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xf7, 0xd6, 0x89, 0x13, 0xbf, 0xb8, 0xea, 0xb7, 0x5b, 0x27, 0x71, 0x56, 0x8d, 0xed, 0x6e, + 0xbf, 0xaa, 0xdc, 0xb4, 0xb5, 0x9b, 0x84, 0xf2, 0xc3, 0x9c, 0x92, 0x54, 0x15, 0x91, 0xb0, 0x1a, + 0xb6, 0x20, 0xa4, 0x4a, 0xc8, 0xac, 0x77, 0x27, 0xeb, 0xa5, 0xf1, 0xce, 0x6a, 0x66, 0x9c, 0x26, + 0x37, 0x84, 0x38, 0x20, 0x24, 0x24, 0xce, 0x9c, 0x7a, 0xe1, 0x8a, 0x72, 0xa8, 0xc4, 0x05, 0xee, + 0x39, 0x56, 0x9c, 0x10, 0x42, 0x11, 0x4a, 0x0e, 0xe1, 0xcf, 0x40, 0x33, 0x3b, 0x1e, 0xaf, 0x7f, + 0x6c, 0x7e, 0x88, 0x03, 0x97, 0xc4, 0xef, 0xbd, 0xcf, 0xfb, 0xf1, 0x79, 0x6f, 0xe6, 0x8d, 0x0d, + 0x45, 0x3f, 0xf8, 0x02, 0x39, 0xcc, 0xdf, 0x45, 0x35, 0xec, 0x90, 0xda, 0xee, 0x72, 0x0b, 0x31, + 0x7b, 0xb9, 0xc6, 0xf6, 0xaa, 0x21, 0xc1, 0x0c, 0xeb, 0xb3, 0xca, 0x5e, 0xc5, 0x0e, 0xa9, 0x4a, + 0xbb, 0x51, 0x74, 0x30, 0xed, 0x60, 0x5a, 0x6b, 0xd9, 0x14, 0x29, 0x27, 0x07, 0xfb, 0x41, 0xe4, + 0x66, 0xcc, 0x4b, 0x7b, 0x87, 0x7a, 0xb5, 0xdd, 0x65, 0xfe, 0x4f, 0x1a, 0xf2, 0x1e, 0xf6, 0xb0, + 0xf8, 0x58, 0xe3, 0x9f, 0xa4, 0xb6, 0x34, 0xbe, 0x0a, 0x9e, 0x31, 0x02, 0x2c, 0x44, 0xf1, 0x9a, + 0x91, 0x67, 0x24, 0x48, 0xd3, 0x75, 0xbb, 0xe3, 0x07, 0xb8, 0x26, 0xfe, 0x46, 0x2a, 0xf3, 0x3b, + 0x0d, 0xae, 0x36, 0xa8, 0xb7, 0x41, 0x90, 0xcd, 0xd0, 0x13, 0x84, 0x5c, 0x7d, 0x0e, 0x32, 0x14, + 0x05, 0x2e, 0x22, 0x05, 0xad, 0xac, 0x55, 0xb2, 0x96, 0x94, 0xf4, 0xf7, 0x20, 0xe3, 0xe0, 0x60, + 0xdb, 0xf7, 0x0a, 0x57, 0xca, 0x5a, 0x65, 0x66, 0xe5, 0x56, 0x75, 0x2c, 0xdf, 0x2a, 0x0f, 0xb2, + 0x21, 0x80, 0x96, 0x74, 0xa8, 0xdf, 0xfd, 0xe6, 0x55, 0x29, 0xf5, 0xf7, 0xab, 0x52, 0xea, 0xab, + 0xd3, 0x83, 0x25, 0x19, 0xef, 0xdb, 0xd3, 0x83, 0xa5, 0xeb, 0x9c, 0xc1, 0x40, 0x76, 0x73, 0x1e, + 0x66, 0x07, 0x14, 0x16, 0xa2, 0x21, 0x0e, 0x28, 0x32, 0x0f, 0xd2, 0xa2, 0xd0, 0x4f, 0x42, 0xf7, + 0xbc, 0x42, 0xe7, 0x61, 0x6a, 0x1b, 0x21, 0xb7, 0xe9, 0xbb, 0xa2, 0xd2, 0xac, 0x95, 0xe1, 0xe2, + 0xa6, 0xab, 0x17, 0x60, 0x8a, 0xfa, 0x5e, 0x80, 0x08, 0x2d, 0xa4, 0xcb, 0xe9, 0x4a, 0xd6, 0xea, + 0x89, 0xba, 0x09, 0x39, 0x46, 0xec, 0x80, 0x76, 0x7c, 0xc6, 0xb8, 0x79, 0x42, 0x98, 0x07, 0x74, + 0xfa, 0x53, 0xc8, 0xef, 0xf8, 0xc1, 0x8b, 0x66, 0x88, 0x48, 0x13, 0xb7, 0x28, 0x22, 0xbb, 0x36, + 0xf3, 0x71, 0x50, 0x98, 0xe4, 0x39, 0xd6, 0x17, 0x0f, 0x8f, 0x4a, 0xda, 0x1f, 0x47, 0xa5, 0xd9, + 0xa8, 0xe1, 0xd4, 0x7d, 0x51, 0xf5, 0x71, 0xad, 0x63, 0xb3, 0x76, 0x75, 0x33, 0x60, 0x96, 0xce, + 0x5d, 0xb7, 0x10, 0x79, 0xda, 0x77, 0xd4, 0x3f, 0x82, 0x59, 0x15, 0x50, 0x66, 0xa2, 0x94, 0x47, + 0xcc, 0x5c, 0x24, 0xe2, 0x0d, 0x19, 0xf1, 0xe3, 0x98, 0xa7, 0xbe, 0x08, 0x20, 0x42, 0xba, 0x28, + 0xc0, 0x9d, 0xc2, 0x94, 0x60, 0x9f, 0xe5, 0x9a, 0xc7, 0x5c, 0xc1, 0xcd, 0xa2, 0x33, 0xb6, 0xdb, + 0xf1, 0x83, 0xc2, 0x74, 0x64, 0xe6, 0x9a, 0x35, 0xae, 0xd0, 0x6f, 0xc3, 0xd5, 0x96, 0xbf, 0xb3, + 0xe3, 0x07, 0x9e, 0x44, 0x64, 0x05, 0x22, 0x27, 0x95, 0x02, 0x74, 0xee, 0x2c, 0xfb, 0x03, 0x92, + 0xb3, 0xec, 0x2b, 0xd4, 0x2c, 0x7f, 0xbd, 0x02, 0x33, 0x0d, 0xea, 0xc9, 0xd2, 0x99, 0x5e, 0x86, + 0x99, 0x58, 0xab, 0xe5, 0x38, 0xe3, 0x2a, 0x5e, 0x5a, 0x74, 0x96, 0x9a, 0xae, 0xef, 0x21, 0xca, + 0xc4, 0x64, 0x73, 0x56, 0x2e, 0x52, 0x3e, 0x16, 0xba, 0xf8, 0xe0, 0xd3, 0x03, 0x83, 0xcf, 0xc3, + 0x24, 0x0a, 0xb1, 0xd3, 0x2e, 0x4c, 0x94, 0xb5, 0xca, 0x84, 0x15, 0x09, 0x5c, 0x4b, 0x70, 0x37, + 0x70, 0xc5, 0x04, 0x27, 0xac, 0x48, 0xe0, 0x3d, 0x42, 0x7b, 0x8c, 0xd8, 0xcd, 0xb6, 0x4d, 0xdb, + 0x62, 0x14, 0x39, 0x2b, 0x2b, 0x34, 0x1f, 0xd8, 0xb4, 0xad, 0x3f, 0x82, 0x0c, 0x41, 0x21, 0x26, + 0x4c, 0x74, 0x77, 0x66, 0x65, 0x31, 0xe1, 0x16, 0x58, 0x02, 0x64, 0x49, 0xb0, 0x5e, 0x04, 0xe0, + 0x67, 0xcd, 0x66, 0x5d, 0x82, 0x68, 0x61, 0xba, 0x9c, 0xae, 0xe4, 0xac, 0x98, 0xa6, 0x7e, 0x3f, + 0xde, 0xd5, 0x38, 0x73, 0xde, 0xda, 0x6b, 0xb2, 0xb5, 0xbd, 0x7e, 0x99, 0xb3, 0x70, 0x23, 0x26, + 0xaa, 0xb6, 0xbe, 0xd6, 0x44, 0xc3, 0x9f, 0x74, 0x03, 0x37, 0x6a, 0xf7, 0x4b, 0x9b, 0xb8, 0x5b, + 0x18, 0xef, 0x5c, 0xfe, 0xaa, 0xbc, 0x03, 0x19, 0xbb, 0x83, 0xbb, 0x01, 0x13, 0x9d, 0x9c, 0x59, + 0x59, 0xa8, 0xca, 0x45, 0xc2, 0xb7, 0x98, 0x22, 0xb9, 0x81, 0xfd, 0x60, 0x7d, 0xe2, 0xf0, 0xa8, + 0x94, 0xb2, 0x24, 0xbc, 0xbe, 0x9c, 0x70, 0x3c, 0x16, 0x24, 0x87, 0xd1, 0xe2, 0xcc, 0x12, 0x2c, + 0x8e, 0x35, 0x28, 0x5e, 0xbf, 0x68, 0xb0, 0xd0, 0xa0, 0xde, 0xa7, 0x3e, 0x6b, 0xbb, 0xc4, 0x7e, + 0xf9, 0x9f, 0x71, 0x7b, 0x94, 0xc0, 0x6d, 0x51, 0x72, 0x1b, 0x5f, 0xa0, 0x79, 0x1b, 0x6e, 0x25, + 0x1a, 0x15, 0xc7, 0x1f, 0x35, 0xc8, 0x35, 0xa8, 0xf7, 0x0c, 0xb1, 0x2d, 0x7b, 0x1f, 0x21, 0x7a, + 0x79, 0x5a, 0xc3, 0x3b, 0x2c, 0x3d, 0x66, 0x87, 0xcd, 0x41, 0x26, 0x14, 0xe1, 0xe5, 0x86, 0x93, + 0x52, 0xbd, 0x92, 0xc0, 0xec, 0x7f, 0x92, 0x99, 0x2a, 0xcb, 0x9c, 0x83, 0x7c, 0x5c, 0x56, 0xf5, + 0xff, 0xac, 0x09, 0x83, 0x38, 0x93, 0xdb, 0x88, 0x44, 0xd6, 0xb6, 0x1f, 0x26, 0xf2, 0x18, 0xba, + 0xf3, 0x57, 0x46, 0xef, 0x7c, 0xe2, 0x75, 0x36, 0x60, 0x3a, 0x24, 0x38, 0xc4, 0x14, 0xb9, 0xe2, + 0x46, 0x67, 0x2d, 0x25, 0xd7, 0x1f, 0x26, 0x30, 0x29, 0xc4, 0xef, 0x50, 0xbc, 0x40, 0xb3, 0x08, + 0x37, 0xc7, 0xe9, 0x15, 0xb3, 0x1f, 0x34, 0xd0, 0x1b, 0xd4, 0x5b, 0x73, 0x1c, 0x14, 0xb2, 0x3e, + 0xaf, 0x3c, 0x4c, 0x8a, 0xe6, 0x49, 0x5a, 0x91, 0xf0, 0x2f, 0x58, 0xd5, 0x57, 0xcf, 0x5a, 0x01, + 0x73, 0xb2, 0xfc, 0xa1, 0x2a, 0xcc, 0x9b, 0x60, 0x8c, 0x6a, 0x55, 0xe9, 0x3f, 0x69, 0x70, 0x4d, + 0x6d, 0xe0, 0x2d, 0x9b, 0xd8, 0x1d, 0xaa, 0xbf, 0x0d, 0x59, 0xbb, 0xcb, 0xda, 0x98, 0xf8, 0x6c, + 0x3f, 0xaa, 0x7d, 0xbd, 0xf0, 0xdb, 0xeb, 0x07, 0x79, 0x79, 0x07, 0xd6, 0x5c, 0x97, 0x20, 0x4a, + 0x9f, 0x31, 0xe2, 0x07, 0x9e, 0xd5, 0x87, 0xea, 0xef, 0xf3, 0xa3, 0xc3, 0x23, 0xc8, 0xe7, 0x3f, + 0x69, 0xf1, 0x45, 0x69, 0x7a, 0x37, 0x27, 0x72, 0xa9, 0xdf, 0xe1, 0x9c, 0xfa, 0xc1, 0x38, 0xa3, + 0x1b, 0x03, 0xef, 0x45, 0xe4, 0x65, 0x2e, 0xc0, 0xfc, 0x90, 0xaa, 0xc7, 0x65, 0xe5, 0xcf, 0x29, + 0x48, 0x37, 0xa8, 0xa7, 0x7f, 0x0e, 0x10, 0xfb, 0xb2, 0xf2, 0xff, 0x84, 0x2a, 0x06, 0xbe, 0x43, + 0x18, 0xf7, 0x2f, 0x82, 0xea, 0x65, 0xe2, 0x19, 0x62, 0xdf, 0x32, 0xce, 0xc8, 0xd0, 0x47, 0x9d, + 0x95, 0x61, 0xf4, 0xfd, 0xd3, 0x9f, 0xc3, 0xb4, 0x7a, 0xfb, 0xcc, 0x64, 0xcf, 0x1e, 0xc6, 0x58, + 0x3a, 0x1f, 0xa3, 0x62, 0xef, 0x81, 0x3e, 0xe6, 0x01, 0x38, 0xa3, 0xbe, 0x51, 0xb4, 0xf1, 0xd6, + 0x65, 0xd0, 0x2a, 0xf3, 0xd7, 0x1a, 0xcc, 0x25, 0xec, 0xe8, 0x87, 0xc9, 0x01, 0xc7, 0x7b, 0x18, + 0xef, 0x5e, 0xd6, 0x43, 0x95, 0xf1, 0x19, 0x64, 0xfb, 0x5b, 0xf4, 0x76, 0x72, 0x18, 0x05, 0x32, + 0xee, 0x5d, 0x00, 0xa4, 0xc2, 0x77, 0xe1, 0xfa, 0xe8, 0x92, 0xbb, 0x77, 0xce, 0x80, 0xe2, 0x60, + 0x63, 0xf5, 0x12, 0x60, 0x95, 0x16, 0xc3, 0xb5, 0xe1, 0x0d, 0x74, 0x37, 0x39, 0xce, 0x10, 0xd4, + 0x58, 0xbe, 0x30, 0x54, 0x25, 0xdc, 0x86, 0xdc, 0xc0, 0xde, 0xb8, 0x73, 0xde, 0x09, 0x8f, 0x70, + 0x46, 0xf5, 0x62, 0xb8, 0x5e, 0x1e, 0x63, 0xf2, 0xcb, 0xd3, 0x83, 0x25, 0x6d, 0xdd, 0x39, 0x3c, + 0x2e, 0x6a, 0x6f, 0x8e, 0x8b, 0xda, 0x5f, 0xc7, 0x45, 0xed, 0xfb, 0x93, 0x62, 0xea, 0xcd, 0x49, + 0x31, 0xf5, 0xfb, 0x49, 0x31, 0xf5, 0x7c, 0xd3, 0xf3, 0x59, 0xbb, 0xdb, 0xaa, 0x3a, 0xb8, 0x53, + 0xdb, 0xec, 0x85, 0xfe, 0xd0, 0x6e, 0xd1, 0x9a, 0x4a, 0xf4, 0xc0, 0xc1, 0x04, 0xc5, 0xc5, 0xb6, + 0xed, 0x07, 0xb5, 0x0e, 0x76, 0xbb, 0x3b, 0x88, 0x8a, 0x9f, 0x49, 0x6c, 0x3f, 0x44, 0xb4, 0x95, + 0x11, 0xbf, 0x79, 0x56, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x7b, 0x3b, 0x8a, 0x4c, 0xca, 0x0d, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/oracle/types/codec.go b/chain/oracle/types/codec.go index 4cf97e24..67c93b8d 100644 --- a/chain/oracle/types/codec.go +++ b/chain/oracle/types/codec.go @@ -19,6 +19,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgRequestBandIBCRates{}, "oracle/MsgRequestBandIBCRates", nil) cdc.RegisterConcrete(&MsgRelayProviderPrices{}, "oracle/MsgRelayProviderPrices", nil) cdc.RegisterConcrete(&MsgRelayPythPrices{}, "oracle/MsgRelayPythPrices", nil) + cdc.RegisterConcrete(&MsgRelayStorkPrices{}, "oracle/MsgRelayStorkPrices", nil) cdc.RegisterConcrete(&MsgUpdateParams{}, "oracle/MsgUpdateParams", nil) cdc.RegisterConcrete(&GrantBandOraclePrivilegeProposal{}, "oracle/GrantBandOraclePrivilegeProposal", nil) @@ -30,6 +31,8 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&EnableBandIBCProposal{}, "oracle/EnableBandIBCProposal", nil) cdc.RegisterConcrete(&GrantProviderPrivilegeProposal{}, "oracle/GrantProviderPrivilegeProposal", nil) cdc.RegisterConcrete(&RevokeProviderPrivilegeProposal{}, "oracle/RevokeProviderPrivilegeProposal", nil) + cdc.RegisterConcrete(&GrantStorkPublisherPrivilegeProposal{}, "oracle/GrantStorkPublisherPrivilegeProposal", nil) + cdc.RegisterConcrete(&RevokeStorkPublisherPrivilegeProposal{}, "oracle/RevokeStorkPublisherPrivilegeProposal", nil) cdc.RegisterConcrete(&Params{}, "oracle/Params", nil) } @@ -41,6 +44,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgRequestBandIBCRates{}, &MsgRelayProviderPrices{}, &MsgRelayPythPrices{}, + &MsgRelayStorkPrices{}, &MsgUpdateParams{}, ) @@ -54,6 +58,8 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &EnableBandIBCProposal{}, &GrantProviderPrivilegeProposal{}, &RevokeProviderPrivilegeProposal{}, + &GrantStorkPublisherPrivilegeProposal{}, + &RevokeStorkPublisherPrivilegeProposal{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) diff --git a/chain/oracle/types/errors.go b/chain/oracle/types/errors.go index c9a28f15..87bb055b 100644 --- a/chain/oracle/types/errors.go +++ b/chain/oracle/types/errors.go @@ -44,4 +44,8 @@ var ( ErrInvalidPythExponent = errors.Register(ModuleName, 37, "unauthorized Pyth price relay") ErrInvalidPythPublishTime = errors.Register(ModuleName, 38, "unauthorized Pyth price relay") ErrEmptyPriceAttestations = errors.Register(ModuleName, 39, "empty price attestations") + ErrBadStorkMessageTimestamp = errors.Register(ModuleName, 40, "bad Stork message timestamp") + ErrEmptyStorkSender = errors.Register(ModuleName, 41, "sender stork is empty") + ErrInvalidStorkSignature = errors.Register(ModuleName, 42, "invalid stork signature") + ErrStorkAssetIdNotUnique = errors.Register(ModuleName, 43, "stork asset id not unique") ) diff --git a/chain/oracle/types/events.pb.go b/chain/oracle/types/events.pb.go index 8ea77f37..7aeda9c2 100644 --- a/chain/oracle/types/events.pb.go +++ b/chain/oracle/types/events.pb.go @@ -549,6 +549,50 @@ func (m *SetCoinbasePriceEvent) GetTimestamp() uint64 { return 0 } +type EventSetStorkPrices struct { + Prices []*StorkPriceState `protobuf:"bytes,1,rep,name=prices,proto3" json:"prices,omitempty"` +} + +func (m *EventSetStorkPrices) Reset() { *m = EventSetStorkPrices{} } +func (m *EventSetStorkPrices) String() string { return proto.CompactTextString(m) } +func (*EventSetStorkPrices) ProtoMessage() {} +func (*EventSetStorkPrices) Descriptor() ([]byte, []int) { + return fileDescriptor_c42b07097291dfa0, []int{9} +} +func (m *EventSetStorkPrices) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventSetStorkPrices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventSetStorkPrices.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventSetStorkPrices) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventSetStorkPrices.Merge(m, src) +} +func (m *EventSetStorkPrices) XXX_Size() int { + return m.Size() +} +func (m *EventSetStorkPrices) XXX_DiscardUnknown() { + xxx_messageInfo_EventSetStorkPrices.DiscardUnknown(m) +} + +var xxx_messageInfo_EventSetStorkPrices proto.InternalMessageInfo + +func (m *EventSetStorkPrices) GetPrices() []*StorkPriceState { + if m != nil { + return m.Prices + } + return nil +} + type EventSetPythPrices struct { Prices []*PythPriceState `protobuf:"bytes,1,rep,name=prices,proto3" json:"prices,omitempty"` } @@ -557,7 +601,7 @@ func (m *EventSetPythPrices) Reset() { *m = EventSetPythPrices{} } func (m *EventSetPythPrices) String() string { return proto.CompactTextString(m) } func (*EventSetPythPrices) ProtoMessage() {} func (*EventSetPythPrices) Descriptor() ([]byte, []int) { - return fileDescriptor_c42b07097291dfa0, []int{9} + return fileDescriptor_c42b07097291dfa0, []int{10} } func (m *EventSetPythPrices) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -603,6 +647,7 @@ func init() { proto.RegisterType((*SetPriceFeedPriceEvent)(nil), "injective.oracle.v1beta1.SetPriceFeedPriceEvent") proto.RegisterType((*SetProviderPriceEvent)(nil), "injective.oracle.v1beta1.SetProviderPriceEvent") proto.RegisterType((*SetCoinbasePriceEvent)(nil), "injective.oracle.v1beta1.SetCoinbasePriceEvent") + proto.RegisterType((*EventSetStorkPrices)(nil), "injective.oracle.v1beta1.EventSetStorkPrices") proto.RegisterType((*EventSetPythPrices)(nil), "injective.oracle.v1beta1.EventSetPythPrices") } @@ -611,49 +656,51 @@ func init() { } var fileDescriptor_c42b07097291dfa0 = []byte{ - // 665 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0xb1, 0x6e, 0x13, 0x4d, - 0x10, 0xf6, 0xda, 0x8e, 0x13, 0x6f, 0xfe, 0xe6, 0x3f, 0x99, 0x70, 0x4a, 0xc0, 0x31, 0x46, 0x48, - 0x6e, 0xb8, 0x53, 0xa0, 0x02, 0x1a, 0x70, 0x08, 0x92, 0xa5, 0x14, 0xd1, 0x39, 0xa2, 0xa0, 0x89, - 0xd6, 0x7b, 0x13, 0x7b, 0xf1, 0xdd, 0xad, 0xb3, 0xbb, 0x67, 0xe4, 0x37, 0xa0, 0xa0, 0xa0, 0xa3, - 0xe5, 0x59, 0xa8, 0x52, 0xa6, 0x44, 0x14, 0x11, 0x4a, 0x24, 0x9e, 0x03, 0xed, 0xde, 0xda, 0x3e, - 0xac, 0x18, 0x39, 0xa2, 0xbb, 0x99, 0x9d, 0xf9, 0xe6, 0x9b, 0xb9, 0xf9, 0x06, 0x3f, 0x62, 0xc9, - 0x7b, 0xa0, 0x8a, 0x8d, 0xc1, 0xe7, 0x82, 0xd0, 0x08, 0xfc, 0xf1, 0x5e, 0x0f, 0x14, 0xd9, 0xf3, - 0x61, 0x0c, 0x89, 0x92, 0xde, 0x48, 0x70, 0xc5, 0x1d, 0x77, 0x16, 0xe6, 0x65, 0x61, 0x9e, 0x0d, - 0xdb, 0xae, 0xf5, 0x79, 0x9f, 0x9b, 0x20, 0x5f, 0x7f, 0x65, 0xf1, 0xdb, 0x75, 0xca, 0x65, 0xcc, - 0xa5, 0xdf, 0x23, 0x72, 0x8e, 0x48, 0x39, 0x4b, 0xec, 0xfb, 0xf2, 0xb2, 0x16, 0xde, 0x84, 0x35, - 0x3f, 0x21, 0xbc, 0xd5, 0x05, 0xb5, 0x3f, 0x20, 0x2c, 0x89, 0x58, 0x32, 0x3c, 0x12, 0x8c, 0xc2, - 0x81, 0x26, 0xe6, 0xdc, 0xc5, 0xeb, 0xa7, 0x00, 0xe1, 0x09, 0x0b, 0x5d, 0xd4, 0x40, 0xad, 0x6a, - 0x50, 0xd1, 0x66, 0x27, 0x74, 0x5e, 0xe0, 0x0a, 0x49, 0xe4, 0x07, 0x10, 0x6e, 0x51, 0xfb, 0xdb, - 0x0f, 0xcf, 0x2f, 0x77, 0x0b, 0x3f, 0x2e, 0x77, 0x77, 0x32, 0x4a, 0x32, 0x1c, 0x7a, 0x8c, 0xfb, - 0x31, 0x51, 0x03, 0xef, 0x10, 0xfa, 0x84, 0x4e, 0x5e, 0x03, 0x0d, 0x6c, 0x8a, 0x73, 0x0f, 0x57, - 0x15, 0x8b, 0x41, 0x2a, 0x12, 0x8f, 0xdc, 0x52, 0x03, 0xb5, 0xca, 0xc1, 0xdc, 0xd1, 0xfc, 0x86, - 0xf0, 0xff, 0x5d, 0x50, 0x6d, 0x92, 0x84, 0x39, 0x26, 0x2e, 0x5e, 0x17, 0x10, 0x91, 0x09, 0x08, - 0xcb, 0x64, 0x6a, 0x3a, 0x5b, 0xb8, 0x22, 0x27, 0x71, 0x8f, 0x47, 0x19, 0x95, 0xc0, 0x5a, 0xce, - 0x33, 0xbc, 0x36, 0xd2, 0xf9, 0xa6, 0xc2, 0x8a, 0x0c, 0xb3, 0x0c, 0xe7, 0x01, 0xfe, 0x4f, 0x80, - 0xe4, 0xd1, 0x18, 0x4e, 0x34, 0x2f, 0xb7, 0x6c, 0x38, 0x6e, 0x5a, 0xdf, 0x31, 0x8b, 0xc1, 0xb9, - 0x8f, 0xb1, 0x80, 0xb3, 0x14, 0xa4, 0xd2, 0xc3, 0x59, 0xcb, 0x9a, 0xb0, 0x9e, 0x4e, 0xd8, 0xfc, - 0x85, 0x70, 0xcd, 0x36, 0xd1, 0x69, 0xef, 0xaf, 0xd4, 0x87, 0x8b, 0xd7, 0x33, 0xe6, 0xd2, 0x2d, - 0x36, 0x4a, 0xfa, 0xc5, 0x9a, 0x7a, 0xd8, 0x86, 0x97, 0x74, 0x4b, 0xfa, 0x61, 0xc5, 0x61, 0x67, - 0x29, 0xff, 0xde, 0x8b, 0xb3, 0x83, 0xab, 0x34, 0x62, 0x90, 0x98, 0xd7, 0x4a, 0x03, 0xb5, 0x4a, - 0xc1, 0x46, 0xe6, 0xe8, 0x84, 0xcd, 0x63, 0xbc, 0x65, 0x1a, 0xb3, 0x9d, 0xbe, 0xa2, 0xc3, 0x6e, - 0x4a, 0x29, 0x48, 0xa9, 0x51, 0x09, 0x1d, 0x9e, 0x08, 0x90, 0x69, 0xa4, 0x6c, 0xb3, 0x55, 0x42, - 0x87, 0x81, 0x71, 0xfc, 0x89, 0x5a, 0x5c, 0x40, 0x3d, 0xc2, 0xb5, 0x05, 0xd4, 0x03, 0x21, 0xb8, - 0xd0, 0x49, 0x1a, 0x13, 0xb4, 0x61, 0x21, 0x37, 0x48, 0xee, 0x71, 0x39, 0xe2, 0x73, 0xbc, 0x93, - 0x47, 0x0c, 0x40, 0x8e, 0x78, 0x22, 0x4d, 0xff, 0x3c, 0x5d, 0x60, 0x83, 0x16, 0x72, 0xbf, 0x64, - 0x02, 0x31, 0x7f, 0xf1, 0x0d, 0xc0, 0x6a, 0x6b, 0xe9, 0xe0, 0xb2, 0xd6, 0xa5, 0x5d, 0x4a, 0xf3, - 0xed, 0xd4, 0xf0, 0xda, 0x59, 0xca, 0x95, 0x5d, 0xc9, 0x20, 0x33, 0xe6, 0x8b, 0x5a, 0xbe, 0xed, - 0xa2, 0x36, 0xbf, 0x22, 0x7c, 0xc7, 0x30, 0xe3, 0x63, 0x16, 0x82, 0xc8, 0x11, 0xdb, 0xc6, 0x1b, - 0x23, 0xeb, 0x9d, 0x0e, 0x6a, 0x6a, 0xe7, 0x49, 0x17, 0x97, 0x69, 0xa9, 0x74, 0xb3, 0x96, 0x6e, - 0x4f, 0xf1, 0x63, 0x46, 0x71, 0x9f, 0xb3, 0x44, 0xcf, 0x20, 0x47, 0x71, 0x5e, 0x0c, 0xdd, 0x5c, - 0xac, 0x78, 0x6b, 0xe1, 0xfe, 0xfd, 0xb2, 0xbc, 0xc5, 0x8e, 0xa9, 0xac, 0x27, 0x36, 0x51, 0x83, - 0xa3, 0x4c, 0x20, 0x2f, 0x67, 0xea, 0x42, 0x8d, 0x52, 0x6b, 0xf3, 0x49, 0xcb, 0x5b, 0x76, 0x86, - 0xbd, 0x59, 0x56, 0x57, 0x11, 0x05, 0x53, 0x89, 0xb5, 0x4f, 0xcf, 0xaf, 0xea, 0xe8, 0xe2, 0xaa, - 0x8e, 0x7e, 0x5e, 0xd5, 0xd1, 0xe7, 0xeb, 0x7a, 0xe1, 0xe2, 0xba, 0x5e, 0xf8, 0x7e, 0x5d, 0x2f, - 0xbc, 0x3b, 0xec, 0x33, 0x35, 0x48, 0x7b, 0x1e, 0xe5, 0xb1, 0xdf, 0x99, 0xa2, 0x1e, 0x92, 0x9e, - 0xf4, 0x67, 0x35, 0x1e, 0x53, 0x2e, 0x20, 0x6f, 0xea, 0x33, 0xec, 0xc7, 0x3c, 0x4c, 0x23, 0x90, - 0xd3, 0xbb, 0xad, 0x26, 0x23, 0x90, 0xbd, 0x8a, 0xb9, 0xd7, 0x4f, 0x7f, 0x07, 0x00, 0x00, 0xff, - 0xff, 0xbc, 0x05, 0xc5, 0xe3, 0x4f, 0x06, 0x00, 0x00, + // 689 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x3f, 0x6f, 0x13, 0x4b, + 0x10, 0xf7, 0xda, 0x8e, 0x13, 0x6f, 0x5e, 0xf3, 0xee, 0xf9, 0x85, 0x53, 0x02, 0x8e, 0x31, 0x42, + 0x32, 0x05, 0x77, 0x0a, 0x54, 0x40, 0x43, 0x1c, 0x82, 0x64, 0x29, 0x45, 0x74, 0x8e, 0x10, 0xa2, + 0x89, 0xd6, 0x7b, 0x13, 0x7b, 0xf1, 0xdd, 0xad, 0xb3, 0xbb, 0x36, 0xf2, 0x37, 0xa0, 0xa0, 0xa0, + 0xa3, 0xe5, 0xb3, 0x50, 0xa5, 0x4c, 0x89, 0x28, 0x22, 0x94, 0x48, 0x7c, 0x0e, 0xb4, 0x7b, 0x6b, + 0xfb, 0x62, 0xc5, 0xc8, 0x11, 0xdd, 0xcd, 0xbf, 0xdf, 0xfc, 0x66, 0x6e, 0x66, 0x16, 0x3f, 0x64, + 0xc9, 0x7b, 0xa0, 0x8a, 0x8d, 0xc0, 0xe7, 0x82, 0xd0, 0x08, 0xfc, 0xd1, 0x4e, 0x07, 0x14, 0xd9, + 0xf1, 0x61, 0x04, 0x89, 0x92, 0xde, 0x40, 0x70, 0xc5, 0x1d, 0x77, 0xea, 0xe6, 0xa5, 0x6e, 0x9e, + 0x75, 0xdb, 0xac, 0x74, 0x79, 0x97, 0x1b, 0x27, 0x5f, 0x7f, 0xa5, 0xfe, 0x9b, 0x55, 0xca, 0x65, + 0xcc, 0xa5, 0xdf, 0x21, 0x72, 0x86, 0x48, 0x39, 0x4b, 0xac, 0x7d, 0x71, 0x5a, 0x0b, 0x6f, 0xdc, + 0xea, 0x9f, 0x10, 0xde, 0x68, 0x83, 0xda, 0xeb, 0x11, 0x96, 0x44, 0x2c, 0xe9, 0x1f, 0x0a, 0x46, + 0x61, 0x5f, 0x13, 0x73, 0xee, 0xe0, 0xd5, 0x13, 0x80, 0xf0, 0x98, 0x85, 0x2e, 0xaa, 0xa1, 0x46, + 0x39, 0x28, 0x69, 0xb1, 0x15, 0x3a, 0x2f, 0x70, 0x89, 0x24, 0xf2, 0x03, 0x08, 0x37, 0xaf, 0xf5, + 0xcd, 0x07, 0x67, 0x17, 0xdb, 0xb9, 0x1f, 0x17, 0xdb, 0x5b, 0x29, 0x25, 0x19, 0xf6, 0x3d, 0xc6, + 0xfd, 0x98, 0xa8, 0x9e, 0x77, 0x00, 0x5d, 0x42, 0xc7, 0xaf, 0x80, 0x06, 0x36, 0xc4, 0xb9, 0x8b, + 0xcb, 0x8a, 0xc5, 0x20, 0x15, 0x89, 0x07, 0x6e, 0xa1, 0x86, 0x1a, 0xc5, 0x60, 0xa6, 0xa8, 0x7f, + 0x43, 0xf8, 0xdf, 0x36, 0xa8, 0x26, 0x49, 0xc2, 0x0c, 0x13, 0x17, 0xaf, 0x0a, 0x88, 0xc8, 0x18, + 0x84, 0x65, 0x32, 0x11, 0x9d, 0x0d, 0x5c, 0x92, 0xe3, 0xb8, 0xc3, 0xa3, 0x94, 0x4a, 0x60, 0x25, + 0xe7, 0x19, 0x5e, 0x19, 0xe8, 0x78, 0x93, 0x61, 0x49, 0x86, 0x69, 0x84, 0x73, 0x1f, 0xff, 0x23, + 0x40, 0xf2, 0x68, 0x04, 0xc7, 0x9a, 0x97, 0x5b, 0x34, 0x1c, 0xd7, 0xad, 0xee, 0x88, 0xc5, 0xe0, + 0xdc, 0xc3, 0x58, 0xc0, 0xe9, 0x10, 0xa4, 0xd2, 0xcd, 0x59, 0x49, 0x8b, 0xb0, 0x9a, 0x56, 0x58, + 0xff, 0x85, 0x70, 0xc5, 0x16, 0xd1, 0x6a, 0xee, 0x2d, 0x55, 0x87, 0x8b, 0x57, 0x53, 0xe6, 0xd2, + 0xcd, 0xd7, 0x0a, 0xda, 0x62, 0x45, 0xdd, 0x6c, 0xc3, 0x4b, 0xba, 0x05, 0x6d, 0x58, 0xb2, 0xd9, + 0x69, 0xc8, 0xdf, 0xd7, 0xe2, 0x6c, 0xe1, 0x32, 0x8d, 0x18, 0x24, 0xc6, 0x5a, 0xaa, 0xa1, 0x46, + 0x21, 0x58, 0x4b, 0x15, 0xad, 0xb0, 0x7e, 0x84, 0x37, 0x4c, 0x61, 0xb6, 0xd2, 0x5d, 0xda, 0x6f, + 0x0f, 0x29, 0x05, 0x29, 0x35, 0x2a, 0xa1, 0xfd, 0x63, 0x01, 0x72, 0x18, 0x29, 0x5b, 0x6c, 0x99, + 0xd0, 0x7e, 0x60, 0x14, 0xd7, 0x51, 0xf3, 0x73, 0xa8, 0x87, 0xb8, 0x32, 0x87, 0xba, 0x2f, 0x04, + 0x17, 0x3a, 0x48, 0x63, 0x82, 0x16, 0x2c, 0xe4, 0x1a, 0xc9, 0x18, 0x17, 0x23, 0x3e, 0xc7, 0x5b, + 0x59, 0xc4, 0x00, 0xe4, 0x80, 0x27, 0xd2, 0xd4, 0xcf, 0x87, 0x73, 0x6c, 0xd0, 0x5c, 0xec, 0x97, + 0x74, 0x41, 0xcc, 0x5f, 0x7c, 0x0d, 0xb0, 0xdc, 0x58, 0x3a, 0xb8, 0xa8, 0xf7, 0xd2, 0x0e, 0xa5, + 0xf9, 0x76, 0x2a, 0x78, 0xe5, 0x74, 0xc8, 0x95, 0x1d, 0xc9, 0x20, 0x15, 0x66, 0x83, 0x5a, 0xbc, + 0xed, 0xa0, 0xd6, 0xbf, 0x22, 0xfc, 0xbf, 0x61, 0xc6, 0x47, 0x2c, 0x04, 0x91, 0x21, 0xb6, 0x89, + 0xd7, 0x06, 0x56, 0x3b, 0x69, 0xd4, 0x44, 0xce, 0x92, 0xce, 0x2f, 0xda, 0xa5, 0xc2, 0xcd, 0xbb, + 0x74, 0x7b, 0x8a, 0x1f, 0x53, 0x8a, 0x7b, 0x9c, 0x25, 0xba, 0x07, 0x19, 0x8a, 0xb3, 0x64, 0xe8, + 0xe6, 0x64, 0xf9, 0x5b, 0x2f, 0xee, 0x9f, 0x2f, 0xcb, 0x5b, 0xfc, 0x9f, 0xc9, 0xdc, 0x06, 0xd5, + 0x56, 0x5c, 0xa4, 0x87, 0x4e, 0x3a, 0xbb, 0xd3, 0xf5, 0x42, 0xb5, 0x42, 0x63, 0xfd, 0xc9, 0x23, + 0x6f, 0xd1, 0x1d, 0xf6, 0x66, 0x61, 0x6d, 0x45, 0x14, 0x4c, 0x96, 0xac, 0xfe, 0x06, 0x3b, 0x13, + 0xe4, 0xc3, 0xb1, 0xea, 0x59, 0xe0, 0x97, 0x73, 0xc0, 0x8d, 0xc5, 0xc0, 0xd3, 0xa8, 0x6b, 0xb8, + 0xcd, 0x93, 0xb3, 0xcb, 0x2a, 0x3a, 0xbf, 0xac, 0xa2, 0x9f, 0x97, 0x55, 0xf4, 0xf9, 0xaa, 0x9a, + 0x3b, 0xbf, 0xaa, 0xe6, 0xbe, 0x5f, 0x55, 0x73, 0xef, 0x0e, 0xba, 0x4c, 0xf5, 0x86, 0x1d, 0x8f, + 0xf2, 0xd8, 0x6f, 0x4d, 0x50, 0x0f, 0x48, 0x47, 0xfa, 0xd3, 0x1c, 0x8f, 0x29, 0x17, 0x90, 0x15, + 0xf5, 0x81, 0xf7, 0x63, 0x1e, 0x0e, 0x23, 0x90, 0x93, 0x17, 0x41, 0x8d, 0x07, 0x20, 0x3b, 0x25, + 0xf3, 0x12, 0x3c, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x3f, 0x45, 0xd4, 0xa9, 0x06, 0x00, + 0x00, } func (m *SetChainlinkPriceEvent) Marshal() (dAtA []byte, err error) { @@ -1077,6 +1124,43 @@ func (m *SetCoinbasePriceEvent) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *EventSetStorkPrices) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventSetStorkPrices) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventSetStorkPrices) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Prices) > 0 { + for iNdEx := len(m.Prices) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Prices[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func (m *EventSetPythPrices) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1310,6 +1394,21 @@ func (m *SetCoinbasePriceEvent) Size() (n int) { return n } +func (m *EventSetStorkPrices) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Prices) > 0 { + for _, e := range m.Prices { + l = e.Size() + n += 1 + l + sovEvents(uint64(l)) + } + } + return n +} + func (m *EventSetPythPrices) Size() (n int) { if m == nil { return 0 @@ -2625,6 +2724,90 @@ func (m *SetCoinbasePriceEvent) Unmarshal(dAtA []byte) error { } return nil } +func (m *EventSetStorkPrices) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventSetStorkPrices: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventSetStorkPrices: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Prices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Prices = append(m.Prices, &StorkPriceState{}) + if err := m.Prices[len(m.Prices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *EventSetPythPrices) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/genesis.pb.go b/chain/oracle/types/genesis.pb.go index 04cb607c..537005eb 100644 --- a/chain/oracle/types/genesis.pb.go +++ b/chain/oracle/types/genesis.pb.go @@ -41,6 +41,8 @@ type GenesisState struct { HistoricalPriceRecords []*PriceRecords `protobuf:"bytes,13,rep,name=historical_price_records,json=historicalPriceRecords,proto3" json:"historical_price_records,omitempty"` ProviderStates []*ProviderState `protobuf:"bytes,14,rep,name=provider_states,json=providerStates,proto3" json:"provider_states,omitempty"` PythPriceStates []*PythPriceState `protobuf:"bytes,15,rep,name=pyth_price_states,json=pythPriceStates,proto3" json:"pyth_price_states,omitempty"` + StorkPriceStates []*StorkPriceState `protobuf:"bytes,16,rep,name=stork_price_states,json=storkPriceStates,proto3" json:"stork_price_states,omitempty"` + StorkPublishers []string `protobuf:"bytes,17,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -181,6 +183,20 @@ func (m *GenesisState) GetPythPriceStates() []*PythPriceState { return nil } +func (m *GenesisState) GetStorkPriceStates() []*StorkPriceState { + if m != nil { + return m.StorkPriceStates + } + return nil +} + +func (m *GenesisState) GetStorkPublishers() []string { + if m != nil { + return m.StorkPublishers + } + return nil +} + type CalldataRecord struct { ClientId uint64 `protobuf:"varint,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` Calldata []byte `protobuf:"bytes,2,opt,name=calldata,proto3" json:"calldata,omitempty"` @@ -243,47 +259,50 @@ func init() { } var fileDescriptor_f7e14cf80151b4d2 = []byte{ - // 639 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0xc7, 0xe3, 0xb6, 0xbf, 0xfe, 0x9a, 0x6d, 0xda, 0xc0, 0xd2, 0x16, 0x13, 0x24, 0x63, 0x15, - 0xd1, 0x5a, 0x82, 0xda, 0x6a, 0xb9, 0x20, 0x0e, 0x1c, 0x12, 0x09, 0x64, 0xa9, 0x12, 0x95, 0x0b, - 0x17, 0x38, 0x98, 0xf5, 0x7a, 0x9b, 0x2c, 0x38, 0x5e, 0xb3, 0xbb, 0x89, 0x94, 0xb7, 0xe0, 0xb1, - 0x7a, 0xec, 0x91, 0x13, 0xaa, 0x92, 0x17, 0x41, 0x5e, 0xff, 0x89, 0xdd, 0x2a, 0x89, 0xb8, 0x79, - 0xc6, 0x33, 0x9f, 0xf9, 0xee, 0xcc, 0xec, 0x82, 0x23, 0x1a, 0x7f, 0x27, 0x58, 0xd2, 0x31, 0x71, - 0x18, 0x47, 0x38, 0x22, 0xce, 0xf8, 0x34, 0x20, 0x12, 0x9d, 0x3a, 0x7d, 0x12, 0x13, 0x41, 0x85, - 0x9d, 0x70, 0x26, 0x19, 0xd4, 0xcb, 0x38, 0x3b, 0x8b, 0xb3, 0xf3, 0xb8, 0xce, 0x8b, 0x85, 0x84, - 0x3c, 0x50, 0x01, 0x3a, 0x7b, 0x7d, 0xd6, 0x67, 0xea, 0xd3, 0x49, 0xbf, 0x32, 0xef, 0xe1, 0x6d, - 0x13, 0xb4, 0x3e, 0x64, 0x85, 0x2e, 0x25, 0x92, 0x04, 0xbe, 0x03, 0x9b, 0x09, 0xe2, 0x68, 0x28, - 0x74, 0xcd, 0xd4, 0xac, 0xed, 0x33, 0xd3, 0x5e, 0x54, 0xd8, 0xbe, 0x50, 0x71, 0xdd, 0x8d, 0xeb, - 0x3f, 0xcf, 0x1a, 0x5e, 0x9e, 0x05, 0x9f, 0x83, 0x9d, 0x00, 0xc5, 0xa1, 0xcf, 0x49, 0x84, 0x26, - 0x84, 0x0b, 0x7d, 0xcd, 0x5c, 0xb7, 0x9a, 0x5e, 0x2b, 0x75, 0x7a, 0xb9, 0x0f, 0x7e, 0x02, 0x0f, - 0x55, 0x50, 0xc2, 0x29, 0x26, 0xbe, 0x48, 0x0b, 0x0b, 0x7d, 0xdd, 0x5c, 0xb7, 0xb6, 0xcf, 0xac, - 0xc5, 0xf5, 0xba, 0x28, 0x0e, 0x2f, 0xd2, 0x0c, 0xa5, 0xd4, 0x6b, 0x07, 0x35, 0x5b, 0x40, 0x1f, - 0x3c, 0xce, 0x80, 0x57, 0x84, 0xdc, 0x61, 0x6f, 0xac, 0x62, 0x2b, 0xce, 0x7b, 0x42, 0xc2, 0x8c, - 0xbd, 0x97, 0x14, 0x76, 0xb5, 0xc0, 0x37, 0xb0, 0x8f, 0x19, 0x8d, 0x03, 0x24, 0x48, 0x1d, 0xff, - 0x9f, 0xc2, 0xbf, 0x5a, 0x8c, 0xef, 0xe5, 0x69, 0x15, 0xf9, 0x8f, 0xf0, 0x3d, 0x9f, 0x80, 0x5f, - 0xc1, 0xbe, 0x6a, 0x0c, 0x0d, 0x70, 0xbd, 0xc2, 0xe6, 0x3f, 0x36, 0x07, 0xa6, 0x18, 0x37, 0xc0, - 0x55, 0x78, 0x08, 0xf4, 0x12, 0x9e, 0x65, 0xfb, 0x9c, 0xfc, 0x1c, 0x11, 0x21, 0x85, 0xfe, 0xbf, - 0xe2, 0xbf, 0x5c, 0xce, 0xff, 0xa8, 0x5c, 0x5e, 0x96, 0xe3, 0xed, 0xe7, 0x25, 0x6a, 0x5e, 0x01, - 0x3f, 0x83, 0xf6, 0xfc, 0x08, 0xd9, 0x26, 0x6d, 0xa9, 0x4d, 0x3a, 0x5e, 0x0e, 0x77, 0xbb, 0xbd, - 0xda, 0x42, 0xed, 0x14, 0x27, 0xc8, 0xf6, 0xea, 0x0d, 0x78, 0x52, 0x62, 0xa3, 0xf4, 0x38, 0xd2, - 0xc7, 0x11, 0x25, 0xb1, 0xf4, 0x69, 0xa8, 0x37, 0x4d, 0xcd, 0xda, 0x28, 0x05, 0x9d, 0xab, 0xdf, - 0x3d, 0xf5, 0xd7, 0x0d, 0xe1, 0x25, 0x78, 0x80, 0x51, 0x14, 0x85, 0x48, 0x22, 0x9f, 0x13, 0xcc, - 0x78, 0x28, 0x74, 0xb0, 0xaa, 0x9d, 0xbd, 0x3c, 0xc3, 0x53, 0x09, 0x5e, 0x1b, 0xd7, 0x6c, 0x01, - 0xdf, 0x82, 0xce, 0x5d, 0x39, 0x79, 0x2f, 0x53, 0x3d, 0xdb, 0x4a, 0xcf, 0x41, 0x4d, 0x4f, 0xde, - 0x20, 0x37, 0x84, 0x18, 0x1c, 0xe0, 0x01, 0xa2, 0x71, 0x44, 0xe3, 0x1f, 0xf5, 0x29, 0xb7, 0x94, - 0xac, 0x93, 0x25, 0xb2, 0x8a, 0xbc, 0xca, 0xa8, 0xf7, 0xf0, 0x7d, 0x67, 0xba, 0xab, 0xfa, 0x80, - 0x0a, 0xc9, 0x38, 0xc5, 0x28, 0xca, 0xab, 0x14, 0xa7, 0xdf, 0x51, 0x65, 0x8e, 0x56, 0xdc, 0x86, - 0xfc, 0xa8, 0xde, 0xc1, 0x9c, 0x53, 0xf5, 0xc3, 0x0b, 0xd0, 0x4e, 0x38, 0x1b, 0xd3, 0x90, 0xf0, - 0x42, 0xff, 0xae, 0x02, 0x1f, 0x2f, 0x03, 0x67, 0x09, 0x99, 0xf2, 0xdd, 0xa4, 0x6a, 0xaa, 0x67, - 0x21, 0x99, 0xc8, 0x41, 0xbd, 0x27, 0xed, 0x95, 0x57, 0x77, 0x22, 0x07, 0xd5, 0x67, 0x21, 0xa9, - 0xd9, 0xe2, 0xd0, 0x05, 0xbb, 0xf5, 0x69, 0xc2, 0xa7, 0xa0, 0x39, 0xdf, 0x1d, 0x4d, 0xcd, 0x6a, - 0x0b, 0x17, 0xeb, 0xd2, 0x01, 0x5b, 0xc5, 0xb0, 0xf5, 0x35, 0x53, 0xb3, 0x5a, 0x5e, 0x69, 0x77, - 0xaf, 0xae, 0xa7, 0x86, 0x76, 0x33, 0x35, 0xb4, 0xdb, 0xa9, 0xa1, 0xfd, 0x9a, 0x19, 0x8d, 0x9b, - 0x99, 0xd1, 0xf8, 0x3d, 0x33, 0x1a, 0x5f, 0xce, 0xfb, 0x54, 0x0e, 0x46, 0x81, 0x8d, 0xd9, 0xd0, - 0x71, 0x0b, 0xa5, 0xe7, 0x28, 0x10, 0x4e, 0xa9, 0xfb, 0x04, 0x33, 0x4e, 0xaa, 0x66, 0x3a, 0x36, - 0x67, 0xc8, 0xc2, 0x51, 0x44, 0x44, 0xf1, 0x74, 0xcb, 0x49, 0x42, 0x44, 0xb0, 0xa9, 0x1e, 0xe7, - 0xd7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x53, 0x49, 0x4f, 0x18, 0x1d, 0x06, 0x00, 0x00, + // 681 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x95, 0xcf, 0x4f, 0x13, 0x41, + 0x14, 0xc7, 0xbb, 0x80, 0x08, 0x43, 0xa1, 0x65, 0x04, 0x5c, 0x6b, 0x52, 0x1b, 0x8c, 0x50, 0xa2, + 0x74, 0x03, 0x5e, 0x8c, 0x07, 0x0f, 0x6d, 0xa2, 0x69, 0x42, 0x22, 0x59, 0x34, 0x26, 0x7a, 0x58, + 0x67, 0x67, 0x87, 0x76, 0x74, 0xd9, 0x5d, 0x67, 0xa6, 0x24, 0xfd, 0x2f, 0xfc, 0xb3, 0x38, 0x72, + 0xf4, 0x64, 0x0c, 0xf8, 0x87, 0x98, 0xf9, 0xb1, 0xcb, 0x0e, 0xa4, 0x6d, 0xbc, 0xed, 0x7b, 0xfb, + 0xde, 0xe7, 0x7d, 0xdf, 0xdb, 0xb7, 0x33, 0x60, 0x87, 0x26, 0xdf, 0x08, 0x16, 0xf4, 0x9c, 0x78, + 0x29, 0x43, 0x38, 0x26, 0xde, 0xf9, 0x41, 0x48, 0x04, 0x3a, 0xf0, 0x06, 0x24, 0x21, 0x9c, 0xf2, + 0x4e, 0xc6, 0x52, 0x91, 0x42, 0xb7, 0x88, 0xeb, 0xe8, 0xb8, 0x8e, 0x89, 0x6b, 0x3c, 0x9b, 0x48, + 0x30, 0x81, 0x0a, 0xd0, 0xd8, 0x18, 0xa4, 0x83, 0x54, 0x3d, 0x7a, 0xf2, 0x49, 0x7b, 0xb7, 0xff, + 0x02, 0x50, 0x7d, 0xa7, 0x0b, 0x9d, 0x08, 0x24, 0x08, 0x7c, 0x03, 0x16, 0x33, 0xc4, 0xd0, 0x19, + 0x77, 0x9d, 0x96, 0xd3, 0x5e, 0x39, 0x6c, 0x75, 0x26, 0x15, 0xee, 0x1c, 0xab, 0xb8, 0xee, 0xc2, + 0xc5, 0xef, 0x27, 0x15, 0xdf, 0x64, 0xc1, 0xa7, 0x60, 0x35, 0x44, 0x49, 0x14, 0x30, 0x12, 0xa3, + 0x31, 0x61, 0xdc, 0x9d, 0x6b, 0xcd, 0xb7, 0x97, 0xfd, 0xaa, 0x74, 0xfa, 0xc6, 0x07, 0x3f, 0x80, + 0x75, 0x15, 0x94, 0x31, 0x8a, 0x49, 0xc0, 0x65, 0x61, 0xee, 0xce, 0xb7, 0xe6, 0xdb, 0x2b, 0x87, + 0xed, 0xc9, 0xf5, 0xba, 0x28, 0x89, 0x8e, 0x65, 0x86, 0x52, 0xea, 0xd7, 0x42, 0xcb, 0xe6, 0x30, + 0x00, 0x0f, 0x35, 0xf0, 0x94, 0x90, 0x5b, 0xec, 0x85, 0x59, 0x6c, 0xc5, 0x79, 0x4b, 0x48, 0xa4, + 0xd9, 0x1b, 0x59, 0x6e, 0x97, 0x0b, 0x7c, 0x05, 0x9b, 0x38, 0xa5, 0x49, 0x88, 0x38, 0xb1, 0xf1, + 0xf7, 0x14, 0xfe, 0xc5, 0x64, 0x7c, 0xcf, 0xa4, 0x95, 0xe4, 0x3f, 0xc0, 0x77, 0x7c, 0x1c, 0x7e, + 0x01, 0x9b, 0x6a, 0x30, 0x34, 0xc4, 0x76, 0x85, 0xc5, 0xff, 0x1c, 0x0e, 0x94, 0x98, 0x7e, 0x88, + 0xcb, 0xf0, 0x08, 0xb8, 0x05, 0x5c, 0x67, 0x07, 0x8c, 0xfc, 0x18, 0x11, 0x2e, 0xb8, 0x7b, 0x5f, + 0xf1, 0x9f, 0x4f, 0xe7, 0xbf, 0x57, 0x2e, 0x5f, 0xe7, 0xf8, 0x9b, 0xa6, 0x84, 0xe5, 0xe5, 0xf0, + 0x23, 0xa8, 0xdd, 0xb4, 0xa0, 0x37, 0x69, 0x49, 0x6d, 0xd2, 0xee, 0x74, 0x78, 0xbf, 0xdb, 0xb3, + 0x16, 0x6a, 0x35, 0xef, 0x40, 0xef, 0xd5, 0x2b, 0xf0, 0xa8, 0xc0, 0xc6, 0xb2, 0x1d, 0x11, 0xe0, + 0x98, 0x92, 0x44, 0x04, 0x34, 0x72, 0x97, 0x5b, 0x4e, 0x7b, 0xa1, 0x10, 0x74, 0xa4, 0x5e, 0xf7, + 0xd4, 0xdb, 0x7e, 0x04, 0x4f, 0x40, 0x1d, 0xa3, 0x38, 0x8e, 0x90, 0x40, 0x01, 0x23, 0x38, 0x65, + 0x11, 0x77, 0xc1, 0xac, 0x71, 0xf6, 0x4c, 0x86, 0xaf, 0x12, 0xfc, 0x1a, 0xb6, 0x6c, 0x0e, 0x5f, + 0x83, 0xc6, 0x6d, 0x39, 0x66, 0x96, 0x52, 0xcf, 0x8a, 0xd2, 0xb3, 0x65, 0xe9, 0x31, 0x03, 0xea, + 0x47, 0x10, 0x83, 0x2d, 0x3c, 0x44, 0x34, 0x89, 0x69, 0xf2, 0xdd, 0xfe, 0xca, 0x55, 0x25, 0x6b, + 0x7f, 0x8a, 0xac, 0x3c, 0xaf, 0xf4, 0xa9, 0x37, 0xf0, 0x5d, 0xa7, 0xdc, 0x55, 0x77, 0x48, 0xb9, + 0x48, 0x19, 0xc5, 0x28, 0x36, 0x55, 0xf2, 0xee, 0x57, 0x55, 0x99, 0x9d, 0x19, 0x7f, 0x83, 0x69, + 0xd5, 0xdf, 0xba, 0xe1, 0x94, 0xfd, 0xf0, 0x18, 0xd4, 0x32, 0x96, 0x9e, 0xd3, 0x88, 0xb0, 0x5c, + 0xff, 0x9a, 0x02, 0xef, 0x4e, 0x03, 0xeb, 0x04, 0xad, 0x7c, 0x2d, 0x2b, 0x9b, 0xea, 0x58, 0xc8, + 0xc6, 0x62, 0x68, 0xcf, 0xa4, 0x36, 0xf3, 0xd7, 0x1d, 0x8b, 0x61, 0xf9, 0x58, 0xc8, 0x2c, 0x9b, + 0xc3, 0x4f, 0x00, 0x4a, 0xfd, 0xb7, 0x46, 0x5d, 0x57, 0xd8, 0xbd, 0xc9, 0xd8, 0x13, 0x99, 0x53, + 0xe2, 0xd6, 0xb9, 0xed, 0xe0, 0x70, 0x0f, 0xd4, 0x0d, 0x78, 0x14, 0xc6, 0x94, 0x0f, 0xe5, 0x69, + 0xb7, 0xae, 0x4e, 0xbb, 0x9a, 0x8e, 0x2d, 0xdc, 0xdb, 0x7d, 0xb0, 0x66, 0x6f, 0x14, 0x7c, 0x0c, + 0x96, 0x6f, 0xf6, 0xd7, 0x51, 0xfb, 0xb2, 0x84, 0xf3, 0x95, 0x6d, 0x80, 0xa5, 0x7c, 0xe1, 0xdc, + 0xb9, 0x96, 0xd3, 0xae, 0xfa, 0x85, 0xdd, 0x3d, 0xbd, 0xb8, 0x6a, 0x3a, 0x97, 0x57, 0x4d, 0xe7, + 0xcf, 0x55, 0xd3, 0xf9, 0x79, 0xdd, 0xac, 0x5c, 0x5e, 0x37, 0x2b, 0xbf, 0xae, 0x9b, 0x95, 0xcf, + 0x47, 0x03, 0x2a, 0x86, 0xa3, 0xb0, 0x83, 0xd3, 0x33, 0xaf, 0x9f, 0xb7, 0x75, 0x84, 0x42, 0xee, + 0x15, 0x4d, 0xee, 0xe3, 0x94, 0x91, 0xb2, 0x29, 0x57, 0xc7, 0x3b, 0x4b, 0xa3, 0x51, 0x4c, 0x78, + 0x7e, 0x7d, 0x88, 0x71, 0x46, 0x78, 0xb8, 0xa8, 0x2e, 0x88, 0x97, 0xff, 0x02, 0x00, 0x00, 0xff, + 0xff, 0xe6, 0xf9, 0xcd, 0x82, 0xa1, 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -306,6 +325,33 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintGenesis(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + } + if len(m.StorkPriceStates) > 0 { + for iNdEx := len(m.StorkPriceStates) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.StorkPriceStates[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + } if len(m.PythPriceStates) > 0 { for iNdEx := len(m.PythPriceStates) - 1; iNdEx >= 0; iNdEx-- { { @@ -616,6 +662,18 @@ func (m *GenesisState) Size() (n int) { n += 1 + l + sovGenesis(uint64(l)) } } + if len(m.StorkPriceStates) > 0 { + for _, e := range m.StorkPriceStates { + l = e.Size() + n += 2 + l + sovGenesis(uint64(l)) + } + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 2 + l + sovGenesis(uint64(l)) + } + } return n } @@ -1146,6 +1204,72 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorkPriceStates", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StorkPriceStates = append(m.StorkPriceStates, &StorkPriceState{}) + if err := m.StorkPriceStates[len(m.StorkPriceStates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorkPublishers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/chain/oracle/types/key.go b/chain/oracle/types/key.go index b2ed36ee..8b386bc3 100644 --- a/chain/oracle/types/key.go +++ b/chain/oracle/types/key.go @@ -58,6 +58,10 @@ var ( // PythPriceKey is the prefix for the priceID => PythPriceState store. PythPriceKey = []byte{0x71} + + // StorkPriceKey is the prefix for the priceID => StorkPriceState store. + StorkPriceKey = []byte{0x81} + StorkPublisherKey = []byte{0x82} ) func GetBandPriceStoreKey(symbol string) []byte { @@ -109,6 +113,10 @@ func GetCoinbasePriceStoreIterationKey(key string) []byte { return append(CoinbasePriceKey, []byte(key)...) } +func GetStorkPriceStoreKey(key string) []byte { + return append(StorkPriceKey, []byte(key)...) +} + func GetChainlinkPriceStoreKey(feedId string) []byte { feedIdBz := getPaddedFeedIdBz(feedId) diff --git a/chain/oracle/types/msgs.go b/chain/oracle/types/msgs.go index 6cde9154..f26a3b39 100644 --- a/chain/oracle/types/msgs.go +++ b/chain/oracle/types/msgs.go @@ -1,11 +1,16 @@ package types import ( + "fmt" + "math/big" + "strconv" "strings" "cosmossdk.io/errors" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/ethereum/go-ethereum/common" ) // oracle message types @@ -18,6 +23,7 @@ const ( TypeMsgRequestBandIBCRates = "requestBandIBCRates" TypeMsgRelayProviderPrices = "relayProviderPrices" TypeMsgRelayPythPrices = "relayPythPrices" + TypeMsgRelayStorkPrices = "relayStorkPrices" TypeMsgUpdateParams = "updateParams" ) @@ -28,6 +34,7 @@ var ( _ sdk.Msg = &MsgRequestBandIBCRates{} _ sdk.Msg = &MsgRelayProviderPrices{} _ sdk.Msg = &MsgRelayPythPrices{} + _ sdk.Msg = &MsgRelayStorkPrices{} _ sdk.Msg = &MsgUpdateParams{} ) @@ -287,9 +294,6 @@ func (msg MsgRelayPythPrices) Type() string { return TypeMsgRelayPythPrices } // ValidateBasic implements the sdk.Msg interface. It runs stateless checks on the message func (msg MsgRelayPythPrices) ValidateBasic() error { - if msg.Sender == "" { - return errors.Wrap(sdkerrors.ErrInvalidAddress, msg.Sender) - } if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { return err } @@ -312,3 +316,63 @@ func (msg MsgRelayPythPrices) GetSigners() []sdk.AccAddress { } return []sdk.AccAddress{sender} } + +// Route implements the sdk.Msg interface. It should return the name of the module +func (msg MsgRelayStorkPrices) Route() string { return RouterKey } + +// Type implements the sdk.Msg interface. It should return the action. +func (msg MsgRelayStorkPrices) Type() string { return TypeMsgRelayStorkPrices } + +// ValidateBasic implements the sdk.Msg interface for MsgRelayStorkPrices. +func (msg MsgRelayStorkPrices) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + assetIDs := make(map[string]struct{}) + for idx := range msg.AssetPairs { + assetPair := msg.AssetPairs[idx] + if _, found := assetIDs[assetPair.AssetId]; found { + return errors.Wrapf(ErrStorkAssetIdNotUnique, "Asset id %s is not unique", assetPair.AssetId) + } + assetIDs[assetPair.AssetId] = struct{}{} + + var newestTimestamp uint64 + oldestTimestamp := ^uint64(0) // max uint64 + for i := range assetPair.SignedPrices { + p := assetPair.SignedPrices[i] + if p.Timestamp > newestTimestamp { + newestTimestamp = p.Timestamp + } + if p.Timestamp < oldestTimestamp { + oldestTimestamp = p.Timestamp + } + + price := new(big.Int).Quo(p.Price.BigInt(), sdkmath.LegacyOneDec().BigInt()).String() + // note: relayer should convert the ecdsa r,s,v signatures format to the normal bytes arrays signature + if !VerifyStorkMsgSignature(common.HexToAddress(p.PublisherKey), assetPair.AssetId, strconv.FormatUint(p.Timestamp, 10), price, p.Signature) { + return errors.Wrapf(ErrInvalidStorkSignature, "Invalid signature for asset %s with publisher address %s", assetPair.AssetId, p.PublisherKey) + } + } + + if newestTimestamp-oldestTimestamp > MaxStorkTimestampIntervalNano { + return fmt.Errorf("price timestamps between %d and %d exceed threshold %d", oldestTimestamp, newestTimestamp, MaxStorkTimestampIntervalNano) + } + } + + return nil +} + +// GetSignBytes implements the sdk.Msg interface. It encodes the message for signing +func (msg *MsgRelayStorkPrices) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(msg)) +} + +// GetSigners implements the sdk.Msg interface. It defines whose signature is required +func (msg MsgRelayStorkPrices) GetSigners() []sdk.AccAddress { + sender, err := sdk.AccAddressFromBech32(msg.Sender) + if err != nil { + panic(err) + } + return []sdk.AccAddress{sender} +} diff --git a/chain/oracle/types/oracle.go b/chain/oracle/types/oracle.go index acb83b38..a8c3335a 100644 --- a/chain/oracle/types/oracle.go +++ b/chain/oracle/types/oracle.go @@ -14,6 +14,9 @@ const BandPriceMultiplier uint64 = 1000000000 // 1e9 // MaxHistoricalPriceRecordAge is the maximum age of oracle price records to track. const MaxHistoricalPriceRecordAge = 60 * 5 +const MaxStorkTimestampIntervalNano = 500_000_000 // 500ms + +var EighteenDecimals = math.LegacyNewDec(10).Power(18) func GetOracleType(oracleTypeStr string) (OracleType, error) { oracleTypeStr = strings.ToLower(oracleTypeStr) @@ -32,6 +35,8 @@ func GetOracleType(oracleTypeStr string) (OracleType, error) { oracleType = OracleType_Provider case "pyth": oracleType = OracleType_Pyth + case "stork": + oracleType = OracleType_Stork default: return OracleType_Band, errors.Wrapf(ErrUnsupportedOracleType, "%s", oracleTypeStr) } diff --git a/chain/oracle/types/oracle.pb.go b/chain/oracle/types/oracle.pb.go index f1d3ea11..fe23bfa5 100644 --- a/chain/oracle/types/oracle.pb.go +++ b/chain/oracle/types/oracle.pb.go @@ -44,6 +44,7 @@ const ( OracleType_Pyth OracleType = 9 OracleType_BandIBC OracleType = 10 OracleType_Provider OracleType = 11 + OracleType_Stork OracleType = 12 ) var OracleType_name = map[int32]string{ @@ -59,6 +60,7 @@ var OracleType_name = map[int32]string{ 9: "Pyth", 10: "BandIBC", 11: "Provider", + 12: "Stork", } var OracleType_value = map[string]int32{ @@ -74,6 +76,7 @@ var OracleType_value = map[string]int32{ "Pyth": 9, "BandIBC": 10, "Provider": 11, + "Stork": 12, } func (x OracleType) String() string { @@ -704,6 +707,71 @@ func (m *CoinbasePriceState) GetPriceState() PriceState { return PriceState{} } +type StorkPriceState struct { + // timestamp of the when the price was signed by stork + Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // the symbol of the price, e.g. BTC + Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` + // the value of the price scaled by 1e18 + Value cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=value,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"value"` + // the price state + PriceState PriceState `protobuf:"bytes,5,opt,name=price_state,json=priceState,proto3" json:"price_state"` +} + +func (m *StorkPriceState) Reset() { *m = StorkPriceState{} } +func (m *StorkPriceState) String() string { return proto.CompactTextString(m) } +func (*StorkPriceState) ProtoMessage() {} +func (*StorkPriceState) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{11} +} +func (m *StorkPriceState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *StorkPriceState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_StorkPriceState.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *StorkPriceState) XXX_Merge(src proto.Message) { + xxx_messageInfo_StorkPriceState.Merge(m, src) +} +func (m *StorkPriceState) XXX_Size() int { + return m.Size() +} +func (m *StorkPriceState) XXX_DiscardUnknown() { + xxx_messageInfo_StorkPriceState.DiscardUnknown(m) +} + +var xxx_messageInfo_StorkPriceState proto.InternalMessageInfo + +func (m *StorkPriceState) GetTimestamp() uint64 { + if m != nil { + return m.Timestamp + } + return 0 +} + +func (m *StorkPriceState) GetSymbol() string { + if m != nil { + return m.Symbol + } + return "" +} + +func (m *StorkPriceState) GetPriceState() PriceState { + if m != nil { + return m.PriceState + } + return PriceState{} +} + type PriceState struct { Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,1,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` CumulativePrice cosmossdk_io_math.LegacyDec `protobuf:"bytes,2,opt,name=cumulative_price,json=cumulativePrice,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"cumulative_price"` @@ -714,7 +782,7 @@ func (m *PriceState) Reset() { *m = PriceState{} } func (m *PriceState) String() string { return proto.CompactTextString(m) } func (*PriceState) ProtoMessage() {} func (*PriceState) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{11} + return fileDescriptor_1c8fbf1e7a765423, []int{12} } func (m *PriceState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -763,7 +831,7 @@ func (m *PythPriceState) Reset() { *m = PythPriceState{} } func (m *PythPriceState) String() string { return proto.CompactTextString(m) } func (*PythPriceState) ProtoMessage() {} func (*PythPriceState) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{12} + return fileDescriptor_1c8fbf1e7a765423, []int{13} } func (m *PythPriceState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -844,7 +912,7 @@ func (m *BandOracleRequest) Reset() { *m = BandOracleRequest{} } func (m *BandOracleRequest) String() string { return proto.CompactTextString(m) } func (*BandOracleRequest) ProtoMessage() {} func (*BandOracleRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{13} + return fileDescriptor_1c8fbf1e7a765423, []int{14} } func (m *BandOracleRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -955,7 +1023,7 @@ func (m *BandIBCParams) Reset() { *m = BandIBCParams{} } func (m *BandIBCParams) String() string { return proto.CompactTextString(m) } func (*BandIBCParams) ProtoMessage() {} func (*BandIBCParams) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{14} + return fileDescriptor_1c8fbf1e7a765423, []int{15} } func (m *BandIBCParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1036,7 +1104,7 @@ func (m *SymbolPriceTimestamp) Reset() { *m = SymbolPriceTimestamp{} } func (m *SymbolPriceTimestamp) String() string { return proto.CompactTextString(m) } func (*SymbolPriceTimestamp) ProtoMessage() {} func (*SymbolPriceTimestamp) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{15} + return fileDescriptor_1c8fbf1e7a765423, []int{16} } func (m *SymbolPriceTimestamp) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1094,7 +1162,7 @@ func (m *LastPriceTimestamps) Reset() { *m = LastPriceTimestamps{} } func (m *LastPriceTimestamps) String() string { return proto.CompactTextString(m) } func (*LastPriceTimestamps) ProtoMessage() {} func (*LastPriceTimestamps) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{16} + return fileDescriptor_1c8fbf1e7a765423, []int{17} } func (m *LastPriceTimestamps) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1140,7 +1208,7 @@ func (m *PriceRecords) Reset() { *m = PriceRecords{} } func (m *PriceRecords) String() string { return proto.CompactTextString(m) } func (*PriceRecords) ProtoMessage() {} func (*PriceRecords) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{17} + return fileDescriptor_1c8fbf1e7a765423, []int{18} } func (m *PriceRecords) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1199,7 +1267,7 @@ func (m *PriceRecord) Reset() { *m = PriceRecord{} } func (m *PriceRecord) String() string { return proto.CompactTextString(m) } func (*PriceRecord) ProtoMessage() {} func (*PriceRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{18} + return fileDescriptor_1c8fbf1e7a765423, []int{19} } func (m *PriceRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1267,7 +1335,7 @@ func (m *MetadataStatistics) Reset() { *m = MetadataStatistics{} } func (m *MetadataStatistics) String() string { return proto.CompactTextString(m) } func (*MetadataStatistics) ProtoMessage() {} func (*MetadataStatistics) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{19} + return fileDescriptor_1c8fbf1e7a765423, []int{20} } func (m *MetadataStatistics) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1340,7 +1408,7 @@ func (m *PriceAttestation) Reset() { *m = PriceAttestation{} } func (m *PriceAttestation) String() string { return proto.CompactTextString(m) } func (*PriceAttestation) ProtoMessage() {} func (*PriceAttestation) Descriptor() ([]byte, []int) { - return fileDescriptor_1c8fbf1e7a765423, []int{20} + return fileDescriptor_1c8fbf1e7a765423, []int{21} } func (m *PriceAttestation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1425,6 +1493,119 @@ func (m *PriceAttestation) GetPublishTime() int64 { return 0 } +type AssetPair struct { + AssetId string `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"` + SignedPrices []*SignedPriceOfAssetPair `protobuf:"bytes,2,rep,name=signed_prices,json=signedPrices,proto3" json:"signed_prices,omitempty"` +} + +func (m *AssetPair) Reset() { *m = AssetPair{} } +func (m *AssetPair) String() string { return proto.CompactTextString(m) } +func (*AssetPair) ProtoMessage() {} +func (*AssetPair) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{22} +} +func (m *AssetPair) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AssetPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AssetPair.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *AssetPair) XXX_Merge(src proto.Message) { + xxx_messageInfo_AssetPair.Merge(m, src) +} +func (m *AssetPair) XXX_Size() int { + return m.Size() +} +func (m *AssetPair) XXX_DiscardUnknown() { + xxx_messageInfo_AssetPair.DiscardUnknown(m) +} + +var xxx_messageInfo_AssetPair proto.InternalMessageInfo + +func (m *AssetPair) GetAssetId() string { + if m != nil { + return m.AssetId + } + return "" +} + +func (m *AssetPair) GetSignedPrices() []*SignedPriceOfAssetPair { + if m != nil { + return m.SignedPrices + } + return nil +} + +type SignedPriceOfAssetPair struct { + PublisherKey string `protobuf:"bytes,1,opt,name=publisher_key,json=publisherKey,proto3" json:"publisher_key,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Price cosmossdk_io_math.LegacyDec `protobuf:"bytes,3,opt,name=price,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"price"` + Signature []byte `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (m *SignedPriceOfAssetPair) Reset() { *m = SignedPriceOfAssetPair{} } +func (m *SignedPriceOfAssetPair) String() string { return proto.CompactTextString(m) } +func (*SignedPriceOfAssetPair) ProtoMessage() {} +func (*SignedPriceOfAssetPair) Descriptor() ([]byte, []int) { + return fileDescriptor_1c8fbf1e7a765423, []int{23} +} +func (m *SignedPriceOfAssetPair) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SignedPriceOfAssetPair) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SignedPriceOfAssetPair.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *SignedPriceOfAssetPair) XXX_Merge(src proto.Message) { + xxx_messageInfo_SignedPriceOfAssetPair.Merge(m, src) +} +func (m *SignedPriceOfAssetPair) XXX_Size() int { + return m.Size() +} +func (m *SignedPriceOfAssetPair) XXX_DiscardUnknown() { + xxx_messageInfo_SignedPriceOfAssetPair.DiscardUnknown(m) +} + +var xxx_messageInfo_SignedPriceOfAssetPair proto.InternalMessageInfo + +func (m *SignedPriceOfAssetPair) GetPublisherKey() string { + if m != nil { + return m.PublisherKey + } + return "" +} + +func (m *SignedPriceOfAssetPair) GetTimestamp() uint64 { + if m != nil { + return m.Timestamp + } + return 0 +} + +func (m *SignedPriceOfAssetPair) GetSignature() []byte { + if m != nil { + return m.Signature + } + return nil +} + func init() { proto.RegisterEnum("injective.oracle.v1beta1.OracleType", OracleType_name, OracleType_value) golang_proto.RegisterEnum("injective.oracle.v1beta1.OracleType", OracleType_name, OracleType_value) @@ -1450,6 +1631,8 @@ func init() { golang_proto.RegisterType((*PriceFeedPrice)(nil), "injective.oracle.v1beta1.PriceFeedPrice") proto.RegisterType((*CoinbasePriceState)(nil), "injective.oracle.v1beta1.CoinbasePriceState") golang_proto.RegisterType((*CoinbasePriceState)(nil), "injective.oracle.v1beta1.CoinbasePriceState") + proto.RegisterType((*StorkPriceState)(nil), "injective.oracle.v1beta1.StorkPriceState") + golang_proto.RegisterType((*StorkPriceState)(nil), "injective.oracle.v1beta1.StorkPriceState") proto.RegisterType((*PriceState)(nil), "injective.oracle.v1beta1.PriceState") golang_proto.RegisterType((*PriceState)(nil), "injective.oracle.v1beta1.PriceState") proto.RegisterType((*PythPriceState)(nil), "injective.oracle.v1beta1.PythPriceState") @@ -1470,6 +1653,10 @@ func init() { golang_proto.RegisterType((*MetadataStatistics)(nil), "injective.oracle.v1beta1.MetadataStatistics") proto.RegisterType((*PriceAttestation)(nil), "injective.oracle.v1beta1.PriceAttestation") golang_proto.RegisterType((*PriceAttestation)(nil), "injective.oracle.v1beta1.PriceAttestation") + proto.RegisterType((*AssetPair)(nil), "injective.oracle.v1beta1.AssetPair") + golang_proto.RegisterType((*AssetPair)(nil), "injective.oracle.v1beta1.AssetPair") + proto.RegisterType((*SignedPriceOfAssetPair)(nil), "injective.oracle.v1beta1.SignedPriceOfAssetPair") + golang_proto.RegisterType((*SignedPriceOfAssetPair)(nil), "injective.oracle.v1beta1.SignedPriceOfAssetPair") } func init() { @@ -1480,111 +1667,120 @@ func init() { } var fileDescriptor_1c8fbf1e7a765423 = []byte{ - // 1664 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x73, 0x23, 0x47, - 0x15, 0xf7, 0xe8, 0xff, 0x3c, 0x59, 0xda, 0xd9, 0xb6, 0x37, 0x68, 0x37, 0x44, 0x36, 0x0a, 0x0b, - 0xaa, 0xad, 0x44, 0xca, 0x6e, 0x0e, 0x54, 0x02, 0x45, 0x25, 0xf6, 0xee, 0x52, 0xaa, 0x35, 0xe0, - 0x1a, 0x6f, 0xa0, 0x8a, 0x8b, 0xe8, 0x99, 0x69, 0x59, 0x1d, 0xcd, 0x4c, 0x4f, 0xa6, 0x47, 0xce, - 0x6a, 0x3f, 0x40, 0x0e, 0x5c, 0xe0, 0x0b, 0x50, 0x70, 0xe6, 0xc4, 0x85, 0x13, 0x55, 0x14, 0xc5, - 0x29, 0xc7, 0x9c, 0x52, 0x14, 0x87, 0x00, 0xeb, 0x03, 0x14, 0x57, 0xbe, 0x00, 0xf5, 0xba, 0x5b, - 0xa3, 0xb1, 0x8d, 0x77, 0x2d, 0x96, 0x5c, 0xec, 0xee, 0xd7, 0xef, 0xbd, 0xfe, 0xbd, 0xd7, 0xef, - 0xdf, 0x08, 0x6e, 0xf3, 0xf8, 0x43, 0xe6, 0x67, 0xfc, 0x84, 0x0d, 0x45, 0x4a, 0xfd, 0x90, 0x0d, - 0x4f, 0xee, 0x7a, 0x2c, 0xa3, 0x77, 0xcd, 0x76, 0x90, 0xa4, 0x22, 0x13, 0xa4, 0x93, 0xb3, 0x0d, - 0x0c, 0xdd, 0xb0, 0xdd, 0xda, 0x3e, 0x16, 0xc7, 0x42, 0x31, 0x0d, 0x71, 0xa5, 0xf9, 0x6f, 0x75, - 0x7d, 0x21, 0x23, 0x21, 0x87, 0x1e, 0x95, 0x2b, 0x8d, 0xbe, 0xe0, 0xb1, 0x39, 0xbf, 0x4e, 0x23, - 0x1e, 0x8b, 0xa1, 0xfa, 0xab, 0x49, 0xbd, 0x07, 0x50, 0x3b, 0xa4, 0x29, 0x8d, 0x24, 0x79, 0x1d, - 0x5a, 0xc9, 0x22, 0x9b, 0x8e, 0x7d, 0x11, 0x67, 0x29, 0xf5, 0xb3, 0x8e, 0xb5, 0x6b, 0xf5, 0x6d, - 0x77, 0x13, 0x89, 0xfb, 0x86, 0xf6, 0xee, 0x2b, 0xff, 0xfc, 0xf5, 0x8e, 0xf5, 0xb3, 0x7f, 0xfc, - 0xf6, 0x4e, 0xcb, 0xe0, 0xd6, 0xc2, 0xbd, 0x19, 0xc0, 0x0f, 0x15, 0x61, 0x14, 0x4f, 0x04, 0x79, - 0x05, 0x6a, 0x72, 0x11, 0x79, 0x22, 0x34, 0x3a, 0xcc, 0x8e, 0x3c, 0x80, 0xa6, 0x16, 0x1b, 0x67, - 0x8b, 0x84, 0x75, 0x4a, 0xbb, 0x56, 0xbf, 0x7d, 0xef, 0xeb, 0x83, 0xcb, 0xac, 0x1c, 0x68, 0x95, - 0x8f, 0x17, 0x09, 0x73, 0x41, 0xe4, 0xeb, 0xde, 0xe7, 0x16, 0x6c, 0xed, 0x4f, 0x29, 0x8f, 0x43, - 0x1e, 0xcf, 0x0e, 0x53, 0xee, 0xb3, 0xa3, 0x8c, 0x66, 0x8c, 0x7c, 0x05, 0xea, 0x13, 0xc6, 0x82, - 0x31, 0x0f, 0x96, 0xf7, 0xe2, 0x76, 0x14, 0x90, 0x6f, 0x43, 0x8d, 0xc6, 0xf2, 0x63, 0x96, 0xaa, - 0x2b, 0xed, 0xbd, 0xd7, 0x3f, 0xfd, 0x62, 0x67, 0xe3, 0x2f, 0x5f, 0xec, 0xbc, 0xaa, 0xfd, 0x25, - 0x83, 0xd9, 0x80, 0x8b, 0x61, 0x44, 0xb3, 0xe9, 0xe0, 0x80, 0x1d, 0x53, 0x7f, 0x71, 0x9f, 0xf9, - 0xae, 0x11, 0x21, 0x5f, 0x05, 0x3b, 0xe3, 0x11, 0x93, 0x19, 0x8d, 0x92, 0x4e, 0x79, 0xd7, 0xea, - 0x57, 0xdc, 0x15, 0x81, 0x3c, 0x82, 0x66, 0x82, 0x08, 0xc6, 0x12, 0x21, 0x74, 0x2a, 0xbb, 0x56, - 0xbf, 0xf9, 0x3c, 0x93, 0x56, 0x70, 0xf7, 0x2a, 0x88, 0xc2, 0x85, 0x24, 0xa7, 0xf4, 0xfe, 0x65, - 0x41, 0x7b, 0x8f, 0xc6, 0x41, 0xc1, 0xa6, 0xcb, 0x5c, 0x79, 0x17, 0x2a, 0x29, 0x5e, 0xa8, 0x0d, - 0x7a, 0xcd, 0x18, 0x74, 0xe3, 0xa2, 0x41, 0xa3, 0x38, 0x73, 0x15, 0x2b, 0xf9, 0x1a, 0x6c, 0xa6, - 0x4c, 0x8a, 0xf0, 0x84, 0x8d, 0x11, 0xbf, 0xb1, 0xa5, 0x69, 0x68, 0x8f, 0x79, 0xc4, 0xc8, 0x6b, - 0x00, 0x29, 0xfb, 0x68, 0xce, 0x64, 0x36, 0x1e, 0xdd, 0x57, 0xc6, 0x54, 0x5c, 0xdb, 0x50, 0x46, - 0xf7, 0xcf, 0x1b, 0x5b, 0x7d, 0x29, 0x63, 0x7f, 0x69, 0x41, 0x5b, 0x31, 0x3c, 0x64, 0x2c, 0xd0, - 0xc6, 0x12, 0xa8, 0x60, 0xe8, 0x1a, 0x53, 0xd5, 0x9a, 0x6c, 0x43, 0xf5, 0xa3, 0xb9, 0x58, 0x5a, - 0xea, 0xea, 0x0d, 0x46, 0x52, 0x11, 0x49, 0xf9, 0xea, 0x48, 0x8a, 0x18, 0xc8, 0x2d, 0x68, 0xa4, - 0x2c, 0xa4, 0x0b, 0x96, 0xca, 0x4e, 0x65, 0xb7, 0xdc, 0xb7, 0xdd, 0x7c, 0xdf, 0x7b, 0x08, 0x9b, - 0x87, 0xa9, 0x38, 0xe1, 0x01, 0x4b, 0x55, 0x50, 0xdf, 0x82, 0x46, 0x62, 0xf6, 0x06, 0x60, 0xbe, - 0x3f, 0xa3, 0xa7, 0x74, 0x4e, 0xcf, 0x1f, 0x2c, 0x68, 0x2d, 0x15, 0xe9, 0x5b, 0x1f, 0x41, 0x6b, - 0x29, 0x39, 0xe6, 0xf1, 0x44, 0x28, 0x75, 0xcd, 0x7b, 0xdf, 0x78, 0x1e, 0xfc, 0x15, 0x10, 0x77, - 0x33, 0x29, 0xc2, 0xfa, 0x29, 0xdc, 0xc8, 0x95, 0x15, 0x5c, 0xa2, 0x71, 0x34, 0xef, 0xbd, 0xf1, - 0x62, 0xa5, 0x05, 0xdf, 0x6c, 0x25, 0x17, 0x68, 0xb2, 0x37, 0x05, 0x72, 0x91, 0xf5, 0xd2, 0xc0, - 0x7c, 0x17, 0xaa, 0xfa, 0x4d, 0x4a, 0x6b, 0xbc, 0x89, 0x16, 0xe9, 0xbd, 0x83, 0x9e, 0x32, 0x11, - 0xa1, 0x8c, 0xbb, 0x72, 0x40, 0xf4, 0x1e, 0x15, 0x82, 0x49, 0x2d, 0xc8, 0x3b, 0x50, 0x55, 0xfe, - 0xd0, 0xc2, 0x57, 0xcb, 0x79, 0x2d, 0xd1, 0xfb, 0xbd, 0x05, 0x64, 0x5f, 0xf0, 0x18, 0xef, 0x2b, - 0x98, 0x4c, 0xa0, 0x32, 0xe3, 0xf1, 0xb2, 0xb8, 0xa8, 0xf5, 0xd9, 0xea, 0x50, 0x3a, 0x5f, 0x1d, - 0x1c, 0x28, 0xcf, 0xd8, 0x42, 0x85, 0xa7, 0xed, 0xe2, 0x12, 0xd1, 0x9f, 0xd0, 0x70, 0xce, 0x4c, - 0x72, 0xe9, 0xcd, 0xff, 0x37, 0xb1, 0x7e, 0x67, 0x01, 0x14, 0x50, 0xff, 0xef, 0x7e, 0x20, 0x3f, - 0x00, 0xc7, 0x9f, 0x47, 0xf3, 0x90, 0x22, 0x06, 0x1d, 0x5d, 0xeb, 0x54, 0xd0, 0x6b, 0x2b, 0x61, - 0xfd, 0x24, 0x17, 0x4a, 0x69, 0xb9, 0xe0, 0xac, 0xde, 0xe7, 0x25, 0x68, 0x1f, 0x2e, 0xb2, 0x69, - 0x01, 0xfb, 0x4d, 0xcc, 0x39, 0xf4, 0x4b, 0x5e, 0xd2, 0xeb, 0x6a, 0x3f, 0x0a, 0xc8, 0x7b, 0x60, - 0xb3, 0x88, 0xae, 0x0f, 0xaa, 0xc1, 0x22, 0xaa, 0xd1, 0x7c, 0x17, 0x70, 0x8d, 0xfd, 0x6e, 0xa2, - 0x5f, 0xe8, 0x6a, 0x0a, 0xea, 0x2c, 0xa2, 0xfb, 0x22, 0x9e, 0x90, 0x6f, 0x41, 0x45, 0xc9, 0x56, - 0xae, 0x2e, 0xab, 0x04, 0xb0, 0x10, 0x27, 0x73, 0x2f, 0xe4, 0x72, 0xaa, 0x0b, 0x71, 0x55, 0x17, - 0x62, 0x43, 0x53, 0x85, 0xf8, 0x5c, 0x40, 0xd4, 0x5e, 0x2a, 0x20, 0x3e, 0x29, 0xc3, 0x75, 0x6c, - 0x2b, 0xba, 0x9d, 0xba, 0xba, 0x9c, 0x17, 0x6b, 0xbd, 0xf1, 0x6e, 0xa1, 0xd6, 0x07, 0xa4, 0x0f, - 0x8e, 0xe9, 0xd5, 0xd2, 0x4f, 0x79, 0xa2, 0x98, 0x4a, 0xea, 0xc9, 0xda, 0x9a, 0x7e, 0xa4, 0xc8, - 0xa3, 0x80, 0x74, 0xa0, 0xae, 0x73, 0x5f, 0x76, 0xca, 0xaa, 0xf6, 0x2d, 0xb7, 0xe4, 0x55, 0xb0, - 0xa9, 0x9c, 0x8d, 0x7d, 0x31, 0x8f, 0x33, 0x13, 0xf0, 0x0d, 0x2a, 0x67, 0xfb, 0xb8, 0xc7, 0xc3, - 0x88, 0xc7, 0xe6, 0x50, 0xbb, 0xa0, 0x11, 0xf1, 0x58, 0x1f, 0x4e, 0xc1, 0x9e, 0x30, 0x36, 0x0e, - 0x79, 0xc4, 0xb3, 0x4e, 0x4d, 0x55, 0xb2, 0x9b, 0x03, 0xed, 0xd9, 0x01, 0x66, 0x65, 0x6e, 0x38, - 0xa6, 0xe9, 0xde, 0x5b, 0x68, 0xf2, 0x6f, 0xfe, 0xba, 0xd3, 0x3f, 0xe6, 0xd9, 0x74, 0xee, 0x0d, - 0x7c, 0x11, 0x0d, 0xcd, 0x28, 0xa4, 0xff, 0xbd, 0x29, 0x83, 0xd9, 0x10, 0x67, 0x0e, 0xa9, 0x04, - 0xa4, 0xdb, 0x98, 0x30, 0x76, 0x80, 0xca, 0xc9, 0x0e, 0x7a, 0x9a, 0x25, 0x34, 0x65, 0xe3, 0x63, - 0x2a, 0x3b, 0x75, 0x05, 0x04, 0x0c, 0xe9, 0x7b, 0x54, 0x22, 0x03, 0x7b, 0xc2, 0xfc, 0x79, 0xa6, - 0x19, 0x1a, 0x9a, 0xc1, 0x90, 0x90, 0xa1, 0x0f, 0x0e, 0x1a, 0x22, 0xc5, 0x3c, 0xf5, 0x99, 0xb1, - 0xc7, 0x56, 0x5c, 0xed, 0x88, 0xc7, 0x47, 0x8a, 0xac, 0xac, 0xea, 0x7d, 0x52, 0x82, 0x16, 0x3e, - 0xc4, 0x68, 0x6f, 0xdf, 0x0c, 0x5d, 0x7d, 0x70, 0x3c, 0x1a, 0x07, 0x63, 0xee, 0xf9, 0x63, 0x16, - 0x53, 0x2f, 0x64, 0xfa, 0x29, 0x1a, 0x6e, 0x1b, 0xe9, 0x23, 0xcf, 0x7f, 0xa0, 0xa9, 0xe4, 0x2d, - 0xd8, 0x46, 0xa6, 0xfc, 0xc9, 0xe2, 0x8c, 0xa5, 0x27, 0x34, 0x34, 0x6f, 0x42, 0xb8, 0xe7, 0x9b, - 0x87, 0x1d, 0x99, 0x13, 0xf2, 0x06, 0x20, 0x35, 0xc7, 0x35, 0xa5, 0x71, 0xcc, 0x42, 0x53, 0x8b, - 0x1c, 0xee, 0xf9, 0x06, 0x99, 0xa6, 0xa3, 0x99, 0xc8, 0x7d, 0xc2, 0x52, 0xc9, 0x45, 0xac, 0x83, - 0xda, 0x05, 0xee, 0xf9, 0x3f, 0xd2, 0x14, 0xd2, 0xd5, 0x0c, 0x89, 0x48, 0x55, 0x2c, 0x54, 0x15, - 0x83, 0xcd, 0x3d, 0xff, 0x50, 0xa4, 0x18, 0x06, 0x77, 0xe0, 0x7a, 0xa8, 0x02, 0x7d, 0x6c, 0xe2, - 0x86, 0x07, 0x52, 0x3d, 0x5d, 0xd9, 0xbd, 0xa6, 0x0f, 0xcc, 0x84, 0x18, 0xc8, 0xde, 0xcf, 0x2d, - 0xd8, 0x3e, 0x52, 0x41, 0xa2, 0x02, 0xf7, 0x71, 0x5e, 0x30, 0xbf, 0x03, 0x35, 0x2d, 0xad, 0xbc, - 0x70, 0xd5, 0xe1, 0xd0, 0xc8, 0x60, 0x48, 0xe9, 0xd0, 0x5b, 0x06, 0xab, 0xed, 0x36, 0x34, 0x61, - 0x14, 0xbc, 0xa0, 0xf8, 0x2c, 0x60, 0xeb, 0x80, 0xca, 0xec, 0x2c, 0x1c, 0x49, 0x3c, 0xb8, 0x11, - 0x52, 0x99, 0x99, 0xce, 0x9a, 0xb3, 0xcb, 0x8e, 0xa5, 0x62, 0x72, 0x70, 0x39, 0xbc, 0xff, 0x66, - 0x9e, 0xbb, 0x15, 0x5e, 0xbc, 0xa3, 0xf7, 0x27, 0x0b, 0x27, 0x0d, 0xee, 0x33, 0x97, 0xf9, 0x22, - 0x0d, 0xe4, 0x97, 0xe9, 0x84, 0x1f, 0xc3, 0x76, 0x88, 0x4d, 0x7d, 0x69, 0x51, 0xaa, 0xaf, 0x54, - 0x89, 0xdb, 0xbc, 0x77, 0xfb, 0x05, 0x05, 0x46, 0x03, 0x74, 0x89, 0x56, 0x51, 0xc4, 0xdc, 0x9b, - 0x40, 0xb3, 0xb0, 0x3f, 0xeb, 0x6c, 0xeb, 0x9c, 0xb3, 0x57, 0x2d, 0xa9, 0xb4, 0x76, 0x6b, 0xfe, - 0x77, 0x19, 0xc8, 0xf7, 0x59, 0x46, 0x03, 0x9a, 0x51, 0xac, 0x6e, 0x5c, 0x66, 0xdc, 0x57, 0x49, - 0x7a, 0x9c, 0x8a, 0x79, 0x62, 0xd2, 0x0f, 0x6f, 0x6c, 0xb9, 0xa0, 0x48, 0xba, 0xa0, 0x0c, 0x60, - 0xcb, 0xd8, 0x3a, 0x96, 0x34, 0x4a, 0xb0, 0xac, 0xf1, 0xa7, 0x1a, 0x40, 0xcb, 0xbd, 0x6e, 0x8e, - 0x8e, 0xd4, 0xc9, 0x11, 0x7f, 0xca, 0xb0, 0xb8, 0x47, 0x8c, 0xc6, 0xeb, 0x34, 0x06, 0x25, 0x80, - 0x82, 0xd9, 0xc7, 0x34, 0x59, 0xab, 0x2b, 0xa0, 0x00, 0xf9, 0x26, 0x5c, 0x9b, 0xf0, 0x54, 0x66, - 0xab, 0x28, 0x53, 0x39, 0x56, 0x76, 0xdb, 0x8a, 0xbc, 0xca, 0x91, 0xdb, 0xd0, 0x56, 0x31, 0xb9, - 0xe2, 0xab, 0x29, 0xbe, 0x16, 0x52, 0x57, 0x6c, 0xef, 0xe9, 0xfa, 0xaa, 0x1d, 0x5d, 0x5f, 0xa3, - 0x41, 0x46, 0x3c, 0xd6, 0x0d, 0x12, 0x35, 0xd0, 0x27, 0x46, 0x43, 0x63, 0x1d, 0x0d, 0xf4, 0x89, - 0xd6, 0xf0, 0x10, 0x36, 0x23, 0x16, 0x70, 0xba, 0x84, 0x61, 0x5f, 0x5d, 0x49, 0x53, 0x0b, 0x2a, - 0x3d, 0xbd, 0xbf, 0x5b, 0xe0, 0xa8, 0xd5, 0xfb, 0x19, 0x46, 0x1e, 0xcd, 0xb0, 0x20, 0x3d, 0x67, - 0x38, 0xd8, 0x2e, 0x06, 0x58, 0x79, 0x39, 0xce, 0x10, 0xd3, 0xb0, 0xf5, 0x87, 0x8f, 0xee, 0xc5, - 0x04, 0x2a, 0xec, 0x49, 0x22, 0xd4, 0x73, 0x55, 0x5d, 0xb5, 0xc6, 0x0c, 0x5a, 0x8d, 0x16, 0xfa, - 0x0d, 0x56, 0x53, 0xc3, 0xcd, 0xc2, 0xd4, 0x50, 0x53, 0x8a, 0xf2, 0x81, 0xc0, 0x1c, 0x29, 0x7d, - 0x75, 0xa5, 0x0f, 0x8f, 0x1e, 0xa0, 0xca, 0xf3, 0x2d, 0xbf, 0xa1, 0xb4, 0x16, 0x5b, 0xfe, 0x9d, - 0x5f, 0x59, 0xcb, 0x6f, 0x68, 0x4c, 0x67, 0x72, 0x0d, 0x9a, 0x1f, 0xc4, 0x32, 0x61, 0x3e, 0x9f, - 0x70, 0x16, 0x38, 0x1b, 0xa4, 0x01, 0x15, 0xec, 0x1d, 0x8e, 0x45, 0x5a, 0x60, 0xe7, 0xb3, 0xae, - 0x53, 0x22, 0x9b, 0xd0, 0x58, 0x0e, 0xab, 0x4e, 0x19, 0x0f, 0xf3, 0x6f, 0x63, 0xa7, 0x42, 0x6c, - 0xa8, 0xba, 0xf4, 0xa9, 0x48, 0x9d, 0x2a, 0xa9, 0x43, 0xf9, 0x3e, 0xa7, 0x4e, 0x0d, 0x35, 0xbd, - 0x7f, 0x38, 0x7a, 0xdb, 0xa9, 0x23, 0xe9, 0x83, 0x88, 0x3a, 0x0d, 0x24, 0xe1, 0xe8, 0xe5, 0xd8, - 0xa4, 0x09, 0x75, 0xd3, 0xa2, 0x1c, 0x40, 0xd5, 0xcb, 0xd1, 0xdf, 0x69, 0xee, 0x7d, 0xf8, 0xe9, - 0xb3, 0xae, 0xf5, 0xd9, 0xb3, 0xae, 0xf5, 0xb7, 0x67, 0x5d, 0xeb, 0x17, 0xa7, 0xdd, 0x8d, 0x3f, - 0x9e, 0x76, 0xad, 0xcf, 0x4e, 0xbb, 0x1b, 0x7f, 0x3e, 0xed, 0x6e, 0xfc, 0xe4, 0xa0, 0xd0, 0x7c, - 0x47, 0xcb, 0x32, 0x72, 0x40, 0x3d, 0x39, 0xcc, 0x8b, 0xca, 0x9b, 0xbe, 0x48, 0x59, 0x71, 0x8b, - 0x40, 0x87, 0x91, 0x08, 0xe6, 0x21, 0x93, 0xcb, 0x5f, 0x42, 0x54, 0x9b, 0xf6, 0x6a, 0xea, 0xe7, - 0x89, 0xb7, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x03, 0x60, 0xd7, 0x2a, 0x11, 0x00, 0x00, + // 1794 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xcd, 0x8f, 0x1c, 0x47, + 0x15, 0xdf, 0x9e, 0xef, 0x7e, 0xf3, 0xb1, 0xed, 0xda, 0xb5, 0x19, 0x3b, 0xc9, 0xec, 0xd2, 0xc1, + 0x30, 0xb2, 0x92, 0x19, 0xdb, 0x39, 0x20, 0x07, 0x84, 0xe2, 0x5d, 0xdb, 0x68, 0xe4, 0x85, 0xac, + 0x7a, 0x6d, 0x90, 0xb8, 0x0c, 0x35, 0xdd, 0x35, 0x3b, 0x95, 0xed, 0xaf, 0x74, 0xf5, 0x6c, 0x3c, + 0x96, 0xb8, 0xe6, 0xc0, 0x05, 0xfe, 0x01, 0x24, 0xce, 0x39, 0x71, 0x80, 0x13, 0x12, 0x42, 0x9c, + 0x72, 0x23, 0xa7, 0x08, 0x71, 0x08, 0x60, 0x1f, 0x40, 0x5c, 0xf9, 0x07, 0xd0, 0xab, 0xaa, 0xee, + 0xe9, 0xdd, 0x8d, 0xbd, 0x3b, 0x04, 0x5f, 0x76, 0xab, 0x5e, 0xbd, 0xf7, 0xea, 0xf7, 0x3e, 0xea, + 0xbd, 0xd7, 0x03, 0xd7, 0x79, 0xf8, 0x01, 0x73, 0x53, 0x7e, 0xcc, 0x86, 0x51, 0x42, 0x5d, 0x9f, + 0x0d, 0x8f, 0x6f, 0x4d, 0x58, 0x4a, 0x6f, 0xe9, 0xed, 0x20, 0x4e, 0xa2, 0x34, 0x22, 0xdd, 0x9c, + 0x6d, 0xa0, 0xe9, 0x9a, 0xed, 0xda, 0xe6, 0x61, 0x74, 0x18, 0x49, 0xa6, 0x21, 0xae, 0x14, 0xff, + 0xb5, 0x9e, 0x1b, 0x89, 0x20, 0x12, 0xc3, 0x09, 0x15, 0x4b, 0x8d, 0x6e, 0xc4, 0x43, 0x7d, 0x7e, + 0x89, 0x06, 0x3c, 0x8c, 0x86, 0xf2, 0xaf, 0x22, 0xd9, 0xf7, 0xa1, 0xb6, 0x4f, 0x13, 0x1a, 0x08, + 0xf2, 0x26, 0xb4, 0xe3, 0x45, 0x3a, 0x1b, 0xbb, 0x51, 0x98, 0x26, 0xd4, 0x4d, 0xbb, 0xc6, 0xb6, + 0xd1, 0x37, 0x9d, 0x16, 0x12, 0x77, 0x35, 0xed, 0xdd, 0x2b, 0xff, 0xfa, 0xf5, 0x96, 0xf1, 0xf3, + 0x7f, 0xfe, 0xe6, 0x46, 0x5b, 0xe3, 0x56, 0xc2, 0xf6, 0x11, 0xc0, 0xfb, 0x92, 0x30, 0x0a, 0xa7, + 0x11, 0xb9, 0x02, 0x35, 0xb1, 0x08, 0x26, 0x91, 0xaf, 0x75, 0xe8, 0x1d, 0xb9, 0x0f, 0x4d, 0x25, + 0x36, 0x4e, 0x17, 0x31, 0xeb, 0x96, 0xb6, 0x8d, 0x7e, 0xe7, 0xf6, 0x37, 0x06, 0x2f, 0xb2, 0x72, + 0xa0, 0x54, 0x3e, 0x5a, 0xc4, 0xcc, 0x81, 0x28, 0x5f, 0xdb, 0x9f, 0x1b, 0xb0, 0xb1, 0x3b, 0xa3, + 0x3c, 0xf4, 0x79, 0x78, 0xb4, 0x9f, 0x70, 0x97, 0x1d, 0xa4, 0x34, 0x65, 0xe4, 0x6b, 0x50, 0x9f, + 0x32, 0xe6, 0x8d, 0xb9, 0x97, 0xdd, 0x8b, 0xdb, 0x91, 0x47, 0xbe, 0x03, 0x35, 0x1a, 0x8a, 0x8f, + 0x58, 0x22, 0xaf, 0x34, 0x77, 0xde, 0xfc, 0xf4, 0x8b, 0xad, 0xb5, 0xbf, 0x7e, 0xb1, 0xf5, 0x9a, + 0xf2, 0x97, 0xf0, 0x8e, 0x06, 0x3c, 0x1a, 0x06, 0x34, 0x9d, 0x0d, 0xf6, 0xd8, 0x21, 0x75, 0x17, + 0xf7, 0x98, 0xeb, 0x68, 0x11, 0xf2, 0x3a, 0x98, 0x29, 0x0f, 0x98, 0x48, 0x69, 0x10, 0x77, 0xcb, + 0xdb, 0x46, 0xbf, 0xe2, 0x2c, 0x09, 0xe4, 0x21, 0x34, 0x63, 0x44, 0x30, 0x16, 0x08, 0xa1, 0x5b, + 0xd9, 0x36, 0xfa, 0xcd, 0x97, 0x99, 0xb4, 0x84, 0xbb, 0x53, 0x41, 0x14, 0x0e, 0xc4, 0x39, 0xc5, + 0xfe, 0xb7, 0x01, 0x9d, 0x1d, 0x1a, 0x7a, 0x05, 0x9b, 0x5e, 0xe4, 0xca, 0x5b, 0x50, 0x49, 0xf0, + 0x42, 0x65, 0xd0, 0x1b, 0xda, 0xa0, 0xcb, 0x67, 0x0d, 0x1a, 0x85, 0xa9, 0x23, 0x59, 0xc9, 0xd7, + 0xa1, 0x95, 0x30, 0x11, 0xf9, 0xc7, 0x6c, 0x8c, 0xf8, 0xb5, 0x2d, 0x4d, 0x4d, 0x7b, 0xc4, 0x03, + 0x46, 0xde, 0x00, 0x48, 0xd8, 0x87, 0x73, 0x26, 0xd2, 0xf1, 0xe8, 0x9e, 0x34, 0xa6, 0xe2, 0x98, + 0x9a, 0x32, 0xba, 0x77, 0xda, 0xd8, 0xea, 0x57, 0x32, 0xf6, 0x57, 0x06, 0x74, 0x24, 0xc3, 0x03, + 0xc6, 0x3c, 0x65, 0x2c, 0x81, 0x0a, 0xa6, 0xae, 0x36, 0x55, 0xae, 0xc9, 0x26, 0x54, 0x3f, 0x9c, + 0x47, 0x99, 0xa5, 0x8e, 0xda, 0x60, 0x26, 0x15, 0x91, 0x94, 0x2f, 0x8e, 0xa4, 0x88, 0x81, 0x5c, + 0x83, 0x46, 0xc2, 0x7c, 0xba, 0x60, 0x89, 0xe8, 0x56, 0xb6, 0xcb, 0x7d, 0xd3, 0xc9, 0xf7, 0xf6, + 0x03, 0x68, 0xed, 0x27, 0xd1, 0x31, 0xf7, 0x58, 0x22, 0x93, 0xfa, 0x1a, 0x34, 0x62, 0xbd, 0xd7, + 0x00, 0xf3, 0xfd, 0x09, 0x3d, 0xa5, 0x53, 0x7a, 0xfe, 0x60, 0x40, 0x3b, 0x53, 0xa4, 0x6e, 0x7d, + 0x08, 0xed, 0x4c, 0x72, 0xcc, 0xc3, 0x69, 0x24, 0xd5, 0x35, 0x6f, 0x7f, 0xf3, 0x65, 0xf0, 0x97, + 0x40, 0x9c, 0x56, 0x5c, 0x84, 0xf5, 0x53, 0xb8, 0x9c, 0x2b, 0x2b, 0xb8, 0x44, 0xe1, 0x68, 0xde, + 0x7e, 0xeb, 0x7c, 0xa5, 0x05, 0xdf, 0x6c, 0xc4, 0x67, 0x68, 0xc2, 0x9e, 0x01, 0x39, 0xcb, 0xfa, + 0xc2, 0xc4, 0x7c, 0x17, 0xaa, 0x2a, 0x26, 0xa5, 0x15, 0x62, 0xa2, 0x44, 0xec, 0x3b, 0xe8, 0x29, + 0x9d, 0x11, 0xd2, 0xb8, 0x0b, 0x27, 0x84, 0xfd, 0xb0, 0x90, 0x4c, 0x72, 0x41, 0xee, 0x40, 0x55, + 0xfa, 0x43, 0x09, 0x5f, 0xec, 0xcd, 0x2b, 0x09, 0xfb, 0xf7, 0x06, 0x90, 0xdd, 0x88, 0x87, 0x78, + 0x5f, 0xc1, 0x64, 0x02, 0x95, 0x23, 0x1e, 0x66, 0xc5, 0x45, 0xae, 0x4f, 0x56, 0x87, 0xd2, 0xe9, + 0xea, 0x60, 0x41, 0xf9, 0x88, 0x2d, 0x64, 0x7a, 0x9a, 0x0e, 0x2e, 0x11, 0xfd, 0x31, 0xf5, 0xe7, + 0x4c, 0x3f, 0x2e, 0xb5, 0xf9, 0xff, 0x3e, 0xac, 0x3f, 0x1b, 0xb0, 0x7e, 0x90, 0x46, 0x49, 0xb1, + 0x34, 0x9e, 0x80, 0x69, 0x9c, 0x86, 0xb9, 0x8c, 0x65, 0xe9, 0x44, 0x2c, 0xef, 0x64, 0x60, 0xcb, + 0x2b, 0xb8, 0xf0, 0x15, 0x58, 0xf4, 0x3b, 0x03, 0xa0, 0x60, 0xcc, 0xff, 0x1e, 0x59, 0xf2, 0x43, + 0xb0, 0xdc, 0x79, 0x30, 0xf7, 0x29, 0x62, 0x50, 0xef, 0x65, 0x95, 0x9e, 0xb0, 0xbe, 0x14, 0x56, + 0x49, 0x76, 0xa6, 0x39, 0x94, 0x0b, 0x7e, 0xb5, 0x3f, 0x2f, 0x41, 0x67, 0x7f, 0x91, 0xce, 0x0a, + 0xd8, 0xaf, 0x62, 0x15, 0x41, 0xbf, 0xe4, 0x4d, 0xaa, 0x2e, 0xf7, 0x23, 0x8f, 0xbc, 0x07, 0x26, + 0x0b, 0xe8, 0xea, 0xa0, 0x1a, 0x2c, 0xa0, 0x0a, 0xcd, 0xf7, 0x00, 0xd7, 0xd8, 0xc1, 0xa7, 0xab, + 0x84, 0xac, 0xce, 0x02, 0xba, 0x1b, 0x85, 0x53, 0xf2, 0x6d, 0xa8, 0x48, 0xd9, 0xca, 0xc5, 0x65, + 0xa5, 0x00, 0xb6, 0x96, 0x78, 0x3e, 0xf1, 0xb9, 0x98, 0xa9, 0xd6, 0x52, 0x55, 0xad, 0x45, 0xd3, + 0x64, 0x6b, 0x39, 0x95, 0x10, 0xb5, 0xaf, 0x94, 0x10, 0x1f, 0x97, 0xe1, 0x12, 0x36, 0x4a, 0x35, + 0x20, 0x38, 0xaa, 0x41, 0x15, 0xbb, 0x97, 0xf6, 0x6e, 0xa1, 0x7b, 0x79, 0xa4, 0x0f, 0x96, 0x9e, + 0x3e, 0x84, 0x9b, 0xf0, 0x58, 0x32, 0x95, 0x64, 0xc8, 0x3a, 0x8a, 0x7e, 0x20, 0xc9, 0x23, 0x8f, + 0x74, 0xa1, 0xae, 0x5e, 0x80, 0xe8, 0x96, 0x65, 0x35, 0xcf, 0xb6, 0xe4, 0x35, 0x30, 0xa9, 0x38, + 0x1a, 0xbb, 0xd1, 0x3c, 0x4c, 0xf5, 0x13, 0x6e, 0x50, 0x71, 0xb4, 0x8b, 0x7b, 0x3c, 0x0c, 0x78, + 0xa8, 0x0f, 0x95, 0x0b, 0x1a, 0x01, 0x0f, 0xd5, 0xe1, 0x0c, 0xcc, 0x29, 0x63, 0x63, 0x9f, 0x07, + 0x3c, 0xed, 0xd6, 0x64, 0x6d, 0xbe, 0x3a, 0x50, 0x9e, 0x1d, 0x60, 0x9d, 0xc9, 0x0d, 0xc7, 0xc2, + 0xb3, 0x73, 0x13, 0x4d, 0xfe, 0xe4, 0x6f, 0x5b, 0xfd, 0x43, 0x9e, 0xce, 0xe6, 0x93, 0x81, 0x1b, + 0x05, 0x43, 0x3d, 0xdc, 0xa9, 0x7f, 0x6f, 0x0b, 0xef, 0x68, 0x88, 0x53, 0x94, 0x90, 0x02, 0xc2, + 0x69, 0x4c, 0x19, 0xdb, 0x43, 0xe5, 0x64, 0x0b, 0x3d, 0xcd, 0x62, 0x9a, 0xb0, 0xf1, 0x21, 0x15, + 0xdd, 0xba, 0x04, 0x02, 0x9a, 0xf4, 0x7d, 0x2a, 0x90, 0x81, 0x3d, 0x61, 0xee, 0x3c, 0x55, 0x0c, + 0x0d, 0xc5, 0xa0, 0x49, 0xc8, 0xd0, 0x07, 0x0b, 0x0d, 0x11, 0xd1, 0x3c, 0x71, 0x99, 0xb6, 0xc7, + 0x94, 0x5c, 0x9d, 0x80, 0x87, 0x07, 0x92, 0x2c, 0xad, 0xb2, 0x3f, 0x2e, 0x41, 0x1b, 0x03, 0x31, + 0xda, 0xd9, 0xd5, 0x63, 0x64, 0x1f, 0xac, 0x09, 0x0d, 0xbd, 0x31, 0x9f, 0xb8, 0x63, 0x16, 0xd2, + 0x89, 0xcf, 0x54, 0x28, 0x1a, 0x4e, 0x07, 0xe9, 0xa3, 0x89, 0x7b, 0x5f, 0x51, 0xc9, 0x4d, 0xd8, + 0x44, 0xa6, 0x3c, 0x64, 0x61, 0xca, 0x92, 0x63, 0xea, 0xeb, 0x98, 0x10, 0x3e, 0x71, 0x75, 0x60, + 0x47, 0xfa, 0x84, 0xbc, 0x05, 0x48, 0xcd, 0x71, 0xcd, 0x68, 0x18, 0x32, 0x5f, 0x57, 0x57, 0x8b, + 0x4f, 0x5c, 0x8d, 0x4c, 0xd1, 0xd1, 0x4c, 0xe4, 0x3e, 0x66, 0x89, 0xe0, 0x51, 0xa8, 0x92, 0xda, + 0x01, 0x3e, 0x71, 0x7f, 0xa4, 0x28, 0xa4, 0xa7, 0x18, 0xe2, 0x28, 0x91, 0xb9, 0x50, 0x95, 0x0c, + 0x26, 0x9f, 0xb8, 0xfb, 0x51, 0x82, 0x69, 0x70, 0x03, 0x2e, 0xf9, 0x32, 0xd1, 0xc7, 0x3a, 0x6f, + 0xb8, 0x27, 0x64, 0xe8, 0xca, 0xce, 0xba, 0x3a, 0xd0, 0x33, 0xaf, 0x27, 0xec, 0x5f, 0x18, 0xb0, + 0x79, 0x20, 0x93, 0x44, 0x26, 0xee, 0xa3, 0xbc, 0xb6, 0x7e, 0x17, 0x6a, 0x4a, 0x5a, 0x7a, 0xe1, + 0xa2, 0xe3, 0xae, 0x96, 0xc1, 0x94, 0x52, 0xa9, 0x97, 0x25, 0xab, 0xe9, 0x34, 0x14, 0x61, 0xe4, + 0x9d, 0x53, 0x7c, 0x16, 0xb0, 0xb1, 0x47, 0x45, 0x7a, 0x12, 0x8e, 0x20, 0x13, 0xb8, 0xec, 0x53, + 0x91, 0xea, 0x59, 0x21, 0x67, 0x17, 0x5d, 0x43, 0xe6, 0xe4, 0xe0, 0xc5, 0xf0, 0xbe, 0xcc, 0x3c, + 0x67, 0xc3, 0x3f, 0x7b, 0x87, 0xfd, 0x27, 0x03, 0x67, 0x27, 0xee, 0x32, 0x87, 0xb9, 0x51, 0xe2, + 0x89, 0x57, 0xe9, 0x84, 0x1f, 0xc3, 0xa6, 0x8f, 0x63, 0x4a, 0x66, 0x51, 0xa2, 0xae, 0x94, 0x0f, + 0xb7, 0x79, 0xfb, 0xfa, 0x39, 0x05, 0x46, 0x01, 0x74, 0x88, 0x52, 0x51, 0xc4, 0x6c, 0x4f, 0xa1, + 0x59, 0xd8, 0x9f, 0xed, 0xa0, 0x45, 0x67, 0x2f, 0x5b, 0x52, 0x69, 0xe5, 0x61, 0xe3, 0x3f, 0x65, + 0x20, 0x3f, 0x60, 0x29, 0xf5, 0x68, 0x4a, 0xb1, 0xba, 0x71, 0x91, 0x72, 0x57, 0x3e, 0xd2, 0xc3, + 0x24, 0x9a, 0xc7, 0xfa, 0xf9, 0xe1, 0x8d, 0x6d, 0x07, 0x24, 0x49, 0x15, 0x94, 0x01, 0x6c, 0x68, + 0x5b, 0xc7, 0x82, 0x06, 0x31, 0x96, 0x35, 0xfe, 0x54, 0x01, 0x68, 0x3b, 0x97, 0xf4, 0xd1, 0x81, + 0x3c, 0x39, 0xe0, 0x4f, 0x19, 0x16, 0xf7, 0x80, 0xd1, 0x70, 0x95, 0xc6, 0x20, 0x05, 0x50, 0x30, + 0xfd, 0x88, 0xc6, 0x2b, 0x75, 0x05, 0x14, 0x20, 0xdf, 0x82, 0xf5, 0x29, 0x4f, 0x44, 0xba, 0xcc, + 0x32, 0xf9, 0xc6, 0xca, 0x4e, 0x47, 0x92, 0x97, 0x6f, 0xe4, 0x3a, 0x74, 0x64, 0x4e, 0x2e, 0xf9, + 0x6a, 0x92, 0xaf, 0x8d, 0xd4, 0x25, 0xdb, 0x7b, 0xaa, 0xbe, 0x2a, 0x47, 0xd7, 0x57, 0x68, 0x90, + 0x01, 0x0f, 0x55, 0x83, 0x44, 0x0d, 0xf4, 0x89, 0xd6, 0xd0, 0x58, 0x45, 0x03, 0x7d, 0xa2, 0x34, + 0x3c, 0x80, 0x56, 0xc0, 0x3c, 0x4e, 0x33, 0x18, 0xe6, 0xc5, 0x95, 0x34, 0x95, 0xa0, 0xd4, 0x63, + 0xff, 0xc3, 0x00, 0x4b, 0xae, 0xee, 0xa6, 0x98, 0x79, 0x34, 0xc5, 0x82, 0xf4, 0x92, 0xe1, 0x60, + 0xb3, 0x98, 0x60, 0xe5, 0x6c, 0x9c, 0x21, 0xba, 0x61, 0xab, 0x4f, 0x39, 0xd5, 0x8b, 0x09, 0x54, + 0xd8, 0x93, 0x38, 0x92, 0xe1, 0xaa, 0x3a, 0x72, 0x8d, 0x2f, 0x68, 0x39, 0x5a, 0xa8, 0x18, 0x2c, + 0xa7, 0x86, 0xab, 0x85, 0xa9, 0xa1, 0x26, 0x15, 0xe5, 0x03, 0x81, 0x3e, 0x92, 0xfa, 0xea, 0x52, + 0x1f, 0x1e, 0xdd, 0x47, 0x95, 0xa7, 0x5b, 0x7e, 0x43, 0x6a, 0x2d, 0xb6, 0x7c, 0xfb, 0x67, 0x60, + 0xde, 0x15, 0x82, 0xa5, 0xfb, 0x94, 0x27, 0xa8, 0x8a, 0xe2, 0xa6, 0x60, 0x9b, 0xdc, 0x8f, 0x3c, + 0xf2, 0x18, 0xda, 0x82, 0x1f, 0x86, 0xcc, 0x53, 0x00, 0xb3, 0x4f, 0x97, 0x9b, 0x2f, 0x29, 0x45, + 0x92, 0x5d, 0xc2, 0x7f, 0x7f, 0x9a, 0xdf, 0xe1, 0xb4, 0xc4, 0x92, 0x2e, 0xec, 0xdf, 0x1a, 0x70, + 0xe5, 0xcb, 0x19, 0xe5, 0x6f, 0x1d, 0x0a, 0x28, 0x4b, 0xc6, 0x38, 0xa1, 0x67, 0xbf, 0x75, 0x64, + 0xc4, 0x87, 0x6c, 0x71, 0xce, 0x68, 0x9f, 0xbf, 0xf8, 0xf2, 0xca, 0x43, 0xe8, 0xeb, 0x60, 0x22, + 0x50, 0x9a, 0xce, 0x13, 0xf5, 0x1d, 0xd0, 0x72, 0x96, 0x84, 0x1b, 0x9f, 0x18, 0xd9, 0x6f, 0x29, + 0x58, 0x04, 0xc9, 0x3a, 0x34, 0x1f, 0x87, 0x22, 0x66, 0x2e, 0x9f, 0x72, 0xe6, 0x59, 0x6b, 0xa4, + 0x01, 0x15, 0xec, 0xb8, 0x96, 0x41, 0xda, 0x60, 0xe6, 0xdf, 0x3c, 0x56, 0x89, 0xb4, 0xa0, 0x91, + 0x7d, 0xb4, 0x58, 0x65, 0x3c, 0xcc, 0x7f, 0x23, 0xb1, 0x2a, 0xc4, 0x84, 0xaa, 0x43, 0x9f, 0x46, + 0x89, 0x55, 0x25, 0x75, 0x28, 0xdf, 0xe3, 0xd4, 0xaa, 0xa1, 0xa6, 0xbb, 0xfb, 0xa3, 0x77, 0xac, + 0x3a, 0x92, 0x1e, 0x07, 0xd4, 0x6a, 0x20, 0x09, 0x07, 0x56, 0xcb, 0x24, 0x4d, 0xa8, 0xeb, 0xc6, + 0x6e, 0x01, 0xaa, 0xce, 0x3e, 0x01, 0xad, 0x26, 0xea, 0x92, 0xdf, 0x17, 0x56, 0x6b, 0xe7, 0x83, + 0x4f, 0x9f, 0xf5, 0x8c, 0xcf, 0x9e, 0xf5, 0x8c, 0xbf, 0x3f, 0xeb, 0x19, 0xbf, 0x7c, 0xde, 0x5b, + 0xfb, 0xe3, 0xf3, 0x9e, 0xf1, 0xd9, 0xf3, 0xde, 0xda, 0x5f, 0x9e, 0xf7, 0xd6, 0x7e, 0xb2, 0x57, + 0x98, 0x5e, 0x46, 0x59, 0x2c, 0xf7, 0xe8, 0x44, 0x0c, 0xf3, 0xc8, 0xbe, 0xed, 0x46, 0x09, 0x2b, + 0x6e, 0x11, 0xf3, 0x30, 0x88, 0xbc, 0xb9, 0xcf, 0x44, 0xf6, 0xe3, 0x98, 0x9c, 0x73, 0x26, 0x35, + 0xf9, 0x8b, 0xd5, 0x3b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xe6, 0xeb, 0x89, 0x3d, 0x13, + 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -2106,6 +2302,61 @@ func (m *CoinbasePriceState) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *StorkPriceState) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StorkPriceState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *StorkPriceState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.PriceState.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + { + size := m.Value.Size() + i -= size + if _, err := m.Value.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if len(m.Symbol) > 0 { + i -= len(m.Symbol) + copy(dAtA[i:], m.Symbol) + i = encodeVarintOracle(dAtA, i, uint64(len(m.Symbol))) + i-- + dAtA[i] = 0x12 + } + if m.Timestamp != 0 { + i = encodeVarintOracle(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *PriceState) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2331,21 +2582,21 @@ func (m *BandIBCParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if len(m.LegacyOracleIds) > 0 { - dAtA9 := make([]byte, len(m.LegacyOracleIds)*10) - var j8 int + dAtA10 := make([]byte, len(m.LegacyOracleIds)*10) + var j9 int for _, num1 := range m.LegacyOracleIds { num := uint64(num1) for num >= 1<<7 { - dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) + dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j8++ + j9++ } - dAtA9[j8] = uint8(num) - j8++ + dAtA10[j9] = uint8(num) + j9++ } - i -= j8 - copy(dAtA[i:], dAtA9[:j8]) - i = encodeVarintOracle(dAtA, i, uint64(j8)) + i -= j9 + copy(dAtA[i:], dAtA10[:j9]) + i = encodeVarintOracle(dAtA, i, uint64(j9)) i-- dAtA[i] = 0x32 } @@ -2710,6 +2961,102 @@ func (m *PriceAttestation) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *AssetPair) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AssetPair) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *AssetPair) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SignedPrices) > 0 { + for iNdEx := len(m.SignedPrices) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SignedPrices[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.AssetId) > 0 { + i -= len(m.AssetId) + copy(dAtA[i:], m.AssetId) + i = encodeVarintOracle(dAtA, i, uint64(len(m.AssetId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *SignedPriceOfAssetPair) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SignedPriceOfAssetPair) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SignedPriceOfAssetPair) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Signature) > 0 { + i -= len(m.Signature) + copy(dAtA[i:], m.Signature) + i = encodeVarintOracle(dAtA, i, uint64(len(m.Signature))) + i-- + dAtA[i] = 0x22 + } + { + size := m.Price.Size() + i -= size + if _, err := m.Price.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintOracle(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if m.Timestamp != 0 { + i = encodeVarintOracle(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x10 + } + if len(m.PublisherKey) > 0 { + i -= len(m.PublisherKey) + copy(dAtA[i:], m.PublisherKey) + i = encodeVarintOracle(dAtA, i, uint64(len(m.PublisherKey))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintOracle(dAtA []byte, offset int, v uint64) int { offset -= sovOracle(v) base := offset @@ -2928,7 +3275,27 @@ func (m *CoinbasePriceState) Size() (n int) { return n } -func (m *PriceState) Size() (n int) { +func (m *StorkPriceState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Timestamp != 0 { + n += 1 + sovOracle(uint64(m.Timestamp)) + } + l = len(m.Symbol) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + l = m.Value.Size() + n += 1 + l + sovOracle(uint64(l)) + l = m.PriceState.Size() + n += 1 + l + sovOracle(uint64(l)) + return n +} + +func (m *PriceState) Size() (n int) { if m == nil { return 0 } @@ -3179,6 +3546,47 @@ func (m *PriceAttestation) Size() (n int) { return n } +func (m *AssetPair) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AssetId) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + if len(m.SignedPrices) > 0 { + for _, e := range m.SignedPrices { + l = e.Size() + n += 1 + l + sovOracle(uint64(l)) + } + } + return n +} + +func (m *SignedPriceOfAssetPair) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PublisherKey) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + if m.Timestamp != 0 { + n += 1 + sovOracle(uint64(m.Timestamp)) + } + l = m.Price.Size() + n += 1 + l + sovOracle(uint64(l)) + l = len(m.Signature) + if l > 0 { + n += 1 + l + sovOracle(uint64(l)) + } + return n +} + func sovOracle(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -4640,6 +5048,174 @@ func (m *CoinbasePriceState) Unmarshal(dAtA []byte) error { } return nil } +func (m *StorkPriceState) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: StorkPriceState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StorkPriceState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Symbol", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Symbol = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceState", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.PriceState.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *PriceState) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -6476,6 +7052,291 @@ func (m *PriceAttestation) Unmarshal(dAtA []byte) error { } return nil } +func (m *AssetPair) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AssetPair: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AssetPair: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AssetId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SignedPrices", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SignedPrices = append(m.SignedPrices, &SignedPriceOfAssetPair{}) + if err := m.SignedPrices[len(m.SignedPrices)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SignedPriceOfAssetPair) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SignedPriceOfAssetPair: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SignedPriceOfAssetPair: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublisherKey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublisherKey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signature", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOracle + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthOracle + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthOracle + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signature = append(m.Signature[:0], dAtA[iNdEx:postIndex]...) + if m.Signature == nil { + m.Signature = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipOracle(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthOracle + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipOracle(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/params.go b/chain/oracle/types/params.go index e700debc..32aabfb1 100644 --- a/chain/oracle/types/params.go +++ b/chain/oracle/types/params.go @@ -11,7 +11,7 @@ import ( var _ paramtypes.ParamSet = &Params{} var ( - LargestDecPrice math.LegacyDec = math.LegacyMustNewDecFromStr("10000000") + LargestDecPrice = math.LegacyMustNewDecFromStr("10000000") ) const ( diff --git a/chain/oracle/types/proposal.go b/chain/oracle/types/proposal.go index 20009528..2a6e8ce2 100644 --- a/chain/oracle/types/proposal.go +++ b/chain/oracle/types/proposal.go @@ -1,6 +1,7 @@ package types import ( + "fmt" "strings" "cosmossdk.io/errors" @@ -9,6 +10,7 @@ import ( govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" bandobi "github.com/bandprotocol/bandchain-packet/obi" + "github.com/ethereum/go-ethereum/common" bandprice "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/hooks/price" bandoracle "github.com/InjectiveLabs/sdk-go/chain/oracle/bandchain/oracle/types" @@ -25,6 +27,8 @@ const ( ProposalEnableBandIBC string = "ProposalTypeEnableBandIBC" ProposalTypeGrantProviderPrivilege string = "ProposalTypeGrantProviderPrivilege" ProposalTypeRevokeProviderPrivilege string = "ProposalTypeRevokeProviderPrivilege" + ProposalTypeGrantStorkPublisherPrivilege string = "ProposalTypeGrantStorkPublisherPrivilege" + ProposalTypeRevokeStorkPublisherPrivilege string = "ProposalTypeRevokeStorkPublisherPrivilege" ) func init() { @@ -37,6 +41,8 @@ func init() { govtypes.RegisterProposalType(ProposalUpdateBandOracleRequest) govtypes.RegisterProposalType(ProposalTypeGrantProviderPrivilege) govtypes.RegisterProposalType(ProposalTypeRevokeProviderPrivilege) + govtypes.RegisterProposalType(ProposalTypeGrantStorkPublisherPrivilege) + govtypes.RegisterProposalType(ProposalTypeRevokeStorkPublisherPrivilege) } // Implements Proposal Interface @@ -49,6 +55,8 @@ var _ govtypes.Content = &UpdateBandOracleRequestProposal{} var _ govtypes.Content = &EnableBandIBCProposal{} var _ govtypes.Content = &GrantProviderPrivilegeProposal{} var _ govtypes.Content = &RevokeProviderPrivilegeProposal{} +var _ govtypes.Content = &GrantStorkPublisherPrivilegeProposal{} +var _ govtypes.Content = &RevokeStorkPublisherPrivilegeProposal{} // GetTitle returns the title of this proposal. func (p *GrantBandOraclePrivilegeProposal) GetTitle() string { @@ -415,3 +423,61 @@ func (p *UpdateBandOracleRequestProposal) ValidateBasic() error { return govtypes.ValidateAbstract(p) } + +// GetTitle returns the title of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) GetTitle() string { + return p.Title +} + +// GetDescription returns the description of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) GetDescription() string { + return p.Description +} + +// ProposalRoute returns router key of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ProposalRoute() string { return RouterKey } + +// ProposalType returns proposal type of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ProposalType() string { + return ProposalTypeGrantBandOraclePrivilege +} + +// ValidateBasic returns ValidateBasic result of this proposal. +func (p *GrantStorkPublisherPrivilegeProposal) ValidateBasic() error { + for _, publisher := range p.StorkPublishers { + if !common.IsHexAddress(publisher) { + return fmt.Errorf("invalid publisher address: %s", publisher) + } + } + + return nil +} + +// GetTitle returns the title of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) GetTitle() string { + return p.Title +} + +// GetDescription returns the description of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) GetDescription() string { + return p.Description +} + +// ProposalRoute returns router key of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ProposalRoute() string { return RouterKey } + +// ProposalType returns proposal type of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ProposalType() string { + return ProposalTypeGrantBandOraclePrivilege +} + +// ValidateBasic returns ValidateBasic result of this proposal. +func (p *RevokeStorkPublisherPrivilegeProposal) ValidateBasic() error { + for _, publisher := range p.StorkPublishers { + if !common.IsHexAddress(publisher) { + return fmt.Errorf("invalid publisher address: %s", publisher) + } + } + + return nil +} diff --git a/chain/oracle/types/proposal.pb.go b/chain/oracle/types/proposal.pb.go index 78b86f96..ee61f7b4 100644 --- a/chain/oracle/types/proposal.pb.go +++ b/chain/oracle/types/proposal.pb.go @@ -384,6 +384,84 @@ func (m *EnableBandIBCProposal) XXX_DiscardUnknown() { var xxx_messageInfo_EnableBandIBCProposal proto.InternalMessageInfo +type GrantStorkPublisherPrivilegeProposal struct { + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + StorkPublishers []string `protobuf:"bytes,3,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` +} + +func (m *GrantStorkPublisherPrivilegeProposal) Reset() { *m = GrantStorkPublisherPrivilegeProposal{} } +func (m *GrantStorkPublisherPrivilegeProposal) String() string { return proto.CompactTextString(m) } +func (*GrantStorkPublisherPrivilegeProposal) ProtoMessage() {} +func (*GrantStorkPublisherPrivilegeProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c5a187f865fd0c5b, []int{9} +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.Merge(m, src) +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_Size() int { + return m.Size() +} +func (m *GrantStorkPublisherPrivilegeProposal) XXX_DiscardUnknown() { + xxx_messageInfo_GrantStorkPublisherPrivilegeProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_GrantStorkPublisherPrivilegeProposal proto.InternalMessageInfo + +type RevokeStorkPublisherPrivilegeProposal struct { + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + StorkPublishers []string `protobuf:"bytes,3,rep,name=stork_publishers,json=storkPublishers,proto3" json:"stork_publishers,omitempty"` +} + +func (m *RevokeStorkPublisherPrivilegeProposal) Reset() { *m = RevokeStorkPublisherPrivilegeProposal{} } +func (m *RevokeStorkPublisherPrivilegeProposal) String() string { return proto.CompactTextString(m) } +func (*RevokeStorkPublisherPrivilegeProposal) ProtoMessage() {} +func (*RevokeStorkPublisherPrivilegeProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_c5a187f865fd0c5b, []int{10} +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.Merge(m, src) +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_Size() int { + return m.Size() +} +func (m *RevokeStorkPublisherPrivilegeProposal) XXX_DiscardUnknown() { + xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_RevokeStorkPublisherPrivilegeProposal proto.InternalMessageInfo + func init() { proto.RegisterType((*GrantBandOraclePrivilegeProposal)(nil), "injective.oracle.v1beta1.GrantBandOraclePrivilegeProposal") proto.RegisterType((*RevokeBandOraclePrivilegeProposal)(nil), "injective.oracle.v1beta1.RevokeBandOraclePrivilegeProposal") @@ -394,6 +472,8 @@ func init() { proto.RegisterType((*AuthorizeBandOracleRequestProposal)(nil), "injective.oracle.v1beta1.AuthorizeBandOracleRequestProposal") proto.RegisterType((*UpdateBandOracleRequestProposal)(nil), "injective.oracle.v1beta1.UpdateBandOracleRequestProposal") proto.RegisterType((*EnableBandIBCProposal)(nil), "injective.oracle.v1beta1.EnableBandIBCProposal") + proto.RegisterType((*GrantStorkPublisherPrivilegeProposal)(nil), "injective.oracle.v1beta1.GrantStorkPublisherPrivilegeProposal") + proto.RegisterType((*RevokeStorkPublisherPrivilegeProposal)(nil), "injective.oracle.v1beta1.RevokeStorkPublisherPrivilegeProposal") } func init() { @@ -401,49 +481,54 @@ func init() { } var fileDescriptor_c5a187f865fd0c5b = []byte{ - // 671 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0xc7, 0xb3, 0x6d, 0xfa, 0xfb, 0xb5, 0x5b, 0x21, 0xc0, 0xb4, 0x52, 0x88, 0x90, 0x93, 0x5a, - 0x2a, 0x2d, 0x7f, 0x6a, 0xab, 0x70, 0xeb, 0x8d, 0x54, 0x50, 0x45, 0x54, 0x22, 0x18, 0x7a, 0xe1, - 0x62, 0xad, 0xed, 0x21, 0x5d, 0x70, 0xbc, 0xee, 0x7a, 0x13, 0xa9, 0x3c, 0x01, 0xe2, 0xc4, 0x23, - 0xf4, 0x11, 0x38, 0x70, 0xe3, 0x05, 0xaa, 0x8a, 0x43, 0x8f, 0x9c, 0x10, 0x4a, 0x91, 0xe0, 0xc6, - 0x0d, 0x71, 0x03, 0x65, 0x77, 0x1d, 0x9a, 0x42, 0x9a, 0xd0, 0x96, 0x3f, 0x97, 0xc8, 0x33, 0xf3, - 0xdd, 0x99, 0xf9, 0x4c, 0xc6, 0xc9, 0xe2, 0x39, 0x1a, 0x3f, 0x82, 0x40, 0xd0, 0x16, 0x38, 0x8c, - 0x93, 0x20, 0x02, 0xa7, 0xb5, 0xe8, 0x83, 0x20, 0x8b, 0x4e, 0xc2, 0x59, 0xc2, 0x52, 0x12, 0xd9, - 0x09, 0x67, 0x82, 0x19, 0x85, 0xae, 0xd0, 0x56, 0x42, 0x5b, 0x0b, 0x8b, 0x66, 0xc0, 0xd2, 0x06, - 0x4b, 0x1d, 0x9f, 0xa4, 0xdf, 0x4f, 0x07, 0x8c, 0xc6, 0xea, 0x64, 0xf1, 0xbc, 0x8a, 0x7b, 0xd2, - 0x72, 0x94, 0xa1, 0x43, 0x53, 0x75, 0x56, 0x67, 0xca, 0xdf, 0x79, 0xd2, 0xde, 0xd9, 0xbe, 0x3d, - 0xe9, 0xca, 0x4a, 0x76, 0x96, 0x34, 0x68, 0xcc, 0x1c, 0xf9, 0xa9, 0x5c, 0xd6, 0x0e, 0xc2, 0xe5, - 0x15, 0x4e, 0x62, 0x51, 0x21, 0x71, 0x78, 0x47, 0x8a, 0x6b, 0x9c, 0xb6, 0x68, 0x04, 0x75, 0xa8, - 0x69, 0x1e, 0x63, 0x0a, 0x8f, 0x09, 0x2a, 0x22, 0x28, 0xa0, 0x32, 0x9a, 0x9f, 0x70, 0x95, 0x61, - 0x94, 0xf1, 0x64, 0x08, 0x69, 0xc0, 0x69, 0x22, 0x28, 0x8b, 0x0b, 0x23, 0x32, 0xb6, 0xdf, 0x65, - 0x14, 0xf1, 0x38, 0x87, 0x88, 0x6c, 0x02, 0x4f, 0x0b, 0xa3, 0xe5, 0xd1, 0xf9, 0x09, 0xb7, 0x6b, - 0x2f, 0xb9, 0x4f, 0xb7, 0x4a, 0xb9, 0x8f, 0x5b, 0xa5, 0xdc, 0xce, 0xcb, 0x85, 0xa2, 0x46, 0xac, - 0xb3, 0x56, 0x36, 0x23, 0x7b, 0x99, 0xc5, 0x02, 0x62, 0xf1, 0xec, 0xc3, 0x8b, 0xcb, 0x73, 0x9a, - 0x69, 0x50, 0x9f, 0xd6, 0x6b, 0x84, 0x67, 0x5c, 0x68, 0xb1, 0xc7, 0xf0, 0xa7, 0x69, 0xee, 0x0d, - 0x4f, 0x33, 0xaf, 0x69, 0x06, 0x36, 0x6a, 0x7d, 0x46, 0x78, 0x46, 0x32, 0xd7, 0x38, 0x0d, 0xe0, - 0x16, 0x40, 0x08, 0xfc, 0xe4, 0x70, 0x0c, 0x9c, 0xef, 0xec, 0x5f, 0x61, 0x54, 0x86, 0xe4, 0x73, - 0x27, 0xd7, 0x46, 0x93, 0x09, 0x28, 0xe4, 0x55, 0x2e, 0x69, 0xf4, 0x80, 0x8f, 0x1d, 0x1f, 0x7c, - 0x20, 0x92, 0xd5, 0x46, 0xd8, 0xd4, 0x2a, 0xd6, 0xa2, 0x27, 0x4a, 0x5d, 0xc4, 0xe3, 0x89, 0x4e, - 0xaa, 0xc9, 0xbb, 0x76, 0x0f, 0x67, 0xfe, 0x00, 0x67, 0x6d, 0x78, 0xce, 0xd9, 0x5e, 0xce, 0x3e, - 0x04, 0xd6, 0x7b, 0x84, 0x4b, 0x6a, 0x07, 0xfe, 0x1e, 0xe5, 0xc1, 0x6f, 0xf3, 0xee, 0xf0, 0x94, - 0x17, 0x7b, 0xd6, 0xb8, 0x3f, 0xe6, 0x17, 0x84, 0xad, 0x4c, 0xf3, 0xcf, 0x6e, 0xf1, 0xfd, 0xe1, - 0xb9, 0x2f, 0x1d, 0xe0, 0x3e, 0x64, 0x8d, 0xbf, 0x22, 0x6c, 0xdd, 0x68, 0x8a, 0x75, 0xc6, 0xe9, - 0x93, 0x7d, 0x2f, 0xba, 0x0b, 0x1b, 0x4d, 0x48, 0xc5, 0xb1, 0xd1, 0x6f, 0xe3, 0xff, 0xb9, 0x4a, - 0x25, 0xe9, 0x27, 0xaf, 0x5d, 0xb1, 0xfb, 0xfd, 0xe3, 0xd8, 0x3f, 0x54, 0xaf, 0xe4, 0xb7, 0xdf, - 0x96, 0x72, 0x6e, 0x96, 0xe1, 0x28, 0x13, 0x18, 0x8c, 0x66, 0xbd, 0x1a, 0xc1, 0xa5, 0xb5, 0x24, - 0x24, 0xe2, 0x37, 0xe0, 0x5f, 0xc5, 0x46, 0x08, 0x11, 0x08, 0xf0, 0x34, 0x83, 0x47, 0x43, 0xf5, - 0xc3, 0x9c, 0x77, 0xcf, 0xa8, 0x88, 0x2e, 0x55, 0x0d, 0x53, 0xc3, 0xc3, 0xd3, 0x4d, 0xd9, 0x88, - 0xa7, 0xba, 0xcf, 0x0e, 0xc9, 0x1d, 0xf9, 0xb5, 0xd1, 0xb9, 0xe7, 0x54, 0xa6, 0x1e, 0xe7, 0x51, - 0x5e, 0x9d, 0x01, 0x93, 0xb1, 0x3e, 0x21, 0x3c, 0x7d, 0x33, 0x26, 0x7e, 0x24, 0x35, 0xd5, 0xca, - 0xf2, 0xb1, 0x67, 0xb6, 0x86, 0x4f, 0xfb, 0x24, 0x0e, 0x3d, 0xea, 0x07, 0x5e, 0x42, 0x38, 0x69, - 0xa4, 0x7a, 0x75, 0xe6, 0x0e, 0xe7, 0xef, 0xd4, 0x96, 0x72, 0xbd, 0x36, 0xa7, 0x3a, 0x59, 0xaa, - 0x7e, 0xa0, 0x9c, 0x4b, 0x2b, 0xc3, 0xb3, 0x5f, 0xd0, 0xec, 0x3f, 0xe5, 0xaa, 0x3c, 0xdc, 0x6e, - 0x9b, 0x68, 0xb7, 0x6d, 0xa2, 0x77, 0x6d, 0x13, 0x3d, 0xdf, 0x33, 0x73, 0xbb, 0x7b, 0x66, 0xee, - 0xcd, 0x9e, 0x99, 0x7b, 0xb0, 0x5a, 0xa7, 0x62, 0xbd, 0xe9, 0xdb, 0x01, 0x6b, 0x38, 0xd5, 0xac, - 0xd5, 0x55, 0xe2, 0xa7, 0x4e, 0xb7, 0xf1, 0x85, 0x80, 0x71, 0xd8, 0x6f, 0xae, 0x13, 0x1a, 0x3b, - 0x0d, 0x16, 0x36, 0x23, 0x48, 0xb3, 0x7b, 0x91, 0xd8, 0x4c, 0x20, 0xf5, 0xff, 0x93, 0x97, 0x9f, - 0xeb, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xa0, 0xb4, 0x57, 0xcc, 0x09, 0x00, 0x00, + // 739 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0x41, 0x4f, 0x13, 0x5b, + 0x14, 0xc7, 0x7b, 0xa1, 0xbc, 0x07, 0x97, 0xbc, 0xc0, 0xeb, 0x83, 0xa4, 0xaf, 0x31, 0xd3, 0x32, + 0x11, 0x01, 0x81, 0x4e, 0xd0, 0x1d, 0x3b, 0x4b, 0x94, 0x34, 0x92, 0x58, 0x07, 0xd1, 0xc4, 0xcd, + 0xe4, 0xce, 0xcc, 0xb5, 0xbd, 0x32, 0x9d, 0x3b, 0xdc, 0x7b, 0xdb, 0x04, 0x3f, 0x81, 0x71, 0xe5, + 0x47, 0xe0, 0x23, 0xb8, 0x70, 0xe7, 0x17, 0x20, 0xc4, 0x05, 0x4b, 0x57, 0x46, 0x5b, 0x13, 0xdd, + 0xb9, 0x33, 0xee, 0x34, 0xbd, 0xf7, 0x4e, 0x6d, 0xd1, 0xd2, 0x0a, 0xa8, 0x6c, 0x9a, 0x39, 0xe7, + 0x9e, 0x39, 0xe7, 0xfc, 0x4e, 0xff, 0x73, 0x66, 0xe0, 0x1c, 0x09, 0x1f, 0x62, 0x4f, 0x90, 0x3a, + 0xb6, 0x28, 0x43, 0x5e, 0x80, 0xad, 0xfa, 0x8a, 0x8b, 0x05, 0x5a, 0xb1, 0x22, 0x46, 0x23, 0xca, + 0x51, 0x90, 0x8f, 0x18, 0x15, 0x34, 0x95, 0x6e, 0x07, 0xe6, 0x55, 0x60, 0x5e, 0x07, 0x66, 0x0c, + 0x8f, 0xf2, 0x2a, 0xe5, 0x96, 0x8b, 0xf8, 0xb7, 0xbb, 0x3d, 0x4a, 0x42, 0x75, 0x67, 0xe6, 0x7f, + 0x75, 0xee, 0x48, 0xcb, 0x52, 0x86, 0x3e, 0x9a, 0x2a, 0xd3, 0x32, 0x55, 0xfe, 0xd6, 0x95, 0xf6, + 0xce, 0xf6, 0xec, 0x49, 0x57, 0x56, 0x61, 0xff, 0xa2, 0x2a, 0x09, 0xa9, 0x25, 0x7f, 0x95, 0xcb, + 0x3c, 0x00, 0x30, 0xb7, 0xce, 0x50, 0x28, 0x0a, 0x28, 0xf4, 0x6f, 0xc9, 0xe0, 0x12, 0x23, 0x75, + 0x12, 0xe0, 0x32, 0x2e, 0x69, 0x9e, 0xd4, 0x14, 0x1c, 0x11, 0x44, 0x04, 0x38, 0x0d, 0x72, 0x60, + 0x7e, 0xcc, 0x56, 0x46, 0x2a, 0x07, 0xc7, 0x7d, 0xcc, 0x3d, 0x46, 0x22, 0x41, 0x68, 0x98, 0x1e, + 0x92, 0x67, 0x9d, 0xae, 0x54, 0x06, 0x8e, 0x32, 0x1c, 0xa0, 0x5d, 0xcc, 0x78, 0x7a, 0x38, 0x37, + 0x3c, 0x3f, 0x66, 0xb7, 0xed, 0x55, 0xfb, 0xf1, 0x5e, 0x36, 0xf1, 0x61, 0x2f, 0x9b, 0x38, 0x78, + 0xbe, 0x9c, 0xd1, 0x88, 0x65, 0x5a, 0x8f, 0x67, 0x94, 0x5f, 0xa3, 0xa1, 0xc0, 0xa1, 0x78, 0xf2, + 0xfe, 0xd9, 0xe5, 0x39, 0xcd, 0xd4, 0xaf, 0x4f, 0xf3, 0x25, 0x80, 0x33, 0x36, 0xae, 0xd3, 0x6d, + 0xfc, 0xbb, 0x69, 0x36, 0x07, 0xa7, 0x99, 0xd7, 0x34, 0x7d, 0x1b, 0x35, 0x3f, 0x01, 0x38, 0x23, + 0x99, 0x4b, 0x8c, 0x78, 0xf8, 0x06, 0xc6, 0x3e, 0x66, 0x67, 0x87, 0x93, 0x82, 0xc9, 0x96, 0xfe, + 0xd2, 0xc3, 0xf2, 0x48, 0x5e, 0xb7, 0x72, 0xed, 0xd4, 0xa8, 0xc0, 0xe9, 0xa4, 0xca, 0x25, 0x8d, + 0x2e, 0xf0, 0x91, 0xd3, 0x83, 0xf7, 0x45, 0x32, 0x1b, 0x00, 0x1a, 0x3a, 0x8a, 0xd6, 0xc9, 0x99, + 0x52, 0x67, 0xe0, 0x68, 0xa4, 0x93, 0x6a, 0xf2, 0xb6, 0xdd, 0xc5, 0x99, 0x3c, 0xc2, 0x59, 0x1a, + 0x9c, 0x73, 0xb6, 0x9b, 0xb3, 0x07, 0x81, 0xf9, 0x0e, 0xc0, 0xac, 0xd2, 0xc0, 0x9f, 0xa3, 0x3c, + 0xfa, 0x6f, 0xde, 0x1e, 0x9c, 0xf2, 0x52, 0x97, 0x8c, 0x7b, 0x63, 0x7e, 0x06, 0xd0, 0x8c, 0x63, + 0xce, 0xad, 0x8a, 0xef, 0x0c, 0xce, 0xbd, 0x70, 0x84, 0xfb, 0x18, 0x19, 0x7f, 0x01, 0xd0, 0xbc, + 0x56, 0x13, 0x15, 0xca, 0xc8, 0xa3, 0x8e, 0x07, 0xdd, 0xc6, 0x3b, 0x35, 0xcc, 0xc5, 0xa9, 0xd1, + 0x6f, 0xc2, 0xbf, 0x99, 0x4a, 0x25, 0xe9, 0xc7, 0xaf, 0x2c, 0xe6, 0x7b, 0xbd, 0x71, 0xf2, 0xdf, + 0x55, 0x2f, 0x24, 0xf7, 0x5f, 0x67, 0x13, 0x76, 0x9c, 0xe1, 0x24, 0x13, 0xe8, 0x8f, 0x66, 0xbe, + 0x18, 0x82, 0xd9, 0xad, 0xc8, 0x47, 0xe2, 0x17, 0xe0, 0x2f, 0xc1, 0x94, 0x8f, 0x03, 0x2c, 0xb0, + 0xa3, 0x19, 0x1c, 0xe2, 0xab, 0xc5, 0x9c, 0xb4, 0x27, 0xd5, 0x89, 0x2e, 0x55, 0xf4, 0x79, 0xca, + 0x81, 0xd3, 0x35, 0xd9, 0x88, 0xa3, 0xba, 0x8f, 0x6f, 0x92, 0x1a, 0xf9, 0xb9, 0xd1, 0xd9, 0xff, + 0xa9, 0x4c, 0x5d, 0xce, 0x93, 0x3c, 0x3a, 0x7d, 0x26, 0x63, 0x7e, 0x04, 0x70, 0xfa, 0x7a, 0x88, + 0xdc, 0x40, 0xc6, 0x14, 0x0b, 0x6b, 0xa7, 0x9e, 0xd9, 0x16, 0x9c, 0x70, 0x51, 0xe8, 0x3b, 0xc4, + 0xf5, 0x9c, 0x08, 0x31, 0x54, 0xe5, 0x5a, 0x3a, 0x73, 0xc7, 0xf3, 0xb7, 0x6a, 0xcb, 0x70, 0x2d, + 0x9b, 0x7f, 0x5a, 0x59, 0x8a, 0xae, 0xa7, 0x9c, 0xab, 0xeb, 0x83, 0xb3, 0x5f, 0xd0, 0xec, 0x3f, + 0xe4, 0x32, 0xdf, 0x02, 0x78, 0x51, 0xae, 0xcd, 0x4d, 0x41, 0xd9, 0x76, 0xa9, 0xe6, 0x06, 0x84, + 0x57, 0xce, 0x72, 0x5d, 0x2c, 0xc0, 0x49, 0xde, 0x4a, 0xed, 0x44, 0x71, 0xee, 0xf8, 0x5d, 0x3e, + 0xc1, 0xbb, 0x4a, 0xf2, 0xd5, 0xbb, 0x83, 0x43, 0x2d, 0x76, 0x6e, 0xfc, 0x3e, 0xad, 0x9b, 0x4d, + 0x00, 0x67, 0xd5, 0xf2, 0x38, 0x07, 0x90, 0xf7, 0x06, 0x87, 0x5c, 0xea, 0x5a, 0x7c, 0x7d, 0x7a, + 0x2f, 0x3c, 0xd8, 0x6f, 0x18, 0xe0, 0xb0, 0x61, 0x80, 0x37, 0x0d, 0x03, 0x3c, 0x6d, 0x1a, 0x89, + 0xc3, 0xa6, 0x91, 0x78, 0xd5, 0x34, 0x12, 0xf7, 0x37, 0xca, 0x44, 0x54, 0x6a, 0x6e, 0xde, 0xa3, + 0x55, 0xab, 0x18, 0x8b, 0x6e, 0x03, 0xb9, 0xdc, 0x6a, 0x4b, 0x70, 0xd9, 0xa3, 0x0c, 0x77, 0x9a, + 0x15, 0x44, 0x42, 0xab, 0x4a, 0xfd, 0x5a, 0x80, 0x79, 0xfc, 0x85, 0x2b, 0x76, 0x23, 0xcc, 0xdd, + 0xbf, 0xe4, 0x67, 0xec, 0xd5, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x49, 0x54, 0x14, 0x96, + 0x0b, 0x00, 0x00, } func (m *GrantBandOraclePrivilegeProposal) Marshal() (dAtA []byte, err error) { @@ -925,6 +1010,98 @@ func (m *EnableBandIBCProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *GrantStorkPublisherPrivilegeProposal) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GrantStorkPublisherPrivilegeProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GrantStorkPublisherPrivilegeProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintProposal(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x12 + } + if len(m.Title) > 0 { + i -= len(m.Title) + copy(dAtA[i:], m.Title) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Title))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RevokeStorkPublisherPrivilegeProposal) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RevokeStorkPublisherPrivilegeProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RevokeStorkPublisherPrivilegeProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.StorkPublishers) > 0 { + for iNdEx := len(m.StorkPublishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.StorkPublishers[iNdEx]) + copy(dAtA[i:], m.StorkPublishers[iNdEx]) + i = encodeVarintProposal(dAtA, i, uint64(len(m.StorkPublishers[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x12 + } + if len(m.Title) > 0 { + i -= len(m.Title) + copy(dAtA[i:], m.Title) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Title))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintProposal(dAtA []byte, offset int, v uint64) int { offset -= sovProposal(v) base := offset @@ -1164,6 +1341,52 @@ func (m *EnableBandIBCProposal) Size() (n int) { return n } +func (m *GrantStorkPublisherPrivilegeProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Title) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 1 + l + sovProposal(uint64(l)) + } + } + return n +} + +func (m *RevokeStorkPublisherPrivilegeProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Title) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + if len(m.StorkPublishers) > 0 { + for _, s := range m.StorkPublishers { + l = len(s) + n += 1 + l + sovProposal(uint64(l)) + } + } + return n +} + func sovProposal(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -2758,6 +2981,298 @@ func (m *EnableBandIBCProposal) Unmarshal(dAtA []byte) error { } return nil } +func (m *GrantStorkPublisherPrivilegeProposal) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GrantStorkPublisherPrivilegeProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GrantStorkPublisherPrivilegeProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Title = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorkPublishers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RevokeStorkPublisherPrivilegeProposal) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RevokeStorkPublisherPrivilegeProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RevokeStorkPublisherPrivilegeProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Title = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StorkPublishers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.StorkPublishers = append(m.StorkPublishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipProposal(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/query.pb.go b/chain/oracle/types/query.pb.go index 38a42c17..09773598 100644 --- a/chain/oracle/types/query.pb.go +++ b/chain/oracle/types/query.pb.go @@ -706,6 +706,174 @@ func (m *QueryPythPriceStatesResponse) GetPriceStates() []*PythPriceState { return nil } +// QueryStorkPriceStatesRequest is the request type for the +// Query/StorkPriceStates RPC method. +type QueryStorkPriceStatesRequest struct { +} + +func (m *QueryStorkPriceStatesRequest) Reset() { *m = QueryStorkPriceStatesRequest{} } +func (m *QueryStorkPriceStatesRequest) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPriceStatesRequest) ProtoMessage() {} +func (*QueryStorkPriceStatesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{16} +} +func (m *QueryStorkPriceStatesRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPriceStatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPriceStatesRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryStorkPriceStatesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPriceStatesRequest.Merge(m, src) +} +func (m *QueryStorkPriceStatesRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPriceStatesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPriceStatesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPriceStatesRequest proto.InternalMessageInfo + +// QueryStorkPriceStatesResponse is the response type for the +// Query/StorkPriceStates RPC method. +type QueryStorkPriceStatesResponse struct { + PriceStates []*StorkPriceState `protobuf:"bytes,1,rep,name=price_states,json=priceStates,proto3" json:"price_states,omitempty"` +} + +func (m *QueryStorkPriceStatesResponse) Reset() { *m = QueryStorkPriceStatesResponse{} } +func (m *QueryStorkPriceStatesResponse) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPriceStatesResponse) ProtoMessage() {} +func (*QueryStorkPriceStatesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{17} +} +func (m *QueryStorkPriceStatesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPriceStatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPriceStatesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryStorkPriceStatesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPriceStatesResponse.Merge(m, src) +} +func (m *QueryStorkPriceStatesResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPriceStatesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPriceStatesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPriceStatesResponse proto.InternalMessageInfo + +func (m *QueryStorkPriceStatesResponse) GetPriceStates() []*StorkPriceState { + if m != nil { + return m.PriceStates + } + return nil +} + +// QueryStorkPublishersRequest is the request type for the +// Query/StorkPublishers RPC method. +type QueryStorkPublishersRequest struct { +} + +func (m *QueryStorkPublishersRequest) Reset() { *m = QueryStorkPublishersRequest{} } +func (m *QueryStorkPublishersRequest) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPublishersRequest) ProtoMessage() {} +func (*QueryStorkPublishersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{18} +} +func (m *QueryStorkPublishersRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPublishersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPublishersRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryStorkPublishersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPublishersRequest.Merge(m, src) +} +func (m *QueryStorkPublishersRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPublishersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPublishersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPublishersRequest proto.InternalMessageInfo + +// QueryStorkPublishersResponse is the response type for the +// Query/StorkPublishers RPC method. +type QueryStorkPublishersResponse struct { + Publishers []string `protobuf:"bytes,1,rep,name=publishers,proto3" json:"publishers,omitempty"` +} + +func (m *QueryStorkPublishersResponse) Reset() { *m = QueryStorkPublishersResponse{} } +func (m *QueryStorkPublishersResponse) String() string { return proto.CompactTextString(m) } +func (*QueryStorkPublishersResponse) ProtoMessage() {} +func (*QueryStorkPublishersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_52f5d6f9962923ad, []int{19} +} +func (m *QueryStorkPublishersResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryStorkPublishersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryStorkPublishersResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryStorkPublishersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryStorkPublishersResponse.Merge(m, src) +} +func (m *QueryStorkPublishersResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryStorkPublishersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryStorkPublishersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryStorkPublishersResponse proto.InternalMessageInfo + +func (m *QueryStorkPublishersResponse) GetPublishers() []string { + if m != nil { + return m.Publishers + } + return nil +} + // QueryProviderPriceStateRequest is the request type for the // Query/ProviderPriceState RPC method. type QueryProviderPriceStateRequest struct { @@ -717,7 +885,7 @@ func (m *QueryProviderPriceStateRequest) Reset() { *m = QueryProviderPri func (m *QueryProviderPriceStateRequest) String() string { return proto.CompactTextString(m) } func (*QueryProviderPriceStateRequest) ProtoMessage() {} func (*QueryProviderPriceStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{16} + return fileDescriptor_52f5d6f9962923ad, []int{20} } func (m *QueryProviderPriceStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -770,7 +938,7 @@ func (m *QueryProviderPriceStateResponse) Reset() { *m = QueryProviderPr func (m *QueryProviderPriceStateResponse) String() string { return proto.CompactTextString(m) } func (*QueryProviderPriceStateResponse) ProtoMessage() {} func (*QueryProviderPriceStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{17} + return fileDescriptor_52f5d6f9962923ad, []int{21} } func (m *QueryProviderPriceStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -815,7 +983,7 @@ func (m *QueryModuleStateRequest) Reset() { *m = QueryModuleStateRequest func (m *QueryModuleStateRequest) String() string { return proto.CompactTextString(m) } func (*QueryModuleStateRequest) ProtoMessage() {} func (*QueryModuleStateRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{18} + return fileDescriptor_52f5d6f9962923ad, []int{22} } func (m *QueryModuleStateRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -854,7 +1022,7 @@ func (m *QueryModuleStateResponse) Reset() { *m = QueryModuleStateRespon func (m *QueryModuleStateResponse) String() string { return proto.CompactTextString(m) } func (*QueryModuleStateResponse) ProtoMessage() {} func (*QueryModuleStateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{19} + return fileDescriptor_52f5d6f9962923ad, []int{23} } func (m *QueryModuleStateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -899,7 +1067,7 @@ func (m *QueryHistoricalPriceRecordsRequest) Reset() { *m = QueryHistori func (m *QueryHistoricalPriceRecordsRequest) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalPriceRecordsRequest) ProtoMessage() {} func (*QueryHistoricalPriceRecordsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{20} + return fileDescriptor_52f5d6f9962923ad, []int{24} } func (m *QueryHistoricalPriceRecordsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -950,7 +1118,7 @@ func (m *QueryHistoricalPriceRecordsResponse) Reset() { *m = QueryHistor func (m *QueryHistoricalPriceRecordsResponse) String() string { return proto.CompactTextString(m) } func (*QueryHistoricalPriceRecordsResponse) ProtoMessage() {} func (*QueryHistoricalPriceRecordsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{21} + return fileDescriptor_52f5d6f9962923ad, []int{25} } func (m *QueryHistoricalPriceRecordsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1003,7 +1171,7 @@ func (m *OracleHistoryOptions) Reset() { *m = OracleHistoryOptions{} } func (m *OracleHistoryOptions) String() string { return proto.CompactTextString(m) } func (*OracleHistoryOptions) ProtoMessage() {} func (*OracleHistoryOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{22} + return fileDescriptor_52f5d6f9962923ad, []int{26} } func (m *OracleHistoryOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1065,7 +1233,7 @@ func (m *QueryOracleVolatilityRequest) Reset() { *m = QueryOracleVolatil func (m *QueryOracleVolatilityRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleVolatilityRequest) ProtoMessage() {} func (*QueryOracleVolatilityRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{23} + return fileDescriptor_52f5d6f9962923ad, []int{27} } func (m *QueryOracleVolatilityRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1127,7 +1295,7 @@ func (m *QueryOracleVolatilityResponse) Reset() { *m = QueryOracleVolati func (m *QueryOracleVolatilityResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleVolatilityResponse) ProtoMessage() {} func (*QueryOracleVolatilityResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{24} + return fileDescriptor_52f5d6f9962923ad, []int{28} } func (m *QueryOracleVolatilityResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1177,7 +1345,7 @@ func (m *QueryOracleProvidersInfoRequest) Reset() { *m = QueryOracleProv func (m *QueryOracleProvidersInfoRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleProvidersInfoRequest) ProtoMessage() {} func (*QueryOracleProvidersInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{25} + return fileDescriptor_52f5d6f9962923ad, []int{29} } func (m *QueryOracleProvidersInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1214,7 +1382,7 @@ func (m *QueryOracleProvidersInfoResponse) Reset() { *m = QueryOraclePro func (m *QueryOracleProvidersInfoResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleProvidersInfoResponse) ProtoMessage() {} func (*QueryOracleProvidersInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{26} + return fileDescriptor_52f5d6f9962923ad, []int{30} } func (m *QueryOracleProvidersInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1258,7 +1426,7 @@ func (m *QueryOracleProviderPricesRequest) Reset() { *m = QueryOraclePro func (m *QueryOracleProviderPricesRequest) String() string { return proto.CompactTextString(m) } func (*QueryOracleProviderPricesRequest) ProtoMessage() {} func (*QueryOracleProviderPricesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{27} + return fileDescriptor_52f5d6f9962923ad, []int{31} } func (m *QueryOracleProviderPricesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1302,7 +1470,7 @@ func (m *QueryOracleProviderPricesResponse) Reset() { *m = QueryOraclePr func (m *QueryOracleProviderPricesResponse) String() string { return proto.CompactTextString(m) } func (*QueryOracleProviderPricesResponse) ProtoMessage() {} func (*QueryOracleProviderPricesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{28} + return fileDescriptor_52f5d6f9962923ad, []int{32} } func (m *QueryOracleProviderPricesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1350,7 +1518,7 @@ func (m *ScalingOptions) Reset() { *m = ScalingOptions{} } func (m *ScalingOptions) String() string { return proto.CompactTextString(m) } func (*ScalingOptions) ProtoMessage() {} func (*ScalingOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{29} + return fileDescriptor_52f5d6f9962923ad, []int{33} } func (m *ScalingOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1406,7 +1574,7 @@ func (m *QueryOraclePriceRequest) Reset() { *m = QueryOraclePriceRequest func (m *QueryOraclePriceRequest) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceRequest) ProtoMessage() {} func (*QueryOraclePriceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{30} + return fileDescriptor_52f5d6f9962923ad, []int{34} } func (m *QueryOraclePriceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1477,7 +1645,7 @@ func (m *PricePairState) Reset() { *m = PricePairState{} } func (m *PricePairState) String() string { return proto.CompactTextString(m) } func (*PricePairState) ProtoMessage() {} func (*PricePairState) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{31} + return fileDescriptor_52f5d6f9962923ad, []int{35} } func (m *PricePairState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1530,7 +1698,7 @@ func (m *QueryOraclePriceResponse) Reset() { *m = QueryOraclePriceRespon func (m *QueryOraclePriceResponse) String() string { return proto.CompactTextString(m) } func (*QueryOraclePriceResponse) ProtoMessage() {} func (*QueryOraclePriceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_52f5d6f9962923ad, []int{32} + return fileDescriptor_52f5d6f9962923ad, []int{36} } func (m *QueryOraclePriceResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1583,6 +1751,10 @@ func init() { proto.RegisterType((*QueryCoinbasePriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryCoinbasePriceStatesResponse") proto.RegisterType((*QueryPythPriceStatesRequest)(nil), "injective.oracle.v1beta1.QueryPythPriceStatesRequest") proto.RegisterType((*QueryPythPriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryPythPriceStatesResponse") + proto.RegisterType((*QueryStorkPriceStatesRequest)(nil), "injective.oracle.v1beta1.QueryStorkPriceStatesRequest") + proto.RegisterType((*QueryStorkPriceStatesResponse)(nil), "injective.oracle.v1beta1.QueryStorkPriceStatesResponse") + proto.RegisterType((*QueryStorkPublishersRequest)(nil), "injective.oracle.v1beta1.QueryStorkPublishersRequest") + proto.RegisterType((*QueryStorkPublishersResponse)(nil), "injective.oracle.v1beta1.QueryStorkPublishersResponse") proto.RegisterType((*QueryProviderPriceStateRequest)(nil), "injective.oracle.v1beta1.QueryProviderPriceStateRequest") proto.RegisterType((*QueryProviderPriceStateResponse)(nil), "injective.oracle.v1beta1.QueryProviderPriceStateResponse") proto.RegisterType((*QueryModuleStateRequest)(nil), "injective.oracle.v1beta1.QueryModuleStateRequest") @@ -1607,115 +1779,123 @@ func init() { } var fileDescriptor_52f5d6f9962923ad = []byte{ - // 1728 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdd, 0x6f, 0x13, 0xc7, - 0x16, 0xcf, 0xe6, 0x8b, 0xf8, 0x98, 0x7c, 0x30, 0x31, 0x21, 0x18, 0x48, 0xc2, 0x86, 0x7c, 0x20, - 0xc0, 0x26, 0xe6, 0xde, 0x0b, 0x97, 0xcb, 0xa5, 0x22, 0x09, 0xb4, 0x69, 0x41, 0xa4, 0x0b, 0x2d, - 0x6d, 0x55, 0xc9, 0x1a, 0xaf, 0x27, 0xf6, 0x16, 0x7b, 0xc7, 0xec, 0xae, 0x03, 0x16, 0x42, 0x55, - 0xfb, 0x58, 0x55, 0x6a, 0xa5, 0xbe, 0xb6, 0xef, 0x55, 0xdf, 0xfa, 0xd0, 0x87, 0xbe, 0x56, 0xaa, - 0x44, 0xdf, 0xa8, 0xaa, 0x4a, 0x15, 0x0f, 0xa8, 0x4a, 0xfa, 0x87, 0x54, 0x3b, 0x67, 0x76, 0xe3, - 0x8d, 0x77, 0xbd, 0xeb, 0x48, 0x7d, 0xf3, 0xcc, 0x9c, 0xf3, 0x3b, 0xbf, 0x73, 0xe6, 0x9c, 0xb3, - 0x73, 0x64, 0x38, 0x63, 0x98, 0x1f, 0x31, 0xdd, 0x31, 0xb6, 0x59, 0x9e, 0x5b, 0x54, 0xaf, 0xb1, - 0xfc, 0xf6, 0x4a, 0x89, 0x39, 0x74, 0x25, 0xff, 0xa8, 0xc9, 0xac, 0x56, 0xae, 0x61, 0x71, 0x87, - 0x93, 0x69, 0x5f, 0x2a, 0x87, 0x52, 0x39, 0x29, 0x95, 0x3d, 0x59, 0xe1, 0xbc, 0x52, 0x63, 0x79, - 0xda, 0x30, 0xf2, 0xd4, 0x34, 0xb9, 0x43, 0x1d, 0x83, 0x9b, 0x36, 0xea, 0x65, 0x17, 0x22, 0xd1, - 0x25, 0x0c, 0x8a, 0x2d, 0x46, 0x8a, 0x55, 0x98, 0xc9, 0x6c, 0xc3, 0x83, 0xcb, 0x54, 0x78, 0x85, - 0x8b, 0x9f, 0x79, 0xf7, 0x17, 0xee, 0xaa, 0x05, 0x38, 0xfa, 0xb6, 0xcb, 0x75, 0xb3, 0xe5, 0x54, - 0x37, 0x2d, 0x43, 0x67, 0x1a, 0x7b, 0xd4, 0x64, 0xb6, 0x43, 0x8e, 0xc3, 0x48, 0xc3, 0x5d, 0x17, - 0x8d, 0xf2, 0xb4, 0x32, 0xa7, 0x2c, 0xa7, 0xb4, 0x43, 0x62, 0xbd, 0x51, 0x56, 0x75, 0x98, 0xda, - 0xaf, 0x63, 0x37, 0xb8, 0x69, 0x33, 0xb2, 0x01, 0x69, 0x54, 0xb2, 0x1d, 0xea, 0x30, 0xa1, 0x97, - 0x2e, 0x2c, 0xe7, 0xa2, 0x02, 0x90, 0xf3, 0x11, 0xee, 0xb9, 0xf2, 0x1a, 0x34, 0xfc, 0xdf, 0x6a, - 0x06, 0x08, 0x1a, 0xa1, 0x16, 0xad, 0xdb, 0x92, 0x95, 0xfa, 0x0e, 0x4c, 0x06, 0x76, 0xa5, 0xdd, - 0xeb, 0x30, 0xdc, 0x10, 0x3b, 0xd2, 0xe4, 0x5c, 0x17, 0x93, 0x42, 0x6e, 0x75, 0xf0, 0xf9, 0xab, - 0xd9, 0x3e, 0x4d, 0x6a, 0xa9, 0x59, 0x98, 0x16, 0xb0, 0xab, 0xd4, 0x2c, 0x6b, 0xac, 0x46, 0x5b, - 0xcc, 0xf2, 0x4d, 0x5e, 0x86, 0xe3, 0x21, 0x67, 0xd2, 0x70, 0x16, 0x46, 0x2c, 0xb9, 0x37, 0xad, - 0xcc, 0x0d, 0x2c, 0xa7, 0x34, 0x7f, 0xad, 0x9e, 0x82, 0x13, 0xbe, 0xe2, 0x9e, 0x93, 0x3e, 0xee, - 0x43, 0x38, 0x19, 0x7e, 0x2c, 0xa1, 0xdf, 0x82, 0xc3, 0x6d, 0xb1, 0x44, 0xf8, 0xae, 0xc1, 0x0c, - 0x02, 0x69, 0xe9, 0xbd, 0x60, 0xda, 0xea, 0x1c, 0xcc, 0xf8, 0xc6, 0x36, 0x56, 0xd7, 0x42, 0xe8, - 0x98, 0x30, 0x1b, 0x29, 0xf1, 0x4f, 0x30, 0x52, 0x61, 0x0e, 0x6f, 0xd2, 0xdd, 0xbb, 0xc5, 0x58, - 0x58, 0x88, 0x1a, 0x70, 0xba, 0x8b, 0xcc, 0x41, 0x59, 0xf9, 0x68, 0x21, 0xac, 0x4e, 0xcb, 0x28, - 0xac, 0x71, 0xc3, 0x2c, 0x51, 0x9b, 0x85, 0x90, 0xb2, 0x25, 0xf1, 0x50, 0x11, 0xc9, 0xe9, 0x6e, - 0x28, 0xa7, 0xf3, 0xd1, 0x9c, 0x3a, 0xc1, 0x82, 0xbc, 0xbc, 0x5c, 0x0a, 0x16, 0x4c, 0x47, 0x2e, - 0x75, 0x1c, 0x1f, 0x38, 0x46, 0xc1, 0xc2, 0x0c, 0x70, 0xb9, 0x2f, 0x73, 0x69, 0xd3, 0xe2, 0xdb, - 0x46, 0x99, 0x59, 0x6d, 0x72, 0xb2, 0x77, 0x64, 0xdd, 0xde, 0x81, 0x87, 0xb2, 0x77, 0xf8, 0x6b, - 0x32, 0x05, 0xc3, 0x76, 0xab, 0x5e, 0xe2, 0xb5, 0xe9, 0x7e, 0x71, 0x22, 0x57, 0x6a, 0x55, 0x46, - 0x3e, 0x0c, 0x55, 0x7a, 0x71, 0x33, 0xac, 0xbb, 0x9c, 0x89, 0xb9, 0xe8, 0xce, 0xce, 0x72, 0x1c, - 0x8e, 0x09, 0x4b, 0x77, 0x78, 0xb9, 0x59, 0x0b, 0x10, 0x57, 0xdf, 0x93, 0x7d, 0x20, 0x70, 0x24, - 0xad, 0x5f, 0x83, 0xa1, 0x76, 0xbb, 0x8b, 0xd1, 0x76, 0x5f, 0xc7, 0xbe, 0x8b, 0xea, 0xa8, 0xa4, - 0x7e, 0x0c, 0xaa, 0x40, 0x7e, 0xc3, 0xb0, 0x1d, 0x6e, 0x19, 0x3a, 0xad, 0xc9, 0xce, 0xa9, 0x73, - 0xab, 0xec, 0xdd, 0x23, 0xb9, 0x06, 0xc3, 0x88, 0x25, 0x8c, 0x8c, 0x75, 0x73, 0xee, 0xae, 0x58, - 0xde, 0x6f, 0x35, 0x98, 0x26, 0x75, 0xc8, 0x09, 0x48, 0x61, 0x30, 0xdd, 0x9e, 0x8d, 0xd1, 0x1d, - 0xc1, 0x8d, 0x8d, 0xb2, 0x6a, 0xc1, 0x7c, 0x57, 0x02, 0x7e, 0xa6, 0x8c, 0x62, 0x8c, 0x2d, 0x3c, - 0x90, 0xa9, 0xb2, 0x18, 0x13, 0x65, 0x0f, 0x06, 0xd3, 0x4c, 0xae, 0xd4, 0xcf, 0x14, 0xc8, 0x20, - 0x4f, 0xb4, 0xda, 0xba, 0xdb, 0x10, 0x1f, 0x38, 0x72, 0x0c, 0x0e, 0xd5, 0xe9, 0x93, 0x22, 0xad, - 0xa0, 0xa3, 0x83, 0xda, 0x70, 0x9d, 0x3e, 0xb9, 0x51, 0x61, 0x24, 0x07, 0x93, 0x86, 0xa9, 0xd7, - 0x9a, 0x65, 0x56, 0xb4, 0xe8, 0xe3, 0x62, 0x15, 0xd5, 0x84, 0x33, 0x23, 0xda, 0x11, 0x79, 0xa4, - 0xd1, 0xc7, 0x12, 0x8f, 0x9c, 0x85, 0x09, 0x4f, 0xbe, 0xce, 0x1c, 0x5a, 0xa6, 0x0e, 0x9d, 0x1e, - 0x10, 0xc2, 0xe3, 0x72, 0xff, 0x8e, 0xdc, 0x56, 0x3f, 0xef, 0x97, 0x45, 0x82, 0x8c, 0xde, 0xe5, - 0x35, 0xea, 0x18, 0x35, 0xc3, 0x69, 0x79, 0xc1, 0xbf, 0x01, 0x29, 0xb7, 0x04, 0x8b, 0x86, 0xb9, - 0xc5, 0xe3, 0x93, 0x0b, 0x51, 0x36, 0xcc, 0x2d, 0xae, 0x8d, 0xb8, 0x6a, 0xee, 0x2f, 0xb2, 0x06, - 0xf0, 0xa8, 0xc9, 0x1d, 0x89, 0xd1, 0xdf, 0x03, 0x46, 0x4a, 0xe8, 0x09, 0x90, 0x32, 0x4c, 0xa1, - 0x9c, 0xe7, 0x7e, 0x91, 0x63, 0xd8, 0x84, 0x67, 0xe9, 0x42, 0x2e, 0x0e, 0x30, 0x18, 0x6c, 0x2d, - 0xc3, 0x43, 0x76, 0xd5, 0x4f, 0xfa, 0xe1, 0x54, 0x44, 0x38, 0x64, 0x2a, 0xbc, 0x06, 0xb0, 0xed, - 0xef, 0x62, 0x1d, 0xaf, 0xce, 0xbe, 0x7c, 0x35, 0x7b, 0x42, 0xe7, 0x76, 0x9d, 0xdb, 0x76, 0xf9, - 0x61, 0xce, 0xe0, 0xf9, 0x3a, 0x75, 0xaa, 0xb9, 0xdb, 0xac, 0x42, 0xf5, 0xd6, 0x3a, 0xd3, 0xb5, - 0x36, 0x15, 0xf2, 0x00, 0x26, 0x3c, 0x0f, 0xfc, 0xcb, 0xc1, 0x98, 0x74, 0xe9, 0x84, 0xde, 0x7d, - 0xb9, 0xd5, 0x63, 0xd8, 0x8e, 0xa1, 0xdb, 0xda, 0xb8, 0x44, 0xf1, 0x8e, 0xc8, 0x2d, 0x48, 0xb7, - 0x67, 0xc7, 0x80, 0x48, 0xd1, 0x85, 0x44, 0x29, 0xaa, 0x81, 0xe5, 0x67, 0x8f, 0xdf, 0xed, 0x31, - 0x04, 0x5e, 0xe7, 0xb1, 0xc5, 0x85, 0xc8, 0x8e, 0x50, 0x95, 0xdd, 0x3e, 0x54, 0x44, 0x06, 0x6a, - 0x1d, 0x52, 0x5e, 0x7b, 0x4b, 0x54, 0x2f, 0x28, 0x8a, 0xd7, 0xee, 0x2b, 0xaa, 0xd7, 0x43, 0x2d, - 0x09, 0xea, 0x76, 0x82, 0xc6, 0xaa, 0x5a, 0xf2, 0x63, 0x19, 0xae, 0x2f, 0xa9, 0xde, 0x71, 0xcb, - 0x1b, 0x4f, 0xee, 0xc9, 0x66, 0xe6, 0xd2, 0x5d, 0x8a, 0xa7, 0x8b, 0xdd, 0x2c, 0xa8, 0xad, 0x7e, - 0x08, 0x63, 0xf7, 0x74, 0x5a, 0x33, 0xcc, 0x8a, 0x57, 0xd9, 0xf3, 0x30, 0x2a, 0x8a, 0xa8, 0xcc, - 0x74, 0xa3, 0x4e, 0x6b, 0xf8, 0x20, 0x1b, 0xd5, 0x0e, 0xbb, 0x9b, 0xeb, 0x72, 0x8f, 0x2c, 0xc0, - 0x18, 0x96, 0x89, 0x2f, 0xd5, 0x2f, 0xa4, 0x46, 0xc5, 0xae, 0x27, 0xa6, 0xee, 0x2a, 0xb2, 0x53, - 0x7b, 0x2e, 0xb5, 0x3d, 0x4f, 0x6f, 0x42, 0x5a, 0x16, 0x89, 0xd3, 0x6a, 0xf4, 0xd6, 0x2e, 0x81, - 0xfb, 0xbf, 0x09, 0x81, 0x41, 0x97, 0x99, 0xec, 0x96, 0xe2, 0x37, 0xc9, 0xc0, 0x90, 0xe0, 0x21, - 0xca, 0x2d, 0xa5, 0xe1, 0x82, 0x3c, 0x80, 0x71, 0x1b, 0x5d, 0xf5, 0xcb, 0x71, 0x30, 0xee, 0x79, - 0x1b, 0x8c, 0x8d, 0x78, 0x73, 0x2a, 0xda, 0x98, 0x1d, 0xd8, 0x55, 0x77, 0x06, 0x60, 0x4c, 0xb8, - 0xb6, 0x49, 0x0d, 0x0c, 0x2b, 0x59, 0x05, 0x68, 0x50, 0xc3, 0x2a, 0x8a, 0x66, 0x2a, 0x2b, 0x6f, - 0xde, 0x7d, 0xb0, 0xc6, 0x55, 0x5f, 0xca, 0x55, 0x13, 0x60, 0x2e, 0x86, 0xb8, 0x08, 0xc4, 0xe8, - 0xef, 0x01, 0xc3, 0x7f, 0x87, 0x90, 0x75, 0x48, 0xe3, 0x3d, 0x21, 0xc8, 0x40, 0x72, 0x10, 0x6c, - 0x83, 0x88, 0xf2, 0x00, 0x8e, 0x0a, 0x26, 0x7a, 0xb3, 0xde, 0x74, 0x7b, 0xc3, 0xb6, 0x87, 0x37, - 0x98, 0x1c, 0x6f, 0xd2, 0x45, 0x58, 0xf3, 0x01, 0x10, 0xf8, 0x7d, 0x98, 0x42, 0x7a, 0x1d, 0xc8, - 0x43, 0xc9, 0x91, 0x33, 0x02, 0x62, 0x3f, 0xf4, 0x02, 0x8c, 0x09, 0xce, 0x8e, 0x51, 0x67, 0xb6, - 0x43, 0xeb, 0x8d, 0xe9, 0xe1, 0x39, 0x65, 0x79, 0x40, 0x13, 0xc9, 0x7d, 0xdf, 0xdb, 0x24, 0x4b, - 0x30, 0x8e, 0x0c, 0xf6, 0xe4, 0x0e, 0x09, 0x39, 0xcc, 0x6f, 0x5f, 0x50, 0x35, 0xe5, 0xc3, 0x22, - 0x90, 0xc9, 0xb2, 0x26, 0x35, 0x98, 0xc0, 0x4f, 0xae, 0xb8, 0xf3, 0xa4, 0x93, 0x53, 0x20, 0x63, - 0xb4, 0xb1, 0x46, 0x60, 0x5d, 0x78, 0x79, 0x14, 0x86, 0x84, 0x41, 0xf2, 0x85, 0x02, 0xc3, 0x38, - 0xf3, 0x90, 0x2e, 0x5d, 0xb7, 0x73, 0xd4, 0xca, 0x5e, 0x48, 0x28, 0x8d, 0x5e, 0xa8, 0xcb, 0x9f, - 0xfe, 0xf6, 0xd7, 0x57, 0xfd, 0x2a, 0x99, 0xcb, 0x47, 0xce, 0xa3, 0x38, 0x6c, 0x91, 0x6f, 0x15, - 0x38, 0xdc, 0x3e, 0x4c, 0x91, 0x42, 0x8c, 0xa5, 0x90, 0xa9, 0x2c, 0x7b, 0xa9, 0x27, 0x1d, 0xc9, - 0x31, 0x2f, 0x38, 0x9e, 0x25, 0x4b, 0xd1, 0x1c, 0x4b, 0xd4, 0x2c, 0x17, 0xbd, 0x11, 0x8e, 0xfc, - 0xa0, 0xc0, 0xf8, 0xbe, 0xf9, 0x8c, 0xfc, 0x3b, 0x81, 0xe5, 0xce, 0x27, 0x7a, 0xf6, 0x3f, 0xbd, - 0xaa, 0x49, 0xce, 0x97, 0x04, 0xe7, 0x0b, 0xe4, 0x5c, 0x0c, 0xe7, 0xf6, 0xf7, 0x3d, 0xf9, 0x49, - 0x01, 0xd2, 0x39, 0xc8, 0x91, 0x2b, 0x09, 0x38, 0x84, 0x4e, 0x87, 0xd9, 0xff, 0x1e, 0x40, 0x53, - 0x3a, 0x70, 0x59, 0x38, 0xb0, 0x42, 0xf2, 0x31, 0x0e, 0x18, 0x25, 0x3d, 0xe8, 0xc4, 0x2f, 0x0a, - 0x64, 0xc2, 0x26, 0x3f, 0x72, 0x35, 0x2e, 0x33, 0xa3, 0x47, 0xca, 0xec, 0xff, 0x0e, 0xa4, 0x2b, - 0x5d, 0xb9, 0x22, 0x5c, 0x29, 0x90, 0x8b, 0x5d, 0x72, 0xdc, 0x55, 0xdb, 0x62, 0x6c, 0xdf, 0x85, - 0xfc, 0xac, 0xc0, 0x64, 0xc8, 0xc0, 0x48, 0xe2, 0xe2, 0x1a, 0x3d, 0x87, 0x66, 0xaf, 0x1e, 0x44, - 0x35, 0xf9, 0x9d, 0xe8, 0x52, 0x3d, 0xe8, 0x87, 0x5b, 0x10, 0xfb, 0x86, 0xcc, 0xd8, 0x82, 0x08, - 0x9f, 0x59, 0x63, 0x0b, 0x22, 0x62, 0x96, 0x4d, 0x52, 0x10, 0x8d, 0x96, 0x53, 0x0d, 0xf2, 0xfe, - 0x5d, 0x01, 0xd2, 0x39, 0x59, 0xc6, 0x16, 0x44, 0xe4, 0x88, 0x1b, 0x5b, 0x10, 0xd1, 0x63, 0xac, - 0xfa, 0xa6, 0x70, 0x60, 0x9d, 0xac, 0x76, 0xcb, 0x22, 0xd4, 0x6e, 0x77, 0x22, 0xff, 0xd4, 0xdb, - 0x7d, 0x96, 0x7f, 0x8a, 0x63, 0xdd, 0x33, 0xf2, 0x9d, 0x02, 0x47, 0xf0, 0x9b, 0xd2, 0x36, 0xb2, - 0x92, 0x95, 0x18, 0x72, 0x9d, 0x93, 0x6f, 0xb6, 0xd0, 0x8b, 0x8a, 0x74, 0x24, 0x27, 0x1c, 0x59, - 0x26, 0x8b, 0xd1, 0x8e, 0xd4, 0x85, 0x1a, 0x3a, 0x40, 0x7e, 0x55, 0x60, 0x2a, 0x7c, 0xfc, 0x24, - 0xd7, 0x62, 0xcc, 0x77, 0x1d, 0x9b, 0xb3, 0xff, 0x3f, 0xa0, 0xb6, 0xf4, 0xe3, 0xaa, 0xf0, 0xe3, - 0x5f, 0xa4, 0x10, 0xed, 0x47, 0xd5, 0x47, 0x28, 0x06, 0xc6, 0x63, 0xf2, 0xbd, 0x02, 0x13, 0xfb, - 0x27, 0x28, 0x12, 0x97, 0xda, 0x11, 0x13, 0x68, 0xf6, 0x72, 0xcf, 0x7a, 0xd2, 0x83, 0xf3, 0xc2, - 0x83, 0x45, 0x72, 0x26, 0xda, 0x83, 0xb6, 0xb9, 0xec, 0x47, 0x05, 0x26, 0x43, 0xe6, 0x99, 0xd8, - 0x66, 0x14, 0x3d, 0x26, 0xc5, 0x36, 0xa3, 0x2e, 0xe3, 0x93, 0x7a, 0x4e, 0x90, 0x5f, 0x20, 0xf3, - 0xf1, 0xf5, 0x20, 0xbe, 0x6c, 0x99, 0xb0, 0x09, 0x87, 0xf4, 0xc6, 0x20, 0x30, 0x56, 0xc5, 0x7e, - 0x14, 0xba, 0x8d, 0x54, 0xea, 0x8a, 0xa0, 0x7f, 0x8e, 0x9c, 0x4d, 0x5a, 0xce, 0x36, 0xf9, 0x46, - 0x81, 0x74, 0xdb, 0x4b, 0x30, 0xb6, 0x5e, 0x3b, 0xe7, 0x9f, 0xd8, 0x7a, 0x0d, 0x79, 0x68, 0xaa, - 0x4b, 0x82, 0xe9, 0x69, 0x32, 0x1b, 0xf3, 0xf9, 0x22, 0x5f, 0x2b, 0x90, 0xf2, 0xdb, 0x2f, 0xc9, - 0x27, 0x6d, 0xd4, 0x1e, 0xb7, 0x8b, 0xc9, 0x15, 0x92, 0xe7, 0xef, 0x5e, 0x4f, 0x5f, 0xdd, 0x7a, - 0xbe, 0x33, 0xa3, 0xbc, 0xd8, 0x99, 0x51, 0xfe, 0xdc, 0x99, 0x51, 0xbe, 0xdc, 0x9d, 0xe9, 0x7b, - 0xb1, 0x3b, 0xd3, 0xf7, 0xc7, 0xee, 0x4c, 0xdf, 0x07, 0xb7, 0x2b, 0x86, 0x53, 0x6d, 0x96, 0x72, - 0x3a, 0xaf, 0xe7, 0x37, 0x3c, 0xa4, 0xdb, 0xb4, 0x64, 0xef, 0xe1, 0x5e, 0xd0, 0xb9, 0xc5, 0xda, - 0x97, 0x55, 0x6a, 0x98, 0xb2, 0x4f, 0xd9, 0x9e, 0x51, 0x77, 0xa6, 0xb4, 0x4b, 0xc3, 0xe2, 0x2f, - 0x92, 0x4b, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x51, 0x7a, 0x1d, 0x9a, 0xe7, 0x19, 0x00, 0x00, + // 1846 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdd, 0x6f, 0xdb, 0x46, + 0x12, 0x37, 0xfd, 0x15, 0x6b, 0x14, 0x7f, 0x64, 0xad, 0x38, 0x8a, 0x92, 0xc8, 0x0e, 0x1d, 0x7f, + 0x5d, 0x1c, 0x29, 0x56, 0x72, 0x49, 0x2e, 0x97, 0xcb, 0x21, 0xb6, 0x93, 0x3b, 0xdf, 0x39, 0x88, + 0x8f, 0xce, 0x35, 0x6d, 0x51, 0x40, 0x58, 0x51, 0xb4, 0xc4, 0x5a, 0x22, 0x15, 0x92, 0x72, 0x22, + 0x04, 0x41, 0xd1, 0x3e, 0x16, 0x05, 0x5a, 0xa0, 0xaf, 0xed, 0x7b, 0xd1, 0xb7, 0x02, 0xed, 0x43, + 0x5e, 0x0b, 0x14, 0x48, 0x1f, 0x0a, 0xa4, 0x28, 0x0a, 0x14, 0x7d, 0x08, 0x0a, 0xbb, 0x7f, 0x48, + 0xc1, 0xdd, 0x21, 0x4d, 0x4a, 0xa4, 0x48, 0x19, 0xe8, 0x9b, 0x76, 0x77, 0xe6, 0xb7, 0xbf, 0x99, + 0x9d, 0x99, 0xdd, 0xa1, 0xe0, 0x82, 0xaa, 0xbd, 0xab, 0xc8, 0x96, 0xba, 0xa7, 0xe4, 0x75, 0x83, + 0xca, 0x35, 0x25, 0xbf, 0xb7, 0x52, 0x52, 0x2c, 0xba, 0x92, 0x7f, 0xdc, 0x54, 0x8c, 0x56, 0xae, + 0x61, 0xe8, 0x96, 0x4e, 0xd2, 0xae, 0x54, 0x8e, 0x4b, 0xe5, 0x50, 0x2a, 0x73, 0xb6, 0xa2, 0xeb, + 0x95, 0x9a, 0x92, 0xa7, 0x0d, 0x35, 0x4f, 0x35, 0x4d, 0xb7, 0xa8, 0xa5, 0xea, 0x9a, 0xc9, 0xf5, + 0x32, 0x73, 0xa1, 0xe8, 0x08, 0xc3, 0xc5, 0xe6, 0x43, 0xc5, 0x2a, 0x8a, 0xa6, 0x98, 0xaa, 0x03, + 0x97, 0xaa, 0xe8, 0x15, 0x9d, 0xfd, 0xcc, 0xdb, 0xbf, 0xf8, 0xac, 0x58, 0x80, 0x93, 0xff, 0xb3, + 0xb9, 0x6e, 0xb5, 0xac, 0xea, 0x96, 0xa1, 0xca, 0x8a, 0xa4, 0x3c, 0x6e, 0x2a, 0xa6, 0x45, 0x4e, + 0xc3, 0x48, 0xc3, 0x1e, 0x17, 0xd5, 0x72, 0x5a, 0x98, 0x11, 0x16, 0x13, 0xd2, 0x31, 0x36, 0xde, + 0x28, 0x8b, 0x32, 0x4c, 0xb5, 0xeb, 0x98, 0x0d, 0x5d, 0x33, 0x15, 0xb2, 0x01, 0x49, 0xae, 0x64, + 0x5a, 0xd4, 0x52, 0x98, 0x5e, 0xb2, 0xb0, 0x98, 0x0b, 0x73, 0x40, 0xce, 0x45, 0xd8, 0xb6, 0xe5, + 0x25, 0x68, 0xb8, 0xbf, 0xc5, 0x14, 0x10, 0xbe, 0x09, 0x35, 0x68, 0xdd, 0x44, 0x56, 0xe2, 0xff, + 0x61, 0xd2, 0x37, 0x8b, 0xfb, 0xde, 0x86, 0xe1, 0x06, 0x9b, 0xc1, 0x2d, 0x67, 0xba, 0x6c, 0xc9, + 0xe4, 0x56, 0x07, 0x5f, 0xbe, 0x9e, 0xee, 0x93, 0x50, 0x4b, 0xcc, 0x40, 0x9a, 0xc1, 0xae, 0x52, + 0xad, 0x2c, 0x29, 0x35, 0xda, 0x52, 0x0c, 0x77, 0xcb, 0xeb, 0x70, 0x3a, 0x60, 0x0d, 0x37, 0xce, + 0xc0, 0x88, 0x81, 0x73, 0x69, 0x61, 0x66, 0x60, 0x31, 0x21, 0xb9, 0x63, 0xf1, 0x1c, 0x9c, 0x71, + 0x15, 0x0f, 0x8d, 0x74, 0x71, 0x77, 0xe1, 0x6c, 0xf0, 0x32, 0x42, 0xff, 0x17, 0x8e, 0x7b, 0x7c, + 0xc9, 0xe1, 0xbb, 0x3a, 0xd3, 0x0f, 0x24, 0x25, 0x0f, 0x9d, 0x69, 0x8a, 0x33, 0x90, 0x75, 0x37, + 0xdb, 0x58, 0x5d, 0x0b, 0xa0, 0xa3, 0xc1, 0x74, 0xa8, 0xc4, 0x9f, 0xc1, 0x48, 0x84, 0x19, 0x7e, + 0x92, 0xf6, 0xdc, 0x3d, 0x45, 0x09, 0x72, 0x51, 0x03, 0xce, 0x77, 0x91, 0x39, 0x2a, 0x2b, 0x17, + 0x2d, 0x80, 0xd5, 0x79, 0xf4, 0xc2, 0x9a, 0xae, 0x6a, 0x25, 0x6a, 0x2a, 0x01, 0xa4, 0x4c, 0x24, + 0x1e, 0x28, 0x82, 0x9c, 0x1e, 0x04, 0x72, 0x5a, 0x0e, 0xe7, 0xd4, 0x09, 0xe6, 0xe7, 0xe5, 0xc4, + 0x92, 0x3f, 0x61, 0x3a, 0x62, 0xa9, 0x63, 0xf9, 0xc8, 0x3e, 0xf2, 0x27, 0xa6, 0x8f, 0x4b, 0x16, + 0x37, 0xdb, 0xb6, 0x74, 0x63, 0x37, 0x80, 0x4c, 0x1d, 0xce, 0x85, 0xac, 0x23, 0x9b, 0xcd, 0x40, + 0x36, 0x4b, 0xe1, 0x6c, 0xda, 0x90, 0x82, 0x5d, 0xc3, 0x85, 0x9a, 0xa5, 0x9a, 0x6a, 0x56, 0x3d, + 0xe9, 0x7b, 0xdb, 0xc7, 0xd6, 0xb3, 0x8c, 0x64, 0xb2, 0x00, 0x0d, 0x77, 0x16, 0x73, 0xd8, 0x33, + 0x23, 0x3e, 0xc4, 0xcc, 0xd9, 0x32, 0xf4, 0x3d, 0xb5, 0xac, 0x18, 0x1e, 0x1a, 0x58, 0x29, 0x33, + 0x76, 0xa5, 0xe4, 0x8b, 0x58, 0x29, 0xdd, 0x31, 0x99, 0x82, 0x61, 0xb3, 0x55, 0x2f, 0xe9, 0xb5, + 0x74, 0x3f, 0x5b, 0xc1, 0x91, 0x58, 0xc5, 0x38, 0x0b, 0x42, 0x45, 0x62, 0x77, 0x83, 0x6a, 0xe9, + 0x85, 0x88, 0xb0, 0xee, 0xac, 0xa3, 0xa7, 0xe1, 0x14, 0xdb, 0xe9, 0xbe, 0x5e, 0x6e, 0xd6, 0x7c, + 0xc4, 0xc5, 0x37, 0xb1, 0xea, 0xf9, 0x96, 0x70, 0xf7, 0x5b, 0x30, 0xe4, 0xdd, 0x77, 0x3e, 0x7c, + 0xdf, 0x7f, 0xf1, 0x5b, 0x86, 0xab, 0x73, 0x25, 0xf1, 0x3d, 0x10, 0x19, 0xf2, 0xbf, 0x55, 0xd3, + 0xd2, 0x0d, 0x55, 0xa6, 0x35, 0xbc, 0x27, 0x64, 0xdd, 0x28, 0x3b, 0x47, 0x43, 0x6e, 0xc1, 0x30, + 0xc7, 0x62, 0x9b, 0x8c, 0x75, 0x33, 0xee, 0x01, 0x1b, 0x3e, 0x6c, 0x35, 0x14, 0x09, 0x75, 0xc8, + 0x19, 0x48, 0x70, 0x67, 0xda, 0x37, 0x14, 0xf7, 0xee, 0x08, 0x9f, 0xd8, 0x28, 0x8b, 0x06, 0xcc, + 0x76, 0x25, 0xe0, 0xe6, 0xc5, 0x28, 0xf7, 0xb1, 0xc1, 0x17, 0x30, 0x14, 0xe7, 0x23, 0xbc, 0xec, + 0xc0, 0xf0, 0x30, 0xc6, 0x91, 0xf8, 0xa1, 0x00, 0x29, 0xce, 0x93, 0xef, 0xda, 0x7a, 0xd0, 0x60, + 0xd7, 0x39, 0x39, 0x05, 0xc7, 0xea, 0xf4, 0x69, 0x91, 0x56, 0xb8, 0xa1, 0x83, 0xd2, 0x70, 0x9d, + 0x3e, 0xbd, 0x53, 0x51, 0x48, 0x0e, 0x26, 0x55, 0x4d, 0xae, 0x35, 0xcb, 0x4a, 0xd1, 0xa0, 0x4f, + 0x8a, 0x55, 0xae, 0xc6, 0x8c, 0x19, 0x91, 0x4e, 0xe0, 0x92, 0x44, 0x9f, 0x20, 0x1e, 0x59, 0x82, + 0x09, 0x47, 0xbe, 0xae, 0x58, 0xb4, 0x4c, 0x2d, 0x9a, 0x1e, 0x60, 0xc2, 0xe3, 0x38, 0x7f, 0x1f, + 0xa7, 0xc5, 0x8f, 0xfa, 0x31, 0xee, 0x39, 0xa3, 0x37, 0xf4, 0x1a, 0xb5, 0xd4, 0x9a, 0x6a, 0xb5, + 0x1c, 0xe7, 0xdf, 0x81, 0x84, 0x5d, 0x70, 0x8a, 0xaa, 0xb6, 0xa3, 0x47, 0x07, 0x17, 0x47, 0xd9, + 0xd0, 0x76, 0x74, 0x69, 0xc4, 0x56, 0xb3, 0x7f, 0x91, 0x35, 0x80, 0xc7, 0x4d, 0xdd, 0x42, 0x8c, + 0xfe, 0x1e, 0x30, 0x12, 0x4c, 0x8f, 0x81, 0x94, 0x61, 0x8a, 0xcb, 0x39, 0xe6, 0x17, 0x75, 0xee, + 0x36, 0x66, 0x59, 0xb2, 0x90, 0x8b, 0x02, 0xf4, 0x3b, 0x5b, 0x4a, 0xe9, 0x01, 0xb3, 0xe2, 0xfb, + 0xfd, 0x58, 0x94, 0x3a, 0xdd, 0x81, 0xa1, 0xf0, 0x4f, 0x80, 0x3d, 0x77, 0x96, 0xe7, 0xf1, 0xea, + 0xf4, 0xaf, 0xaf, 0xa7, 0xcf, 0xc8, 0xba, 0x59, 0xd7, 0x4d, 0xb3, 0xbc, 0x9b, 0x53, 0xf5, 0x7c, + 0x9d, 0x5a, 0xd5, 0xdc, 0xa6, 0x52, 0xa1, 0x72, 0x6b, 0x5d, 0x91, 0x25, 0x8f, 0x0a, 0x79, 0x04, + 0x13, 0x8e, 0x05, 0xee, 0xe1, 0x70, 0x9f, 0x74, 0xa9, 0xfb, 0xce, 0x79, 0xd9, 0xd9, 0xa3, 0x9a, + 0x96, 0x2a, 0x9b, 0xd2, 0x38, 0xa2, 0x38, 0x4b, 0xe4, 0x1e, 0x24, 0xbd, 0xd1, 0x31, 0xc0, 0x42, + 0x74, 0x2e, 0x56, 0x88, 0x4a, 0x60, 0xb8, 0xd1, 0xe3, 0xde, 0x6d, 0xdc, 0x05, 0x4e, 0xe5, 0x31, + 0xd9, 0x81, 0x60, 0x45, 0xa8, 0xe2, 0xdd, 0x16, 0x28, 0x82, 0x8e, 0x5a, 0x87, 0x84, 0x53, 0xde, + 0x62, 0xe5, 0x0b, 0x17, 0xe5, 0xc7, 0xee, 0x2a, 0x8a, 0xb7, 0x03, 0x77, 0x62, 0xd4, 0xcd, 0x18, + 0x85, 0x55, 0x34, 0xf0, 0x69, 0x10, 0xac, 0x8f, 0x54, 0xef, 0xdb, 0xe9, 0xcd, 0x57, 0xb6, 0xb1, + 0x98, 0xd9, 0x74, 0x17, 0xa2, 0xe9, 0xf2, 0x6a, 0xe6, 0xd7, 0x16, 0xdf, 0x81, 0xb1, 0x6d, 0x99, + 0xd6, 0x54, 0xad, 0xe2, 0x64, 0xf6, 0x2c, 0x8c, 0xb2, 0x24, 0x2a, 0x2b, 0xb2, 0x5a, 0xa7, 0x35, + 0xfe, 0xfc, 0x1c, 0x95, 0x8e, 0xdb, 0x93, 0xeb, 0x38, 0x47, 0xe6, 0x60, 0x8c, 0xa7, 0x89, 0x2b, + 0xd5, 0xcf, 0xa4, 0x46, 0xd9, 0xac, 0x23, 0x26, 0x1e, 0x08, 0x58, 0xa9, 0x1d, 0x93, 0x3c, 0x8f, + 0xf1, 0xbb, 0x90, 0xc4, 0x24, 0xb1, 0x5a, 0x8d, 0xde, 0xca, 0x25, 0xe8, 0xee, 0x6f, 0x42, 0x60, + 0xd0, 0x66, 0x86, 0xd5, 0x92, 0xfd, 0x26, 0x29, 0x18, 0x62, 0x3c, 0x58, 0xba, 0x25, 0x24, 0x3e, + 0x20, 0x8f, 0x60, 0xdc, 0xe4, 0xa6, 0xba, 0xe9, 0x38, 0x18, 0xf5, 0x98, 0xf7, 0xfb, 0x86, 0xbd, + 0xb0, 0x05, 0x69, 0xcc, 0xf4, 0xcd, 0x8a, 0xfb, 0x03, 0x30, 0xc6, 0x4c, 0xdb, 0xa2, 0x2a, 0x77, + 0x2b, 0x59, 0x05, 0x68, 0x50, 0xd5, 0x28, 0xb2, 0x62, 0x8a, 0x99, 0x37, 0x6b, 0x3f, 0xcf, 0xa3, + 0xb2, 0x2f, 0x61, 0xab, 0x31, 0x30, 0x1b, 0x83, 0x1d, 0x04, 0xc7, 0xe8, 0xef, 0x01, 0xc3, 0x7d, + 0x75, 0x91, 0x75, 0x48, 0xf2, 0x73, 0xe2, 0x20, 0x03, 0xf1, 0x41, 0x78, 0x19, 0xe4, 0x28, 0x8f, + 0xe0, 0x24, 0x63, 0x22, 0x37, 0xeb, 0x4d, 0xbb, 0x36, 0xec, 0x39, 0x78, 0x83, 0xf1, 0xf1, 0x26, + 0x6d, 0x84, 0x35, 0x17, 0x80, 0x03, 0xbf, 0x05, 0x53, 0x9c, 0x5e, 0x07, 0xf2, 0x50, 0x7c, 0xe4, + 0x14, 0x83, 0x68, 0x87, 0x9e, 0x83, 0x31, 0xc6, 0xd9, 0x52, 0xeb, 0x8a, 0x69, 0xd1, 0x7a, 0x23, + 0x3d, 0x3c, 0x23, 0x2c, 0x0e, 0x48, 0x2c, 0xb8, 0x1f, 0x3a, 0x93, 0x64, 0x01, 0xc6, 0x39, 0x83, + 0x43, 0xb9, 0x63, 0x4c, 0x8e, 0xc7, 0xb7, 0x2b, 0x28, 0x6a, 0xf8, 0xb0, 0xf0, 0x45, 0x32, 0xe6, + 0xa4, 0x04, 0x13, 0xfc, 0xca, 0x65, 0x67, 0x1e, 0xb7, 0x4f, 0xf4, 0x45, 0x8c, 0x34, 0xd6, 0xf0, + 0x8d, 0x0b, 0x3f, 0xa4, 0x61, 0x88, 0x6d, 0x48, 0x3e, 0x16, 0x60, 0x98, 0x77, 0x78, 0xa4, 0x4b, + 0xd5, 0xed, 0x6c, 0x2c, 0x33, 0x97, 0x62, 0x4a, 0x73, 0x2b, 0xc4, 0xc5, 0x0f, 0x7e, 0xfa, 0xfd, + 0xd3, 0x7e, 0x91, 0xcc, 0xe4, 0x43, 0xbb, 0x6f, 0xde, 0x5a, 0x92, 0x2f, 0x04, 0x38, 0xee, 0x6d, + 0x1d, 0x49, 0x21, 0x62, 0xa7, 0x80, 0x1e, 0x34, 0x73, 0xa5, 0x27, 0x1d, 0xe4, 0x98, 0x67, 0x1c, + 0x97, 0xc8, 0x42, 0x38, 0xc7, 0x12, 0xd5, 0xca, 0x45, 0xa7, 0x61, 0x25, 0xdf, 0x08, 0x30, 0xde, + 0xd6, 0x8d, 0x92, 0xbf, 0xc6, 0xd8, 0xb9, 0xb3, 0x07, 0xc8, 0x5c, 0xeb, 0x55, 0x0d, 0x39, 0x5f, + 0x61, 0x9c, 0x2f, 0x91, 0x8b, 0x11, 0x9c, 0xbd, 0xfd, 0x03, 0xf9, 0x56, 0x00, 0xd2, 0xd9, 0xb6, + 0x92, 0x1b, 0x31, 0x38, 0x04, 0xf6, 0xc2, 0x99, 0xbf, 0x1d, 0x41, 0x13, 0x0d, 0xb8, 0xce, 0x0c, + 0x58, 0x21, 0xf9, 0x08, 0x03, 0xd4, 0x92, 0xec, 0x37, 0xe2, 0x7b, 0x01, 0x52, 0x41, 0x7d, 0x2e, + 0xb9, 0x19, 0x15, 0x99, 0xe1, 0x0d, 0x74, 0xe6, 0xef, 0x47, 0xd2, 0x45, 0x53, 0x6e, 0x30, 0x53, + 0x0a, 0xe4, 0x72, 0x97, 0x18, 0xb7, 0xd5, 0x76, 0x14, 0xa5, 0xed, 0x40, 0xbe, 0x13, 0x60, 0x32, + 0xa0, 0x3d, 0x26, 0x51, 0x7e, 0x0d, 0xef, 0xba, 0x33, 0x37, 0x8f, 0xa2, 0x1a, 0xff, 0x4c, 0x64, + 0x54, 0xf7, 0xdb, 0x61, 0x27, 0x44, 0x5b, 0x4b, 0x1d, 0x99, 0x10, 0xc1, 0x1d, 0x7a, 0x64, 0x42, + 0x84, 0x74, 0xee, 0x71, 0x12, 0xa2, 0xd1, 0xb2, 0xaa, 0x7e, 0xde, 0x2f, 0x04, 0x98, 0x68, 0xef, + 0xbe, 0x49, 0x14, 0x83, 0x90, 0x76, 0x3e, 0x73, 0xbd, 0x67, 0x3d, 0xa4, 0x7e, 0x95, 0x51, 0xcf, + 0x91, 0xe5, 0x70, 0xea, 0xf6, 0xc3, 0x74, 0xd7, 0xcf, 0xfd, 0x6b, 0x01, 0xc6, 0xdb, 0x7a, 0xf5, + 0x48, 0x9f, 0x07, 0xb7, 0xfe, 0x99, 0x6b, 0xbd, 0xaa, 0x21, 0xf1, 0x02, 0x23, 0xbe, 0x4c, 0xfe, + 0x12, 0x49, 0xfc, 0x90, 0xe2, 0xcf, 0x02, 0x90, 0xce, 0x66, 0x3e, 0xb2, 0x06, 0x85, 0x7e, 0x55, + 0x88, 0xac, 0x41, 0xe1, 0x5f, 0x0e, 0xc4, 0xff, 0x30, 0xfe, 0xeb, 0x64, 0xb5, 0x5b, 0xe2, 0x72, + 0x6d, 0xaf, 0xef, 0xf3, 0xcf, 0x9c, 0xd9, 0xe7, 0xf9, 0x67, 0xbc, 0x93, 0x7e, 0x4e, 0xbe, 0x14, + 0xe0, 0x04, 0xbf, 0xc6, 0x3d, 0x5f, 0x09, 0xc8, 0x4a, 0x04, 0xb9, 0xce, 0x8f, 0x0d, 0x99, 0x42, + 0x2f, 0x2a, 0x68, 0x48, 0x8e, 0x19, 0xb2, 0x48, 0xe6, 0xc3, 0x0d, 0xa9, 0x33, 0x35, 0x6e, 0x00, + 0xf9, 0x51, 0x80, 0xa9, 0xe0, 0x8e, 0x9f, 0xdc, 0x8a, 0xd8, 0xbe, 0xeb, 0x97, 0x8a, 0xcc, 0x3f, + 0x8e, 0xa8, 0x8d, 0x76, 0xdc, 0x64, 0x76, 0x5c, 0x25, 0x85, 0x70, 0x3b, 0xaa, 0x2e, 0x42, 0xd1, + 0xf7, 0x45, 0x82, 0x7c, 0x25, 0xc0, 0x44, 0x7b, 0xd3, 0x1a, 0x99, 0xcb, 0x21, 0x4d, 0x7f, 0x64, + 0x2e, 0x87, 0x75, 0xc7, 0xe2, 0x32, 0xb3, 0x60, 0x9e, 0x5c, 0x08, 0xb7, 0xc0, 0xd3, 0x0a, 0xbf, + 0x10, 0x60, 0x32, 0xa0, 0x85, 0x8c, 0xac, 0xff, 0xe1, 0x9d, 0x69, 0x64, 0xfd, 0xef, 0xd2, 0xb1, + 0x8a, 0x17, 0x19, 0xf9, 0x39, 0x32, 0x1b, 0x9d, 0x0f, 0xec, 0x31, 0x91, 0x0a, 0x6a, 0x2a, 0x49, + 0x6f, 0x0c, 0x7c, 0x9d, 0x6c, 0xe4, 0x3d, 0xdc, 0xad, 0x8b, 0x15, 0x57, 0x18, 0xfd, 0x8b, 0x64, + 0x29, 0x6e, 0x3a, 0x9b, 0xe4, 0x73, 0x01, 0x92, 0x9e, 0xc7, 0x77, 0x64, 0xbe, 0x76, 0xb6, 0x9c, + 0x91, 0xf9, 0x1a, 0xf0, 0xb6, 0x17, 0x17, 0x18, 0xd3, 0xf3, 0x64, 0x3a, 0xe2, 0xc5, 0x40, 0x3e, + 0x13, 0x20, 0xe1, 0xde, 0x78, 0x24, 0x1f, 0xf7, 0x6e, 0x74, 0xb8, 0x5d, 0x8e, 0xaf, 0x10, 0x3f, + 0x7e, 0x0f, 0xaf, 0xd1, 0xd5, 0x9d, 0x97, 0xfb, 0x59, 0xe1, 0xd5, 0x7e, 0x56, 0xf8, 0x6d, 0x3f, + 0x2b, 0x7c, 0x72, 0x90, 0xed, 0x7b, 0x75, 0x90, 0xed, 0xfb, 0xe5, 0x20, 0xdb, 0xf7, 0xf6, 0x66, + 0x45, 0xb5, 0xaa, 0xcd, 0x52, 0x4e, 0xd6, 0xeb, 0xf9, 0x0d, 0x07, 0x69, 0x93, 0x96, 0xcc, 0x43, + 0xdc, 0x4b, 0xb2, 0x6e, 0x28, 0xde, 0x61, 0x95, 0xaa, 0x1a, 0xd6, 0x29, 0xd3, 0xd9, 0xd4, 0x6e, + 0xe3, 0xcd, 0xd2, 0x30, 0xfb, 0x0f, 0xee, 0xca, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x91, 0x50, + 0x4b, 0xd5, 0x48, 0x1c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1744,6 +1924,10 @@ type QueryClient interface { CoinbasePriceStates(ctx context.Context, in *QueryCoinbasePriceStatesRequest, opts ...grpc.CallOption) (*QueryCoinbasePriceStatesResponse, error) // Retrieves the state for all pyth price feeds PythPriceStates(ctx context.Context, in *QueryPythPriceStatesRequest, opts ...grpc.CallOption) (*QueryPythPriceStatesResponse, error) + // Retrieves the state for all stork price feeds + StorkPriceStates(ctx context.Context, in *QueryStorkPriceStatesRequest, opts ...grpc.CallOption) (*QueryStorkPriceStatesResponse, error) + // Retrieves all stork publishers + StorkPublishers(ctx context.Context, in *QueryStorkPublishersRequest, opts ...grpc.CallOption) (*QueryStorkPublishersResponse, error) // Retrieves the state for all provider price feeds ProviderPriceState(ctx context.Context, in *QueryProviderPriceStateRequest, opts ...grpc.CallOption) (*QueryProviderPriceStateResponse, error) // Retrieves the entire oracle module's state @@ -1829,6 +2013,24 @@ func (c *queryClient) PythPriceStates(ctx context.Context, in *QueryPythPriceSta return out, nil } +func (c *queryClient) StorkPriceStates(ctx context.Context, in *QueryStorkPriceStatesRequest, opts ...grpc.CallOption) (*QueryStorkPriceStatesResponse, error) { + out := new(QueryStorkPriceStatesResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/StorkPriceStates", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) StorkPublishers(ctx context.Context, in *QueryStorkPublishersRequest, opts ...grpc.CallOption) (*QueryStorkPublishersResponse, error) { + out := new(QueryStorkPublishersResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/StorkPublishers", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *queryClient) ProviderPriceState(ctx context.Context, in *QueryProviderPriceStateRequest, opts ...grpc.CallOption) (*QueryProviderPriceStateResponse, error) { out := new(QueryProviderPriceStateResponse) err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Query/ProviderPriceState", in, out, opts...) @@ -1917,6 +2119,10 @@ type QueryServer interface { CoinbasePriceStates(context.Context, *QueryCoinbasePriceStatesRequest) (*QueryCoinbasePriceStatesResponse, error) // Retrieves the state for all pyth price feeds PythPriceStates(context.Context, *QueryPythPriceStatesRequest) (*QueryPythPriceStatesResponse, error) + // Retrieves the state for all stork price feeds + StorkPriceStates(context.Context, *QueryStorkPriceStatesRequest) (*QueryStorkPriceStatesResponse, error) + // Retrieves all stork publishers + StorkPublishers(context.Context, *QueryStorkPublishersRequest) (*QueryStorkPublishersResponse, error) // Retrieves the state for all provider price feeds ProviderPriceState(context.Context, *QueryProviderPriceStateRequest) (*QueryProviderPriceStateResponse, error) // Retrieves the entire oracle module's state @@ -1956,6 +2162,12 @@ func (*UnimplementedQueryServer) CoinbasePriceStates(ctx context.Context, req *Q func (*UnimplementedQueryServer) PythPriceStates(ctx context.Context, req *QueryPythPriceStatesRequest) (*QueryPythPriceStatesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PythPriceStates not implemented") } +func (*UnimplementedQueryServer) StorkPriceStates(ctx context.Context, req *QueryStorkPriceStatesRequest) (*QueryStorkPriceStatesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StorkPriceStates not implemented") +} +func (*UnimplementedQueryServer) StorkPublishers(ctx context.Context, req *QueryStorkPublishersRequest) (*QueryStorkPublishersResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StorkPublishers not implemented") +} func (*UnimplementedQueryServer) ProviderPriceState(ctx context.Context, req *QueryProviderPriceStateRequest) (*QueryProviderPriceStateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ProviderPriceState not implemented") } @@ -2111,6 +2323,42 @@ func _Query_PythPriceStates_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Query_StorkPriceStates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryStorkPriceStatesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).StorkPriceStates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Query/StorkPriceStates", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).StorkPriceStates(ctx, req.(*QueryStorkPriceStatesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_StorkPublishers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryStorkPublishersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).StorkPublishers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Query/StorkPublishers", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).StorkPublishers(ctx, req.(*QueryStorkPublishersRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Query_ProviderPriceState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(QueryProviderPriceStateRequest) if err := dec(in); err != nil { @@ -2287,6 +2535,14 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "PythPriceStates", Handler: _Query_PythPriceStates_Handler, }, + { + MethodName: "StorkPriceStates", + Handler: _Query_StorkPriceStates_Handler, + }, + { + MethodName: "StorkPublishers", + Handler: _Query_StorkPublishers_Handler, + }, { MethodName: "ProviderPriceState", Handler: _Query_ProviderPriceState_Handler, @@ -2800,7 +3056,7 @@ func (m *QueryPythPriceStatesResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPriceStatesRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2810,34 +3066,20 @@ func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProviderPriceStateRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProviderPriceStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Symbol) > 0 { - i -= len(m.Symbol) - copy(dAtA[i:], m.Symbol) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Symbol))) - i-- - dAtA[i] = 0x12 - } - if len(m.Provider) > 0 { - i -= len(m.Provider) - copy(dAtA[i:], m.Provider) - i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPriceStatesResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2847,32 +3089,34 @@ func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryProviderPriceStateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryProviderPriceStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPriceStatesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.PriceState != nil { - { - size, err := m.PriceState.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if len(m.PriceStates) > 0 { + for iNdEx := len(m.PriceStates) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PriceStates[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryModuleStateRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPublishersRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2882,12 +3126,12 @@ func (m *QueryModuleStateRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryModuleStateRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -2895,7 +3139,7 @@ func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *QueryModuleStateResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryStorkPublishersResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2905,32 +3149,29 @@ func (m *QueryModuleStateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryModuleStateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryStorkPublishersResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.State != nil { - { - size, err := m.State.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintQuery(dAtA, i, uint64(size)) + if len(m.Publishers) > 0 { + for iNdEx := len(m.Publishers) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Publishers[iNdEx]) + copy(dAtA[i:], m.Publishers[iNdEx]) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Publishers[iNdEx]))) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryHistoricalPriceRecordsRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryProviderPriceStateRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2940,32 +3181,34 @@ func (m *QueryHistoricalPriceRecordsRequest) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *QueryHistoricalPriceRecordsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryHistoricalPriceRecordsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.SymbolId) > 0 { - i -= len(m.SymbolId) - copy(dAtA[i:], m.SymbolId) - i = encodeVarintQuery(dAtA, i, uint64(len(m.SymbolId))) + if len(m.Symbol) > 0 { + i -= len(m.Symbol) + copy(dAtA[i:], m.Symbol) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Symbol))) i-- dAtA[i] = 0x12 } - if m.Oracle != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.Oracle)) + if len(m.Provider) > 0 { + i -= len(m.Provider) + copy(dAtA[i:], m.Provider) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Provider))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *QueryHistoricalPriceRecordsResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryProviderPriceStateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2975,7 +3218,135 @@ func (m *QueryHistoricalPriceRecordsResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *QueryHistoricalPriceRecordsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryProviderPriceStateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryProviderPriceStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.PriceState != nil { + { + size, err := m.PriceState.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryModuleStateRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryModuleStateRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryModuleStateRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryModuleStateResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryModuleStateResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryModuleStateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.State != nil { + { + size, err := m.State.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryHistoricalPriceRecordsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryHistoricalPriceRecordsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryHistoricalPriceRecordsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.SymbolId) > 0 { + i -= len(m.SymbolId) + copy(dAtA[i:], m.SymbolId) + i = encodeVarintQuery(dAtA, i, uint64(len(m.SymbolId))) + i-- + dAtA[i] = 0x12 + } + if m.Oracle != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.Oracle)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *QueryHistoricalPriceRecordsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryHistoricalPriceRecordsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } @@ -3703,6 +4074,54 @@ func (m *QueryPythPriceStatesResponse) Size() (n int) { return n } +func (m *QueryStorkPriceStatesRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryStorkPriceStatesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.PriceStates) > 0 { + for _, e := range m.PriceStates { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func (m *QueryStorkPublishersRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryStorkPublishersResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Publishers) > 0 { + for _, s := range m.Publishers { + l = len(s) + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + func (m *QueryProviderPriceStateRequest) Size() (n int) { if m == nil { return 0 @@ -5086,6 +5505,272 @@ func (m *QueryPythPriceStatesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryStorkPriceStatesRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryStorkPriceStatesRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPriceStatesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryStorkPriceStatesResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryStorkPriceStatesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPriceStatesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PriceStates", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PriceStates = append(m.PriceStates, &StorkPriceState{}) + if err := m.PriceStates[len(m.PriceStates)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryStorkPublishersRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryStorkPublishersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPublishersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryStorkPublishersResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryStorkPublishersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryStorkPublishersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Publishers", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Publishers = append(m.Publishers, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *QueryProviderPriceStateRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/oracle/types/stork.go b/chain/oracle/types/stork.go new file mode 100644 index 00000000..343eb8e8 --- /dev/null +++ b/chain/oracle/types/stork.go @@ -0,0 +1,29 @@ +package types + +import ( + "cosmossdk.io/math" +) + +func NewStorkPriceState( + price math.LegacyDec, + timestamp uint64, + symbol string, + blockTime int64, +) *StorkPriceState { + return &StorkPriceState{ + Timestamp: timestamp, + Symbol: symbol, + Value: price, + PriceState: *NewPriceState(price, blockTime), + } +} + +func (s *StorkPriceState) Update(price math.LegacyDec, timestamp uint64, blockTime int64) { + s.Value = price + s.Timestamp = timestamp + s.PriceState.UpdatePrice(price, blockTime) +} + +func ScaleStorkPrice(price math.LegacyDec) math.LegacyDec { + return price.QuoTruncate(EighteenDecimals) +} diff --git a/chain/oracle/types/stork_oracle.go b/chain/oracle/types/stork_oracle.go new file mode 100644 index 00000000..da52f788 --- /dev/null +++ b/chain/oracle/types/stork_oracle.go @@ -0,0 +1,39 @@ +package types + +import ( + "bytes" + "math/big" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/math" + "github.com/ethereum/go-ethereum/crypto" + + peggytypes "github.com/InjectiveLabs/sdk-go/chain/peggy/types" +) + +func getMessageHash(publisher common.Address, assetPairID, timeStamp, price string) (hash common.Hash) { + enc := encodePacked(publisher.Bytes(), []byte(assetPairID), encodeUint256(timeStamp), encodeUint256(price)) + + return crypto.Keccak256Hash(enc) +} + +func encodePacked(input ...[]byte) []byte { + return bytes.Join(input, nil) +} + +func encodeUint256(v string) []byte { + bn := new(big.Int) + bn.SetString(v, 10) + return math.U256Bytes(bn) +} + +func VerifyStorkMsgSignature(oraclePubKey common.Address, assetPairID, timeStamp, price string, signature []byte) bool { + hash := getMessageHash(oraclePubKey, assetPairID, timeStamp, price) + + recoveredPubKey, err := peggytypes.EthAddressFromSignature(hash, signature) + if err != nil { + return false + } + + return recoveredPubKey == oraclePubKey +} diff --git a/chain/oracle/types/tx.pb.go b/chain/oracle/types/tx.pb.go index 8eae71e5..eaf64d6b 100644 --- a/chain/oracle/types/tx.pb.go +++ b/chain/oracle/types/tx.pb.go @@ -378,6 +378,82 @@ func (m *MsgRelayCoinbaseMessagesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRelayCoinbaseMessagesResponse proto.InternalMessageInfo +// MsgRelayStorkPrices defines a SDK message for relaying price message +// from Stork API. +type MsgRelayStorkPrices struct { + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"` + AssetPairs []*AssetPair `protobuf:"bytes,2,rep,name=asset_pairs,json=assetPairs,proto3" json:"asset_pairs,omitempty"` +} + +func (m *MsgRelayStorkPrices) Reset() { *m = MsgRelayStorkPrices{} } +func (m *MsgRelayStorkPrices) String() string { return proto.CompactTextString(m) } +func (*MsgRelayStorkPrices) ProtoMessage() {} +func (*MsgRelayStorkPrices) Descriptor() ([]byte, []int) { + return fileDescriptor_5fdf1c490eba4310, []int{8} +} +func (m *MsgRelayStorkPrices) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRelayStorkPrices) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRelayStorkPrices.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRelayStorkPrices) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRelayStorkPrices.Merge(m, src) +} +func (m *MsgRelayStorkPrices) XXX_Size() int { + return m.Size() +} +func (m *MsgRelayStorkPrices) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRelayStorkPrices.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRelayStorkPrices proto.InternalMessageInfo + +type MsgRelayStorkPricesResponse struct { +} + +func (m *MsgRelayStorkPricesResponse) Reset() { *m = MsgRelayStorkPricesResponse{} } +func (m *MsgRelayStorkPricesResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRelayStorkPricesResponse) ProtoMessage() {} +func (*MsgRelayStorkPricesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_5fdf1c490eba4310, []int{9} +} +func (m *MsgRelayStorkPricesResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRelayStorkPricesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRelayStorkPricesResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRelayStorkPricesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRelayStorkPricesResponse.Merge(m, src) +} +func (m *MsgRelayStorkPricesResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRelayStorkPricesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRelayStorkPricesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRelayStorkPricesResponse proto.InternalMessageInfo + // MsgRequestBandIBCRates defines a SDK message for requesting data from // BandChain using IBC. type MsgRequestBandIBCRates struct { @@ -389,7 +465,7 @@ func (m *MsgRequestBandIBCRates) Reset() { *m = MsgRequestBandIBCRates{} func (m *MsgRequestBandIBCRates) String() string { return proto.CompactTextString(m) } func (*MsgRequestBandIBCRates) ProtoMessage() {} func (*MsgRequestBandIBCRates) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{8} + return fileDescriptor_5fdf1c490eba4310, []int{10} } func (m *MsgRequestBandIBCRates) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -426,7 +502,7 @@ func (m *MsgRequestBandIBCRatesResponse) Reset() { *m = MsgRequestBandIB func (m *MsgRequestBandIBCRatesResponse) String() string { return proto.CompactTextString(m) } func (*MsgRequestBandIBCRatesResponse) ProtoMessage() {} func (*MsgRequestBandIBCRatesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{9} + return fileDescriptor_5fdf1c490eba4310, []int{11} } func (m *MsgRequestBandIBCRatesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -465,7 +541,7 @@ func (m *MsgRelayPythPrices) Reset() { *m = MsgRelayPythPrices{} } func (m *MsgRelayPythPrices) String() string { return proto.CompactTextString(m) } func (*MsgRelayPythPrices) ProtoMessage() {} func (*MsgRelayPythPrices) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{10} + return fileDescriptor_5fdf1c490eba4310, []int{12} } func (m *MsgRelayPythPrices) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -502,7 +578,7 @@ func (m *MsgRelayPythPricesResponse) Reset() { *m = MsgRelayPythPricesRe func (m *MsgRelayPythPricesResponse) String() string { return proto.CompactTextString(m) } func (*MsgRelayPythPricesResponse) ProtoMessage() {} func (*MsgRelayPythPricesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{11} + return fileDescriptor_5fdf1c490eba4310, []int{13} } func (m *MsgRelayPythPricesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -544,7 +620,7 @@ func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } func (*MsgUpdateParams) ProtoMessage() {} func (*MsgUpdateParams) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{12} + return fileDescriptor_5fdf1c490eba4310, []int{14} } func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -594,7 +670,7 @@ func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } func (*MsgUpdateParamsResponse) ProtoMessage() {} func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_5fdf1c490eba4310, []int{13} + return fileDescriptor_5fdf1c490eba4310, []int{15} } func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -632,6 +708,8 @@ func init() { proto.RegisterType((*MsgRelayBandRatesResponse)(nil), "injective.oracle.v1beta1.MsgRelayBandRatesResponse") proto.RegisterType((*MsgRelayCoinbaseMessages)(nil), "injective.oracle.v1beta1.MsgRelayCoinbaseMessages") proto.RegisterType((*MsgRelayCoinbaseMessagesResponse)(nil), "injective.oracle.v1beta1.MsgRelayCoinbaseMessagesResponse") + proto.RegisterType((*MsgRelayStorkPrices)(nil), "injective.oracle.v1beta1.MsgRelayStorkPrices") + proto.RegisterType((*MsgRelayStorkPricesResponse)(nil), "injective.oracle.v1beta1.MsgRelayStorkPricesResponse") proto.RegisterType((*MsgRequestBandIBCRates)(nil), "injective.oracle.v1beta1.MsgRequestBandIBCRates") proto.RegisterType((*MsgRequestBandIBCRatesResponse)(nil), "injective.oracle.v1beta1.MsgRequestBandIBCRatesResponse") proto.RegisterType((*MsgRelayPythPrices)(nil), "injective.oracle.v1beta1.MsgRelayPythPrices") @@ -643,65 +721,69 @@ func init() { func init() { proto.RegisterFile("injective/oracle/v1beta1/tx.proto", fileDescriptor_5fdf1c490eba4310) } var fileDescriptor_5fdf1c490eba4310 = []byte{ - // 914 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0x26, 0x8e, 0x21, 0xd3, 0x40, 0x95, 0x21, 0xa4, 0x9b, 0x2d, 0xb5, 0x8d, 0x2b, 0xa4, - 0x36, 0xd0, 0x5d, 0x9c, 0xf2, 0xd7, 0x48, 0x48, 0x75, 0x2b, 0xa4, 0x48, 0x89, 0x14, 0x2d, 0x70, - 0x80, 0x4b, 0x34, 0xde, 0x1d, 0xd6, 0x03, 0xde, 0x9d, 0xed, 0xcc, 0xd8, 0xc2, 0x47, 0x38, 0x00, - 0xe2, 0xc4, 0x47, 0xe8, 0x8d, 0x6b, 0x0f, 0x3d, 0xf1, 0x09, 0x7a, 0x00, 0xa9, 0xe2, 0x84, 0x7a, - 0xa8, 0x50, 0x72, 0x28, 0x1f, 0x80, 0x0f, 0x50, 0xed, 0xec, 0xec, 0x78, 0xbd, 0xf6, 0xc6, 0xf6, - 0x25, 0x99, 0xf7, 0xde, 0xef, 0xbd, 0xf9, 0xfd, 0xe6, 0xcd, 0x3c, 0x2f, 0x78, 0x93, 0x44, 0xdf, - 0x62, 0x4f, 0x90, 0x11, 0x76, 0x28, 0x43, 0xde, 0x00, 0x3b, 0xa3, 0x76, 0x0f, 0x0b, 0xd4, 0x76, - 0xc4, 0xf7, 0x76, 0xcc, 0xa8, 0xa0, 0xd0, 0xd4, 0x10, 0x3b, 0x85, 0xd8, 0x0a, 0x62, 0xed, 0x04, - 0x34, 0xa0, 0x12, 0xe4, 0x24, 0xab, 0x14, 0x6f, 0xbd, 0x55, 0x5a, 0x52, 0xa5, 0xa7, 0xb0, 0x2b, - 0x1e, 0xe5, 0x21, 0xe5, 0x4e, 0xc8, 0x03, 0x67, 0xd4, 0x4e, 0xfe, 0xa9, 0xc0, 0x5e, 0x1a, 0x38, - 0x4d, 0x0b, 0xa7, 0x86, 0x0a, 0x6d, 0xa3, 0x90, 0x44, 0xd4, 0x91, 0x7f, 0x53, 0x57, 0xeb, 0xa9, - 0x01, 0x76, 0x8f, 0x79, 0xe0, 0xe2, 0x01, 0x1a, 0x9f, 0x30, 0x3a, 0x22, 0x3e, 0x66, 0x27, 0x8c, - 0x78, 0x98, 0xc3, 0x5d, 0x50, 0xe3, 0x38, 0xf2, 0x31, 0x33, 0x8d, 0xa6, 0x71, 0x63, 0xd3, 0x55, - 0x16, 0xb4, 0xc0, 0xcb, 0xb1, 0x42, 0x9a, 0x6b, 0x32, 0xa2, 0x6d, 0x68, 0x82, 0x97, 0xf8, 0x38, - 0xec, 0xd1, 0x01, 0x37, 0xd7, 0x9b, 0xeb, 0x37, 0x36, 0xdd, 0xcc, 0x84, 0x9f, 0x80, 0x5a, 0x2c, - 0xeb, 0x9a, 0xd5, 0x24, 0xd0, 0xbd, 0xfe, 0xf8, 0x59, 0xa3, 0xf2, 0xf4, 0x59, 0xe3, 0x6a, 0xca, - 0x90, 0xfb, 0xdf, 0xd9, 0x84, 0x3a, 0x21, 0x12, 0x7d, 0xfb, 0x08, 0x07, 0xc8, 0x1b, 0xdf, 0xc3, - 0x9e, 0xab, 0x52, 0x3a, 0xef, 0xff, 0xf2, 0xa0, 0x51, 0xf9, 0xef, 0x41, 0xa3, 0xf2, 0xe3, 0xf3, - 0x87, 0xfb, 0x8a, 0xc7, 0xaf, 0xcf, 0x1f, 0xee, 0x5f, 0x53, 0x27, 0x34, 0x5f, 0x41, 0xab, 0x09, - 0xea, 0xf3, 0x23, 0x2e, 0xe6, 0x31, 0x8d, 0x38, 0x6e, 0xfd, 0x39, 0x25, 0x9f, 0x78, 0xf8, 0x33, - 0x8c, 0x7d, 0xb9, 0x28, 0x95, 0x0f, 0x41, 0xb5, 0x87, 0x38, 0x36, 0xd7, 0xa4, 0x3e, 0xb9, 0x86, - 0x3b, 0x60, 0xe3, 0xfe, 0x90, 0x0a, 0xac, 0x44, 0xa7, 0x06, 0xfc, 0x18, 0x6c, 0x48, 0xfe, 0xab, - 0x28, 0x4e, 0x33, 0x56, 0x10, 0x9c, 0xe7, 0x3c, 0x2d, 0x38, 0x1f, 0xd1, 0x82, 0xff, 0x32, 0xc0, - 0x76, 0x06, 0xe9, 0xa2, 0xc8, 0x77, 0x91, 0xc0, 0x3c, 0x69, 0x1b, 0x4b, 0x3c, 0x5a, 0x6c, 0x66, - 0xe6, 0x1b, 0xba, 0x36, 0xdd, 0xd0, 0x1d, 0xb0, 0xc1, 0x92, 0x64, 0xa9, 0xb9, 0xea, 0xa6, 0x06, - 0xbc, 0x0e, 0x5e, 0x61, 0x98, 0xd3, 0xc1, 0x08, 0x9f, 0x0a, 0x12, 0xaa, 0x6e, 0x57, 0xdd, 0x2d, - 0xe5, 0xfc, 0x22, 0xf1, 0xc1, 0x3a, 0x00, 0x0c, 0xdf, 0x1f, 0x62, 0x2e, 0x0e, 0xef, 0x71, 0x73, - 0x43, 0x22, 0x72, 0x9e, 0xce, 0xcd, 0x44, 0x75, 0x46, 0x21, 0x91, 0x6d, 0x16, 0x64, 0x6b, 0xe6, - 0xad, 0xab, 0x60, 0x6f, 0xc6, 0xa9, 0xc5, 0xfe, 0x6e, 0x00, 0x33, 0x8b, 0xde, 0xa5, 0x24, 0x4a, - 0x7a, 0x75, 0x8c, 0x39, 0x47, 0xc1, 0xc5, 0xd7, 0x3b, 0x54, 0x18, 0x29, 0x79, 0xcb, 0xd5, 0x76, - 0x42, 0x9c, 0x93, 0x20, 0x42, 0x62, 0xc8, 0x94, 0xf0, 0x2d, 0x37, 0xe7, 0xe9, 0x7c, 0x58, 0xd2, - 0xb6, 0x46, 0x81, 0x7f, 0x91, 0x4c, 0xab, 0x05, 0x9a, 0x65, 0x31, 0xad, 0xe6, 0xa7, 0xec, 0xae, - 0xca, 0x73, 0x4a, 0xd4, 0x1e, 0x76, 0xef, 0xa6, 0xfd, 0x2b, 0xd3, 0x72, 0x4d, 0x1f, 0xf4, 0x29, - 0xf1, 0xe5, 0x63, 0xad, 0xba, 0x9b, 0xd9, 0x41, 0xfb, 0xcb, 0xdd, 0xb2, 0x99, 0xdd, 0xf4, 0x2d, - 0x9b, 0x89, 0x68, 0xaa, 0x7f, 0x18, 0x00, 0xea, 0x8b, 0x38, 0x16, 0xfd, 0x05, 0x13, 0xe5, 0x2b, - 0x00, 0xe5, 0xb5, 0x3f, 0x45, 0x42, 0x60, 0x2e, 0x90, 0x20, 0x34, 0x4a, 0x0f, 0xff, 0xd2, 0xc1, - 0xbe, 0x5d, 0x36, 0x3f, 0x6d, 0x59, 0xf5, 0xce, 0x24, 0xc5, 0xdd, 0x8e, 0x0b, 0x1e, 0xde, 0x69, - 0x97, 0x48, 0xdc, 0x2b, 0x3e, 0x24, 0xcd, 0xb2, 0xf5, 0x06, 0xb0, 0x66, 0xbd, 0x5a, 0xda, 0x23, - 0x03, 0x5c, 0x3e, 0xe6, 0xc1, 0x97, 0xb1, 0x8f, 0x04, 0x3e, 0x41, 0x0c, 0x85, 0x1c, 0x7e, 0x00, - 0x36, 0xd1, 0x50, 0xf4, 0x29, 0x23, 0x62, 0x9c, 0x4a, 0xeb, 0x9a, 0x7f, 0x3f, 0xba, 0xb5, 0xa3, - 0x86, 0xef, 0x1d, 0xdf, 0x67, 0x98, 0xf3, 0xcf, 0x05, 0x23, 0x51, 0xe0, 0x4e, 0xa0, 0xf0, 0x53, - 0x50, 0x8b, 0x65, 0x05, 0xd9, 0x9a, 0x4b, 0x07, 0xcd, 0x0b, 0xb4, 0x4a, 0x5c, 0xb7, 0x9a, 0xcc, - 0x10, 0x57, 0x65, 0xa5, 0xef, 0x64, 0x52, 0x2f, 0xd1, 0xb5, 0x3b, 0xd1, 0x95, 0xa7, 0xd8, 0xda, - 0x03, 0x57, 0x0a, 0xae, 0x4c, 0xd1, 0xc1, 0xff, 0x35, 0xb0, 0x7e, 0xcc, 0x03, 0xf8, 0x83, 0x01, - 0x5e, 0x9b, 0xf7, 0x3b, 0xf0, 0x6e, 0x39, 0xab, 0xf9, 0xd3, 0xd5, 0xfa, 0x68, 0xd5, 0x8c, 0x8c, - 0x4b, 0x9e, 0xc3, 0xd4, 0x30, 0x5e, 0x8a, 0x43, 0x3e, 0x63, 0x39, 0x0e, 0xf3, 0x46, 0x24, 0x64, - 0xe0, 0xd5, 0xc2, 0x78, 0x7c, 0x7b, 0x71, 0x2d, 0x0d, 0xb6, 0x6e, 0xaf, 0x00, 0x2e, 0xe8, 0x9e, - 0x7d, 0xd8, 0x8b, 0x74, 0xcf, 0x64, 0x2c, 0xd4, 0x5d, 0xfa, 0x68, 0xe1, 0xcf, 0x06, 0x78, 0x7d, - 0xfe, 0xa8, 0x3c, 0x58, 0x2c, 0xa9, 0x98, 0x63, 0x75, 0x56, 0xcf, 0xd1, 0x4c, 0x86, 0xe0, 0x72, - 0x71, 0x74, 0xbc, 0xb3, 0x44, 0x3b, 0x35, 0xda, 0x7a, 0x6f, 0x15, 0xb4, 0xde, 0x76, 0x00, 0xb6, - 0xa6, 0x9e, 0xf5, 0xcd, 0x0b, 0xab, 0xe4, 0xa1, 0x56, 0x7b, 0x69, 0x68, 0xb6, 0x5b, 0xf7, 0x9b, - 0xc7, 0x67, 0x75, 0xe3, 0xc9, 0x59, 0xdd, 0xf8, 0xf7, 0xac, 0x6e, 0xfc, 0x76, 0x5e, 0xaf, 0x3c, - 0x39, 0xaf, 0x57, 0xfe, 0x39, 0xaf, 0x57, 0xbe, 0x3e, 0x0a, 0x88, 0xe8, 0x0f, 0x7b, 0xb6, 0x47, - 0x43, 0xe7, 0x30, 0x2b, 0x7b, 0x84, 0x7a, 0xdc, 0xd1, 0x9b, 0xdc, 0xf2, 0x28, 0xc3, 0x79, 0xb3, - 0x8f, 0x48, 0xe4, 0x84, 0xd4, 0x1f, 0x0e, 0x30, 0xcf, 0xbe, 0x1b, 0xc5, 0x38, 0xc6, 0xbc, 0x57, - 0x93, 0x1f, 0x7a, 0xb7, 0x5f, 0x04, 0x00, 0x00, 0xff, 0xff, 0xed, 0x5d, 0x1e, 0x24, 0xab, 0x0a, - 0x00, 0x00, + // 990 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0xe3, 0x44, + 0x14, 0x8f, 0xdb, 0xa4, 0x4b, 0x5f, 0x0b, 0xab, 0xba, 0xa5, 0xeb, 0xba, 0x34, 0x09, 0xa9, 0x90, + 0x76, 0x0b, 0x8d, 0x49, 0x97, 0xe5, 0x4f, 0x90, 0x90, 0x9a, 0xad, 0x90, 0x2a, 0xb5, 0x52, 0xe5, + 0x85, 0x03, 0x5c, 0xa2, 0x49, 0x3c, 0x38, 0x66, 0x63, 0x8f, 0x77, 0x66, 0x12, 0x91, 0x1b, 0x70, + 0x80, 0x15, 0x27, 0x3e, 0xc2, 0xde, 0xb8, 0xf6, 0xb0, 0x27, 0x3e, 0xc1, 0x1e, 0x40, 0x5a, 0x71, + 0x42, 0x7b, 0xa8, 0x50, 0x7b, 0x28, 0x9f, 0x80, 0x33, 0xf2, 0xd8, 0x9e, 0x38, 0x4e, 0xdc, 0x24, + 0x97, 0xd6, 0xef, 0xbd, 0xdf, 0x7b, 0xf3, 0xfb, 0xf9, 0xcd, 0x7b, 0x0e, 0xbc, 0xed, 0x78, 0xdf, + 0xe2, 0x36, 0x77, 0xfa, 0xd8, 0x20, 0x14, 0xb5, 0xbb, 0xd8, 0xe8, 0xd7, 0x5a, 0x98, 0xa3, 0x9a, + 0xc1, 0xbf, 0xab, 0xfa, 0x94, 0x70, 0xa2, 0x6a, 0x12, 0x52, 0x0d, 0x21, 0xd5, 0x08, 0xa2, 0x6f, + 0xd8, 0xc4, 0x26, 0x02, 0x64, 0x04, 0x4f, 0x21, 0x5e, 0x7f, 0x27, 0xb3, 0x64, 0x94, 0x1e, 0xc2, + 0xee, 0xb4, 0x09, 0x73, 0x09, 0x33, 0x5c, 0x66, 0x1b, 0xfd, 0x5a, 0xf0, 0x2f, 0x0a, 0x6c, 0x85, + 0x81, 0x66, 0x58, 0x38, 0x34, 0xa2, 0xd0, 0x1a, 0x72, 0x1d, 0x8f, 0x18, 0xe2, 0x6f, 0xe8, 0xaa, + 0xbc, 0x52, 0x60, 0xf3, 0x94, 0xd9, 0x26, 0xee, 0xa2, 0xc1, 0x19, 0x25, 0x7d, 0xc7, 0xc2, 0xf4, + 0x8c, 0x3a, 0x6d, 0xcc, 0xd4, 0x4d, 0x58, 0x62, 0xd8, 0xb3, 0x30, 0xd5, 0x94, 0xb2, 0x72, 0x77, + 0xd9, 0x8c, 0x2c, 0x55, 0x87, 0xd7, 0xfc, 0x08, 0xa9, 0x2d, 0x88, 0x88, 0xb4, 0x55, 0x0d, 0x6e, + 0xb1, 0x81, 0xdb, 0x22, 0x5d, 0xa6, 0x2d, 0x96, 0x17, 0xef, 0x2e, 0x9b, 0xb1, 0xa9, 0x7e, 0x0a, + 0x4b, 0xbe, 0xa8, 0xab, 0xe5, 0x83, 0x40, 0x63, 0xf7, 0xc5, 0x45, 0x29, 0xf7, 0xea, 0xa2, 0xb4, + 0x1d, 0x32, 0x64, 0xd6, 0xe3, 0xaa, 0x43, 0x0c, 0x17, 0xf1, 0x4e, 0xf5, 0x04, 0xdb, 0xa8, 0x3d, + 0x38, 0xc2, 0x6d, 0x33, 0x4a, 0xa9, 0x3f, 0x78, 0xfa, 0xac, 0x94, 0xfb, 0xf7, 0x59, 0x29, 0xf7, + 0xe3, 0xf5, 0xf9, 0x5e, 0xc4, 0xe3, 0x97, 0xeb, 0xf3, 0xbd, 0x9d, 0xe8, 0x0d, 0x4d, 0x56, 0x50, + 0x29, 0x43, 0x71, 0x72, 0xc4, 0xc4, 0xcc, 0x27, 0x1e, 0xc3, 0x95, 0x3f, 0x46, 0xe4, 0x3b, 0x6d, + 0xfc, 0x39, 0xc6, 0x96, 0x78, 0xc8, 0x94, 0xaf, 0x42, 0xbe, 0x85, 0x18, 0xd6, 0x16, 0x84, 0x3e, + 0xf1, 0xac, 0x6e, 0x40, 0xe1, 0x49, 0x8f, 0x70, 0x1c, 0x89, 0x0e, 0x0d, 0xf5, 0x13, 0x28, 0x08, + 0xfe, 0xf3, 0x28, 0x0e, 0x33, 0xe6, 0x10, 0x9c, 0xe4, 0x3c, 0x2a, 0x38, 0x19, 0x91, 0x82, 0xff, + 0x54, 0x60, 0x2d, 0x86, 0x34, 0x90, 0x67, 0x99, 0x88, 0x63, 0x16, 0xb4, 0x8d, 0x06, 0x1e, 0x29, + 0x36, 0x36, 0x93, 0x0d, 0x5d, 0x18, 0x6d, 0xe8, 0x06, 0x14, 0x68, 0x90, 0x2c, 0x34, 0xe7, 0xcd, + 0xd0, 0x50, 0x77, 0xe1, 0x75, 0x8a, 0x19, 0xe9, 0xf6, 0x71, 0x93, 0x3b, 0x6e, 0xd4, 0xed, 0xbc, + 0xb9, 0x1a, 0x39, 0xbf, 0x08, 0x7c, 0x6a, 0x11, 0x80, 0xe2, 0x27, 0x3d, 0xcc, 0xf8, 0xf1, 0x11, + 0xd3, 0x0a, 0x02, 0x91, 0xf0, 0xd4, 0xef, 0x05, 0xaa, 0x63, 0x0a, 0x81, 0x6c, 0x2d, 0x25, 0x5b, + 0x32, 0xaf, 0x6c, 0xc3, 0xd6, 0x98, 0x53, 0x8a, 0xfd, 0x4d, 0x01, 0x2d, 0x8e, 0x3e, 0x24, 0x8e, + 0x17, 0xf4, 0xea, 0x14, 0x33, 0x86, 0xec, 0x9b, 0xaf, 0xb7, 0x1b, 0x61, 0x84, 0xe4, 0x55, 0x53, + 0xda, 0x01, 0x71, 0xe6, 0xd8, 0x1e, 0xe2, 0x3d, 0x1a, 0x09, 0x5f, 0x35, 0x13, 0x9e, 0xfa, 0x47, + 0x19, 0x6d, 0x2b, 0xa5, 0xf8, 0xa7, 0xc9, 0x54, 0x2a, 0x50, 0xce, 0x8a, 0x49, 0x35, 0x4f, 0x15, + 0x58, 0x8f, 0x41, 0x8f, 0x38, 0xa1, 0x8f, 0xa7, 0xcc, 0xe9, 0x11, 0xac, 0x20, 0xc6, 0x30, 0x6f, + 0xfa, 0xc8, 0xa1, 0xa1, 0x96, 0x95, 0x83, 0xdd, 0x6a, 0xd6, 0x3a, 0xaa, 0x1e, 0x06, 0xe0, 0x33, + 0xe4, 0x50, 0x13, 0x50, 0xfc, 0xc8, 0xea, 0xeb, 0x13, 0x24, 0x55, 0x76, 0x60, 0x7b, 0x02, 0x13, + 0xc9, 0xf4, 0xa7, 0x78, 0xaa, 0x44, 0x47, 0x83, 0xbe, 0x1c, 0x37, 0x1e, 0x86, 0x37, 0x2d, 0x8b, + 0xec, 0x8e, 0xbc, 0x12, 0x4d, 0xc7, 0x12, 0x6b, 0x25, 0x6f, 0x2e, 0xc7, 0x57, 0xc2, 0x9a, 0x6d, + 0x1e, 0xc6, 0x4e, 0x93, 0xf3, 0x30, 0x16, 0x91, 0x54, 0x7f, 0x57, 0x40, 0x95, 0x23, 0x33, 0xe0, + 0x9d, 0x29, 0xef, 0xf4, 0x2b, 0x50, 0xc5, 0x80, 0x36, 0x11, 0xe7, 0x98, 0x71, 0xc4, 0x1d, 0xe2, + 0xc5, 0xaf, 0x76, 0x2f, 0xfb, 0xd5, 0x8a, 0xaa, 0x87, 0xc3, 0x14, 0x73, 0xcd, 0x4f, 0x79, 0x58, + 0xbd, 0x96, 0x21, 0x71, 0x2b, 0x3d, 0xf2, 0x92, 0x65, 0xe5, 0x2d, 0xd0, 0xc7, 0xbd, 0x52, 0xda, + 0x73, 0x05, 0x6e, 0x9f, 0x32, 0xfb, 0x4b, 0xdf, 0x42, 0x1c, 0x9f, 0x21, 0x8a, 0x5c, 0xa6, 0x7e, + 0x08, 0xcb, 0xa8, 0xc7, 0x3b, 0x84, 0x3a, 0x7c, 0x10, 0x4a, 0x6b, 0x68, 0x7f, 0x3d, 0xdf, 0xdf, + 0x88, 0x3e, 0x13, 0x87, 0x96, 0x45, 0x31, 0x63, 0x8f, 0x38, 0x75, 0x3c, 0xdb, 0x1c, 0x42, 0xd5, + 0xcf, 0x60, 0xc9, 0x17, 0x15, 0x44, 0x6b, 0x56, 0x0e, 0xca, 0x37, 0x68, 0x15, 0xb8, 0x46, 0x3e, + 0xd8, 0x76, 0x66, 0x94, 0x15, 0x4e, 0xf4, 0xb0, 0x5e, 0xa0, 0x6b, 0x73, 0xa8, 0x2b, 0x49, 0xb1, + 0xb2, 0x05, 0x77, 0x52, 0xae, 0x58, 0xd1, 0xc1, 0x7f, 0xb7, 0x60, 0xf1, 0x94, 0xd9, 0xea, 0x0f, + 0x0a, 0xac, 0x4f, 0xfa, 0x62, 0xbd, 0x9f, 0xcd, 0x6a, 0xf2, 0x77, 0x40, 0xff, 0x78, 0xde, 0x8c, + 0x98, 0x4b, 0x92, 0xc3, 0xc8, 0x67, 0x63, 0x26, 0x0e, 0xc9, 0x8c, 0xd9, 0x38, 0x4c, 0x5a, 0xe6, + 0x2a, 0x85, 0x37, 0x52, 0x8b, 0xfc, 0xdd, 0xe9, 0xb5, 0x24, 0x58, 0xbf, 0x3f, 0x07, 0x38, 0xa5, + 0x7b, 0x7c, 0xb0, 0xa7, 0xe9, 0x1e, 0xcb, 0x98, 0xaa, 0x3b, 0x73, 0x68, 0xd5, 0x9f, 0x15, 0x78, + 0x73, 0xf2, 0x52, 0x3f, 0x98, 0x2e, 0x29, 0x9d, 0xa3, 0xd7, 0xe7, 0xcf, 0x91, 0x4c, 0x06, 0xb0, + 0x36, 0xdc, 0x82, 0x51, 0x54, 0xdd, 0x9f, 0x5e, 0x30, 0xb1, 0x35, 0xf5, 0x07, 0x73, 0xc1, 0xe5, + 0xd1, 0x3d, 0xb8, 0x9d, 0xde, 0x5a, 0xef, 0xcd, 0x70, 0x93, 0x24, 0x5a, 0xff, 0x60, 0x1e, 0xb4, + 0x3c, 0xb6, 0x0b, 0xab, 0x23, 0x1b, 0xe5, 0xde, 0x8d, 0x55, 0x92, 0x50, 0xbd, 0x36, 0x33, 0x34, + 0x3e, 0x4d, 0x2f, 0x7c, 0x7f, 0x7d, 0xbe, 0xa7, 0x34, 0xbe, 0x79, 0x71, 0x59, 0x54, 0x5e, 0x5e, + 0x16, 0x95, 0x7f, 0x2e, 0x8b, 0xca, 0xaf, 0x57, 0xc5, 0xdc, 0xcb, 0xab, 0x62, 0xee, 0xef, 0xab, + 0x62, 0xee, 0xeb, 0x13, 0xdb, 0xe1, 0x9d, 0x5e, 0xab, 0xda, 0x26, 0xae, 0x71, 0x1c, 0x57, 0x3f, + 0x41, 0x2d, 0x66, 0xc8, 0xb3, 0xf6, 0xdb, 0x84, 0xe2, 0xa4, 0xd9, 0x41, 0x8e, 0x67, 0xb8, 0xc4, + 0xea, 0x75, 0x31, 0x8b, 0x7f, 0x63, 0xf3, 0x81, 0x8f, 0x59, 0x6b, 0x49, 0xfc, 0x28, 0xbe, 0xff, + 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0x85, 0x8e, 0x1e, 0xd7, 0x0b, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -729,6 +811,9 @@ type MsgClient interface { // RelayCoinbaseMessages defines a method for relaying price messages from // Coinbase API RelayCoinbaseMessages(ctx context.Context, in *MsgRelayCoinbaseMessages, opts ...grpc.CallOption) (*MsgRelayCoinbaseMessagesResponse, error) + // RelayStorkMessage defines a method for relaying price message from + // Stork API + RelayStorkMessage(ctx context.Context, in *MsgRelayStorkPrices, opts ...grpc.CallOption) (*MsgRelayStorkPricesResponse, error) // RelayPythPrices defines a method for relaying rates from the Pyth contract RelayPythPrices(ctx context.Context, in *MsgRelayPythPrices, opts ...grpc.CallOption) (*MsgRelayPythPricesResponse, error) // UpdateParams enables updating oracle module's params via governance @@ -788,6 +873,15 @@ func (c *msgClient) RelayCoinbaseMessages(ctx context.Context, in *MsgRelayCoinb return out, nil } +func (c *msgClient) RelayStorkMessage(ctx context.Context, in *MsgRelayStorkPrices, opts ...grpc.CallOption) (*MsgRelayStorkPricesResponse, error) { + out := new(MsgRelayStorkPricesResponse) + err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Msg/RelayStorkMessage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) RelayPythPrices(ctx context.Context, in *MsgRelayPythPrices, opts ...grpc.CallOption) (*MsgRelayPythPricesResponse, error) { out := new(MsgRelayPythPricesResponse) err := c.cc.Invoke(ctx, "/injective.oracle.v1beta1.Msg/RelayPythPrices", in, out, opts...) @@ -821,6 +915,9 @@ type MsgServer interface { // RelayCoinbaseMessages defines a method for relaying price messages from // Coinbase API RelayCoinbaseMessages(context.Context, *MsgRelayCoinbaseMessages) (*MsgRelayCoinbaseMessagesResponse, error) + // RelayStorkMessage defines a method for relaying price message from + // Stork API + RelayStorkMessage(context.Context, *MsgRelayStorkPrices) (*MsgRelayStorkPricesResponse, error) // RelayPythPrices defines a method for relaying rates from the Pyth contract RelayPythPrices(context.Context, *MsgRelayPythPrices) (*MsgRelayPythPricesResponse, error) // UpdateParams enables updating oracle module's params via governance @@ -846,6 +943,9 @@ func (*UnimplementedMsgServer) RequestBandIBCRates(ctx context.Context, req *Msg func (*UnimplementedMsgServer) RelayCoinbaseMessages(ctx context.Context, req *MsgRelayCoinbaseMessages) (*MsgRelayCoinbaseMessagesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RelayCoinbaseMessages not implemented") } +func (*UnimplementedMsgServer) RelayStorkMessage(ctx context.Context, req *MsgRelayStorkPrices) (*MsgRelayStorkPricesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RelayStorkMessage not implemented") +} func (*UnimplementedMsgServer) RelayPythPrices(ctx context.Context, req *MsgRelayPythPrices) (*MsgRelayPythPricesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RelayPythPrices not implemented") } @@ -947,6 +1047,24 @@ func _Msg_RelayCoinbaseMessages_Handler(srv interface{}, ctx context.Context, de return interceptor(ctx, in, info, handler) } +func _Msg_RelayStorkMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRelayStorkPrices) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RelayStorkMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/injective.oracle.v1beta1.Msg/RelayStorkMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RelayStorkMessage(ctx, req.(*MsgRelayStorkPrices)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_RelayPythPrices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgRelayPythPrices) if err := dec(in); err != nil { @@ -1007,6 +1125,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "RelayCoinbaseMessages", Handler: _Msg_RelayCoinbaseMessages_Handler, }, + { + MethodName: "RelayStorkMessage", + Handler: _Msg_RelayStorkMessage_Handler, + }, { MethodName: "RelayPythPrices", Handler: _Msg_RelayPythPrices_Handler, @@ -1375,6 +1497,73 @@ func (m *MsgRelayCoinbaseMessagesResponse) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } +func (m *MsgRelayStorkPrices) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgRelayStorkPrices) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRelayStorkPrices) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.AssetPairs) > 0 { + for iNdEx := len(m.AssetPairs) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.AssetPairs[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.Sender) > 0 { + i -= len(m.Sender) + copy(dAtA[i:], m.Sender) + i = encodeVarintTx(dAtA, i, uint64(len(m.Sender))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgRelayStorkPricesResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgRelayStorkPricesResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRelayStorkPricesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func (m *MsgRequestBandIBCRates) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -1735,6 +1924,34 @@ func (m *MsgRelayCoinbaseMessagesResponse) Size() (n int) { return n } +func (m *MsgRelayStorkPrices) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Sender) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.AssetPairs) > 0 { + for _, e := range m.AssetPairs { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgRelayStorkPricesResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func (m *MsgRequestBandIBCRates) Size() (n int) { if m == nil { return 0 @@ -2870,6 +3087,172 @@ func (m *MsgRelayCoinbaseMessagesResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgRelayStorkPrices) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgRelayStorkPrices: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRelayStorkPrices: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Sender = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetPairs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AssetPairs = append(m.AssetPairs, &AssetPair{}) + if err := m.AssetPairs[len(m.AssetPairs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgRelayStorkPricesResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgRelayStorkPricesResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRelayStorkPricesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *MsgRequestBandIBCRates) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/chain/peggy/types/msgs.pb.go b/chain/peggy/types/msgs.pb.go index a19ba087..b9928aab 100644 --- a/chain/peggy/types/msgs.pb.go +++ b/chain/peggy/types/msgs.pb.go @@ -1610,118 +1610,118 @@ func init() { func init() { proto.RegisterFile("injective/peggy/v1/msgs.proto", fileDescriptor_751daa04abed7ef4) } var fileDescriptor_751daa04abed7ef4 = []byte{ - // 1769 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0xdc, 0xc6, - 0x15, 0x16, 0xb5, 0xab, 0xbf, 0x59, 0xc9, 0xb2, 0x59, 0xd9, 0x5e, 0xd1, 0xd6, 0x4a, 0xa2, 0x6c, - 0x4b, 0x96, 0x6d, 0x52, 0x2b, 0xb7, 0x76, 0x2d, 0xa0, 0x05, 0xbc, 0x92, 0x8a, 0x1a, 0xad, 0xdc, - 0x62, 0xe5, 0xba, 0x40, 0x2f, 0xec, 0x2c, 0x39, 0x26, 0x59, 0x2d, 0x39, 0x5b, 0xce, 0xec, 0xba, - 0x3a, 0x14, 0x68, 0x7d, 0x74, 0x0f, 0x2d, 0xd0, 0x43, 0x90, 0x43, 0x4e, 0xc9, 0xd5, 0x80, 0x0f, - 0x01, 0x82, 0xf8, 0x9c, 0x00, 0x3e, 0x1a, 0xc9, 0x25, 0x08, 0x02, 0x23, 0xb0, 0x03, 0x18, 0xc8, - 0x29, 0xf7, 0x5c, 0x02, 0xce, 0x0c, 0xb9, 0xe4, 0x2e, 0xb9, 0x5a, 0x01, 0xba, 0x08, 0x3b, 0x6f, - 0xde, 0x9b, 0xf9, 0xde, 0xef, 0x7c, 0x14, 0x58, 0x70, 0xfd, 0xbf, 0x21, 0x93, 0xba, 0x1d, 0xa4, - 0xb7, 0x90, 0x6d, 0x1f, 0xea, 0x9d, 0xaa, 0xee, 0x11, 0x9b, 0x68, 0xad, 0x00, 0x53, 0x2c, 0xcb, - 0xf1, 0xb6, 0xc6, 0xb6, 0xb5, 0x4e, 0x55, 0xa9, 0x98, 0x98, 0x78, 0x98, 0xe8, 0x0d, 0x48, 0x90, - 0xde, 0xa9, 0x36, 0x10, 0x85, 0x55, 0xdd, 0xc4, 0xae, 0xcf, 0x6d, 0x94, 0x39, 0x1b, 0xdb, 0x98, - 0xfd, 0xd4, 0xc3, 0x5f, 0x42, 0x7a, 0xd1, 0xc6, 0xd8, 0x6e, 0x22, 0x1d, 0xb6, 0x5c, 0x1d, 0xfa, - 0x3e, 0xa6, 0x90, 0xba, 0xd8, 0x17, 0xf7, 0x28, 0x95, 0x0c, 0x18, 0xf4, 0xb0, 0x85, 0xa2, 0xfd, - 0xc5, 0x8c, 0xfd, 0x16, 0x0c, 0xa0, 0x17, 0x29, 0xcc, 0x8b, 0xe3, 0xd9, 0xaa, 0xd1, 0x7e, 0xa4, - 0x43, 0xff, 0x50, 0x6c, 0x9d, 0x17, 0x78, 0x3d, 0x62, 0x0b, 0xef, 0x22, 0x1b, 0xbe, 0x61, 0x70, - 0xac, 0x7c, 0x21, 0xb6, 0xce, 0x40, 0xcf, 0xf5, 0xb1, 0xce, 0xfe, 0x72, 0x91, 0xfa, 0x4c, 0x02, - 0x17, 0xf6, 0x88, 0xbd, 0x8f, 0xe8, 0x1f, 0x02, 0xd3, 0x41, 0x84, 0x06, 0x90, 0xe2, 0xe0, 0xae, - 0x65, 0x05, 0x88, 0x10, 0x44, 0xe4, 0x73, 0x60, 0x9c, 0x20, 0xdf, 0x42, 0x41, 0x59, 0x5a, 0x92, - 0xd6, 0xa6, 0xea, 0x62, 0x25, 0xab, 0x60, 0x1a, 0x27, 0x0c, 0xca, 0xa3, 0x6c, 0x37, 0x25, 0x93, - 0x17, 0x41, 0x09, 0x51, 0xc7, 0x80, 0xfc, 0xb0, 0x72, 0x81, 0xa9, 0x00, 0x44, 0x1d, 0x71, 0xfc, - 0x56, 0xf5, 0xc9, 0xbb, 0xe7, 0xeb, 0xe2, 0xc4, 0xa7, 0xef, 0x9e, 0xaf, 0x2f, 0xf3, 0x28, 0x0c, - 0xc0, 0xa3, 0x5e, 0x06, 0x2b, 0x03, 0xb6, 0xeb, 0x88, 0xb4, 0xb0, 0x4f, 0x90, 0xfa, 0xa9, 0x04, - 0x4e, 0xef, 0x11, 0xfb, 0x21, 0x6c, 0x12, 0x44, 0xb7, 0xb1, 0xff, 0xc8, 0x0d, 0x3c, 0x79, 0x0e, - 0x8c, 0xf9, 0xd8, 0x37, 0x11, 0x73, 0xa5, 0x58, 0xe7, 0x8b, 0x13, 0xf1, 0x44, 0xbe, 0x08, 0xa6, - 0x88, 0x6b, 0xfb, 0x90, 0xb6, 0x03, 0x54, 0x2e, 0xb2, 0xed, 0xae, 0x60, 0xeb, 0x7a, 0xe8, 0x67, - 0xea, 0xc4, 0xd0, 0xdb, 0x73, 0xb1, 0xb7, 0x29, 0x98, 0xaa, 0x02, 0xca, 0xbd, 0xb2, 0xd8, 0xaf, - 0xd7, 0x12, 0x98, 0x66, 0xfe, 0xfb, 0xd6, 0x03, 0xbc, 0x4b, 0x9d, 0xdc, 0xfc, 0xcc, 0x83, 0xc9, - 0x10, 0xb1, 0x85, 0x08, 0x15, 0x1e, 0x4d, 0x20, 0xea, 0xec, 0x20, 0x42, 0xe5, 0xdb, 0x60, 0x1c, - 0x7a, 0xb8, 0xed, 0x53, 0xe6, 0x47, 0x69, 0x73, 0x5e, 0x13, 0x45, 0x12, 0x96, 0xbe, 0x26, 0x4a, - 0x5f, 0xdb, 0xc6, 0xae, 0x5f, 0x2b, 0xbe, 0x7c, 0xbd, 0x38, 0x52, 0x17, 0xea, 0xf2, 0xaf, 0x01, - 0x68, 0x04, 0xae, 0x65, 0x23, 0xe3, 0x11, 0xe2, 0x5e, 0x0e, 0x61, 0x3c, 0xc5, 0x4d, 0x7e, 0x83, - 0xd0, 0x96, 0xda, 0x93, 0x6e, 0x39, 0x91, 0x6e, 0xe1, 0x8f, 0x7a, 0x0e, 0xcc, 0x25, 0xd7, 0xb1, - 0xe3, 0xff, 0x00, 0xb3, 0x7b, 0xc4, 0xae, 0xa3, 0xbf, 0xb7, 0x11, 0xa1, 0x35, 0x48, 0x4d, 0xa7, - 0x2f, 0x71, 0x52, 0x46, 0xe2, 0xe6, 0xc0, 0x98, 0x85, 0x7c, 0xec, 0x89, 0x18, 0xf0, 0xc5, 0xd6, - 0xb5, 0xcc, 0x7c, 0x9c, 0x8d, 0xe1, 0x24, 0xaf, 0x51, 0xe7, 0xc1, 0xf9, 0x1e, 0x51, 0x0c, 0xea, - 0x1b, 0x89, 0xa1, 0x12, 0x49, 0xe2, 0xa8, 0xb2, 0x8b, 0xec, 0x32, 0x38, 0x45, 0xf1, 0x01, 0xf2, - 0x0d, 0x13, 0xfb, 0x34, 0x80, 0x66, 0x94, 0x94, 0x19, 0x26, 0xdd, 0x16, 0x42, 0x79, 0x01, 0x84, - 0x45, 0x65, 0x84, 0x95, 0x83, 0x02, 0x51, 0x66, 0x53, 0x88, 0x3a, 0xfb, 0x4c, 0xd0, 0xe7, 0x71, - 0x31, 0xc3, 0xe3, 0x54, 0x25, 0x8e, 0xf5, 0x56, 0xe2, 0x51, 0x9e, 0x27, 0x5d, 0x11, 0x9e, 0x27, - 0x45, 0xb1, 0xe7, 0xdf, 0x8f, 0x32, 0xcf, 0x77, 0x50, 0x0b, 0x13, 0x97, 0x6e, 0x37, 0xa1, 0xeb, - 0xb1, 0x26, 0xe9, 0x20, 0x9f, 0x1a, 0x49, 0xff, 0x01, 0x13, 0xdd, 0x67, 0x41, 0x58, 0x06, 0xd3, - 0x8d, 0x26, 0x36, 0x0f, 0x0c, 0x07, 0xb9, 0xb6, 0xc3, 0x43, 0x50, 0xac, 0x97, 0x98, 0xec, 0xb7, - 0x4c, 0x94, 0x11, 0xa7, 0x42, 0x56, 0x9c, 0x7e, 0x11, 0x97, 0x30, 0x0b, 0x41, 0x6d, 0x21, 0x2c, - 0xb5, 0xaf, 0x5f, 0x2f, 0x9e, 0xe5, 0xc5, 0x48, 0xac, 0x03, 0xcd, 0xc5, 0xba, 0x07, 0xa9, 0xa3, - 0xdd, 0xf3, 0x69, 0x5c, 0xc0, 0xab, 0x60, 0x16, 0x51, 0x07, 0x05, 0xa8, 0xed, 0x19, 0xa2, 0x6b, - 0x78, 0x84, 0x4e, 0x45, 0xe2, 0x7d, 0xde, 0x3d, 0xab, 0x60, 0x56, 0x4c, 0xd1, 0x00, 0x99, 0xc8, - 0xed, 0xa0, 0xa0, 0x3c, 0xce, 0x15, 0xb9, 0xb8, 0x2e, 0xa4, 0x7d, 0x19, 0x99, 0xc8, 0xc8, 0x88, - 0x0c, 0x8a, 0x16, 0xa4, 0xb0, 0x3c, 0xc9, 0xf6, 0xd8, 0xef, 0x23, 0xf3, 0x90, 0x0c, 0xac, 0xc8, - 0x43, 0x52, 0x14, 0xe7, 0xe1, 0x07, 0x3e, 0xe7, 0xfe, 0xec, 0x52, 0xc7, 0x0a, 0xe0, 0xe3, 0x93, - 0x4b, 0xc4, 0x22, 0x28, 0x35, 0xc2, 0x8c, 0x8b, 0x33, 0x0a, 0xfc, 0x0c, 0x26, 0xba, 0x9f, 0x53, - 0xd1, 0xc5, 0xac, 0x4c, 0xf5, 0x06, 0x68, 0xac, 0x3f, 0x40, 0x47, 0x8e, 0xc7, 0x94, 0x77, 0x62, - 0x3c, 0xa6, 0x64, 0x71, 0x38, 0x3e, 0x1b, 0x05, 0x67, 0xf7, 0x88, 0xbd, 0x5b, 0xdf, 0xde, 0xdc, - 0xd8, 0x41, 0xad, 0x26, 0x3e, 0x44, 0xd6, 0xc9, 0xc5, 0x64, 0x19, 0x4c, 0x8b, 0xaa, 0xe0, 0x33, - 0x85, 0x97, 0x66, 0x89, 0xcb, 0x76, 0x42, 0xd1, 0xb0, 0x51, 0x91, 0x41, 0xd1, 0x87, 0x5e, 0xd4, - 0x9f, 0xec, 0x37, 0x9b, 0xe4, 0x87, 0x5e, 0x03, 0x37, 0x45, 0xa9, 0x89, 0x95, 0xac, 0x80, 0x49, - 0x0b, 0x99, 0xae, 0x07, 0x9b, 0x84, 0x95, 0x57, 0xb1, 0x1e, 0xaf, 0xfb, 0xa2, 0x3b, 0x99, 0x11, - 0xdd, 0x6a, 0x66, 0x74, 0x2f, 0xc4, 0xd1, 0xed, 0x0f, 0x96, 0xba, 0x08, 0x16, 0x32, 0x37, 0xe2, - 0x38, 0xff, 0x13, 0xc8, 0xe1, 0x64, 0x80, 0xbe, 0x89, 0x9a, 0xdd, 0xb7, 0x28, 0x74, 0x3e, 0x80, - 0x3e, 0x81, 0x66, 0x48, 0x82, 0x0c, 0xd7, 0x12, 0x61, 0x9e, 0x49, 0x48, 0xef, 0x59, 0x89, 0x27, - 0x6b, 0x34, 0xf9, 0x64, 0x6d, 0xad, 0xf5, 0x3c, 0x0f, 0xe5, 0xee, 0x54, 0x4a, 0x5f, 0xa4, 0x5e, - 0x04, 0x4a, 0xbf, 0x34, 0x06, 0xf7, 0x42, 0x62, 0xf0, 0xf7, 0xdb, 0x0d, 0xcf, 0xa5, 0x35, 0x68, - 0xed, 0x47, 0xd3, 0x6f, 0xb7, 0xe3, 0x5a, 0x28, 0xcc, 0xb5, 0x06, 0x26, 0x48, 0xbb, 0x11, 0x52, - 0x2f, 0x86, 0xb0, 0xb4, 0x39, 0xa7, 0x71, 0xa2, 0xa5, 0x45, 0x44, 0x4b, 0xbb, 0xeb, 0x1f, 0xd6, - 0x23, 0xa5, 0xf4, 0x4c, 0x1d, 0xed, 0x99, 0xa9, 0x09, 0x7f, 0x0a, 0x29, 0x7f, 0x6e, 0xf6, 0xf8, - 0xb3, 0xd2, 0x7d, 0xee, 0x72, 0xa1, 0xa9, 0xab, 0xe0, 0xf2, 0x40, 0x85, 0xd8, 0xcb, 0x1f, 0x79, - 0xa9, 0x73, 0x9a, 0xf0, 0xa7, 0x96, 0x05, 0xe9, 0x71, 0x4a, 0xbd, 0xc3, 0xcc, 0x84, 0x86, 0x28, - 0x75, 0x2e, 0xcb, 0xee, 0x86, 0x42, 0x7f, 0x37, 0xfc, 0x0a, 0x4c, 0x78, 0xc8, 0x6b, 0xa0, 0x80, - 0x94, 0x8b, 0x4b, 0x85, 0xb5, 0xd2, 0xe6, 0x8a, 0xd6, 0x4f, 0xab, 0xb5, 0x1a, 0x7b, 0xfd, 0x1f, - 0xc2, 0xa6, 0x6b, 0x85, 0xa5, 0x57, 0x8f, 0x6c, 0xe4, 0x1a, 0x98, 0x09, 0xd0, 0x63, 0x18, 0x58, - 0x86, 0x98, 0xe4, 0x63, 0xc3, 0x4c, 0xf2, 0x69, 0x6e, 0x73, 0x97, 0xcf, 0xf3, 0x65, 0x20, 0xd6, - 0x06, 0x6b, 0x2f, 0xd1, 0x38, 0x25, 0x2e, 0x7b, 0x10, 0x8a, 0x86, 0x19, 0xd0, 0x47, 0x76, 0x48, - 0x7f, 0x8c, 0x45, 0x87, 0xf4, 0x6f, 0xc4, 0xe9, 0x79, 0xc6, 0xa9, 0x01, 0xdf, 0xfb, 0x23, 0xe3, - 0xf4, 0xf2, 0x2d, 0x30, 0x05, 0xdb, 0xd4, 0xc1, 0x81, 0x4b, 0x0f, 0x39, 0x5b, 0xa9, 0x95, 0xbf, - 0xf8, 0xf8, 0xc6, 0x9c, 0x60, 0x50, 0x82, 0x4b, 0xee, 0xd3, 0xc0, 0xf5, 0xed, 0x7a, 0x57, 0x55, - 0xfe, 0x25, 0x18, 0xe7, 0x5f, 0x05, 0x2c, 0x53, 0xa5, 0x4d, 0x25, 0x2b, 0xd0, 0xfc, 0x8e, 0x88, - 0xb1, 0x71, 0x7d, 0xde, 0x52, 0xdd, 0x93, 0xd2, 0x6f, 0x4c, 0x12, 0x9b, 0x78, 0x63, 0x92, 0xa2, - 0xd8, 0x95, 0x0f, 0x78, 0x3f, 0xd5, 0x9a, 0xd0, 0x3c, 0x68, 0xba, 0x84, 0xee, 0x8a, 0xb7, 0x32, - 0xfd, 0x91, 0xc0, 0x29, 0x4b, 0x44, 0x42, 0x39, 0x5f, 0xd1, 0xc1, 0xcf, 0x1a, 0x91, 0x55, 0x44, - 0x9e, 0x51, 0xe8, 0x45, 0x61, 0x6d, 0xaa, 0x2e, 0xc7, 0x5b, 0xf1, 0x41, 0x51, 0xcb, 0x30, 0xeb, - 0x74, 0xcb, 0xe4, 0xdf, 0x2e, 0x5a, 0x26, 0x5f, 0x21, 0x76, 0xe4, 0x3d, 0x89, 0xcd, 0x8d, 0x3a, - 0xea, 0xe0, 0x03, 0x14, 0xa9, 0xc5, 0x76, 0x27, 0xe7, 0xc5, 0x46, 0x8f, 0x17, 0x4b, 0x09, 0x62, - 0x99, 0x79, 0xb5, 0x7a, 0x09, 0xa8, 0xf9, 0xbb, 0x11, 0xfe, 0xcd, 0x4f, 0x4e, 0x83, 0xc2, 0x1e, - 0xb1, 0xe5, 0xff, 0x4a, 0x60, 0x26, 0xfd, 0x65, 0x73, 0x29, 0xab, 0x22, 0x7a, 0x3f, 0x22, 0x94, - 0xeb, 0xc3, 0x68, 0xc5, 0xd1, 0x5a, 0x7f, 0xf2, 0xe5, 0x77, 0xff, 0x1f, 0xbd, 0xa4, 0xaa, 0x7a, - 0xc6, 0x57, 0xaa, 0x98, 0x1f, 0xa6, 0xb8, 0xff, 0x5f, 0x12, 0x98, 0xea, 0xbe, 0x03, 0x4b, 0x39, - 0xf7, 0xc4, 0x1a, 0xca, 0xda, 0x51, 0x1a, 0x31, 0x8a, 0x55, 0x86, 0x62, 0x59, 0x5d, 0xcc, 0x42, - 0x11, 0xce, 0x56, 0x83, 0x62, 0x03, 0x51, 0x47, 0xfe, 0x8f, 0x04, 0xa6, 0x53, 0x9f, 0x07, 0x2b, - 0x39, 0x77, 0x24, 0x95, 0x94, 0x6b, 0x43, 0x28, 0xc5, 0x58, 0xae, 0x32, 0x2c, 0x2b, 0xea, 0x72, - 0x16, 0x96, 0x80, 0x5b, 0x18, 0x8c, 0x22, 0x31, 0x34, 0xa9, 0xcf, 0x82, 0x3c, 0x34, 0x49, 0xa5, - 0x5c, 0x34, 0x99, 0x14, 0x7c, 0x20, 0x1a, 0x91, 0x98, 0x04, 0x9a, 0x14, 0x55, 0xcf, 0x43, 0x93, - 0x54, 0xca, 0x45, 0x93, 0x49, 0x44, 0x07, 0xa2, 0xb1, 0xb8, 0x85, 0x61, 0xb2, 0xcb, 0xc3, 0xf2, - 0x4d, 0x13, 0xd6, 0xbc, 0xf2, 0x4d, 0x69, 0xe5, 0x96, 0x6f, 0x36, 0x15, 0x1c, 0x58, 0xbe, 0x8f, - 0x85, 0x89, 0x40, 0xf4, 0xa1, 0x04, 0xce, 0x24, 0x67, 0x39, 0x47, 0x75, 0x75, 0x60, 0xbb, 0x24, - 0xa7, 0xbe, 0x52, 0x1d, 0x5a, 0x35, 0xc6, 0xb7, 0xc1, 0xf0, 0xad, 0xab, 0x6b, 0x03, 0xda, 0xab, - 0xcd, 0x0d, 0x05, 0xca, 0x8f, 0x24, 0x20, 0x67, 0x30, 0xdb, 0x3c, 0x98, 0xfd, 0xaa, 0xb9, 0x30, - 0x07, 0x30, 0xbd, 0x81, 0x30, 0x51, 0x60, 0x6e, 0x6e, 0x18, 0x96, 0x30, 0x14, 0x30, 0x5f, 0x48, - 0xa0, 0x9c, 0xfb, 0xef, 0x24, 0x3d, 0xb7, 0xf1, 0xb3, 0x0d, 0x94, 0xdb, 0xc7, 0x34, 0x88, 0x81, - 0xff, 0x9c, 0x01, 0xd7, 0xd4, 0xeb, 0xd9, 0x83, 0x83, 0x1a, 0xc9, 0xf7, 0x3e, 0x1a, 0xeb, 0xf2, - 0xfb, 0x12, 0x98, 0xed, 0xa5, 0xb5, 0x57, 0xf2, 0xba, 0x32, 0xad, 0xa7, 0x68, 0xc3, 0xe9, 0xc5, - 0x08, 0x35, 0x86, 0x70, 0x4d, 0xbd, 0x92, 0xd9, 0xc0, 0xcc, 0xc8, 0x48, 0x4e, 0xb8, 0xcf, 0x25, - 0xa0, 0x0c, 0x20, 0xb5, 0x79, 0xc9, 0xcd, 0x37, 0x51, 0xee, 0x1c, 0xdb, 0x24, 0x06, 0x7f, 0x87, - 0x81, 0xbf, 0xa9, 0x56, 0x33, 0xc3, 0xcb, 0xec, 0x8d, 0x06, 0xb4, 0x8c, 0x98, 0x26, 0x1b, 0x28, - 0x02, 0xfa, 0x57, 0x30, 0x9d, 0xa2, 0x45, 0x79, 0xc3, 0x28, 0xa9, 0x94, 0x3b, 0x8c, 0xb2, 0x18, - 0x8b, 0xfc, 0x54, 0x02, 0xca, 0x00, 0xba, 0x92, 0x17, 0xa9, 0x7c, 0x93, 0xdc, 0x48, 0x1d, 0xcd, - 0x3a, 0xe4, 0x7f, 0x4b, 0xe0, 0x7c, 0x1e, 0xe5, 0xd0, 0x72, 0x9f, 0x9f, 0x4c, 0x7d, 0xe5, 0xd6, - 0xf1, 0xf4, 0x23, 0x0c, 0x35, 0xf4, 0xf2, 0x4d, 0x45, 0x7a, 0xf5, 0xa6, 0x22, 0x7d, 0xfb, 0xa6, - 0x22, 0xfd, 0xef, 0x6d, 0x65, 0xe4, 0xd5, 0xdb, 0xca, 0xc8, 0x57, 0x6f, 0x2b, 0x23, 0x7f, 0xf9, - 0x9d, 0xed, 0x52, 0xa7, 0xdd, 0xd0, 0x4c, 0xec, 0xe9, 0xf7, 0xa2, 0xb3, 0x7f, 0x0f, 0x1b, 0xa4, - 0x9b, 0xd7, 0x1b, 0x26, 0x0e, 0x50, 0x72, 0xe9, 0x40, 0xd7, 0xd7, 0x3d, 0x6c, 0xb5, 0x9b, 0x88, - 0x88, 0xa4, 0xb3, 0xff, 0x6a, 0x37, 0xc6, 0xd9, 0xe7, 0xd3, 0xcd, 0x9f, 0x02, 0x00, 0x00, 0xff, - 0xff, 0x13, 0xd4, 0x22, 0xee, 0x7f, 0x17, 0x00, 0x00, + // 1776 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x4d, 0x6c, 0xdb, 0xc8, + 0x15, 0x36, 0x2d, 0xf9, 0x6f, 0x64, 0xc7, 0x09, 0xeb, 0x24, 0x32, 0x13, 0xcb, 0x36, 0x9d, 0xc4, + 0x8e, 0x93, 0x90, 0x96, 0xd3, 0x26, 0x8d, 0x81, 0x16, 0x88, 0x6c, 0x17, 0x0d, 0x5a, 0xa7, 0x85, + 0x9c, 0xa6, 0x40, 0x2f, 0xec, 0x88, 0x9c, 0x90, 0xac, 0x45, 0x8e, 0xca, 0x19, 0x29, 0xf5, 0xa1, + 0x40, 0x9a, 0x63, 0x7a, 0x68, 0x81, 0x1e, 0x8a, 0x1e, 0x7a, 0xda, 0xbd, 0x06, 0xc8, 0x61, 0x2f, + 0x9b, 0xc3, 0x9e, 0x76, 0x81, 0x1c, 0x83, 0xdd, 0xcb, 0x62, 0xb1, 0x08, 0x16, 0xc9, 0x02, 0x01, + 0xf6, 0xb4, 0xf7, 0xbd, 0x2c, 0x38, 0x33, 0xa4, 0x48, 0x89, 0x94, 0x65, 0xc0, 0x17, 0x43, 0xf3, + 0xe6, 0xbd, 0x99, 0xef, 0xfd, 0xce, 0x47, 0x83, 0x05, 0xd7, 0xff, 0x0b, 0x32, 0xa9, 0xdb, 0x41, + 0x7a, 0x0b, 0xd9, 0xf6, 0xa1, 0xde, 0xa9, 0xea, 0x1e, 0xb1, 0x89, 0xd6, 0x0a, 0x30, 0xc5, 0xb2, + 0x1c, 0x6f, 0x6b, 0x6c, 0x5b, 0xeb, 0x54, 0x95, 0x8a, 0x89, 0x89, 0x87, 0x89, 0xde, 0x80, 0x04, + 0xe9, 0x9d, 0x6a, 0x03, 0x51, 0x58, 0xd5, 0x4d, 0xec, 0xfa, 0xdc, 0x46, 0x99, 0xb3, 0xb1, 0x8d, + 0xd9, 0x4f, 0x3d, 0xfc, 0x25, 0xa4, 0x17, 0x6d, 0x8c, 0xed, 0x26, 0xd2, 0x61, 0xcb, 0xd5, 0xa1, + 0xef, 0x63, 0x0a, 0xa9, 0x8b, 0x7d, 0x71, 0x8f, 0x52, 0xc9, 0x80, 0x41, 0x0f, 0x5b, 0x28, 0xda, + 0x5f, 0xcc, 0xd8, 0x6f, 0xc1, 0x00, 0x7a, 0x91, 0xc2, 0xbc, 0x38, 0x9e, 0xad, 0x1a, 0xed, 0x47, + 0x3a, 0xf4, 0x0f, 0xc5, 0xd6, 0x79, 0x81, 0xd7, 0x23, 0xb6, 0xf0, 0x2e, 0xb2, 0xe1, 0x1b, 0x06, + 0xc7, 0xca, 0x17, 0x62, 0xeb, 0x0c, 0xf4, 0x5c, 0x1f, 0xeb, 0xec, 0x2f, 0x17, 0xa9, 0xcf, 0x25, + 0x70, 0x61, 0x8f, 0xd8, 0xfb, 0x88, 0xfe, 0x2e, 0x30, 0x1d, 0x44, 0x68, 0x00, 0x29, 0x0e, 0xee, + 0x5a, 0x56, 0x80, 0x08, 0x41, 0x44, 0x3e, 0x07, 0xc6, 0x09, 0xf2, 0x2d, 0x14, 0x94, 0xa5, 0x25, + 0x69, 0x6d, 0xaa, 0x2e, 0x56, 0xb2, 0x0a, 0xa6, 0x71, 0xc2, 0xa0, 0x3c, 0xca, 0x76, 0x53, 0x32, + 0x79, 0x11, 0x94, 0x10, 0x75, 0x0c, 0xc8, 0x0f, 0x2b, 0x17, 0x98, 0x0a, 0x40, 0xd4, 0x11, 0xc7, + 0x6f, 0x55, 0x9f, 0xbe, 0x7f, 0xb1, 0x2e, 0x4e, 0x7c, 0xf6, 0xfe, 0xc5, 0xfa, 0x32, 0x8f, 0xc2, + 0x00, 0x3c, 0xea, 0x65, 0xb0, 0x32, 0x60, 0xbb, 0x8e, 0x48, 0x0b, 0xfb, 0x04, 0xa9, 0x1f, 0x4b, + 0xe0, 0xf4, 0x1e, 0xb1, 0x1f, 0xc2, 0x26, 0x41, 0x74, 0x1b, 0xfb, 0x8f, 0xdc, 0xc0, 0x93, 0xe7, + 0xc0, 0x98, 0x8f, 0x7d, 0x13, 0x31, 0x57, 0x8a, 0x75, 0xbe, 0x38, 0x11, 0x4f, 0xe4, 0x8b, 0x60, + 0x8a, 0xb8, 0xb6, 0x0f, 0x69, 0x3b, 0x40, 0xe5, 0x22, 0xdb, 0xee, 0x0a, 0xb6, 0xae, 0x87, 0x7e, + 0xa6, 0x4e, 0x0c, 0xbd, 0x3d, 0x17, 0x7b, 0x9b, 0x82, 0xa9, 0x2a, 0xa0, 0xdc, 0x2b, 0x8b, 0xfd, + 0x7a, 0x23, 0x81, 0x69, 0xe6, 0xbf, 0x6f, 0x3d, 0xc0, 0xbb, 0xd4, 0xc9, 0xcd, 0xcf, 0x3c, 0x98, + 0x0c, 0x11, 0x5b, 0x88, 0x50, 0xe1, 0xd1, 0x04, 0xa2, 0xce, 0x0e, 0x22, 0x54, 0xbe, 0x0d, 0xc6, + 0xa1, 0x87, 0xdb, 0x3e, 0x65, 0x7e, 0x94, 0x36, 0xe7, 0x35, 0x51, 0x24, 0x61, 0xe9, 0x6b, 0xa2, + 0xf4, 0xb5, 0x6d, 0xec, 0xfa, 0xb5, 0xe2, 0xab, 0x37, 0x8b, 0x23, 0x75, 0xa1, 0x2e, 0xff, 0x12, + 0x80, 0x46, 0xe0, 0x5a, 0x36, 0x32, 0x1e, 0x21, 0xee, 0xe5, 0x10, 0xc6, 0x53, 0xdc, 0xe4, 0x57, + 0x08, 0x6d, 0xa9, 0x3d, 0xe9, 0x96, 0x13, 0xe9, 0x16, 0xfe, 0xa8, 0xe7, 0xc0, 0x5c, 0x72, 0x1d, + 0x3b, 0xfe, 0x37, 0x30, 0xbb, 0x47, 0xec, 0x3a, 0xfa, 0x6b, 0x1b, 0x11, 0x5a, 0x83, 0xd4, 0x74, + 0xfa, 0x12, 0x27, 0x65, 0x24, 0x6e, 0x0e, 0x8c, 0x59, 0xc8, 0xc7, 0x9e, 0x88, 0x01, 0x5f, 0x6c, + 0x5d, 0xcb, 0xcc, 0xc7, 0xd9, 0x18, 0x4e, 0xf2, 0x1a, 0x75, 0x1e, 0x9c, 0xef, 0x11, 0xc5, 0xa0, + 0xbe, 0x96, 0x18, 0x2a, 0x91, 0x24, 0x8e, 0x2a, 0xbb, 0xc8, 0x2e, 0x83, 0x53, 0x14, 0x1f, 0x20, + 0xdf, 0x30, 0xb1, 0x4f, 0x03, 0x68, 0x46, 0x49, 0x99, 0x61, 0xd2, 0x6d, 0x21, 0x94, 0x17, 0x40, + 0x58, 0x54, 0x46, 0x58, 0x39, 0x28, 0x10, 0x65, 0x36, 0x85, 0xa8, 0xb3, 0xcf, 0x04, 0x7d, 0x1e, + 0x17, 0x33, 0x3c, 0x4e, 0x55, 0xe2, 0x58, 0x6f, 0x25, 0x1e, 0xe5, 0x79, 0xd2, 0x15, 0xe1, 0x79, + 0x52, 0x14, 0x7b, 0xfe, 0xdd, 0x28, 0xf3, 0x7c, 0x07, 0xb5, 0x30, 0x71, 0xe9, 0x76, 0x13, 0xba, + 0x1e, 0x6b, 0x92, 0x0e, 0xf2, 0xa9, 0x91, 0xf4, 0x1f, 0x30, 0xd1, 0x7d, 0x16, 0x84, 0x65, 0x30, + 0xdd, 0x68, 0x62, 0xf3, 0xc0, 0x70, 0x90, 0x6b, 0x3b, 0x3c, 0x04, 0xc5, 0x7a, 0x89, 0xc9, 0x7e, + 0xcd, 0x44, 0x19, 0x71, 0x2a, 0x64, 0xc5, 0xe9, 0x67, 0x71, 0x09, 0xb3, 0x10, 0xd4, 0x16, 0xc2, + 0x52, 0xfb, 0xea, 0xcd, 0xe2, 0x59, 0x5e, 0x8c, 0xc4, 0x3a, 0xd0, 0x5c, 0xac, 0x7b, 0x90, 0x3a, + 0xda, 0x3d, 0x9f, 0xc6, 0x05, 0xbc, 0x0a, 0x66, 0x11, 0x75, 0x50, 0x80, 0xda, 0x9e, 0x21, 0xba, + 0x86, 0x47, 0xe8, 0x54, 0x24, 0xde, 0xe7, 0xdd, 0xb3, 0x0a, 0x66, 0xc5, 0x14, 0x0d, 0x90, 0x89, + 0xdc, 0x0e, 0x0a, 0xca, 0xe3, 0x5c, 0x91, 0x8b, 0xeb, 0x42, 0xda, 0x97, 0x91, 0x89, 0x8c, 0x8c, + 0xc8, 0xa0, 0x68, 0x41, 0x0a, 0xcb, 0x93, 0x6c, 0x8f, 0xfd, 0x3e, 0x32, 0x0f, 0xc9, 0xc0, 0x8a, + 0x3c, 0x24, 0x45, 0x71, 0x1e, 0xbe, 0xe7, 0x73, 0xee, 0x8f, 0x2e, 0x75, 0xac, 0x00, 0x3e, 0x3e, + 0xb9, 0x44, 0x2c, 0x82, 0x52, 0x23, 0xcc, 0xb8, 0x38, 0xa3, 0xc0, 0xcf, 0x60, 0xa2, 0xfb, 0x39, + 0x15, 0x5d, 0xcc, 0xca, 0x54, 0x6f, 0x80, 0xc6, 0xfa, 0x03, 0x74, 0xe4, 0x78, 0x4c, 0x79, 0x27, + 0xc6, 0x63, 0x4a, 0x16, 0x87, 0xe3, 0xd3, 0x51, 0x70, 0x76, 0x8f, 0xd8, 0xbb, 0xf5, 0xed, 0xcd, + 0x8d, 0x1d, 0xd4, 0x6a, 0xe2, 0x43, 0x64, 0x9d, 0x5c, 0x4c, 0x96, 0xc1, 0xb4, 0xa8, 0x0a, 0x3e, + 0x53, 0x78, 0x69, 0x96, 0xb8, 0x6c, 0x27, 0x14, 0x0d, 0x1b, 0x15, 0x19, 0x14, 0x7d, 0xe8, 0x45, + 0xfd, 0xc9, 0x7e, 0xb3, 0x49, 0x7e, 0xe8, 0x35, 0x70, 0x53, 0x94, 0x9a, 0x58, 0xc9, 0x0a, 0x98, + 0xb4, 0x90, 0xe9, 0x7a, 0xb0, 0x49, 0x58, 0x79, 0x15, 0xeb, 0xf1, 0xba, 0x2f, 0xba, 0x93, 0x19, + 0xd1, 0xad, 0x66, 0x46, 0xf7, 0x42, 0x1c, 0xdd, 0xfe, 0x60, 0xa9, 0x8b, 0x60, 0x21, 0x73, 0x23, + 0x8e, 0xf3, 0xdf, 0x81, 0x1c, 0x4e, 0x06, 0xe8, 0x9b, 0xa8, 0xd9, 0x7d, 0x8b, 0x42, 0xe7, 0x03, + 0xe8, 0x13, 0x68, 0x86, 0x24, 0xc8, 0x70, 0x2d, 0x11, 0xe6, 0x99, 0x84, 0xf4, 0x9e, 0x95, 0x78, + 0xb2, 0x46, 0x93, 0x4f, 0xd6, 0xd6, 0x5a, 0xcf, 0xf3, 0x50, 0xee, 0x4e, 0xa5, 0xf4, 0x45, 0xea, + 0x45, 0xa0, 0xf4, 0x4b, 0x63, 0x70, 0x2f, 0x25, 0x06, 0x7f, 0xbf, 0xdd, 0xf0, 0x5c, 0x5a, 0x83, + 0xd6, 0x7e, 0x34, 0xfd, 0x76, 0x3b, 0xae, 0x85, 0xc2, 0x5c, 0x6b, 0x60, 0x82, 0xb4, 0x1b, 0x21, + 0xf5, 0x62, 0x08, 0x4b, 0x9b, 0x73, 0x1a, 0x27, 0x5a, 0x5a, 0x44, 0xb4, 0xb4, 0xbb, 0xfe, 0x61, + 0x3d, 0x52, 0x4a, 0xcf, 0xd4, 0xd1, 0x9e, 0x99, 0x9a, 0xf0, 0xa7, 0x90, 0xf2, 0xe7, 0x66, 0x8f, + 0x3f, 0x2b, 0xdd, 0xe7, 0x2e, 0x17, 0x9a, 0xba, 0x0a, 0x2e, 0x0f, 0x54, 0x88, 0xbd, 0xfc, 0x81, + 0x97, 0x3a, 0xa7, 0x09, 0x7f, 0x68, 0x59, 0x90, 0x1e, 0xa7, 0xd4, 0x3b, 0xcc, 0x4c, 0x68, 0x88, + 0x52, 0xe7, 0xb2, 0xec, 0x6e, 0x28, 0xf4, 0x77, 0xc3, 0x2f, 0xc0, 0x84, 0x87, 0xbc, 0x06, 0x0a, + 0x48, 0xb9, 0xb8, 0x54, 0x58, 0x2b, 0x6d, 0xae, 0x68, 0xfd, 0xb4, 0x5a, 0xab, 0xb1, 0xd7, 0xff, + 0x21, 0x6c, 0xba, 0x56, 0x58, 0x7a, 0xf5, 0xc8, 0x46, 0xae, 0x81, 0x99, 0x00, 0x3d, 0x86, 0x81, + 0x65, 0x88, 0x49, 0x3e, 0x36, 0xcc, 0x24, 0x9f, 0xe6, 0x36, 0x77, 0xf9, 0x3c, 0x5f, 0x06, 0x62, + 0x6d, 0xb0, 0xf6, 0x12, 0x8d, 0x53, 0xe2, 0xb2, 0x07, 0xa1, 0x68, 0x98, 0x01, 0x7d, 0x64, 0x87, + 0xf4, 0xc7, 0x58, 0x74, 0x48, 0xff, 0x46, 0x9c, 0x9e, 0xe7, 0x9c, 0x1a, 0xf0, 0xbd, 0xdf, 0x33, + 0x4e, 0x2f, 0xdf, 0x02, 0x53, 0xb0, 0x4d, 0x1d, 0x1c, 0xb8, 0xf4, 0x90, 0xb3, 0x95, 0x5a, 0xf9, + 0xf3, 0x8f, 0x6e, 0xcc, 0x09, 0x06, 0x25, 0xb8, 0xe4, 0x3e, 0x0d, 0x5c, 0xdf, 0xae, 0x77, 0x55, + 0xe5, 0x9f, 0x83, 0x71, 0xfe, 0x55, 0xc0, 0x32, 0x55, 0xda, 0x54, 0xb2, 0x02, 0xcd, 0xef, 0x88, + 0x18, 0x1b, 0xd7, 0xe7, 0x2d, 0xd5, 0x3d, 0x29, 0xfd, 0xc6, 0x24, 0xb1, 0x89, 0x37, 0x26, 0x29, + 0x8a, 0x5d, 0xf9, 0x3f, 0xef, 0xa7, 0x5a, 0x13, 0x9a, 0x07, 0x4d, 0x97, 0xd0, 0x5d, 0xf1, 0x56, + 0xa6, 0x3f, 0x12, 0x38, 0x65, 0x89, 0x48, 0x28, 0xe7, 0x2b, 0x3a, 0xf8, 0x49, 0x23, 0xb2, 0x8a, + 0xc8, 0x33, 0x0a, 0xbd, 0x28, 0xac, 0x4d, 0xd5, 0xe5, 0x78, 0x2b, 0x3e, 0x28, 0x6a, 0x19, 0x66, + 0x9d, 0x6e, 0x99, 0xfc, 0xdb, 0x45, 0xcb, 0xe4, 0x2b, 0xc4, 0x8e, 0xfc, 0x57, 0x62, 0x73, 0xa3, + 0x8e, 0x3a, 0xf8, 0x00, 0x45, 0x6a, 0xb1, 0xdd, 0xc9, 0x79, 0xb1, 0xd1, 0xe3, 0xc5, 0x52, 0x82, + 0x58, 0x66, 0x5e, 0xad, 0x5e, 0x02, 0x6a, 0xfe, 0x6e, 0x84, 0x7f, 0xf3, 0x93, 0xd3, 0xa0, 0xb0, + 0x47, 0x6c, 0xf9, 0x5f, 0x12, 0x98, 0x49, 0x7f, 0xd9, 0x5c, 0xca, 0xaa, 0x88, 0xde, 0x8f, 0x08, + 0xe5, 0xfa, 0x30, 0x5a, 0x71, 0xb4, 0xd6, 0x9f, 0x7e, 0xf1, 0xed, 0x7f, 0x46, 0x2f, 0xa9, 0xaa, + 0x9e, 0xf1, 0x95, 0x2a, 0xe6, 0x87, 0x29, 0xee, 0x7f, 0x22, 0x81, 0xa9, 0xee, 0x3b, 0xb0, 0x94, + 0x73, 0x4f, 0xac, 0xa1, 0xac, 0x1d, 0xa5, 0x11, 0xa3, 0x58, 0x65, 0x28, 0x96, 0xd5, 0xc5, 0x2c, + 0x14, 0xe1, 0x6c, 0x35, 0x28, 0x36, 0x10, 0x75, 0xe4, 0x7f, 0x4a, 0x60, 0x3a, 0xf5, 0x79, 0xb0, + 0x92, 0x73, 0x47, 0x52, 0x49, 0xb9, 0x36, 0x84, 0x52, 0x8c, 0xe5, 0x2a, 0xc3, 0xb2, 0xa2, 0x2e, + 0x67, 0x61, 0x09, 0xb8, 0x85, 0xc1, 0x28, 0x12, 0x43, 0x93, 0xfa, 0x2c, 0xc8, 0x43, 0x93, 0x54, + 0xca, 0x45, 0x93, 0x49, 0xc1, 0x07, 0xa2, 0x11, 0x89, 0x49, 0xa0, 0x49, 0x51, 0xf5, 0x3c, 0x34, + 0x49, 0xa5, 0x5c, 0x34, 0x99, 0x44, 0x74, 0x20, 0x1a, 0x8b, 0x5b, 0x18, 0x26, 0xbb, 0x3c, 0x2c, + 0xdf, 0x34, 0x61, 0xcd, 0x2b, 0xdf, 0x94, 0x56, 0x6e, 0xf9, 0x66, 0x53, 0xc1, 0x81, 0xe5, 0xfb, + 0x58, 0x98, 0x08, 0x44, 0x1f, 0x48, 0xe0, 0x4c, 0x72, 0x96, 0x73, 0x54, 0x57, 0x07, 0xb6, 0x4b, + 0x72, 0xea, 0x2b, 0xd5, 0xa1, 0x55, 0x63, 0x7c, 0x1b, 0x0c, 0xdf, 0xba, 0xba, 0x36, 0xa0, 0xbd, + 0xda, 0xdc, 0x50, 0xa0, 0xfc, 0x50, 0x02, 0x72, 0x06, 0xb3, 0xcd, 0x83, 0xd9, 0xaf, 0x9a, 0x0b, + 0x73, 0x00, 0xd3, 0x1b, 0x08, 0x13, 0x05, 0xe6, 0xe6, 0x86, 0x61, 0x09, 0x43, 0x01, 0xf3, 0xa5, + 0x04, 0xca, 0xb9, 0xff, 0x4e, 0xd2, 0x73, 0x1b, 0x3f, 0xdb, 0x40, 0xb9, 0x7d, 0x4c, 0x83, 0x18, + 0xf8, 0x4f, 0x19, 0x70, 0x4d, 0xbd, 0x9e, 0x3d, 0x38, 0xa8, 0x91, 0x7c, 0xef, 0xa3, 0xb1, 0x2e, + 0xff, 0x4f, 0x02, 0xb3, 0xbd, 0xb4, 0xf6, 0x4a, 0x5e, 0x57, 0xa6, 0xf5, 0x14, 0x6d, 0x38, 0xbd, + 0x18, 0xa1, 0xc6, 0x10, 0xae, 0xa9, 0x57, 0x32, 0x1b, 0x98, 0x19, 0x19, 0xc9, 0x09, 0xf7, 0x99, + 0x04, 0x94, 0x01, 0xa4, 0x36, 0x2f, 0xb9, 0xf9, 0x26, 0xca, 0x9d, 0x63, 0x9b, 0xc4, 0xe0, 0xef, + 0x30, 0xf0, 0x37, 0xd5, 0x6a, 0x66, 0x78, 0x99, 0xbd, 0xd1, 0x80, 0x96, 0x11, 0xd3, 0x64, 0x03, + 0x45, 0x40, 0xff, 0x0c, 0xa6, 0x53, 0xb4, 0x28, 0x6f, 0x18, 0x25, 0x95, 0x72, 0x87, 0x51, 0x16, + 0x63, 0x91, 0x9f, 0x49, 0x40, 0x19, 0x40, 0x57, 0xf2, 0x22, 0x95, 0x6f, 0x92, 0x1b, 0xa9, 0xa3, + 0x59, 0x87, 0xfc, 0x0f, 0x09, 0x9c, 0xcf, 0xa3, 0x1c, 0x5a, 0xee, 0xf3, 0x93, 0xa9, 0xaf, 0xdc, + 0x3a, 0x9e, 0x7e, 0x84, 0x41, 0x19, 0x7b, 0xf2, 0xfe, 0xc5, 0xba, 0x54, 0x43, 0xaf, 0xde, 0x56, + 0xa4, 0xd7, 0x6f, 0x2b, 0xd2, 0x37, 0x6f, 0x2b, 0xd2, 0xbf, 0xdf, 0x55, 0x46, 0x5e, 0xbf, 0xab, + 0x8c, 0x7c, 0xf9, 0xae, 0x32, 0xf2, 0xa7, 0xdf, 0xd8, 0x2e, 0x75, 0xda, 0x0d, 0xcd, 0xc4, 0x9e, + 0x7e, 0x2f, 0xba, 0xe2, 0xb7, 0xb0, 0x41, 0xba, 0xe9, 0xbd, 0x61, 0xe2, 0x00, 0x25, 0x97, 0x0e, + 0x74, 0x7d, 0xdd, 0xc3, 0x56, 0xbb, 0x89, 0x88, 0xc8, 0x3d, 0xfb, 0xe7, 0x76, 0x63, 0x9c, 0x7d, + 0x45, 0xdd, 0xfc, 0x31, 0x00, 0x00, 0xff, 0xff, 0x97, 0x47, 0xe3, 0xea, 0x86, 0x17, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/peggy/types/params.go b/chain/peggy/types/params.go index b4363219..656ada2b 100644 --- a/chain/peggy/types/params.go +++ b/chain/peggy/types/params.go @@ -290,6 +290,6 @@ func validateSlashFractionBadEthSignature(i interface{}) error { return nil } -func validateValsetReward(_ interface{}) error { +func validateValsetReward(i interface{}) error { return nil } diff --git a/chain/permissions/types/errors.go b/chain/permissions/types/errors.go index 2ad6e08d..f104edaf 100644 --- a/chain/permissions/types/errors.go +++ b/chain/permissions/types/errors.go @@ -8,16 +8,17 @@ import ( // x/tokenfactory module sentinel errors var ( - ErrDenomNamespaceExists = errors.Register(ModuleName, 2, "attempting to create a namespace for denom that already exists") - ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") - ErrInvalidGenesis = errors.Register(ModuleName, 4, "invalid genesis") - ErrInvalidNamespaceAdmin = errors.Register(ModuleName, 5, "invalid admin") - ErrInvalidPermission = errors.Register(ModuleName, 6, "invalid permissions") - ErrUnknownRole = errors.Register(ModuleName, 7, "unknown role") - ErrUnknownWasmHook = errors.Register(ModuleName, 8, "unknown contract address") - ErrRestrictedAction = errors.Register(ModuleName, 9, "restricted action") - ErrInvalidRole = errors.Register(ModuleName, 10, "invalid role") - ErrUnknownDenom = errors.Register(ModuleName, 11, "namespace for denom is not existing") - ErrWasmHookError = errors.Register(ModuleName, 12, "wasm hook query error") - ErrVoucherNotFound = errors.Register(ModuleName, 13, "voucher was not found") + ErrDenomNamespaceExists = errors.Register(ModuleName, 2, "attempting to create a namespace for denom that already exists") + ErrUnauthorized = errors.Register(ModuleName, 3, "unauthorized account") + ErrInvalidGenesis = errors.Register(ModuleName, 4, "invalid genesis") + ErrInvalidNamespace = errors.Register(ModuleName, 5, "invalid namespace") + ErrInvalidPermission = errors.Register(ModuleName, 6, "invalid permissions") + ErrUnknownRole = errors.Register(ModuleName, 7, "unknown role") + ErrUnknownWasmHook = errors.Register(ModuleName, 8, "unknown contract address") + ErrRestrictedAction = errors.Register(ModuleName, 9, "restricted action") + ErrInvalidRole = errors.Register(ModuleName, 10, "invalid role") + ErrUnknownDenom = errors.Register(ModuleName, 11, "namespace for denom is not existing") + ErrWasmHookError = errors.Register(ModuleName, 12, "wasm hook query error") + ErrVoucherNotFound = errors.Register(ModuleName, 13, "voucher was not found") + ErrInvalidWasmHook = errors.Register(ModuleName, 14, "invalid wasm hook") ) diff --git a/chain/permissions/types/events.pb.go b/chain/permissions/types/events.pb.go index 5073c605..d5c783c5 100644 --- a/chain/permissions/types/events.pb.go +++ b/chain/permissions/types/events.pb.go @@ -5,11 +5,13 @@ package types import ( fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/x/bank/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" + io "io" math "math" + math_bits "math/bits" ) // Reference imports to suppress errors if they are not otherwise used. @@ -23,23 +25,355 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type EventSetVoucher struct { + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + Voucher types.Coin `protobuf:"bytes,2,opt,name=voucher,proto3" json:"voucher"` +} + +func (m *EventSetVoucher) Reset() { *m = EventSetVoucher{} } +func (m *EventSetVoucher) String() string { return proto.CompactTextString(m) } +func (*EventSetVoucher) ProtoMessage() {} +func (*EventSetVoucher) Descriptor() ([]byte, []int) { + return fileDescriptor_705c3e21b20426fa, []int{0} +} +func (m *EventSetVoucher) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *EventSetVoucher) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_EventSetVoucher.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *EventSetVoucher) XXX_Merge(src proto.Message) { + xxx_messageInfo_EventSetVoucher.Merge(m, src) +} +func (m *EventSetVoucher) XXX_Size() int { + return m.Size() +} +func (m *EventSetVoucher) XXX_DiscardUnknown() { + xxx_messageInfo_EventSetVoucher.DiscardUnknown(m) +} + +var xxx_messageInfo_EventSetVoucher proto.InternalMessageInfo + +func (m *EventSetVoucher) GetAddr() string { + if m != nil { + return m.Addr + } + return "" +} + +func (m *EventSetVoucher) GetVoucher() types.Coin { + if m != nil { + return m.Voucher + } + return types.Coin{} +} + +func init() { + proto.RegisterType((*EventSetVoucher)(nil), "injective.permissions.v1beta1.EventSetVoucher") +} + func init() { proto.RegisterFile("injective/permissions/v1beta1/events.proto", fileDescriptor_705c3e21b20426fa) } var fileDescriptor_705c3e21b20426fa = []byte{ - // 202 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0xca, 0xcc, 0xcb, 0x4a, - 0x4d, 0x2e, 0xc9, 0x2c, 0x4b, 0xd5, 0x2f, 0x48, 0x2d, 0xca, 0xcd, 0x2c, 0x2e, 0xce, 0xcc, 0xcf, - 0x2b, 0xd6, 0x2f, 0x33, 0x4c, 0x4a, 0x2d, 0x49, 0x34, 0xd4, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0x29, - 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0x85, 0xab, 0xd5, 0x43, 0x52, 0xab, 0x07, 0x55, - 0x2b, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0x56, 0xa9, 0x0f, 0x62, 0x41, 0x34, 0x49, 0xc9, 0x25, - 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x27, 0x25, 0x16, 0xa7, 0xc2, 0x8d, 0x4d, 0xce, 0xcf, 0xcc, - 0xc3, 0x90, 0xcf, 0xcb, 0x86, 0xcb, 0x83, 0x38, 0x10, 0x79, 0xa7, 0xec, 0x13, 0x8f, 0xe4, 0x18, - 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, - 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x0a, 0x4c, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, - 0xcf, 0xd5, 0xf7, 0x84, 0xb9, 0xcc, 0x27, 0x31, 0xa9, 0x58, 0x1f, 0xee, 0x4e, 0xdd, 0xe4, 0xfc, - 0xa2, 0x54, 0x64, 0x6e, 0x46, 0x62, 0x66, 0x9e, 0x7e, 0x6e, 0x7e, 0x4a, 0x69, 0x4e, 0x6a, 0x31, - 0x8a, 0x87, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0x76, 0x1a, 0x03, 0x02, 0x00, 0x00, - 0xff, 0xff, 0xf5, 0x22, 0x59, 0x7e, 0x16, 0x01, 0x00, 0x00, + // 272 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xb1, 0x4a, 0xc4, 0x40, + 0x10, 0x86, 0xb3, 0x72, 0x28, 0xc6, 0x42, 0x08, 0x16, 0xe7, 0x81, 0xeb, 0x61, 0x75, 0x08, 0xee, + 0x72, 0x5a, 0xd9, 0x9e, 0x58, 0x08, 0x36, 0x9e, 0x60, 0x61, 0x65, 0xb2, 0x19, 0x92, 0xf5, 0xcc, + 0x4e, 0xd8, 0xd9, 0x04, 0x7c, 0x0b, 0x1f, 0xeb, 0xca, 0x2b, 0xad, 0x44, 0x92, 0x17, 0x91, 0x24, + 0x26, 0x9c, 0xd8, 0xcd, 0xf0, 0x7d, 0x3b, 0x3b, 0xf3, 0xfb, 0xe7, 0xda, 0xbc, 0x82, 0x72, 0xba, + 0x04, 0x99, 0x83, 0xcd, 0x34, 0x91, 0x46, 0x43, 0xb2, 0x9c, 0x47, 0xe0, 0xc2, 0xb9, 0x84, 0x12, + 0x8c, 0x23, 0x91, 0x5b, 0x74, 0x18, 0x9c, 0x0c, 0xae, 0xd8, 0x72, 0xc5, 0xaf, 0x3b, 0x39, 0x4a, + 0x30, 0xc1, 0xd6, 0x94, 0x4d, 0xd5, 0x3d, 0x9a, 0x70, 0x85, 0x94, 0x21, 0xc9, 0x28, 0x24, 0x18, + 0xc6, 0x2a, 0xd4, 0xe6, 0x1f, 0x37, 0xab, 0x81, 0x37, 0x4d, 0xc7, 0xcf, 0x5e, 0xfc, 0xc3, 0xdb, + 0x66, 0x89, 0x47, 0x70, 0x4f, 0x58, 0xa8, 0x14, 0x6c, 0x10, 0xf8, 0xa3, 0x30, 0x8e, 0xed, 0x98, + 0x4d, 0xd9, 0x6c, 0x7f, 0xd9, 0xd6, 0xc1, 0xb5, 0xbf, 0x57, 0x76, 0x78, 0xbc, 0x33, 0x65, 0xb3, + 0x83, 0xcb, 0x63, 0xd1, 0x0d, 0x16, 0xcd, 0xc7, 0xfd, 0x8e, 0xe2, 0x06, 0xb5, 0x59, 0x8c, 0xd6, + 0x5f, 0xa7, 0xde, 0xb2, 0xf7, 0x17, 0xab, 0x75, 0xc5, 0xd9, 0xa6, 0xe2, 0xec, 0xbb, 0xe2, 0xec, + 0xa3, 0xe6, 0xde, 0xa6, 0xe6, 0xde, 0x67, 0xcd, 0xbd, 0xe7, 0x87, 0x44, 0xbb, 0xb4, 0x88, 0x84, + 0xc2, 0x4c, 0xde, 0xf5, 0xb7, 0xdf, 0x87, 0x11, 0xc9, 0x21, 0x89, 0x0b, 0x85, 0x16, 0xb6, 0xdb, + 0x34, 0xd4, 0x46, 0x66, 0x18, 0x17, 0x6f, 0x40, 0x7f, 0x22, 0x75, 0xef, 0x39, 0x50, 0xb4, 0xdb, + 0x5e, 0x75, 0xf5, 0x13, 0x00, 0x00, 0xff, 0xff, 0x74, 0x79, 0xe1, 0x33, 0x78, 0x01, 0x00, 0x00, } + +func (m *EventSetVoucher) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EventSetVoucher) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *EventSetVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Voucher.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Addr) > 0 { + i -= len(m.Addr) + copy(dAtA[i:], m.Addr) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Addr))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintEvents(dAtA []byte, offset int, v uint64) int { + offset -= sovEvents(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *EventSetVoucher) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Addr) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + l = m.Voucher.Size() + n += 1 + l + sovEvents(uint64(l)) + return n +} + +func sovEvents(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozEvents(x uint64) (n int) { + return sovEvents(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *EventSetVoucher) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: EventSetVoucher: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EventSetVoucher: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Addr = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Voucher", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Voucher.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipEvents(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvents + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvents + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowEvents + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthEvents + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupEvents + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthEvents + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthEvents = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowEvents = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupEvents = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/permissions/types/msgs.go b/chain/permissions/types/msgs.go new file mode 100644 index 00000000..e9b762b1 --- /dev/null +++ b/chain/permissions/types/msgs.go @@ -0,0 +1,227 @@ +package types + +import ( + "fmt" + + "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + + tftypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" +) + +// constants +const ( + // RouterKey is the message route for slashing + routerKey = ModuleName + + TypeMsgUpdateParams = "update_params" + TypeMsgCreateNamespace = "create_namespace" + TypeMsgDeleteNamespace = "delete_namespace" + TypeUpdateNamespace = "update_namespace" + TypeMsgUpdateNamespaceRoles = "update_namespace_roles" + TypeMsgRevokeNamespaceRoles = "revoke_namespace_roles" + TypeMsgClaimVoucher = "claim_voucher" +) + +var ( + _ sdk.Msg = &MsgUpdateParams{} + _ sdk.Msg = &MsgCreateNamespace{} + _ sdk.Msg = &MsgDeleteNamespace{} + _ sdk.Msg = &MsgUpdateNamespace{} + _ sdk.Msg = &MsgUpdateNamespaceRoles{} + _ sdk.Msg = &MsgRevokeNamespaceRoles{} + _ sdk.Msg = &MsgClaimVoucher{} +) + +func (m MsgUpdateParams) Route() string { return routerKey } + +func (m MsgUpdateParams) Type() string { return TypeMsgUpdateParams } + +func (m MsgUpdateParams) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Authority); err != nil { + return err + } + + if err := m.Params.Validate(); err != nil { + return err + } + return nil +} + +func (m *MsgUpdateParams) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateParams) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Authority) + return []sdk.AccAddress{addr} +} + +func (m MsgCreateNamespace) Route() string { return routerKey } + +func (m MsgCreateNamespace) Type() string { return TypeMsgCreateNamespace } + +func (msg MsgCreateNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if err := msg.Namespace.Validate(); err != nil { + return err + } + return nil +} + +func (m *MsgCreateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgCreateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgDeleteNamespace) Route() string { return routerKey } + +func (m MsgDeleteNamespace) Type() string { return TypeMsgDeleteNamespace } + +func (m MsgDeleteNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Sender); err != nil { + return err + } + + if _, _, err := tftypes.DeconstructDenom(m.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + return nil +} + +func (m *MsgDeleteNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgDeleteNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgUpdateNamespace) Route() string { return routerKey } + +func (m MsgUpdateNamespace) Type() string { return TypeUpdateNamespace } + +func (m MsgUpdateNamespace) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(m.Sender); err != nil { + return err + } + + if m.WasmHook != nil { + if _, err := sdk.AccAddressFromBech32(m.WasmHook.NewValue); err != nil { + return ErrInvalidWasmHook + } + } + return nil +} + +func (m *MsgUpdateNamespace) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespace) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } + +func (m MsgUpdateNamespaceRoles) Type() string { return TypeMsgUpdateNamespaceRoles } + +func (msg MsgUpdateNamespaceRoles) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + if _, _, err := tftypes.DeconstructDenom(msg.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + + for _, role := range msg.AddressRoles { + if _, err := sdk.AccAddressFromBech32(role.Address); err != nil { + return errors.Wrapf(err, "invalid address %s", role.Address) + } + } + + return nil +} + +func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgUpdateNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } + +func (m MsgRevokeNamespaceRoles) Type() string { return TypeMsgRevokeNamespaceRoles } + +func (msg MsgRevokeNamespaceRoles) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if _, _, err := tftypes.DeconstructDenom(msg.NamespaceDenom); err != nil { + return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") + } + + // address_roles + foundAddresses := make(map[string]struct{}, len(msg.AddressRolesToRevoke)) + for _, addrRoles := range msg.AddressRolesToRevoke { + if _, err := sdk.AccAddressFromBech32(addrRoles.Address); err != nil { + return errors.Wrapf(err, "invalid address %s", addrRoles.Address) + } + if _, ok := foundAddresses[addrRoles.Address]; ok { + return errors.Wrapf(ErrInvalidRole, "address %s - revoking roles multiple times?", addrRoles.Address) + } + for _, role := range addrRoles.Roles { + if role == EVERYONE { + return errors.Wrapf(ErrInvalidRole, "role %s can not be set / revoked", EVERYONE) + } + } + foundAddresses[addrRoles.Address] = struct{}{} + } + return nil +} + +func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgRevokeNamespaceRoles) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} + +func (m MsgClaimVoucher) Route() string { return routerKey } + +func (m MsgClaimVoucher) Type() string { return TypeMsgClaimVoucher } + +func (msg MsgClaimVoucher) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Sender); err != nil { + return err + } + + if msg.Denom == "" { + return fmt.Errorf("invalid denom") + } + return nil +} + +func (m *MsgClaimVoucher) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) +} + +func (m MsgClaimVoucher) GetSigners() []sdk.AccAddress { + addr, _ := sdk.AccAddressFromBech32(m.Sender) + return []sdk.AccAddress{addr} +} diff --git a/chain/permissions/types/query.pb.go b/chain/permissions/types/query.pb.go index db2b4c09..78206717 100644 --- a/chain/permissions/types/query.pb.go +++ b/chain/permissions/types/query.pb.go @@ -6,6 +6,8 @@ package types import ( context "context" fmt "fmt" + github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/cosmos-sdk/types/query" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" @@ -538,7 +540,7 @@ func (m *QueryVouchersForAddressRequest) GetAddress() string { } type QueryVouchersForAddressResponse struct { - Vouchers []*AddressVoucher `protobuf:"bytes,1,rep,name=vouchers,proto3" json:"vouchers,omitempty"` + Vouchers github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=vouchers,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"vouchers,omitempty"` } func (m *QueryVouchersForAddressResponse) Reset() { *m = QueryVouchersForAddressResponse{} } @@ -574,7 +576,7 @@ func (m *QueryVouchersForAddressResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryVouchersForAddressResponse proto.InternalMessageInfo -func (m *QueryVouchersForAddressResponse) GetVouchers() []*AddressVoucher { +func (m *QueryVouchersForAddressResponse) GetVouchers() github_com_cosmos_cosmos_sdk_types.Coins { if m != nil { return m.Vouchers } @@ -601,55 +603,58 @@ func init() { } var fileDescriptor_e0ae50f1018498b3 = []byte{ - // 758 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x96, 0xcf, 0x6f, 0xd3, 0x4a, - 0x10, 0xc7, 0xb3, 0x7d, 0x6d, 0x5f, 0x33, 0x6d, 0xf5, 0x9e, 0xf6, 0xe5, 0x90, 0xe7, 0xb6, 0x69, - 0x65, 0x54, 0x11, 0x40, 0x89, 0x49, 0xaa, 0x8a, 0xfe, 0x02, 0x89, 0x80, 0x0a, 0x45, 0x08, 0x51, - 0x1f, 0x90, 0xe8, 0x25, 0xda, 0x24, 0x5b, 0xd7, 0x60, 0x7b, 0x5d, 0xaf, 0x53, 0x29, 0x57, 0x6e, - 0xdc, 0x90, 0xb8, 0xf3, 0x8f, 0xf4, 0xca, 0xa1, 0xc7, 0x4a, 0x5c, 0x38, 0x21, 0xd4, 0xf2, 0x87, - 0x20, 0xaf, 0xd7, 0x8e, 0xd3, 0x34, 0x71, 0x1a, 0x6e, 0xd9, 0xdd, 0xf9, 0xce, 0x7c, 0xbe, 0x93, - 0xcc, 0x28, 0x70, 0xc7, 0x74, 0xde, 0xd1, 0xa6, 0x6f, 0x9e, 0x50, 0xcd, 0xa5, 0x9e, 0x6d, 0x72, - 0x6e, 0x32, 0x87, 0x6b, 0x27, 0x95, 0x06, 0xf5, 0x49, 0x45, 0x3b, 0x6e, 0x53, 0xaf, 0x53, 0x76, - 0x3d, 0xe6, 0x33, 0xbc, 0x14, 0x87, 0x96, 0x13, 0xa1, 0x65, 0x19, 0xaa, 0xe4, 0x0c, 0x66, 0x30, - 0x11, 0xa9, 0x05, 0x9f, 0x42, 0x91, 0xb2, 0x68, 0x30, 0x66, 0x58, 0x54, 0x23, 0xae, 0xa9, 0x11, - 0xc7, 0x61, 0x3e, 0xf1, 0x85, 0x2a, 0x7c, 0xbd, 0xdb, 0x64, 0xdc, 0x66, 0x5c, 0x6b, 0x10, 0x4e, - 0xc3, 0x5a, 0x71, 0x65, 0x97, 0x18, 0xa6, 0x23, 0x82, 0xa3, 0xd8, 0xe1, 0xa4, 0x2e, 0xf1, 0x88, - 0x1d, 0xe5, 0xbd, 0x37, 0x3c, 0xd6, 0xa0, 0x0e, 0xe5, 0x66, 0x14, 0xac, 0xa5, 0x24, 0x4e, 0x78, - 0x15, 0x02, 0x35, 0x07, 0x78, 0x3f, 0x60, 0x7d, 0x2d, 0x4a, 0xea, 0xf4, 0xb8, 0x4d, 0xb9, 0xaf, - 0x1e, 0xc0, 0x7f, 0x3d, 0xb7, 0xdc, 0x65, 0x0e, 0xa7, 0xf8, 0x09, 0x4c, 0x87, 0x68, 0x79, 0xb4, - 0x82, 0x8a, 0xb3, 0xd5, 0xd5, 0xf2, 0xd0, 0x36, 0x96, 0x43, 0x79, 0x6d, 0xf2, 0xec, 0xc7, 0x72, - 0x46, 0x97, 0x52, 0x75, 0x01, 0xfe, 0x17, 0xb9, 0x1f, 0x5b, 0xd6, 0x2b, 0x62, 0x53, 0xee, 0x92, - 0x26, 0x8d, 0x0b, 0x1f, 0x82, 0x72, 0xdd, 0xa3, 0xac, 0xff, 0x1c, 0xc0, 0x89, 0x6f, 0xf3, 0x68, - 0xe5, 0xaf, 0xe2, 0x6c, 0xb5, 0x98, 0xc2, 0x10, 0xa7, 0xd1, 0x13, 0x5a, 0xf5, 0x2d, 0x2c, 0x8a, - 0x3a, 0xf1, 0x6b, 0xad, 0xf3, 0x94, 0x3a, 0xcc, 0x96, 0x1c, 0x38, 0x07, 0x53, 0xad, 0xe0, 0x2c, - 0x8c, 0x66, 0xf5, 0xf0, 0x80, 0x6f, 0xc1, 0xbc, 0xe9, 0x34, 0xad, 0x76, 0x8b, 0xd6, 0x3d, 0x66, - 0x51, 0x9e, 0x9f, 0x58, 0x41, 0xc5, 0x19, 0x7d, 0x4e, 0x5e, 0xea, 0xc1, 0x9d, 0x6a, 0xc0, 0xd2, - 0x80, 0xd4, 0xd2, 0xc5, 0x2e, 0x64, 0x63, 0x12, 0xd9, 0xc8, 0xd1, 0x4d, 0x74, 0xa5, 0xea, 0x33, - 0x58, 0x08, 0x7b, 0xd5, 0x6a, 0x79, 0x94, 0x73, 0xca, 0x6b, 0x9d, 0x80, 0x60, 0xb8, 0x05, 0x0c, - 0x93, 0x01, 0xba, 0x20, 0xcf, 0xea, 0xe2, 0xb3, 0xba, 0x23, 0x9b, 0xd1, 0x97, 0x48, 0x02, 0x2f, - 0x42, 0x96, 0x44, 0x4f, 0xa2, 0xeb, 0x59, 0xbd, 0x7b, 0xa1, 0xbe, 0x80, 0x7c, 0x52, 0x2d, 0x9a, - 0x30, 0x9c, 0x21, 0x0f, 0x7f, 0x4b, 0xb9, 0xc4, 0x88, 0x8e, 0x6a, 0x25, 0xfa, 0x6d, 0xf4, 0xe4, - 0x92, 0x18, 0x39, 0x98, 0x0a, 0xbb, 0x1e, 0x22, 0x84, 0x07, 0x75, 0x0b, 0x0a, 0x42, 0xf2, 0x86, - 0xb5, 0x9b, 0x47, 0xd4, 0xe3, 0xbb, 0xcc, 0x8b, 0xd4, 0x12, 0x22, 0x51, 0x0e, 0xf5, 0x96, 0xb3, - 0x60, 0x79, 0xa0, 0x56, 0x16, 0xdd, 0x83, 0x99, 0x13, 0xf9, 0x2a, 0x7f, 0x70, 0xa5, 0x94, 0xef, - 0x4a, 0x66, 0x90, 0x39, 0xf5, 0x58, 0x5e, 0xfd, 0x98, 0x85, 0x29, 0x51, 0x0e, 0x7f, 0x41, 0x30, - 0x1d, 0xce, 0x06, 0xae, 0xa4, 0x64, 0xeb, 0x1f, 0x4e, 0xa5, 0x7a, 0x13, 0x49, 0x68, 0x43, 0x2d, - 0x7d, 0xf8, 0xf6, 0xeb, 0xf3, 0xc4, 0x6d, 0xbc, 0xaa, 0x8d, 0xb2, 0x79, 0xf0, 0x29, 0x82, 0xf9, - 0x9e, 0x11, 0xc4, 0x1b, 0xa3, 0x14, 0xbd, 0x6e, 0xa4, 0x95, 0xcd, 0x31, 0x94, 0x92, 0x7a, 0x5d, - 0x50, 0x6b, 0xb8, 0x94, 0x42, 0x4d, 0x2c, 0xab, 0xde, 0x1d, 0x6e, 0x7c, 0x86, 0xe0, 0xdf, 0xab, - 0xd3, 0x87, 0xb7, 0x47, 0xc1, 0x18, 0xb0, 0x0e, 0x94, 0x9d, 0xf1, 0xc4, 0xd2, 0xc6, 0xa6, 0xb0, - 0xb1, 0x86, 0x2b, 0x29, 0x36, 0x62, 0x0b, 0xf5, 0x46, 0xa7, 0x1e, 0x8e, 0xca, 0x29, 0x82, 0xb9, - 0xe4, 0x30, 0xe0, 0x07, 0x23, 0x75, 0xb3, 0x7f, 0x14, 0x95, 0x8d, 0x9b, 0x0b, 0x25, 0xfe, 0x86, - 0xc0, 0xaf, 0xe2, 0xfb, 0x69, 0xdf, 0x42, 0xb4, 0x12, 0x02, 0xfc, 0x60, 0x38, 0xf1, 0x57, 0x04, - 0xff, 0x5c, 0x59, 0x2a, 0x78, 0xeb, 0x06, 0x1c, 0x57, 0x56, 0x9a, 0xb2, 0x3d, 0x96, 0xf6, 0x8f, - 0x6d, 0x9c, 0x23, 0xc0, 0xfd, 0x2b, 0x02, 0x3f, 0x1c, 0x85, 0x66, 0xe0, 0x5a, 0x52, 0x1e, 0x8d, - 0x2b, 0x97, 0x7e, 0xb6, 0x85, 0x9f, 0x75, 0xbc, 0x96, 0xe2, 0x27, 0xda, 0x3f, 0xf5, 0x43, 0xe6, - 0xd5, 0xa5, 0xb9, 0xda, 0xfb, 0xb3, 0x8b, 0x02, 0x3a, 0xbf, 0x28, 0xa0, 0x9f, 0x17, 0x05, 0xf4, - 0xe9, 0xb2, 0x90, 0x39, 0xbf, 0x2c, 0x64, 0xbe, 0x5f, 0x16, 0x32, 0x07, 0xfb, 0x86, 0xe9, 0x1f, - 0xb5, 0x1b, 0xe5, 0x26, 0xb3, 0xb5, 0xbd, 0x28, 0xf1, 0x4b, 0xd2, 0xe0, 0xdd, 0x32, 0xa5, 0x26, - 0xf3, 0x68, 0xf2, 0x78, 0x44, 0x4c, 0x47, 0xb3, 0x59, 0xab, 0x6d, 0x51, 0xde, 0xc3, 0xe0, 0x77, - 0x5c, 0xca, 0x1b, 0xd3, 0xe2, 0xaf, 0xc6, 0xda, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0xec, - 0x3f, 0x09, 0xa0, 0x09, 0x00, 0x00, + // 816 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0x4d, 0x4f, 0xdb, 0x4a, + 0x14, 0xcd, 0xf0, 0x80, 0x47, 0x06, 0xd0, 0x7b, 0x9a, 0x66, 0x11, 0x0c, 0x38, 0xc8, 0x15, 0x6a, + 0xfa, 0x11, 0xbb, 0x09, 0x42, 0xe5, 0xab, 0x95, 0x1a, 0x2a, 0xfa, 0xa1, 0xaa, 0x2a, 0x5e, 0x54, + 0x2a, 0x9b, 0xc8, 0x71, 0x06, 0xe3, 0x62, 0x7b, 0x8c, 0xc7, 0x41, 0xca, 0xa2, 0x9b, 0xee, 0xba, + 0xab, 0xd4, 0x7d, 0xd5, 0x75, 0xff, 0x02, 0xdb, 0x2e, 0x58, 0x22, 0x75, 0xd3, 0x15, 0xad, 0xa0, + 0xab, 0xfe, 0x8a, 0xca, 0xe3, 0xb1, 0xe3, 0x10, 0x12, 0x87, 0x74, 0x45, 0x66, 0xee, 0x3d, 0xf7, + 0x9e, 0x73, 0x3d, 0xf7, 0x08, 0x78, 0xd3, 0x74, 0xde, 0x60, 0xdd, 0x37, 0x0f, 0xb1, 0xe2, 0x62, + 0xcf, 0x36, 0x29, 0x35, 0x89, 0x43, 0x95, 0xc3, 0x72, 0x1d, 0xfb, 0x5a, 0x59, 0x39, 0x68, 0x62, + 0xaf, 0x25, 0xbb, 0x1e, 0xf1, 0x09, 0x9a, 0x8f, 0x53, 0xe5, 0x44, 0xaa, 0xcc, 0x53, 0x85, 0x9c, + 0x41, 0x0c, 0xc2, 0x32, 0x95, 0xe0, 0x57, 0x08, 0x12, 0xe6, 0x0c, 0x42, 0x0c, 0x0b, 0x2b, 0x9a, + 0x6b, 0x2a, 0x9a, 0xe3, 0x10, 0x5f, 0xf3, 0x19, 0x2a, 0x8c, 0x8a, 0x3a, 0xa1, 0x36, 0xa1, 0x4a, + 0x5d, 0xa3, 0x38, 0xee, 0xa9, 0x13, 0xd3, 0xe1, 0xf1, 0x5b, 0xc9, 0x38, 0xe3, 0x12, 0x67, 0xb9, + 0x9a, 0x61, 0x3a, 0xac, 0x58, 0x94, 0xdb, 0x5f, 0x89, 0xab, 0x79, 0x9a, 0x1d, 0xf5, 0xbd, 0xdd, + 0x3f, 0xd7, 0xc0, 0x0e, 0xa6, 0x66, 0x94, 0xac, 0xa4, 0x14, 0x4e, 0xcc, 0x82, 0x01, 0xa4, 0x1c, + 0x44, 0xdb, 0x01, 0xd7, 0x97, 0xac, 0xa5, 0x8a, 0x0f, 0x9a, 0x98, 0xfa, 0xd2, 0x0e, 0xbc, 0xd6, + 0x71, 0x4b, 0x5d, 0xe2, 0x50, 0x8c, 0x36, 0xe1, 0x78, 0x48, 0x2d, 0x0f, 0x16, 0x40, 0x71, 0xb2, + 0xb2, 0x28, 0xf7, 0x1d, 0xb3, 0x1c, 0xc2, 0xab, 0xa3, 0xc7, 0xa7, 0x85, 0x8c, 0xca, 0xa1, 0xd2, + 0x2c, 0x9c, 0x61, 0xb5, 0x1f, 0x5a, 0xd6, 0x0b, 0xcd, 0xc6, 0xd4, 0xd5, 0x74, 0x1c, 0x37, 0xde, + 0x85, 0xc2, 0x65, 0x41, 0xde, 0xff, 0x09, 0x84, 0x4e, 0x7c, 0x9b, 0x07, 0x0b, 0xff, 0x14, 0x27, + 0x2b, 0xc5, 0x14, 0x0e, 0x71, 0x19, 0x35, 0x81, 0x95, 0x5e, 0xc3, 0x39, 0xd6, 0x27, 0x8e, 0x56, + 0x5b, 0x8f, 0xb0, 0x43, 0x6c, 0xce, 0x03, 0xe5, 0xe0, 0x58, 0x23, 0x38, 0x33, 0xa1, 0x59, 0x35, + 0x3c, 0xa0, 0xeb, 0x70, 0xda, 0x74, 0x74, 0xab, 0xd9, 0xc0, 0x35, 0x8f, 0x58, 0x98, 0xe6, 0x47, + 0x16, 0x40, 0x71, 0x42, 0x9d, 0xe2, 0x97, 0x6a, 0x70, 0x27, 0x19, 0x70, 0xbe, 0x47, 0x69, 0xae, + 0x62, 0x0b, 0x66, 0x63, 0x26, 0x7c, 0x90, 0x83, 0x8b, 0x68, 0x43, 0xa5, 0xc7, 0x70, 0x36, 0x9c, + 0x55, 0xa3, 0xe1, 0x61, 0x4a, 0x31, 0xad, 0xb6, 0x02, 0x06, 0xfd, 0x25, 0x20, 0x38, 0x1a, 0x50, + 0x67, 0xcc, 0xb3, 0x2a, 0xfb, 0x2d, 0x6d, 0xf0, 0x61, 0x74, 0x15, 0xe2, 0x84, 0xe7, 0x60, 0x56, + 0x8b, 0x42, 0x6c, 0xea, 0x59, 0xb5, 0x7d, 0x21, 0x3d, 0x83, 0xf9, 0x24, 0x9a, 0x0d, 0xa1, 0x3f, + 0x87, 0x3c, 0xfc, 0x97, 0xc3, 0x39, 0x8d, 0xe8, 0x28, 0x95, 0xa3, 0xb7, 0xd1, 0x51, 0x8b, 0xd3, + 0xc8, 0xc1, 0xb1, 0x70, 0xea, 0x21, 0x85, 0xf0, 0x20, 0xad, 0x41, 0x91, 0x41, 0x5e, 0x91, 0xa6, + 0xbe, 0x87, 0x3d, 0xba, 0x45, 0xbc, 0x08, 0xcd, 0x49, 0x24, 0xda, 0x81, 0xce, 0x76, 0x9f, 0x01, + 0x2c, 0xf4, 0x04, 0xf3, 0xae, 0x6f, 0xe1, 0xc4, 0x21, 0x8f, 0xf2, 0x17, 0x37, 0x23, 0x87, 0x9b, + 0x2e, 0x07, 0x9b, 0x1e, 0x7f, 0xa2, 0x4d, 0x62, 0x3a, 0xd5, 0xad, 0xe0, 0xa5, 0xff, 0x3e, 0x2d, + 0xa0, 0x08, 0x72, 0x87, 0xd8, 0xa6, 0x8f, 0x6d, 0xd7, 0x6f, 0x7d, 0xf9, 0x51, 0x28, 0x1a, 0xa6, + 0xbf, 0xd7, 0xac, 0xcb, 0x3a, 0xb1, 0x15, 0x6e, 0x16, 0xe1, 0x9f, 0x12, 0x6d, 0xec, 0x2b, 0x7e, + 0xcb, 0xc5, 0x94, 0x95, 0xa1, 0x6a, 0xdc, 0xb2, 0xf2, 0x3e, 0x0b, 0xc7, 0x18, 0x45, 0xf4, 0x09, + 0xc0, 0xf1, 0x70, 0xa1, 0x50, 0x39, 0xe5, 0xb9, 0x74, 0x6f, 0xb4, 0x50, 0xb9, 0x0a, 0x24, 0x94, + 0x2e, 0x95, 0xde, 0x7d, 0xfb, 0xf5, 0x71, 0xe4, 0x06, 0x5a, 0x54, 0x06, 0xb1, 0x2b, 0x74, 0x04, + 0xe0, 0x74, 0xc7, 0xde, 0xa2, 0x95, 0x41, 0x9a, 0x5e, 0xe6, 0x03, 0xc2, 0xea, 0x10, 0x48, 0xce, + 0x7a, 0x99, 0xb1, 0x56, 0x50, 0x29, 0x85, 0xb5, 0x66, 0x59, 0xb5, 0xb6, 0x23, 0xa0, 0x63, 0x00, + 0xff, 0xbf, 0xb8, 0xb2, 0x68, 0x7d, 0x10, 0x1a, 0x3d, 0x3c, 0x44, 0xd8, 0x18, 0x0e, 0xcc, 0x65, + 0xac, 0x32, 0x19, 0x4b, 0xa8, 0x9c, 0x22, 0x23, 0x96, 0x50, 0xab, 0xb7, 0x6a, 0xe1, 0x7e, 0x1d, + 0x01, 0x38, 0x95, 0xdc, 0x20, 0x74, 0x6f, 0xa0, 0x69, 0x76, 0xef, 0xaf, 0xb0, 0x72, 0x75, 0x20, + 0xa7, 0xbf, 0xc2, 0xe8, 0x57, 0xd0, 0xdd, 0xb4, 0xaf, 0x10, 0xf9, 0x48, 0x40, 0x3f, 0xd8, 0x68, + 0xf4, 0x15, 0xc0, 0xff, 0x2e, 0x38, 0x11, 0x5a, 0xbb, 0x02, 0x8f, 0x0b, 0x3e, 0x28, 0xac, 0x0f, + 0x85, 0xfd, 0x6b, 0x19, 0x27, 0x00, 0xa2, 0x6e, 0x5b, 0x41, 0xf7, 0x07, 0x61, 0xd3, 0xd3, 0xcb, + 0x84, 0x07, 0xc3, 0xc2, 0xb9, 0x9e, 0x75, 0xa6, 0x67, 0x19, 0x2d, 0xa5, 0xe8, 0x89, 0xfc, 0xa7, + 0xb6, 0x4b, 0xbc, 0x1a, 0x17, 0x57, 0xdd, 0x3f, 0x3e, 0x13, 0xc1, 0xc9, 0x99, 0x08, 0x7e, 0x9e, + 0x89, 0xe0, 0xc3, 0xb9, 0x98, 0x39, 0x39, 0x17, 0x33, 0xdf, 0xcf, 0xc5, 0xcc, 0xce, 0x76, 0xc2, + 0xd9, 0x9e, 0x46, 0x85, 0x9f, 0x6b, 0x75, 0xda, 0x6e, 0x53, 0xd2, 0x89, 0x87, 0x93, 0xc7, 0x3d, + 0xcd, 0x74, 0x14, 0x9b, 0x34, 0x9a, 0x16, 0xa6, 0x1d, 0x1c, 0x98, 0x11, 0xd6, 0xc7, 0xd9, 0xff, + 0x27, 0x4b, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x50, 0xbf, 0x64, 0x1e, 0xf5, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2503,7 +2508,7 @@ func (m *QueryVouchersForAddressResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Vouchers = append(m.Vouchers, &AddressVoucher{}) + m.Vouchers = append(m.Vouchers, types.Coin{}) if err := m.Vouchers[len(m.Vouchers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/chain/permissions/types/tx.go b/chain/permissions/types/tx.go deleted file mode 100644 index 776372a5..00000000 --- a/chain/permissions/types/tx.go +++ /dev/null @@ -1,130 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" -) - -// constants -const ( - // RouterKey is the message route for slashing - routerKey = ModuleName -) - -var _ sdk.Msg = &MsgUpdateParams{} - -func (m MsgUpdateParams) Route() string { return routerKey } - -func (m MsgUpdateParams) Type() string { return "update_params" } - -func (m MsgUpdateParams) ValidateBasic() error { return nil } - -func (m *MsgUpdateParams) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgUpdateParams) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Authority) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgCreateNamespace{} - -func (m MsgCreateNamespace) Route() string { return routerKey } - -func (m MsgCreateNamespace) Type() string { return "create_namespace" } - -func (m MsgCreateNamespace) ValidateBasic() error { return nil } - -func (m *MsgCreateNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgCreateNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgDeleteNamespace{} - -func (m MsgDeleteNamespace) Route() string { return routerKey } - -func (m MsgDeleteNamespace) Type() string { return "delete_namespace" } - -func (m MsgDeleteNamespace) ValidateBasic() error { return nil } - -func (m *MsgDeleteNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgDeleteNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgUpdateNamespace{} - -func (m MsgUpdateNamespace) Route() string { return routerKey } - -func (m MsgUpdateNamespace) Type() string { return "update_namespace" } - -func (m MsgUpdateNamespace) ValidateBasic() error { return nil } - -func (m *MsgUpdateNamespace) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgUpdateNamespace) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgUpdateNamespaceRoles{} - -func (m MsgUpdateNamespaceRoles) Route() string { return routerKey } - -func (m MsgUpdateNamespaceRoles) Type() string { return "update_namespace_roles" } - -func (m MsgUpdateNamespaceRoles) ValidateBasic() error { return nil } - -func (m *MsgUpdateNamespaceRoles) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgUpdateNamespaceRoles) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgRevokeNamespaceRoles{} - -func (m MsgRevokeNamespaceRoles) Route() string { return routerKey } - -func (m MsgRevokeNamespaceRoles) Type() string { return "revoke_namespace_roles" } - -func (m MsgRevokeNamespaceRoles) ValidateBasic() error { return nil } - -func (m *MsgRevokeNamespaceRoles) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgRevokeNamespaceRoles) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} - -var _ sdk.Msg = &MsgClaimVoucher{} - -func (m MsgClaimVoucher) Route() string { return routerKey } - -func (m MsgClaimVoucher) Type() string { return "claim_voucher" } - -func (m MsgClaimVoucher) ValidateBasic() error { return nil } - -func (m *MsgClaimVoucher) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshal(m)) -} - -func (m MsgClaimVoucher) GetSigners() []sdk.AccAddress { - addr, _ := sdk.AccAddressFromBech32(m.Sender) - return []sdk.AccAddress{addr} -} diff --git a/chain/permissions/types/tx.pb.go b/chain/permissions/types/tx.pb.go index a6c5feda..7516812d 100644 --- a/chain/permissions/types/tx.pb.go +++ b/chain/permissions/types/tx.pb.go @@ -798,8 +798,8 @@ func (m *MsgRevokeNamespaceRolesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRevokeNamespaceRolesResponse proto.InternalMessageInfo type MsgClaimVoucher struct { - Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` - Originator string `protobuf:"bytes,2,opt,name=originator,proto3" json:"originator,omitempty"` + Sender string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty" yaml:"sender"` + Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` } func (m *MsgClaimVoucher) Reset() { *m = MsgClaimVoucher{} } @@ -842,9 +842,9 @@ func (m *MsgClaimVoucher) GetSender() string { return "" } -func (m *MsgClaimVoucher) GetOriginator() string { +func (m *MsgClaimVoucher) GetDenom() string { if m != nil { - return m.Originator + return m.Denom } return "" } @@ -911,68 +911,68 @@ func init() { } var fileDescriptor_ab9bfdcab1d9b6fa = []byte{ - // 962 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4f, 0x6f, 0xe3, 0x44, - 0x1c, 0xad, 0xb7, 0xdd, 0xd2, 0x4c, 0xbb, 0x5b, 0x6a, 0x55, 0x6a, 0xd6, 0x0b, 0x6e, 0xc9, 0x0a, - 0x28, 0x5d, 0xd5, 0x26, 0x5d, 0xa9, 0x12, 0x39, 0x20, 0x48, 0xf6, 0x00, 0xd2, 0x66, 0x15, 0x5c, - 0x58, 0x24, 0x24, 0x64, 0x8d, 0x93, 0xc1, 0x31, 0x89, 0x67, 0x2c, 0x8f, 0x93, 0xd0, 0x13, 0x12, - 0x07, 0x24, 0x38, 0x20, 0x8e, 0x88, 0x4f, 0xb1, 0x07, 0xae, 0x70, 0xe2, 0xb0, 0xc7, 0x15, 0x27, - 0x4e, 0x2b, 0xd4, 0x1e, 0xf6, 0x8e, 0xf8, 0x00, 0x68, 0x3c, 0x13, 0xdb, 0x99, 0xa4, 0xb1, 0xd3, - 0x55, 0xf7, 0xd2, 0x66, 0x7e, 0x7f, 0xdf, 0x7b, 0xa3, 0xdf, 0xcc, 0x18, 0xbc, 0xe5, 0xe1, 0xaf, - 0x51, 0x3b, 0xf2, 0x86, 0xc8, 0x0c, 0x50, 0xe8, 0x7b, 0x94, 0x7a, 0x04, 0x53, 0x73, 0x58, 0x75, - 0x50, 0x04, 0xab, 0x66, 0xf4, 0x8d, 0x11, 0x84, 0x24, 0x22, 0xea, 0xeb, 0x49, 0x9c, 0x91, 0x89, - 0x33, 0x44, 0x9c, 0xb6, 0xed, 0x12, 0x97, 0xc4, 0x91, 0x26, 0xfb, 0xc5, 0x93, 0x34, 0xbd, 0x4d, - 0xa8, 0x4f, 0xa8, 0xe9, 0x40, 0x8a, 0x92, 0x92, 0x6d, 0xe2, 0xe1, 0x29, 0x3f, 0xee, 0x25, 0x7e, - 0xb6, 0x10, 0xfe, 0x1d, 0xe1, 0xf7, 0xa9, 0x6b, 0x0e, 0xab, 0xec, 0x9f, 0x70, 0xdc, 0xe2, 0x0e, - 0x9b, 0x77, 0xe4, 0x0b, 0xe1, 0x3a, 0x98, 0x4f, 0x28, 0x80, 0x21, 0xf4, 0xc7, 0xb1, 0x66, 0x4e, - 0x6c, 0x86, 0x28, 0x4f, 0xd8, 0x82, 0xbe, 0x87, 0x89, 0x19, 0xff, 0xe5, 0xa6, 0xca, 0x1f, 0x0a, - 0xd8, 0x6c, 0x52, 0xf7, 0xb3, 0xa0, 0x03, 0x23, 0xd4, 0x8a, 0xab, 0xab, 0xc7, 0xa0, 0x04, 0x07, - 0x51, 0x97, 0x84, 0x5e, 0x74, 0x5a, 0x56, 0xf6, 0x94, 0xfd, 0x52, 0xbd, 0xfc, 0xd7, 0x6f, 0x87, - 0xdb, 0x02, 0xe8, 0x87, 0x9d, 0x4e, 0x88, 0x28, 0x3d, 0x89, 0x42, 0x0f, 0xbb, 0x56, 0x1a, 0xaa, - 0x36, 0xc0, 0x2a, 0xc7, 0x57, 0xbe, 0xb6, 0xa7, 0xec, 0xaf, 0x1f, 0xbd, 0x69, 0xcc, 0x55, 0xdd, - 0xe0, 0xed, 0xea, 0x2b, 0x4f, 0x9e, 0xed, 0x2e, 0x59, 0x22, 0xb5, 0x66, 0x7c, 0xf7, 0xfc, 0xf1, - 0x41, 0x5a, 0xf4, 0xc7, 0xe7, 0x8f, 0x0f, 0x6e, 0x67, 0xd9, 0x49, 0x60, 0x2b, 0xb7, 0xc0, 0x8e, - 0x64, 0xb2, 0x10, 0x0d, 0x08, 0xa6, 0xa8, 0xf2, 0xbb, 0x02, 0xd4, 0x26, 0x75, 0x1b, 0x21, 0x82, - 0x11, 0x7a, 0x08, 0x7d, 0x44, 0x03, 0xd8, 0x46, 0xea, 0x3b, 0x60, 0x95, 0x22, 0xdc, 0x41, 0xa1, - 0xe0, 0xb6, 0xf5, 0xef, 0xb3, 0xdd, 0x1b, 0xa7, 0xd0, 0xef, 0xd7, 0x2a, 0xdc, 0x5e, 0xb1, 0x44, - 0x80, 0xfa, 0x00, 0x94, 0xf0, 0x38, 0x4f, 0x90, 0xda, 0xcf, 0x21, 0x95, 0xf4, 0x11, 0xbc, 0xd2, - 0x02, 0x9c, 0x9a, 0x28, 0xcd, 0x78, 0xe9, 0x12, 0x2f, 0x09, 0x68, 0xe5, 0x35, 0xa0, 0x4d, 0x5b, - 0x13, 0x76, 0xbf, 0x70, 0x76, 0xf7, 0x51, 0x1f, 0x5d, 0x92, 0xdd, 0xdb, 0x60, 0x33, 0x01, 0x67, - 0x77, 0x10, 0x26, 0x7e, 0xcc, 0xb1, 0x64, 0xdd, 0x4c, 0xcc, 0xf7, 0x99, 0x35, 0x17, 0xb8, 0x84, - 0x41, 0x00, 0x97, 0xac, 0x09, 0xf0, 0xff, 0xae, 0xc7, 0xc0, 0xf9, 0x96, 0x5d, 0x29, 0x70, 0xf5, - 0x4b, 0x50, 0x1a, 0x41, 0xea, 0xdb, 0x5d, 0x42, 0x7a, 0xe5, 0xe5, 0x78, 0xff, 0x3e, 0xc8, 0xd9, - 0xbf, 0x69, 0x64, 0xcc, 0x74, 0x82, 0xa2, 0xcf, 0x21, 0xf5, 0x3f, 0x22, 0xa4, 0x67, 0xad, 0x8d, - 0xc4, 0x2f, 0xf5, 0x2b, 0xb0, 0xe1, 0x7b, 0x38, 0xa2, 0x76, 0x00, 0x07, 0x14, 0x75, 0xca, 0x2b, - 0x71, 0x87, 0xc6, 0x65, 0x3b, 0x34, 0x59, 0xad, 0x56, 0x5c, 0xca, 0x5a, 0xf7, 0xd3, 0x05, 0xeb, - 0xc3, 0x98, 0x27, 0x7d, 0xae, 0xbf, 0x58, 0x9f, 0x13, 0x56, 0x6b, 0xdc, 0x87, 0xa6, 0x0b, 0xd6, - 0xc7, 0x19, 0x84, 0x38, 0xe9, 0xb3, 0xfa, 0x62, 0x7d, 0xea, 0xac, 0xd6, 0xb8, 0x8f, 0x93, 0x2e, - 0xb4, 0x43, 0x70, 0x73, 0x52, 0x53, 0xf5, 0x36, 0x28, 0x61, 0x34, 0xb2, 0x87, 0xb0, 0x3f, 0x40, - 0x7c, 0xff, 0xad, 0x35, 0x8c, 0x46, 0x8f, 0xd8, 0x5a, 0x7b, 0x17, 0x6c, 0x4d, 0x09, 0x34, 0x9d, - 0xb1, 0x36, 0x2b, 0x23, 0x43, 0xb5, 0x60, 0x46, 0x06, 0xf4, 0xdc, 0x8c, 0xdc, 0xa1, 0x90, 0x34, - 0x11, 0x43, 0x21, 0x59, 0x93, 0xa1, 0xf8, 0xf3, 0x5a, 0xe6, 0x1c, 0x4b, 0xdd, 0xa4, 0x8f, 0xe8, - 0x95, 0x4c, 0xc6, 0x43, 0xf0, 0x6a, 0x48, 0xfa, 0xc8, 0xce, 0x80, 0x2e, 0x2f, 0xef, 0x2d, 0xef, - 0xaf, 0x1f, 0xdd, 0xc9, 0xd9, 0x6e, 0x86, 0xc9, 0xda, 0x64, 0xc9, 0xad, 0xd4, 0xab, 0xb6, 0xc0, - 0x0d, 0xc8, 0xef, 0x05, 0x9b, 0xb9, 0x68, 0x79, 0x25, 0x2e, 0x76, 0x37, 0xa7, 0x98, 0xb8, 0x4b, - 0x62, 0x9e, 0xd6, 0x06, 0xcc, 0xac, 0x6a, 0xf7, 0x24, 0x7d, 0xef, 0xcc, 0xd7, 0x37, 0x4e, 0xaa, - 0xbc, 0x01, 0x76, 0x2f, 0x70, 0x25, 0x4a, 0x7f, 0xcf, 0x95, 0xb6, 0xd0, 0x90, 0xf4, 0x5e, 0x86, - 0xd2, 0x0e, 0xd8, 0x99, 0x50, 0xc6, 0x8e, 0x88, 0x1d, 0xc6, 0xcd, 0x85, 0xe0, 0x0b, 0x69, 0xb4, - 0x9d, 0xd5, 0xe8, 0x53, 0xc2, 0x59, 0xe4, 0x6a, 0x35, 0x8b, 0xac, 0xd0, 0x6a, 0x96, 0x2b, 0xd1, - 0xea, 0x07, 0xfe, 0x3a, 0x68, 0xf4, 0xa1, 0xe7, 0x3f, 0x22, 0x83, 0x76, 0x17, 0x85, 0x8b, 0x68, - 0xa4, 0x03, 0x40, 0x42, 0xcf, 0xf5, 0x30, 0x8c, 0x48, 0x28, 0xe4, 0xc9, 0x58, 0x6a, 0x77, 0x25, - 0xd8, 0xf2, 0x45, 0x9f, 0xed, 0x2b, 0x2e, 0xfa, 0xac, 0x69, 0x0c, 0xf3, 0xe8, 0xd7, 0x57, 0xc0, - 0x72, 0x93, 0xba, 0xea, 0x10, 0x6c, 0x4c, 0x3c, 0x64, 0x8c, 0xa2, 0x27, 0x17, 0x8f, 0xd7, 0x8e, - 0x17, 0x8b, 0x1f, 0xf7, 0x57, 0xbf, 0x05, 0x9b, 0xf2, 0x23, 0xa3, 0x9a, 0x5f, 0x4a, 0x4a, 0xd1, - 0xde, 0x5b, 0x38, 0x25, 0x0b, 0x40, 0x7e, 0x07, 0x14, 0x00, 0x20, 0xa5, 0x14, 0x01, 0x70, 0xc1, - 0x9d, 0xce, 0x00, 0xc8, 0xf7, 0x79, 0x75, 0xe1, 0x6b, 0xa3, 0x08, 0x80, 0x0b, 0xce, 0x4f, 0xf5, - 0x27, 0x05, 0x6c, 0xcf, 0x3c, 0x3c, 0x8f, 0x17, 0xaf, 0xc9, 0xf2, 0xb4, 0xf7, 0x2f, 0x97, 0x37, - 0x01, 0x68, 0xe6, 0x19, 0x53, 0x00, 0xd0, 0xac, 0xbc, 0x22, 0x80, 0xe6, 0xcd, 0x32, 0x1b, 0x8e, - 0x89, 0x39, 0x2e, 0x30, 0x1c, 0xd9, 0xf8, 0x22, 0xc3, 0x31, 0x6b, 0x38, 0xeb, 0xbd, 0x27, 0x67, - 0xba, 0xf2, 0xf4, 0x4c, 0x57, 0xfe, 0x39, 0xd3, 0x95, 0x9f, 0xcf, 0xf5, 0xa5, 0xa7, 0xe7, 0xfa, - 0xd2, 0xdf, 0xe7, 0xfa, 0xd2, 0x17, 0x9f, 0xb8, 0x5e, 0xd4, 0x1d, 0x38, 0x46, 0x9b, 0xf8, 0xe6, - 0xc7, 0xe3, 0xda, 0x0f, 0xa0, 0x43, 0xd3, 0x0f, 0x9b, 0xc3, 0x36, 0x09, 0x51, 0x76, 0xd9, 0x85, - 0x1e, 0x36, 0x7d, 0xd2, 0x19, 0xf4, 0x11, 0x9d, 0xf8, 0xea, 0x89, 0x4e, 0x03, 0x44, 0x9d, 0xd5, - 0xf8, 0xab, 0xe6, 0xde, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xef, 0xa1, 0xe8, 0x8e, 0x18, 0x0e, - 0x00, 0x00, + // 961 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x4d, 0x6f, 0xe3, 0x44, + 0x18, 0xae, 0xb7, 0x1f, 0x34, 0xd3, 0xee, 0x96, 0x5a, 0x91, 0x9a, 0xf5, 0x82, 0x5b, 0xb2, 0x02, + 0x42, 0x56, 0xb5, 0x49, 0x57, 0xaa, 0x44, 0x0e, 0x08, 0x92, 0x3d, 0x80, 0xb4, 0x59, 0x05, 0x17, + 0x16, 0x09, 0x09, 0x59, 0xe3, 0x64, 0x70, 0x4c, 0x62, 0x8f, 0xe5, 0x71, 0x12, 0x7a, 0x5a, 0xc4, + 0x81, 0x03, 0x07, 0xc4, 0x91, 0x2b, 0xff, 0xa0, 0x07, 0xae, 0x70, 0xe2, 0xb0, 0xc7, 0x15, 0x27, + 0x4e, 0x2b, 0xd4, 0x1e, 0x7a, 0x47, 0xfc, 0x00, 0x34, 0x9e, 0x89, 0xed, 0x4c, 0xd2, 0xd8, 0xe9, + 0x6a, 0xb9, 0xb4, 0x79, 0xbf, 0x9f, 0xe7, 0xb1, 0xde, 0x19, 0x1b, 0xbc, 0xe5, 0x78, 0x5f, 0xa3, + 0x4e, 0xe8, 0x8c, 0x90, 0xee, 0xa3, 0xc0, 0x75, 0x08, 0x71, 0xb0, 0x47, 0xf4, 0x51, 0xcd, 0x42, + 0x21, 0xac, 0xe9, 0xe1, 0x37, 0x9a, 0x1f, 0xe0, 0x10, 0xcb, 0xaf, 0xc7, 0x79, 0x5a, 0x2a, 0x4f, + 0xe3, 0x79, 0x4a, 0xd1, 0xc6, 0x36, 0x8e, 0x32, 0x75, 0xfa, 0x8b, 0x15, 0x29, 0x6a, 0x07, 0x13, + 0x17, 0x13, 0xdd, 0x82, 0x04, 0xc5, 0x2d, 0x3b, 0xd8, 0xf1, 0x66, 0xe2, 0x5e, 0x3f, 0x8e, 0x53, + 0x83, 0xc7, 0xf7, 0x78, 0xdc, 0x25, 0xb6, 0x3e, 0xaa, 0xd1, 0x7f, 0x3c, 0x70, 0x9b, 0x05, 0x4c, + 0x36, 0x91, 0x19, 0x3c, 0x54, 0x5d, 0x4c, 0xc8, 0x87, 0x01, 0x74, 0x27, 0xb9, 0x7a, 0x46, 0x6e, + 0x8a, 0x28, 0x2b, 0xd8, 0x85, 0xae, 0xe3, 0x61, 0x3d, 0xfa, 0xcb, 0x5c, 0xe5, 0xdf, 0x25, 0xb0, + 0xd3, 0x22, 0xf6, 0x67, 0x7e, 0x17, 0x86, 0xa8, 0x1d, 0x75, 0x97, 0x8f, 0x41, 0x01, 0x0e, 0xc3, + 0x1e, 0x0e, 0x9c, 0xf0, 0xb4, 0x24, 0x1d, 0x48, 0x95, 0x42, 0xa3, 0xf4, 0xe7, 0xaf, 0x87, 0x45, + 0x0e, 0xf4, 0xc3, 0x6e, 0x37, 0x40, 0x84, 0x9c, 0x84, 0x81, 0xe3, 0xd9, 0x46, 0x92, 0x2a, 0x37, + 0xc1, 0x06, 0xc3, 0x57, 0xba, 0x71, 0x20, 0x55, 0xb6, 0x8e, 0xde, 0xd4, 0x16, 0xaa, 0xae, 0xb1, + 0x71, 0x8d, 0xb5, 0xa7, 0xcf, 0xf7, 0x57, 0x0c, 0x5e, 0x5a, 0xd7, 0xbe, 0xbb, 0x3c, 0xab, 0x26, + 0x4d, 0x7f, 0xb8, 0x3c, 0xab, 0xde, 0x49, 0xb3, 0x13, 0xc0, 0x96, 0x6f, 0x83, 0x3d, 0xc1, 0x65, + 0x20, 0xe2, 0x63, 0x8f, 0xa0, 0xf2, 0x6f, 0x12, 0x90, 0x5b, 0xc4, 0x6e, 0x06, 0x08, 0x86, 0xe8, + 0x11, 0x74, 0x11, 0xf1, 0x61, 0x07, 0xc9, 0xef, 0x80, 0x0d, 0x82, 0xbc, 0x2e, 0x0a, 0x38, 0xb7, + 0xdd, 0x7f, 0x9e, 0xef, 0xdf, 0x3c, 0x85, 0xee, 0xa0, 0x5e, 0x66, 0xfe, 0xb2, 0xc1, 0x13, 0xe4, + 0x87, 0xa0, 0xe0, 0x4d, 0xea, 0x38, 0xa9, 0x4a, 0x06, 0xa9, 0x78, 0x0e, 0xe7, 0x95, 0x34, 0x60, + 0xd4, 0x78, 0x6b, 0xca, 0x4b, 0x15, 0x78, 0x09, 0x40, 0xcb, 0xaf, 0x01, 0x65, 0xd6, 0x1b, 0xb3, + 0xfb, 0x99, 0xb1, 0x7b, 0x80, 0x06, 0xe8, 0x9a, 0xec, 0xde, 0x06, 0x3b, 0x31, 0x38, 0xb3, 0x8b, + 0x3c, 0xec, 0x46, 0x1c, 0x0b, 0xc6, 0xad, 0xd8, 0xfd, 0x80, 0x7a, 0x33, 0x81, 0x0b, 0x18, 0x38, + 0x70, 0xc1, 0x1b, 0x03, 0xff, 0x77, 0x3d, 0x02, 0xce, 0x1e, 0xd9, 0x4b, 0x05, 0x2e, 0x7f, 0x09, + 0x0a, 0x63, 0x48, 0x5c, 0xb3, 0x87, 0x71, 0xbf, 0xb4, 0x1a, 0x3d, 0xbf, 0x0f, 0x32, 0x9e, 0xdf, + 0x2c, 0x32, 0xea, 0x3a, 0x41, 0xe1, 0xe7, 0x90, 0xb8, 0x1f, 0x61, 0xdc, 0x37, 0x36, 0xc7, 0xfc, + 0x97, 0xfc, 0x15, 0xd8, 0x76, 0x1d, 0x2f, 0x24, 0xa6, 0x0f, 0x87, 0x04, 0x75, 0x4b, 0x6b, 0xd1, + 0x84, 0xe6, 0x75, 0x27, 0xb4, 0x68, 0xaf, 0x76, 0xd4, 0xca, 0xd8, 0x72, 0x13, 0x83, 0xce, 0xa1, + 0xcc, 0xe3, 0x39, 0xeb, 0x2f, 0x36, 0xe7, 0x84, 0xf6, 0x9a, 0xcc, 0x21, 0x89, 0x41, 0xe7, 0x58, + 0xc3, 0xc0, 0x8b, 0xe7, 0x6c, 0xbc, 0xd8, 0x9c, 0x06, 0xed, 0x35, 0x99, 0x63, 0x25, 0x86, 0x72, + 0x08, 0x6e, 0x4d, 0x6b, 0x2a, 0xdf, 0x01, 0x05, 0x0f, 0x8d, 0xcd, 0x11, 0x1c, 0x0c, 0x11, 0x7b, + 0xfe, 0xc6, 0xa6, 0x87, 0xc6, 0x8f, 0xa9, 0xad, 0xbc, 0x0b, 0x76, 0x67, 0x04, 0x9a, 0xad, 0xd8, + 0x9c, 0x57, 0x91, 0xa2, 0x9a, 0xb3, 0x22, 0x05, 0x7a, 0x61, 0x45, 0xe6, 0x52, 0x08, 0x9a, 0xf0, + 0xa5, 0x10, 0xbc, 0xf1, 0x52, 0xfc, 0x71, 0x23, 0x75, 0x8e, 0x25, 0x61, 0x3c, 0x40, 0xe4, 0xa5, + 0x6c, 0xc6, 0x23, 0xf0, 0x6a, 0x80, 0x07, 0xc8, 0x4c, 0x81, 0x2e, 0xad, 0x1e, 0xac, 0x56, 0xb6, + 0x8e, 0xee, 0x66, 0x3c, 0x6e, 0x8a, 0xc9, 0xd8, 0xa1, 0xc5, 0xed, 0x24, 0x2a, 0xb7, 0xc1, 0x4d, + 0xc8, 0xee, 0x05, 0x93, 0x86, 0x48, 0x69, 0x2d, 0x6a, 0x76, 0x2f, 0xa3, 0x19, 0xbf, 0x4b, 0x22, + 0x9e, 0xc6, 0x36, 0x4c, 0x59, 0xf5, 0xfb, 0x82, 0xbe, 0x77, 0x17, 0xeb, 0x1b, 0x15, 0x95, 0xdf, + 0x00, 0xfb, 0x57, 0x84, 0x62, 0xa5, 0xbf, 0x67, 0x4a, 0x1b, 0x68, 0x84, 0xfb, 0xff, 0x87, 0xd2, + 0x16, 0xd8, 0x9b, 0x52, 0xc6, 0x0c, 0xb1, 0x19, 0x44, 0xc3, 0xb9, 0xe0, 0x4b, 0x69, 0x54, 0x4c, + 0x6b, 0xf4, 0x29, 0x66, 0x2c, 0x32, 0xb5, 0x9a, 0x47, 0x96, 0x6b, 0x35, 0x2f, 0x14, 0x6b, 0xf5, + 0x24, 0x7a, 0x39, 0x68, 0x0e, 0xa0, 0xe3, 0x3e, 0xc6, 0xc3, 0x4e, 0x0f, 0x05, 0xcb, 0x48, 0x54, + 0x04, 0xeb, 0x69, 0x61, 0x98, 0x51, 0xbf, 0x27, 0x60, 0x15, 0x6f, 0xf7, 0xf4, 0x34, 0x7e, 0xbb, + 0xa7, 0x5d, 0x13, 0x6c, 0x47, 0xbf, 0xbc, 0x02, 0x56, 0x5b, 0xc4, 0x96, 0x47, 0x60, 0x7b, 0xea, + 0xed, 0x45, 0xcb, 0x7b, 0x5c, 0xb1, 0x7c, 0xe5, 0x78, 0xb9, 0xfc, 0xc9, 0x7c, 0xf9, 0x09, 0xd8, + 0x11, 0xdf, 0x2c, 0x6a, 0xd9, 0xad, 0x84, 0x12, 0xe5, 0xbd, 0xa5, 0x4b, 0xd2, 0x00, 0xc4, 0xcb, + 0x3f, 0x07, 0x00, 0xa1, 0x24, 0x0f, 0x80, 0x2b, 0x2e, 0x72, 0x0a, 0x40, 0xbc, 0xc4, 0x6b, 0x4b, + 0xdf, 0x15, 0x79, 0x00, 0x5c, 0x71, 0x68, 0xca, 0x3f, 0x4a, 0xa0, 0x38, 0xf7, 0xc4, 0x3c, 0x5e, + 0xbe, 0x27, 0xad, 0x53, 0xde, 0xbf, 0x5e, 0xdd, 0x14, 0xa0, 0xb9, 0x07, 0x4b, 0x0e, 0x40, 0xf3, + 0xea, 0xf2, 0x00, 0x5a, 0xb4, 0xc0, 0x74, 0x39, 0xa6, 0xb6, 0x37, 0xc7, 0x72, 0xa4, 0xf3, 0xf3, + 0x2c, 0xc7, 0xbc, 0xe5, 0x54, 0xd6, 0xbf, 0xbd, 0x3c, 0xab, 0x4a, 0x8d, 0xfe, 0xd3, 0x73, 0x55, + 0x7a, 0x76, 0xae, 0x4a, 0x7f, 0x9f, 0xab, 0xd2, 0x4f, 0x17, 0xea, 0xca, 0xb3, 0x0b, 0x75, 0xe5, + 0xaf, 0x0b, 0x75, 0xe5, 0x8b, 0x4f, 0x6c, 0x27, 0xec, 0x0d, 0x2d, 0xad, 0x83, 0x5d, 0xfd, 0xe3, + 0xc9, 0x88, 0x87, 0xd0, 0x22, 0xc9, 0x47, 0xcd, 0x61, 0x07, 0x07, 0x28, 0x6d, 0xf6, 0xa0, 0xe3, + 0xe9, 0x2e, 0xee, 0x0e, 0x07, 0x88, 0x4c, 0x7d, 0xf1, 0x84, 0xa7, 0x3e, 0x22, 0xd6, 0x46, 0xf4, + 0x45, 0x73, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72, 0x97, 0x38, 0xd1, 0x14, 0x0e, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1876,10 +1876,10 @@ func (m *MsgClaimVoucher) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.Originator) > 0 { - i -= len(m.Originator) - copy(dAtA[i:], m.Originator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Originator))) + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintTx(dAtA, i, uint64(len(m.Denom))) i-- dAtA[i] = 0x12 } @@ -2172,7 +2172,7 @@ func (m *MsgClaimVoucher) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Originator) + l = len(m.Denom) if l > 0 { n += 1 + l + sovTx(uint64(l)) } @@ -3781,7 +3781,7 @@ func (m *MsgClaimVoucher) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Originator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -3809,7 +3809,7 @@ func (m *MsgClaimVoucher) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Originator = string(dAtA[iNdEx:postIndex]) + m.Denom = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex diff --git a/chain/permissions/types/types.go b/chain/permissions/types/types.go index 563d1b68..12a6b08f 100644 --- a/chain/permissions/types/types.go +++ b/chain/permissions/types/types.go @@ -1,6 +1,8 @@ package types import ( + "encoding/json" + "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" @@ -19,18 +21,63 @@ type WasmHookMsg struct { Amounts sdk.Coins `json:"amounts"` } +func NewWasmHookMsg(fromAddr, toAddr sdk.AccAddress, action Action, amount sdk.Coin) WasmHookMsg { + return WasmHookMsg{ + From: fromAddr, + To: toAddr, + Action: action.String(), + Amounts: sdk.NewCoins(amount), + } +} + +func GetWasmHookMsgBytes(fromAddr, toAddr sdk.AccAddress, action Action, amount sdk.Coin) ([]byte, error) { + wasmHookMsg := struct { + SendRestriction WasmHookMsg `json:"send_restriction"` + }{NewWasmHookMsg(fromAddr, toAddr, action, amount)} + + bz, err := json.Marshal(wasmHookMsg) + if err != nil { + return nil, err + } + + return bz, nil +} + func (n *Namespace) Validate() error { + if err := n.ValidateBasicParams(); err != nil { + return err + } + + if err := n.ValidateEveryoneRole(); err != nil { + return err + } + + if err := n.ValidateRoles(false); err != nil { + return err + } + + return nil +} + +func (n *Namespace) ValidateBasicParams() error { if _, _, err := tftypes.DeconstructDenom(n.Denom); err != nil { return errors.Wrap(err, "permissions namespace can only be applied to tokenfactory denoms") } + // existing wasm hook contract + if n.WasmHook != "" { + if _, err := sdk.AccAddressFromBech32(n.WasmHook); err != nil { + return ErrInvalidWasmHook + } + } + + return nil +} + +func (n *Namespace) ValidateRoles(isForUpdate bool) error { // role_permissions - hasEveryoneSet := false foundRoles := make(map[string]struct{}, len(n.RolePermissions)) for _, rolePerm := range n.RolePermissions { - if rolePerm.Role == EVERYONE { - hasEveryoneSet = true - } if _, ok := foundRoles[rolePerm.Role]; ok { return errors.Wrapf(ErrInvalidPermission, "permissions for the role %s set multiple times?", rolePerm.Role) } @@ -40,10 +87,6 @@ func (n *Namespace) Validate() error { foundRoles[rolePerm.Role] = struct{}{} } - if !hasEveryoneSet { - return errors.Wrapf(ErrInvalidPermission, "permissions for role %s should be explicitly set", EVERYONE) - } - // address_roles foundAddresses := make(map[string]struct{}, len(n.AddressRoles)) for _, addrRoles := range n.AddressRoles { @@ -54,7 +97,8 @@ func (n *Namespace) Validate() error { return errors.Wrapf(ErrInvalidRole, "address %s is assigned new roles multiple times?", addrRoles.Address) } for _, role := range addrRoles.Roles { - if _, ok := foundRoles[role]; !ok { + _, found := foundRoles[role] + if !isForUpdate && !found { return errors.Wrapf(ErrUnknownRole, "role %s has no defined permissions", role) } if role == EVERYONE { @@ -64,12 +108,49 @@ func (n *Namespace) Validate() error { foundAddresses[addrRoles.Address] = struct{}{} } - // existing wasm hook contract - if n.WasmHook != "" { - if _, err := sdk.AccAddressFromBech32(n.WasmHook); err != nil { - return errors.Wrap(err, "invalid WasmHook address") + return nil +} + +func (n *Namespace) ValidateEveryoneRole() error { + // role_permissions + for _, rolePerm := range n.RolePermissions { + if rolePerm.Role == EVERYONE { + return nil } } + return errors.Wrapf(ErrInvalidPermission, "permissions for role %s should be explicitly set", EVERYONE) +} + +func (n *Namespace) CheckActionValidity(action Action) error { + // check that action is not paused + switch action { + case Action_MINT: + if n.MintsPaused { + return errors.Wrap(ErrRestrictedAction, "mints paused") + } + case Action_RECEIVE: + if n.SendsPaused { + return errors.Wrap(ErrRestrictedAction, "sends paused") + } + case Action_BURN: + if n.BurnsPaused { + return errors.Wrap(ErrRestrictedAction, "burns paused") + } + } return nil } + +func (a Action) DeriveActor(fromAddr, toAddr sdk.AccAddress) sdk.AccAddress { + switch a { + case Action_MINT, Action_RECEIVE: + return toAddr + case Action_BURN: + return fromAddr + } + return fromAddr +} + +func NewEmptyVoucher(denom string) sdk.Coin { + return sdk.NewInt64Coin(denom, 0) +} diff --git a/chain/tokenfactory/types/expected_keepers.go b/chain/tokenfactory/types/expected_keepers.go index 6482fbe2..27c25b23 100644 --- a/chain/tokenfactory/types/expected_keepers.go +++ b/chain/tokenfactory/types/expected_keepers.go @@ -21,6 +21,7 @@ type BankKeeper interface { SendCoins(ctx context.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error HasBalance(ctx context.Context, addr sdk.AccAddress, amt sdk.Coin) bool + BlockedAddr(addr sdk.AccAddress) bool } type AccountKeeper interface { diff --git a/chain/tokenfactory/types/tx.pb.go b/chain/tokenfactory/types/tx.pb.go index b12c89c3..c4002d82 100644 --- a/chain/tokenfactory/types/tx.pb.go +++ b/chain/tokenfactory/types/tx.pb.go @@ -641,61 +641,61 @@ func init() { } var fileDescriptor_b0b26fd7f19ce3c4 = []byte{ - // 855 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0xe3, 0x44, - 0x18, 0x8e, 0xd9, 0x6c, 0x68, 0xa7, 0xbb, 0xa4, 0xf5, 0x96, 0x6d, 0x9a, 0xd5, 0x3a, 0xc8, 0x8b, - 0x76, 0x69, 0xab, 0xd8, 0x4a, 0x2b, 0xb5, 0x22, 0x9c, 0x9a, 0xf6, 0x00, 0x12, 0x91, 0x90, 0x0b, - 0x17, 0x84, 0x54, 0xc6, 0xf1, 0xe0, 0x98, 0xc6, 0x33, 0x91, 0x67, 0xdc, 0x36, 0x57, 0xc4, 0x89, - 0x13, 0xff, 0x83, 0x4b, 0x0f, 0x1c, 0xf8, 0x09, 0x95, 0x38, 0x50, 0x71, 0xe2, 0x14, 0xa1, 0xf6, - 0xd0, 0x33, 0xf9, 0x05, 0x68, 0x3e, 0xec, 0x38, 0x09, 0xa1, 0x0e, 0x27, 0x2e, 0xad, 0x67, 0xde, - 0xe7, 0x79, 0xe7, 0x7d, 0xde, 0x2f, 0x05, 0xbc, 0x09, 0xf0, 0xb7, 0xa8, 0xc3, 0x82, 0x73, 0x64, - 0x33, 0x72, 0x86, 0xf0, 0x37, 0xb0, 0xc3, 0x48, 0x34, 0xb0, 0xcf, 0x1b, 0x2e, 0x62, 0xb0, 0x61, - 0xb3, 0x4b, 0xab, 0x1f, 0x11, 0x46, 0x74, 0x23, 0x05, 0x5a, 0x59, 0xa0, 0xa5, 0x80, 0xd5, 0x75, - 0x9f, 0xf8, 0x44, 0x40, 0x6d, 0xfe, 0x25, 0x59, 0x55, 0xa3, 0x43, 0x68, 0x48, 0xa8, 0xed, 0x42, - 0x8a, 0x52, 0x9f, 0x1d, 0x12, 0xe0, 0x19, 0x3b, 0x3e, 0x4b, 0xed, 0xfc, 0xa0, 0xec, 0x1b, 0xca, - 0x1e, 0x52, 0xdf, 0x3e, 0x6f, 0xf0, 0x7f, 0xca, 0xb0, 0x29, 0x0d, 0xa7, 0xf2, 0x45, 0x79, 0x50, - 0xa6, 0x9d, 0x07, 0x24, 0xf5, 0x61, 0x04, 0xc3, 0x04, 0xbc, 0x06, 0xc3, 0x00, 0x13, 0x5b, 0xfc, - 0x95, 0x57, 0xe6, 0x5f, 0x1a, 0x78, 0xa7, 0x4d, 0xfd, 0xa3, 0x08, 0x41, 0x86, 0x8e, 0x11, 0x26, - 0xa1, 0xbe, 0x05, 0x4a, 0x14, 0x61, 0x0f, 0x45, 0x15, 0xed, 0x3d, 0xed, 0x83, 0xe5, 0xd6, 0xda, - 0x68, 0x58, 0x7b, 0x3a, 0x80, 0x61, 0xaf, 0x69, 0xca, 0x7b, 0xd3, 0x51, 0x00, 0xdd, 0x06, 0x4b, - 0x34, 0x76, 0x3d, 0x4e, 0xab, 0xbc, 0x25, 0xc0, 0xcf, 0x46, 0xc3, 0x5a, 0x59, 0x81, 0x95, 0xc5, - 0x74, 0x52, 0x90, 0xfe, 0x0a, 0x14, 0x31, 0x0c, 0x51, 0xe5, 0x91, 0x00, 0x97, 0x47, 0xc3, 0xda, - 0x8a, 0x04, 0xf3, 0x5b, 0xd3, 0x11, 0x46, 0x11, 0xc0, 0x20, 0x74, 0x49, 0xaf, 0x52, 0x9c, 0x09, - 0x40, 0xdc, 0xf3, 0x00, 0xc4, 0x47, 0x73, 0xef, 0xbb, 0xfb, 0xab, 0x6d, 0x15, 0xcd, 0x0f, 0xf7, - 0x57, 0xdb, 0xaf, 0xe6, 0xa4, 0xa3, 0x23, 0xf4, 0xd5, 0x65, 0x3c, 0x5f, 0x81, 0xe7, 0x93, 0x92, - 0x1d, 0x44, 0xfb, 0x04, 0x53, 0xa4, 0xb7, 0x40, 0x19, 0xa3, 0x8b, 0x53, 0x41, 0x3d, 0x95, 0xb2, - 0x64, 0x0e, 0xaa, 0xa3, 0x61, 0xed, 0xb9, 0x8a, 0x74, 0x12, 0x60, 0x3a, 0x4f, 0x31, 0xba, 0xf8, - 0x9c, 0x5f, 0x08, 0x5f, 0xe6, 0x4f, 0x1a, 0x78, 0xbb, 0x4d, 0xfd, 0x76, 0x80, 0xd9, 0x22, 0xa9, - 0xfc, 0x18, 0x94, 0x60, 0x48, 0x62, 0xcc, 0x44, 0x22, 0x57, 0x76, 0x37, 0x2d, 0x55, 0x67, 0xde, - 0x4d, 0x49, 0xe3, 0x59, 0x47, 0x24, 0xc0, 0xad, 0x77, 0xaf, 0x87, 0xb5, 0xc2, 0xd8, 0x93, 0xa4, - 0x99, 0x8e, 0xe2, 0x37, 0x77, 0xa6, 0x72, 0xf2, 0x62, 0x4e, 0x4e, 0xc2, 0x00, 0x33, 0x73, 0x0d, - 0x94, 0x55, 0xb0, 0x49, 0x12, 0x12, 0x01, 0xad, 0x38, 0xc2, 0xff, 0x6f, 0x01, 0x6e, 0x1c, 0x61, - 0x25, 0x80, 0x07, 0x9b, 0x0a, 0xf8, 0x55, 0xf5, 0x74, 0x17, 0x62, 0x1f, 0x1d, 0x7a, 0x61, 0xb0, - 0x90, 0x8e, 0xd7, 0xe0, 0x71, 0xb6, 0xa1, 0x57, 0x47, 0xc3, 0xda, 0x13, 0x89, 0x54, 0xf5, 0x96, - 0x66, 0xbd, 0x01, 0x96, 0x79, 0x2b, 0x40, 0xee, 0x5f, 0xf5, 0xf3, 0xfa, 0x68, 0x58, 0x5b, 0x1d, - 0x77, 0x89, 0x30, 0x99, 0xce, 0x12, 0x46, 0x17, 0x22, 0x8a, 0xfc, 0xdd, 0x2a, 0x22, 0xaf, 0x4b, - 0x7e, 0x45, 0x76, 0xeb, 0x58, 0x4c, 0xaa, 0xf3, 0x37, 0x0d, 0x3c, 0x6b, 0x53, 0xff, 0x04, 0x31, - 0xd1, 0x79, 0x6d, 0xc4, 0xa0, 0x07, 0x19, 0x5c, 0x44, 0xac, 0x03, 0x96, 0x42, 0x45, 0x53, 0x65, - 0x7b, 0x39, 0x2e, 0x1b, 0x3e, 0x4b, 0xcb, 0x96, 0xf8, 0x6e, 0x6d, 0xa8, 0xd2, 0xa9, 0x19, 0x4f, - 0xc8, 0xa6, 0x93, 0xfa, 0x69, 0x7e, 0x38, 0xa5, 0x72, 0x6b, 0x8e, 0x4a, 0x8a, 0x98, 0x1c, 0xc8, - 0x7a, 0xea, 0xe5, 0x25, 0x78, 0xf1, 0x0f, 0x82, 0x52, 0xc1, 0xd7, 0x9a, 0x28, 0xf6, 0x17, 0x7d, - 0x0f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x3e, 0x58, 0x86, 0x31, 0xeb, 0x92, 0x28, 0x60, 0x03, - 0xa5, 0xb7, 0xf2, 0xfb, 0xcf, 0xf5, 0x75, 0xa5, 0xe2, 0xd0, 0xf3, 0x22, 0x44, 0xe9, 0x09, 0x8b, - 0x02, 0xec, 0x3b, 0x63, 0xa8, 0x7e, 0x0c, 0x4a, 0x72, 0x37, 0x2a, 0xdd, 0xaf, 0xad, 0x7f, 0xdf, - 0xf9, 0x96, 0x7c, 0xaf, 0x55, 0xe4, 0x09, 0x70, 0x14, 0xb7, 0x79, 0xc0, 0xb5, 0x8e, 0xbd, 0x72, - 0xb9, 0xef, 0xcf, 0x91, 0x1b, 0x8b, 0xa8, 0xeb, 0x92, 0x68, 0x6e, 0x82, 0x8d, 0x29, 0x25, 0x89, - 0xca, 0xdd, 0x5f, 0x1e, 0x83, 0x47, 0x6d, 0xea, 0xeb, 0x31, 0x58, 0xc9, 0xae, 0x65, 0xeb, 0xa1, - 0x00, 0x27, 0x77, 0x5a, 0x75, 0x7f, 0x31, 0x7c, 0xba, 0x03, 0xbf, 0x06, 0x45, 0xb1, 0xbb, 0xde, - 0xe4, 0xe0, 0x73, 0x60, 0xd5, 0xce, 0x09, 0xcc, 0xbe, 0x20, 0x96, 0x4b, 0x9e, 0x17, 0x38, 0x30, - 0xd7, 0x0b, 0xd9, 0x0d, 0x20, 0x52, 0x97, 0x99, 0xfe, 0x5c, 0xa9, 0x1b, 0xe3, 0xf3, 0xa5, 0x6e, - 0x76, 0x20, 0xf5, 0xef, 0x35, 0xb0, 0x3a, 0x33, 0x8d, 0x7b, 0x39, 0x9c, 0x4d, 0x93, 0xaa, 0x1f, - 0xfd, 0x07, 0x52, 0x1a, 0xc6, 0x25, 0x78, 0x32, 0x31, 0x22, 0x79, 0xd2, 0x97, 0x25, 0x54, 0x0f, - 0x16, 0x24, 0x24, 0x2f, 0xb7, 0x7a, 0xd7, 0xb7, 0x86, 0x76, 0x73, 0x6b, 0x68, 0x7f, 0xde, 0x1a, - 0xda, 0x8f, 0x77, 0x46, 0xe1, 0xe6, 0xce, 0x28, 0xfc, 0x71, 0x67, 0x14, 0xbe, 0x74, 0xfc, 0x80, - 0x75, 0x63, 0xd7, 0xea, 0x90, 0xd0, 0xfe, 0x24, 0x71, 0xfe, 0x29, 0x74, 0xa9, 0x9d, 0x3e, 0x55, - 0xef, 0x90, 0x08, 0x65, 0x8f, 0x5d, 0x18, 0x60, 0x3b, 0x24, 0x5e, 0xdc, 0x43, 0x74, 0x72, 0x96, - 0xd8, 0xa0, 0x8f, 0xa8, 0x5b, 0x12, 0x3f, 0x61, 0xf6, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xaa, - 0xc1, 0x4d, 0x17, 0xd7, 0x09, 0x00, 0x00, + // 864 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0x8e, 0xd9, 0x34, 0xb4, 0xd3, 0x5d, 0xd2, 0x7a, 0xcb, 0x36, 0xf5, 0x6a, 0x1d, 0xe4, 0x45, + 0xbb, 0x6c, 0x57, 0xb1, 0x95, 0xad, 0xb4, 0x2b, 0xc2, 0x69, 0xd3, 0x1e, 0x40, 0x22, 0x12, 0x72, + 0xe1, 0x82, 0x90, 0xca, 0x38, 0x1e, 0x1c, 0xd3, 0x78, 0x26, 0xf2, 0x8c, 0xdb, 0xe6, 0x86, 0x10, + 0x27, 0x4e, 0xfc, 0x1f, 0x5c, 0x7a, 0xe0, 0xce, 0xb5, 0x12, 0x07, 0x2a, 0x4e, 0x9c, 0x22, 0xd4, + 0x1e, 0x7a, 0x26, 0x7f, 0x01, 0x9a, 0x1f, 0x76, 0x9c, 0x84, 0x50, 0x87, 0xd3, 0x5e, 0x5a, 0xcf, + 0xbc, 0xef, 0x7b, 0xef, 0x7d, 0x6f, 0xde, 0x7b, 0x0a, 0x78, 0x1a, 0xe2, 0x6f, 0x51, 0x97, 0x85, + 0x27, 0xc8, 0x61, 0xe4, 0x18, 0xe1, 0x6f, 0x60, 0x97, 0x91, 0x78, 0xe8, 0x9c, 0x34, 0x3d, 0xc4, + 0x60, 0xd3, 0x61, 0x67, 0xf6, 0x20, 0x26, 0x8c, 0xe8, 0x66, 0x06, 0xb4, 0xf3, 0x40, 0x5b, 0x01, + 0x8d, 0xad, 0x80, 0x04, 0x44, 0x40, 0x1d, 0xfe, 0x25, 0x59, 0x86, 0xd9, 0x25, 0x34, 0x22, 0xd4, + 0xf1, 0x20, 0x45, 0x99, 0xcf, 0x2e, 0x09, 0xf1, 0x9c, 0x1d, 0x1f, 0x67, 0x76, 0x7e, 0x50, 0xf6, + 0x6d, 0x65, 0x8f, 0x68, 0xe0, 0x9c, 0x34, 0xf9, 0x3f, 0x65, 0xd8, 0x91, 0x86, 0x23, 0x19, 0x51, + 0x1e, 0x94, 0xe9, 0xf9, 0x2d, 0x92, 0x06, 0x30, 0x86, 0x51, 0x0a, 0xde, 0x84, 0x51, 0x88, 0x89, + 0x23, 0xfe, 0xca, 0x2b, 0xeb, 0x6f, 0x0d, 0xbc, 0xd3, 0xa1, 0xc1, 0x7e, 0x8c, 0x20, 0x43, 0x07, + 0x08, 0x93, 0x48, 0x7f, 0x06, 0x2a, 0x14, 0x61, 0x1f, 0xc5, 0x35, 0xed, 0x3d, 0xed, 0x83, 0xb5, + 0xf6, 0xe6, 0x78, 0x54, 0xbf, 0x37, 0x84, 0x51, 0xbf, 0x65, 0xc9, 0x7b, 0xcb, 0x55, 0x00, 0xdd, + 0x01, 0xab, 0x34, 0xf1, 0x7c, 0x4e, 0xab, 0xbd, 0x25, 0xc0, 0xf7, 0xc7, 0xa3, 0x7a, 0x55, 0x81, + 0x95, 0xc5, 0x72, 0x33, 0x90, 0xfe, 0x18, 0x94, 0x31, 0x8c, 0x50, 0xed, 0x8e, 0x00, 0x57, 0xc7, + 0xa3, 0xfa, 0xba, 0x04, 0xf3, 0x5b, 0xcb, 0x15, 0x46, 0x91, 0xc0, 0x30, 0xf2, 0x48, 0xbf, 0x56, + 0x9e, 0x4b, 0x40, 0xdc, 0xf3, 0x04, 0xc4, 0x47, 0x6b, 0xef, 0xfb, 0x9b, 0xf3, 0x5d, 0x95, 0xcd, + 0x8f, 0x37, 0xe7, 0xbb, 0x8f, 0x17, 0x94, 0xa3, 0x2b, 0xf4, 0x35, 0x64, 0x3e, 0x5f, 0x81, 0x07, + 0xd3, 0x92, 0x5d, 0x44, 0x07, 0x04, 0x53, 0xa4, 0xb7, 0x41, 0x15, 0xa3, 0xd3, 0x23, 0x41, 0x3d, + 0x92, 0xb2, 0x64, 0x0d, 0x8c, 0xf1, 0xa8, 0xfe, 0x40, 0x65, 0x3a, 0x0d, 0xb0, 0xdc, 0x7b, 0x18, + 0x9d, 0x7e, 0xce, 0x2f, 0x84, 0x2f, 0xeb, 0x67, 0x0d, 0xbc, 0xdd, 0xa1, 0x41, 0x27, 0xc4, 0x6c, + 0x99, 0x52, 0x7e, 0x0c, 0x2a, 0x30, 0x22, 0x09, 0x66, 0xa2, 0x90, 0xeb, 0x2f, 0x76, 0x6c, 0xf5, + 0xce, 0xbc, 0x9b, 0xd2, 0xc6, 0xb3, 0xf7, 0x49, 0x88, 0xdb, 0xef, 0x5e, 0x8c, 0xea, 0xa5, 0x89, + 0x27, 0x49, 0xb3, 0x5c, 0xc5, 0x6f, 0x3d, 0x9f, 0xa9, 0xc9, 0xc3, 0x05, 0x35, 0x89, 0x42, 0xcc, + 0xac, 0x4d, 0x50, 0x55, 0xc9, 0xa6, 0x45, 0x48, 0x05, 0xb4, 0x93, 0x18, 0xbf, 0xd9, 0x02, 0xbc, + 0x24, 0xc6, 0x4a, 0x00, 0x4f, 0x36, 0x13, 0xf0, 0x9b, 0xea, 0xe9, 0x1e, 0xc4, 0x01, 0x7a, 0xed, + 0x47, 0xe1, 0x52, 0x3a, 0x9e, 0x80, 0x95, 0x7c, 0x43, 0x6f, 0x8c, 0x47, 0xf5, 0xbb, 0x12, 0xa9, + 0xde, 0x5b, 0x9a, 0xf5, 0x26, 0x58, 0xe3, 0xad, 0x00, 0xb9, 0x7f, 0xd5, 0xcf, 0x5b, 0xe3, 0x51, + 0x7d, 0x63, 0xd2, 0x25, 0xc2, 0x64, 0xb9, 0xab, 0x18, 0x9d, 0x8a, 0x2c, 0x8a, 0x77, 0xab, 0xc8, + 0xbc, 0x21, 0xf9, 0x35, 0xd9, 0xad, 0x13, 0x31, 0x99, 0xce, 0xdf, 0x35, 0x70, 0xbf, 0x43, 0x83, + 0x43, 0xc4, 0x44, 0xe7, 0x75, 0x10, 0x83, 0x3e, 0x64, 0x70, 0x19, 0xb1, 0x2e, 0x58, 0x8d, 0x14, + 0x4d, 0x3d, 0xdb, 0xa3, 0xc9, 0xb3, 0xe1, 0xe3, 0xec, 0xd9, 0x52, 0xdf, 0xed, 0x6d, 0xf5, 0x74, + 0x6a, 0xc6, 0x53, 0xb2, 0xe5, 0x66, 0x7e, 0x5a, 0x1f, 0xce, 0xa8, 0x7c, 0xb6, 0x40, 0x25, 0x45, + 0x4c, 0x0e, 0x64, 0x23, 0xf3, 0xf2, 0x08, 0x3c, 0xfc, 0x17, 0x41, 0x99, 0xe0, 0x0b, 0x4d, 0x3c, + 0xf6, 0x17, 0x03, 0x1f, 0x32, 0xf4, 0x99, 0xd8, 0x6c, 0xfa, 0x4b, 0xb0, 0x06, 0x13, 0xd6, 0x23, + 0x71, 0xc8, 0x86, 0x4a, 0x6f, 0xed, 0x8f, 0x5f, 0x1a, 0x5b, 0x4a, 0xc5, 0x6b, 0xdf, 0x8f, 0x11, + 0xa5, 0x87, 0x2c, 0x0e, 0x71, 0xe0, 0x4e, 0xa0, 0xfa, 0x01, 0xa8, 0xc8, 0xdd, 0xa8, 0x74, 0x3f, + 0xb1, 0xff, 0x7b, 0xe7, 0xdb, 0x32, 0x5e, 0xbb, 0xcc, 0x0b, 0xe0, 0x2a, 0x6e, 0xeb, 0x15, 0xd7, + 0x3a, 0xf1, 0xca, 0xe5, 0xbe, 0xbf, 0x40, 0x6e, 0x22, 0xb2, 0x6e, 0x48, 0xa2, 0xb5, 0x03, 0xb6, + 0x67, 0x94, 0xa4, 0x2a, 0x5f, 0xfc, 0xba, 0x02, 0xee, 0x74, 0x68, 0xa0, 0x27, 0x60, 0x3d, 0xbf, + 0x96, 0xed, 0xdb, 0x12, 0x9c, 0xde, 0x69, 0xc6, 0xcb, 0xe5, 0xf0, 0xd9, 0x0e, 0xfc, 0x1a, 0x94, + 0xc5, 0xee, 0x7a, 0x5a, 0x80, 0xcf, 0x81, 0x86, 0x53, 0x10, 0x98, 0x8f, 0x20, 0x96, 0x4b, 0x91, + 0x08, 0x1c, 0x58, 0x28, 0x42, 0x7e, 0x03, 0x88, 0xd2, 0xe5, 0xa6, 0xbf, 0x50, 0xe9, 0x26, 0xf8, + 0x62, 0xa5, 0x9b, 0x1f, 0x48, 0xfd, 0x07, 0x0d, 0x6c, 0xcc, 0x4d, 0xe3, 0x5e, 0x01, 0x67, 0xb3, + 0x24, 0xe3, 0xa3, 0xff, 0x41, 0xca, 0xd2, 0x38, 0x03, 0x77, 0xa7, 0x46, 0xa4, 0x48, 0xf9, 0xf2, + 0x04, 0xe3, 0xd5, 0x92, 0x84, 0x34, 0xb2, 0xb1, 0xf2, 0xdd, 0xcd, 0xf9, 0xae, 0xd6, 0xee, 0x5f, + 0x5c, 0x99, 0xda, 0xe5, 0x95, 0xa9, 0xfd, 0x75, 0x65, 0x6a, 0x3f, 0x5d, 0x9b, 0xa5, 0xcb, 0x6b, + 0xb3, 0xf4, 0xe7, 0xb5, 0x59, 0xfa, 0xd2, 0x0d, 0x42, 0xd6, 0x4b, 0x3c, 0xbb, 0x4b, 0x22, 0xe7, + 0x93, 0x34, 0xc6, 0xa7, 0xd0, 0xa3, 0x4e, 0x16, 0xb1, 0xd1, 0x25, 0x31, 0xca, 0x1f, 0x7b, 0x30, + 0xc4, 0x4e, 0x44, 0xfc, 0xa4, 0x8f, 0xe8, 0xf4, 0x48, 0xb1, 0xe1, 0x00, 0x51, 0xaf, 0x22, 0x7e, + 0xc9, 0xec, 0xfd, 0x13, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xfb, 0x43, 0xd6, 0xde, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/wasmx/types/params.go b/chain/wasmx/types/params.go index 8e1e5351..53bd56d5 100644 --- a/chain/wasmx/types/params.go +++ b/chain/wasmx/types/params.go @@ -19,7 +19,7 @@ const ( var ( DefaultIsExecutionEnabled = false DefaultMaxBeginBlockTotalGas uint64 = 42_000_000 // 42M - DefaultMaxContractGasLimit = DefaultMaxBeginBlockTotalGas / 12 // 3.5M + DefaultMaxContractGasLimit uint64 = DefaultMaxBeginBlockTotalGas / 12 // 3.5M DefaultMinGasPrice uint64 = 1_000_000_000 // 1B ) diff --git a/chain/wasmx/types/tx.pb.go b/chain/wasmx/types/tx.pb.go index 46b3d349..fbf519a8 100644 --- a/chain/wasmx/types/tx.pb.go +++ b/chain/wasmx/types/tx.pb.go @@ -644,58 +644,58 @@ func init() { func init() { proto.RegisterFile("injective/wasmx/v1/tx.proto", fileDescriptor_f7afe23baa925f70) } var fileDescriptor_f7afe23baa925f70 = []byte{ - // 801 bytes of a gzipped FileDescriptorProto + // 808 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x41, 0x4f, 0xdc, 0x46, - 0x14, 0x5e, 0x97, 0x05, 0xc1, 0x94, 0x0a, 0x70, 0xa1, 0xec, 0x7a, 0x8b, 0xa1, 0xae, 0x2a, 0x58, - 0x28, 0x6b, 0x41, 0x2b, 0x54, 0xed, 0x0d, 0x68, 0x0f, 0x55, 0x59, 0x09, 0xb9, 0xea, 0xa5, 0x97, - 0xed, 0xac, 0x3d, 0x0c, 0xae, 0xd6, 0x1e, 0xc7, 0x33, 0x4b, 0xd8, 0xe4, 0x96, 0x1c, 0x22, 0xe5, - 0x94, 0x5f, 0x91, 0x5b, 0x24, 0x0e, 0x39, 0xe5, 0x17, 0x70, 0x44, 0xc9, 0x25, 0xa7, 0x28, 0x82, - 0x48, 0xfc, 0x8d, 0xc8, 0x33, 0xe3, 0xd9, 0xe0, 0xb5, 0xc9, 0x46, 0x4a, 0x2e, 0x2b, 0xbf, 0xf7, - 0xbe, 0x99, 0xef, 0xfb, 0xde, 0xbc, 0xf1, 0x1a, 0xd4, 0xfc, 0xf0, 0x7f, 0xe4, 0x32, 0xff, 0x04, - 0xd9, 0x77, 0x21, 0x0d, 0x4e, 0xed, 0x93, 0x2d, 0x9b, 0x9d, 0x36, 0xa2, 0x98, 0x30, 0xa2, 0xeb, - 0xaa, 0xd8, 0xe0, 0xc5, 0xc6, 0xc9, 0x96, 0x31, 0x8f, 0x09, 0x26, 0xbc, 0x6c, 0x27, 0x4f, 0x02, - 0x69, 0x54, 0x31, 0x21, 0xb8, 0x8b, 0x6c, 0x1e, 0x75, 0x7a, 0x47, 0x36, 0x0c, 0xfb, 0x69, 0xc9, - 0x25, 0x34, 0x20, 0xb4, 0x2d, 0xd6, 0x88, 0x40, 0x96, 0x16, 0x45, 0x64, 0x07, 0x14, 0x27, 0xbc, - 0x01, 0xc5, 0xb2, 0x60, 0xe6, 0xa8, 0x12, 0x0a, 0x44, 0xfd, 0x87, 0x9c, 0x7a, 0x14, 0x93, 0x88, - 0x50, 0xd8, 0x95, 0x90, 0x39, 0x18, 0xf8, 0x21, 0xb1, 0xf9, 0xaf, 0x48, 0x59, 0x4f, 0x35, 0x50, - 0x69, 0x51, 0xfc, 0xc7, 0x29, 0x72, 0x7b, 0x0c, 0xed, 0x93, 0x90, 0xc5, 0xd0, 0x65, 0xfb, 0x24, - 0x88, 0x20, 0xd3, 0xbf, 0x03, 0x13, 0x14, 0x85, 0x1e, 0x8a, 0x2b, 0xda, 0x8a, 0xb6, 0x36, 0xe5, - 0xc8, 0x48, 0x37, 0xc0, 0xa4, 0x2b, 0x91, 0x95, 0xaf, 0x78, 0x45, 0xc5, 0xfa, 0x2c, 0x18, 0x0b, - 0x28, 0xae, 0x8c, 0xf1, 0x74, 0xf2, 0xa8, 0xcf, 0x83, 0xf1, 0xa3, 0x5e, 0xe8, 0xd1, 0x4a, 0x99, - 0xe7, 0x44, 0xd0, 0x6c, 0x3c, 0xb8, 0x3e, 0x5b, 0x97, 0x1b, 0x3e, 0xbe, 0x3e, 0x5b, 0x37, 0x85, - 0xe8, 0x22, 0x2d, 0xd6, 0x0e, 0x58, 0x29, 0xaa, 0x39, 0x88, 0x46, 0x24, 0xa4, 0x48, 0xd7, 0x41, - 0xd9, 0x83, 0x0c, 0x72, 0xb5, 0xd3, 0x0e, 0x7f, 0xb6, 0xde, 0x69, 0x60, 0xae, 0x45, 0xf1, 0x3f, - 0x91, 0x07, 0x07, 0xeb, 0x0a, 0x9d, 0xd5, 0xc1, 0x6c, 0xea, 0xa4, 0x0d, 0x3d, 0x2f, 0x46, 0x94, - 0x4a, 0x87, 0x33, 0x69, 0x7e, 0x57, 0xa4, 0xf5, 0x1a, 0x98, 0xc2, 0x90, 0xb6, 0xbb, 0x7e, 0xe0, - 0x33, 0x6e, 0xb7, 0xec, 0x4c, 0x62, 0x48, 0x0f, 0x92, 0x38, 0x2d, 0x46, 0xb1, 0xef, 0x22, 0xee, - 0x5b, 0x14, 0x0f, 0x93, 0x58, 0xaf, 0x83, 0x6f, 0xa0, 0x17, 0xf8, 0xa1, 0x62, 0x18, 0x4f, 0x18, - 0xf6, 0xca, 0xe7, 0x6f, 0x96, 0x35, 0x67, 0x9a, 0x97, 0x24, 0x49, 0x73, 0x35, 0xd3, 0xa5, 0x45, - 0xd5, 0xa5, 0x9b, 0x86, 0xac, 0x1a, 0xa8, 0x0e, 0x25, 0xd3, 0xbe, 0x58, 0x0f, 0x35, 0xf0, 0x6d, - 0x8b, 0xe2, 0xdd, 0x64, 0x3a, 0x3e, 0x6f, 0x17, 0x9a, 0xf5, 0x8c, 0xc0, 0xaa, 0x12, 0x98, 0x65, - 0xb3, 0x96, 0x40, 0x2d, 0x27, 0xad, 0x44, 0x3e, 0xd2, 0xc0, 0x42, 0x8b, 0xe2, 0xdf, 0x11, 0xfc, - 0x02, 0x32, 0x37, 0x32, 0x32, 0x6b, 0x4a, 0xe6, 0x30, 0x9f, 0xb5, 0x0c, 0x96, 0x72, 0x0b, 0x4a, - 0xea, 0x33, 0x0d, 0xcc, 0xa8, 0x6e, 0x1f, 0xc2, 0x18, 0x06, 0x54, 0xdf, 0x01, 0x53, 0xb0, 0xc7, - 0x8e, 0x49, 0xec, 0xb3, 0xbe, 0xd0, 0xb9, 0x57, 0x79, 0xf9, 0x7c, 0x73, 0x5e, 0x5e, 0x6e, 0x29, - 0xe4, 0x6f, 0x16, 0xfb, 0x21, 0x76, 0x06, 0x50, 0xfd, 0x37, 0x30, 0x11, 0xf1, 0x1d, 0xb8, 0xf4, - 0xaf, 0xb7, 0x8d, 0xc6, 0xf0, 0x0b, 0xa6, 0x21, 0x38, 0xf8, 0x84, 0x94, 0x1c, 0x89, 0x6f, 0xae, - 0x25, 0x9e, 0x06, 0x3b, 0x25, 0xb6, 0x16, 0x32, 0xe3, 0x21, 0xd6, 0x59, 0x55, 0xb0, 0x98, 0x49, - 0x29, 0x2b, 0xaf, 0xc4, 0x68, 0x38, 0x08, 0xfb, 0x94, 0xa1, 0xf8, 0xa3, 0x3d, 0xef, 0x83, 0x25, - 0xd5, 0xf3, 0x98, 0x2f, 0x8a, 0x21, 0xf3, 0x49, 0xd8, 0x8e, 0xd1, 0x9d, 0x1e, 0xa2, 0x4c, 0xba, - 0xb0, 0xf3, 0x5c, 0x0c, 0xfa, 0x38, 0x58, 0xe7, 0x88, 0x65, 0xd2, 0x5a, 0xcd, 0x2d, 0x86, 0xdc, - 0x32, 0x6a, 0x59, 0xf5, 0x72, 0xd4, 0xb2, 0xe9, 0xd4, 0xf4, 0xf6, 0x8b, 0x71, 0x30, 0xd6, 0xa2, - 0x58, 0x67, 0xe0, 0x7b, 0xd1, 0x14, 0x49, 0xd7, 0x4f, 0x91, 0xf2, 0x4c, 0x7f, 0xca, 0x73, 0x31, - 0x74, 0xcd, 0x8c, 0xcd, 0x91, 0x60, 0xea, 0x2d, 0xc5, 0x40, 0x25, 0xbd, 0x04, 0x59, 0x5e, 0x7d, - 0xb5, 0x60, 0xab, 0xec, 0xad, 0x31, 0xec, 0x11, 0x81, 0x8a, 0xf5, 0x1e, 0x30, 0x06, 0x13, 0x3d, - 0xc4, 0x5b, 0x2f, 0xd8, 0x6e, 0xf8, 0x12, 0x18, 0x5b, 0x23, 0x43, 0x15, 0xf7, 0x7d, 0xb0, 0x90, - 0xff, 0x07, 0xf3, 0x73, 0xc1, 0x5e, 0xb9, 0x68, 0xe3, 0xd7, 0x4f, 0x41, 0x2b, 0xf2, 0xff, 0xc0, - 0xf4, 0x8d, 0x8b, 0xfa, 0xe3, 0xad, 0xa7, 0x25, 0x40, 0xc6, 0xc6, 0x08, 0x20, 0xc5, 0xd0, 0x05, - 0xb3, 0x43, 0xf7, 0xa7, 0xe8, 0x20, 0xb3, 0xc0, 0xc2, 0x83, 0x2c, 0x1a, 0xde, 0x3d, 0x74, 0x7e, - 0x69, 0x6a, 0x17, 0x97, 0xa6, 0xf6, 0xf6, 0xd2, 0xd4, 0x9e, 0x5c, 0x99, 0xa5, 0x8b, 0x2b, 0xb3, - 0xf4, 0xfa, 0xca, 0x2c, 0xfd, 0xfb, 0x17, 0xf6, 0xd9, 0x71, 0xaf, 0xd3, 0x70, 0x49, 0x60, 0xff, - 0x99, 0x6e, 0x7a, 0x00, 0x3b, 0xd4, 0x56, 0x14, 0x9b, 0x2e, 0x89, 0xd1, 0x87, 0xe1, 0x31, 0xf4, - 0x43, 0x3b, 0x20, 0x5e, 0xaf, 0x8b, 0xa8, 0xfc, 0x6e, 0x60, 0xfd, 0x08, 0xd1, 0xce, 0x04, 0xff, - 0x3e, 0xf8, 0xe5, 0x7d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4a, 0xd0, 0xc8, 0x8a, 0x0d, 0x09, 0x00, - 0x00, + 0x14, 0x5e, 0x97, 0x5d, 0x04, 0x53, 0x2a, 0xc0, 0x85, 0xb2, 0xeb, 0x2d, 0x86, 0xba, 0xaa, 0x60, + 0xa1, 0xac, 0x05, 0xad, 0x50, 0xb5, 0x37, 0xa0, 0x3d, 0x54, 0x65, 0x25, 0xe4, 0xaa, 0x97, 0x5e, + 0xb6, 0xb3, 0xf6, 0x30, 0xb8, 0x5a, 0x7b, 0x5c, 0xcf, 0x2c, 0x65, 0xdb, 0x4b, 0xd5, 0x1c, 0x22, + 0xe5, 0x94, 0x5f, 0x91, 0x5b, 0x24, 0x0e, 0xf9, 0x03, 0xb9, 0x71, 0x44, 0xc9, 0x25, 0xa7, 0x28, + 0x82, 0x48, 0xfc, 0x8d, 0xc8, 0x33, 0xe3, 0xd9, 0xe0, 0xb5, 0xc9, 0x46, 0x4a, 0x2e, 0x2b, 0xbf, + 0xf7, 0xbe, 0x99, 0xef, 0xfb, 0xde, 0xbc, 0xf1, 0x1a, 0xd4, 0xfd, 0xf0, 0x4f, 0xe4, 0x32, 0xff, + 0x14, 0xd9, 0x7f, 0x43, 0x1a, 0x9c, 0xd9, 0xa7, 0xdb, 0x36, 0x3b, 0x6b, 0x46, 0x31, 0x61, 0x44, + 0xd7, 0x55, 0xb1, 0xc9, 0x8b, 0xcd, 0xd3, 0x6d, 0x63, 0x01, 0x13, 0x4c, 0x78, 0xd9, 0x4e, 0x9e, + 0x04, 0xd2, 0xa8, 0x61, 0x42, 0x70, 0x0f, 0xd9, 0x3c, 0xea, 0xf6, 0x8f, 0x6d, 0x18, 0x0e, 0xd2, + 0x92, 0x4b, 0x68, 0x40, 0x68, 0x47, 0xac, 0x11, 0x81, 0x2c, 0x2d, 0x89, 0xc8, 0x0e, 0x28, 0x4e, + 0x78, 0x03, 0x8a, 0x65, 0xc1, 0xcc, 0x51, 0x25, 0x14, 0x88, 0xfa, 0x57, 0x39, 0xf5, 0x28, 0x26, + 0x11, 0xa1, 0xb0, 0x27, 0x21, 0xf3, 0x30, 0xf0, 0x43, 0x62, 0xf3, 0x5f, 0x91, 0xb2, 0x1e, 0x69, + 0xa0, 0xda, 0xa6, 0xf8, 0xa7, 0x33, 0xe4, 0xf6, 0x19, 0x3a, 0x20, 0x21, 0x8b, 0xa1, 0xcb, 0x0e, + 0x48, 0x10, 0x41, 0xa6, 0x7f, 0x01, 0x26, 0x29, 0x0a, 0x3d, 0x14, 0x57, 0xb5, 0x55, 0x6d, 0x7d, + 0xda, 0x91, 0x91, 0x6e, 0x80, 0x29, 0x57, 0x22, 0xab, 0x9f, 0xf0, 0x8a, 0x8a, 0xf5, 0x39, 0x30, + 0x11, 0x50, 0x5c, 0x9d, 0xe0, 0xe9, 0xe4, 0x51, 0x5f, 0x00, 0x95, 0xe3, 0x7e, 0xe8, 0xd1, 0x6a, + 0x99, 0xe7, 0x44, 0xd0, 0x6a, 0xfe, 0x7f, 0x73, 0xbe, 0x21, 0x37, 0x7c, 0x70, 0x73, 0xbe, 0x61, + 0x0a, 0xd1, 0x45, 0x5a, 0xac, 0x5d, 0xb0, 0x5a, 0x54, 0x73, 0x10, 0x8d, 0x48, 0x48, 0x91, 0xae, + 0x83, 0xb2, 0x07, 0x19, 0xe4, 0x6a, 0x67, 0x1c, 0xfe, 0x6c, 0xbd, 0xd6, 0xc0, 0x7c, 0x9b, 0xe2, + 0xdf, 0x22, 0x0f, 0x0e, 0xd7, 0x15, 0x3a, 0x6b, 0x80, 0xb9, 0xd4, 0x49, 0x07, 0x7a, 0x5e, 0x8c, + 0x28, 0x95, 0x0e, 0x67, 0xd3, 0xfc, 0x9e, 0x48, 0xeb, 0x75, 0x30, 0x8d, 0x21, 0xed, 0xf4, 0xfc, + 0xc0, 0x67, 0xdc, 0x6e, 0xd9, 0x99, 0xc2, 0x90, 0x1e, 0x26, 0x71, 0x5a, 0x8c, 0x62, 0xdf, 0x45, + 0xdc, 0xb7, 0x28, 0x1e, 0x25, 0xb1, 0xde, 0x00, 0x9f, 0x41, 0x2f, 0xf0, 0x43, 0xc5, 0x50, 0x49, + 0x18, 0xf6, 0xcb, 0x17, 0x2f, 0x57, 0x34, 0x67, 0x86, 0x97, 0x24, 0x49, 0x6b, 0x2d, 0xd3, 0xa5, + 0x25, 0xd5, 0xa5, 0xdb, 0x86, 0xac, 0x3a, 0xa8, 0x8d, 0x24, 0xd3, 0xbe, 0x58, 0xf7, 0x34, 0xf0, + 0x79, 0x9b, 0xe2, 0xbd, 0x64, 0x3a, 0x3e, 0x6c, 0x17, 0x5a, 0x8d, 0x8c, 0xc0, 0x9a, 0x12, 0x98, + 0x65, 0xb3, 0x96, 0x41, 0x3d, 0x27, 0xad, 0x44, 0xde, 0xd7, 0xc0, 0x62, 0x9b, 0xe2, 0x1f, 0x11, + 0xfc, 0x08, 0x32, 0x37, 0x33, 0x32, 0xeb, 0x4a, 0xe6, 0x28, 0x9f, 0xb5, 0x02, 0x96, 0x73, 0x0b, + 0x4a, 0xea, 0x63, 0x0d, 0xcc, 0xaa, 0x6e, 0x1f, 0xc1, 0x18, 0x06, 0x54, 0xdf, 0x05, 0xd3, 0xb0, + 0xcf, 0x4e, 0x48, 0xec, 0xb3, 0x81, 0xd0, 0xb9, 0x5f, 0x7d, 0xf6, 0x64, 0x6b, 0x41, 0x5e, 0x6e, + 0x29, 0xe4, 0x57, 0x16, 0xfb, 0x21, 0x76, 0x86, 0x50, 0xfd, 0x07, 0x30, 0x19, 0xf1, 0x1d, 0xb8, + 0xf4, 0x4f, 0x77, 0x8c, 0xe6, 0xe8, 0x0b, 0xa6, 0x29, 0x38, 0xf8, 0x84, 0x94, 0x1c, 0x89, 0x6f, + 0xad, 0x27, 0x9e, 0x86, 0x3b, 0x25, 0xb6, 0x16, 0x33, 0xe3, 0x21, 0xd6, 0x59, 0x35, 0xb0, 0x94, + 0x49, 0x29, 0x2b, 0xcf, 0xc5, 0x68, 0x38, 0x08, 0xfb, 0x94, 0xa1, 0xf8, 0x9d, 0x3d, 0x1f, 0x80, + 0x65, 0xd5, 0xf3, 0x98, 0x2f, 0x8a, 0x21, 0xf3, 0x49, 0xd8, 0x89, 0xd1, 0x5f, 0x7d, 0x44, 0x99, + 0x74, 0x61, 0xe7, 0xb9, 0x18, 0xf6, 0x71, 0xb8, 0xce, 0x11, 0xcb, 0xa4, 0xb5, 0xba, 0x5b, 0x0c, + 0xb9, 0x63, 0xd4, 0xb2, 0xea, 0xe5, 0xa8, 0x65, 0xd3, 0xa9, 0xe9, 0x9d, 0xa7, 0x15, 0x30, 0xd1, + 0xa6, 0x58, 0x67, 0xe0, 0x4b, 0xd1, 0x14, 0x49, 0x37, 0x48, 0x91, 0xf2, 0x4c, 0xbf, 0xc9, 0x73, + 0x31, 0x72, 0xcd, 0x8c, 0xad, 0xb1, 0x60, 0xea, 0x2d, 0xc5, 0x40, 0x35, 0xbd, 0x04, 0x59, 0x5e, + 0x7d, 0xad, 0x60, 0xab, 0xec, 0xad, 0x31, 0xec, 0x31, 0x81, 0x8a, 0xf5, 0x1f, 0x60, 0x0c, 0x27, + 0x7a, 0x84, 0xb7, 0x51, 0xb0, 0xdd, 0xe8, 0x25, 0x30, 0xb6, 0xc7, 0x86, 0x2a, 0xee, 0x7f, 0xc1, + 0x62, 0xfe, 0x1f, 0xcc, 0xb7, 0x05, 0x7b, 0xe5, 0xa2, 0x8d, 0xef, 0xdf, 0x07, 0xad, 0xc8, 0xff, + 0x00, 0x33, 0xb7, 0x2e, 0xea, 0xd7, 0x77, 0x9e, 0x96, 0x00, 0x19, 0x9b, 0x63, 0x80, 0x14, 0x43, + 0x0f, 0xcc, 0x8d, 0xdc, 0x9f, 0xa2, 0x83, 0xcc, 0x02, 0x0b, 0x0f, 0xb2, 0x68, 0x78, 0x8d, 0xca, + 0x7f, 0x37, 0xe7, 0x1b, 0xda, 0x3e, 0xba, 0xb8, 0x32, 0xb5, 0xcb, 0x2b, 0x53, 0x7b, 0x75, 0x65, + 0x6a, 0x0f, 0xaf, 0xcd, 0xd2, 0xe5, 0xb5, 0x59, 0x7a, 0x71, 0x6d, 0x96, 0x7e, 0xff, 0x05, 0xfb, + 0xec, 0xa4, 0xdf, 0x6d, 0xba, 0x24, 0xb0, 0x7f, 0x4e, 0xf7, 0x3e, 0x84, 0x5d, 0x6a, 0x2b, 0xa6, + 0x2d, 0x97, 0xc4, 0xe8, 0xed, 0xf0, 0x04, 0xfa, 0xa1, 0x1d, 0x10, 0xaf, 0xdf, 0x43, 0x54, 0x7e, + 0x3e, 0xb0, 0x41, 0x84, 0x68, 0x77, 0x92, 0x7f, 0x26, 0x7c, 0xf7, 0x26, 0x00, 0x00, 0xff, 0xff, + 0x2d, 0xeb, 0x38, 0x54, 0x14, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/client/chain/chain.go b/client/chain/chain.go index c8d25ddc..cb0fcd96 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -13,6 +13,8 @@ import ( "sync/atomic" "time" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" @@ -284,6 +286,13 @@ type ChainClient interface { FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) + // Permissions module + FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) + FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) + FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) + FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) + FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) + Close() } @@ -320,6 +329,7 @@ type chainClient struct { ibcClientQueryClient ibcclienttypes.QueryClient ibcConnectionQueryClient ibcconnectiontypes.QueryClient ibcTransferQueryClient ibctransfertypes.QueryClient + permissionsQueryClient permissionstypes.QueryClient tendermintQueryClient cmtservice.ServiceClient tokenfactoryQueryClient tokenfactorytypes.QueryClient txClient txtypes.ServiceClient @@ -420,6 +430,7 @@ func NewChainClient( ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), ibcConnectionQueryClient: ibcconnectiontypes.NewQueryClient(conn), ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), + permissionsQueryClient: permissionstypes.NewQueryClient(conn), tendermintQueryClient: cmtservice.NewServiceClient(conn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), txClient: txtypes.NewServiceClient(conn), @@ -2590,3 +2601,51 @@ func (c *chainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnect return res, err } + +// Permissions module + +func (c *chainClient) FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) { + req := &permissionstypes.QueryAllNamespacesRequest{} + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AllNamespaces, req) + + return res, err +} + +func (c *chainClient) FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) { + req := &permissionstypes.QueryNamespaceByDenomRequest{ + Denom: denom, + IncludeRoles: includeRoles, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.NamespaceByDenom, req) + + return res, err +} + +func (c *chainClient) FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) { + req := &permissionstypes.QueryAddressRolesRequest{ + Denom: denom, + Address: address, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AddressRoles, req) + + return res, err +} + +func (c *chainClient) FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) { + req := &permissionstypes.QueryAddressesByRoleRequest{ + Denom: denom, + Role: role, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AddressesByRole, req) + + return res, err +} + +func (c *chainClient) FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) { + req := &permissionstypes.QueryVouchersForAddressRequest{ + Address: address, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.VouchersForAddress, req) + + return res, err +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 2d8af3ab..62239ddd 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,6 +3,7 @@ package chain import ( "context" "errors" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "time" sdkmath "cosmossdk.io/math" @@ -717,3 +718,25 @@ func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, func (c *MockChainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) { return &ibcconnectiontypes.QueryConnectionParamsResponse{}, nil } + +// Permissions module + +func (c *MockChainClient) FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) { + return &permissionstypes.QueryAllNamespacesResponse{}, nil +} + +func (c *MockChainClient) FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) { + return &permissionstypes.QueryNamespaceByDenomResponse{}, nil +} + +func (c *MockChainClient) FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) { + return &permissionstypes.QueryAddressRolesResponse{}, nil +} + +func (c *MockChainClient) FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) { + return &permissionstypes.QueryAddressesByRoleResponse{}, nil +} + +func (c *MockChainClient) FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) { + return &permissionstypes.QueryVouchersForAddressResponse{}, nil +} diff --git a/client/chain/tx_factory.go b/client/chain/tx_factory.go index e70fef12..ec7e8284 100644 --- a/client/chain/tx_factory.go +++ b/client/chain/tx_factory.go @@ -14,5 +14,6 @@ func NewTxFactory(clientCtx client.Context) tx.Factory { WithSimulateAndExecute(true). WithGasAdjustment(1.5). WithChainID(clientCtx.ChainID). - WithSignMode(signing.SignMode_SIGN_MODE_DIRECT) + WithSignMode(signing.SignMode_SIGN_MODE_DIRECT). + WithFromName(clientCtx.GetFromName()) } diff --git a/examples/chain/auction/1_MsgBid/example.go b/examples/chain/auction/1_MsgBid/example.go index 705b626a..bae1cbd1 100644 --- a/examples/chain/auction/1_MsgBid/example.go +++ b/examples/chain/auction/1_MsgBid/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -59,7 +61,7 @@ func main() { round := uint64(9355) bidAmount := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } msg := &auctiontypes.MsgBid{ diff --git a/examples/chain/bank/1_MsgSend/example.go b/examples/chain/bank/1_MsgSend/example.go index a7a2e737..309ede31 100644 --- a/examples/chain/bank/1_MsgSend/example.go +++ b/examples/chain/bank/1_MsgSend/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { FromAddress: senderAddress.String(), ToAddress: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Amount: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, } diff --git a/examples/chain/bank/2_MsgMultiSend/example.go b/examples/chain/bank/2_MsgMultiSend/example.go index 77c8e0b5..62b69343 100644 --- a/examples/chain/bank/2_MsgMultiSend/example.go +++ b/examples/chain/bank/2_MsgMultiSend/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -66,13 +68,13 @@ func main() { { Address: senderAddress.String(), Coins: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, }, { Address: senderAddress.String(), Coins: []sdktypes.Coin{{ - Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: sdktypes.NewInt(1000000)}, // 1 USDT + Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: math.NewInt(1000000)}, // 1 USDT }, }, }, @@ -80,13 +82,13 @@ func main() { { Address: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Coins: []sdktypes.Coin{{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000)}, // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000)}, // 1 INJ }, }, { Address: "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", Coins: []sdktypes.Coin{{ - Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: sdktypes.NewInt(1000000)}, // 1 USDT + Denom: "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", Amount: math.NewInt(1000000)}, // 1 USDT }, }, }, diff --git a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go index 2bae28c4..797bf8e0 100644 --- a/examples/chain/exchange/14_MsgSubaccountTransfer/example.go +++ b/examples/chain/exchange/14_MsgSubaccountTransfer/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", DestinationSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000001", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/15_MsgExternalTransfer/example.go b/examples/chain/exchange/15_MsgExternalTransfer/example.go index 3481f248..c67b2ca9 100644 --- a/examples/chain/exchange/15_MsgExternalTransfer/example.go +++ b/examples/chain/exchange/15_MsgExternalTransfer/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -62,7 +64,7 @@ func main() { SourceSubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", DestinationSubaccountId: "0xbdaedec95d563fb05240d6e01821008454c24c36000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/1_MsgDeposit/example.go b/examples/chain/exchange/1_MsgDeposit/example.go index 33c274ce..f1f507b3 100644 --- a/examples/chain/exchange/1_MsgDeposit/example.go +++ b/examples/chain/exchange/1_MsgDeposit/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { Sender: senderAddress.String(), SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/exchange/2_MsgWithdraw/example.go b/examples/chain/exchange/2_MsgWithdraw/example.go index 522fbacf..ab1f76db 100644 --- a/examples/chain/exchange/2_MsgWithdraw/example.go +++ b/examples/chain/exchange/2_MsgWithdraw/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { Sender: senderAddress.String(), SubaccountId: "0xaf79152ac5df276d9a8e1e2e22822f9713474902000000000000000000000000", Amount: sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ }, } diff --git a/examples/chain/ibc/transfer/1_MsgTransfer/example.go b/examples/chain/ibc/transfer/1_MsgTransfer/example.go index 587b0c91..52667bfa 100644 --- a/examples/chain/ibc/transfer/1_MsgTransfer/example.go +++ b/examples/chain/ibc/transfer/1_MsgTransfer/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -60,7 +62,7 @@ func main() { sourcePort := "transfer" sourceChannel := "channel-126" coin := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } sender := senderAddress.String() receiver := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" diff --git a/examples/chain/peggy/1_MsgSendToEth/example.go b/examples/chain/peggy/1_MsgSendToEth/example.go index bee6838b..6bffa175 100644 --- a/examples/chain/peggy/1_MsgSendToEth/example.go +++ b/examples/chain/peggy/1_MsgSendToEth/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -60,10 +62,10 @@ func main() { ethDest := "0xaf79152ac5df276d9a8e1e2e22822f9713474902" amount := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(5000000000000000000), // 5 INJ + Denom: "inj", Amount: math.NewInt(5000000000000000000), // 5 INJ } bridgeFee := sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(2000000000000000000), // 2 INJ + Denom: "inj", Amount: math.NewInt(2000000000000000000), // 2 INJ } msg := &peggytypes.MsgSendToEth{ diff --git a/examples/chain/permissions/1_CreateNamespace/example.go b/examples/chain/permissions/1_CreateNamespace/example.go new file mode 100644 index 00000000..c7354033 --- /dev/null +++ b/examples/chain/permissions/1_CreateNamespace/example.go @@ -0,0 +1,92 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + namespace := permissionstypes.Namespace{ + Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", + RolePermissions: []*permissionstypes.Role{ + { + Role: permissionstypes.EVERYONE, + Permissions: uint32(permissionstypes.Action_MINT | permissionstypes.Action_RECEIVE | permissionstypes.Action_BURN), + }, + { + Role: "blacklisted", + Permissions: 0, + }, + }, + AddressRoles: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + msg := &permissionstypes.MsgCreateNamespace{ + Sender: senderAddress.String(), + Namespace: namespace, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/2_DeleteNamespace/example.go b/examples/chain/permissions/2_DeleteNamespace/example.go new file mode 100644 index 00000000..6c8c08a1 --- /dev/null +++ b/examples/chain/permissions/2_DeleteNamespace/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgDeleteNamespace{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/3_UpdateNamespace/example.go b/examples/chain/permissions/3_UpdateNamespace/example.go new file mode 100644 index 00000000..f6e85bd2 --- /dev/null +++ b/examples/chain/permissions/3_UpdateNamespace/example.go @@ -0,0 +1,77 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgUpdateNamespace{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + WasmHook: &permissionstypes.MsgUpdateNamespace_MsgSetWasmHook{NewValue: "inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m"}, + SendsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetSendsPaused{NewValue: true}, + MintsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetMintsPaused{NewValue: true}, + BurnsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetBurnsPaused{NewValue: true}, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go new file mode 100644 index 00000000..7a8bfb61 --- /dev/null +++ b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go @@ -0,0 +1,90 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + msg := &permissionstypes.MsgUpdateNamespaceRoles{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + RolePermissions: []*permissionstypes.Role{ + { + Role: permissionstypes.EVERYONE, + Permissions: uint32(permissionstypes.Action_RECEIVE), + }, + { + Role: "blacklisted", + Permissions: 0, + }, + }, + AddressRoles: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go new file mode 100644 index 00000000..7c9f1449 --- /dev/null +++ b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go @@ -0,0 +1,80 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + msg := &permissionstypes.MsgRevokeNamespaceRoles{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + AddressRolesToRevoke: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/6_ClaimVoucher/example.go b/examples/chain/permissions/6_ClaimVoucher/example.go new file mode 100644 index 00000000..82a15347 --- /dev/null +++ b/examples/chain/permissions/6_ClaimVoucher/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + denom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgClaimVoucher{ + Sender: senderAddress.String(), + Denom: denom, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/1_AllNamespaces/example.go b/examples/chain/permissions/query/1_AllNamespaces/example.go new file mode 100644 index 00000000..650477d2 --- /dev/null +++ b/examples/chain/permissions/query/1_AllNamespaces/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchAllNamespaces(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/permissions/query/2_NamespaceByDenom/example.go b/examples/chain/permissions/query/2_NamespaceByDenom/example.go new file mode 100644 index 00000000..e8bc93fb --- /dev/null +++ b/examples/chain/permissions/query/2_NamespaceByDenom/example.go @@ -0,0 +1,68 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + ctx := context.Background() + + res, err := chainClient.FetchNamespaceByDenom(ctx, namespaceDenom, true) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/3_AddressRoles/example.go b/examples/chain/permissions/query/3_AddressRoles/example.go new file mode 100644 index 00000000..943c2219 --- /dev/null +++ b/examples/chain/permissions/query/3_AddressRoles/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + address := senderAddress.String() + + ctx := context.Background() + + res, err := chainClient.FetchAddressRoles(ctx, namespaceDenom, address) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/4_AddressesByRole/example.go b/examples/chain/permissions/query/4_AddressesByRole/example.go new file mode 100644 index 00000000..3e916a42 --- /dev/null +++ b/examples/chain/permissions/query/4_AddressesByRole/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + role := "blacklisted" + + ctx := context.Background() + + res, err := chainClient.FetchAddressesByRole(ctx, namespaceDenom, role) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/5_VouchersForAddress/example.go b/examples/chain/permissions/query/5_VouchersForAddress/example.go new file mode 100644 index 00000000..06be757e --- /dev/null +++ b/examples/chain/permissions/query/5_VouchersForAddress/example.go @@ -0,0 +1,68 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + address := senderAddress.String() + + ctx := context.Background() + + res, err := chainClient.FetchVouchersForAddress(ctx, address) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/staking/1_MsgDelegate/example.go b/examples/chain/staking/1_MsgDelegate/example.go index 0ba43c66..59e753e8 100644 --- a/examples/chain/staking/1_MsgDelegate/example.go +++ b/examples/chain/staking/1_MsgDelegate/example.go @@ -5,6 +5,8 @@ import ( "os" "time" + "cosmossdk.io/math" + "github.com/InjectiveLabs/sdk-go/client" "github.com/InjectiveLabs/sdk-go/client/common" @@ -61,7 +63,7 @@ func main() { msg.DelegatorAddress = senderAddress.String() msg.ValidatorAddress = "injvaloper14gy4acwjm96wd20awm9ar6j54lev5p7espy9ug" msg.Amount = sdktypes.Coin{ - Denom: "inj", Amount: sdktypes.NewInt(1000000000000000000), // 1 INJ + Denom: "inj", Amount: math.NewInt(1000000000000000000), // 1 INJ } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/examples/chain/tokenfactory/2_MsgMint/example.go b/examples/chain/tokenfactory/2_MsgMint/example.go index c651e18f..f04b6899 100644 --- a/examples/chain/tokenfactory/2_MsgMint/example.go +++ b/examples/chain/tokenfactory/2_MsgMint/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" @@ -59,7 +61,7 @@ func main() { message.Sender = senderAddress.String() message.Amount = sdktypes.Coin{ Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", - Amount: sdktypes.NewInt(1000000000), + Amount: math.NewInt(1000000000), } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/examples/chain/tokenfactory/3_MsgBurn/example.go b/examples/chain/tokenfactory/3_MsgBurn/example.go index a342a851..53a6aae1 100644 --- a/examples/chain/tokenfactory/3_MsgBurn/example.go +++ b/examples/chain/tokenfactory/3_MsgBurn/example.go @@ -5,6 +5,8 @@ import ( "fmt" "os" + "cosmossdk.io/math" + tokenfactorytypes "github.com/InjectiveLabs/sdk-go/chain/tokenfactory/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" @@ -59,7 +61,7 @@ func main() { message.Sender = senderAddress.String() message.Amount = sdktypes.Coin{ Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", - Amount: sdktypes.NewInt(100), + Amount: math.NewInt(100), } // AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg diff --git a/go.mod b/go.mod index a2b71fba..5a23db53 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/btcsuite/btcd/btcutil v1.1.3 github.com/cometbft/cometbft v0.38.7 github.com/cosmos/cosmos-proto v1.0.0-beta.5 - github.com/cosmos/cosmos-sdk v0.50.6 + github.com/cosmos/cosmos-sdk v0.50.7 github.com/cosmos/gogoproto v1.4.12 github.com/cosmos/ibc-go/modules/capability v1.0.0 github.com/cosmos/ibc-go/v8 v8.2.0 @@ -41,7 +41,7 @@ require ( ) require ( - cosmossdk.io/api v0.7.4 // indirect + cosmossdk.io/api v0.7.5 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/core v0.11.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect @@ -207,9 +207,9 @@ replace ( github.com/bandprotocol/bandchain-packet => github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 github.com/cometbft/cometbft => github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 - github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c + github.com/cosmos/cosmos-sdk => github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240612162131-b0d018abeff9 github.com/cosmos/ibc-apps/modules/ibc-hooks/v8 => github.com/InjectiveLabs/ibc-apps/modules/ibc-hooks/v8 v8.0.0-20240507173420-7acb85b883f5 - github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 + github.com/cosmos/ibc-go/v8 => github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 github.com/miguelmota/go-ethereum-hdwallet => github.com/InjectiveLabs/go-ethereum-hdwallet v0.1.2 github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 ) diff --git a/go.sum b/go.sum index 40c5e343..6ed02755 100644 --- a/go.sum +++ b/go.sum @@ -10,8 +10,8 @@ cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= -cosmossdk.io/api v0.7.4 h1:sPo8wKwCty1lht8kgL3J7YL1voJywP3YWuA5JKkBz30= -cosmossdk.io/api v0.7.4/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= @@ -49,8 +49,8 @@ github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1 h1:ZnvCV/lzjWmBwuGbkAz+ok github.com/InjectiveLabs/bandchain-packet v0.0.4-inj-1/go.mod h1:QELTDYiwnbAqIgTF9zeKr+hVlK6eVyt6Nxmh6/1mmzQ= github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89 h1:Bd0zseWj0r5WFVWfSkYOIkJEfSWWMPGxlkLTxdhfOv4= github.com/InjectiveLabs/cometbft v0.38.7-0.20240530121154-e6f77c2eab89/go.mod h1:8rSPxzUJYquCN8uuBgbUHOMg2KAwvr7CyUw+6ukO4nw= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c h1:BFzkjbIeeB/Fu07lg8MqfPSJj+pLpRjo9SIxQD5LZvI= -github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240530121542-f786214f432c/go.mod h1:iylzgvhuWvrLrI2udUARCGSqfo5zFNVe5iZzjuxju3E= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240612162131-b0d018abeff9 h1:eXomrS7dSfXM7MvIgO/S/rIZaVFg77gxU9H6XFJEVYQ= +github.com/InjectiveLabs/cosmos-sdk v0.50.7-0.20240612162131-b0d018abeff9/go.mod h1:iylzgvhuWvrLrI2udUARCGSqfo5zFNVe5iZzjuxju3E= github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790 h1:F4FYZR9rLg9igzxitFdLU5s7ZU9XS0wUB7DbkBOVXc8= github.com/InjectiveLabs/cosmos-sdk/store v1.1.1-0.20240522173845-46ef88f66790/go.mod h1:ZW4eIE98wivInyQyhxU2nHqEielc/iZAcr41qNyWSrw= github.com/InjectiveLabs/cosmos-sdk/x/evidence v0.1.1-0.20240522173845-46ef88f66790 h1:vbSB6IBNnrVw3s/odYJiF1MUi2JL6PnjgNEBkTM/sBI= @@ -59,8 +59,8 @@ github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66 github.com/InjectiveLabs/cosmos-sdk/x/feegrant v0.1.1-0.20240522173845-46ef88f66790/go.mod h1:Tnwfp0+AmtSF3sktmOwt5Sk4PbRMrDAWsJTr6cX1Hj8= github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790 h1:ImlT8paRJvKIve+ZGi6RvCNp+1u1CC/EIHebQhm+ZYo= github.com/InjectiveLabs/cosmos-sdk/x/upgrade v0.1.2-0.20240522173845-46ef88f66790/go.mod h1:Cn5qF2yRpXZcd+yJM6mu0UGt1p75IherhBhfeAvkmPc= -github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563 h1:hapevKTBYkJVv8Y/H8PGjj2u7rVbgnIZWBvghUSXyLw= -github.com/InjectiveLabs/ibc-go/v8 v8.3.2-0.20240530084055-772bafc23563/go.mod h1:H8y0uWT/SlGELRCkzAKd7H6Psjvtji6nP3326MJppbM= +github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0 h1:Tgr8mk4+FAlcp08AkVsyqSLW8GZKRZcnf0e8JeQMBAA= +github.com/InjectiveLabs/ibc-go/v8 v8.3.3-0.20240620175254-376c45360bb0/go.mod h1:TGEIiuEAjZH11VCehlYjmx6RTUjv4vbkKFL9s2r+VRg= github.com/InjectiveLabs/suplog v1.3.3 h1:ARIR3lWD9BxcrmqTwgcGBt8t7e10gwOqllUAXa/MfxI= github.com/InjectiveLabs/suplog v1.3.3/go.mod h1:+I9WRgUhzmo1V/n7IkW24kFBFB9ZTPAiXXXCogWxmTM= github.com/InjectiveLabs/wasmd v0.51.1-0.20240517110802-c05574f2352f h1:HB590uhSnGKBDC/yC7vtpN1+pXHnKwJEur0RCbSLDaA= From 4fddcb05aeda6355f7162e01edfdcdc8851f6288 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:07:22 -0300 Subject: [PATCH 2/4] (fix) Added logic to ensure this branch is only used to interact with Devnet --- client/chain/chain.go | 7 ++ client/chain/chain_test.go | 4 +- client/chain/chain_test_support.go | 3 +- client/common/network.go | 96 ------------------- .../permissions/1_CreateNamespace/example.go | 3 +- .../permissions/2_DeleteNamespace/example.go | 3 +- .../permissions/3_UpdateNamespace/example.go | 3 +- .../4_UpdateNamespaceRoles/example.go | 3 +- .../5_RevokeNamespaceRoles/example.go | 3 +- .../permissions/6_ClaimVoucher/example.go | 3 +- .../query/2_NamespaceByDenom/example.go | 3 +- .../query/3_AddressRoles/example.go | 3 +- .../query/4_AddressesByRole/example.go | 3 +- .../query/5_VouchersForAddress/example.go | 3 +- 14 files changed, 31 insertions(+), 109 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index cb0fcd96..ad83adf2 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -772,6 +772,9 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in } func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, error) { + if c.network.ChainId != "injective-777" { + panic("This versions of Go SDK should only be used with Devnet environment") + } ctx := context.Background() if clientCtx.Simulate { simTxBytes, err := txf.BuildSimTx(msgs...) @@ -883,6 +886,10 @@ func (c *chainClient) broadcastTx( await bool, msgs ...sdk.Msg, ) (*txtypes.BroadcastTxResponse, error) { + if c.network.ChainId != "injective-777" { + panic("This versions of Go SDK should only be used with Devnet environment") + } + txBytes, err := c.buildSignedTx(clientCtx, txf, msgs...) if err != nil { err = errors.Wrap(err, "failed to build signed Tx") diff --git a/client/chain/chain_test.go b/client/chain/chain_test.go index f3845e06..0016f37f 100644 --- a/client/chain/chain_test.go +++ b/client/chain/chain_test.go @@ -52,7 +52,7 @@ func createClient(senderAddress cosmtypes.AccAddress, cosmosKeyring keyring.Keyr } func TestDefaultSubaccount(t *testing.T) { - network := common.LoadNetwork("testnet", "lb") + network := common.LoadNetwork("devnet", "lb") senderAddress, cosmosKeyring, err := accountForTests() if err != nil { @@ -75,7 +75,7 @@ func TestDefaultSubaccount(t *testing.T) { } func TestGetSubaccountWithIndex(t *testing.T) { - network := common.LoadNetwork("testnet", "lb") + network := common.LoadNetwork("devnet", "lb") senderAddress, cosmosKeyring, err := accountForTests() if err != nil { diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index 62239ddd..fa1b1258 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,9 +3,10 @@ package chain import ( "context" "errors" - permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "time" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" diff --git a/client/common/network.go b/client/common/network.go index 4714f997..e7b62672 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -2,7 +2,6 @@ package common import ( "context" - "crypto/tls" "fmt" "net" "net/http" @@ -256,101 +255,6 @@ func LoadNetwork(name, node string) Network { ExplorerCookieAssistant: &DisabledCookieAssistant{}, OfficialTokensListURL: DevnetTokensListURL, } - case "testnet": - validNodes := []string{"lb", "sentry"} - if !contains(validNodes, node) { - panic(fmt.Sprintf("invalid node %s for %s", node, name)) - } - - var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials - var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant - if node == "lb" { - lcdEndpoint = "https://testnet.sentry.lcd.injective.network:443" - tmEndpoint = "https://testnet.sentry.tm.injective.network:443" - chainGrpcEndpoint = "testnet.sentry.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "testnet.sentry.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "testnet.sentry.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "testnet.sentry.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - } else if node == "sentry" { - lcdEndpoint = "https://testnet.lcd.injective.network:443" - tmEndpoint = "https://testnet.tm.injective.network:443" - chainGrpcEndpoint = "testnet.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "testnet.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "testnet.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "testnet.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &DisabledCookieAssistant{} - exchangeCookieAssistant = &DisabledCookieAssistant{} - explorerCookieAssistant = &DisabledCookieAssistant{} - } - - return Network{ - LcdEndpoint: lcdEndpoint, - TmEndpoint: tmEndpoint, - ChainGrpcEndpoint: chainGrpcEndpoint, - ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTLSCert: chainTLSCert, - ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTLSCert: exchangeTLSCert, - ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTLSCert: explorerTLSCert, - ChainId: "injective-888", - FeeDenom: "inj", - Name: "testnet", - ChainCookieAssistant: chainCookieAssistant, - ExchangeCookieAssistant: exchangeCookieAssistant, - ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListURL: TestnetTokensListURL, - } - case "mainnet": - validNodes := []string{"lb"} - if !contains(validNodes, node) { - panic(fmt.Sprintf("invalid node %s for %s", node, name)) - } - var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials - var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant - - lcdEndpoint = "https://sentry.lcd.injective.network" - tmEndpoint = "https://sentry.tm.injective.network:443" - chainGrpcEndpoint = "sentry.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "sentry.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "sentry.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "sentry.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - - return Network{ - LcdEndpoint: lcdEndpoint, - TmEndpoint: tmEndpoint, - ChainGrpcEndpoint: chainGrpcEndpoint, - ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTLSCert: chainTLSCert, - ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTLSCert: exchangeTLSCert, - ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTLSCert: explorerTLSCert, - ChainId: "injective-1", - FeeDenom: "inj", - Name: "mainnet", - ChainCookieAssistant: chainCookieAssistant, - ExchangeCookieAssistant: exchangeCookieAssistant, - ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListURL: MainnetTokensListURL, - } default: panic(fmt.Sprintf("invalid network %s", name)) diff --git a/examples/chain/permissions/1_CreateNamespace/example.go b/examples/chain/permissions/1_CreateNamespace/example.go index c7354033..540d2a9b 100644 --- a/examples/chain/permissions/1_CreateNamespace/example.go +++ b/examples/chain/permissions/1_CreateNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/2_DeleteNamespace/example.go b/examples/chain/permissions/2_DeleteNamespace/example.go index 6c8c08a1..611f569e 100644 --- a/examples/chain/permissions/2_DeleteNamespace/example.go +++ b/examples/chain/permissions/2_DeleteNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/3_UpdateNamespace/example.go b/examples/chain/permissions/3_UpdateNamespace/example.go index f6e85bd2..2fd48eaf 100644 --- a/examples/chain/permissions/3_UpdateNamespace/example.go +++ b/examples/chain/permissions/3_UpdateNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go index 7a8bfb61..62941e9d 100644 --- a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go +++ b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go index 7c9f1449..3bc62f57 100644 --- a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go +++ b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/6_ClaimVoucher/example.go b/examples/chain/permissions/6_ClaimVoucher/example.go index 82a15347..3af4da11 100644 --- a/examples/chain/permissions/6_ClaimVoucher/example.go +++ b/examples/chain/permissions/6_ClaimVoucher/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/2_NamespaceByDenom/example.go b/examples/chain/permissions/query/2_NamespaceByDenom/example.go index e8bc93fb..69efeb11 100644 --- a/examples/chain/permissions/query/2_NamespaceByDenom/example.go +++ b/examples/chain/permissions/query/2_NamespaceByDenom/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/3_AddressRoles/example.go b/examples/chain/permissions/query/3_AddressRoles/example.go index 943c2219..17fe06a0 100644 --- a/examples/chain/permissions/query/3_AddressRoles/example.go +++ b/examples/chain/permissions/query/3_AddressRoles/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/4_AddressesByRole/example.go b/examples/chain/permissions/query/4_AddressesByRole/example.go index 3e916a42..ca2b3f7f 100644 --- a/examples/chain/permissions/query/4_AddressesByRole/example.go +++ b/examples/chain/permissions/query/4_AddressesByRole/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/5_VouchersForAddress/example.go b/examples/chain/permissions/query/5_VouchersForAddress/example.go index 06be757e..fe7b9d96 100644 --- a/examples/chain/permissions/query/5_VouchersForAddress/example.go +++ b/examples/chain/permissions/query/5_VouchersForAddress/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { From 1f96e8f5495c8b89735796e7cc58f4ed48b37b48 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:28:11 -0300 Subject: [PATCH 3/4] (feat) Added support for module. Added also example scripts for all permissions module's messages and queries --- client/chain/chain.go | 59 ++++++++++++ client/chain/chain_test_support.go | 23 +++++ .../permissions/1_CreateNamespace/example.go | 92 +++++++++++++++++++ .../permissions/2_DeleteNamespace/example.go | 73 +++++++++++++++ .../permissions/3_UpdateNamespace/example.go | 77 ++++++++++++++++ .../4_UpdateNamespaceRoles/example.go | 90 ++++++++++++++++++ .../5_RevokeNamespaceRoles/example.go | 80 ++++++++++++++++ .../permissions/6_ClaimVoucher/example.go | 73 +++++++++++++++ .../query/1_AllNamespaces/example.go | 69 ++++++++++++++ .../query/2_NamespaceByDenom/example.go | 68 ++++++++++++++ .../query/3_AddressRoles/example.go | 69 ++++++++++++++ .../query/4_AddressesByRole/example.go | 69 ++++++++++++++ .../query/5_VouchersForAddress/example.go | 68 ++++++++++++++ 13 files changed, 910 insertions(+) create mode 100644 examples/chain/permissions/1_CreateNamespace/example.go create mode 100644 examples/chain/permissions/2_DeleteNamespace/example.go create mode 100644 examples/chain/permissions/3_UpdateNamespace/example.go create mode 100644 examples/chain/permissions/4_UpdateNamespaceRoles/example.go create mode 100644 examples/chain/permissions/5_RevokeNamespaceRoles/example.go create mode 100644 examples/chain/permissions/6_ClaimVoucher/example.go create mode 100644 examples/chain/permissions/query/1_AllNamespaces/example.go create mode 100644 examples/chain/permissions/query/2_NamespaceByDenom/example.go create mode 100644 examples/chain/permissions/query/3_AddressRoles/example.go create mode 100644 examples/chain/permissions/query/4_AddressesByRole/example.go create mode 100644 examples/chain/permissions/query/5_VouchersForAddress/example.go diff --git a/client/chain/chain.go b/client/chain/chain.go index 08214e4b..3f9f5a17 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -13,6 +13,8 @@ import ( "sync/atomic" "time" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" @@ -286,6 +288,13 @@ type ChainClient interface { FetchIBCConnectionConsensusState(ctx context.Context, connectionId string, revisionNumber uint64, revisionHeight uint64) (*ibcconnectiontypes.QueryConnectionConsensusStateResponse, error) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) + // Permissions module + FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) + FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) + FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) + FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) + FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) + Close() } @@ -322,6 +331,7 @@ type chainClient struct { ibcClientQueryClient ibcclienttypes.QueryClient ibcConnectionQueryClient ibcconnectiontypes.QueryClient ibcTransferQueryClient ibctransfertypes.QueryClient + permissionsQueryClient permissionstypes.QueryClient tendermintQueryClient cmtservice.ServiceClient tokenfactoryQueryClient tokenfactorytypes.QueryClient txClient txtypes.ServiceClient @@ -422,6 +432,7 @@ func NewChainClient( ibcClientQueryClient: ibcclienttypes.NewQueryClient(conn), ibcConnectionQueryClient: ibcconnectiontypes.NewQueryClient(conn), ibcTransferQueryClient: ibctransfertypes.NewQueryClient(conn), + permissionsQueryClient: permissionstypes.NewQueryClient(conn), tendermintQueryClient: cmtservice.NewServiceClient(conn), tokenfactoryQueryClient: tokenfactorytypes.NewQueryClient(conn), txClient: txtypes.NewServiceClient(conn), @@ -2592,3 +2603,51 @@ func (c *chainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnect return res, err } + +// Permissions module + +func (c *chainClient) FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) { + req := &permissionstypes.QueryAllNamespacesRequest{} + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AllNamespaces, req) + + return res, err +} + +func (c *chainClient) FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) { + req := &permissionstypes.QueryNamespaceByDenomRequest{ + Denom: denom, + IncludeRoles: includeRoles, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.NamespaceByDenom, req) + + return res, err +} + +func (c *chainClient) FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) { + req := &permissionstypes.QueryAddressRolesRequest{ + Denom: denom, + Address: address, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AddressRoles, req) + + return res, err +} + +func (c *chainClient) FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) { + req := &permissionstypes.QueryAddressesByRoleRequest{ + Denom: denom, + Role: role, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.AddressesByRole, req) + + return res, err +} + +func (c *chainClient) FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) { + req := &permissionstypes.QueryVouchersForAddressRequest{ + Address: address, + } + res, err := common.ExecuteCall(ctx, c.network.ChainCookieAssistant, c.permissionsQueryClient.VouchersForAddress, req) + + return res, err +} diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index afacd061..bf7e2a66 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,6 +3,7 @@ package chain import ( "context" "errors" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "time" sdkmath "cosmossdk.io/math" @@ -717,3 +718,25 @@ func (c *MockChainClient) FetchIBCConnectionConsensusState(ctx context.Context, func (c *MockChainClient) FetchIBCConnectionParams(ctx context.Context) (*ibcconnectiontypes.QueryConnectionParamsResponse, error) { return &ibcconnectiontypes.QueryConnectionParamsResponse{}, nil } + +// Permissions module + +func (c *MockChainClient) FetchAllNamespaces(ctx context.Context) (*permissionstypes.QueryAllNamespacesResponse, error) { + return &permissionstypes.QueryAllNamespacesResponse{}, nil +} + +func (c *MockChainClient) FetchNamespaceByDenom(ctx context.Context, denom string, includeRoles bool) (*permissionstypes.QueryNamespaceByDenomResponse, error) { + return &permissionstypes.QueryNamespaceByDenomResponse{}, nil +} + +func (c *MockChainClient) FetchAddressRoles(ctx context.Context, denom, address string) (*permissionstypes.QueryAddressRolesResponse, error) { + return &permissionstypes.QueryAddressRolesResponse{}, nil +} + +func (c *MockChainClient) FetchAddressesByRole(ctx context.Context, denom, role string) (*permissionstypes.QueryAddressesByRoleResponse, error) { + return &permissionstypes.QueryAddressesByRoleResponse{}, nil +} + +func (c *MockChainClient) FetchVouchersForAddress(ctx context.Context, address string) (*permissionstypes.QueryVouchersForAddressResponse, error) { + return &permissionstypes.QueryVouchersForAddressResponse{}, nil +} diff --git a/examples/chain/permissions/1_CreateNamespace/example.go b/examples/chain/permissions/1_CreateNamespace/example.go new file mode 100644 index 00000000..c7354033 --- /dev/null +++ b/examples/chain/permissions/1_CreateNamespace/example.go @@ -0,0 +1,92 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + namespace := permissionstypes.Namespace{ + Denom: "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", + RolePermissions: []*permissionstypes.Role{ + { + Role: permissionstypes.EVERYONE, + Permissions: uint32(permissionstypes.Action_MINT | permissionstypes.Action_RECEIVE | permissionstypes.Action_BURN), + }, + { + Role: "blacklisted", + Permissions: 0, + }, + }, + AddressRoles: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + msg := &permissionstypes.MsgCreateNamespace{ + Sender: senderAddress.String(), + Namespace: namespace, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/2_DeleteNamespace/example.go b/examples/chain/permissions/2_DeleteNamespace/example.go new file mode 100644 index 00000000..6c8c08a1 --- /dev/null +++ b/examples/chain/permissions/2_DeleteNamespace/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgDeleteNamespace{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/3_UpdateNamespace/example.go b/examples/chain/permissions/3_UpdateNamespace/example.go new file mode 100644 index 00000000..f6e85bd2 --- /dev/null +++ b/examples/chain/permissions/3_UpdateNamespace/example.go @@ -0,0 +1,77 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgUpdateNamespace{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + WasmHook: &permissionstypes.MsgUpdateNamespace_MsgSetWasmHook{NewValue: "inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m"}, + SendsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetSendsPaused{NewValue: true}, + MintsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetMintsPaused{NewValue: true}, + BurnsPaused: &permissionstypes.MsgUpdateNamespace_MsgSetBurnsPaused{NewValue: true}, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go new file mode 100644 index 00000000..7a8bfb61 --- /dev/null +++ b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go @@ -0,0 +1,90 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + msg := &permissionstypes.MsgUpdateNamespaceRoles{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + RolePermissions: []*permissionstypes.Role{ + { + Role: permissionstypes.EVERYONE, + Permissions: uint32(permissionstypes.Action_RECEIVE), + }, + { + Role: "blacklisted", + Permissions: 0, + }, + }, + AddressRoles: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go new file mode 100644 index 00000000..7c9f1449 --- /dev/null +++ b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go @@ -0,0 +1,80 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + blockedAddress := "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" + + msg := &permissionstypes.MsgRevokeNamespaceRoles{ + Sender: senderAddress.String(), + NamespaceDenom: namespaceDenom, + AddressRolesToRevoke: []*permissionstypes.AddressRoles{ + { + Address: blockedAddress, + Roles: []string{"blacklisted"}, + }, + }, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/6_ClaimVoucher/example.go b/examples/chain/permissions/6_ClaimVoucher/example.go new file mode 100644 index 00000000..82a15347 --- /dev/null +++ b/examples/chain/permissions/6_ClaimVoucher/example.go @@ -0,0 +1,73 @@ +package main + +import ( + "encoding/json" + "fmt" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + denom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + msg := &permissionstypes.MsgClaimVoucher{ + Sender: senderAddress.String(), + Denom: denom, + } + + //AsyncBroadcastMsg, SyncBroadcastMsg, QueueBroadcastMsg + response, err := chainClient.SyncBroadcastMsg(msg) + + if err != nil { + panic(err) + } + + str, _ := json.MarshalIndent(response, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/1_AllNamespaces/example.go b/examples/chain/permissions/query/1_AllNamespaces/example.go new file mode 100644 index 00000000..650477d2 --- /dev/null +++ b/examples/chain/permissions/query/1_AllNamespaces/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + + "os" + + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + ctx := context.Background() + + res, err := chainClient.FetchAllNamespaces(ctx) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) + +} diff --git a/examples/chain/permissions/query/2_NamespaceByDenom/example.go b/examples/chain/permissions/query/2_NamespaceByDenom/example.go new file mode 100644 index 00000000..e8bc93fb --- /dev/null +++ b/examples/chain/permissions/query/2_NamespaceByDenom/example.go @@ -0,0 +1,68 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + ctx := context.Background() + + res, err := chainClient.FetchNamespaceByDenom(ctx, namespaceDenom, true) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/3_AddressRoles/example.go b/examples/chain/permissions/query/3_AddressRoles/example.go new file mode 100644 index 00000000..943c2219 --- /dev/null +++ b/examples/chain/permissions/query/3_AddressRoles/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + address := senderAddress.String() + + ctx := context.Background() + + res, err := chainClient.FetchAddressRoles(ctx, namespaceDenom, address) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/4_AddressesByRole/example.go b/examples/chain/permissions/query/4_AddressesByRole/example.go new file mode 100644 index 00000000..3e916a42 --- /dev/null +++ b/examples/chain/permissions/query/4_AddressesByRole/example.go @@ -0,0 +1,69 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + namespaceDenom := "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + role := "blacklisted" + + ctx := context.Background() + + res, err := chainClient.FetchAddressesByRole(ctx, namespaceDenom, role) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} diff --git a/examples/chain/permissions/query/5_VouchersForAddress/example.go b/examples/chain/permissions/query/5_VouchersForAddress/example.go new file mode 100644 index 00000000..06be757e --- /dev/null +++ b/examples/chain/permissions/query/5_VouchersForAddress/example.go @@ -0,0 +1,68 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "github.com/InjectiveLabs/sdk-go/client" + chainclient "github.com/InjectiveLabs/sdk-go/client/chain" + "github.com/InjectiveLabs/sdk-go/client/common" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + "os" +) + +func main() { + network := common.LoadNetwork("devnet", "lb") + tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") + if err != nil { + panic(err) + } + + senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( + os.Getenv("HOME")+"/.injectived", + "injectived", + "file", + "inj-user", + "12345678", + "f9db9bf330e23cb7839039e944adef6e9df447b90b503d5b4464c90bea9022f3", // keyring will be used if pk not provided + false, + ) + + if err != nil { + panic(err) + } + + clientCtx, err := chainclient.NewClientContext( + network.ChainId, + senderAddress.String(), + cosmosKeyring, + ) + + if err != nil { + panic(err) + } + + clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) + + chainClient, err := chainclient.NewChainClient( + clientCtx, + network, + common.OptionGasPrices(client.DefaultGasPriceWithDenom), + ) + + if err != nil { + panic(err) + } + + address := senderAddress.String() + + ctx := context.Background() + + res, err := chainClient.FetchVouchersForAddress(ctx, address) + if err != nil { + fmt.Println(err) + } + + str, _ := json.MarshalIndent(res, "", " ") + fmt.Print(string(str)) +} From 88f1ced30554964fc399fd926b7aed38bb26c3b4 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:07:22 -0300 Subject: [PATCH 4/4] (fix) Added logic to ensure this branch is only used to interact with Devnet --- client/chain/chain.go | 7 ++ client/chain/chain_test.go | 4 +- client/chain/chain_test_support.go | 3 +- client/common/network.go | 96 ------------------- .../permissions/1_CreateNamespace/example.go | 3 +- .../permissions/2_DeleteNamespace/example.go | 3 +- .../permissions/3_UpdateNamespace/example.go | 3 +- .../4_UpdateNamespaceRoles/example.go | 3 +- .../5_RevokeNamespaceRoles/example.go | 3 +- .../permissions/6_ClaimVoucher/example.go | 3 +- .../query/2_NamespaceByDenom/example.go | 3 +- .../query/3_AddressRoles/example.go | 3 +- .../query/4_AddressesByRole/example.go | 3 +- .../query/5_VouchersForAddress/example.go | 3 +- 14 files changed, 31 insertions(+), 109 deletions(-) diff --git a/client/chain/chain.go b/client/chain/chain.go index 3f9f5a17..4f6f8301 100644 --- a/client/chain/chain.go +++ b/client/chain/chain.go @@ -774,6 +774,9 @@ func (c *chainClient) BuildSignedTx(clientCtx client.Context, accNum, accSeq, in } func (c *chainClient) buildSignedTx(clientCtx client.Context, txf tx.Factory, msgs ...sdk.Msg) ([]byte, error) { + if c.network.ChainId != "injective-777" { + panic("This versions of Go SDK should only be used with Devnet environment") + } ctx := context.Background() if clientCtx.Simulate { simTxBytes, err := txf.BuildSimTx(msgs...) @@ -885,6 +888,10 @@ func (c *chainClient) broadcastTx( await bool, msgs ...sdk.Msg, ) (*txtypes.BroadcastTxResponse, error) { + if c.network.ChainId != "injective-777" { + panic("This versions of Go SDK should only be used with Devnet environment") + } + txBytes, err := c.buildSignedTx(clientCtx, txf, msgs...) if err != nil { err = errors.Wrap(err, "failed to build signed Tx") diff --git a/client/chain/chain_test.go b/client/chain/chain_test.go index f3845e06..0016f37f 100644 --- a/client/chain/chain_test.go +++ b/client/chain/chain_test.go @@ -52,7 +52,7 @@ func createClient(senderAddress cosmtypes.AccAddress, cosmosKeyring keyring.Keyr } func TestDefaultSubaccount(t *testing.T) { - network := common.LoadNetwork("testnet", "lb") + network := common.LoadNetwork("devnet", "lb") senderAddress, cosmosKeyring, err := accountForTests() if err != nil { @@ -75,7 +75,7 @@ func TestDefaultSubaccount(t *testing.T) { } func TestGetSubaccountWithIndex(t *testing.T) { - network := common.LoadNetwork("testnet", "lb") + network := common.LoadNetwork("devnet", "lb") senderAddress, cosmosKeyring, err := accountForTests() if err != nil { diff --git a/client/chain/chain_test_support.go b/client/chain/chain_test_support.go index bf7e2a66..1d8df620 100644 --- a/client/chain/chain_test_support.go +++ b/client/chain/chain_test_support.go @@ -3,9 +3,10 @@ package chain import ( "context" "errors" - permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "time" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" + sdkmath "cosmossdk.io/math" "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice" diff --git a/client/common/network.go b/client/common/network.go index 4714f997..e7b62672 100644 --- a/client/common/network.go +++ b/client/common/network.go @@ -2,7 +2,6 @@ package common import ( "context" - "crypto/tls" "fmt" "net" "net/http" @@ -256,101 +255,6 @@ func LoadNetwork(name, node string) Network { ExplorerCookieAssistant: &DisabledCookieAssistant{}, OfficialTokensListURL: DevnetTokensListURL, } - case "testnet": - validNodes := []string{"lb", "sentry"} - if !contains(validNodes, node) { - panic(fmt.Sprintf("invalid node %s for %s", node, name)) - } - - var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials - var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant - if node == "lb" { - lcdEndpoint = "https://testnet.sentry.lcd.injective.network:443" - tmEndpoint = "https://testnet.sentry.tm.injective.network:443" - chainGrpcEndpoint = "testnet.sentry.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "testnet.sentry.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "testnet.sentry.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "testnet.sentry.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - } else if node == "sentry" { - lcdEndpoint = "https://testnet.lcd.injective.network:443" - tmEndpoint = "https://testnet.tm.injective.network:443" - chainGrpcEndpoint = "testnet.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "testnet.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "testnet.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "testnet.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &DisabledCookieAssistant{} - exchangeCookieAssistant = &DisabledCookieAssistant{} - explorerCookieAssistant = &DisabledCookieAssistant{} - } - - return Network{ - LcdEndpoint: lcdEndpoint, - TmEndpoint: tmEndpoint, - ChainGrpcEndpoint: chainGrpcEndpoint, - ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTLSCert: chainTLSCert, - ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTLSCert: exchangeTLSCert, - ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTLSCert: explorerTLSCert, - ChainId: "injective-888", - FeeDenom: "inj", - Name: "testnet", - ChainCookieAssistant: chainCookieAssistant, - ExchangeCookieAssistant: exchangeCookieAssistant, - ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListURL: TestnetTokensListURL, - } - case "mainnet": - validNodes := []string{"lb"} - if !contains(validNodes, node) { - panic(fmt.Sprintf("invalid node %s for %s", node, name)) - } - var lcdEndpoint, tmEndpoint, chainGrpcEndpoint, chainStreamGrpcEndpoint, exchangeGrpcEndpoint, explorerGrpcEndpoint string - var chainTLSCert, exchangeTLSCert, explorerTLSCert credentials.TransportCredentials - var chainCookieAssistant, exchangeCookieAssistant, explorerCookieAssistant CookieAssistant - - lcdEndpoint = "https://sentry.lcd.injective.network" - tmEndpoint = "https://sentry.tm.injective.network:443" - chainGrpcEndpoint = "sentry.chain.grpc.injective.network:443" - chainStreamGrpcEndpoint = "sentry.chain.stream.injective.network:443" - exchangeGrpcEndpoint = "sentry.exchange.grpc.injective.network:443" - explorerGrpcEndpoint = "sentry.explorer.grpc.injective.network:443" - chainTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - exchangeTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - explorerTLSCert = credentials.NewServerTLSFromCert(&tls.Certificate{}) - chainCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - exchangeCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - explorerCookieAssistant = &BareMetalLoadBalancedCookieAssistant{} - - return Network{ - LcdEndpoint: lcdEndpoint, - TmEndpoint: tmEndpoint, - ChainGrpcEndpoint: chainGrpcEndpoint, - ChainStreamGrpcEndpoint: chainStreamGrpcEndpoint, - ChainTLSCert: chainTLSCert, - ExchangeGrpcEndpoint: exchangeGrpcEndpoint, - ExchangeTLSCert: exchangeTLSCert, - ExplorerGrpcEndpoint: explorerGrpcEndpoint, - ExplorerTLSCert: explorerTLSCert, - ChainId: "injective-1", - FeeDenom: "inj", - Name: "mainnet", - ChainCookieAssistant: chainCookieAssistant, - ExchangeCookieAssistant: exchangeCookieAssistant, - ExplorerCookieAssistant: explorerCookieAssistant, - OfficialTokensListURL: MainnetTokensListURL, - } default: panic(fmt.Sprintf("invalid network %s", name)) diff --git a/examples/chain/permissions/1_CreateNamespace/example.go b/examples/chain/permissions/1_CreateNamespace/example.go index c7354033..540d2a9b 100644 --- a/examples/chain/permissions/1_CreateNamespace/example.go +++ b/examples/chain/permissions/1_CreateNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/2_DeleteNamespace/example.go b/examples/chain/permissions/2_DeleteNamespace/example.go index 6c8c08a1..611f569e 100644 --- a/examples/chain/permissions/2_DeleteNamespace/example.go +++ b/examples/chain/permissions/2_DeleteNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/3_UpdateNamespace/example.go b/examples/chain/permissions/3_UpdateNamespace/example.go index f6e85bd2..2fd48eaf 100644 --- a/examples/chain/permissions/3_UpdateNamespace/example.go +++ b/examples/chain/permissions/3_UpdateNamespace/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go index 7a8bfb61..62941e9d 100644 --- a/examples/chain/permissions/4_UpdateNamespaceRoles/example.go +++ b/examples/chain/permissions/4_UpdateNamespaceRoles/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go index 7c9f1449..3bc62f57 100644 --- a/examples/chain/permissions/5_RevokeNamespaceRoles/example.go +++ b/examples/chain/permissions/5_RevokeNamespaceRoles/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/6_ClaimVoucher/example.go b/examples/chain/permissions/6_ClaimVoucher/example.go index 82a15347..3af4da11 100644 --- a/examples/chain/permissions/6_ClaimVoucher/example.go +++ b/examples/chain/permissions/6_ClaimVoucher/example.go @@ -3,12 +3,13 @@ package main import ( "encoding/json" "fmt" + "os" + permissionstypes "github.com/InjectiveLabs/sdk-go/chain/permissions/types" "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/2_NamespaceByDenom/example.go b/examples/chain/permissions/query/2_NamespaceByDenom/example.go index e8bc93fb..69efeb11 100644 --- a/examples/chain/permissions/query/2_NamespaceByDenom/example.go +++ b/examples/chain/permissions/query/2_NamespaceByDenom/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/3_AddressRoles/example.go b/examples/chain/permissions/query/3_AddressRoles/example.go index 943c2219..17fe06a0 100644 --- a/examples/chain/permissions/query/3_AddressRoles/example.go +++ b/examples/chain/permissions/query/3_AddressRoles/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/4_AddressesByRole/example.go b/examples/chain/permissions/query/4_AddressesByRole/example.go index 3e916a42..ca2b3f7f 100644 --- a/examples/chain/permissions/query/4_AddressesByRole/example.go +++ b/examples/chain/permissions/query/4_AddressesByRole/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() { diff --git a/examples/chain/permissions/query/5_VouchersForAddress/example.go b/examples/chain/permissions/query/5_VouchersForAddress/example.go index 06be757e..fe7b9d96 100644 --- a/examples/chain/permissions/query/5_VouchersForAddress/example.go +++ b/examples/chain/permissions/query/5_VouchersForAddress/example.go @@ -4,11 +4,12 @@ import ( "context" "encoding/json" "fmt" + "os" + "github.com/InjectiveLabs/sdk-go/client" chainclient "github.com/InjectiveLabs/sdk-go/client/chain" "github.com/InjectiveLabs/sdk-go/client/common" rpchttp "github.com/cometbft/cometbft/rpc/client/http" - "os" ) func main() {