From d5e3882eab97a36d97d00115df5bc9d28cb43975 Mon Sep 17 00:00:00 2001 From: Keefer Taylor | Tessellated Date: Thu, 18 May 2023 13:49:37 -0700 Subject: [PATCH 01/58] Better Error Messaging when failing to query the Block Height (#1189) * better block data errors * remove redundant field --- docs/troubleshooting.md | 11 +++++++++++ relayer/chains/cosmos/cosmos_chain_processor.go | 6 +++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index dbfac01dc..75f46195e 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -53,6 +53,17 @@ it will be helpful to provide the output from `http://localhost:7597/debug/pprof --- +**Error querying blockdata** + +The relayer looks back in time at historical transactions and needs to have an index of them. + +Specifically check `~/./config/config.toml` has the following fields set: +```toml +indexer = "kv" +index_all_tags = true +``` +--- + **Error building or broadcasting transaction** When preparing a transaction for relaying, the amount of gas that the transaction will consume is unknown. To compute how much gas the transaction will need, the transaction is prepared with 0 gas and delivered as a `/cosmos.tx.v1beta1.Service/Simulate` query to the RPC endpoint. Recently chains have been creating AnteHandlers in which 0 gas triggers an error case: diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index 1feb92124..e5de5f2bc 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -381,7 +381,11 @@ func (ccp *CosmosChainProcessor) queryCycle(ctx context.Context, persistence *qu }) if err := eg.Wait(); err != nil { - ccp.log.Warn("Error querying block data", zap.Error(err)) + ccp.log.Warn( + "Could not query block data. Consider checking if your RPC node is online, and that transaction indexing is enabled.", + zap.Int64("height", i), + ) + ccp.log.Debug("Error querying block data", zap.Error(err)) persistence.retriesAtLatestQueriedBlock++ if persistence.retriesAtLatestQueriedBlock >= blockMaxRetries { From debdee72d008e5d1f93c0158a1d66baa120bba3f Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Fri, 19 May 2023 08:19:15 -0700 Subject: [PATCH 02/58] penumbra: update protos (#1181) Matches the latest protos shipped with the Penumbra Testnet 52. Co-authored-by: Conor Schaefer Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- .../penumbra/core/chain/v1alpha1/chain.pb.go | 245 +- .../core/crypto/v1alpha1/crypto.pb.go | 1582 +++++++-- .../penumbra/core/dex/v1alpha1/dex.pb.go | 639 ++-- .../penumbra/core/stake/v1alpha1/stake.pb.go | 1 - .../transaction/v1alpha1/transaction.pb.go | 366 +- .../chains/penumbra/view/v1alpha1/view.pb.go | 3065 ++++------------- 6 files changed, 2684 insertions(+), 3214 deletions(-) diff --git a/relayer/chains/penumbra/core/chain/v1alpha1/chain.pb.go b/relayer/chains/penumbra/core/chain/v1alpha1/chain.pb.go index 2d6cf9a53..1a6f00258 100644 --- a/relayer/chains/penumbra/core/chain/v1alpha1/chain.pb.go +++ b/relayer/chains/penumbra/core/chain/v1alpha1/chain.pb.go @@ -54,7 +54,7 @@ type ChainParameters struct { // The number of blocks during which a proposal is voted on. ProposalVotingBlocks uint64 `protobuf:"varint,20,opt,name=proposal_voting_blocks,json=proposalVotingBlocks,proto3" json:"proposal_voting_blocks,omitempty"` // The deposit required to create a proposal. - ProposalDepositAmount uint64 `protobuf:"varint,21,opt,name=proposal_deposit_amount,json=proposalDepositAmount,proto3" json:"proposal_deposit_amount,omitempty"` + ProposalDepositAmount *v1alpha1.Amount `protobuf:"bytes,21,opt,name=proposal_deposit_amount,json=proposalDepositAmount,proto3" json:"proposal_deposit_amount,omitempty"` // The quorum required for a proposal to be considered valid, as a fraction of the total stake // weight of the network. ProposalValidQuorum string `protobuf:"bytes,22,opt,name=proposal_valid_quorum,json=proposalValidQuorum,proto3" json:"proposal_valid_quorum,omitempty"` @@ -191,11 +191,11 @@ func (m *ChainParameters) GetProposalVotingBlocks() uint64 { return 0 } -func (m *ChainParameters) GetProposalDepositAmount() uint64 { +func (m *ChainParameters) GetProposalDepositAmount() *v1alpha1.Amount { if m != nil { return m.ProposalDepositAmount } - return 0 + return nil } func (m *ChainParameters) GetProposalValidQuorum() string { @@ -1105,105 +1105,105 @@ func init() { } var fileDescriptor_b0cedb8b84ba3224 = []byte{ - // 1553 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x5b, 0x6f, 0x23, 0x49, - 0x15, 0x8e, 0x73, 0xf7, 0xb1, 0x93, 0x0c, 0xb5, 0x73, 0xe9, 0x09, 0x21, 0x93, 0xb5, 0x76, 0xc0, - 0x33, 0x2b, 0x6c, 0x36, 0xbb, 0x82, 0x95, 0x97, 0x45, 0x93, 0xcb, 0x90, 0x19, 0xed, 0xce, 0xac, - 0xb7, 0xb2, 0x04, 0x34, 0x8a, 0xd4, 0x2a, 0x77, 0x57, 0xe2, 0xd2, 0x74, 0x57, 0x35, 0x5d, 0xd5, - 0xb9, 0xbc, 0x83, 0xc4, 0x23, 0xbf, 0x01, 0xde, 0x78, 0x40, 0xe2, 0x5f, 0x20, 0x24, 0xa4, 0x7d, - 0x44, 0x3c, 0xa1, 0xcc, 0x1b, 0x4f, 0xfc, 0x04, 0x54, 0xa7, 0xfa, 0x62, 0x9b, 0xc5, 0x99, 0x20, - 0xde, 0x5c, 0xe7, 0x7c, 0xdf, 0x57, 0xa7, 0x4e, 0xd5, 0x39, 0xa7, 0x0d, 0xed, 0x84, 0xcb, 0x2c, - 0x1e, 0xa4, 0xac, 0x1b, 0xa8, 0x94, 0x77, 0x83, 0x21, 0x13, 0xb2, 0x7b, 0xf6, 0x01, 0x8b, 0x92, - 0x21, 0xfb, 0xc0, 0x2d, 0x3b, 0x49, 0xaa, 0x8c, 0x22, 0x1b, 0x05, 0xb2, 0x63, 0x91, 0x1d, 0xe7, - 0x2a, 0x90, 0xeb, 0x8f, 0x27, 0x74, 0xd2, 0xcb, 0xc4, 0xa8, 0x11, 0x21, 0x5c, 0x3b, 0xa5, 0xf5, - 0x89, 0x3d, 0xb5, 0x61, 0xaf, 0x79, 0x05, 0xc5, 0x65, 0x8e, 0x7c, 0x6f, 0x1c, 0x19, 0xf2, 0x8b, - 0x0a, 0x17, 0xf2, 0x0b, 0x87, 0x6a, 0xfd, 0x75, 0x09, 0xd6, 0xf6, 0x6c, 0x38, 0x7d, 0x96, 0xb2, - 0x98, 0x1b, 0x9e, 0x6a, 0x72, 0x1f, 0x96, 0x31, 0x42, 0x5f, 0x84, 0x5e, 0x6d, 0xab, 0xd6, 0xae, - 0xd3, 0x25, 0x5c, 0x3f, 0x0f, 0xc9, 0x43, 0x58, 0xe5, 0x89, 0x0a, 0x86, 0x7e, 0x98, 0xa5, 0xcc, - 0x08, 0x25, 0xbd, 0xd9, 0xad, 0x5a, 0x7b, 0x9e, 0xae, 0xa0, 0x75, 0x3f, 0x37, 0x92, 0x47, 0x70, - 0x2b, 0x93, 0x03, 0x25, 0x43, 0x21, 0x4f, 0x7d, 0x74, 0x69, 0x6f, 0x0e, 0x81, 0x6b, 0xa5, 0xfd, - 0x29, 0x9a, 0xc9, 0x47, 0x70, 0x97, 0x05, 0x46, 0x9c, 0x71, 0xff, 0x8c, 0x45, 0x22, 0x64, 0x46, - 0xa5, 0x7e, 0x24, 0x62, 0x61, 0xbc, 0x79, 0x24, 0xdc, 0x76, 0xde, 0xa3, 0xc2, 0xf9, 0xb9, 0xf5, - 0x91, 0x36, 0xdc, 0x1a, 0x30, 0xcd, 0xfd, 0x94, 0x9f, 0xb3, 0x34, 0xf4, 0x53, 0x66, 0xb8, 0x57, - 0x47, 0xfc, 0xaa, 0xb5, 0x53, 0x34, 0x53, 0x66, 0x38, 0x79, 0x02, 0x1b, 0x3a, 0x62, 0x7a, 0x68, - 0x23, 0x49, 0xb8, 0x64, 0x91, 0xb9, 0xf4, 0x63, 0xa1, 0x07, 0x7c, 0xc8, 0xce, 0x84, 0x4a, 0xbd, - 0x05, 0x64, 0xad, 0x17, 0x98, 0xbe, 0x83, 0xbc, 0xa8, 0x10, 0xa4, 0x07, 0xf7, 0xff, 0x43, 0x21, - 0x54, 0xe7, 0xd2, 0x88, 0x98, 0x7b, 0x80, 0xf4, 0x7b, 0x13, 0xf4, 0xfd, 0xdc, 0x4d, 0x7e, 0x04, - 0x9e, 0x16, 0xa7, 0x92, 0x87, 0xfe, 0x20, 0x52, 0xc1, 0x6b, 0xed, 0x9f, 0x0b, 0x19, 0xaa, 0x73, - 0x3f, 0xe2, 0xd2, 0x6b, 0x20, 0xf5, 0x8e, 0xf3, 0xef, 0xa2, 0xfb, 0xe7, 0xe8, 0xfd, 0x9c, 0x4b, - 0xb2, 0x0d, 0x77, 0x62, 0xa1, 0x75, 0x45, 0x8c, 0xd9, 0x85, 0x88, 0xb3, 0xd8, 0x6b, 0x22, 0xeb, - 0x1d, 0xe7, 0x74, 0xac, 0x17, 0xce, 0x45, 0x1e, 0x40, 0x43, 0x0c, 0x02, 0x9f, 0x4b, 0x36, 0x88, - 0x78, 0xe8, 0x2d, 0x6e, 0xd5, 0xda, 0xcb, 0x14, 0xc4, 0x20, 0x78, 0xea, 0x2c, 0xe4, 0x29, 0x3c, - 0x10, 0x72, 0xa0, 0x32, 0x19, 0xfa, 0x22, 0xd0, 0xdb, 0x3f, 0xf0, 0x4d, 0xca, 0xa4, 0x3e, 0xe1, - 0xa9, 0x2e, 0x49, 0x4b, 0x48, 0xda, 0xc8, 0x61, 0xcf, 0x2d, 0xea, 0xab, 0x02, 0x54, 0xc8, 0x1c, - 0xc0, 0x96, 0xca, 0xcc, 0x74, 0x9d, 0x65, 0xd4, 0xf9, 0x4e, 0x81, 0xfb, 0x66, 0xa1, 0x8f, 0xe0, - 0x6e, 0x92, 0xaa, 0x44, 0x69, 0x16, 0xf9, 0x67, 0xca, 0xd8, 0x04, 0xbb, 0xd3, 0x7a, 0xb7, 0xdd, - 0xdd, 0x17, 0xde, 0x23, 0x74, 0xba, 0xd3, 0x92, 0x1f, 0xc2, 0xbd, 0x92, 0x15, 0xf2, 0x44, 0x69, - 0x61, 0x7c, 0x16, 0xab, 0x4c, 0x1a, 0xef, 0x8e, 0x4b, 0x69, 0xe1, 0xde, 0x77, 0xde, 0x1d, 0x74, - 0xda, 0x94, 0x56, 0xbb, 0xd9, 0xe7, 0xe4, 0xff, 0x32, 0x53, 0x69, 0x16, 0x7b, 0x77, 0xf1, 0x8d, - 0xbf, 0x53, 0x6e, 0x66, 0x7d, 0x5f, 0xa2, 0x6b, 0x6c, 0xaf, 0x84, 0x69, 0xed, 0x9b, 0x61, 0xca, - 0xf5, 0x50, 0x45, 0xa1, 0x77, 0x0f, 0x59, 0xa5, 0x64, 0x9f, 0x69, 0xfd, 0x55, 0xe1, 0x24, 0x1f, - 0x83, 0x57, 0xf2, 0xf0, 0x6d, 0x8c, 0x10, 0x3d, 0x24, 0x96, 0x27, 0x3f, 0xb4, 0xee, 0x8a, 0xf9, - 0x29, 0x7c, 0x3b, 0x64, 0xca, 0xd7, 0x09, 0x97, 0xa1, 0x5f, 0x60, 0xaa, 0xbc, 0xde, 0xc7, 0xbc, - 0x7a, 0x21, 0x53, 0x87, 0x16, 0xd1, 0x2f, 0x00, 0x79, 0x4a, 0x5b, 0x07, 0xb0, 0x40, 0x6d, 0x0d, - 0x92, 0x0d, 0xa8, 0xcb, 0x2c, 0xe6, 0xa9, 0xad, 0x19, 0xac, 0xe2, 0x79, 0x5a, 0x19, 0xc8, 0x16, - 0x34, 0x42, 0x2e, 0x55, 0x2c, 0x24, 0xfa, 0x5d, 0x11, 0x8f, 0x9a, 0x5a, 0x01, 0xac, 0xfc, 0x34, - 0x0e, 0x47, 0xba, 0xc2, 0x43, 0x58, 0x4d, 0x52, 0x1e, 0x08, 0x2d, 0x94, 0xf4, 0x07, 0xc2, 0x68, - 0x54, 0x5d, 0xa1, 0x2b, 0xa5, 0x75, 0x57, 0x18, 0x4d, 0xde, 0x07, 0xc2, 0xb4, 0xaf, 0x4e, 0xdc, - 0x4d, 0xfa, 0x43, 0x2e, 0x4e, 0x87, 0x26, 0xdf, 0x60, 0x8d, 0xe9, 0x2f, 0x4e, 0xf0, 0x16, 0x9f, - 0xa1, 0xb9, 0xf5, 0xf7, 0x1a, 0xd4, 0x77, 0xb4, 0xe6, 0xe6, 0xb9, 0x3c, 0x51, 0x64, 0x07, 0x96, - 0x99, 0x5d, 0x14, 0x7d, 0xa7, 0xb1, 0xfd, 0xdd, 0xce, 0x44, 0xe3, 0x74, 0xad, 0xb0, 0xe8, 0x63, - 0x1d, 0xc7, 0x0d, 0xe9, 0x12, 0x73, 0x3f, 0x48, 0x0f, 0x16, 0xf0, 0x10, 0xb8, 0x61, 0x63, 0xfb, - 0xbd, 0x6b, 0xf8, 0xfb, 0x16, 0x4b, 0x1d, 0xe5, 0xbf, 0x44, 0x3e, 0xf7, 0x8d, 0x91, 0x93, 0x77, - 0xa1, 0x69, 0x94, 0xb1, 0xb7, 0x9b, 0x25, 0x49, 0x74, 0x99, 0x37, 0xab, 0x06, 0xda, 0x0e, 0xd1, - 0xd4, 0xfa, 0xd5, 0x02, 0x34, 0xf7, 0x54, 0x9c, 0xb0, 0xc0, 0x20, 0x93, 0xdc, 0x85, 0xc5, 0x5c, - 0xd4, 0xdd, 0x47, 0xbe, 0x22, 0x5f, 0xc2, 0xaa, 0x36, 0xcc, 0x70, 0x3f, 0x61, 0x97, 0x91, 0x62, - 0xa1, 0xf6, 0x66, 0xb7, 0xe6, 0xda, 0x8d, 0xed, 0xc7, 0x9d, 0x69, 0x63, 0xa3, 0x73, 0x68, 0x39, - 0x7d, 0x47, 0xa1, 0x2b, 0x7a, 0x64, 0xa5, 0xc9, 0x33, 0x00, 0x99, 0x45, 0x91, 0x38, 0x11, 0x3c, - 0xb5, 0xad, 0xd7, 0xca, 0xb5, 0xaf, 0x49, 0xc6, 0xcb, 0x82, 0x40, 0x47, 0xb8, 0x56, 0xc9, 0xe5, - 0x23, 0x55, 0xca, 0xf5, 0xe4, 0xc6, 0xf6, 0xa3, 0x6b, 0x94, 0x5e, 0xf0, 0xf4, 0x75, 0xc4, 0xa9, - 0x52, 0x86, 0xd6, 0x91, 0x6c, 0x7f, 0x5a, 0x25, 0x37, 0x3b, 0x50, 0xe9, 0x5b, 0x37, 0x56, 0x42, - 0x32, 0x2a, 0x3d, 0x82, 0x5b, 0x55, 0x75, 0x19, 0x96, 0x1a, 0x1e, 0x62, 0xc7, 0x58, 0xa6, 0x6b, - 0x65, 0x55, 0x39, 0x33, 0xa1, 0xb0, 0x7a, 0x12, 0x87, 0x7e, 0x52, 0xbe, 0x63, 0x2f, 0xc4, 0x8d, - 0xdf, 0x9f, 0x9e, 0xdb, 0xb1, 0xa7, 0x4f, 0x57, 0x4e, 0xc6, 0x2a, 0x81, 0x42, 0x53, 0x9f, 0xb3, - 0xc4, 0x57, 0x99, 0x49, 0x32, 0xa3, 0xbd, 0x05, 0x4c, 0x6f, 0x77, 0x42, 0xd1, 0xce, 0xd8, 0x52, - 0x6f, 0x97, 0x99, 0x60, 0x78, 0x78, 0xce, 0x92, 0x2f, 0x90, 0xb3, 0xcf, 0x0c, 0xa3, 0x0d, 0x5d, - 0xae, 0x35, 0xf9, 0x05, 0xdc, 0x72, 0x33, 0x77, 0x24, 0xd2, 0x45, 0x8c, 0xf4, 0xfb, 0xd3, 0x23, - 0x9d, 0x18, 0xde, 0x74, 0x2d, 0x18, 0x37, 0xb4, 0xfe, 0x35, 0x0f, 0xcd, 0xd1, 0xa7, 0x42, 0x28, - 0xd4, 0x53, 0x15, 0x45, 0x3c, 0xf4, 0xb3, 0x24, 0xaf, 0xb3, 0x0f, 0xdf, 0xfe, 0xa5, 0x75, 0x28, - 0x72, 0x7f, 0x96, 0x3c, 0x9b, 0xa1, 0xcb, 0x69, 0xfe, 0x9b, 0x3c, 0x85, 0x79, 0xa9, 0x0c, 0xcf, - 0xcb, 0xae, 0x7b, 0x03, 0xb9, 0x97, 0xca, 0xf0, 0x67, 0x33, 0x14, 0xe9, 0x56, 0xc6, 0x26, 0x05, - 0x8b, 0xee, 0x66, 0x32, 0x36, 0xb7, 0x56, 0xc6, 0xd2, 0xd7, 0x5f, 0xc1, 0x72, 0x11, 0x25, 0x79, - 0x09, 0x10, 0xa8, 0x38, 0x16, 0x26, 0xe6, 0xd2, 0xe4, 0xc7, 0xed, 0x5c, 0xf3, 0xea, 0x50, 0x79, - 0xaf, 0x64, 0xd1, 0x11, 0x85, 0xf5, 0xdf, 0xd4, 0x60, 0xde, 0xc6, 0x4c, 0x9e, 0xc0, 0xa2, 0x56, - 0x59, 0x1a, 0xf0, 0x5c, 0xb4, 0x3d, 0x3d, 0x5a, 0xcb, 0x39, 0x44, 0x3c, 0xcd, 0x79, 0xe4, 0x27, - 0x63, 0x49, 0x7b, 0x7c, 0x5d, 0x79, 0xaa, 0xaa, 0xda, 0x91, 0xb7, 0xfe, 0xeb, 0x1a, 0xcc, 0xdb, - 0x73, 0xff, 0x1f, 0x42, 0xf9, 0x24, 0x4f, 0xbc, 0x0b, 0xe5, 0x7b, 0xd3, 0x9e, 0xb2, 0xdd, 0xb1, - 0x8c, 0xc3, 0x92, 0x76, 0xd7, 0x60, 0x65, 0xac, 0x7f, 0xb5, 0x3e, 0x83, 0xc6, 0x67, 0x52, 0x9d, - 0x4b, 0x6c, 0xcf, 0x9a, 0xfc, 0x18, 0x16, 0xb1, 0x3f, 0xdb, 0x89, 0x31, 0xf7, 0x16, 0x5d, 0x19, - 0x69, 0x34, 0xe7, 0xb4, 0x5a, 0x00, 0x55, 0xc0, 0xe4, 0x36, 0x2c, 0x08, 0x29, 0xb9, 0x1b, 0x69, - 0x4d, 0xea, 0x16, 0xad, 0x4b, 0xa8, 0xe3, 0x38, 0xc4, 0x31, 0xf2, 0x1c, 0x1a, 0x36, 0x3d, 0xfe, - 0xff, 0x98, 0x12, 0x90, 0xd5, 0x6e, 0xef, 0x42, 0xd3, 0x0d, 0xe2, 0xb1, 0x31, 0xd6, 0x40, 0x5b, - 0x3e, 0xc2, 0xfe, 0x38, 0x07, 0x6b, 0x07, 0x5c, 0x72, 0x2d, 0xf4, 0x4e, 0x92, 0xe0, 0xcb, 0x21, - 0x7d, 0x68, 0x8e, 0x14, 0xb3, 0xce, 0x43, 0xb8, 0x61, 0x21, 0x37, 0xaa, 0x42, 0xd6, 0xe4, 0x00, - 0xa0, 0xfc, 0x3c, 0x2e, 0xc6, 0xc3, 0xe4, 0x2d, 0xb9, 0x8f, 0xff, 0x52, 0xaf, 0xfc, 0x62, 0xa6, - 0x23, 0x54, 0xf2, 0x0a, 0x1a, 0x2c, 0x8a, 0x54, 0x80, 0xdf, 0xe9, 0xc5, 0x64, 0xf8, 0x78, 0x7a, - 0x64, 0x13, 0xc7, 0xeb, 0xec, 0x94, 0x02, 0x74, 0x54, 0x6c, 0xfd, 0xf7, 0x35, 0x80, 0xca, 0x47, - 0x3e, 0x85, 0xc5, 0xfc, 0xb3, 0xcc, 0x9d, 0xff, 0xe1, 0x75, 0xd7, 0x8e, 0x60, 0x9a, 0x93, 0xec, - 0x4d, 0x57, 0xa3, 0xbc, 0x5e, 0x0c, 0xe9, 0x27, 0xb0, 0xc4, 0xc2, 0x30, 0xe5, 0x5a, 0xe7, 0x4d, - 0xe2, 0xda, 0x4f, 0x04, 0x87, 0xa6, 0x05, 0xad, 0xf5, 0x04, 0x16, 0xf0, 0xaf, 0x87, 0x7b, 0x4a, - 0x21, 0xbf, 0xc8, 0xa7, 0xb1, 0x5b, 0xe0, 0x95, 0xdb, 0xd9, 0x31, 0x79, 0xe5, 0xd6, 0xe6, 0xae, - 0x7c, 0xf7, 0x4f, 0xb3, 0x7f, 0xbe, 0xda, 0xac, 0x7d, 0x7d, 0xb5, 0x59, 0xfb, 0xc7, 0xd5, 0x66, - 0xed, 0xb7, 0x6f, 0x36, 0x67, 0xbe, 0x7e, 0xb3, 0x39, 0xf3, 0xb7, 0x37, 0x9b, 0x33, 0xb0, 0x15, - 0xa8, 0x78, 0x6a, 0x32, 0x77, 0xc1, 0xdd, 0xb3, 0xfd, 0xf3, 0xd5, 0xaf, 0xbd, 0x3a, 0x3a, 0x15, - 0x66, 0x98, 0x0d, 0x3a, 0x81, 0x8a, 0xbb, 0x81, 0xd2, 0xb1, 0xd2, 0xdd, 0x94, 0x47, 0xec, 0x92, - 0xa7, 0xdd, 0xb3, 0xed, 0xf2, 0x27, 0x4a, 0xe8, 0xee, 0xb4, 0xbf, 0x9b, 0x9f, 0xe0, 0xb2, 0x58, - 0xfd, 0x6e, 0x76, 0xae, 0xbf, 0xb7, 0xf7, 0x87, 0xd9, 0x8d, 0x7e, 0x11, 0xca, 0x9e, 0x0d, 0x05, - 0xb7, 0xee, 0x1c, 0xe5, 0xa0, 0xbf, 0x54, 0xee, 0x63, 0xeb, 0x3e, 0x46, 0xf7, 0x71, 0xe1, 0xbe, - 0x9a, 0x6d, 0x4f, 0x73, 0x1f, 0x1f, 0xf4, 0x77, 0x5f, 0x70, 0xc3, 0x42, 0x66, 0xd8, 0x3f, 0x67, - 0x1f, 0x14, 0xd0, 0x5e, 0xcf, 0x62, 0x7b, 0x3d, 0x04, 0xf7, 0x7a, 0x05, 0x7a, 0xb0, 0x88, 0x7f, - 0x37, 0x3f, 0xfc, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaf, 0xae, 0x76, 0x40, 0x34, 0x0f, 0x00, - 0x00, + // 1561 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4b, 0x8f, 0x24, 0x47, + 0x11, 0x9e, 0x9e, 0x77, 0x47, 0xf7, 0xcc, 0x2c, 0xe9, 0x7d, 0xd4, 0x0e, 0xc3, 0x6c, 0xbb, 0xe5, + 0x85, 0xde, 0xb5, 0xe8, 0xc6, 0x6d, 0x0b, 0xac, 0x36, 0x46, 0x3b, 0x8f, 0x65, 0x76, 0x65, 0xef, + 0xba, 0x9d, 0x63, 0x16, 0xb4, 0x5a, 0x54, 0xca, 0xae, 0xca, 0x99, 0x4e, 0x6d, 0x55, 0x66, 0x51, + 0x99, 0x35, 0x8f, 0x3b, 0x48, 0x1c, 0xf9, 0x0d, 0x70, 0xe3, 0x80, 0xc4, 0xbf, 0x40, 0x9c, 0x7c, + 0x44, 0x9c, 0xd0, 0xec, 0x8d, 0x13, 0x07, 0x7e, 0x00, 0xca, 0xc8, 0x7a, 0xf4, 0x34, 0xa6, 0xc7, + 0x83, 0x7c, 0xab, 0x8c, 0xf8, 0xbe, 0x2f, 0xa3, 0x22, 0x32, 0x32, 0xaa, 0xa0, 0x93, 0x70, 0x99, + 0xc5, 0xa3, 0x94, 0xf5, 0x02, 0x95, 0xf2, 0x5e, 0x30, 0x66, 0x42, 0xf6, 0x4e, 0xde, 0x63, 0x51, + 0x32, 0x66, 0xef, 0xb9, 0x65, 0x37, 0x49, 0x95, 0x51, 0x64, 0xab, 0x40, 0x76, 0x2d, 0xb2, 0xeb, + 0x5c, 0x05, 0x72, 0xf3, 0xe1, 0x94, 0x4e, 0x7a, 0x9e, 0x18, 0x35, 0x21, 0x84, 0x6b, 0xa7, 0xb4, + 0x39, 0xb5, 0xa7, 0x36, 0xec, 0x35, 0xaf, 0xa0, 0xb8, 0xcc, 0x91, 0xef, 0x5c, 0x46, 0x86, 0xfc, + 0xac, 0xc2, 0x85, 0xfc, 0xcc, 0xa1, 0xda, 0xff, 0x5e, 0x81, 0x8d, 0x3d, 0x1b, 0xce, 0x90, 0xa5, + 0x2c, 0xe6, 0x86, 0xa7, 0x9a, 0xdc, 0x85, 0x55, 0x8c, 0xd0, 0x17, 0xa1, 0x57, 0x6b, 0xd5, 0x3a, + 0x75, 0xba, 0x82, 0xeb, 0xa7, 0x21, 0xb9, 0x0f, 0xeb, 0x3c, 0x51, 0xc1, 0xd8, 0x0f, 0xb3, 0x94, + 0x19, 0xa1, 0xa4, 0x37, 0xdf, 0xaa, 0x75, 0x16, 0xe9, 0x1a, 0x5a, 0xf7, 0x73, 0x23, 0x79, 0x00, + 0x37, 0x32, 0x39, 0x52, 0x32, 0x14, 0xf2, 0xd8, 0x47, 0x97, 0xf6, 0x16, 0x10, 0xb8, 0x51, 0xda, + 0x1f, 0xa3, 0x99, 0x7c, 0x00, 0xb7, 0x59, 0x60, 0xc4, 0x09, 0xf7, 0x4f, 0x58, 0x24, 0x42, 0x66, + 0x54, 0xea, 0x47, 0x22, 0x16, 0xc6, 0x5b, 0x44, 0xc2, 0x4d, 0xe7, 0x7d, 0x51, 0x38, 0x3f, 0xb5, + 0x3e, 0xd2, 0x81, 0x1b, 0x23, 0xa6, 0xb9, 0x9f, 0xf2, 0x53, 0x96, 0x86, 0x7e, 0xca, 0x0c, 0xf7, + 0xea, 0x88, 0x5f, 0xb7, 0x76, 0x8a, 0x66, 0xca, 0x0c, 0x27, 0x8f, 0x60, 0x4b, 0x47, 0x4c, 0x8f, + 0x6d, 0x24, 0x09, 0x97, 0x2c, 0x32, 0xe7, 0x7e, 0x2c, 0xf4, 0x88, 0x8f, 0xd9, 0x89, 0x50, 0xa9, + 0xb7, 0x84, 0xac, 0xcd, 0x02, 0x33, 0x74, 0x90, 0x67, 0x15, 0x82, 0x0c, 0xe0, 0xee, 0x7f, 0x29, + 0x84, 0xea, 0x54, 0x1a, 0x11, 0x73, 0x0f, 0x90, 0x7e, 0x67, 0x8a, 0xbe, 0x9f, 0xbb, 0xc9, 0x8f, + 0xc0, 0xd3, 0xe2, 0x58, 0xf2, 0xd0, 0x1f, 0x45, 0x2a, 0x78, 0xad, 0xfd, 0x53, 0x21, 0x43, 0x75, + 0xea, 0x47, 0x5c, 0x7a, 0x0d, 0xa4, 0xde, 0x72, 0xfe, 0x5d, 0x74, 0xff, 0x1c, 0xbd, 0x9f, 0x72, + 0x49, 0xfa, 0x70, 0x2b, 0x16, 0x5a, 0x57, 0xc4, 0x98, 0x9d, 0x89, 0x38, 0x8b, 0xbd, 0x26, 0xb2, + 0xde, 0x72, 0x4e, 0xc7, 0x7a, 0xe6, 0x5c, 0xe4, 0x1e, 0x34, 0xc4, 0x28, 0xf0, 0xb9, 0x64, 0xa3, + 0x88, 0x87, 0xde, 0x72, 0xab, 0xd6, 0x59, 0xa5, 0x20, 0x46, 0xc1, 0x63, 0x67, 0x21, 0x8f, 0xe1, + 0x9e, 0x90, 0x23, 0x95, 0xc9, 0xd0, 0x17, 0x81, 0xee, 0xff, 0xc0, 0x37, 0x29, 0x93, 0xfa, 0x88, + 0xa7, 0xba, 0x24, 0xad, 0x20, 0x69, 0x2b, 0x87, 0x3d, 0xb5, 0xa8, 0x2f, 0x0a, 0x50, 0x21, 0x73, + 0x00, 0x2d, 0x95, 0x99, 0xd9, 0x3a, 0xab, 0xa8, 0xf3, 0x9d, 0x02, 0xf7, 0xd5, 0x42, 0x1f, 0xc0, + 0xed, 0x24, 0x55, 0x89, 0xd2, 0x2c, 0xf2, 0x4f, 0x94, 0xb1, 0x09, 0x76, 0x6f, 0xeb, 0xdd, 0x74, + 0xb5, 0x2f, 0xbc, 0x2f, 0xd0, 0xe9, 0xde, 0x96, 0xfc, 0x12, 0xee, 0x94, 0xac, 0x90, 0x27, 0x4a, + 0x0b, 0xe3, 0xb3, 0x58, 0x65, 0xd2, 0x78, 0xb7, 0x5a, 0xb5, 0x4e, 0xa3, 0x7f, 0xbf, 0x3b, 0xd5, + 0x6e, 0xae, 0x81, 0x8a, 0xd3, 0xdf, 0xdd, 0x41, 0x30, 0xbd, 0x55, 0xa8, 0xec, 0x3b, 0x11, 0x67, + 0xb6, 0x99, 0xaf, 0x82, 0xb2, 0xa7, 0xce, 0xff, 0x55, 0xa6, 0xd2, 0x2c, 0xf6, 0x6e, 0x63, 0x2b, + 0xbc, 0x55, 0xc6, 0x64, 0x7d, 0x9f, 0xa3, 0x8b, 0xfc, 0x70, 0x22, 0xa4, 0x84, 0x69, 0xed, 0x9b, + 0x71, 0xca, 0xf5, 0x58, 0x45, 0xa1, 0x77, 0x07, 0x59, 0xa5, 0xe4, 0x90, 0x69, 0xfd, 0x45, 0xe1, + 0x24, 0x1f, 0x82, 0x57, 0xf2, 0xf0, 0x08, 0x4d, 0x10, 0x3d, 0x24, 0x96, 0x09, 0x3a, 0xb4, 0xee, + 0x8a, 0xf9, 0x31, 0x7c, 0x3b, 0x64, 0xca, 0xd7, 0x09, 0x97, 0xa1, 0x5f, 0x60, 0xaa, 0xf4, 0xdf, + 0xc5, 0xf4, 0x7b, 0x21, 0x53, 0x87, 0x16, 0x31, 0x2c, 0x00, 0x79, 0xe6, 0xdb, 0x07, 0xb0, 0x44, + 0x6d, 0xab, 0x92, 0x2d, 0xa8, 0xcb, 0x2c, 0xe6, 0xa9, 0x6d, 0x2d, 0x6c, 0xf6, 0x45, 0x5a, 0x19, + 0x48, 0x0b, 0x1a, 0x21, 0x97, 0x2a, 0x16, 0x12, 0xfd, 0xae, 0xd7, 0x27, 0x4d, 0xed, 0x00, 0xd6, + 0x7e, 0x1a, 0x87, 0x13, 0x97, 0xc7, 0x7d, 0x58, 0x4f, 0x52, 0x1e, 0x08, 0x2d, 0x94, 0xf4, 0x47, + 0xc2, 0x68, 0x54, 0x5d, 0xa3, 0x6b, 0xa5, 0x75, 0x57, 0x18, 0x4d, 0xde, 0x05, 0xc2, 0xb4, 0xaf, + 0x8e, 0x5c, 0xc1, 0xfd, 0x31, 0x17, 0xc7, 0x63, 0x93, 0x6f, 0xb0, 0xc1, 0xf4, 0x67, 0x47, 0x58, + 0xec, 0x27, 0x68, 0x6e, 0xff, 0xbd, 0x06, 0xf5, 0x1d, 0xad, 0xb9, 0x79, 0x2a, 0x8f, 0x14, 0xd9, + 0x81, 0x55, 0x66, 0x17, 0xc5, 0xf5, 0xd4, 0xe8, 0x7f, 0xf7, 0xaa, 0x82, 0x23, 0x37, 0xa4, 0x2b, + 0xcc, 0x3d, 0x90, 0x01, 0x2c, 0xe1, 0x4b, 0xe0, 0x86, 0x8d, 0xfe, 0x3b, 0x57, 0xf0, 0xf7, 0x2d, + 0x96, 0x3a, 0xca, 0xff, 0x88, 0x7c, 0xe1, 0x2b, 0x23, 0x27, 0x6f, 0x43, 0xd3, 0x28, 0x63, 0xab, + 0x9b, 0x25, 0x49, 0x74, 0x9e, 0xdf, 0x69, 0x0d, 0xb4, 0x1d, 0xa2, 0xa9, 0xfd, 0xeb, 0x25, 0x68, + 0xee, 0xa9, 0x38, 0x61, 0x81, 0x41, 0x26, 0xb9, 0x0d, 0xcb, 0xb9, 0xa8, 0xab, 0x47, 0xbe, 0x22, + 0x9f, 0xc3, 0xba, 0x36, 0xcc, 0x70, 0x3f, 0x61, 0xe7, 0x91, 0x62, 0xa1, 0xf6, 0xe6, 0x5b, 0x0b, + 0x9d, 0x46, 0xff, 0x61, 0x77, 0xd6, 0x74, 0xe9, 0x1e, 0x5a, 0xce, 0xd0, 0x51, 0xe8, 0x9a, 0x9e, + 0x58, 0x69, 0xf2, 0x04, 0x40, 0x66, 0x51, 0x24, 0x8e, 0x04, 0x4f, 0xed, 0x0d, 0x6d, 0xe5, 0x3a, + 0x57, 0x24, 0xe3, 0x79, 0x41, 0xa0, 0x13, 0x5c, 0xab, 0xe4, 0xf2, 0x91, 0x2a, 0xe5, 0xae, 0xee, + 0x46, 0xff, 0xc1, 0x15, 0x4a, 0xcf, 0x78, 0xfa, 0x3a, 0xe2, 0x54, 0x29, 0x43, 0xeb, 0x48, 0xb6, + 0x8f, 0x56, 0xc9, 0x8d, 0x18, 0x54, 0xfa, 0xd6, 0xb5, 0x95, 0x90, 0x8c, 0x4a, 0x0f, 0xe0, 0x46, + 0xd5, 0x5d, 0x86, 0xa5, 0x86, 0x87, 0x78, 0xb1, 0xac, 0xd2, 0x8d, 0xb2, 0xab, 0x9c, 0x99, 0x50, + 0x58, 0x3f, 0x8a, 0x43, 0x3f, 0x29, 0xcf, 0xb1, 0x17, 0xe2, 0xc6, 0xef, 0xce, 0xce, 0xed, 0xa5, + 0xa3, 0x4f, 0xd7, 0x8e, 0x2e, 0x75, 0x02, 0x85, 0xa6, 0x3e, 0x65, 0x89, 0xaf, 0x32, 0x93, 0x64, + 0x46, 0x7b, 0x4b, 0x98, 0xde, 0xde, 0x94, 0xa2, 0x1d, 0xc5, 0xa5, 0xde, 0x2e, 0x33, 0xc1, 0xf8, + 0xf0, 0x94, 0x25, 0x9f, 0x21, 0x67, 0x9f, 0x19, 0x46, 0x1b, 0xba, 0x5c, 0x6b, 0xf2, 0x0b, 0xb8, + 0xe1, 0x46, 0xf3, 0x44, 0xa4, 0xcb, 0x18, 0xe9, 0xf7, 0x67, 0x47, 0x3a, 0x35, 0xe3, 0xe9, 0x46, + 0x70, 0xd9, 0xd0, 0xfe, 0xd7, 0x22, 0x34, 0x27, 0x8f, 0x0a, 0xa1, 0x50, 0x4f, 0x55, 0x14, 0xf1, + 0xd0, 0xcf, 0x92, 0xbc, 0xcf, 0xde, 0xff, 0xfa, 0x27, 0xad, 0x4b, 0x91, 0xfb, 0xb3, 0xe4, 0xc9, + 0x1c, 0x5d, 0x4d, 0xf3, 0x67, 0xf2, 0x18, 0x16, 0xa5, 0x32, 0x3c, 0x6f, 0xbb, 0xde, 0x35, 0xe4, + 0x9e, 0x2b, 0xc3, 0x9f, 0xcc, 0x51, 0xa4, 0x5b, 0x19, 0x9b, 0x14, 0x6c, 0xba, 0xeb, 0xc9, 0xd8, + 0xdc, 0x5a, 0x19, 0x4b, 0xdf, 0x7c, 0x09, 0xab, 0x45, 0x94, 0xe4, 0x39, 0x40, 0xa0, 0xe2, 0x58, + 0x98, 0x98, 0x4b, 0x93, 0xbf, 0x6e, 0xf7, 0x8a, 0x53, 0x87, 0xca, 0x7b, 0x25, 0x8b, 0x4e, 0x28, + 0x6c, 0xfe, 0xb6, 0x06, 0x8b, 0x36, 0x66, 0xf2, 0x08, 0x96, 0xb5, 0xca, 0xd2, 0x80, 0xe7, 0xa2, + 0x9d, 0xd9, 0xd1, 0x5a, 0xce, 0x21, 0xe2, 0x69, 0xce, 0x23, 0x3f, 0xb9, 0x94, 0xb4, 0x87, 0x57, + 0xb5, 0xa7, 0xaa, 0xba, 0x1d, 0x79, 0x9b, 0xbf, 0xa9, 0xc1, 0xa2, 0x7d, 0xef, 0x6f, 0x20, 0x94, + 0x8f, 0xf2, 0xc4, 0xbb, 0x50, 0xbe, 0x37, 0xeb, 0x28, 0xdb, 0x1d, 0xcb, 0x38, 0x2c, 0x69, 0x77, + 0x03, 0xd6, 0x2e, 0xdd, 0x5f, 0xed, 0x4f, 0xa0, 0xf1, 0x89, 0x54, 0xa7, 0x12, 0xaf, 0x67, 0x4d, + 0x7e, 0x0c, 0xcb, 0x78, 0x3f, 0xdb, 0x89, 0xb1, 0xf0, 0x35, 0x6e, 0x65, 0xa4, 0xd1, 0x9c, 0xd3, + 0x6e, 0x03, 0x54, 0x01, 0x93, 0x9b, 0xb0, 0x24, 0xa4, 0xe4, 0x6e, 0xa4, 0x35, 0xa9, 0x5b, 0xb4, + 0xcf, 0xa1, 0x8e, 0xe3, 0x10, 0xc7, 0xc8, 0x53, 0x68, 0xd8, 0xf4, 0xf8, 0xff, 0x67, 0x4a, 0x40, + 0x56, 0xbb, 0xbd, 0x0d, 0x4d, 0x37, 0x88, 0x2f, 0x8d, 0xb1, 0x06, 0xda, 0xf2, 0x11, 0xf6, 0xa7, + 0x05, 0xd8, 0x38, 0xe0, 0x92, 0x6b, 0xa1, 0x77, 0x92, 0x04, 0x4f, 0x0e, 0x19, 0x42, 0x73, 0xa2, + 0x99, 0x75, 0x1e, 0xc2, 0x35, 0x1b, 0xb9, 0x51, 0x35, 0xb2, 0x26, 0x07, 0x00, 0xe5, 0x57, 0x74, + 0x31, 0x1e, 0xa6, 0xab, 0xe4, 0xfe, 0x11, 0x4a, 0xbd, 0xf2, 0xc3, 0x9a, 0x4e, 0x50, 0xc9, 0x4b, + 0x68, 0xb0, 0x28, 0x52, 0x01, 0x7e, 0xce, 0x17, 0x93, 0xe1, 0xc3, 0xd9, 0x91, 0x4d, 0xbd, 0x5e, + 0x77, 0xa7, 0x14, 0xa0, 0x93, 0x62, 0x9b, 0x7f, 0xa8, 0x01, 0x54, 0x3e, 0xf2, 0x31, 0x2c, 0xe7, + 0x5f, 0x6f, 0xb5, 0xeb, 0x7c, 0xbd, 0xe5, 0x24, 0x5b, 0xe9, 0x6a, 0x94, 0xd7, 0x8b, 0x21, 0xfd, + 0x08, 0x56, 0x58, 0x18, 0xa6, 0x5c, 0xeb, 0xfc, 0x92, 0xb8, 0xf2, 0x13, 0xc1, 0xa1, 0x69, 0x41, + 0x6b, 0x3f, 0x82, 0x25, 0xfc, 0x43, 0x71, 0x47, 0x29, 0xe4, 0x67, 0xf9, 0x34, 0x76, 0x0b, 0x2c, + 0xb9, 0x9d, 0x1d, 0xd3, 0x25, 0xb7, 0x36, 0x57, 0xf2, 0xdd, 0x3f, 0xcf, 0xff, 0xe5, 0x62, 0xbb, + 0xf6, 0xe5, 0xc5, 0x76, 0xed, 0x1f, 0x17, 0xdb, 0xb5, 0xdf, 0xbd, 0xd9, 0x9e, 0xfb, 0xf2, 0xcd, + 0xf6, 0xdc, 0xdf, 0xde, 0x6c, 0xcf, 0x41, 0x2b, 0x50, 0xf1, 0xcc, 0x64, 0xee, 0x82, 0xab, 0xb3, + 0xfd, 0x47, 0x1b, 0xd6, 0x5e, 0xbe, 0x38, 0x16, 0x66, 0x9c, 0x8d, 0xba, 0x81, 0x8a, 0x7b, 0x81, + 0xd2, 0xb1, 0xd2, 0xbd, 0x94, 0x47, 0xec, 0x9c, 0xa7, 0xbd, 0x93, 0x7e, 0xf9, 0x88, 0x12, 0xba, + 0x37, 0xeb, 0xaf, 0xf4, 0x23, 0x5c, 0x16, 0xab, 0xdf, 0xcf, 0x2f, 0x0c, 0xf7, 0xf6, 0xfe, 0x38, + 0xbf, 0x35, 0x2c, 0x42, 0xd9, 0xb3, 0xa1, 0xe0, 0xd6, 0xdd, 0x17, 0x39, 0xe8, 0xaf, 0x95, 0xfb, + 0x95, 0x75, 0xbf, 0x42, 0xf7, 0xab, 0xc2, 0x7d, 0x31, 0xdf, 0x99, 0xe5, 0x7e, 0x75, 0x30, 0xdc, + 0x7d, 0xc6, 0x0d, 0x0b, 0x99, 0x61, 0xff, 0x9c, 0xbf, 0x57, 0x40, 0x07, 0x03, 0x8b, 0x1d, 0x0c, + 0x10, 0x3c, 0x18, 0x14, 0xe8, 0xd1, 0x32, 0xfe, 0x95, 0xbe, 0xff, 0x9f, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x6a, 0x54, 0x2e, 0xcf, 0x5b, 0x0f, 0x00, 0x00, } func (m *ChainParameters) Marshal() (dAtA []byte, err error) { @@ -1265,12 +1265,19 @@ func (m *ChainParameters) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0xb2 } - if m.ProposalDepositAmount != 0 { - i = encodeVarintChain(dAtA, i, uint64(m.ProposalDepositAmount)) + if m.ProposalDepositAmount != nil { + { + size, err := m.ProposalDepositAmount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintChain(dAtA, i, uint64(size)) + } i-- dAtA[i] = 0x1 i-- - dAtA[i] = 0xa8 + dAtA[i] = 0xaa } if m.ProposalVotingBlocks != 0 { i = encodeVarintChain(dAtA, i, uint64(m.ProposalVotingBlocks)) @@ -2154,8 +2161,9 @@ func (m *ChainParameters) Size() (n int) { if m.ProposalVotingBlocks != 0 { n += 2 + sovChain(uint64(m.ProposalVotingBlocks)) } - if m.ProposalDepositAmount != 0 { - n += 2 + sovChain(uint64(m.ProposalDepositAmount)) + if m.ProposalDepositAmount != nil { + l = m.ProposalDepositAmount.Size() + n += 2 + l + sovChain(uint64(l)) } l = len(m.ProposalValidQuorum) if l > 0 { @@ -2776,10 +2784,10 @@ func (m *ChainParameters) Unmarshal(dAtA []byte) error { } } case 21: - if wireType != 0 { + if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ProposalDepositAmount", wireType) } - m.ProposalDepositAmount = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowChain @@ -2789,11 +2797,28 @@ func (m *ChainParameters) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ProposalDepositAmount |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthChain + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthChain + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ProposalDepositAmount == nil { + m.ProposalDepositAmount = &v1alpha1.Amount{} + } + if err := m.ProposalDepositAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 22: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ProposalValidQuorum", wireType) diff --git a/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go b/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go index 5c4eb0ff0..344a9012a 100644 --- a/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go +++ b/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go @@ -812,6 +812,194 @@ func (m *Denom) GetDenom() string { return "" } +// DenomMetadata represents a struct that describes a basic token. +type DenomMetadata struct { + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + // denom_units represents the list of DenomUnit's for a given coin + DenomUnits []*DenomUnit `protobuf:"bytes,2,rep,name=denom_units,json=denomUnits,proto3" json:"denom_units,omitempty"` + // base represents the base denom (should be the DenomUnit with exponent = 0). + Base string `protobuf:"bytes,3,opt,name=base,proto3" json:"base,omitempty"` + // display indicates the suggested denom that should be + // displayed in clients. + Display string `protobuf:"bytes,4,opt,name=display,proto3" json:"display,omitempty"` + // name defines the name of the token (eg: Cosmos Atom) + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + // symbol is the token symbol usually shown on exchanges (eg: ATOM). This can + // be the same as the display. + Symbol string `protobuf:"bytes,6,opt,name=symbol,proto3" json:"symbol,omitempty"` + // URI to a document (on or off-chain) that contains additional information. Optional. + Uri string `protobuf:"bytes,7,opt,name=uri,proto3" json:"uri,omitempty"` + // URIHash is a sha256 hash of a document pointed by URI. It's used to verify that + // the document didn't change. Optional. + UriHash string `protobuf:"bytes,8,opt,name=uri_hash,json=uriHash,proto3" json:"uri_hash,omitempty"` + // the asset ID on Penumbra for this denomination. + PenumbraAssetId *AssetId `protobuf:"bytes,1984,opt,name=penumbra_asset_id,json=penumbraAssetId,proto3" json:"penumbra_asset_id,omitempty"` +} + +func (m *DenomMetadata) Reset() { *m = DenomMetadata{} } +func (m *DenomMetadata) String() string { return proto.CompactTextString(m) } +func (*DenomMetadata) ProtoMessage() {} +func (*DenomMetadata) Descriptor() ([]byte, []int) { + return fileDescriptor_5c23a0b4440af102, []int{14} +} +func (m *DenomMetadata) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DenomMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DenomMetadata.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 *DenomMetadata) XXX_Merge(src proto.Message) { + xxx_messageInfo_DenomMetadata.Merge(m, src) +} +func (m *DenomMetadata) XXX_Size() int { + return m.Size() +} +func (m *DenomMetadata) XXX_DiscardUnknown() { + xxx_messageInfo_DenomMetadata.DiscardUnknown(m) +} + +var xxx_messageInfo_DenomMetadata proto.InternalMessageInfo + +func (m *DenomMetadata) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *DenomMetadata) GetDenomUnits() []*DenomUnit { + if m != nil { + return m.DenomUnits + } + return nil +} + +func (m *DenomMetadata) GetBase() string { + if m != nil { + return m.Base + } + return "" +} + +func (m *DenomMetadata) GetDisplay() string { + if m != nil { + return m.Display + } + return "" +} + +func (m *DenomMetadata) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *DenomMetadata) GetSymbol() string { + if m != nil { + return m.Symbol + } + return "" +} + +func (m *DenomMetadata) GetUri() string { + if m != nil { + return m.Uri + } + return "" +} + +func (m *DenomMetadata) GetUriHash() string { + if m != nil { + return m.UriHash + } + return "" +} + +func (m *DenomMetadata) GetPenumbraAssetId() *AssetId { + if m != nil { + return m.PenumbraAssetId + } + return nil +} + +// DenomUnit represents a struct that describes a given denomination unit of the basic token. +type DenomUnit struct { + // denom represents the string name of the given denom unit (e.g uatom). + Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"` + // exponent represents power of 10 exponent that one must + // raise the base_denom to in order to equal the given DenomUnit's denom + // 1 denom = 10^exponent base_denom + // (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with + // exponent = 6, thus: 1 atom = 10^6 uatom). + Exponent uint32 `protobuf:"varint,2,opt,name=exponent,proto3" json:"exponent,omitempty"` + // aliases is a list of string aliases for the given denom + Aliases []string `protobuf:"bytes,3,rep,name=aliases,proto3" json:"aliases,omitempty"` +} + +func (m *DenomUnit) Reset() { *m = DenomUnit{} } +func (m *DenomUnit) String() string { return proto.CompactTextString(m) } +func (*DenomUnit) ProtoMessage() {} +func (*DenomUnit) Descriptor() ([]byte, []int) { + return fileDescriptor_5c23a0b4440af102, []int{15} +} +func (m *DenomUnit) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DenomUnit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DenomUnit.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 *DenomUnit) XXX_Merge(src proto.Message) { + xxx_messageInfo_DenomUnit.Merge(m, src) +} +func (m *DenomUnit) XXX_Size() int { + return m.Size() +} +func (m *DenomUnit) XXX_DiscardUnknown() { + xxx_messageInfo_DenomUnit.DiscardUnknown(m) +} + +var xxx_messageInfo_DenomUnit proto.InternalMessageInfo + +func (m *DenomUnit) GetDenom() string { + if m != nil { + return m.Denom + } + return "" +} + +func (m *DenomUnit) GetExponent() uint32 { + if m != nil { + return m.Exponent + } + return 0 +} + +func (m *DenomUnit) GetAliases() []string { + if m != nil { + return m.Aliases + } + return nil +} + type Value struct { Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` AssetId *AssetId `protobuf:"bytes,2,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"` @@ -821,7 +1009,7 @@ func (m *Value) Reset() { *m = Value{} } func (m *Value) String() string { return proto.CompactTextString(m) } func (*Value) ProtoMessage() {} func (*Value) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{14} + return fileDescriptor_5c23a0b4440af102, []int{16} } func (m *Value) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -885,7 +1073,7 @@ func (m *ValueView) Reset() { *m = ValueView{} } func (m *ValueView) String() string { return proto.CompactTextString(m) } func (*ValueView) ProtoMessage() {} func (*ValueView) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{15} + return fileDescriptor_5c23a0b4440af102, []int{17} } func (m *ValueView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -961,15 +1149,15 @@ func (*ValueView) XXX_OneofWrappers() []interface{} { // A value whose asset ID has a known denomination. type ValueView_KnownDenom struct { - Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` - Denom *Denom `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` + Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + Denom *DenomMetadata `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` } func (m *ValueView_KnownDenom) Reset() { *m = ValueView_KnownDenom{} } func (m *ValueView_KnownDenom) String() string { return proto.CompactTextString(m) } func (*ValueView_KnownDenom) ProtoMessage() {} func (*ValueView_KnownDenom) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{15, 0} + return fileDescriptor_5c23a0b4440af102, []int{17, 0} } func (m *ValueView_KnownDenom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1005,7 +1193,7 @@ func (m *ValueView_KnownDenom) GetAmount() *Amount { return nil } -func (m *ValueView_KnownDenom) GetDenom() *Denom { +func (m *ValueView_KnownDenom) GetDenom() *DenomMetadata { if m != nil { return m.Denom } @@ -1021,7 +1209,7 @@ func (m *ValueView_UnknownDenom) Reset() { *m = ValueView_UnknownDenom{} func (m *ValueView_UnknownDenom) String() string { return proto.CompactTextString(m) } func (*ValueView_UnknownDenom) ProtoMessage() {} func (*ValueView_UnknownDenom) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{15, 1} + return fileDescriptor_5c23a0b4440af102, []int{17, 1} } func (m *ValueView_UnknownDenom) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1072,7 +1260,7 @@ func (m *MerkleRoot) Reset() { *m = MerkleRoot{} } func (m *MerkleRoot) String() string { return proto.CompactTextString(m) } func (*MerkleRoot) ProtoMessage() {} func (*MerkleRoot) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{16} + return fileDescriptor_5c23a0b4440af102, []int{18} } func (m *MerkleRoot) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1117,7 +1305,7 @@ func (m *Asset) Reset() { *m = Asset{} } func (m *Asset) String() string { return proto.CompactTextString(m) } func (*Asset) ProtoMessage() {} func (*Asset) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{17} + return fileDescriptor_5c23a0b4440af102, []int{19} } func (m *Asset) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1169,7 +1357,7 @@ func (m *IdentityKey) Reset() { *m = IdentityKey{} } func (m *IdentityKey) String() string { return proto.CompactTextString(m) } func (*IdentityKey) ProtoMessage() {} func (*IdentityKey) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{18} + return fileDescriptor_5c23a0b4440af102, []int{20} } func (m *IdentityKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1214,7 +1402,7 @@ func (m *GovernanceKey) Reset() { *m = GovernanceKey{} } func (m *GovernanceKey) String() string { return proto.CompactTextString(m) } func (*GovernanceKey) ProtoMessage() {} func (*GovernanceKey) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{19} + return fileDescriptor_5c23a0b4440af102, []int{21} } func (m *GovernanceKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1258,7 +1446,7 @@ func (m *ConsensusKey) Reset() { *m = ConsensusKey{} } func (m *ConsensusKey) String() string { return proto.CompactTextString(m) } func (*ConsensusKey) ProtoMessage() {} func (*ConsensusKey) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{20} + return fileDescriptor_5c23a0b4440af102, []int{22} } func (m *ConsensusKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1304,7 +1492,7 @@ func (m *Note) Reset() { *m = Note{} } func (m *Note) String() string { return proto.CompactTextString(m) } func (*Note) ProtoMessage() {} func (*Note) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{21} + return fileDescriptor_5c23a0b4440af102, []int{23} } func (m *Note) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1364,7 +1552,7 @@ func (m *NoteView) Reset() { *m = NoteView{} } func (m *NoteView) String() string { return proto.CompactTextString(m) } func (*NoteView) ProtoMessage() {} func (*NoteView) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{22} + return fileDescriptor_5c23a0b4440af102, []int{24} } func (m *NoteView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1424,7 +1612,7 @@ func (m *NoteCiphertext) Reset() { *m = NoteCiphertext{} } func (m *NoteCiphertext) String() string { return proto.CompactTextString(m) } func (*NoteCiphertext) ProtoMessage() {} func (*NoteCiphertext) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{23} + return fileDescriptor_5c23a0b4440af102, []int{25} } func (m *NoteCiphertext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1468,7 +1656,7 @@ func (m *Nullifier) Reset() { *m = Nullifier{} } func (m *Nullifier) String() string { return proto.CompactTextString(m) } func (*Nullifier) ProtoMessage() {} func (*Nullifier) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{24} + return fileDescriptor_5c23a0b4440af102, []int{26} } func (m *Nullifier) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1512,7 +1700,7 @@ func (m *SpendAuthSignature) Reset() { *m = SpendAuthSignature{} } func (m *SpendAuthSignature) String() string { return proto.CompactTextString(m) } func (*SpendAuthSignature) ProtoMessage() {} func (*SpendAuthSignature) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{25} + return fileDescriptor_5c23a0b4440af102, []int{27} } func (m *SpendAuthSignature) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1556,7 +1744,7 @@ func (m *BindingSignature) Reset() { *m = BindingSignature{} } func (m *BindingSignature) String() string { return proto.CompactTextString(m) } func (*BindingSignature) ProtoMessage() {} func (*BindingSignature) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{26} + return fileDescriptor_5c23a0b4440af102, []int{28} } func (m *BindingSignature) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1608,7 +1796,7 @@ func (m *NotePayload) Reset() { *m = NotePayload{} } func (m *NotePayload) String() string { return proto.CompactTextString(m) } func (*NotePayload) ProtoMessage() {} func (*NotePayload) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{27} + return fileDescriptor_5c23a0b4440af102, []int{29} } func (m *NotePayload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1669,7 +1857,7 @@ func (m *StateCommitmentProof) Reset() { *m = StateCommitmentProof{} } func (m *StateCommitmentProof) String() string { return proto.CompactTextString(m) } func (*StateCommitmentProof) ProtoMessage() {} func (*StateCommitmentProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{28} + return fileDescriptor_5c23a0b4440af102, []int{30} } func (m *StateCommitmentProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1730,7 +1918,7 @@ func (m *MerklePathChunk) Reset() { *m = MerklePathChunk{} } func (m *MerklePathChunk) String() string { return proto.CompactTextString(m) } func (*MerklePathChunk) ProtoMessage() {} func (*MerklePathChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{29} + return fileDescriptor_5c23a0b4440af102, []int{31} } func (m *MerklePathChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1789,7 +1977,7 @@ func (m *Clue) Reset() { *m = Clue{} } func (m *Clue) String() string { return proto.CompactTextString(m) } func (*Clue) ProtoMessage() {} func (*Clue) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{30} + return fileDescriptor_5c23a0b4440af102, []int{32} } func (m *Clue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1834,7 +2022,7 @@ func (m *EffectHash) Reset() { *m = EffectHash{} } func (m *EffectHash) String() string { return proto.CompactTextString(m) } func (*EffectHash) ProtoMessage() {} func (*EffectHash) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{31} + return fileDescriptor_5c23a0b4440af102, []int{33} } func (m *EffectHash) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1879,7 +2067,7 @@ func (m *ZKOutputProof) Reset() { *m = ZKOutputProof{} } func (m *ZKOutputProof) String() string { return proto.CompactTextString(m) } func (*ZKOutputProof) ProtoMessage() {} func (*ZKOutputProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{32} + return fileDescriptor_5c23a0b4440af102, []int{34} } func (m *ZKOutputProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1924,7 +2112,7 @@ func (m *ZKSpendProof) Reset() { *m = ZKSpendProof{} } func (m *ZKSpendProof) String() string { return proto.CompactTextString(m) } func (*ZKSpendProof) ProtoMessage() {} func (*ZKSpendProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{33} + return fileDescriptor_5c23a0b4440af102, []int{35} } func (m *ZKSpendProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1969,7 +2157,7 @@ func (m *ZKSwapProof) Reset() { *m = ZKSwapProof{} } func (m *ZKSwapProof) String() string { return proto.CompactTextString(m) } func (*ZKSwapProof) ProtoMessage() {} func (*ZKSwapProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{34} + return fileDescriptor_5c23a0b4440af102, []int{36} } func (m *ZKSwapProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2014,7 +2202,7 @@ func (m *ZKUndelegateClaimProof) Reset() { *m = ZKUndelegateClaimProof{} func (m *ZKUndelegateClaimProof) String() string { return proto.CompactTextString(m) } func (*ZKUndelegateClaimProof) ProtoMessage() {} func (*ZKUndelegateClaimProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{35} + return fileDescriptor_5c23a0b4440af102, []int{37} } func (m *ZKUndelegateClaimProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2059,7 +2247,7 @@ func (m *ZKDelegatorVoteProof) Reset() { *m = ZKDelegatorVoteProof{} } func (m *ZKDelegatorVoteProof) String() string { return proto.CompactTextString(m) } func (*ZKDelegatorVoteProof) ProtoMessage() {} func (*ZKDelegatorVoteProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{36} + return fileDescriptor_5c23a0b4440af102, []int{38} } func (m *ZKDelegatorVoteProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2095,6 +2283,51 @@ func (m *ZKDelegatorVoteProof) GetInner() []byte { return nil } +// A Penumbra ZK nullifier derivation proof. +type ZKNullifierDerivationProof struct { + Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` +} + +func (m *ZKNullifierDerivationProof) Reset() { *m = ZKNullifierDerivationProof{} } +func (m *ZKNullifierDerivationProof) String() string { return proto.CompactTextString(m) } +func (*ZKNullifierDerivationProof) ProtoMessage() {} +func (*ZKNullifierDerivationProof) Descriptor() ([]byte, []int) { + return fileDescriptor_5c23a0b4440af102, []int{39} +} +func (m *ZKNullifierDerivationProof) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ZKNullifierDerivationProof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ZKNullifierDerivationProof.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 *ZKNullifierDerivationProof) XXX_Merge(src proto.Message) { + xxx_messageInfo_ZKNullifierDerivationProof.Merge(m, src) +} +func (m *ZKNullifierDerivationProof) XXX_Size() int { + return m.Size() +} +func (m *ZKNullifierDerivationProof) XXX_DiscardUnknown() { + xxx_messageInfo_ZKNullifierDerivationProof.DiscardUnknown(m) +} + +var xxx_messageInfo_ZKNullifierDerivationProof proto.InternalMessageInfo + +func (m *ZKNullifierDerivationProof) GetInner() []byte { + if m != nil { + return m.Inner + } + return nil +} + func init() { proto.RegisterType((*Fee)(nil), "penumbra.core.crypto.v1alpha1.Fee") proto.RegisterType((*Address)(nil), "penumbra.core.crypto.v1alpha1.Address") @@ -2112,6 +2345,8 @@ func init() { proto.RegisterType((*AssetId)(nil), "penumbra.core.crypto.v1alpha1.AssetId") proto.RegisterType((*Amount)(nil), "penumbra.core.crypto.v1alpha1.Amount") proto.RegisterType((*Denom)(nil), "penumbra.core.crypto.v1alpha1.Denom") + proto.RegisterType((*DenomMetadata)(nil), "penumbra.core.crypto.v1alpha1.DenomMetadata") + proto.RegisterType((*DenomUnit)(nil), "penumbra.core.crypto.v1alpha1.DenomUnit") proto.RegisterType((*Value)(nil), "penumbra.core.crypto.v1alpha1.Value") proto.RegisterType((*ValueView)(nil), "penumbra.core.crypto.v1alpha1.ValueView") proto.RegisterType((*ValueView_KnownDenom)(nil), "penumbra.core.crypto.v1alpha1.ValueView.KnownDenom") @@ -2137,6 +2372,7 @@ func init() { proto.RegisterType((*ZKSwapProof)(nil), "penumbra.core.crypto.v1alpha1.ZKSwapProof") proto.RegisterType((*ZKUndelegateClaimProof)(nil), "penumbra.core.crypto.v1alpha1.ZKUndelegateClaimProof") proto.RegisterType((*ZKDelegatorVoteProof)(nil), "penumbra.core.crypto.v1alpha1.ZKDelegatorVoteProof") + proto.RegisterType((*ZKNullifierDerivationProof)(nil), "penumbra.core.crypto.v1alpha1.ZKNullifierDerivationProof") } func init() { @@ -2144,83 +2380,96 @@ func init() { } var fileDescriptor_5c23a0b4440af102 = []byte{ - // 1211 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xcf, 0xae, 0xf3, 0xf7, 0xf9, 0x4f, 0xcb, 0x2a, 0x42, 0x51, 0x20, 0x6e, 0xba, 0x4d, 0x43, - 0x5b, 0x8a, 0xad, 0x38, 0x82, 0x83, 0x11, 0x88, 0xd8, 0xa1, 0x4d, 0xb0, 0xda, 0x5a, 0x1b, 0xea, - 0x22, 0x2b, 0x92, 0x35, 0xd9, 0x9d, 0x78, 0x47, 0xde, 0x9d, 0x59, 0x76, 0x67, 0x9d, 0x1a, 0x3e, - 0x40, 0xc5, 0xad, 0x67, 0x8e, 0x1c, 0x38, 0xf0, 0x0d, 0xf8, 0x06, 0x88, 0x53, 0x8f, 0x3d, 0x42, - 0x7a, 0x40, 0x42, 0x1c, 0xf8, 0x08, 0x68, 0x76, 0x67, 0x1d, 0x27, 0xea, 0xda, 0x86, 0x08, 0xc1, - 0x6d, 0xdf, 0xbe, 0xdf, 0xfb, 0xcd, 0x6f, 0xde, 0x9b, 0xf7, 0x66, 0x17, 0xee, 0x78, 0x98, 0x86, - 0xee, 0x91, 0x8f, 0xca, 0x26, 0xf3, 0x71, 0xd9, 0xf4, 0x07, 0x1e, 0x67, 0xe5, 0xfe, 0x16, 0x72, - 0x3c, 0x1b, 0x6d, 0x49, 0xbb, 0xe4, 0xf9, 0x8c, 0x33, 0x6d, 0x2d, 0xc1, 0x96, 0x04, 0xb6, 0x24, - 0x7d, 0x09, 0x56, 0x7f, 0xa6, 0x40, 0xe6, 0x1e, 0xc6, 0xda, 0x47, 0x30, 0x8f, 0x5c, 0x16, 0x52, - 0xbe, 0xa2, 0xac, 0x2b, 0xb7, 0xb2, 0x95, 0x9b, 0xa5, 0xb1, 0x71, 0xa5, 0x9d, 0x08, 0x6c, 0xc8, - 0x20, 0x6d, 0x07, 0x16, 0x51, 0x10, 0x60, 0xde, 0x21, 0xd6, 0x8a, 0x1a, 0x11, 0x6c, 0x4e, 0x22, - 0x10, 0xf0, 0x7d, 0xcb, 0x58, 0x40, 0xf1, 0x83, 0x7e, 0x0d, 0x16, 0x76, 0x2c, 0xcb, 0xc7, 0x41, - 0xa0, 0x2d, 0xc3, 0x1c, 0xa1, 0x14, 0xfb, 0x91, 0x96, 0x9c, 0x11, 0x1b, 0xfa, 0x9f, 0x19, 0xc8, - 0x4a, 0x44, 0x8b, 0xe0, 0x13, 0xed, 0x21, 0x2c, 0xf4, 0x49, 0x40, 0x8e, 0x1c, 0x2c, 0x35, 0x57, - 0x26, 0x2d, 0x79, 0x16, 0x5c, 0x6a, 0xc5, 0x91, 0x7b, 0x33, 0x46, 0x42, 0xa2, 0x35, 0x60, 0x9e, - 0x79, 0xe8, 0xcb, 0x10, 0xcb, 0x1d, 0x6c, 0xfd, 0x0d, 0xba, 0x47, 0x51, 0xe0, 0xde, 0x8c, 0x21, - 0x29, 0x56, 0x7f, 0x53, 0x60, 0x41, 0xae, 0xa1, 0x7d, 0x02, 0x0b, 0x28, 0xc6, 0x4a, 0xa1, 0x9b, - 0xd3, 0x31, 0x1b, 0x49, 0x98, 0xb6, 0x23, 0x12, 0x62, 0xe1, 0xa7, 0x52, 0xd9, 0xbb, 0xd3, 0xc5, - 0xef, 0x8b, 0x10, 0x23, 0x8e, 0xd4, 0x9e, 0xc0, 0x55, 0x64, 0x9a, 0xa2, 0x58, 0x9d, 0xae, 0xcf, - 0x42, 0x4f, 0x54, 0x2a, 0x13, 0xb1, 0xbd, 0x37, 0x89, 0x2d, 0x0e, 0xbb, 0x2f, 0xa2, 0xf6, 0x2d, - 0xa3, 0x80, 0xce, 0xd9, 0xab, 0x9f, 0xc1, 0x7c, 0xbc, 0xfb, 0xcb, 0xef, 0xb3, 0x56, 0x80, 0x9c, - 0x7c, 0xec, 0xf4, 0x09, 0x3e, 0xd1, 0xd7, 0x61, 0xf1, 0xc0, 0xc3, 0xd4, 0x6a, 0xe0, 0x41, 0xca, - 0xa1, 0xb8, 0x0b, 0xcb, 0x11, 0xa2, 0x85, 0x7d, 0x72, 0x4c, 0x4c, 0xc4, 0x09, 0xa3, 0xe9, 0xe8, - 0x4d, 0x28, 0xdc, 0x0b, 0x1d, 0x47, 0x94, 0x8c, 0xd0, 0xee, 0x58, 0xdc, 0xf9, 0x5d, 0xa7, 0xe0, - 0x6e, 0x40, 0x76, 0x97, 0xf4, 0xb1, 0x1f, 0x90, 0x63, 0x82, 0xfd, 0x14, 0xd0, 0x1e, 0xe4, 0x46, - 0x0b, 0xa2, 0xad, 0xc0, 0x82, 0x4c, 0x61, 0x54, 0xce, 0xbc, 0x91, 0x98, 0x5a, 0x11, 0xc0, 0x47, - 0xd4, 0x62, 0x2e, 0xf9, 0x0a, 0xfb, 0x51, 0x75, 0x72, 0xc6, 0xc8, 0x1b, 0xfd, 0x1d, 0xb8, 0x72, - 0xc0, 0x11, 0xc7, 0x75, 0xe6, 0xba, 0x84, 0xbb, 0x98, 0xf2, 0x94, 0x25, 0x6f, 0xc3, 0x1b, 0x35, - 0xe4, 0x20, 0x6a, 0x4e, 0x86, 0x8a, 0xb6, 0x8b, 0x3b, 0x30, 0x05, 0x70, 0x0b, 0xe6, 0xe3, 0x66, - 0xd7, 0x0a, 0xa0, 0x3a, 0x2c, 0x72, 0xce, 0x1a, 0xaa, 0xc3, 0x84, 0x6d, 0x93, 0x68, 0x0f, 0xb3, - 0x86, 0x6a, 0x13, 0x7d, 0x0d, 0xe6, 0x76, 0x31, 0x65, 0xae, 0x20, 0xb2, 0xc4, 0x43, 0x84, 0x5d, - 0x32, 0x62, 0x43, 0xff, 0x46, 0x81, 0xb9, 0x16, 0x72, 0xc2, 0xff, 0xc3, 0xb0, 0xf9, 0x23, 0x03, - 0x4b, 0x91, 0x96, 0x68, 0x92, 0xb4, 0x20, 0xdb, 0xa3, 0xec, 0x84, 0x76, 0xce, 0x54, 0x67, 0x2b, - 0xdb, 0x13, 0x38, 0x87, 0xe1, 0xa5, 0x86, 0x88, 0x8d, 0x76, 0xbe, 0x37, 0x63, 0x40, 0x6f, 0x68, - 0x69, 0x87, 0x90, 0x0f, 0xe9, 0x28, 0x73, 0xac, 0xf6, 0xfd, 0xa9, 0x99, 0x1f, 0xd3, 0xde, 0x28, - 0x77, 0x2e, 0x1c, 0xb1, 0x57, 0x9f, 0x29, 0x00, 0x67, 0x4b, 0x5f, 0x36, 0xa9, 0xd5, 0xa4, 0x66, - 0xb1, 0xc6, 0x8d, 0x09, 0xd1, 0xd1, 0x9a, 0xb2, 0xb2, 0xab, 0xcf, 0x15, 0xc8, 0x8d, 0x4a, 0xfd, - 0xef, 0x0b, 0x5c, 0xcb, 0x01, 0xf4, 0x45, 0x1a, 0xe3, 0x39, 0xa2, 0x03, 0x3c, 0xc0, 0x7e, 0xcf, - 0xc1, 0x06, 0x63, 0x69, 0x8d, 0xf0, 0x35, 0xcc, 0x45, 0x2c, 0xda, 0x07, 0xa0, 0x12, 0x6b, 0xda, - 0x09, 0x26, 0xd7, 0x55, 0x89, 0x75, 0x99, 0x0c, 0xea, 0x6b, 0x90, 0xdd, 0xb7, 0x30, 0xe5, 0x84, - 0x0f, 0xc4, 0x54, 0x2a, 0x80, 0x4a, 0x7a, 0x52, 0x9e, 0x4a, 0x7a, 0xfa, 0x35, 0xc8, 0xdf, 0x67, - 0x7d, 0xec, 0x53, 0xd1, 0xd2, 0x12, 0xd0, 0x1d, 0x02, 0xba, 0x3d, 0x7d, 0x03, 0x72, 0x75, 0x46, - 0x03, 0x4c, 0x83, 0x30, 0x48, 0x1f, 0x6b, 0xdf, 0x2a, 0x30, 0xfb, 0x90, 0x71, 0x2c, 0xa4, 0x46, - 0xd9, 0x91, 0xbb, 0xdc, 0x98, 0xe6, 0x40, 0x1a, 0x71, 0x88, 0xa0, 0xf6, 0x03, 0x8c, 0xe3, 0xca, - 0xe4, 0x8c, 0xd8, 0x18, 0x9d, 0xfd, 0x99, 0x7f, 0x34, 0xfb, 0xf5, 0xef, 0x15, 0x58, 0x14, 0xe2, - 0xa2, 0x8e, 0xfc, 0xf8, 0xbc, 0xc0, 0x5b, 0xd3, 0x76, 0xcc, 0x78, 0x91, 0xbb, 0x17, 0x45, 0xde, - 0x99, 0xfe, 0x8a, 0x3f, 0x13, 0xba, 0x09, 0x05, 0xa1, 0xb3, 0x4e, 0x3c, 0x1b, 0xfb, 0x1c, 0x3f, - 0x4d, 0x3b, 0x50, 0xd7, 0x61, 0xe9, 0x61, 0xe8, 0x38, 0xe3, 0xae, 0x86, 0x3b, 0xa0, 0x45, 0xb7, - 0xd7, 0x4e, 0xc8, 0xed, 0x03, 0xd2, 0xa5, 0x88, 0x87, 0x3e, 0x4e, 0x9d, 0xc3, 0x57, 0x6b, 0x84, - 0x5a, 0x84, 0x76, 0x27, 0x21, 0x7f, 0x55, 0x20, 0x2b, 0x14, 0x36, 0xd1, 0xc0, 0x61, 0xc8, 0xd2, - 0x9e, 0xc0, 0x15, 0xca, 0x38, 0xee, 0x98, 0xc3, 0xbb, 0x40, 0xa6, 0xb5, 0x34, 0x61, 0xfb, 0x17, - 0x2e, 0x1b, 0xa3, 0x20, 0x68, 0x46, 0x6e, 0x94, 0x1b, 0x90, 0xc7, 0x9e, 0x8d, 0x5d, 0xec, 0x23, - 0xa7, 0xd3, 0xc3, 0x03, 0x99, 0xed, 0xdc, 0xf0, 0xa5, 0x38, 0x8a, 0x9f, 0x43, 0x01, 0xd3, 0x88, - 0x19, 0x5b, 0x1d, 0x41, 0x30, 0xe5, 0x67, 0xc7, 0xf9, 0x1c, 0x1b, 0xf9, 0x21, 0x89, 0x70, 0xe8, - 0x2f, 0x15, 0x58, 0xbe, 0x20, 0xaf, 0xe9, 0x33, 0x76, 0xfc, 0xef, 0x6d, 0x76, 0x15, 0x16, 0x3d, - 0x16, 0x10, 0xf1, 0x81, 0x21, 0xef, 0xbc, 0xa1, 0xad, 0x35, 0x60, 0x09, 0x85, 0xdc, 0xee, 0x78, - 0x88, 0xdb, 0x2b, 0x99, 0xf5, 0xcc, 0x14, 0xcb, 0xc5, 0xf3, 0xa8, 0x89, 0xb8, 0x5d, 0xb7, 0x43, - 0xda, 0x33, 0x16, 0x05, 0x81, 0x30, 0x75, 0x1b, 0xae, 0x5c, 0x70, 0x6a, 0x6f, 0xc1, 0x92, 0xf8, - 0x94, 0x24, 0xb4, 0xdb, 0xd9, 0x92, 0xb5, 0x5e, 0x94, 0x2f, 0xb6, 0x46, 0x9d, 0x15, 0x59, 0x81, - 0xc4, 0x59, 0x19, 0x75, 0x6e, 0xcb, 0x2f, 0x8a, 0xc4, 0xb9, 0xad, 0xbf, 0x0d, 0xb3, 0x75, 0xd9, - 0x2d, 0xaf, 0x39, 0x46, 0x3a, 0xc0, 0xa7, 0xc7, 0xc7, 0xd8, 0xe4, 0x7b, 0x28, 0xb0, 0x53, 0x30, - 0x37, 0x21, 0xdf, 0x6e, 0x3c, 0x0a, 0xb9, 0x17, 0xca, 0xf4, 0xbf, 0x1e, 0xb6, 0x01, 0xb9, 0x76, - 0x23, 0x3a, 0xe9, 0xe3, 0x50, 0x37, 0x20, 0xdb, 0x6e, 0x1c, 0x9c, 0x20, 0x6f, 0x1c, 0xa8, 0x04, - 0x6f, 0xb6, 0x1b, 0x8f, 0xa9, 0x85, 0x1d, 0xdc, 0x15, 0x05, 0x73, 0x10, 0x71, 0xc7, 0xe1, 0xef, - 0xc2, 0x72, 0xbb, 0xb1, 0x1b, 0xa3, 0x99, 0xdf, 0x12, 0x6d, 0x91, 0x8e, 0xae, 0xfd, 0xa8, 0xfe, - 0x74, 0x5a, 0x54, 0x5e, 0x9c, 0x16, 0x95, 0x5f, 0x4e, 0x8b, 0xca, 0xf3, 0x57, 0xc5, 0x99, 0x17, - 0xaf, 0x8a, 0x33, 0x2f, 0x5f, 0x15, 0x67, 0xe0, 0xba, 0xc9, 0xdc, 0xf1, 0x35, 0xad, 0x65, 0xeb, - 0xd1, 0x8b, 0xa6, 0xf8, 0xf1, 0x6a, 0x2a, 0xed, 0x2f, 0xba, 0x84, 0xdb, 0xe1, 0x51, 0xc9, 0x64, - 0x6e, 0xd9, 0x64, 0x81, 0xcb, 0x82, 0xb2, 0x8f, 0x1d, 0x34, 0xc0, 0x7e, 0xb9, 0x5f, 0x19, 0x3e, - 0x9a, 0x36, 0x22, 0x34, 0x28, 0x8f, 0xfd, 0xa5, 0xfb, 0x30, 0xb6, 0x13, 0xf3, 0x3b, 0x35, 0xd3, - 0xac, 0xd7, 0x7f, 0x50, 0xd7, 0x9a, 0x89, 0x9c, 0xba, 0x90, 0x13, 0xaf, 0x5e, 0x6a, 0x49, 0xd4, - 0xcf, 0x67, 0xfe, 0x43, 0xe1, 0x3f, 0x8c, 0xfd, 0x87, 0x89, 0xff, 0x54, 0xbd, 0x3d, 0xd6, 0x7f, - 0x78, 0xbf, 0x59, 0x7b, 0x80, 0x39, 0xb2, 0x10, 0x47, 0xbf, 0xab, 0xeb, 0x09, 0xb6, 0x5a, 0x15, - 0xe0, 0x6a, 0x35, 0x46, 0x57, 0xab, 0x09, 0xfc, 0x68, 0x3e, 0xfa, 0xe1, 0xdc, 0xfe, 0x2b, 0x00, - 0x00, 0xff, 0xff, 0x4f, 0xe3, 0x78, 0x0b, 0x9e, 0x0e, 0x00, 0x00, + // 1416 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xcf, 0xae, 0xf3, 0xc3, 0x79, 0x76, 0x9c, 0x76, 0x14, 0x55, 0xfe, 0xe6, 0x4b, 0xd2, 0x74, + 0x9b, 0x86, 0xb4, 0x14, 0x47, 0x71, 0x04, 0x87, 0x20, 0x10, 0xb1, 0x43, 0x9b, 0x60, 0xb5, 0xb5, + 0x36, 0xd4, 0x45, 0x56, 0x24, 0x6b, 0xe2, 0x9d, 0x78, 0x47, 0xde, 0x9d, 0x59, 0xf6, 0x87, 0x53, + 0xc3, 0x1f, 0x80, 0x38, 0xd1, 0x33, 0x47, 0x0e, 0x1c, 0xf8, 0x0f, 0xb8, 0x71, 0x44, 0x9c, 0x7a, + 0xec, 0x11, 0xd2, 0x03, 0x12, 0x27, 0x0e, 0xfc, 0x01, 0x68, 0x66, 0x67, 0x1d, 0x27, 0x8a, 0x7f, + 0x94, 0x0a, 0xc1, 0x6d, 0xde, 0xbc, 0xcf, 0x7b, 0xf3, 0x99, 0xf7, 0xde, 0xcc, 0x9b, 0x5d, 0xb8, + 0xe3, 0x11, 0x16, 0xb9, 0x47, 0x3e, 0xde, 0x68, 0x72, 0x9f, 0x6c, 0x34, 0xfd, 0xae, 0x17, 0xf2, + 0x8d, 0xce, 0x26, 0x76, 0x3c, 0x1b, 0x6f, 0x2a, 0xb9, 0xe0, 0xf9, 0x3c, 0xe4, 0x68, 0x29, 0xc1, + 0x16, 0x04, 0xb6, 0xa0, 0x74, 0x09, 0xd6, 0xf8, 0x52, 0x83, 0xd4, 0x3d, 0x42, 0xd0, 0xfb, 0x30, + 0x8d, 0x5d, 0x1e, 0xb1, 0x30, 0xaf, 0xad, 0x68, 0xeb, 0x99, 0xe2, 0xad, 0xc2, 0x50, 0xbb, 0xc2, + 0x8e, 0x04, 0x9b, 0xca, 0x08, 0xed, 0x40, 0x1a, 0x07, 0x01, 0x09, 0x1b, 0xd4, 0xca, 0xeb, 0xd2, + 0xc1, 0xda, 0x28, 0x07, 0x02, 0xbe, 0x6f, 0x99, 0x33, 0x38, 0x1e, 0x18, 0xd7, 0x61, 0x66, 0xc7, + 0xb2, 0x7c, 0x12, 0x04, 0x68, 0x01, 0xa6, 0x28, 0x63, 0xc4, 0x97, 0x5c, 0xb2, 0x66, 0x2c, 0x18, + 0x7f, 0xa4, 0x20, 0xa3, 0x10, 0x35, 0x4a, 0x4e, 0xd0, 0x43, 0x98, 0xe9, 0xd0, 0x80, 0x1e, 0x39, + 0x44, 0x71, 0x2e, 0x8e, 0x5a, 0xf2, 0xcc, 0xb8, 0x50, 0x8b, 0x2d, 0xf7, 0x26, 0xcc, 0xc4, 0x09, + 0xaa, 0xc0, 0x34, 0xf7, 0xf0, 0x67, 0x11, 0x51, 0x3b, 0xd8, 0x7c, 0x05, 0x77, 0x8f, 0xa4, 0xe1, + 0xde, 0x84, 0xa9, 0x5c, 0x2c, 0xfe, 0xa6, 0xc1, 0x8c, 0x5a, 0x03, 0x7d, 0x08, 0x33, 0x38, 0xc6, + 0x2a, 0xa2, 0x6b, 0xe3, 0x79, 0x36, 0x13, 0x33, 0xb4, 0x23, 0x02, 0x62, 0x91, 0xa7, 0x8a, 0xd9, + 0x5b, 0xe3, 0xd9, 0xef, 0x0b, 0x13, 0x33, 0xb6, 0x44, 0x4f, 0xe0, 0x0a, 0x6e, 0x36, 0x45, 0xb2, + 0x1a, 0x2d, 0x9f, 0x47, 0x9e, 0xc8, 0x54, 0x4a, 0x7a, 0x7b, 0x7b, 0x94, 0xb7, 0xd8, 0xec, 0xbe, + 0xb0, 0xda, 0xb7, 0xcc, 0x1c, 0x3e, 0x27, 0x2f, 0x7e, 0x0c, 0xd3, 0xf1, 0xee, 0x5f, 0x7f, 0x9f, + 0xa5, 0x1c, 0x64, 0xd5, 0xb0, 0xd1, 0xa1, 0xe4, 0xc4, 0x58, 0x81, 0xf4, 0x81, 0x47, 0x98, 0x55, + 0x21, 0xdd, 0x01, 0x45, 0x71, 0x17, 0x16, 0x24, 0xa2, 0x46, 0x7c, 0x7a, 0x4c, 0x9b, 0x38, 0xa4, + 0x9c, 0x0d, 0x46, 0xaf, 0x41, 0xee, 0x5e, 0xe4, 0x38, 0x22, 0x65, 0x94, 0xb5, 0x86, 0xe2, 0xce, + 0xef, 0x7a, 0x00, 0xee, 0x26, 0x64, 0x76, 0x69, 0x87, 0xf8, 0x01, 0x3d, 0xa6, 0xc4, 0x1f, 0x00, + 0xda, 0x83, 0x6c, 0x7f, 0x42, 0x50, 0x1e, 0x66, 0x54, 0x08, 0x65, 0x3a, 0xe7, 0xcc, 0x44, 0x44, + 0xcb, 0x00, 0x3e, 0x66, 0x16, 0x77, 0xe9, 0xe7, 0xc4, 0x97, 0xd9, 0xc9, 0x9a, 0x7d, 0x33, 0xc6, + 0x9b, 0x30, 0x7f, 0x10, 0xe2, 0x90, 0x94, 0xb9, 0xeb, 0xd2, 0xd0, 0x25, 0x2c, 0x1c, 0xb0, 0xe4, + 0x6d, 0xb8, 0x5a, 0xc2, 0x0e, 0x66, 0xcd, 0xd1, 0x50, 0x71, 0xec, 0xe2, 0x13, 0x38, 0x00, 0xb0, + 0x0e, 0xd3, 0xf1, 0x61, 0x47, 0x39, 0xd0, 0x1d, 0x2e, 0x95, 0x93, 0xa6, 0xee, 0x70, 0x21, 0xdb, + 0x54, 0xee, 0x61, 0xd2, 0xd4, 0x6d, 0x6a, 0x2c, 0xc1, 0xd4, 0x2e, 0x61, 0xdc, 0x15, 0x8e, 0x2c, + 0x31, 0x90, 0xd8, 0x59, 0x33, 0x16, 0x8c, 0x17, 0x3a, 0xcc, 0x49, 0xfd, 0x03, 0x12, 0x62, 0x0b, + 0x87, 0x18, 0xad, 0x40, 0xc6, 0x22, 0x41, 0xd3, 0xa7, 0x9e, 0x48, 0x9b, 0x42, 0xf7, 0x4f, 0xa1, + 0x7d, 0x81, 0x60, 0xdc, 0x6d, 0x44, 0x8c, 0x86, 0x41, 0x5e, 0x5f, 0x49, 0xad, 0x67, 0x8a, 0xeb, + 0x23, 0xca, 0x4a, 0x2e, 0xf2, 0x98, 0xd1, 0xd0, 0x04, 0x2b, 0x19, 0x06, 0x08, 0xc1, 0xe4, 0x11, + 0x0e, 0x88, 0x0c, 0xeb, 0xac, 0x29, 0xc7, 0x22, 0x15, 0x16, 0x0d, 0x3c, 0x07, 0x77, 0xf3, 0x93, + 0x72, 0x3a, 0x11, 0x05, 0x9a, 0x61, 0x97, 0xe4, 0xa7, 0x62, 0xb4, 0x18, 0xa3, 0x6b, 0x30, 0x1d, + 0x74, 0xdd, 0x23, 0xee, 0xe4, 0xa7, 0xe5, 0xac, 0x92, 0xd0, 0x15, 0x48, 0x45, 0x3e, 0xcd, 0xcf, + 0xc8, 0x49, 0x31, 0x44, 0xff, 0x83, 0x74, 0xe4, 0xd3, 0x86, 0x8d, 0x03, 0x3b, 0x9f, 0x8e, 0x1d, + 0x47, 0x3e, 0xdd, 0xc3, 0x81, 0x8d, 0x0e, 0xe0, 0x6a, 0xc2, 0xbe, 0xd1, 0xbb, 0x32, 0x7f, 0x9c, + 0x7f, 0xa5, 0x3b, 0x73, 0x3e, 0x81, 0xa9, 0x09, 0xe3, 0x09, 0xcc, 0xf6, 0x36, 0x7d, 0x79, 0xf4, + 0xd1, 0x22, 0xa4, 0xc9, 0x53, 0x8f, 0x33, 0xd2, 0x2b, 0xbb, 0x9e, 0x2c, 0x2b, 0xd2, 0xa1, 0x38, + 0x20, 0x41, 0x3e, 0xb5, 0x92, 0x12, 0x6c, 0x95, 0x68, 0x7c, 0xa5, 0xc1, 0x54, 0x0d, 0x3b, 0xd1, + 0x7f, 0xa1, 0x41, 0xfc, 0x99, 0x82, 0x59, 0xc9, 0x45, 0xde, 0xfe, 0x35, 0xc8, 0xb4, 0x19, 0x3f, + 0x61, 0x8d, 0xb3, 0xbd, 0x66, 0x8a, 0x5b, 0x23, 0x7c, 0xf6, 0xcc, 0x0b, 0x15, 0x61, 0x2b, 0x63, + 0xb6, 0x37, 0x61, 0x42, 0xbb, 0x27, 0xa1, 0x43, 0x98, 0x8b, 0x58, 0xbf, 0xe7, 0x98, 0xed, 0x3b, + 0x63, 0x7b, 0x7e, 0xcc, 0xda, 0xfd, 0xbe, 0xb3, 0x51, 0x9f, 0xbc, 0xf8, 0xb5, 0x06, 0x70, 0xb6, + 0xf4, 0xeb, 0x06, 0xb5, 0x94, 0x64, 0x3a, 0xe6, 0x78, 0x77, 0x9c, 0x73, 0x91, 0x1c, 0x3e, 0x55, + 0x17, 0x8b, 0xcf, 0x34, 0xc8, 0xf6, 0x53, 0xfe, 0xf7, 0x13, 0x5d, 0xca, 0x02, 0x74, 0x44, 0x38, + 0xe3, 0x1e, 0x60, 0x00, 0x3c, 0x20, 0x7e, 0xdb, 0x21, 0x26, 0xe7, 0x83, 0x2e, 0xb1, 0x2f, 0x60, + 0x4a, 0x7a, 0x41, 0xef, 0x82, 0x4e, 0xad, 0x71, 0xbb, 0x8f, 0x5a, 0x57, 0xa7, 0x16, 0xda, 0x3e, + 0x1f, 0xc9, 0xd5, 0x71, 0x22, 0x99, 0xdc, 0x6b, 0x4b, 0x90, 0xd9, 0xb7, 0x08, 0x0b, 0x69, 0xd8, + 0x15, 0x1d, 0x25, 0x07, 0x3a, 0x6d, 0x2b, 0x7a, 0x3a, 0x6d, 0x1b, 0xd7, 0x61, 0xee, 0x3e, 0xef, + 0x10, 0x9f, 0x89, 0xeb, 0x58, 0x01, 0x5a, 0x3d, 0x40, 0xab, 0x6d, 0xac, 0x42, 0xb6, 0xcc, 0x59, + 0x40, 0x58, 0x10, 0x05, 0x83, 0x5b, 0xd2, 0x37, 0x1a, 0x4c, 0x3e, 0xe4, 0x21, 0x11, 0x54, 0x65, + 0x74, 0xd4, 0x2e, 0x57, 0xc7, 0x29, 0x4c, 0x33, 0x36, 0x11, 0xae, 0xfd, 0x80, 0x90, 0x38, 0x33, + 0x59, 0x33, 0x16, 0xfa, 0xfb, 0x76, 0xea, 0x6f, 0xf5, 0x6d, 0xe3, 0x3b, 0x0d, 0xd2, 0x82, 0x9c, + 0x3c, 0x99, 0x1f, 0x9c, 0x27, 0xb8, 0x3e, 0xee, 0xc9, 0x19, 0x4e, 0x72, 0xf7, 0x22, 0xc9, 0x3b, + 0xe3, 0x3f, 0xcf, 0xce, 0x88, 0xae, 0x41, 0x4e, 0xf0, 0x2c, 0x53, 0xcf, 0x26, 0x7e, 0x48, 0x9e, + 0x0e, 0x2a, 0xa8, 0x1b, 0x30, 0xfb, 0x30, 0x72, 0x9c, 0x61, 0x6d, 0xfd, 0x0e, 0x20, 0xf9, 0xf2, + 0xd8, 0x89, 0x42, 0xfb, 0x80, 0xb6, 0x18, 0x0e, 0x23, 0x9f, 0x0c, 0xec, 0xa1, 0x57, 0x4a, 0x94, + 0x59, 0x94, 0xb5, 0x46, 0x21, 0x7f, 0xd5, 0x20, 0x23, 0x18, 0x56, 0x71, 0xd7, 0xe1, 0xd8, 0x42, + 0x4f, 0x60, 0x9e, 0xf1, 0x90, 0x34, 0x9a, 0xbd, 0x3e, 0xae, 0xc2, 0x5a, 0x18, 0xb1, 0xfd, 0x0b, + 0x0f, 0x05, 0x33, 0x27, 0xdc, 0xf4, 0xbd, 0x06, 0x6e, 0xc2, 0x1c, 0xf1, 0x6c, 0xe2, 0x12, 0x1f, + 0x3b, 0x8d, 0x36, 0xe9, 0xaa, 0x68, 0x67, 0x7b, 0x93, 0xa2, 0x14, 0x3f, 0x81, 0x1c, 0x61, 0xd2, + 0x33, 0xb1, 0x1a, 0xc2, 0xc1, 0x98, 0x4f, 0xc6, 0xf3, 0x31, 0x36, 0xe7, 0x7a, 0x4e, 0x84, 0xc2, + 0x78, 0xa1, 0xc1, 0xc2, 0x05, 0x7a, 0x55, 0x9f, 0xf3, 0xe3, 0x7f, 0x6e, 0xb3, 0x8b, 0x90, 0xf6, + 0x78, 0x40, 0xe5, 0x2b, 0x23, 0x7e, 0xaf, 0xf4, 0x64, 0x54, 0x81, 0x59, 0x1c, 0x85, 0x76, 0xc3, + 0xc3, 0xa1, 0x2d, 0xdb, 0xdf, 0xe8, 0xe5, 0xe2, 0xfb, 0xa8, 0x8a, 0x43, 0xbb, 0x6c, 0x47, 0xac, + 0x6d, 0xa6, 0x85, 0x03, 0x21, 0x1a, 0x36, 0xcc, 0x5f, 0x50, 0xa2, 0xff, 0xc3, 0xac, 0xf8, 0x0c, + 0xa0, 0xac, 0xd5, 0xd8, 0x54, 0xb9, 0x4e, 0xab, 0x89, 0xcd, 0x7e, 0x65, 0x51, 0x65, 0x20, 0x51, + 0x16, 0xfb, 0x95, 0x5b, 0xea, 0x35, 0x98, 0x28, 0xb7, 0x8c, 0x37, 0x60, 0xb2, 0xac, 0x4e, 0xcb, + 0x25, 0x65, 0x64, 0x00, 0x7c, 0x74, 0x7c, 0x4c, 0x9a, 0xa1, 0x7c, 0x73, 0x5c, 0x8e, 0xb9, 0x05, + 0x73, 0xf5, 0xca, 0xa3, 0x28, 0xf4, 0x22, 0x15, 0xfe, 0xcb, 0x61, 0xab, 0x90, 0xad, 0x57, 0x64, + 0xa5, 0x0f, 0x43, 0xdd, 0x84, 0x4c, 0xbd, 0x72, 0x70, 0x82, 0xbd, 0x61, 0xa0, 0x02, 0x5c, 0xab, + 0x57, 0x1e, 0x33, 0x8b, 0x38, 0xa4, 0x25, 0x12, 0xe6, 0x60, 0xea, 0x0e, 0xc3, 0xdf, 0x85, 0x85, + 0x7a, 0x65, 0x37, 0x46, 0x73, 0xbf, 0x26, 0x8e, 0xc5, 0x10, 0x74, 0x11, 0x16, 0xeb, 0x95, 0xde, + 0xa9, 0xdd, 0x25, 0x3e, 0xed, 0xc8, 0xcf, 0x81, 0x21, 0x36, 0xa5, 0x1f, 0xf4, 0x9f, 0x4e, 0x97, + 0xb5, 0xe7, 0xa7, 0xcb, 0xda, 0x2f, 0xa7, 0xcb, 0xda, 0xb3, 0x97, 0xcb, 0x13, 0xcf, 0x5f, 0x2e, + 0x4f, 0xbc, 0x78, 0xb9, 0x3c, 0x01, 0x37, 0x9a, 0xdc, 0x1d, 0x5e, 0x07, 0xa5, 0x4c, 0x59, 0x4e, + 0x54, 0xc5, 0x87, 0x76, 0x55, 0xab, 0x7f, 0xda, 0xa2, 0xa1, 0x1d, 0x1d, 0x15, 0x9a, 0xdc, 0xdd, + 0x68, 0xf2, 0xc0, 0xe5, 0xc1, 0x86, 0x4f, 0x1c, 0xdc, 0x25, 0xfe, 0x46, 0xa7, 0xd8, 0x1b, 0x36, + 0x6d, 0x4c, 0x59, 0xb0, 0x31, 0xf4, 0x13, 0xfe, 0xbd, 0x58, 0x4e, 0xc4, 0x6f, 0xf5, 0x54, 0xb5, + 0x5c, 0xfe, 0x5e, 0x5f, 0xaa, 0x26, 0x74, 0xca, 0x82, 0x4e, 0xbc, 0x7a, 0xa1, 0xa6, 0x50, 0x3f, + 0x9f, 0xe9, 0x0f, 0x85, 0xfe, 0x30, 0xd6, 0x1f, 0x26, 0xfa, 0x53, 0xfd, 0xf6, 0x50, 0xfd, 0xe1, + 0xfd, 0x6a, 0x29, 0x79, 0x1d, 0xfc, 0xae, 0xaf, 0x24, 0xd8, 0xed, 0x6d, 0x01, 0xde, 0xde, 0x8e, + 0xd1, 0xdb, 0xdb, 0x09, 0xfc, 0x68, 0x5a, 0xfe, 0x60, 0xd8, 0xfa, 0x2b, 0x00, 0x00, 0xff, 0xff, + 0xfa, 0xd5, 0x1e, 0x48, 0x8e, 0x10, 0x00, 0x00, } func (m *Fee) Marshal() (dAtA []byte, err error) { @@ -2806,7 +3055,7 @@ func (m *Denom) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Value) Marshal() (dAtA []byte, err error) { +func (m *DenomMetadata) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2816,19 +3065,19 @@ func (m *Value) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Value) MarshalTo(dAtA []byte) (int, error) { +func (m *DenomMetadata) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *Value) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *DenomMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.AssetId != nil { + if m.PenumbraAssetId != nil { { - size, err := m.AssetId.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.PenumbraAssetId.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -2836,24 +3085,77 @@ func (m *Value) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintCrypto(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x12 + dAtA[i] = 0x7c + i-- + dAtA[i] = 0x82 } - if m.Amount != nil { - { - size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if len(m.UriHash) > 0 { + i -= len(m.UriHash) + copy(dAtA[i:], m.UriHash) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.UriHash))) + i-- + dAtA[i] = 0x42 + } + if len(m.Uri) > 0 { + i -= len(m.Uri) + copy(dAtA[i:], m.Uri) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Uri))) + i-- + dAtA[i] = 0x3a + } + if len(m.Symbol) > 0 { + i -= len(m.Symbol) + copy(dAtA[i:], m.Symbol) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Symbol))) + i-- + dAtA[i] = 0x32 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x2a + } + if len(m.Display) > 0 { + i -= len(m.Display) + copy(dAtA[i:], m.Display) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Display))) + i-- + dAtA[i] = 0x22 + } + if len(m.Base) > 0 { + i -= len(m.Base) + copy(dAtA[i:], m.Base) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Base))) + i-- + dAtA[i] = 0x1a + } + if len(m.DenomUnits) > 0 { + for iNdEx := len(m.DenomUnits) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.DenomUnits[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCrypto(dAtA, i, uint64(size)) } - i -= size - i = encodeVarintCrypto(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 } + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Description))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ValueView) Marshal() (dAtA []byte, err error) { +func (m *DenomUnit) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2863,38 +3165,63 @@ func (m *ValueView) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ValueView) MarshalTo(dAtA []byte) (int, error) { +func (m *DenomUnit) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ValueView) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *DenomUnit) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.ValueView != nil { - { - size := m.ValueView.Size() - i -= size - if _, err := m.ValueView.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } + if len(m.Aliases) > 0 { + for iNdEx := len(m.Aliases) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Aliases[iNdEx]) + copy(dAtA[i:], m.Aliases[iNdEx]) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Aliases[iNdEx]))) + i-- + dAtA[i] = 0x1a } } + if m.Exponent != 0 { + i = encodeVarintCrypto(dAtA, i, uint64(m.Exponent)) + i-- + dAtA[i] = 0x10 + } + if len(m.Denom) > 0 { + i -= len(m.Denom) + copy(dAtA[i:], m.Denom) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Denom))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *ValueView_KnownDenom_) MarshalTo(dAtA []byte) (int, error) { +func (m *Value) 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 *Value) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ValueView_KnownDenom_) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *Value) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) - if m.KnownDenom != nil { + _ = i + var l int + _ = l + if m.AssetId != nil { { - size, err := m.KnownDenom.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.AssetId.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -2902,9 +3229,75 @@ func (m *ValueView_KnownDenom_) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintCrypto(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 } - return len(dAtA) - i, nil + if m.Amount != nil { + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCrypto(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ValueView) 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 *ValueView) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ValueView) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ValueView != nil { + { + size := m.ValueView.Size() + i -= size + if _, err := m.ValueView.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + } + } + return len(dAtA) - i, nil +} + +func (m *ValueView_KnownDenom_) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ValueView_KnownDenom_) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.KnownDenom != nil { + { + size, err := m.KnownDenom.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintCrypto(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } func (m *ValueView_UnknownDenom_) MarshalTo(dAtA []byte) (int, error) { size := m.Size() @@ -3778,6 +4171,36 @@ func (m *ZKDelegatorVoteProof) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ZKNullifierDerivationProof) 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 *ZKNullifierDerivationProof) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ZKNullifierDerivationProof) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Inner) > 0 { + i -= len(m.Inner) + copy(dAtA[i:], m.Inner) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Inner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintCrypto(dAtA []byte, offset int, v uint64) int { offset -= sovCrypto(v) base := offset @@ -4037,6 +4460,75 @@ func (m *Denom) Size() (n int) { return n } +func (m *DenomMetadata) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Description) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + if len(m.DenomUnits) > 0 { + for _, e := range m.DenomUnits { + l = e.Size() + n += 1 + l + sovCrypto(uint64(l)) + } + } + l = len(m.Base) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + l = len(m.Display) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + l = len(m.Symbol) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + l = len(m.Uri) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + l = len(m.UriHash) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + if m.PenumbraAssetId != nil { + l = m.PenumbraAssetId.Size() + n += 2 + l + sovCrypto(uint64(l)) + } + return n +} + +func (m *DenomUnit) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Denom) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + if m.Exponent != 0 { + n += 1 + sovCrypto(uint64(m.Exponent)) + } + if len(m.Aliases) > 0 { + for _, s := range m.Aliases { + l = len(s) + n += 1 + l + sovCrypto(uint64(l)) + } + } + return n +} + func (m *Value) Size() (n int) { if m == nil { return 0 @@ -4442,6 +4934,19 @@ func (m *ZKDelegatorVoteProof) Size() (n int) { return n } +func (m *ZKNullifierDerivationProof) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Inner) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + return n +} + func sovCrypto(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -5668,81 +6173,593 @@ func (m *BalanceCommitment) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthCrypto + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Inner = append(m.Inner[:0], dAtA[iNdEx:postIndex]...) + if m.Inner == nil { + m.Inner = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCrypto(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCrypto + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AssetId) 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 ErrIntOverflowCrypto + } + 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: AssetId: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AssetId: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthCrypto + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Inner = append(m.Inner[:0], dAtA[iNdEx:postIndex]...) + if m.Inner == nil { + m.Inner = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCrypto(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCrypto + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Amount) 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 ErrIntOverflowCrypto + } + 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: Amount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Amount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Lo", wireType) + } + m.Lo = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Lo |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Hi", wireType) + } + m.Hi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Hi |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipCrypto(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCrypto + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Denom) 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 ErrIntOverflowCrypto + } + 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: Denom: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Denom: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCrypto(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCrypto + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DenomMetadata) 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 ErrIntOverflowCrypto + } + 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: DenomMetadata: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DenomMetadata: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DenomUnits", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthCrypto + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DenomUnits = append(m.DenomUnits, &DenomUnit{}) + if err := m.DenomUnits[len(m.DenomUnits)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Base", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Base = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Display", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Display = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + 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 ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Symbol = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Uri", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthCrypto } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthCrypto } if postIndex > l { return io.ErrUnexpectedEOF } - m.Inner = append(m.Inner[:0], dAtA[iNdEx:postIndex]...) - if m.Inner == nil { - m.Inner = []byte{} - } + m.Uri = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipCrypto(dAtA[iNdEx:]) - if err != nil { - return err + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UriHash", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCrypto + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCrypto } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *AssetId) 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 ErrIntOverflowCrypto + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto } - if iNdEx >= l { + if postIndex > 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: AssetId: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AssetId: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.UriHash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 1984: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PenumbraAssetId", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCrypto @@ -5752,24 +6769,26 @@ func (m *AssetId) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthCrypto } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthCrypto } if postIndex > l { return io.ErrUnexpectedEOF } - m.Inner = append(m.Inner[:0], dAtA[iNdEx:postIndex]...) - if m.Inner == nil { - m.Inner = []byte{} + if m.PenumbraAssetId == nil { + m.PenumbraAssetId = &AssetId{} + } + if err := m.PenumbraAssetId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -5793,7 +6812,7 @@ func (m *AssetId) Unmarshal(dAtA []byte) error { } return nil } -func (m *Amount) Unmarshal(dAtA []byte) error { +func (m *DenomUnit) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5816,17 +6835,17 @@ func (m *Amount) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Amount: wiretype end group for non-group") + return fmt.Errorf("proto: DenomUnit: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Amount: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: DenomUnit: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Lo", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) } - m.Lo = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCrypto @@ -5836,16 +6855,29 @@ func (m *Amount) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Lo |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Denom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Hi", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Exponent", wireType) } - m.Hi = 0 + m.Exponent = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowCrypto @@ -5855,64 +6887,14 @@ func (m *Amount) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Hi |= uint64(b&0x7F) << shift + m.Exponent |= uint32(b&0x7F) << shift if b < 0x80 { break } } - default: - iNdEx = preIndex - skippy, err := skipCrypto(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCrypto - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Denom) 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 ErrIntOverflowCrypto - } - 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: Denom: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Denom: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Aliases", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -5940,7 +6922,7 @@ func (m *Denom) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Denom = string(dAtA[iNdEx:postIndex]) + m.Aliases = append(m.Aliases, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -6300,7 +7282,7 @@ func (m *ValueView_KnownDenom) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Denom == nil { - m.Denom = &Denom{} + m.Denom = &DenomMetadata{} } if err := m.Denom.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -8590,6 +9572,90 @@ func (m *ZKDelegatorVoteProof) Unmarshal(dAtA []byte) error { } return nil } +func (m *ZKNullifierDerivationProof) 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 ErrIntOverflowCrypto + } + 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: ZKNullifierDerivationProof: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ZKNullifierDerivationProof: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthCrypto + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Inner = append(m.Inner[:0], dAtA[iNdEx:postIndex]...) + if m.Inner == nil { + m.Inner = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCrypto(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCrypto + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipCrypto(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go b/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go index 61ef18d9c..0fa502019 100644 --- a/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go +++ b/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go @@ -674,7 +674,6 @@ func (m *SwapClaimPlan) GetEpochDuration() uint64 { type SwapView struct { // Types that are valid to be assigned to SwapView: - // // *SwapView_Visible_ // *SwapView_Opaque_ SwapView isSwapView_SwapView `protobuf_oneof:"swap_view"` @@ -1166,18 +1165,20 @@ type BatchSwapOutputData struct { Delta_1 *v1alpha1.Amount `protobuf:"bytes,1,opt,name=delta_1,json=delta1,proto3" json:"delta_1,omitempty"` // The total amount of asset 2 that was input to the batch swap. Delta_2 *v1alpha1.Amount `protobuf:"bytes,2,opt,name=delta_2,json=delta2,proto3" json:"delta_2,omitempty"` - // The total amount of asset 1 that was output from the batch swap for 1=>2 trades. - Lambda_1_1 *v1alpha1.Amount `protobuf:"bytes,3,opt,name=lambda_1_1,json=lambda11,proto3" json:"lambda_1_1,omitempty"` - // The total amount of asset 2 that was output from the batch swap for 1=>2 trades. - Lambda_2_1 *v1alpha1.Amount `protobuf:"bytes,4,opt,name=lambda_2_1,json=lambda21,proto3" json:"lambda_2_1,omitempty"` // The total amount of asset 1 that was output from the batch swap for 2=>1 trades. - Lambda_1_2 *v1alpha1.Amount `protobuf:"bytes,5,opt,name=lambda_1_2,json=lambda12,proto3" json:"lambda_1_2,omitempty"` - // The total amount of asset 2 that was output from the batch swap for 2=>1 trades. - Lambda_2_2 *v1alpha1.Amount `protobuf:"bytes,6,opt,name=lambda_2_2,json=lambda22,proto3" json:"lambda_2_2,omitempty"` + Lambda_1 *v1alpha1.Amount `protobuf:"bytes,3,opt,name=lambda_1,json=lambda1,proto3" json:"lambda_1,omitempty"` + // The total amount of asset 2 that was output from the batch swap for 1=>2 trades. + Lambda_2 *v1alpha1.Amount `protobuf:"bytes,4,opt,name=lambda_2,json=lambda2,proto3" json:"lambda_2,omitempty"` + // The total amount of asset 1 that was returned unfilled from the batch swap for 1=>2 trades. + Unfilled_1 *v1alpha1.Amount `protobuf:"bytes,5,opt,name=unfilled_1,json=unfilled1,proto3" json:"unfilled_1,omitempty"` + // The total amount of asset 2 that was returned unfilled from the batch swap for 2=>1 trades. + Unfilled_2 *v1alpha1.Amount `protobuf:"bytes,6,opt,name=unfilled_2,json=unfilled2,proto3" json:"unfilled_2,omitempty"` // The height for which the batch swap data is valid. Height uint64 `protobuf:"varint,7,opt,name=height,proto3" json:"height,omitempty"` // The trading pair associated with the batch swap. TradingPair *TradingPair `protobuf:"bytes,8,opt,name=trading_pair,json=tradingPair,proto3" json:"trading_pair,omitempty"` + // The starting block height of the epoch for which the batch swap data is valid. + EpochHeight uint64 `protobuf:"varint,9,opt,name=epoch_height,json=epochHeight,proto3" json:"epoch_height,omitempty"` } func (m *BatchSwapOutputData) Reset() { *m = BatchSwapOutputData{} } @@ -1227,30 +1228,30 @@ func (m *BatchSwapOutputData) GetDelta_2() *v1alpha1.Amount { return nil } -func (m *BatchSwapOutputData) GetLambda_1_1() *v1alpha1.Amount { +func (m *BatchSwapOutputData) GetLambda_1() *v1alpha1.Amount { if m != nil { - return m.Lambda_1_1 + return m.Lambda_1 } return nil } -func (m *BatchSwapOutputData) GetLambda_2_1() *v1alpha1.Amount { +func (m *BatchSwapOutputData) GetLambda_2() *v1alpha1.Amount { if m != nil { - return m.Lambda_2_1 + return m.Lambda_2 } return nil } -func (m *BatchSwapOutputData) GetLambda_1_2() *v1alpha1.Amount { +func (m *BatchSwapOutputData) GetUnfilled_1() *v1alpha1.Amount { if m != nil { - return m.Lambda_1_2 + return m.Unfilled_1 } return nil } -func (m *BatchSwapOutputData) GetLambda_2_2() *v1alpha1.Amount { +func (m *BatchSwapOutputData) GetUnfilled_2() *v1alpha1.Amount { if m != nil { - return m.Lambda_2_2 + return m.Unfilled_2 } return nil } @@ -1269,6 +1270,13 @@ func (m *BatchSwapOutputData) GetTradingPair() *TradingPair { return nil } +func (m *BatchSwapOutputData) GetEpochHeight() uint64 { + if m != nil { + return m.EpochHeight + } + return 0 +} + // The trading function for a specific pair. // For a pair (asset_1, asset_2), a trading function is defined by: // `phi(R) = p*R_1 + q*R_2` and `gamma = 1 - fee`. @@ -1968,28 +1976,23 @@ func (m *Path) GetPhi() *BareTradingFunction { return nil } -// A path and the amount of the assets on either side that were traded. -type Trade struct { - // The path taken by the trade. - Path *Path `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - // The amount of the start asset being traded. - StartAmount *v1alpha1.Amount `protobuf:"bytes,2,opt,name=start_amount,json=startAmount,proto3" json:"start_amount,omitempty"` - // The amount of end asset being received. - EndAmount *v1alpha1.Amount `protobuf:"bytes,3,opt,name=end_amount,json=endAmount,proto3" json:"end_amount,omitempty"` +// Contains the entire execution of a particular swap. +type SwapExecution struct { + Traces []*SwapExecution_Trace `protobuf:"bytes,1,rep,name=traces,proto3" json:"traces,omitempty"` } -func (m *Trade) Reset() { *m = Trade{} } -func (m *Trade) String() string { return proto.CompactTextString(m) } -func (*Trade) ProtoMessage() {} -func (*Trade) Descriptor() ([]byte, []int) { +func (m *SwapExecution) Reset() { *m = SwapExecution{} } +func (m *SwapExecution) String() string { return proto.CompactTextString(m) } +func (*SwapExecution) ProtoMessage() {} +func (*SwapExecution) Descriptor() ([]byte, []int) { return fileDescriptor_d1eba752ca2f0d70, []int{26} } -func (m *Trade) XXX_Unmarshal(b []byte) error { +func (m *SwapExecution) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *Trade) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *SwapExecution) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_Trade.Marshal(b, m, deterministic) + return xxx_messageInfo_SwapExecution.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1999,56 +2002,43 @@ func (m *Trade) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (m *Trade) XXX_Merge(src proto.Message) { - xxx_messageInfo_Trade.Merge(m, src) +func (m *SwapExecution) XXX_Merge(src proto.Message) { + xxx_messageInfo_SwapExecution.Merge(m, src) } -func (m *Trade) XXX_Size() int { +func (m *SwapExecution) XXX_Size() int { return m.Size() } -func (m *Trade) XXX_DiscardUnknown() { - xxx_messageInfo_Trade.DiscardUnknown(m) -} - -var xxx_messageInfo_Trade proto.InternalMessageInfo - -func (m *Trade) GetPath() *Path { - if m != nil { - return m.Path - } - return nil +func (m *SwapExecution) XXX_DiscardUnknown() { + xxx_messageInfo_SwapExecution.DiscardUnknown(m) } -func (m *Trade) GetStartAmount() *v1alpha1.Amount { - if m != nil { - return m.StartAmount - } - return nil -} +var xxx_messageInfo_SwapExecution proto.InternalMessageInfo -func (m *Trade) GetEndAmount() *v1alpha1.Amount { +func (m *SwapExecution) GetTraces() []*SwapExecution_Trace { if m != nil { - return m.EndAmount + return m.Traces } return nil } -// Contains the entire execution of a particular swap. -type SwapExecution struct { - Trades []*Trade `protobuf:"bytes,1,rep,name=trades,proto3" json:"trades,omitempty"` +// Contains all individual steps consisting of a trade trace. +type SwapExecution_Trace struct { + // Each step in the trade trace. + Value []*v1alpha1.Value `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty"` } -func (m *SwapExecution) Reset() { *m = SwapExecution{} } -func (m *SwapExecution) String() string { return proto.CompactTextString(m) } -func (*SwapExecution) ProtoMessage() {} -func (*SwapExecution) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{27} +func (m *SwapExecution_Trace) Reset() { *m = SwapExecution_Trace{} } +func (m *SwapExecution_Trace) String() string { return proto.CompactTextString(m) } +func (*SwapExecution_Trace) ProtoMessage() {} +func (*SwapExecution_Trace) Descriptor() ([]byte, []int) { + return fileDescriptor_d1eba752ca2f0d70, []int{26, 0} } -func (m *SwapExecution) XXX_Unmarshal(b []byte) error { +func (m *SwapExecution_Trace) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *SwapExecution) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *SwapExecution_Trace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_SwapExecution.Marshal(b, m, deterministic) + return xxx_messageInfo_SwapExecution_Trace.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2058,21 +2048,21 @@ func (m *SwapExecution) XXX_Marshal(b []byte, deterministic bool) ([]byte, error return b[:n], nil } } -func (m *SwapExecution) XXX_Merge(src proto.Message) { - xxx_messageInfo_SwapExecution.Merge(m, src) +func (m *SwapExecution_Trace) XXX_Merge(src proto.Message) { + xxx_messageInfo_SwapExecution_Trace.Merge(m, src) } -func (m *SwapExecution) XXX_Size() int { +func (m *SwapExecution_Trace) XXX_Size() int { return m.Size() } -func (m *SwapExecution) XXX_DiscardUnknown() { - xxx_messageInfo_SwapExecution.DiscardUnknown(m) +func (m *SwapExecution_Trace) XXX_DiscardUnknown() { + xxx_messageInfo_SwapExecution_Trace.DiscardUnknown(m) } -var xxx_messageInfo_SwapExecution proto.InternalMessageInfo +var xxx_messageInfo_SwapExecution_Trace proto.InternalMessageInfo -func (m *SwapExecution) GetTrades() []*Trade { +func (m *SwapExecution_Trace) GetValue() []*v1alpha1.Value { if m != nil { - return m.Trades + return m.Value } return nil } @@ -2088,7 +2078,7 @@ func (m *PositionWithdrawPlan) Reset() { *m = PositionWithdrawPlan{} } func (m *PositionWithdrawPlan) String() string { return proto.CompactTextString(m) } func (*PositionWithdrawPlan) ProtoMessage() {} func (*PositionWithdrawPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{28} + return fileDescriptor_d1eba752ca2f0d70, []int{27} } func (m *PositionWithdrawPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2147,7 +2137,7 @@ func (m *PositionRewardClaimPlan) Reset() { *m = PositionRewardClaimPlan func (m *PositionRewardClaimPlan) String() string { return proto.CompactTextString(m) } func (*PositionRewardClaimPlan) ProtoMessage() {} func (*PositionRewardClaimPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{29} + return fileDescriptor_d1eba752ca2f0d70, []int{28} } func (m *PositionRewardClaimPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2215,8 +2205,8 @@ func init() { proto.RegisterType((*PositionWithdraw)(nil), "penumbra.core.dex.v1alpha1.PositionWithdraw") proto.RegisterType((*PositionRewardClaim)(nil), "penumbra.core.dex.v1alpha1.PositionRewardClaim") proto.RegisterType((*Path)(nil), "penumbra.core.dex.v1alpha1.Path") - proto.RegisterType((*Trade)(nil), "penumbra.core.dex.v1alpha1.Trade") proto.RegisterType((*SwapExecution)(nil), "penumbra.core.dex.v1alpha1.SwapExecution") + proto.RegisterType((*SwapExecution_Trace)(nil), "penumbra.core.dex.v1alpha1.SwapExecution.Trace") proto.RegisterType((*PositionWithdrawPlan)(nil), "penumbra.core.dex.v1alpha1.PositionWithdrawPlan") proto.RegisterType((*PositionRewardClaimPlan)(nil), "penumbra.core.dex.v1alpha1.PositionRewardClaimPlan") } @@ -2226,119 +2216,119 @@ func init() { } var fileDescriptor_d1eba752ca2f0d70 = []byte{ - // 1788 bytes of a gzipped FileDescriptorProto + // 1781 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x4f, 0x6f, 0xe3, 0xc6, - 0x15, 0xf7, 0x50, 0xb2, 0x2d, 0x3f, 0xc9, 0x1b, 0xef, 0x38, 0x68, 0x0d, 0x17, 0x71, 0x76, 0xd9, - 0xfc, 0xd9, 0x26, 0x85, 0x1c, 0x31, 0x29, 0x90, 0x7a, 0x9b, 0x6c, 0xac, 0x3f, 0x8e, 0xb5, 0x89, - 0x65, 0x86, 0x76, 0x76, 0x8b, 0xd4, 0x28, 0x31, 0x26, 0xc7, 0x2b, 0xa2, 0x14, 0xc9, 0x25, 0x47, - 0xb6, 0x7c, 0x2a, 0x50, 0xb4, 0xe8, 0x29, 0x68, 0xf3, 0x01, 0x8a, 0x22, 0x3d, 0xf6, 0x33, 0x14, - 0xed, 0xb5, 0x28, 0x5a, 0x60, 0x6f, 0xed, 0xa9, 0x28, 0xbc, 0x87, 0x02, 0xfd, 0x00, 0x45, 0x0f, - 0x3d, 0x14, 0x33, 0x1c, 0x8a, 0xb4, 0x2d, 0xaf, 0x44, 0xad, 0x7b, 0xc9, 0x4d, 0x33, 0xf3, 0x7e, - 0x3f, 0xbe, 0x99, 0xf7, 0xe6, 0xfd, 0x1e, 0x29, 0x78, 0x25, 0xa0, 0x5e, 0xbf, 0x77, 0x18, 0x92, - 0x75, 0xcb, 0x0f, 0xe9, 0xba, 0x4d, 0x07, 0xeb, 0xc7, 0x35, 0xe2, 0x06, 0x5d, 0x52, 0xe3, 0x83, - 0x6a, 0x10, 0xfa, 0xcc, 0xc7, 0xab, 0x89, 0x55, 0x95, 0x5b, 0x55, 0xf9, 0x42, 0x62, 0xb5, 0xfa, - 0xc6, 0x79, 0x06, 0x2b, 0x3c, 0x0d, 0x98, 0x9f, 0x92, 0xc4, 0xe3, 0x98, 0x47, 0xfd, 0x09, 0x82, - 0xe2, 0xde, 0x09, 0x09, 0xf0, 0x07, 0x30, 0x1b, 0x84, 0xbe, 0x7f, 0xb4, 0x82, 0x6e, 0xa1, 0x3b, - 0x65, 0xed, 0x8d, 0xea, 0xf9, 0x07, 0x48, 0x50, 0x42, 0x52, 0xfd, 0xec, 0x23, 0x8e, 0xd2, 0x39, - 0xc2, 0x88, 0x81, 0xf8, 0x5d, 0x28, 0x1e, 0xfa, 0xf6, 0xe9, 0x4a, 0x51, 0x10, 0xbc, 0x52, 0xbd, - 0xda, 0xc3, 0x2a, 0xc7, 0xd6, 0x7d, 0xfb, 0xd4, 0x10, 0x08, 0xf5, 0xe7, 0x08, 0x16, 0xf8, 0x54, - 0xc3, 0x25, 0x4e, 0x0f, 0xbf, 0x98, 0xf5, 0xa4, 0x92, 0xb0, 0xbf, 0x27, 0xd9, 0x15, 0xc1, 0xfe, - 0xad, 0x71, 0xec, 0x82, 0x2a, 0x7d, 0x04, 0x7e, 0x15, 0x6e, 0xd0, 0xc0, 0xb7, 0xba, 0xa6, 0xdd, - 0x0f, 0x09, 0x73, 0x7c, 0x6f, 0x65, 0xfe, 0x16, 0xba, 0x53, 0x34, 0x16, 0xc5, 0x6c, 0x53, 0x4e, - 0xaa, 0xbf, 0x2e, 0xc0, 0xe2, 0x39, 0x38, 0xde, 0x82, 0x05, 0xaf, 0xef, 0xba, 0xce, 0x91, 0x43, - 0x43, 0x79, 0x36, 0x77, 0xc6, 0x9c, 0x4d, 0x27, 0xb1, 0x37, 0x52, 0x28, 0x7e, 0x07, 0x0a, 0x47, - 0x94, 0x4a, 0xf7, 0xd5, 0x31, 0x0c, 0x5b, 0x94, 0x1a, 0xdc, 0x1c, 0xff, 0x10, 0x96, 0xfd, 0x3e, - 0x0b, 0xfa, 0xcc, 0xac, 0x99, 0x96, 0xdf, 0xeb, 0x39, 0xac, 0x47, 0x3d, 0xb6, 0x52, 0x10, 0x2c, - 0xd5, 0x31, 0x2c, 0x7b, 0x8c, 0x30, 0xda, 0x18, 0xa2, 0x8c, 0x9b, 0x31, 0x55, 0x2d, 0x9d, 0xca, - 0xf0, 0x6b, 0x59, 0xfe, 0xe2, 0xf3, 0xf0, 0x6b, 0x19, 0x7e, 0x1d, 0xca, 0x92, 0xdf, 0x26, 0x8c, - 0xac, 0xcc, 0x09, 0xde, 0xf5, 0x67, 0x05, 0xaf, 0x4e, 0x98, 0xd5, 0xe5, 0x21, 0xd8, 0x15, 0xb8, - 0x26, 0x61, 0xc4, 0x00, 0x7f, 0xf8, 0x5b, 0xfd, 0x8f, 0x02, 0xa5, 0x24, 0x7d, 0xf0, 0x7d, 0xa8, - 0xb0, 0x90, 0xd8, 0x8e, 0xf7, 0xc8, 0x0c, 0x88, 0x93, 0xc4, 0xe7, 0xf5, 0x67, 0xf1, 0xef, 0xc7, - 0xf6, 0x3a, 0x71, 0x42, 0xa3, 0xcc, 0xd2, 0x01, 0xde, 0x84, 0x05, 0x9b, 0xba, 0x8c, 0x98, 0x35, - 0xd3, 0x91, 0x61, 0x7a, 0x75, 0xcc, 0x01, 0x6c, 0xf6, 0xfc, 0xbe, 0xc7, 0x8c, 0x79, 0x81, 0xab, - 0xb5, 0x53, 0x0a, 0xcd, 0x74, 0x64, 0x8c, 0x72, 0x51, 0x68, 0x6d, 0xfc, 0x10, 0x6e, 0x1c, 0x51, - 0x7a, 0x39, 0x16, 0x6f, 0x8d, 0xe1, 0xa9, 0x13, 0x97, 0x78, 0x56, 0x36, 0x1a, 0x8b, 0x47, 0x34, - 0x33, 0xc4, 0x9b, 0x30, 0x1f, 0x90, 0x53, 0xd7, 0x27, 0xf6, 0xca, 0xec, 0xf8, 0x53, 0x12, 0x97, - 0x3b, 0x36, 0x37, 0x12, 0x9c, 0xfa, 0x53, 0x04, 0xe5, 0xcc, 0x02, 0xee, 0x00, 0x64, 0xfc, 0x44, - 0x53, 0xe5, 0x4c, 0x86, 0x41, 0xdc, 0x51, 0x4f, 0x00, 0xa8, 0x6d, 0x46, 0x27, 0x24, 0x10, 0x61, - 0xa8, 0x18, 0x8b, 0xc3, 0x59, 0xfe, 0x74, 0xf5, 0x67, 0xf2, 0x8e, 0xea, 0x2e, 0x71, 0x3c, 0x46, - 0x07, 0xec, 0x2b, 0x98, 0x06, 0xf7, 0x60, 0xc1, 0xe2, 0x25, 0xc8, 0xe4, 0x35, 0xa3, 0x38, 0x71, - 0xcd, 0x28, 0x09, 0xd0, 0x16, 0xa5, 0xf8, 0x23, 0x58, 0x8c, 0x09, 0x88, 0x6d, 0x87, 0x34, 0x8a, - 0x64, 0xd0, 0x5f, 0x1b, 0xe7, 0x47, 0x6c, 0x6d, 0x54, 0x04, 0x58, 0x8e, 0x78, 0x45, 0x0e, 0x23, - 0x4a, 0x6d, 0x71, 0x7f, 0x2b, 0x46, 0x3c, 0x50, 0x3f, 0x01, 0xbc, 0xe3, 0x5b, 0x3f, 0xda, 0x72, - 0xfd, 0x93, 0x86, 0x13, 0x74, 0x69, 0x28, 0x62, 0x71, 0x17, 0x66, 0x8f, 0x89, 0xdb, 0xa7, 0x32, - 0x08, 0x13, 0x6e, 0x3c, 0xc6, 0xa8, 0x3f, 0x8e, 0xef, 0xb6, 0xee, 0x12, 0x0f, 0xeb, 0x70, 0x83, - 0xe7, 0x80, 0x19, 0x24, 0x61, 0x96, 0x8c, 0x63, 0x4b, 0xff, 0x30, 0x2f, 0x8c, 0xc5, 0xe8, 0x5c, - 0x9a, 0xdc, 0x86, 0x0a, 0xbf, 0x5b, 0x87, 0xae, 0xe3, 0xf1, 0x70, 0xcb, 0xec, 0x2a, 0x1f, 0x51, - 0x5a, 0x97, 0x53, 0xea, 0xbf, 0x51, 0xa6, 0xfe, 0xff, 0x9f, 0xdc, 0x58, 0x85, 0x52, 0xe0, 0x47, - 0x8e, 0x10, 0x21, 0x45, 0x88, 0xd0, 0x70, 0x7c, 0xb1, 0x5e, 0x16, 0x9e, 0xbb, 0x5e, 0x8e, 0x10, - 0xbe, 0xe2, 0x28, 0xe1, 0xfb, 0xaf, 0x2c, 0xab, 0x0f, 0x1c, 0x7a, 0x82, 0xb7, 0x61, 0xfe, 0xd8, - 0x89, 0x9c, 0x43, 0x37, 0x89, 0xe2, 0xb7, 0xc7, 0x6d, 0x96, 0xc3, 0xaa, 0x0f, 0x62, 0xcc, 0xf6, - 0x8c, 0x91, 0xc0, 0x71, 0x0b, 0xe6, 0xfc, 0x80, 0x3c, 0xee, 0x27, 0xc2, 0xf7, 0xe6, 0x44, 0x44, - 0xbb, 0x02, 0xb2, 0x3d, 0x63, 0x48, 0xf0, 0xea, 0x17, 0x08, 0xe6, 0x25, 0x3b, 0x7e, 0x07, 0x8a, - 0xa2, 0x36, 0xc4, 0x9e, 0xdd, 0x1a, 0x47, 0x68, 0x08, 0xeb, 0x11, 0x61, 0x2c, 0x3c, 0x5f, 0x18, - 0x57, 0xdf, 0x87, 0xb9, 0xd8, 0xcf, 0xe9, 0x3c, 0xaa, 0x97, 0x61, 0x41, 0x78, 0x74, 0xec, 0xd0, - 0x13, 0xf5, 0x9f, 0xd9, 0xbe, 0x43, 0xc4, 0x60, 0xe7, 0x62, 0x0c, 0x6a, 0x13, 0xb5, 0x3c, 0x57, - 0x05, 0xe2, 0xfe, 0x85, 0x40, 0xbc, 0x35, 0x39, 0xdb, 0xa5, 0x68, 0xfc, 0x35, 0x13, 0x8d, 0x26, - 0x80, 0xd8, 0x85, 0xa8, 0x17, 0x57, 0xdc, 0xf9, 0xd1, 0xdc, 0x86, 0xd8, 0x7e, 0xdc, 0xf2, 0xd5, - 0xa1, 0x94, 0xb4, 0x39, 0xd2, 0xbf, 0xd7, 0xc7, 0xf5, 0x58, 0x3e, 0xa3, 0xdc, 0x3b, 0x63, 0x5e, - 0x36, 0x35, 0x19, 0x0e, 0x4d, 0xc6, 0x36, 0x2f, 0x87, 0xb6, 0xda, 0x19, 0xc6, 0xf4, 0x5a, 0xf6, - 0x55, 0xbf, 0x09, 0x2f, 0xa4, 0x2c, 0x71, 0xa4, 0x7f, 0x81, 0xa0, 0x9c, 0x11, 0x1f, 0x7c, 0x0f, - 0xe6, 0x49, 0x14, 0x51, 0xbe, 0x73, 0x34, 0x59, 0x89, 0xe6, 0xd6, 0x6d, 0xdb, 0x98, 0x13, 0xb0, - 0x5a, 0x4a, 0xa0, 0xc9, 0xa3, 0xcb, 0x47, 0xa0, 0xa9, 0x9f, 0x23, 0x58, 0x6e, 0x3a, 0x21, 0xb5, - 0x18, 0xb5, 0xb3, 0x9e, 0x7d, 0x0f, 0x66, 0x23, 0x46, 0x42, 0x96, 0xd3, 0xaf, 0x18, 0x84, 0xdf, - 0x85, 0x02, 0xf5, 0xec, 0x9c, 0x2e, 0x71, 0x88, 0xfa, 0x79, 0x11, 0x96, 0x47, 0x54, 0x35, 0xfc, - 0x3e, 0xcc, 0x4b, 0x65, 0xce, 0xa7, 0x2d, 0x73, 0xb1, 0x2e, 0xa7, 0x78, 0x2d, 0x9f, 0xae, 0xc7, - 0x78, 0x0d, 0x37, 0x00, 0x5c, 0xd2, 0x3b, 0xb4, 0x79, 0x6b, 0x50, 0xcb, 0xa7, 0xeb, 0xa5, 0x18, - 0x58, 0xab, 0x65, 0x48, 0x34, 0xb3, 0x26, 0x95, 0x3d, 0x1f, 0x89, 0x56, 0x3b, 0xe7, 0x89, 0x26, - 0x95, 0x3d, 0xa7, 0x27, 0xda, 0x39, 0x4f, 0x34, 0xd9, 0x99, 0xe7, 0xf4, 0x44, 0xc3, 0x5f, 0x83, - 0xb9, 0x2e, 0x75, 0x1e, 0x75, 0x99, 0x7c, 0x9d, 0x92, 0xa3, 0x4b, 0x1d, 0x59, 0x69, 0xfa, 0x8e, - 0x4c, 0xfd, 0x15, 0x82, 0x17, 0xe4, 0xe2, 0x56, 0xdf, 0xb3, 0x84, 0x4e, 0xee, 0xc0, 0x82, 0xe5, - 0xf7, 0x02, 0xdf, 0x4b, 0x3b, 0xcf, 0x31, 0x2a, 0x19, 0xd2, 0x0b, 0x1c, 0x46, 0xca, 0x80, 0xef, - 0x42, 0x51, 0xb8, 0xa9, 0xe4, 0x73, 0x53, 0x80, 0xd4, 0x2f, 0x10, 0xcf, 0xd7, 0x4b, 0xfc, 0x78, - 0x29, 0x7e, 0xe3, 0xe3, 0xde, 0x2d, 0xc6, 0x6f, 0x73, 0x6f, 0x03, 0x0a, 0xf2, 0xe5, 0x1e, 0x0a, - 0x38, 0xe8, 0x71, 0xbe, 0x6c, 0x43, 0x8f, 0xd5, 0x01, 0x94, 0x0c, 0x1a, 0xd1, 0xf0, 0x98, 0x46, - 0xf8, 0x3b, 0xa0, 0x84, 0x39, 0xaf, 0x8c, 0x12, 0xd6, 0x04, 0x2c, 0xe7, 0x4d, 0x51, 0x42, 0x4d, - 0x3d, 0x43, 0x50, 0xd2, 0x93, 0x76, 0xe6, 0x3d, 0x28, 0x04, 0x5d, 0x47, 0x3e, 0xfb, 0xcd, 0x09, - 0x8e, 0x75, 0x18, 0x1c, 0x8e, 0xe3, 0x7d, 0xa7, 0xe7, 0x7b, 0x16, 0x95, 0x9d, 0x5a, 0x3c, 0xc0, - 0xf7, 0x44, 0x5d, 0x62, 0x74, 0x12, 0x05, 0x4f, 0x3c, 0x11, 0xaf, 0x1d, 0x46, 0x8c, 0xc3, 0x1f, - 0x40, 0x29, 0x94, 0x87, 0x33, 0xc9, 0xc7, 0x8a, 0xe4, 0x20, 0x8d, 0x21, 0x4a, 0x55, 0x01, 0x12, - 0xe6, 0xb6, 0xcd, 0xdd, 0x74, 0x3c, 0x4f, 0x7e, 0x1e, 0xa8, 0x18, 0xf1, 0x40, 0xfd, 0x52, 0x81, - 0xc5, 0x73, 0x8f, 0xc7, 0x9f, 0x24, 0x8e, 0x73, 0xbb, 0x1b, 0xda, 0xdd, 0x89, 0x1d, 0x3f, 0x3f, - 0x6a, 0x79, 0xfd, 0x9e, 0xdc, 0x8a, 0xfa, 0x3b, 0x04, 0x37, 0x2f, 0x2d, 0xe2, 0x6f, 0xc2, 0xcb, - 0xfa, 0xee, 0x5e, 0x7b, 0xbf, 0xbd, 0xdb, 0x31, 0xf7, 0xf6, 0x37, 0xf7, 0x5b, 0x66, 0xab, 0xf3, - 0xe9, 0x8e, 0xf9, 0x69, 0x67, 0x4f, 0x6f, 0x35, 0xda, 0x5b, 0xed, 0x56, 0x73, 0x69, 0x06, 0xaf, - 0xc1, 0xea, 0x28, 0xa3, 0x5d, 0xbd, 0xd5, 0x69, 0x35, 0x97, 0xd0, 0x55, 0xeb, 0x8d, 0x8f, 0x77, - 0xf7, 0x5a, 0xcd, 0x25, 0x05, 0xdf, 0x86, 0x97, 0x46, 0xad, 0x3f, 0x6c, 0xef, 0x6f, 0x37, 0x8d, - 0xcd, 0x87, 0x9d, 0xa5, 0x02, 0x7e, 0x19, 0xbe, 0x31, 0x9a, 0x62, 0xb3, 0xbd, 0xd3, 0x6a, 0x2e, - 0x15, 0xf9, 0xd5, 0x99, 0xfd, 0x38, 0xe8, 0x1c, 0x31, 0xfc, 0x21, 0x94, 0x93, 0x26, 0xd8, 0x74, - 0xec, 0x2b, 0x24, 0x67, 0xe4, 0x09, 0xb5, 0x6d, 0x03, 0x82, 0x34, 0x18, 0xc3, 0xec, 0x50, 0xa6, - 0xcb, 0x0e, 0x55, 0x87, 0x4a, 0x32, 0xbf, 0x1b, 0x50, 0x8f, 0x67, 0xcb, 0xb0, 0x5d, 0x47, 0xe3, - 0xb3, 0x25, 0xc1, 0xa6, 0x4d, 0xbd, 0xfa, 0xfd, 0x34, 0x11, 0x1a, 0xae, 0x1f, 0xd1, 0x6b, 0xdb, - 0xac, 0xfa, 0x7b, 0x04, 0x4b, 0xc9, 0xd2, 0x43, 0x87, 0x75, 0xed, 0x90, 0x9c, 0x5c, 0xdf, 0x51, - 0x12, 0x58, 0x4e, 0x32, 0x3e, 0xfb, 0x41, 0x42, 0x99, 0xf2, 0x83, 0x04, 0x4e, 0xc8, 0xd2, 0x39, - 0xf5, 0x0f, 0x08, 0x96, 0x87, 0x27, 0x46, 0x4f, 0x48, 0x68, 0xc7, 0x0d, 0xe1, 0xb5, 0xed, 0xc1, - 0x04, 0x1c, 0x0a, 0xde, 0x6b, 0xd9, 0xc2, 0x4d, 0xc9, 0x95, 0xd9, 0xc1, 0x9f, 0x11, 0x14, 0x75, - 0xc2, 0xba, 0xb8, 0x21, 0x35, 0x64, 0x02, 0x35, 0x1a, 0xd1, 0x6d, 0xc5, 0x5a, 0xc2, 0x7b, 0xae, - 0xd0, 0xef, 0x8b, 0xec, 0x2d, 0xe4, 0xe9, 0xb9, 0x04, 0x08, 0x6f, 0xc6, 0xe5, 0xb6, 0x30, 0x9d, - 0x1e, 0x72, 0xac, 0xfa, 0x17, 0x04, 0xb3, 0x7c, 0x41, 0xbc, 0xd5, 0x04, 0x84, 0x75, 0x27, 0x79, - 0xab, 0xe1, 0xfb, 0x37, 0x84, 0x35, 0xde, 0x86, 0x8a, 0xe8, 0xff, 0x4c, 0x22, 0x24, 0x21, 0x9f, - 0x7e, 0x94, 0x05, 0x34, 0x1e, 0xf0, 0x0e, 0x9c, 0x7a, 0x76, 0xc2, 0x93, 0x4b, 0x00, 0x17, 0xa8, - 0x67, 0xc7, 0x3f, 0xd5, 0xfb, 0xf1, 0x7b, 0x55, 0x6b, 0x40, 0xad, 0xbe, 0x90, 0xa4, 0xef, 0xc2, - 0x1c, 0x6f, 0x2e, 0x68, 0xb4, 0x82, 0xc4, 0x11, 0xdf, 0x1e, 0xa7, 0x4a, 0xd4, 0x90, 0x00, 0xf5, - 0xef, 0x08, 0x5e, 0xbc, 0x78, 0xdb, 0xc4, 0x37, 0x82, 0xac, 0xa0, 0xa0, 0x69, 0x04, 0xe5, 0x62, - 0xbe, 0x2b, 0x53, 0xe7, 0x7b, 0xd2, 0xc9, 0x14, 0xa6, 0xe9, 0x64, 0x7e, 0x00, 0x5f, 0x1f, 0x71, - 0x19, 0xaf, 0x67, 0x8b, 0xf5, 0x2f, 0x95, 0x3f, 0x9e, 0xad, 0xa1, 0x27, 0x67, 0x6b, 0xe8, 0x1f, - 0x67, 0x6b, 0xe8, 0x97, 0x4f, 0xd7, 0x66, 0x9e, 0x3c, 0x5d, 0x9b, 0xf9, 0xdb, 0xd3, 0xb5, 0x19, - 0x58, 0xb3, 0xfc, 0xde, 0x33, 0xd8, 0xea, 0xa5, 0x26, 0x1d, 0xe8, 0xa1, 0xcf, 0x7c, 0x1d, 0x7d, - 0x66, 0x3c, 0x72, 0x58, 0xb7, 0x7f, 0x58, 0xb5, 0xfc, 0xde, 0xba, 0xe5, 0x47, 0x3d, 0x3f, 0x5a, - 0x0f, 0xa9, 0x4b, 0x4e, 0x69, 0xb8, 0x7e, 0xac, 0x0d, 0x7f, 0x5a, 0x5d, 0xe2, 0x78, 0xd1, 0xfa, - 0xd5, 0x7f, 0xa5, 0xdc, 0xb5, 0xe9, 0x20, 0xf9, 0xfd, 0x1b, 0xa5, 0xa0, 0x37, 0x9a, 0xbf, 0x55, - 0x56, 0xf5, 0xc4, 0x85, 0x06, 0x77, 0xa1, 0x49, 0x07, 0xd5, 0x07, 0xd2, 0xe4, 0x4f, 0xe9, 0xe2, - 0x01, 0x5f, 0x3c, 0x68, 0xd2, 0xc1, 0x41, 0xb2, 0x78, 0xa6, 0xbc, 0x76, 0xf5, 0xe2, 0xc1, 0x87, - 0x7a, 0x7d, 0x87, 0x32, 0x62, 0x13, 0x46, 0xfe, 0xa5, 0xbc, 0x94, 0x18, 0x6e, 0x6c, 0x70, 0xcb, - 0x8d, 0x8d, 0x26, 0x1d, 0x6c, 0x6c, 0x24, 0xb6, 0x87, 0x73, 0xe2, 0x4f, 0x99, 0xb7, 0xff, 0x17, - 0x00, 0x00, 0xff, 0xff, 0x38, 0x61, 0x76, 0x55, 0x04, 0x1a, 0x00, 0x00, + 0x15, 0x37, 0x29, 0xd9, 0x96, 0x9f, 0xe4, 0x8d, 0x77, 0x1c, 0xb4, 0x86, 0x8a, 0x38, 0xbb, 0x6c, + 0xfe, 0x6c, 0x93, 0x42, 0x8a, 0x98, 0x14, 0x08, 0xbc, 0x4d, 0x36, 0xd6, 0x1f, 0xaf, 0x95, 0xc4, + 0x32, 0x43, 0x3b, 0xbb, 0x45, 0xba, 0x28, 0x31, 0x26, 0xc7, 0x2b, 0xa2, 0x14, 0xc9, 0x25, 0x47, + 0xb6, 0x7c, 0x2a, 0x50, 0xb4, 0xe8, 0xa9, 0x68, 0xf3, 0x01, 0x8a, 0x22, 0x3d, 0x16, 0xfd, 0x08, + 0x45, 0x7b, 0x2d, 0x8a, 0x1e, 0x72, 0x6b, 0x4f, 0x45, 0xe1, 0x3d, 0x14, 0xe8, 0x07, 0x28, 0x7a, + 0xe8, 0xa1, 0x98, 0xe1, 0x8c, 0x48, 0xdb, 0xf2, 0x4a, 0xf4, 0xba, 0x97, 0xdc, 0x34, 0x33, 0xef, + 0xf7, 0xe3, 0x7b, 0xf3, 0xfe, 0x92, 0x82, 0x57, 0x42, 0xe2, 0x0f, 0x07, 0x07, 0x11, 0xae, 0xdb, + 0x41, 0x44, 0xea, 0x0e, 0x19, 0xd5, 0x8f, 0x1a, 0xd8, 0x0b, 0xfb, 0xb8, 0xc1, 0x16, 0xb5, 0x30, + 0x0a, 0x68, 0x80, 0xaa, 0x52, 0xaa, 0xc6, 0xa4, 0x6a, 0xec, 0x40, 0x4a, 0x55, 0xdf, 0x38, 0xcb, + 0x60, 0x47, 0x27, 0x21, 0x0d, 0x52, 0x92, 0x64, 0x9d, 0xf0, 0x68, 0x3f, 0x56, 0xa0, 0xb8, 0x77, + 0x8c, 0x43, 0xf4, 0x01, 0xcc, 0x87, 0x51, 0x10, 0x1c, 0xae, 0x29, 0xb7, 0x94, 0x3b, 0x65, 0xfd, + 0x8d, 0xda, 0xd9, 0x07, 0x08, 0x90, 0x24, 0xa9, 0x7d, 0xf6, 0x11, 0x43, 0x19, 0x0c, 0x61, 0x26, + 0x40, 0xf4, 0x2e, 0x14, 0x0f, 0x02, 0xe7, 0x64, 0xad, 0xc8, 0x09, 0x5e, 0xa9, 0x5d, 0xae, 0x61, + 0x8d, 0x61, 0x9b, 0x81, 0x73, 0x62, 0x72, 0x84, 0xf6, 0x33, 0x05, 0x96, 0xd8, 0x56, 0xcb, 0xc3, + 0xee, 0x00, 0xbd, 0x98, 0xd5, 0xa4, 0x22, 0xd9, 0xdf, 0x13, 0xec, 0x2a, 0x67, 0xff, 0xd6, 0x34, + 0x76, 0x4e, 0x95, 0x3e, 0x02, 0xbd, 0x0a, 0x37, 0x48, 0x18, 0xd8, 0x7d, 0xcb, 0x19, 0x46, 0x98, + 0xba, 0x81, 0xbf, 0xb6, 0x78, 0x4b, 0xb9, 0x53, 0x34, 0x97, 0xf9, 0x6e, 0x5b, 0x6c, 0x6a, 0xbf, + 0x2e, 0xc0, 0xf2, 0x19, 0x38, 0xda, 0x82, 0x25, 0x7f, 0xe8, 0x79, 0xee, 0xa1, 0x4b, 0x22, 0x71, + 0x37, 0x77, 0xa6, 0xdc, 0x4d, 0x4f, 0xca, 0x9b, 0x29, 0x14, 0xbd, 0x03, 0x85, 0x43, 0x42, 0x84, + 0xfa, 0xda, 0x14, 0x86, 0x2d, 0x42, 0x4c, 0x26, 0x8e, 0x7e, 0x00, 0xab, 0xc1, 0x90, 0x86, 0x43, + 0x6a, 0x35, 0x2c, 0x3b, 0x18, 0x0c, 0x5c, 0x3a, 0x20, 0x3e, 0x5d, 0x2b, 0x70, 0x96, 0xda, 0x14, + 0x96, 0x3d, 0x8a, 0x29, 0x69, 0x8d, 0x51, 0xe6, 0xcd, 0x84, 0xaa, 0x91, 0x6e, 0x65, 0xf8, 0xf5, + 0x2c, 0x7f, 0xf1, 0x79, 0xf8, 0xf5, 0x0c, 0xbf, 0x01, 0x65, 0xc1, 0xef, 0x60, 0x8a, 0xd7, 0x16, + 0x38, 0x6f, 0xfd, 0x59, 0xce, 0x6b, 0x62, 0x6a, 0xf7, 0x99, 0x0b, 0x76, 0x39, 0xae, 0x8d, 0x29, + 0x36, 0x21, 0x18, 0xff, 0xd6, 0xfe, 0xa3, 0x42, 0x49, 0x86, 0x0f, 0xfa, 0x10, 0x2a, 0x34, 0xc2, + 0x8e, 0xeb, 0x3f, 0xb6, 0x42, 0xec, 0x4a, 0xff, 0xbc, 0xfe, 0x2c, 0xfe, 0xfd, 0x44, 0xde, 0xc0, + 0x6e, 0x64, 0x96, 0x69, 0xba, 0x40, 0x9b, 0xb0, 0xe4, 0x10, 0x8f, 0x62, 0xab, 0x61, 0xb9, 0xc2, + 0x4d, 0xaf, 0x4e, 0xb9, 0x80, 0xcd, 0x41, 0x30, 0xf4, 0xa9, 0xb9, 0xc8, 0x71, 0x8d, 0x6e, 0x4a, + 0xa1, 0x5b, 0xae, 0xf0, 0x51, 0x2e, 0x0a, 0xbd, 0x8b, 0x1e, 0xc2, 0x8d, 0x43, 0x42, 0x2e, 0xfa, + 0xe2, 0xad, 0x29, 0x3c, 0x4d, 0xec, 0x61, 0xdf, 0xce, 0x7a, 0x63, 0xf9, 0x90, 0x64, 0x96, 0x68, + 0x13, 0x16, 0x43, 0x7c, 0xe2, 0x05, 0xd8, 0x59, 0x9b, 0x9f, 0x7e, 0x4b, 0x3c, 0xb9, 0x13, 0x71, + 0x53, 0xe2, 0xb4, 0x9f, 0x28, 0x50, 0xce, 0x1c, 0xa0, 0x1e, 0x40, 0x46, 0x4f, 0xe5, 0x4a, 0x31, + 0x93, 0x61, 0xe0, 0x39, 0xea, 0x73, 0x00, 0x71, 0xac, 0xf8, 0x18, 0x87, 0xdc, 0x0d, 0x15, 0x73, + 0x79, 0xbc, 0xcb, 0x9e, 0xae, 0xfd, 0x54, 0xe4, 0xa8, 0xe1, 0x61, 0xd7, 0xa7, 0x64, 0x44, 0xbf, + 0x82, 0x61, 0x70, 0x0f, 0x96, 0x6c, 0x56, 0x82, 0x2c, 0x56, 0x33, 0x8a, 0x33, 0xd7, 0x8c, 0x12, + 0x07, 0x6d, 0x11, 0x82, 0x3e, 0x82, 0xe5, 0x84, 0x00, 0x3b, 0x4e, 0x44, 0xe2, 0x58, 0x38, 0xfd, + 0xb5, 0x69, 0x7a, 0x24, 0xd2, 0x66, 0x85, 0x83, 0xc5, 0x8a, 0x55, 0xe4, 0x28, 0x26, 0xc4, 0xe1, + 0xf9, 0x5b, 0x31, 0x93, 0x85, 0xf6, 0x09, 0xa0, 0x9d, 0xc0, 0xfe, 0xe1, 0x96, 0x17, 0x1c, 0xb7, + 0xdc, 0xb0, 0x4f, 0x22, 0xee, 0x8b, 0xbb, 0x30, 0x7f, 0x84, 0xbd, 0x21, 0x11, 0x4e, 0x98, 0xd1, + 0xf0, 0x04, 0xa3, 0xfd, 0x28, 0xc9, 0x6d, 0xc3, 0xc3, 0x3e, 0x32, 0xe0, 0x06, 0x8b, 0x01, 0x2b, + 0x94, 0x6e, 0x16, 0x8c, 0x53, 0x4b, 0xff, 0x38, 0x2e, 0xcc, 0xe5, 0xf8, 0x4c, 0x98, 0xdc, 0x86, + 0x0a, 0xcb, 0xad, 0x03, 0xcf, 0xf5, 0x99, 0xbb, 0x45, 0x74, 0x95, 0x0f, 0x09, 0x69, 0x8a, 0x2d, + 0xed, 0xdf, 0x4a, 0xa6, 0xfe, 0xff, 0x9f, 0xd4, 0xa8, 0x42, 0x29, 0x0c, 0x62, 0x97, 0x37, 0x21, + 0x95, 0x37, 0xa1, 0xf1, 0xfa, 0x7c, 0xbd, 0x2c, 0x3c, 0x77, 0xbd, 0x9c, 0xd0, 0xf8, 0x8a, 0x93, + 0x1a, 0xdf, 0x7f, 0x45, 0x59, 0x7d, 0xe0, 0x92, 0x63, 0xb4, 0x0d, 0x8b, 0x47, 0x6e, 0xec, 0x1e, + 0x78, 0xd2, 0x8b, 0xdf, 0x9e, 0x66, 0x2c, 0x83, 0xd5, 0x1e, 0x24, 0x98, 0xed, 0x39, 0x53, 0xc2, + 0x51, 0x07, 0x16, 0x82, 0x10, 0x3f, 0x19, 0xca, 0xc6, 0xf7, 0xe6, 0x4c, 0x44, 0xbb, 0x1c, 0xb2, + 0x3d, 0x67, 0x0a, 0x70, 0xf5, 0x73, 0x05, 0x16, 0x05, 0x3b, 0x7a, 0x07, 0x8a, 0xbc, 0x36, 0x24, + 0x9a, 0xdd, 0x9a, 0x46, 0x68, 0x72, 0xe9, 0x09, 0x6e, 0x2c, 0x3c, 0x9f, 0x1b, 0xab, 0xef, 0xc3, + 0x42, 0xa2, 0xe7, 0xd5, 0x34, 0x6a, 0x96, 0x61, 0x89, 0x6b, 0x74, 0xe4, 0x92, 0x63, 0xed, 0x9f, + 0xd9, 0xb9, 0x83, 0xfb, 0x60, 0xe7, 0xbc, 0x0f, 0x1a, 0x33, 0x8d, 0x3c, 0x97, 0x39, 0xe2, 0xc3, + 0x73, 0x8e, 0x78, 0x6b, 0x76, 0xb6, 0x0b, 0xde, 0xf8, 0x6b, 0xc6, 0x1b, 0x6d, 0x00, 0x6e, 0x05, + 0xaf, 0x17, 0x97, 0xe4, 0xfc, 0x64, 0x6e, 0x93, 0x9b, 0x9f, 0x8c, 0x7c, 0x4d, 0x28, 0xc9, 0x31, + 0x47, 0xe8, 0xf7, 0xfa, 0xb4, 0x19, 0x2b, 0xa0, 0x84, 0x69, 0x67, 0x2e, 0x8a, 0xa1, 0x26, 0xc3, + 0xa1, 0x0b, 0xdf, 0xe6, 0xe5, 0xd0, 0xab, 0xbd, 0xb1, 0x4f, 0xaf, 0xc5, 0xae, 0xe6, 0x4d, 0x78, + 0x21, 0x65, 0x49, 0x3c, 0xfd, 0x0b, 0x05, 0xca, 0x99, 0xe6, 0x83, 0xee, 0xc1, 0x22, 0x8e, 0x63, + 0xc2, 0x2c, 0x57, 0x66, 0x2b, 0xd1, 0x4c, 0xba, 0xeb, 0x98, 0x0b, 0x1c, 0xd6, 0x48, 0x09, 0x74, + 0x71, 0x75, 0xf9, 0x08, 0x74, 0xed, 0xe7, 0x0a, 0xac, 0xb6, 0xdd, 0x88, 0xd8, 0x94, 0x38, 0x59, + 0xcd, 0xbe, 0x0b, 0xf3, 0x31, 0xc5, 0x11, 0xcd, 0xa9, 0x57, 0x02, 0x42, 0xef, 0x42, 0x81, 0xf8, + 0x4e, 0x4e, 0x95, 0x18, 0x44, 0xfb, 0x5d, 0x11, 0x56, 0x27, 0x54, 0x35, 0xf4, 0x3e, 0x2c, 0x8a, + 0xce, 0x9c, 0xaf, 0xb7, 0x2c, 0x24, 0x7d, 0x39, 0xc5, 0xeb, 0xf9, 0xfa, 0x7a, 0x82, 0xd7, 0xd1, + 0x07, 0x50, 0xf2, 0xf0, 0xe0, 0xc0, 0x61, 0x0a, 0xe4, 0xeb, 0xea, 0x09, 0xac, 0x91, 0x61, 0xd0, + 0x45, 0x53, 0xcf, 0xc7, 0xa0, 0xb3, 0xb0, 0x1c, 0xfa, 0x87, 0xae, 0xe7, 0x11, 0xc7, 0x6a, 0x88, + 0x9e, 0x3e, 0x23, 0xc7, 0x92, 0x04, 0x36, 0xce, 0xb0, 0xe8, 0x62, 0x28, 0xcf, 0xcb, 0xa2, 0xa3, + 0xaf, 0xc1, 0x42, 0x9f, 0xb8, 0x8f, 0xfb, 0x54, 0xbc, 0x4a, 0x89, 0xd5, 0x85, 0x69, 0xac, 0xf4, + 0x1c, 0xd3, 0xd8, 0x6d, 0xa8, 0x24, 0xdd, 0x4b, 0x3c, 0x69, 0x89, 0x3f, 0xa9, 0xcc, 0xf7, 0xb6, + 0xf9, 0x96, 0xf6, 0x2b, 0x05, 0x5e, 0x10, 0xf8, 0xad, 0xa1, 0x6f, 0xf3, 0x36, 0xba, 0x03, 0x4b, + 0x76, 0x30, 0x08, 0x03, 0x3f, 0x1d, 0x4c, 0xa7, 0x34, 0xd1, 0x88, 0x9c, 0xe3, 0x30, 0x53, 0x06, + 0x74, 0x17, 0x8a, 0xdc, 0x12, 0x35, 0x9f, 0x25, 0x1c, 0xa4, 0x7d, 0xae, 0xb0, 0x70, 0xbe, 0xc0, + 0x8f, 0x56, 0x92, 0x17, 0x42, 0xa6, 0xdd, 0x72, 0xf2, 0xb2, 0xf7, 0x36, 0x28, 0x61, 0xbe, 0xd0, + 0x54, 0x42, 0x06, 0x7a, 0x92, 0x2f, 0x1c, 0x95, 0x27, 0xda, 0x08, 0x4a, 0x26, 0x89, 0x49, 0x74, + 0x44, 0x62, 0xf4, 0x1d, 0x50, 0xa3, 0x9c, 0x19, 0xa5, 0x46, 0x0d, 0x0e, 0xcb, 0x99, 0x48, 0x6a, + 0xa4, 0x6b, 0xa7, 0x0a, 0x94, 0x0c, 0x39, 0xed, 0xbc, 0x07, 0x85, 0xb0, 0xef, 0x8a, 0x67, 0xbf, + 0x39, 0xc3, 0xb5, 0x8e, 0x9d, 0xc3, 0x70, 0x6c, 0x2c, 0xf5, 0x03, 0xdf, 0x26, 0x62, 0x90, 0x4b, + 0x16, 0xe8, 0x1e, 0x2f, 0x5b, 0x94, 0xcc, 0xd2, 0xe0, 0xa5, 0x26, 0xfc, 0xad, 0xc4, 0x4c, 0x70, + 0x2c, 0x4b, 0x23, 0x71, 0x39, 0xb3, 0x7c, 0xcb, 0x90, 0x17, 0x69, 0x8e, 0x51, 0x9a, 0x06, 0x20, + 0x99, 0xbb, 0x0e, 0x53, 0xd3, 0xf5, 0x7d, 0xf1, 0xf5, 0xa0, 0x62, 0x26, 0x0b, 0xed, 0x0b, 0x15, + 0x96, 0xcf, 0x3c, 0x1e, 0x7d, 0x22, 0x15, 0x67, 0x72, 0x37, 0xf4, 0xbb, 0x33, 0x2b, 0x7e, 0x76, + 0xd5, 0xf1, 0x87, 0x03, 0x61, 0x8a, 0xf6, 0x7b, 0x05, 0x6e, 0x5e, 0x38, 0x44, 0xdf, 0x84, 0x97, + 0x8d, 0xdd, 0xbd, 0xee, 0x7e, 0x77, 0xb7, 0x67, 0xed, 0xed, 0x6f, 0xee, 0x77, 0xac, 0x4e, 0xef, + 0xd3, 0x1d, 0xeb, 0xd3, 0xde, 0x9e, 0xd1, 0x69, 0x75, 0xb7, 0xba, 0x9d, 0xf6, 0xca, 0x1c, 0x5a, + 0x87, 0xea, 0x24, 0xa1, 0x5d, 0xa3, 0xd3, 0xeb, 0xb4, 0x57, 0x94, 0xcb, 0xce, 0x5b, 0x1f, 0xef, + 0xee, 0x75, 0xda, 0x2b, 0x2a, 0xba, 0x0d, 0x2f, 0x4d, 0x3a, 0x7f, 0xd8, 0xdd, 0xdf, 0x6e, 0x9b, + 0x9b, 0x0f, 0x7b, 0x2b, 0x05, 0xf4, 0x32, 0x7c, 0x63, 0x32, 0xc5, 0x66, 0x77, 0xa7, 0xd3, 0x5e, + 0x29, 0xb2, 0xd4, 0x99, 0xff, 0x38, 0xec, 0x1d, 0x52, 0x74, 0x1f, 0xca, 0x72, 0x46, 0xb6, 0x5c, + 0xe7, 0x92, 0x8e, 0x34, 0xf1, 0x86, 0xba, 0x8e, 0x09, 0x61, 0xea, 0x8c, 0x71, 0x74, 0xa8, 0x57, + 0x8b, 0x0e, 0xcd, 0x80, 0x8a, 0xdc, 0xdf, 0x0d, 0x89, 0xcf, 0xa2, 0x65, 0x3c, 0xcd, 0x2b, 0xd3, + 0xa3, 0x45, 0x62, 0xd3, 0x99, 0x5f, 0xfb, 0x5e, 0x1a, 0x08, 0x2d, 0x2f, 0x88, 0xc9, 0xb5, 0x19, + 0xab, 0xfd, 0x41, 0x81, 0x15, 0x79, 0xf4, 0xd0, 0xa5, 0x7d, 0x27, 0xc2, 0xc7, 0xd7, 0x77, 0x95, + 0x18, 0x56, 0x65, 0xc4, 0x67, 0xbf, 0x57, 0xa8, 0x57, 0xfc, 0x5e, 0x81, 0x24, 0x59, 0xba, 0xa7, + 0xfd, 0x51, 0x81, 0xd5, 0xf1, 0x8d, 0x91, 0x63, 0x1c, 0x39, 0xc9, 0xbc, 0x78, 0x6d, 0x36, 0x58, + 0x80, 0x22, 0xce, 0x7b, 0x2d, 0x26, 0xdc, 0x14, 0x5c, 0x19, 0x0b, 0xfe, 0xa2, 0x40, 0xd1, 0xc0, + 0xb4, 0x8f, 0x5a, 0xa2, 0x87, 0xcc, 0xd0, 0x8d, 0x26, 0x0c, 0x63, 0x49, 0x2f, 0x61, 0x23, 0x59, + 0x14, 0x0c, 0x79, 0xf4, 0x16, 0xf2, 0x8c, 0x64, 0x1c, 0x84, 0x36, 0x93, 0x72, 0x5b, 0xb8, 0x5a, + 0x3f, 0x64, 0x58, 0xd6, 0x6c, 0xf9, 0x7b, 0x4a, 0x67, 0x44, 0xec, 0x21, 0xaf, 0xe1, 0xf7, 0x61, + 0x81, 0x46, 0xd8, 0x26, 0xf1, 0x9a, 0xc2, 0x75, 0xaa, 0x4f, 0x1b, 0x92, 0xc7, 0x50, 0x56, 0xd4, + 0x6d, 0x62, 0x0a, 0x78, 0xb5, 0x05, 0xf3, 0x7c, 0x03, 0x6d, 0xa4, 0x5f, 0x10, 0x0a, 0x13, 0xd2, + 0xe9, 0xbc, 0x91, 0x0f, 0x98, 0xac, 0xfc, 0x80, 0xf0, 0x77, 0x05, 0x5e, 0x3c, 0x1f, 0xf1, 0xfc, + 0x35, 0x3e, 0x5b, 0xd4, 0x95, 0xab, 0x14, 0xf5, 0xf3, 0x31, 0xa7, 0x5e, 0x39, 0xe6, 0xe4, 0x34, + 0x51, 0xb8, 0xca, 0x34, 0xf1, 0x7d, 0xf8, 0xfa, 0x84, 0x84, 0xb8, 0x1e, 0x13, 0x9b, 0x5f, 0xa8, + 0x7f, 0x3a, 0x5d, 0x57, 0xbe, 0x3c, 0x5d, 0x57, 0xfe, 0x71, 0xba, 0xae, 0xfc, 0xf2, 0xe9, 0xfa, + 0xdc, 0x97, 0x4f, 0xd7, 0xe7, 0xfe, 0xf6, 0x74, 0x7d, 0x0e, 0xd6, 0xed, 0x60, 0xf0, 0x0c, 0xb6, + 0x66, 0xa9, 0x4d, 0x46, 0x46, 0x14, 0xd0, 0xc0, 0x50, 0x3e, 0x33, 0x1f, 0xbb, 0xb4, 0x3f, 0x3c, + 0xa8, 0xd9, 0xc1, 0xa0, 0x6e, 0x07, 0xf1, 0x20, 0x88, 0xeb, 0x11, 0xf1, 0xf0, 0x09, 0x89, 0xea, + 0x47, 0xfa, 0xf8, 0xa7, 0xdd, 0xc7, 0xae, 0x1f, 0xd7, 0x2f, 0xff, 0xb7, 0xe3, 0xae, 0x43, 0x46, + 0xf2, 0xf7, 0x6f, 0xd4, 0x82, 0xd1, 0x6a, 0xff, 0x56, 0xad, 0x1a, 0x52, 0x85, 0x16, 0x53, 0xa1, + 0x4d, 0x46, 0xb5, 0x07, 0x42, 0xe4, 0xcf, 0xe9, 0xe1, 0x23, 0x76, 0xf8, 0xa8, 0x4d, 0x46, 0x8f, + 0xe4, 0xe1, 0xa9, 0xfa, 0xda, 0xe5, 0x87, 0x8f, 0xee, 0x1b, 0xcd, 0x1d, 0x42, 0xb1, 0x83, 0x29, + 0xfe, 0x97, 0xfa, 0x92, 0x14, 0xdc, 0xd8, 0x60, 0x92, 0x1b, 0x1b, 0x6d, 0x32, 0xda, 0xd8, 0x90, + 0xb2, 0x07, 0x0b, 0xfc, 0x7f, 0x93, 0xb7, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x95, 0x49, 0x5f, + 0xa1, 0xa7, 0x19, 0x00, 0x00, } func (m *Swap) Marshal() (dAtA []byte, err error) { @@ -3305,6 +3295,11 @@ func (m *BatchSwapOutputData) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.EpochHeight != 0 { + i = encodeVarintDex(dAtA, i, uint64(m.EpochHeight)) + i-- + dAtA[i] = 0x48 + } if m.TradingPair != nil { { size, err := m.TradingPair.MarshalToSizedBuffer(dAtA[:i]) @@ -3322,9 +3317,9 @@ func (m *BatchSwapOutputData) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x38 } - if m.Lambda_2_2 != nil { + if m.Unfilled_2 != nil { { - size, err := m.Lambda_2_2.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Unfilled_2.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -3334,9 +3329,9 @@ func (m *BatchSwapOutputData) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 } - if m.Lambda_1_2 != nil { + if m.Unfilled_1 != nil { { - size, err := m.Lambda_1_2.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Unfilled_1.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -3346,9 +3341,9 @@ func (m *BatchSwapOutputData) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x2a } - if m.Lambda_2_1 != nil { + if m.Lambda_2 != nil { { - size, err := m.Lambda_2_1.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Lambda_2.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -3358,9 +3353,9 @@ func (m *BatchSwapOutputData) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 } - if m.Lambda_1_1 != nil { + if m.Lambda_1 != nil { { - size, err := m.Lambda_1_1.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Lambda_1.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -3939,7 +3934,7 @@ func (m *Path) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Trade) Marshal() (dAtA []byte, err error) { +func (m *SwapExecution) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3949,56 +3944,34 @@ func (m *Trade) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Trade) MarshalTo(dAtA []byte) (int, error) { +func (m *SwapExecution) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *Trade) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *SwapExecution) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.EndAmount != nil { - { - size, err := m.EndAmount.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintDex(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - if m.StartAmount != nil { - { - size, err := m.StartAmount.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintDex(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if m.Path != nil { - { - size, err := m.Path.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Traces) > 0 { + for iNdEx := len(m.Traces) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Traces[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintDex(dAtA, i, uint64(size)) } - i -= size - i = encodeVarintDex(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *SwapExecution) Marshal() (dAtA []byte, err error) { +func (m *SwapExecution_Trace) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -4008,20 +3981,20 @@ func (m *SwapExecution) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *SwapExecution) MarshalTo(dAtA []byte) (int, error) { +func (m *SwapExecution_Trace) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *SwapExecution) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *SwapExecution_Trace) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Trades) > 0 { - for iNdEx := len(m.Trades) - 1; iNdEx >= 0; iNdEx-- { + if len(m.Value) > 0 { + for iNdEx := len(m.Value) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.Trades[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Value[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -4522,20 +4495,20 @@ func (m *BatchSwapOutputData) Size() (n int) { l = m.Delta_2.Size() n += 1 + l + sovDex(uint64(l)) } - if m.Lambda_1_1 != nil { - l = m.Lambda_1_1.Size() + if m.Lambda_1 != nil { + l = m.Lambda_1.Size() n += 1 + l + sovDex(uint64(l)) } - if m.Lambda_2_1 != nil { - l = m.Lambda_2_1.Size() + if m.Lambda_2 != nil { + l = m.Lambda_2.Size() n += 1 + l + sovDex(uint64(l)) } - if m.Lambda_1_2 != nil { - l = m.Lambda_1_2.Size() + if m.Unfilled_1 != nil { + l = m.Unfilled_1.Size() n += 1 + l + sovDex(uint64(l)) } - if m.Lambda_2_2 != nil { - l = m.Lambda_2_2.Size() + if m.Unfilled_2 != nil { + l = m.Unfilled_2.Size() n += 1 + l + sovDex(uint64(l)) } if m.Height != 0 { @@ -4545,6 +4518,9 @@ func (m *BatchSwapOutputData) Size() (n int) { l = m.TradingPair.Size() n += 1 + l + sovDex(uint64(l)) } + if m.EpochHeight != 0 { + n += 1 + sovDex(uint64(m.EpochHeight)) + } return n } @@ -4752,35 +4728,29 @@ func (m *Path) Size() (n int) { return n } -func (m *Trade) Size() (n int) { +func (m *SwapExecution) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Path != nil { - l = m.Path.Size() - n += 1 + l + sovDex(uint64(l)) - } - if m.StartAmount != nil { - l = m.StartAmount.Size() - n += 1 + l + sovDex(uint64(l)) - } - if m.EndAmount != nil { - l = m.EndAmount.Size() - n += 1 + l + sovDex(uint64(l)) + if len(m.Traces) > 0 { + for _, e := range m.Traces { + l = e.Size() + n += 1 + l + sovDex(uint64(l)) + } } return n } -func (m *SwapExecution) Size() (n int) { +func (m *SwapExecution_Trace) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Trades) > 0 { - for _, e := range m.Trades { + if len(m.Value) > 0 { + for _, e := range m.Value { l = e.Size() n += 1 + l + sovDex(uint64(l)) } @@ -7338,7 +7308,7 @@ func (m *BatchSwapOutputData) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Lambda_1_1", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Lambda_1", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7365,16 +7335,16 @@ func (m *BatchSwapOutputData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Lambda_1_1 == nil { - m.Lambda_1_1 = &v1alpha1.Amount{} + if m.Lambda_1 == nil { + m.Lambda_1 = &v1alpha1.Amount{} } - if err := m.Lambda_1_1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Lambda_1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Lambda_2_1", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Lambda_2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7401,16 +7371,16 @@ func (m *BatchSwapOutputData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Lambda_2_1 == nil { - m.Lambda_2_1 = &v1alpha1.Amount{} + if m.Lambda_2 == nil { + m.Lambda_2 = &v1alpha1.Amount{} } - if err := m.Lambda_2_1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Lambda_2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Lambda_1_2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Unfilled_1", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7437,16 +7407,16 @@ func (m *BatchSwapOutputData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Lambda_1_2 == nil { - m.Lambda_1_2 = &v1alpha1.Amount{} + if m.Unfilled_1 == nil { + m.Unfilled_1 = &v1alpha1.Amount{} } - if err := m.Lambda_1_2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Unfilled_1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Lambda_2_2", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Unfilled_2", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7473,10 +7443,10 @@ func (m *BatchSwapOutputData) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Lambda_2_2 == nil { - m.Lambda_2_2 = &v1alpha1.Amount{} + if m.Unfilled_2 == nil { + m.Unfilled_2 = &v1alpha1.Amount{} } - if err := m.Lambda_2_2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Unfilled_2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -7535,6 +7505,25 @@ func (m *BatchSwapOutputData) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EpochHeight", wireType) + } + m.EpochHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDex + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.EpochHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipDex(dAtA[iNdEx:]) @@ -8980,7 +8969,7 @@ func (m *Path) Unmarshal(dAtA []byte) error { } return nil } -func (m *Trade) Unmarshal(dAtA []byte) error { +func (m *SwapExecution) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9003,15 +8992,15 @@ func (m *Trade) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Trade: wiretype end group for non-group") + return fmt.Errorf("proto: SwapExecution: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Trade: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SwapExecution: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Traces", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9038,82 +9027,8 @@ func (m *Trade) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Path == nil { - m.Path = &Path{} - } - if err := m.Path.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StartAmount", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowDex - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthDex - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDex - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.StartAmount == nil { - m.StartAmount = &v1alpha1.Amount{} - } - if err := m.StartAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EndAmount", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowDex - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthDex - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDex - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.EndAmount == nil { - m.EndAmount = &v1alpha1.Amount{} - } - if err := m.EndAmount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Traces = append(m.Traces, &SwapExecution_Trace{}) + if err := m.Traces[len(m.Traces)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9138,7 +9053,7 @@ func (m *Trade) Unmarshal(dAtA []byte) error { } return nil } -func (m *SwapExecution) Unmarshal(dAtA []byte) error { +func (m *SwapExecution_Trace) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9161,15 +9076,15 @@ func (m *SwapExecution) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SwapExecution: wiretype end group for non-group") + return fmt.Errorf("proto: Trace: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SwapExecution: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Trace: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Trades", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9196,8 +9111,8 @@ func (m *SwapExecution) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Trades = append(m.Trades, &Trade{}) - if err := m.Trades[len(m.Trades)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Value = append(m.Value, &v1alpha1.Value{}) + if err := m.Value[len(m.Value)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go b/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go index 2dab3ab79..2228a0a81 100644 --- a/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go +++ b/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go @@ -650,7 +650,6 @@ func (m *ValidatorStatus) GetBondingState() *BondingState { type BondingState struct { State BondingState_BondingStateEnum `protobuf:"varint,1,opt,name=state,proto3,enum=penumbra.core.stake.v1alpha1.BondingState_BondingStateEnum" json:"state,omitempty"` // Types that are valid to be assigned to XUnbondingEpoch: - // // *BondingState_UnbondingEpoch XUnbondingEpoch isBondingState_XUnbondingEpoch `protobuf_oneof:"_unbonding_epoch"` } diff --git a/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go b/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go index e11591783..027751ff9 100644 --- a/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go +++ b/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go @@ -658,7 +658,9 @@ type TransactionPerspective struct { // Any relevant address views. AddressViews []*v1alpha1.AddressView `protobuf:"bytes,4,rep,name=address_views,json=addressViews,proto3" json:"address_views,omitempty"` // Any relevant denoms for viewed assets. - Denoms []*v1alpha1.Denom `protobuf:"bytes,5,rep,name=denoms,proto3" json:"denoms,omitempty"` + Denoms []*v1alpha1.DenomMetadata `protobuf:"bytes,5,rep,name=denoms,proto3" json:"denoms,omitempty"` + // The transaction ID associated with this TransactionPerspective + TransactionId *Id `protobuf:"bytes,6,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"` } func (m *TransactionPerspective) Reset() { *m = TransactionPerspective{} } @@ -722,13 +724,20 @@ func (m *TransactionPerspective) GetAddressViews() []*v1alpha1.AddressView { return nil } -func (m *TransactionPerspective) GetDenoms() []*v1alpha1.Denom { +func (m *TransactionPerspective) GetDenoms() []*v1alpha1.DenomMetadata { if m != nil { return m.Denoms } return nil } +func (m *TransactionPerspective) GetTransactionId() *Id { + if m != nil { + return m.TransactionId + } + return nil +} + type PayloadKey struct { Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` } @@ -3369,172 +3378,173 @@ func init() { } var fileDescriptor_cd20ea79758052c4 = []byte{ - // 2631 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcd, 0x6f, 0x1c, 0x49, - 0x15, 0x9f, 0x9e, 0xb1, 0xc7, 0xf6, 0x9b, 0xf1, 0x57, 0xc5, 0x9b, 0x1d, 0x2c, 0xe4, 0x8d, 0x7a, - 0x93, 0xe0, 0x24, 0xec, 0x38, 0xb1, 0x9d, 0x8d, 0xe4, 0x0d, 0xb0, 0x1e, 0x7b, 0xb3, 0xe3, 0x64, - 0x1d, 0xcf, 0x76, 0x82, 0xa3, 0x04, 0xb3, 0x4d, 0x4d, 0x77, 0xd9, 0xd3, 0x72, 0x4f, 0x77, 0xd3, - 0xdd, 0x33, 0x8e, 0xf7, 0x1f, 0x00, 0x2e, 0x68, 0x91, 0x38, 0x20, 0x2e, 0x48, 0x5c, 0x90, 0x38, - 0x70, 0xe0, 0x08, 0xe2, 0xcc, 0x0a, 0x24, 0x14, 0x89, 0x0b, 0xd2, 0x0a, 0x09, 0x92, 0x13, 0x1f, - 0x17, 0xfe, 0x01, 0x84, 0xaa, 0xba, 0xfa, 0x73, 0xda, 0x99, 0x1e, 0x3b, 0x61, 0x95, 0x4d, 0x4e, - 0xae, 0x7a, 0x7e, 0xef, 0x57, 0x55, 0xef, 0xbd, 0xaa, 0x7a, 0xef, 0x55, 0x0f, 0x2c, 0x5b, 0xc4, + // 2656 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x4f, 0x6f, 0x1c, 0x49, + 0x15, 0x9f, 0x9e, 0xb1, 0xc7, 0xf6, 0x9b, 0xf1, 0xbf, 0x8a, 0x93, 0x1d, 0x2c, 0xe4, 0x8d, 0x7a, + 0x93, 0xe0, 0x24, 0xbb, 0xe3, 0xc4, 0x76, 0x36, 0x92, 0x77, 0x81, 0xf5, 0xd8, 0x9b, 0x1d, 0x27, + 0xeb, 0x78, 0xb6, 0x13, 0x1c, 0x25, 0x98, 0x6d, 0x6a, 0xba, 0xcb, 0x9e, 0x96, 0x7b, 0xba, 0x9b, + 0xee, 0x9e, 0x71, 0xbc, 0x5f, 0x00, 0xb8, 0xa0, 0x45, 0xe2, 0x80, 0xb8, 0x20, 0x71, 0x41, 0xe2, + 0xc0, 0x07, 0x00, 0x71, 0x66, 0x05, 0x12, 0x8a, 0xc4, 0x05, 0x69, 0x85, 0x04, 0xc9, 0x89, 0x3f, + 0x17, 0xbe, 0x00, 0x42, 0x55, 0x5d, 0xfd, 0x77, 0xda, 0x99, 0x1e, 0x3b, 0x61, 0x95, 0x4d, 0x4e, + 0xae, 0x7a, 0xf3, 0xde, 0xaf, 0xaa, 0xde, 0x7b, 0x55, 0xf5, 0xde, 0xab, 0x36, 0x2c, 0x5b, 0xc4, 0xe8, 0xb4, 0x9b, 0x36, 0x5e, 0x50, 0x4c, 0x9b, 0x2c, 0xb8, 0x36, 0x36, 0x1c, 0xac, 0xb8, 0x9a, - 0x69, 0x2c, 0x74, 0xaf, 0x60, 0xdd, 0x6a, 0xe1, 0x2b, 0x51, 0x62, 0xd5, 0xb2, 0x4d, 0xd7, 0x44, - 0xa2, 0x2f, 0x55, 0xa5, 0x52, 0xd5, 0x28, 0x83, 0x2f, 0x35, 0x7b, 0x31, 0x8e, 0xac, 0xd8, 0x87, + 0x69, 0x2c, 0x74, 0xaf, 0x62, 0xdd, 0x6a, 0xe1, 0xab, 0x51, 0x62, 0xd5, 0xb2, 0x4d, 0xd7, 0x44, + 0xa2, 0x2f, 0x55, 0xa5, 0x52, 0xd5, 0x28, 0x83, 0x2f, 0x35, 0x7b, 0x29, 0x8e, 0xac, 0xd8, 0x87, 0x96, 0x6b, 0x86, 0xa0, 0x5e, 0xdf, 0xc3, 0x9b, 0x9d, 0x8f, 0xf3, 0x3a, 0x2e, 0xde, 0x27, 0x21, - 0x2b, 0xeb, 0x72, 0xce, 0xb3, 0x71, 0x4e, 0xad, 0xa9, 0x84, 0x7c, 0x5a, 0x53, 0x49, 0xe7, 0x52, + 0x2b, 0xeb, 0x72, 0xce, 0x73, 0x71, 0x4e, 0xad, 0xa9, 0x84, 0x7c, 0x5a, 0x53, 0x49, 0xe7, 0x52, 0xc9, 0xc3, 0x90, 0x4b, 0x25, 0x0f, 0x39, 0xd7, 0x62, 0x9c, 0x6b, 0xcf, 0xec, 0x12, 0xdb, 0xc0, - 0x86, 0x12, 0x19, 0x3a, 0xa4, 0x79, 0x32, 0xe2, 0x6f, 0x04, 0x28, 0xdd, 0x0d, 0x97, 0x8b, 0xde, - 0x87, 0xa1, 0xa6, 0xa9, 0x1e, 0x56, 0x84, 0x33, 0xc2, 0x7c, 0x69, 0x71, 0xa9, 0xda, 0x5f, 0x31, - 0xd5, 0x88, 0x78, 0xcd, 0x54, 0x0f, 0x25, 0x06, 0x80, 0xde, 0x80, 0x52, 0x53, 0x33, 0x54, 0xcd, - 0xd8, 0x93, 0x1d, 0x6d, 0xaf, 0x92, 0x3f, 0x23, 0xcc, 0x97, 0x25, 0xe0, 0xa4, 0x3b, 0xda, 0x1e, - 0x5a, 0x85, 0x22, 0x36, 0x94, 0x96, 0x69, 0x57, 0x0a, 0x6c, 0xac, 0x0b, 0x89, 0xb1, 0xb8, 0x42, + 0x86, 0x12, 0x19, 0x3a, 0xa4, 0x79, 0x32, 0xe2, 0x6f, 0x04, 0x28, 0xdd, 0x0d, 0x97, 0x8b, 0x3e, + 0x80, 0xa1, 0xa6, 0xa9, 0x1e, 0x56, 0x84, 0xb3, 0xc2, 0x7c, 0x69, 0x71, 0xa9, 0xda, 0x5f, 0x31, + 0xd5, 0x88, 0x78, 0xcd, 0x54, 0x0f, 0x25, 0x06, 0x80, 0x5e, 0x87, 0x52, 0x53, 0x33, 0x54, 0xcd, + 0xd8, 0x93, 0x1d, 0x6d, 0xaf, 0x92, 0x3f, 0x2b, 0xcc, 0x97, 0x25, 0xe0, 0xa4, 0x3b, 0xda, 0x1e, + 0x5a, 0x85, 0x22, 0x36, 0x94, 0x96, 0x69, 0x57, 0x0a, 0x6c, 0xac, 0x8b, 0x89, 0xb1, 0xb8, 0x42, 0x83, 0x61, 0x36, 0x89, 0xbd, 0xaf, 0x13, 0xc9, 0x34, 0x5d, 0x89, 0x0b, 0x8a, 0x15, 0xc8, 0x6f, - 0xa8, 0x08, 0xc1, 0x50, 0x0b, 0x3b, 0x2d, 0x36, 0xe5, 0xb2, 0xc4, 0xda, 0xa2, 0x08, 0xf0, 0xde, + 0xa8, 0x08, 0xc1, 0x50, 0x0b, 0x3b, 0x2d, 0x36, 0xe5, 0xb2, 0xc4, 0xda, 0xa2, 0x08, 0xf0, 0xfe, 0xee, 0x2e, 0x51, 0xdc, 0x3a, 0x76, 0x5a, 0x68, 0x06, 0x86, 0x35, 0xc3, 0x20, 0x36, 0x67, 0xf1, - 0x3a, 0xe2, 0x9f, 0xf2, 0x30, 0x99, 0x98, 0x3b, 0x5a, 0x87, 0x11, 0xaf, 0xe7, 0x54, 0x84, 0x33, - 0x85, 0xf9, 0xd2, 0xe2, 0xc5, 0x2c, 0x1a, 0x58, 0x65, 0x7d, 0xc9, 0x17, 0x45, 0x6f, 0xc2, 0x38, + 0x3a, 0xe2, 0x9f, 0xf2, 0x30, 0x99, 0x98, 0x3b, 0x5a, 0x87, 0x11, 0xaf, 0xe7, 0x54, 0x84, 0xb3, + 0x85, 0xf9, 0xd2, 0xe2, 0xa5, 0x2c, 0x1a, 0x58, 0x65, 0x7d, 0xc9, 0x17, 0x45, 0x6f, 0xc0, 0x38, 0x79, 0x68, 0x69, 0xf6, 0xa1, 0xdc, 0x22, 0xda, 0x5e, 0xcb, 0x65, 0xab, 0x1f, 0x92, 0xca, 0x1e, - 0xb1, 0xce, 0x68, 0xe8, 0x4b, 0x30, 0xaa, 0xb4, 0xb0, 0x66, 0xc8, 0x9a, 0xca, 0x34, 0x30, 0x26, + 0xb1, 0xce, 0x68, 0xe8, 0x2b, 0x30, 0xaa, 0xb4, 0xb0, 0x66, 0xc8, 0x9a, 0xca, 0x34, 0x30, 0x26, 0x8d, 0xb0, 0xfe, 0x86, 0x8a, 0x96, 0xa1, 0xb0, 0x4b, 0x48, 0x65, 0x88, 0xe9, 0x45, 0xec, 0xa3, - 0x97, 0x1b, 0x84, 0x48, 0x94, 0x1d, 0xbd, 0x0b, 0x63, 0xbb, 0x6d, 0x55, 0x56, 0xf4, 0x0e, 0x71, - 0x2a, 0xc3, 0x6c, 0xf6, 0x6f, 0xf6, 0x91, 0x5d, 0xd3, 0x3b, 0x44, 0x1a, 0xdd, 0x6d, 0xab, 0xb4, - 0xe1, 0xa0, 0x8b, 0x30, 0x41, 0x0c, 0xc6, 0x43, 0x54, 0xb9, 0x4d, 0xda, 0x66, 0xa5, 0x48, 0x15, - 0x56, 0xcf, 0x49, 0xe3, 0x01, 0x7d, 0x93, 0xb4, 0xcd, 0xef, 0x0b, 0x42, 0x6d, 0x1a, 0x26, 0xe5, + 0x97, 0x1b, 0x84, 0x48, 0x94, 0x1d, 0xbd, 0x07, 0x63, 0xbb, 0x6d, 0x55, 0x56, 0xf4, 0x0e, 0x71, + 0x2a, 0xc3, 0x6c, 0xf6, 0x6f, 0xf4, 0x91, 0x5d, 0xd3, 0x3b, 0x44, 0x1a, 0xdd, 0x6d, 0xab, 0xb4, + 0xe1, 0xa0, 0x4b, 0x30, 0x41, 0x0c, 0xc6, 0x43, 0x54, 0xb9, 0x4d, 0xda, 0x66, 0xa5, 0x48, 0x15, + 0x56, 0xcf, 0x49, 0xe3, 0x01, 0x7d, 0x93, 0xb4, 0xcd, 0x1f, 0x08, 0x42, 0x6d, 0x1a, 0x26, 0xe5, 0x38, 0xb3, 0xf8, 0xe7, 0x09, 0x28, 0x7a, 0xaa, 0x40, 0xab, 0x30, 0xec, 0x58, 0xc4, 0x50, 0xb9, - 0x1f, 0x5d, 0xc8, 0xa2, 0xc5, 0x3b, 0x54, 0xa0, 0x9e, 0x93, 0x3c, 0x49, 0xb4, 0x0e, 0x45, 0xb3, + 0x1f, 0x5d, 0xcc, 0xa2, 0xc5, 0x3b, 0x54, 0xa0, 0x9e, 0x93, 0x3c, 0x49, 0xb4, 0x0e, 0x45, 0xb3, 0xe3, 0x5a, 0x1d, 0x4f, 0x7b, 0x19, 0x2d, 0xb1, 0xc5, 0x24, 0xea, 0x39, 0x89, 0xcb, 0xa2, 0xb7, - 0x61, 0xc8, 0x39, 0xc0, 0x16, 0xf7, 0xb1, 0x33, 0x09, 0x0c, 0xba, 0x77, 0xc2, 0xf1, 0x0f, 0xb0, + 0x61, 0xc8, 0x39, 0xc0, 0x16, 0xf7, 0xb1, 0xb3, 0x09, 0x0c, 0xba, 0x77, 0xc2, 0xf1, 0x0f, 0xb0, 0x55, 0xcf, 0x49, 0x8c, 0x1f, 0xdd, 0x00, 0xa0, 0x7f, 0x65, 0x45, 0xc7, 0x5a, 0x9b, 0x5b, 0xe2, - 0x5c, 0x3f, 0xe9, 0x35, 0xca, 0x5c, 0xcf, 0x49, 0x63, 0x8e, 0xdf, 0x41, 0xbb, 0x30, 0xd3, 0xc5, + 0x7c, 0x3f, 0xe9, 0x35, 0xca, 0x5c, 0xcf, 0x49, 0x63, 0x8e, 0xdf, 0x41, 0xbb, 0x30, 0xd3, 0xc5, 0xba, 0xa6, 0x62, 0xd7, 0xb4, 0x65, 0x95, 0xec, 0x6a, 0x86, 0x46, 0x67, 0x5c, 0x99, 0x62, 0x88, - 0x57, 0x12, 0x88, 0xde, 0xc9, 0x10, 0x60, 0x6e, 0xfb, 0x92, 0xeb, 0x81, 0x60, 0x3d, 0x27, 0x9d, + 0x57, 0x13, 0x88, 0xde, 0xc9, 0x10, 0x60, 0x6e, 0xfb, 0x92, 0xeb, 0x81, 0x60, 0x3d, 0x27, 0x9d, 0xea, 0xf6, 0x92, 0xe9, 0x7c, 0xb5, 0xa6, 0x22, 0x7b, 0xfa, 0xa8, 0x4c, 0xa7, 0xce, 0x97, 0x9e, 0x27, 0x01, 0xf6, 0x46, 0x53, 0xf1, 0x6c, 0x45, 0xe7, 0xab, 0xf9, 0x1d, 0xb4, 0x03, 0x93, 0x96, 0x6d, 0x5a, 0xa6, 0x83, 0x75, 0xd9, 0xe9, 0x34, 0xdb, 0x9a, 0x5b, 0x41, 0xa9, 0x53, 0x8d, 0x9c, 0x24, 0x01, 0x66, 0x83, 0x4b, 0xde, 0x61, 0x82, 0xf5, 0x9c, 0x34, 0x61, 0xc5, 0x28, 0xa8, 0x09, 0xd3, 0x01, 0xfa, 0x81, 0xe6, 0xb6, 0x54, 0x1b, 0x1f, 0x54, 0x4e, 0xa5, 0x1e, 0x35, 0x4f, 0xc3, 0xbf, 0xc7, 0x45, 0xeb, 0x39, 0x69, 0xca, 0x4a, 0xd0, 0xd0, 0x7d, 0x98, 0x08, 0x35, 0xde, 0x35, - 0x5d, 0x52, 0x99, 0x61, 0x03, 0x5c, 0xce, 0x30, 0x40, 0xa0, 0xf0, 0x6d, 0xd3, 0x25, 0xd4, 0xed, - 0xbb, 0x51, 0x02, 0x85, 0x56, 0x89, 0x4e, 0xf6, 0x42, 0xe8, 0xd7, 0x32, 0x43, 0xaf, 0xfb, 0x82, - 0x3e, 0xb4, 0x1a, 0x25, 0x20, 0x13, 0x4e, 0x07, 0x9a, 0x51, 0x89, 0x65, 0x3a, 0x9a, 0xcb, 0x7d, - 0xef, 0x34, 0x1b, 0xe2, 0xda, 0x00, 0xea, 0x59, 0xf7, 0xe4, 0x7d, 0x6f, 0x9c, 0xb1, 0x52, 0xe8, - 0x68, 0x0b, 0xc6, 0x59, 0x4f, 0x33, 0x0d, 0xd9, 0xb4, 0x88, 0x51, 0x99, 0x63, 0xe3, 0xcc, 0x3f, - 0xcd, 0xc7, 0x1b, 0x5c, 0x60, 0xcb, 0x22, 0xd4, 0x6d, 0xca, 0x56, 0xa4, 0x8f, 0x24, 0x98, 0x08, - 0x00, 0x15, 0xdd, 0x74, 0x48, 0xe5, 0x8d, 0xd4, 0xbd, 0x9f, 0x8a, 0xb8, 0x46, 0x05, 0xa8, 0x56, - 0xac, 0x28, 0x01, 0x7d, 0x0b, 0xa6, 0x03, 0xcc, 0xc0, 0x5f, 0xce, 0x30, 0xd8, 0xaf, 0x66, 0x81, - 0x8d, 0x39, 0x4a, 0x82, 0x86, 0x08, 0xbc, 0x16, 0x80, 0xdb, 0xe4, 0x00, 0xdb, 0x2a, 0xd7, 0xb8, - 0xc8, 0x06, 0x58, 0xc8, 0x32, 0x80, 0xc4, 0xe4, 0x7c, 0x4d, 0x9f, 0xb2, 0x7a, 0xc9, 0x68, 0x1d, - 0x46, 0xb9, 0xa9, 0x49, 0x65, 0x9e, 0x21, 0x9f, 0x7f, 0xfa, 0xae, 0xe7, 0x9e, 0x42, 0xd5, 0x11, - 0x48, 0xa2, 0x9b, 0x00, 0x1d, 0x23, 0xc0, 0xb9, 0x90, 0x6a, 0xab, 0x04, 0xce, 0x37, 0x03, 0xfe, - 0x7a, 0x4e, 0x8a, 0x48, 0xa3, 0x07, 0x30, 0x15, 0xf6, 0xf8, 0x9a, 0x2f, 0x32, 0xc4, 0xb7, 0xb2, - 0x22, 0xfa, 0x2b, 0x9e, 0xec, 0xc4, 0x49, 0xe8, 0x26, 0x8c, 0xa9, 0xd8, 0x94, 0xbd, 0xc3, 0x7f, - 0x91, 0x81, 0x5e, 0xca, 0xb2, 0x3b, 0xb0, 0xe9, 0x1f, 0xff, 0xa3, 0x2a, 0x6f, 0xa3, 0x4d, 0x00, - 0x8a, 0xc5, 0x6f, 0x81, 0xa5, 0x54, 0xb3, 0x1f, 0x01, 0x16, 0xdc, 0x03, 0x74, 0x36, 0x5e, 0x07, - 0x35, 0xa0, 0x44, 0xe1, 0xf8, 0xee, 0xaa, 0x2c, 0xa7, 0xae, 0xf8, 0x08, 0x3c, 0xbe, 0x75, 0xa8, - 0x22, 0xd5, 0xa0, 0x87, 0xee, 0xc3, 0x94, 0xa6, 0x38, 0x8b, 0x97, 0x03, 0xdf, 0xc4, 0x7a, 0xe5, - 0x53, 0x21, 0x75, 0xd1, 0xf1, 0xb3, 0x97, 0x0a, 0xdd, 0x0b, 0x64, 0xa8, 0x1e, 0xb5, 0x38, 0xa9, - 0x36, 0x0a, 0x45, 0xef, 0x2c, 0x17, 0x7f, 0x5d, 0x80, 0xd3, 0x91, 0x30, 0xa5, 0x41, 0x6c, 0xc7, - 0x22, 0x8a, 0xab, 0x75, 0x09, 0x92, 0xa1, 0x6c, 0xe1, 0x43, 0xdd, 0xc4, 0xaa, 0xbc, 0x4f, 0x0e, - 0xfd, 0x90, 0xe5, 0x7a, 0x96, 0x8b, 0xb2, 0xe1, 0xc9, 0xdd, 0x22, 0x87, 0x74, 0xd0, 0x35, 0xb3, - 0xdd, 0xd6, 0xdc, 0x36, 0x31, 0x5c, 0xa9, 0x64, 0x05, 0xff, 0x71, 0xd0, 0x77, 0x60, 0x8a, 0x59, - 0x52, 0x36, 0x3a, 0xba, 0xae, 0xed, 0x6a, 0xc4, 0x76, 0x2a, 0x79, 0x36, 0xc8, 0xd5, 0x2c, 0x83, - 0xdc, 0xf6, 0xa5, 0xe8, 0x18, 0xb7, 0x4d, 0x97, 0x48, 0x93, 0x0c, 0x2e, 0xa0, 0x3b, 0xe8, 0x06, - 0x94, 0xb1, 0xda, 0xd5, 0x14, 0x22, 0x1b, 0xa6, 0x4b, 0x9c, 0x4a, 0x21, 0x53, 0xdc, 0xc2, 0xb0, - 0x4a, 0x9e, 0x20, 0x6d, 0x3b, 0xf4, 0x38, 0xc3, 0xaa, 0x6a, 0x13, 0xc7, 0x91, 0xbb, 0x1a, 0x39, - 0x70, 0x2a, 0x43, 0xa9, 0xe1, 0x5b, 0x12, 0x68, 0xd5, 0x93, 0xd9, 0xd6, 0xc8, 0x81, 0x54, 0xc6, - 0x61, 0xc7, 0x41, 0xd7, 0xa1, 0xa8, 0x12, 0xc3, 0x6c, 0xfb, 0xa1, 0xd4, 0xd9, 0x3e, 0x48, 0xeb, - 0x94, 0x59, 0xe2, 0x32, 0x34, 0xfe, 0x0c, 0x35, 0x7c, 0x44, 0xfc, 0xf9, 0x5b, 0x01, 0x2a, 0x47, - 0x99, 0x01, 0x6d, 0x41, 0x29, 0x62, 0x5a, 0x1e, 0x46, 0x55, 0x07, 0xb3, 0xac, 0x04, 0xa1, 0x2d, - 0xd1, 0x6d, 0x00, 0x25, 0x80, 0xe7, 0x21, 0x55, 0xb5, 0xcf, 0x9a, 0xee, 0xb8, 0x74, 0x5f, 0x87, - 0xbe, 0x11, 0x41, 0x10, 0x7f, 0x2c, 0xc0, 0x74, 0x8f, 0x7d, 0xd1, 0x0d, 0x18, 0x0b, 0x5c, 0x85, - 0x4f, 0x7a, 0xbe, 0x9f, 0x2d, 0x7d, 0x7e, 0x29, 0x14, 0x45, 0xd7, 0x60, 0x88, 0xfa, 0x03, 0x9f, - 0x67, 0x26, 0x77, 0x60, 0x02, 0xe2, 0x1f, 0x85, 0x58, 0x50, 0x4f, 0x6d, 0x89, 0xee, 0xc2, 0x18, - 0x4d, 0x49, 0x98, 0x63, 0xf0, 0x49, 0x5d, 0x3b, 0x46, 0x62, 0xc3, 0x9c, 0x64, 0xb4, 0xc9, 0x5b, - 0xff, 0x97, 0x04, 0xe7, 0xbf, 0x79, 0x38, 0x95, 0x32, 0x0b, 0xf4, 0x21, 0x94, 0x3d, 0x0a, 0x77, - 0x76, 0x6f, 0xe3, 0x57, 0xb3, 0xe7, 0x2a, 0x6c, 0x2d, 0xa5, 0x50, 0x47, 0x2f, 0x6e, 0xce, 0x72, - 0x1b, 0xc6, 0x68, 0xf2, 0xe1, 0x19, 0xb7, 0x98, 0x7a, 0x47, 0xa4, 0xea, 0x81, 0xe6, 0x31, 0x74, - 0xe5, 0xf4, 0xc6, 0x69, 0xf3, 0x36, 0xcd, 0x6b, 0xca, 0x00, 0x72, 0x00, 0x28, 0xfe, 0x67, 0x02, - 0x20, 0xd4, 0x18, 0x7a, 0x2f, 0x9e, 0xd6, 0xbc, 0x95, 0x39, 0xad, 0xe1, 0x23, 0xf1, 0xd4, 0xa6, - 0x9e, 0x48, 0x6d, 0xaa, 0xd9, 0x53, 0x1b, 0x0e, 0xe4, 0xa7, 0x37, 0x2b, 0xb1, 0xf4, 0xe6, 0x6c, - 0xbf, 0x04, 0x85, 0x4b, 0x7b, 0x29, 0xce, 0xcd, 0x94, 0x14, 0xe7, 0x42, 0xa6, 0x14, 0x87, 0xc3, - 0xbc, 0x4a, 0x73, 0xbe, 0x98, 0x69, 0xce, 0x47, 0x47, 0xa4, 0x39, 0x99, 0xee, 0xfc, 0x58, 0x9e, - 0xc3, 0x1d, 0xe5, 0x55, 0xae, 0xf3, 0x12, 0xe6, 0x3a, 0x17, 0x9e, 0x51, 0xae, 0x73, 0xf1, 0x44, - 0xb9, 0xce, 0x4b, 0x95, 0x8f, 0xa4, 0x25, 0x76, 0x97, 0x9e, 0x51, 0x62, 0xf7, 0x1c, 0x73, 0x9d, - 0x71, 0x28, 0x45, 0xa2, 0x19, 0xf1, 0x47, 0x05, 0x18, 0x0b, 0x2e, 0x4d, 0xf4, 0x21, 0x8c, 0x74, - 0x35, 0x47, 0x6b, 0xea, 0x84, 0x5f, 0xba, 0x57, 0x07, 0xba, 0x74, 0xab, 0xdb, 0x9e, 0x70, 0x3d, - 0x27, 0xf9, 0x38, 0xe8, 0x36, 0x14, 0x4d, 0x0b, 0x7f, 0xb7, 0xe3, 0x87, 0x97, 0xcb, 0x83, 0x21, - 0x6e, 0x31, 0x59, 0x76, 0x09, 0xb3, 0xd6, 0xec, 0xf7, 0x04, 0x18, 0xe1, 0xc3, 0xa0, 0x6f, 0x1c, - 0xb7, 0xf0, 0xe9, 0xc7, 0x06, 0xef, 0xc4, 0x22, 0xdf, 0xaf, 0x64, 0x88, 0x7c, 0x59, 0x2c, 0xc7, - 0x84, 0x66, 0x37, 0xa0, 0xe8, 0xcd, 0xee, 0xc4, 0xf3, 0xa0, 0x71, 0x90, 0x97, 0xfa, 0x31, 0x9b, - 0xfc, 0xb5, 0x00, 0xd3, 0x3d, 0x27, 0x3b, 0xba, 0x9f, 0xb4, 0xcd, 0xd7, 0x8e, 0x75, 0x43, 0xa4, - 0xd9, 0x68, 0x3b, 0x61, 0xa3, 0xeb, 0xc7, 0x43, 0xee, 0xb1, 0xd5, 0xcf, 0x22, 0xb6, 0xba, 0xd7, - 0x73, 0xcf, 0x09, 0xc7, 0x2b, 0xe7, 0x25, 0x2f, 0xb8, 0x13, 0xd9, 0x10, 0x07, 0x36, 0x7c, 0x5e, - 0xf3, 0xab, 0x4d, 0x25, 0x81, 0xc5, 0x7f, 0x17, 0x00, 0xc2, 0x00, 0x13, 0x49, 0x49, 0xc3, 0xbe, - 0x3d, 0x58, 0x84, 0x9a, 0x66, 0xd1, 0xad, 0x84, 0x45, 0xaf, 0x0e, 0x08, 0xd9, 0x63, 0xca, 0xcf, - 0x22, 0xa6, 0xac, 0x05, 0x11, 0xb5, 0x30, 0xe8, 0x63, 0x41, 0x10, 0x4b, 0x9f, 0xc4, 0x6a, 0xc9, - 0x7c, 0xbd, 0x70, 0xd2, 0x7c, 0x7d, 0xf6, 0x83, 0xc0, 0x0d, 0x9e, 0xc1, 0xda, 0xe8, 0x11, 0xeb, - 0xb5, 0xbc, 0xed, 0xfc, 0x99, 0x00, 0xc3, 0xde, 0x9d, 0xb6, 0x1a, 0x7b, 0xef, 0xcb, 0x9e, 0xd0, - 0x44, 0x5e, 0xfa, 0x3e, 0x80, 0x51, 0xdc, 0x71, 0x5b, 0x41, 0x16, 0xdc, 0x1b, 0x44, 0xf7, 0xd4, - 0x15, 0x28, 0xc2, 0x6a, 0xc7, 0x6d, 0xdd, 0xd1, 0xf6, 0x0c, 0xec, 0x76, 0x6c, 0x22, 0x8d, 0x60, - 0xaf, 0x8b, 0x56, 0x61, 0xd8, 0xb2, 0x4d, 0x73, 0x97, 0xab, 0xf0, 0x52, 0x1f, 0xa8, 0x07, 0xb7, - 0x18, 0x58, 0x83, 0x8a, 0x48, 0x9e, 0xa4, 0xf8, 0x53, 0x81, 0x5f, 0x20, 0xec, 0x49, 0x4f, 0x06, - 0xd4, 0xc4, 0x3a, 0xdd, 0x1d, 0x72, 0xa4, 0x00, 0x92, 0xbe, 0x93, 0x92, 0xe8, 0x35, 0x4f, 0x30, - 0x52, 0x02, 0x99, 0x6e, 0x26, 0x49, 0xe8, 0xcb, 0xd1, 0x9a, 0x47, 0x81, 0x95, 0x01, 0x22, 0x95, - 0x8c, 0x09, 0xc8, 0xdb, 0xfb, 0x2c, 0xbb, 0x2a, 0x4b, 0x79, 0x7b, 0x5f, 0xfc, 0x44, 0x80, 0x22, - 0x0f, 0x00, 0x6a, 0x31, 0xdd, 0x0f, 0x90, 0x04, 0x46, 0x94, 0x5f, 0xf3, 0xd5, 0x95, 0x4f, 0x0d, - 0x47, 0x7a, 0xd5, 0xe5, 0x21, 0xc4, 0xf4, 0xf5, 0xc3, 0xbc, 0xbf, 0xf9, 0x99, 0xc2, 0x36, 0xa1, - 0x4c, 0x5d, 0x5a, 0xe6, 0xce, 0x78, 0x84, 0xd7, 0xa5, 0xed, 0x07, 0xee, 0xca, 0x52, 0xc9, 0x08, - 0x3b, 0x47, 0xe8, 0x3f, 0xff, 0xec, 0xf4, 0x3f, 0x0f, 0x53, 0x07, 0x36, 0xb6, 0x2c, 0xfe, 0x0c, - 0x19, 0xec, 0xbf, 0xb2, 0x34, 0xc1, 0xe9, 0x34, 0xd7, 0xbf, 0x45, 0x0e, 0xd1, 0x79, 0x98, 0x34, - 0xbb, 0xfb, 0xb2, 0xcf, 0x4d, 0x19, 0x3d, 0xc3, 0x8c, 0x9b, 0xdd, 0xfd, 0x7b, 0x1e, 0xf5, 0x16, - 0x39, 0x14, 0x7f, 0x92, 0x87, 0x69, 0xea, 0x9e, 0xa6, 0xad, 0x7d, 0x8c, 0xa9, 0x01, 0xd6, 0xb1, - 0x8b, 0xd1, 0x4d, 0x28, 0x11, 0xf6, 0xa6, 0x2c, 0x07, 0xcf, 0xcd, 0xfd, 0x8b, 0x3a, 0xe1, 0x2b, - 0xb4, 0x04, 0x24, 0x7c, 0x91, 0x96, 0xa0, 0xe4, 0xdd, 0xae, 0xd4, 0xed, 0xfd, 0x9a, 0xea, 0x31, - 0xb6, 0x8d, 0x77, 0x47, 0x53, 0x9a, 0x83, 0x14, 0x98, 0x89, 0x9f, 0xea, 0x1c, 0xbc, 0x70, 0x5c, - 0x70, 0x14, 0xbb, 0x35, 0xd8, 0x20, 0xe2, 0xef, 0x04, 0x28, 0xdd, 0xd3, 0x5c, 0x83, 0x38, 0x0e, - 0x53, 0x4a, 0x58, 0xe4, 0x12, 0x8e, 0x59, 0xe4, 0x42, 0xfb, 0xf0, 0xba, 0xe3, 0xb2, 0x80, 0x35, - 0xb0, 0xa9, 0xcc, 0x1c, 0xd3, 0xd7, 0xcb, 0xd2, 0x60, 0x65, 0x4a, 0xcf, 0xb7, 0x5f, 0x73, 0x52, - 0xa8, 0x8e, 0xf8, 0x8f, 0xf8, 0xa3, 0x7f, 0x43, 0xc7, 0x06, 0xaa, 0x27, 0x1f, 0xfd, 0x07, 0x28, - 0xa4, 0x51, 0x80, 0xcf, 0xfb, 0xe1, 0xff, 0x16, 0x80, 0xa2, 0x77, 0x88, 0x6c, 0xe9, 0xd8, 0xf0, - 0xab, 0x68, 0x99, 0x6a, 0x60, 0x6b, 0x7a, 0x87, 0xb0, 0x05, 0x8c, 0x29, 0xbc, 0xe5, 0xa0, 0x0d, - 0x5e, 0x4f, 0xa3, 0x60, 0x83, 0xd6, 0xd3, 0x18, 0x16, 0xab, 0xa6, 0xd1, 0x96, 0xf8, 0xaf, 0xa0, - 0x78, 0xc6, 0xd4, 0x7c, 0xec, 0xe2, 0x19, 0x95, 0x7e, 0x26, 0xc5, 0x33, 0x0e, 0x74, 0xcc, 0xe2, - 0x19, 0x97, 0x3e, 0x69, 0xf1, 0x8c, 0xc3, 0xbc, 0x2a, 0x9e, 0x7d, 0x31, 0x8b, 0x67, 0xdf, 0x3e, - 0xa2, 0x78, 0xb6, 0x3c, 0x68, 0xd0, 0xce, 0xfd, 0xe4, 0xf3, 0xae, 0x9d, 0x6d, 0x02, 0x44, 0x32, - 0xfe, 0xd7, 0x8f, 0x93, 0xf0, 0x47, 0x00, 0x5e, 0x8c, 0x52, 0x9c, 0x7c, 0x74, 0x29, 0xee, 0xf2, - 0x20, 0xa5, 0x38, 0x6e, 0xc2, 0xde, 0x72, 0x9c, 0xf6, 0xf4, 0x72, 0xdc, 0xd2, 0x80, 0xe5, 0x38, - 0x3e, 0xce, 0x0b, 0xf2, 0xf9, 0xc1, 0x47, 0x47, 0x7e, 0x7e, 0x70, 0x65, 0xa0, 0x2a, 0x15, 0x5f, - 0xf5, 0x4b, 0xfd, 0x09, 0x42, 0xe4, 0x3b, 0x81, 0x1f, 0x08, 0x30, 0xea, 0x5f, 0xe8, 0xe8, 0x5d, - 0x18, 0xe1, 0xaf, 0xd9, 0xfc, 0xb6, 0x3d, 0x9f, 0xed, 0x21, 0x5c, 0xf2, 0xc5, 0xd0, 0x0c, 0x0c, - 0xdb, 0x0e, 0x21, 0x2a, 0x7f, 0xd8, 0xf4, 0x3a, 0xe8, 0x1c, 0x4c, 0x58, 0x36, 0x51, 0x34, 0x87, - 0x7a, 0x6e, 0x53, 0x73, 0x1d, 0x76, 0x79, 0x0e, 0x49, 0xe3, 0x01, 0xb5, 0xa6, 0xb9, 0x8e, 0xd8, - 0x86, 0x51, 0x3f, 0x1e, 0x40, 0x5b, 0x30, 0x66, 0xe9, 0x58, 0x33, 0x5c, 0xf2, 0xd0, 0x4f, 0xbb, - 0xae, 0x0c, 0x10, 0x50, 0x78, 0x82, 0x52, 0x88, 0x81, 0xa6, 0xa0, 0x40, 0x23, 0x77, 0x6f, 0x5e, - 0xb4, 0x29, 0x9e, 0x87, 0x09, 0xca, 0xbd, 0xa6, 0x59, 0x2d, 0x62, 0x33, 0x9e, 0xf4, 0x17, 0x77, - 0x05, 0xc6, 0x63, 0xa8, 0xe8, 0xeb, 0x50, 0x74, 0x88, 0xa1, 0x06, 0x6f, 0xd5, 0x59, 0xb5, 0xc4, - 0xa5, 0x10, 0x82, 0x21, 0xb6, 0xac, 0x3c, 0x0b, 0xe3, 0x58, 0x5b, 0xfc, 0x7d, 0xc1, 0x5b, 0x3c, - 0x2b, 0xa4, 0x34, 0x92, 0x85, 0x94, 0xe5, 0x41, 0xde, 0x26, 0xd3, 0xca, 0x28, 0x9b, 0x89, 0x32, - 0xca, 0xd2, 0x40, 0x80, 0x3d, 0x45, 0x94, 0x5f, 0x45, 0x8a, 0x28, 0x12, 0x80, 0x12, 0xa8, 0x90, - 0xcf, 0x77, 0x31, 0x2b, 0x7c, 0xa8, 0x7c, 0x29, 0x82, 0x12, 0xb7, 0x7e, 0xfe, 0xe4, 0xd6, 0x9f, - 0xdd, 0x09, 0xea, 0x22, 0xcf, 0x61, 0xba, 0xb5, 0x52, 0xe4, 0x35, 0x59, 0xfc, 0x85, 0x5f, 0x47, - 0x60, 0x7e, 0xec, 0x7f, 0x92, 0x20, 0x0c, 0xf8, 0x49, 0x02, 0x9a, 0x85, 0x51, 0xff, 0x60, 0xe6, - 0xf9, 0x40, 0xd0, 0x47, 0x73, 0x00, 0x36, 0x36, 0x54, 0xb3, 0xad, 0x7d, 0x1c, 0x14, 0x0f, 0x22, - 0x14, 0xba, 0xdf, 0xba, 0x98, 0xc6, 0xf6, 0x4d, 0xdd, 0xfb, 0xb0, 0xc0, 0x4f, 0x58, 0x19, 0xb5, - 0xc6, 0x89, 0xe2, 0x23, 0xc1, 0xcf, 0xe0, 0xd9, 0x54, 0x57, 0x60, 0x98, 0xfd, 0x9f, 0xcf, 0xb5, - 0xdf, 0xa7, 0x2b, 0xdb, 0x94, 0x57, 0xf2, 0x44, 0xd0, 0x06, 0x94, 0x55, 0xe2, 0xb8, 0xb2, 0x7f, - 0x7c, 0xe4, 0x07, 0xda, 0x18, 0x25, 0x2a, 0xbb, 0x9a, 0x3c, 0x42, 0x0a, 0x89, 0x23, 0x24, 0xc3, - 0x92, 0x6a, 0x7f, 0xcf, 0x7f, 0xfa, 0x78, 0x4e, 0x78, 0xf4, 0x78, 0x4e, 0xf8, 0xdb, 0xe3, 0x39, - 0xe1, 0x93, 0x27, 0x73, 0xb9, 0x47, 0x4f, 0xe6, 0x72, 0x7f, 0x79, 0x32, 0x97, 0x83, 0xf3, 0x8a, - 0xd9, 0xce, 0x60, 0xe7, 0xda, 0x54, 0x34, 0xd1, 0xb3, 0x4d, 0xd7, 0x6c, 0x08, 0x0f, 0x9a, 0x7b, - 0x9a, 0xdb, 0xea, 0x34, 0xab, 0x8a, 0xd9, 0x5e, 0x50, 0x4c, 0xa7, 0x6d, 0x3a, 0x0b, 0x36, 0xd1, - 0xf1, 0x21, 0xb1, 0x17, 0xba, 0x8b, 0x41, 0x93, 0xe5, 0x63, 0xce, 0x42, 0xff, 0xdf, 0x12, 0xbc, - 0x13, 0x21, 0xfa, 0xb4, 0x9f, 0xe7, 0x0b, 0x8d, 0xb5, 0xbb, 0xbf, 0xcc, 0x8b, 0x0d, 0x7f, 0x8a, - 0x6b, 0x74, 0x8a, 0x91, 0xc9, 0x54, 0xb7, 0x39, 0xeb, 0x1f, 0x42, 0xa6, 0x1d, 0xca, 0xb4, 0x13, - 0x61, 0xda, 0xf1, 0x99, 0x1e, 0xe7, 0xab, 0xfd, 0x99, 0x76, 0xde, 0x6f, 0xd4, 0x36, 0x89, 0x8b, - 0x55, 0xec, 0xe2, 0x7f, 0xe6, 0xcf, 0xf9, 0x02, 0x2b, 0x2b, 0x54, 0x62, 0x65, 0x25, 0x22, 0xb2, - 0xb2, 0xe2, 0xcb, 0x34, 0x8b, 0xec, 0x37, 0x00, 0x4b, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xa7, - 0x60, 0xeb, 0xa7, 0x35, 0x31, 0x00, 0x00, + 0x5d, 0x52, 0x99, 0x61, 0x03, 0x5c, 0xc9, 0x30, 0x40, 0xa0, 0xf0, 0x6d, 0xd3, 0x25, 0xd4, 0xed, + 0xbb, 0x51, 0x02, 0x85, 0x56, 0x89, 0x4e, 0xf6, 0x42, 0xe8, 0xd3, 0x99, 0xa1, 0xd7, 0x7d, 0x41, + 0x1f, 0x5a, 0x8d, 0x12, 0x90, 0x09, 0x67, 0x02, 0xcd, 0xa8, 0xc4, 0x32, 0x1d, 0xcd, 0xe5, 0xbe, + 0x77, 0x86, 0x0d, 0x71, 0x7d, 0x00, 0xf5, 0xac, 0x7b, 0xf2, 0xbe, 0x37, 0xce, 0x58, 0x29, 0x74, + 0xb4, 0x05, 0xe3, 0xac, 0xa7, 0x99, 0x86, 0x6c, 0x5a, 0xc4, 0xa8, 0xcc, 0xb1, 0x71, 0xe6, 0x9f, + 0xe6, 0xe3, 0x0d, 0x2e, 0xb0, 0x65, 0x11, 0xea, 0x36, 0x65, 0x2b, 0xd2, 0x47, 0x12, 0x4c, 0x04, + 0x80, 0x8a, 0x6e, 0x3a, 0xa4, 0xf2, 0x7a, 0xea, 0xde, 0x4f, 0x45, 0x5c, 0xa3, 0x02, 0x54, 0x2b, + 0x56, 0x94, 0x80, 0xbe, 0x0d, 0xd3, 0x01, 0x66, 0xe0, 0x2f, 0x67, 0x19, 0xec, 0x9b, 0x59, 0x60, + 0x63, 0x8e, 0x92, 0xa0, 0x21, 0x02, 0xa7, 0x03, 0x70, 0x9b, 0x1c, 0x60, 0x5b, 0xe5, 0x1a, 0x17, + 0xd9, 0x00, 0x0b, 0x59, 0x06, 0x90, 0x98, 0x9c, 0xaf, 0xe9, 0x53, 0x56, 0x2f, 0x19, 0xad, 0xc3, + 0x28, 0x37, 0x35, 0xa9, 0xcc, 0x33, 0xe4, 0x0b, 0x4f, 0xdf, 0xf5, 0xdc, 0x53, 0xa8, 0x3a, 0x02, + 0x49, 0x74, 0x13, 0xa0, 0x63, 0x04, 0x38, 0x17, 0x53, 0x6d, 0x95, 0xc0, 0xf9, 0x56, 0xc0, 0x5f, + 0xcf, 0x49, 0x11, 0x69, 0xf4, 0x00, 0xa6, 0xc2, 0x1e, 0x5f, 0xf3, 0x25, 0x86, 0xf8, 0x56, 0x56, + 0x44, 0x7f, 0xc5, 0x93, 0x9d, 0x38, 0x09, 0xdd, 0x84, 0x31, 0x15, 0x9b, 0xb2, 0x77, 0xf8, 0x2f, + 0x32, 0xd0, 0xcb, 0x59, 0x76, 0x07, 0x36, 0xfd, 0xe3, 0x7f, 0x54, 0xe5, 0x6d, 0xb4, 0x09, 0x40, + 0xb1, 0xf8, 0x2d, 0xb0, 0x94, 0x6a, 0xf6, 0x23, 0xc0, 0x82, 0x7b, 0x80, 0xce, 0xc6, 0xeb, 0xa0, + 0x06, 0x94, 0x28, 0x1c, 0xdf, 0x5d, 0x95, 0xe5, 0xd4, 0x15, 0x1f, 0x81, 0xc7, 0xb7, 0x0e, 0x55, + 0xa4, 0x1a, 0xf4, 0xd0, 0x7d, 0x98, 0xd2, 0x14, 0x67, 0xf1, 0x4a, 0xe0, 0x9b, 0x58, 0xaf, 0x7c, + 0x26, 0xa4, 0x2e, 0x3a, 0x7e, 0xf6, 0x52, 0xa1, 0x7b, 0x81, 0x0c, 0xd5, 0xa3, 0x16, 0x27, 0xd5, + 0x46, 0xa1, 0xe8, 0x9d, 0xe5, 0xe2, 0x0f, 0x87, 0xe0, 0x4c, 0x24, 0x4c, 0x69, 0x10, 0xdb, 0xb1, + 0x88, 0xe2, 0x6a, 0x5d, 0x82, 0x64, 0x28, 0x5b, 0xf8, 0x50, 0x37, 0xb1, 0x2a, 0xef, 0x93, 0x43, + 0x3f, 0x64, 0x79, 0x37, 0xcb, 0x45, 0xd9, 0xf0, 0xe4, 0x6e, 0x91, 0x43, 0x3a, 0xe8, 0x9a, 0xd9, + 0x6e, 0x6b, 0x6e, 0x9b, 0x18, 0xae, 0x54, 0xb2, 0x82, 0x5f, 0x1c, 0xf4, 0x5d, 0x98, 0x62, 0x96, + 0x94, 0x8d, 0x8e, 0xae, 0x6b, 0xbb, 0x1a, 0xb1, 0x9d, 0x4a, 0x9e, 0x0d, 0x72, 0x2d, 0xcb, 0x20, + 0xb7, 0x7d, 0x29, 0x3a, 0xc6, 0x6d, 0xd3, 0x25, 0xd2, 0x24, 0x83, 0x0b, 0xe8, 0x0e, 0xba, 0x01, + 0x65, 0xac, 0x76, 0x35, 0x85, 0xc8, 0x86, 0xe9, 0x12, 0xa7, 0x52, 0xc8, 0x14, 0xb7, 0x30, 0xac, + 0x92, 0x27, 0x48, 0xdb, 0x0e, 0x3d, 0xce, 0xb0, 0xaa, 0xda, 0xc4, 0x71, 0xe4, 0xae, 0x46, 0x0e, + 0x9c, 0xca, 0x50, 0x6a, 0xf8, 0x96, 0x04, 0x5a, 0xf5, 0x64, 0xb6, 0x35, 0x72, 0x20, 0x95, 0x71, + 0xd8, 0x71, 0x68, 0xf8, 0xa1, 0x12, 0xc3, 0x6c, 0xfb, 0xa1, 0xd4, 0x9b, 0x7d, 0x90, 0xd6, 0x29, + 0xf3, 0x26, 0x71, 0xb1, 0x8a, 0x5d, 0x2c, 0x71, 0x59, 0xb4, 0x09, 0x13, 0x11, 0xcd, 0xd0, 0x50, + 0xaf, 0x98, 0x7a, 0x04, 0xa4, 0xaa, 0x6f, 0x43, 0x95, 0xc6, 0x23, 0x3f, 0x6c, 0xa8, 0x34, 0xac, + 0x0d, 0x0d, 0x77, 0x44, 0x58, 0xfb, 0x5b, 0x01, 0x2a, 0x47, 0x59, 0x17, 0x6d, 0x41, 0x29, 0xe2, + 0x31, 0x3c, 0x3a, 0xab, 0x0e, 0xe6, 0x30, 0x12, 0x84, 0x2e, 0x82, 0x6e, 0x03, 0x28, 0x01, 0x3c, + 0x8f, 0xd4, 0xaa, 0x7d, 0x54, 0x75, 0xc7, 0xa5, 0xc7, 0x45, 0xe8, 0x72, 0x11, 0x04, 0xf1, 0x27, + 0x02, 0x4c, 0xf7, 0xb8, 0x0d, 0xba, 0x01, 0x63, 0x81, 0x07, 0xf2, 0x49, 0xcf, 0xf7, 0x73, 0x11, + 0x9f, 0x5f, 0x0a, 0x45, 0xd1, 0x75, 0x18, 0xa2, 0x6e, 0xc6, 0xe7, 0x99, 0xc9, 0xcb, 0x98, 0x80, + 0xf8, 0x47, 0x21, 0x96, 0x2b, 0x50, 0x17, 0x41, 0x77, 0x61, 0x8c, 0x66, 0x3a, 0xcc, 0xdf, 0xf8, + 0xa4, 0xae, 0x1f, 0x23, 0x5f, 0x62, 0xbe, 0x37, 0xda, 0xe4, 0xad, 0xff, 0x4b, 0xde, 0xf4, 0xdf, + 0x3c, 0x9c, 0x4a, 0x99, 0x05, 0xfa, 0x08, 0xca, 0xdc, 0x51, 0xbd, 0x3d, 0xe4, 0x9d, 0x27, 0xd5, + 0xec, 0x29, 0x10, 0x5b, 0x4b, 0x29, 0xd4, 0xd1, 0x8b, 0x9b, 0x0a, 0xdd, 0x86, 0x31, 0x9a, 0xd3, + 0x78, 0xc6, 0x2d, 0xa6, 0x5e, 0x3d, 0xa9, 0x7a, 0xa0, 0xe9, 0x11, 0x5d, 0x39, 0xbd, 0xc8, 0xda, + 0xbc, 0x4d, 0xd3, 0xa5, 0x32, 0x80, 0x1c, 0x00, 0x8a, 0xff, 0x99, 0x00, 0x08, 0x35, 0x86, 0xde, + 0x8f, 0x67, 0x4b, 0x6f, 0x65, 0xce, 0x96, 0xf8, 0x48, 0x3c, 0x63, 0xaa, 0x27, 0x32, 0xa6, 0x6a, + 0xf6, 0x8c, 0x89, 0x03, 0xf9, 0x59, 0xd3, 0x4a, 0x2c, 0x6b, 0x3a, 0xd7, 0x2f, 0xef, 0xe1, 0xd2, + 0x5e, 0xe6, 0x74, 0x33, 0x25, 0x73, 0xba, 0x98, 0x29, 0x73, 0xe2, 0x30, 0xaf, 0xb2, 0xa7, 0x2f, + 0x67, 0xf6, 0xf4, 0xf1, 0x11, 0xd9, 0x53, 0xa6, 0x50, 0x22, 0x96, 0x3e, 0x71, 0x47, 0x79, 0x95, + 0x42, 0xbd, 0x84, 0x29, 0xd4, 0xc5, 0x67, 0x94, 0x42, 0x5d, 0x3a, 0x51, 0x0a, 0xf5, 0x52, 0xa5, + 0x39, 0x69, 0xf9, 0xe2, 0xe5, 0x67, 0x94, 0x2f, 0x3e, 0xc7, 0x14, 0x6a, 0x1c, 0x4a, 0x91, 0x68, + 0x46, 0xfc, 0x71, 0x01, 0xc6, 0x82, 0x4b, 0x13, 0x7d, 0x04, 0x23, 0x5d, 0xcd, 0xd1, 0x9a, 0x3a, + 0xe1, 0x97, 0xee, 0xb5, 0x81, 0x2e, 0xdd, 0xea, 0xb6, 0x27, 0x5c, 0xcf, 0x49, 0x3e, 0x0e, 0xba, + 0x0d, 0x45, 0xd3, 0xc2, 0xdf, 0xeb, 0xf8, 0xe1, 0xe5, 0xf2, 0x60, 0x88, 0x5b, 0x4c, 0x96, 0x5d, + 0xc2, 0xac, 0x35, 0xfb, 0x7d, 0x01, 0x46, 0xf8, 0x30, 0xe8, 0x9b, 0xc7, 0xad, 0xa7, 0xfa, 0xb1, + 0xc1, 0x3b, 0xb1, 0xc8, 0xf7, 0x6b, 0x19, 0x22, 0x5f, 0x16, 0xcb, 0x31, 0xa1, 0xd9, 0x0d, 0x28, + 0x7a, 0xb3, 0x3b, 0xf1, 0x3c, 0x68, 0x1c, 0xe4, 0x65, 0x94, 0xcc, 0x26, 0x7f, 0x2d, 0xc0, 0x74, + 0xcf, 0xc9, 0x8e, 0xee, 0x27, 0x6d, 0xf3, 0xf5, 0x63, 0xdd, 0x10, 0x69, 0x36, 0xda, 0x4e, 0xd8, + 0xe8, 0xdd, 0xe3, 0x21, 0xf7, 0xd8, 0xea, 0xe7, 0x11, 0x5b, 0xdd, 0xeb, 0xb9, 0xe7, 0x84, 0xe3, + 0x55, 0x09, 0x93, 0x17, 0xdc, 0x89, 0x6c, 0x88, 0x03, 0x1b, 0x3e, 0xaf, 0xf9, 0xd5, 0xa6, 0x92, + 0xc0, 0xe2, 0xbf, 0x0b, 0x00, 0x61, 0x80, 0x89, 0xa4, 0xa4, 0x61, 0xdf, 0x1e, 0x2c, 0x42, 0x4d, + 0xb3, 0xe8, 0x56, 0xc2, 0xa2, 0xd7, 0x06, 0x84, 0xec, 0x31, 0xe5, 0xe7, 0x11, 0x53, 0xd6, 0x82, + 0x88, 0x5a, 0x18, 0xf4, 0x0d, 0x22, 0x88, 0xa5, 0x4f, 0x62, 0xb5, 0x64, 0xbe, 0x5e, 0x38, 0x69, + 0xbe, 0x3e, 0xfb, 0x61, 0xe0, 0x06, 0xcf, 0x60, 0x6d, 0xf4, 0x88, 0xf5, 0x5a, 0xde, 0x76, 0xfe, + 0x5c, 0x80, 0x61, 0xef, 0x4e, 0x5b, 0x8d, 0x3d, 0x23, 0x66, 0x4f, 0x68, 0x22, 0x0f, 0x88, 0x1f, + 0xc2, 0x28, 0xee, 0xb8, 0xad, 0x20, 0x0b, 0xee, 0x0d, 0xa2, 0x7b, 0xea, 0x0a, 0x14, 0x61, 0xb5, + 0xe3, 0xb6, 0xee, 0x68, 0x7b, 0x06, 0x76, 0x3b, 0x36, 0x91, 0x46, 0xb0, 0xd7, 0x45, 0xab, 0x30, + 0x6c, 0xd9, 0xa6, 0xb9, 0xcb, 0x55, 0x78, 0xb9, 0x0f, 0xd4, 0x83, 0x5b, 0x0c, 0xac, 0x41, 0x45, + 0x24, 0x4f, 0x52, 0xfc, 0x99, 0xc0, 0x2f, 0x10, 0xf6, 0x52, 0x28, 0x03, 0x6a, 0x62, 0x9d, 0xee, + 0x0e, 0x39, 0x52, 0x00, 0x49, 0xdf, 0x49, 0x49, 0xf4, 0x9a, 0x27, 0x18, 0x29, 0x81, 0x4c, 0x37, + 0x93, 0x24, 0xf4, 0xd5, 0x68, 0xcd, 0xa3, 0xc0, 0xca, 0x00, 0x91, 0x4a, 0xc6, 0x04, 0xe4, 0xed, + 0x7d, 0x96, 0x5d, 0x95, 0xa5, 0xbc, 0xbd, 0x2f, 0x7e, 0x2a, 0x40, 0x91, 0x07, 0x00, 0xb5, 0x98, + 0xee, 0x07, 0x48, 0x02, 0x23, 0xca, 0xaf, 0xf9, 0xea, 0xca, 0xa7, 0x86, 0x23, 0xbd, 0xea, 0xf2, + 0x10, 0x62, 0xfa, 0xfa, 0x51, 0xde, 0xdf, 0xfc, 0x4c, 0x61, 0x9b, 0x50, 0xa6, 0x2e, 0x2d, 0x73, + 0x67, 0x3c, 0xc2, 0xeb, 0xd2, 0xf6, 0x03, 0x77, 0x65, 0xa9, 0x64, 0x84, 0x9d, 0x23, 0xf4, 0x9f, + 0x7f, 0x76, 0xfa, 0x9f, 0x87, 0xa9, 0x03, 0x1b, 0x5b, 0x16, 0x7f, 0xdd, 0x0c, 0xf6, 0x5f, 0x59, + 0x9a, 0xe0, 0x74, 0x9a, 0xeb, 0xdf, 0x22, 0x87, 0xe8, 0x02, 0x4c, 0x9a, 0xdd, 0x7d, 0xd9, 0xe7, + 0xa6, 0x8c, 0x9e, 0x61, 0xc6, 0xcd, 0xee, 0xfe, 0x3d, 0x8f, 0x7a, 0x8b, 0x1c, 0x8a, 0x3f, 0xcd, + 0xc3, 0x34, 0x75, 0x4f, 0xd3, 0xd6, 0x3e, 0xc1, 0xd4, 0x00, 0xeb, 0xd8, 0xc5, 0xe8, 0x26, 0x94, + 0x08, 0x7b, 0xaa, 0x96, 0x83, 0x57, 0xec, 0xfe, 0x45, 0x9d, 0xf0, 0x71, 0x5b, 0x02, 0x12, 0x3e, + 0x74, 0x4b, 0x50, 0xf2, 0x6e, 0x57, 0xea, 0xf6, 0x7e, 0xa9, 0xf6, 0x18, 0xdb, 0xc6, 0xbb, 0xa3, + 0x29, 0xcd, 0x41, 0x0a, 0xcc, 0xc4, 0x4f, 0x75, 0x0e, 0x5e, 0x38, 0x2e, 0x38, 0x8a, 0xdd, 0x1a, + 0x6c, 0x10, 0xf1, 0x77, 0x02, 0x94, 0xee, 0x69, 0xae, 0x41, 0x1c, 0x87, 0x29, 0x25, 0x2c, 0x72, + 0x09, 0xc7, 0x2c, 0x72, 0xa1, 0x7d, 0x78, 0xcd, 0x71, 0x59, 0xc0, 0x1a, 0xd8, 0x54, 0x66, 0x8e, + 0xe9, 0xeb, 0x65, 0x69, 0xb0, 0x32, 0xa5, 0xe7, 0xdb, 0xa7, 0x9d, 0x14, 0xaa, 0x23, 0xfe, 0x23, + 0xfe, 0x2d, 0x41, 0x43, 0xc7, 0x06, 0xaa, 0x27, 0xbf, 0x25, 0x18, 0xa0, 0x90, 0x46, 0x01, 0xbe, + 0xe8, 0xef, 0x09, 0x6e, 0x01, 0x28, 0x7a, 0x87, 0xc8, 0x96, 0x8e, 0x8d, 0xa3, 0xaa, 0xe0, 0xa9, + 0x4b, 0x58, 0xd3, 0x3b, 0x84, 0x2d, 0x60, 0x4c, 0xe1, 0x2d, 0x07, 0x6d, 0xf0, 0x7a, 0x1a, 0x05, + 0x1b, 0xb4, 0x9e, 0xc6, 0xb0, 0x58, 0x35, 0x8d, 0xb6, 0xc4, 0x7f, 0x05, 0xc5, 0x33, 0xa6, 0xe6, + 0x63, 0x17, 0xcf, 0xa8, 0xf4, 0x33, 0x29, 0x9e, 0x71, 0xa0, 0x63, 0x16, 0xcf, 0xb8, 0xf4, 0x49, + 0x8b, 0x67, 0x1c, 0xe6, 0x55, 0xf1, 0xec, 0xcb, 0x59, 0x3c, 0xfb, 0xce, 0x11, 0xc5, 0xb3, 0xe5, + 0x41, 0x83, 0x76, 0xee, 0x27, 0x5f, 0x74, 0xed, 0x6c, 0x13, 0x20, 0x92, 0xf1, 0xbf, 0x76, 0x9c, + 0x84, 0x3f, 0x02, 0xf0, 0x62, 0x94, 0xe2, 0xe4, 0xa3, 0x4b, 0x71, 0x57, 0x06, 0x29, 0xc5, 0x71, + 0x13, 0xf6, 0x96, 0xe3, 0xb4, 0xa7, 0x97, 0xe3, 0x96, 0x06, 0x2c, 0xc7, 0xf1, 0x71, 0x5e, 0x90, + 0xaf, 0x1a, 0x3e, 0x3e, 0xf2, 0xab, 0x86, 0xab, 0x03, 0x55, 0xa9, 0xf8, 0xaa, 0x5f, 0xea, 0x2f, + 0x1b, 0xa2, 0x9f, 0x1f, 0x08, 0x30, 0xea, 0x5f, 0xe8, 0xe8, 0x3d, 0x18, 0xe1, 0x8f, 0xe4, 0xfc, + 0xb6, 0xbd, 0x90, 0xed, 0x7d, 0x5d, 0xf2, 0xc5, 0xd0, 0x0c, 0x0c, 0xdb, 0x0e, 0x21, 0x2a, 0x7f, + 0xd8, 0xf4, 0x3a, 0xe8, 0x3c, 0x4c, 0x58, 0x36, 0x51, 0x34, 0x87, 0x7a, 0x6e, 0x53, 0x73, 0x1d, + 0x76, 0x79, 0x0e, 0x49, 0xe3, 0x01, 0xb5, 0xa6, 0xb9, 0x8e, 0xd8, 0x86, 0x51, 0x3f, 0x1e, 0x40, + 0x5b, 0x30, 0x66, 0xe9, 0x58, 0x33, 0x5c, 0xf2, 0xd0, 0x4f, 0xbb, 0xae, 0x0e, 0x10, 0x50, 0x78, + 0x82, 0x52, 0x88, 0x81, 0xa6, 0xa0, 0x40, 0x23, 0x77, 0x6f, 0x5e, 0xb4, 0x29, 0x5e, 0x80, 0x09, + 0xca, 0xbd, 0xa6, 0x59, 0x2d, 0x62, 0x33, 0x9e, 0xf4, 0x17, 0x77, 0x05, 0xc6, 0x63, 0xa8, 0xe8, + 0x1b, 0x50, 0x74, 0x88, 0xa1, 0x06, 0x6f, 0xd5, 0x59, 0xb5, 0xc4, 0xa5, 0x10, 0x82, 0x21, 0xb6, + 0xac, 0x3c, 0x0b, 0xe3, 0x58, 0x5b, 0xfc, 0x7d, 0xc1, 0x5b, 0x3c, 0x2b, 0xa4, 0x34, 0x92, 0x85, + 0x94, 0xe5, 0x41, 0xde, 0x26, 0xd3, 0xca, 0x28, 0x9b, 0x89, 0x32, 0xca, 0xd2, 0x40, 0x80, 0x3d, + 0x45, 0x94, 0x5f, 0x47, 0x8a, 0x28, 0x12, 0x80, 0x12, 0xa8, 0x90, 0xcf, 0x77, 0x31, 0x2b, 0x7c, + 0xa8, 0x7c, 0x29, 0x82, 0x12, 0xb7, 0x7e, 0xfe, 0xe4, 0xd6, 0x9f, 0xdd, 0x09, 0xea, 0x22, 0xcf, + 0x61, 0xba, 0xb5, 0x52, 0xe4, 0x35, 0x59, 0xfc, 0xa5, 0x5f, 0x47, 0x60, 0x7e, 0xec, 0x7f, 0x92, + 0x20, 0x0c, 0xf8, 0x49, 0x02, 0x9a, 0x85, 0x51, 0xff, 0x60, 0xe6, 0xf9, 0x40, 0xd0, 0x47, 0x73, + 0x00, 0x36, 0x36, 0x54, 0xb3, 0xad, 0x7d, 0x12, 0x14, 0x0f, 0x22, 0x14, 0xba, 0xdf, 0xba, 0x98, + 0xc6, 0xf6, 0x4d, 0xdd, 0xfb, 0xb0, 0xc0, 0x4f, 0x58, 0x19, 0xb5, 0xc6, 0x89, 0xe2, 0x23, 0xc1, + 0xcf, 0xe0, 0xd9, 0x54, 0x57, 0x60, 0x98, 0xfd, 0xce, 0xe7, 0x7a, 0xae, 0xcf, 0x5c, 0xb7, 0x29, + 0xaf, 0xe4, 0x89, 0xa0, 0x0d, 0x28, 0xab, 0xc4, 0x71, 0x65, 0xff, 0xf8, 0xc8, 0x0f, 0xb4, 0x31, + 0x4a, 0x54, 0x76, 0x35, 0x79, 0x84, 0x14, 0x12, 0x47, 0x48, 0x86, 0x25, 0xd5, 0xfe, 0x9e, 0xff, + 0xec, 0xf1, 0x9c, 0xf0, 0xe8, 0xf1, 0x9c, 0xf0, 0xb7, 0xc7, 0x73, 0xc2, 0xa7, 0x4f, 0xe6, 0x72, + 0x8f, 0x9e, 0xcc, 0xe5, 0xfe, 0xf2, 0x64, 0x2e, 0x07, 0x17, 0x14, 0xb3, 0x9d, 0xc1, 0xce, 0xb5, + 0xa9, 0x68, 0xa2, 0x67, 0x9b, 0xae, 0xd9, 0x10, 0x1e, 0x34, 0xf7, 0x34, 0xb7, 0xd5, 0x69, 0x56, + 0x15, 0xb3, 0xbd, 0xa0, 0x98, 0x4e, 0xdb, 0x74, 0x16, 0x6c, 0xa2, 0xe3, 0x43, 0x62, 0x2f, 0x74, + 0x17, 0x83, 0x26, 0xcb, 0xc7, 0x9c, 0x85, 0xfe, 0xff, 0xa2, 0xf0, 0x4e, 0x84, 0xe8, 0xd3, 0x7e, + 0x91, 0x2f, 0x34, 0xd6, 0xee, 0xfe, 0x2a, 0x2f, 0x36, 0xfc, 0x29, 0xae, 0xd1, 0x29, 0x46, 0x26, + 0x53, 0xdd, 0xe6, 0xac, 0x7f, 0x08, 0x99, 0x76, 0x28, 0xd3, 0x4e, 0x84, 0x69, 0xc7, 0x67, 0x7a, + 0x9c, 0xaf, 0xf6, 0x67, 0xda, 0xf9, 0xa0, 0x51, 0xf3, 0x3f, 0x6a, 0xfa, 0x67, 0xfe, 0xbc, 0x2f, + 0xb0, 0xb2, 0x42, 0x25, 0x56, 0x56, 0x22, 0x22, 0x2b, 0x2b, 0xbe, 0x4c, 0xb3, 0xc8, 0xfe, 0xb5, + 0x60, 0xe9, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x83, 0x14, 0xde, 0x8c, 0x31, 0x00, 0x00, } func (m *Transaction) Marshal() (dAtA []byte, err error) { @@ -4301,6 +4311,18 @@ func (m *TransactionPerspective) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if m.TransactionId != nil { + { + size, err := m.TransactionId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } if len(m.Denoms) > 0 { for iNdEx := len(m.Denoms) - 1; iNdEx >= 0; iNdEx-- { { @@ -7461,6 +7483,10 @@ func (m *TransactionPerspective) Size() (n int) { n += 1 + l + sovTransaction(uint64(l)) } } + if m.TransactionId != nil { + l = m.TransactionId.Size() + n += 1 + l + sovTransaction(uint64(l)) + } return n } @@ -10261,11 +10287,47 @@ func (m *TransactionPerspective) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Denoms = append(m.Denoms, &v1alpha1.Denom{}) + m.Denoms = append(m.Denoms, &v1alpha1.DenomMetadata{}) if err := m.Denoms[len(m.Denoms)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TransactionId", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TransactionId == nil { + m.TransactionId = &Id{} + } + if err := m.TransactionId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTransaction(dAtA[iNdEx:]) diff --git a/relayer/chains/penumbra/view/v1alpha1/view.pb.go b/relayer/chains/penumbra/view/v1alpha1/view.pb.go index 5e28b5218..217129d5f 100644 --- a/relayer/chains/penumbra/view/v1alpha1/view.pb.go +++ b/relayer/chains/penumbra/view/v1alpha1/view.pb.go @@ -89,6 +89,9 @@ func (m *BroadcastTransactionRequest) GetAwaitDetection() bool { type BroadcastTransactionResponse struct { // The hash of the transaction that was broadcast. Id *v1alpha1.Id `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The height in which the transaction was detected as included in the chain, if any. + // Will not be included unless await_detection was true. + DetectionHeight uint64 `protobuf:"varint,2,opt,name=detection_height,json=detectionHeight,proto3" json:"detection_height,omitempty"` } func (m *BroadcastTransactionResponse) Reset() { *m = BroadcastTransactionResponse{} } @@ -131,6 +134,13 @@ func (m *BroadcastTransactionResponse) GetId() *v1alpha1.Id { return nil } +func (m *BroadcastTransactionResponse) GetDetectionHeight() uint64 { + if m != nil { + return m.DetectionHeight + } + return 0 +} + type TransactionPlannerRequest struct { // The expiry height for the requested TransactionPlan ExpiryHeight uint64 `protobuf:"varint,1,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` @@ -141,9 +151,6 @@ type TransactionPlannerRequest struct { // Types that are valid to be assigned to XAccountGroupId: // *TransactionPlannerRequest_AccountGroupId XAccountGroupId isTransactionPlannerRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *TransactionPlannerRequest_Token - XToken isTransactionPlannerRequest_XToken `protobuf_oneof:"_token"` // Request contents Outputs []*TransactionPlannerRequest_Output `protobuf:"bytes,20,rep,name=outputs,proto3" json:"outputs,omitempty"` Swaps []*TransactionPlannerRequest_Swap `protobuf:"bytes,30,rep,name=swaps,proto3" json:"swaps,omitempty"` @@ -190,21 +197,12 @@ type isTransactionPlannerRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isTransactionPlannerRequest_XToken interface { - isTransactionPlannerRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type TransactionPlannerRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type TransactionPlannerRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*TransactionPlannerRequest_AccountGroupId) isTransactionPlannerRequest_XAccountGroupId() {} -func (*TransactionPlannerRequest_Token) isTransactionPlannerRequest_XToken() {} func (m *TransactionPlannerRequest) GetXAccountGroupId() isTransactionPlannerRequest_XAccountGroupId { if m != nil { @@ -212,12 +210,6 @@ func (m *TransactionPlannerRequest) GetXAccountGroupId() isTransactionPlannerReq } return nil } -func (m *TransactionPlannerRequest) GetXToken() isTransactionPlannerRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *TransactionPlannerRequest) GetExpiryHeight() uint64 { if m != nil { @@ -247,13 +239,6 @@ func (m *TransactionPlannerRequest) GetAccountGroupId() *v1alpha11.AccountGroupI return nil } -func (m *TransactionPlannerRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*TransactionPlannerRequest_Token); ok { - return x.Token - } - return nil -} - func (m *TransactionPlannerRequest) GetOutputs() []*TransactionPlannerRequest_Output { if m != nil { return m.Outputs @@ -293,7 +278,6 @@ func (m *TransactionPlannerRequest) GetIbcActions() []*v1alpha12.IbcAction { func (*TransactionPlannerRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*TransactionPlannerRequest_AccountGroupId)(nil), - (*TransactionPlannerRequest_Token)(nil), } } @@ -939,8 +923,6 @@ func (m *BalanceByAddressResponse) GetAmount() *v1alpha11.Amount { } // Scaffolding for bearer-token authentication for the ViewService. -// The `account_group_id` and `token` fields are both optional, -// and numbered as 14 & 15 throughout the view service protocol. type ViewAuthToken struct { Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` } @@ -1078,9 +1060,6 @@ type StatusRequest struct { // Types that are valid to be assigned to XAccountGroupId: // *StatusRequest_AccountGroupId XAccountGroupId isStatusRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *StatusRequest_Token - XToken isStatusRequest_XToken `protobuf_oneof:"_token"` } func (m *StatusRequest) Reset() { *m = StatusRequest{} } @@ -1121,21 +1100,12 @@ type isStatusRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isStatusRequest_XToken interface { - isStatusRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type StatusRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type StatusRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*StatusRequest_AccountGroupId) isStatusRequest_XAccountGroupId() {} -func (*StatusRequest_Token) isStatusRequest_XToken() {} func (m *StatusRequest) GetXAccountGroupId() isStatusRequest_XAccountGroupId { if m != nil { @@ -1143,12 +1113,6 @@ func (m *StatusRequest) GetXAccountGroupId() isStatusRequest_XAccountGroupId { } return nil } -func (m *StatusRequest) GetXToken() isStatusRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *StatusRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { if x, ok := m.GetXAccountGroupId().(*StatusRequest_AccountGroupId); ok { @@ -1157,18 +1121,10 @@ func (m *StatusRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { return nil } -func (m *StatusRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*StatusRequest_Token); ok { - return x.Token - } - return nil -} - // XXX_OneofWrappers is for the internal use of the proto package. func (*StatusRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*StatusRequest_AccountGroupId)(nil), - (*StatusRequest_Token)(nil), } } @@ -1232,9 +1188,6 @@ type StatusStreamRequest struct { // Types that are valid to be assigned to XAccountGroupId: // *StatusStreamRequest_AccountGroupId XAccountGroupId isStatusStreamRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *StatusStreamRequest_Token - XToken isStatusStreamRequest_XToken `protobuf_oneof:"_token"` } func (m *StatusStreamRequest) Reset() { *m = StatusStreamRequest{} } @@ -1275,21 +1228,12 @@ type isStatusStreamRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isStatusStreamRequest_XToken interface { - isStatusStreamRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type StatusStreamRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type StatusStreamRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*StatusStreamRequest_AccountGroupId) isStatusStreamRequest_XAccountGroupId() {} -func (*StatusStreamRequest_Token) isStatusStreamRequest_XToken() {} func (m *StatusStreamRequest) GetXAccountGroupId() isStatusStreamRequest_XAccountGroupId { if m != nil { @@ -1297,12 +1241,6 @@ func (m *StatusStreamRequest) GetXAccountGroupId() isStatusStreamRequest_XAccoun } return nil } -func (m *StatusStreamRequest) GetXToken() isStatusStreamRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *StatusStreamRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { if x, ok := m.GetXAccountGroupId().(*StatusStreamRequest_AccountGroupId); ok { @@ -1311,18 +1249,10 @@ func (m *StatusStreamRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { return nil } -func (m *StatusStreamRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*StatusStreamRequest_Token); ok { - return x.Token - } - return nil -} - // XXX_OneofWrappers is for the internal use of the proto package. func (*StatusStreamRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*StatusStreamRequest_AccountGroupId)(nil), - (*StatusStreamRequest_Token)(nil), } } @@ -1393,13 +1323,10 @@ type NotesRequest struct { // If set, stop returning notes once the total exceeds this amount. // // Ignored if `asset_id` is unset or if `include_spent` is set. - AmountToSpend uint64 `protobuf:"varint,5,opt,name=amount_to_spend,json=amountToSpend,proto3" json:"amount_to_spend,omitempty"` + AmountToSpend *v1alpha11.Amount `protobuf:"bytes,6,opt,name=amount_to_spend,json=amountToSpend,proto3" json:"amount_to_spend,omitempty"` // Types that are valid to be assigned to XAccountGroupId: // *NotesRequest_AccountGroupId XAccountGroupId isNotesRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *NotesRequest_Token - XToken isNotesRequest_XToken `protobuf_oneof:"_token"` } func (m *NotesRequest) Reset() { *m = NotesRequest{} } @@ -1440,21 +1367,12 @@ type isNotesRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isNotesRequest_XToken interface { - isNotesRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type NotesRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type NotesRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*NotesRequest_AccountGroupId) isNotesRequest_XAccountGroupId() {} -func (*NotesRequest_Token) isNotesRequest_XToken() {} func (m *NotesRequest) GetXAccountGroupId() isNotesRequest_XAccountGroupId { if m != nil { @@ -1462,12 +1380,6 @@ func (m *NotesRequest) GetXAccountGroupId() isNotesRequest_XAccountGroupId { } return nil } -func (m *NotesRequest) GetXToken() isNotesRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *NotesRequest) GetIncludeSpent() bool { if m != nil { @@ -1490,11 +1402,11 @@ func (m *NotesRequest) GetAddressIndex() *v1alpha11.AddressIndex { return nil } -func (m *NotesRequest) GetAmountToSpend() uint64 { +func (m *NotesRequest) GetAmountToSpend() *v1alpha11.Amount { if m != nil { return m.AmountToSpend } - return 0 + return nil } func (m *NotesRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { @@ -1504,18 +1416,10 @@ func (m *NotesRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { return nil } -func (m *NotesRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*NotesRequest_Token); ok { - return x.Token - } - return nil -} - // XXX_OneofWrappers is for the internal use of the proto package. func (*NotesRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*NotesRequest_AccountGroupId)(nil), - (*NotesRequest_Token)(nil), } } @@ -1528,9 +1432,6 @@ type NotesForVotingRequest struct { // Types that are valid to be assigned to XAccountGroupId: // *NotesForVotingRequest_AccountGroupId XAccountGroupId isNotesForVotingRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *NotesForVotingRequest_Token - XToken isNotesForVotingRequest_XToken `protobuf_oneof:"_token"` } func (m *NotesForVotingRequest) Reset() { *m = NotesForVotingRequest{} } @@ -1571,21 +1472,12 @@ type isNotesForVotingRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isNotesForVotingRequest_XToken interface { - isNotesForVotingRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type NotesForVotingRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type NotesForVotingRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*NotesForVotingRequest_AccountGroupId) isNotesForVotingRequest_XAccountGroupId() {} -func (*NotesForVotingRequest_Token) isNotesForVotingRequest_XToken() {} func (m *NotesForVotingRequest) GetXAccountGroupId() isNotesForVotingRequest_XAccountGroupId { if m != nil { @@ -1593,12 +1485,6 @@ func (m *NotesForVotingRequest) GetXAccountGroupId() isNotesForVotingRequest_XAc } return nil } -func (m *NotesForVotingRequest) GetXToken() isNotesForVotingRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *NotesForVotingRequest) GetVotableAtHeight() uint64 { if m != nil { @@ -1621,18 +1507,10 @@ func (m *NotesForVotingRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { return nil } -func (m *NotesForVotingRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*NotesForVotingRequest_Token); ok { - return x.Token - } - return nil -} - // XXX_OneofWrappers is for the internal use of the proto package. func (*NotesForVotingRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*NotesForVotingRequest_AccountGroupId)(nil), - (*NotesForVotingRequest_Token)(nil), } } @@ -1644,9 +1522,6 @@ type WitnessRequest struct { // Types that are valid to be assigned to XAccountGroupId: // *WitnessRequest_AccountGroupId XAccountGroupId isWitnessRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *WitnessRequest_Token - XToken isWitnessRequest_XToken `protobuf_oneof:"_token"` } func (m *WitnessRequest) Reset() { *m = WitnessRequest{} } @@ -1687,21 +1562,12 @@ type isWitnessRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isWitnessRequest_XToken interface { - isWitnessRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type WitnessRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type WitnessRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*WitnessRequest_AccountGroupId) isWitnessRequest_XAccountGroupId() {} -func (*WitnessRequest_Token) isWitnessRequest_XToken() {} func (m *WitnessRequest) GetXAccountGroupId() isWitnessRequest_XAccountGroupId { if m != nil { @@ -1709,12 +1575,6 @@ func (m *WitnessRequest) GetXAccountGroupId() isWitnessRequest_XAccountGroupId { } return nil } -func (m *WitnessRequest) GetXToken() isWitnessRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *WitnessRequest) GetNoteCommitments() []*v1alpha11.StateCommitment { if m != nil { @@ -1737,18 +1597,10 @@ func (m *WitnessRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { return nil } -func (m *WitnessRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*WitnessRequest_Token); ok { - return x.Token - } - return nil -} - // XXX_OneofWrappers is for the internal use of the proto package. func (*WitnessRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*WitnessRequest_AccountGroupId)(nil), - (*WitnessRequest_Token)(nil), } } @@ -2207,9 +2059,6 @@ type NoteByCommitmentRequest struct { // Types that are valid to be assigned to XAccountGroupId: // *NoteByCommitmentRequest_AccountGroupId XAccountGroupId isNoteByCommitmentRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *NoteByCommitmentRequest_Token - XToken isNoteByCommitmentRequest_XToken `protobuf_oneof:"_token"` } func (m *NoteByCommitmentRequest) Reset() { *m = NoteByCommitmentRequest{} } @@ -2250,21 +2099,12 @@ type isNoteByCommitmentRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isNoteByCommitmentRequest_XToken interface { - isNoteByCommitmentRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type NoteByCommitmentRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type NoteByCommitmentRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*NoteByCommitmentRequest_AccountGroupId) isNoteByCommitmentRequest_XAccountGroupId() {} -func (*NoteByCommitmentRequest_Token) isNoteByCommitmentRequest_XToken() {} func (m *NoteByCommitmentRequest) GetXAccountGroupId() isNoteByCommitmentRequest_XAccountGroupId { if m != nil { @@ -2272,12 +2112,6 @@ func (m *NoteByCommitmentRequest) GetXAccountGroupId() isNoteByCommitmentRequest } return nil } -func (m *NoteByCommitmentRequest) GetXToken() isNoteByCommitmentRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *NoteByCommitmentRequest) GetNoteCommitment() *v1alpha11.StateCommitment { if m != nil { @@ -2300,18 +2134,10 @@ func (m *NoteByCommitmentRequest) GetAccountGroupId() *v1alpha11.AccountGroupId return nil } -func (m *NoteByCommitmentRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*NoteByCommitmentRequest_Token); ok { - return x.Token - } - return nil -} - // XXX_OneofWrappers is for the internal use of the proto package. func (*NoteByCommitmentRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*NoteByCommitmentRequest_AccountGroupId)(nil), - (*NoteByCommitmentRequest_Token)(nil), } } @@ -2366,9 +2192,6 @@ type SwapByCommitmentRequest struct { // Types that are valid to be assigned to XAccountGroupId: // *SwapByCommitmentRequest_AccountGroupId XAccountGroupId isSwapByCommitmentRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *SwapByCommitmentRequest_Token - XToken isSwapByCommitmentRequest_XToken `protobuf_oneof:"_token"` } func (m *SwapByCommitmentRequest) Reset() { *m = SwapByCommitmentRequest{} } @@ -2409,21 +2232,12 @@ type isSwapByCommitmentRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isSwapByCommitmentRequest_XToken interface { - isSwapByCommitmentRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type SwapByCommitmentRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type SwapByCommitmentRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*SwapByCommitmentRequest_AccountGroupId) isSwapByCommitmentRequest_XAccountGroupId() {} -func (*SwapByCommitmentRequest_Token) isSwapByCommitmentRequest_XToken() {} func (m *SwapByCommitmentRequest) GetXAccountGroupId() isSwapByCommitmentRequest_XAccountGroupId { if m != nil { @@ -2431,12 +2245,6 @@ func (m *SwapByCommitmentRequest) GetXAccountGroupId() isSwapByCommitmentRequest } return nil } -func (m *SwapByCommitmentRequest) GetXToken() isSwapByCommitmentRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *SwapByCommitmentRequest) GetSwapCommitment() *v1alpha11.StateCommitment { if m != nil { @@ -2459,18 +2267,10 @@ func (m *SwapByCommitmentRequest) GetAccountGroupId() *v1alpha11.AccountGroupId return nil } -func (m *SwapByCommitmentRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*SwapByCommitmentRequest_Token); ok { - return x.Token - } - return nil -} - // XXX_OneofWrappers is for the internal use of the proto package. func (*SwapByCommitmentRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*SwapByCommitmentRequest_AccountGroupId)(nil), - (*SwapByCommitmentRequest_Token)(nil), } } @@ -2524,9 +2324,6 @@ type NullifierStatusRequest struct { // Types that are valid to be assigned to XAccountGroupId: // *NullifierStatusRequest_AccountGroupId XAccountGroupId isNullifierStatusRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` - // Types that are valid to be assigned to XToken: - // *NullifierStatusRequest_Token - XToken isNullifierStatusRequest_XToken `protobuf_oneof:"_token"` } func (m *NullifierStatusRequest) Reset() { *m = NullifierStatusRequest{} } @@ -2567,21 +2364,12 @@ type isNullifierStatusRequest_XAccountGroupId interface { MarshalTo([]byte) (int, error) Size() int } -type isNullifierStatusRequest_XToken interface { - isNullifierStatusRequest_XToken() - MarshalTo([]byte) (int, error) - Size() int -} type NullifierStatusRequest_AccountGroupId struct { AccountGroupId *v1alpha11.AccountGroupId `protobuf:"bytes,14,opt,name=account_group_id,json=accountGroupId,proto3,oneof" json:"account_group_id,omitempty"` } -type NullifierStatusRequest_Token struct { - Token *ViewAuthToken `protobuf:"bytes,15,opt,name=token,proto3,oneof" json:"token,omitempty"` -} func (*NullifierStatusRequest_AccountGroupId) isNullifierStatusRequest_XAccountGroupId() {} -func (*NullifierStatusRequest_Token) isNullifierStatusRequest_XToken() {} func (m *NullifierStatusRequest) GetXAccountGroupId() isNullifierStatusRequest_XAccountGroupId { if m != nil { @@ -2589,12 +2377,6 @@ func (m *NullifierStatusRequest) GetXAccountGroupId() isNullifierStatusRequest_X } return nil } -func (m *NullifierStatusRequest) GetXToken() isNullifierStatusRequest_XToken { - if m != nil { - return m.XToken - } - return nil -} func (m *NullifierStatusRequest) GetNullifier() *v1alpha11.Nullifier { if m != nil { @@ -2617,18 +2399,10 @@ func (m *NullifierStatusRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { return nil } -func (m *NullifierStatusRequest) GetToken() *ViewAuthToken { - if x, ok := m.GetXToken().(*NullifierStatusRequest_Token); ok { - return x.Token - } - return nil -} - // XXX_OneofWrappers is for the internal use of the proto package. func (*NullifierStatusRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ (*NullifierStatusRequest_AccountGroupId)(nil), - (*NullifierStatusRequest_Token)(nil), } } @@ -2676,27 +2450,72 @@ func (m *NullifierStatusResponse) GetSpent() bool { return false } -type TransactionHashesRequest struct { +type TransactionInfoByHashRequest struct { + // The transaction hash to query for. + Id *v1alpha1.Id `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` +} + +func (m *TransactionInfoByHashRequest) Reset() { *m = TransactionInfoByHashRequest{} } +func (m *TransactionInfoByHashRequest) String() string { return proto.CompactTextString(m) } +func (*TransactionInfoByHashRequest) ProtoMessage() {} +func (*TransactionInfoByHashRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{37} +} +func (m *TransactionInfoByHashRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TransactionInfoByHashRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TransactionInfoByHashRequest.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 *TransactionInfoByHashRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionInfoByHashRequest.Merge(m, src) +} +func (m *TransactionInfoByHashRequest) XXX_Size() int { + return m.Size() +} +func (m *TransactionInfoByHashRequest) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionInfoByHashRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionInfoByHashRequest proto.InternalMessageInfo + +func (m *TransactionInfoByHashRequest) GetId() *v1alpha1.Id { + if m != nil { + return m.Id + } + return nil +} + +type TransactionInfoRequest struct { // Types that are valid to be assigned to XStartHeight: - // *TransactionHashesRequest_StartHeight - XStartHeight isTransactionHashesRequest_XStartHeight `protobuf_oneof:"_start_height"` + // *TransactionInfoRequest_StartHeight + XStartHeight isTransactionInfoRequest_XStartHeight `protobuf_oneof:"_start_height"` // Types that are valid to be assigned to XEndHeight: - // *TransactionHashesRequest_EndHeight - XEndHeight isTransactionHashesRequest_XEndHeight `protobuf_oneof:"_end_height"` + // *TransactionInfoRequest_EndHeight + XEndHeight isTransactionInfoRequest_XEndHeight `protobuf_oneof:"_end_height"` } -func (m *TransactionHashesRequest) Reset() { *m = TransactionHashesRequest{} } -func (m *TransactionHashesRequest) String() string { return proto.CompactTextString(m) } -func (*TransactionHashesRequest) ProtoMessage() {} -func (*TransactionHashesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{37} +func (m *TransactionInfoRequest) Reset() { *m = TransactionInfoRequest{} } +func (m *TransactionInfoRequest) String() string { return proto.CompactTextString(m) } +func (*TransactionInfoRequest) ProtoMessage() {} +func (*TransactionInfoRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{38} } -func (m *TransactionHashesRequest) XXX_Unmarshal(b []byte) error { +func (m *TransactionInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *TransactionHashesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *TransactionInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_TransactionHashesRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_TransactionInfoRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2706,91 +2525,100 @@ func (m *TransactionHashesRequest) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *TransactionHashesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionHashesRequest.Merge(m, src) +func (m *TransactionInfoRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionInfoRequest.Merge(m, src) } -func (m *TransactionHashesRequest) XXX_Size() int { +func (m *TransactionInfoRequest) XXX_Size() int { return m.Size() } -func (m *TransactionHashesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionHashesRequest.DiscardUnknown(m) +func (m *TransactionInfoRequest) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionInfoRequest.DiscardUnknown(m) } -var xxx_messageInfo_TransactionHashesRequest proto.InternalMessageInfo +var xxx_messageInfo_TransactionInfoRequest proto.InternalMessageInfo -type isTransactionHashesRequest_XStartHeight interface { - isTransactionHashesRequest_XStartHeight() +type isTransactionInfoRequest_XStartHeight interface { + isTransactionInfoRequest_XStartHeight() MarshalTo([]byte) (int, error) Size() int } -type isTransactionHashesRequest_XEndHeight interface { - isTransactionHashesRequest_XEndHeight() +type isTransactionInfoRequest_XEndHeight interface { + isTransactionInfoRequest_XEndHeight() MarshalTo([]byte) (int, error) Size() int } -type TransactionHashesRequest_StartHeight struct { +type TransactionInfoRequest_StartHeight struct { StartHeight uint64 `protobuf:"varint,1,opt,name=start_height,json=startHeight,proto3,oneof" json:"start_height,omitempty"` } -type TransactionHashesRequest_EndHeight struct { +type TransactionInfoRequest_EndHeight struct { EndHeight uint64 `protobuf:"varint,2,opt,name=end_height,json=endHeight,proto3,oneof" json:"end_height,omitempty"` } -func (*TransactionHashesRequest_StartHeight) isTransactionHashesRequest_XStartHeight() {} -func (*TransactionHashesRequest_EndHeight) isTransactionHashesRequest_XEndHeight() {} +func (*TransactionInfoRequest_StartHeight) isTransactionInfoRequest_XStartHeight() {} +func (*TransactionInfoRequest_EndHeight) isTransactionInfoRequest_XEndHeight() {} -func (m *TransactionHashesRequest) GetXStartHeight() isTransactionHashesRequest_XStartHeight { +func (m *TransactionInfoRequest) GetXStartHeight() isTransactionInfoRequest_XStartHeight { if m != nil { return m.XStartHeight } return nil } -func (m *TransactionHashesRequest) GetXEndHeight() isTransactionHashesRequest_XEndHeight { +func (m *TransactionInfoRequest) GetXEndHeight() isTransactionInfoRequest_XEndHeight { if m != nil { return m.XEndHeight } return nil } -func (m *TransactionHashesRequest) GetStartHeight() uint64 { - if x, ok := m.GetXStartHeight().(*TransactionHashesRequest_StartHeight); ok { +func (m *TransactionInfoRequest) GetStartHeight() uint64 { + if x, ok := m.GetXStartHeight().(*TransactionInfoRequest_StartHeight); ok { return x.StartHeight } return 0 } -func (m *TransactionHashesRequest) GetEndHeight() uint64 { - if x, ok := m.GetXEndHeight().(*TransactionHashesRequest_EndHeight); ok { +func (m *TransactionInfoRequest) GetEndHeight() uint64 { + if x, ok := m.GetXEndHeight().(*TransactionInfoRequest_EndHeight); ok { return x.EndHeight } return 0 } // XXX_OneofWrappers is for the internal use of the proto package. -func (*TransactionHashesRequest) XXX_OneofWrappers() []interface{} { +func (*TransactionInfoRequest) XXX_OneofWrappers() []interface{} { return []interface{}{ - (*TransactionHashesRequest_StartHeight)(nil), - (*TransactionHashesRequest_EndHeight)(nil), + (*TransactionInfoRequest_StartHeight)(nil), + (*TransactionInfoRequest_EndHeight)(nil), } } -type TransactionHashesResponse struct { - BlockHeight uint64 `protobuf:"varint,1,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - TxHash []byte `protobuf:"bytes,2,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` +type TransactionInfo struct { + // Types that are valid to be assigned to XHeight: + // *TransactionInfo_Height + XHeight isTransactionInfo_XHeight `protobuf_oneof:"_height"` + // The hash of the transaction. + Id *v1alpha1.Id `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // The transaction data itself. + Transaction *v1alpha1.Transaction `protobuf:"bytes,3,opt,name=transaction,proto3" json:"transaction,omitempty"` + // The transaction perspective, as seen by this view server. + Perspective *v1alpha1.TransactionPerspective `protobuf:"bytes,4,opt,name=perspective,proto3" json:"perspective,omitempty"` + // A precomputed transaction view of `transaction` from `perspective`, included for convenience of clients that don't have support for viewing transactions on their own. + View *v1alpha1.TransactionView `protobuf:"bytes,5,opt,name=view,proto3" json:"view,omitempty"` } -func (m *TransactionHashesResponse) Reset() { *m = TransactionHashesResponse{} } -func (m *TransactionHashesResponse) String() string { return proto.CompactTextString(m) } -func (*TransactionHashesResponse) ProtoMessage() {} -func (*TransactionHashesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{38} +func (m *TransactionInfo) Reset() { *m = TransactionInfo{} } +func (m *TransactionInfo) String() string { return proto.CompactTextString(m) } +func (*TransactionInfo) ProtoMessage() {} +func (*TransactionInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{39} } -func (m *TransactionHashesResponse) XXX_Unmarshal(b []byte) error { +func (m *TransactionInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *TransactionHashesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *TransactionInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_TransactionHashesResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_TransactionInfo.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2800,49 +2628,95 @@ func (m *TransactionHashesResponse) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *TransactionHashesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionHashesResponse.Merge(m, src) +func (m *TransactionInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionInfo.Merge(m, src) } -func (m *TransactionHashesResponse) XXX_Size() int { +func (m *TransactionInfo) XXX_Size() int { return m.Size() } -func (m *TransactionHashesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionHashesResponse.DiscardUnknown(m) +func (m *TransactionInfo) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionInfo proto.InternalMessageInfo + +type isTransactionInfo_XHeight interface { + isTransactionInfo_XHeight() + MarshalTo([]byte) (int, error) + Size() int +} + +type TransactionInfo_Height struct { + Height uint64 `protobuf:"varint,1,opt,name=height,proto3,oneof" json:"height,omitempty"` } -var xxx_messageInfo_TransactionHashesResponse proto.InternalMessageInfo +func (*TransactionInfo_Height) isTransactionInfo_XHeight() {} -func (m *TransactionHashesResponse) GetBlockHeight() uint64 { +func (m *TransactionInfo) GetXHeight() isTransactionInfo_XHeight { if m != nil { - return m.BlockHeight + return m.XHeight + } + return nil +} + +func (m *TransactionInfo) GetHeight() uint64 { + if x, ok := m.GetXHeight().(*TransactionInfo_Height); ok { + return x.Height } return 0 } -func (m *TransactionHashesResponse) GetTxHash() []byte { +func (m *TransactionInfo) GetId() *v1alpha1.Id { + if m != nil { + return m.Id + } + return nil +} + +func (m *TransactionInfo) GetTransaction() *v1alpha1.Transaction { if m != nil { - return m.TxHash + return m.Transaction } return nil } -type TransactionByHashRequest struct { - // The transaction hash to query for. - TxHash []byte `protobuf:"bytes,1,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` +func (m *TransactionInfo) GetPerspective() *v1alpha1.TransactionPerspective { + if m != nil { + return m.Perspective + } + return nil } -func (m *TransactionByHashRequest) Reset() { *m = TransactionByHashRequest{} } -func (m *TransactionByHashRequest) String() string { return proto.CompactTextString(m) } -func (*TransactionByHashRequest) ProtoMessage() {} -func (*TransactionByHashRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{39} +func (m *TransactionInfo) GetView() *v1alpha1.TransactionView { + if m != nil { + return m.View + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*TransactionInfo) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*TransactionInfo_Height)(nil), + } +} + +type TransactionInfoResponse struct { + TxInfo *TransactionInfo `protobuf:"bytes,1,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"` +} + +func (m *TransactionInfoResponse) Reset() { *m = TransactionInfoResponse{} } +func (m *TransactionInfoResponse) String() string { return proto.CompactTextString(m) } +func (*TransactionInfoResponse) ProtoMessage() {} +func (*TransactionInfoResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{40} } -func (m *TransactionByHashRequest) XXX_Unmarshal(b []byte) error { +func (m *TransactionInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *TransactionByHashRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *TransactionInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_TransactionByHashRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_TransactionInfoResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2852,42 +2726,41 @@ func (m *TransactionByHashRequest) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *TransactionByHashRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionByHashRequest.Merge(m, src) +func (m *TransactionInfoResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionInfoResponse.Merge(m, src) } -func (m *TransactionByHashRequest) XXX_Size() int { +func (m *TransactionInfoResponse) XXX_Size() int { return m.Size() } -func (m *TransactionByHashRequest) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionByHashRequest.DiscardUnknown(m) +func (m *TransactionInfoResponse) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionInfoResponse.DiscardUnknown(m) } -var xxx_messageInfo_TransactionByHashRequest proto.InternalMessageInfo +var xxx_messageInfo_TransactionInfoResponse proto.InternalMessageInfo -func (m *TransactionByHashRequest) GetTxHash() []byte { +func (m *TransactionInfoResponse) GetTxInfo() *TransactionInfo { if m != nil { - return m.TxHash + return m.TxInfo } return nil } -// A full transaction response -type TransactionByHashResponse struct { - Tx *v1alpha1.Transaction `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` +type TransactionInfoByHashResponse struct { + TxInfo *TransactionInfo `protobuf:"bytes,1,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"` } -func (m *TransactionByHashResponse) Reset() { *m = TransactionByHashResponse{} } -func (m *TransactionByHashResponse) String() string { return proto.CompactTextString(m) } -func (*TransactionByHashResponse) ProtoMessage() {} -func (*TransactionByHashResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{40} +func (m *TransactionInfoByHashResponse) Reset() { *m = TransactionInfoByHashResponse{} } +func (m *TransactionInfoByHashResponse) String() string { return proto.CompactTextString(m) } +func (*TransactionInfoByHashResponse) ProtoMessage() {} +func (*TransactionInfoByHashResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{41} } -func (m *TransactionByHashResponse) XXX_Unmarshal(b []byte) error { +func (m *TransactionInfoByHashResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *TransactionByHashResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *TransactionInfoByHashResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_TransactionByHashResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_TransactionInfoByHashResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2897,46 +2770,41 @@ func (m *TransactionByHashResponse) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *TransactionByHashResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionByHashResponse.Merge(m, src) +func (m *TransactionInfoByHashResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionInfoByHashResponse.Merge(m, src) } -func (m *TransactionByHashResponse) XXX_Size() int { +func (m *TransactionInfoByHashResponse) XXX_Size() int { return m.Size() } -func (m *TransactionByHashResponse) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionByHashResponse.DiscardUnknown(m) +func (m *TransactionInfoByHashResponse) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionInfoByHashResponse.DiscardUnknown(m) } -var xxx_messageInfo_TransactionByHashResponse proto.InternalMessageInfo +var xxx_messageInfo_TransactionInfoByHashResponse proto.InternalMessageInfo -func (m *TransactionByHashResponse) GetTx() *v1alpha1.Transaction { +func (m *TransactionInfoByHashResponse) GetTxInfo() *TransactionInfo { if m != nil { - return m.Tx + return m.TxInfo } return nil } -type TransactionsRequest struct { - // Types that are valid to be assigned to XStartHeight: - // *TransactionsRequest_StartHeight - XStartHeight isTransactionsRequest_XStartHeight `protobuf_oneof:"_start_height"` - // Types that are valid to be assigned to XEndHeight: - // *TransactionsRequest_EndHeight - XEndHeight isTransactionsRequest_XEndHeight `protobuf_oneof:"_end_height"` +type NotesResponse struct { + NoteRecord *SpendableNoteRecord `protobuf:"bytes,1,opt,name=note_record,json=noteRecord,proto3" json:"note_record,omitempty"` } -func (m *TransactionsRequest) Reset() { *m = TransactionsRequest{} } -func (m *TransactionsRequest) String() string { return proto.CompactTextString(m) } -func (*TransactionsRequest) ProtoMessage() {} -func (*TransactionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{41} +func (m *NotesResponse) Reset() { *m = NotesResponse{} } +func (m *NotesResponse) String() string { return proto.CompactTextString(m) } +func (*NotesResponse) ProtoMessage() {} +func (*NotesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{42} } -func (m *TransactionsRequest) XXX_Unmarshal(b []byte) error { +func (m *NotesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *TransactionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *NotesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_TransactionsRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_NotesResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2946,93 +2814,42 @@ func (m *TransactionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *TransactionsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionsRequest.Merge(m, src) +func (m *NotesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NotesResponse.Merge(m, src) } -func (m *TransactionsRequest) XXX_Size() int { +func (m *NotesResponse) XXX_Size() int { return m.Size() } -func (m *TransactionsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionsRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_TransactionsRequest proto.InternalMessageInfo - -type isTransactionsRequest_XStartHeight interface { - isTransactionsRequest_XStartHeight() - MarshalTo([]byte) (int, error) - Size() int -} -type isTransactionsRequest_XEndHeight interface { - isTransactionsRequest_XEndHeight() - MarshalTo([]byte) (int, error) - Size() int -} - -type TransactionsRequest_StartHeight struct { - StartHeight uint64 `protobuf:"varint,1,opt,name=start_height,json=startHeight,proto3,oneof" json:"start_height,omitempty"` -} -type TransactionsRequest_EndHeight struct { - EndHeight uint64 `protobuf:"varint,2,opt,name=end_height,json=endHeight,proto3,oneof" json:"end_height,omitempty"` +func (m *NotesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_NotesResponse.DiscardUnknown(m) } -func (*TransactionsRequest_StartHeight) isTransactionsRequest_XStartHeight() {} -func (*TransactionsRequest_EndHeight) isTransactionsRequest_XEndHeight() {} +var xxx_messageInfo_NotesResponse proto.InternalMessageInfo -func (m *TransactionsRequest) GetXStartHeight() isTransactionsRequest_XStartHeight { - if m != nil { - return m.XStartHeight - } - return nil -} -func (m *TransactionsRequest) GetXEndHeight() isTransactionsRequest_XEndHeight { +func (m *NotesResponse) GetNoteRecord() *SpendableNoteRecord { if m != nil { - return m.XEndHeight + return m.NoteRecord } return nil } -func (m *TransactionsRequest) GetStartHeight() uint64 { - if x, ok := m.GetXStartHeight().(*TransactionsRequest_StartHeight); ok { - return x.StartHeight - } - return 0 -} - -func (m *TransactionsRequest) GetEndHeight() uint64 { - if x, ok := m.GetXEndHeight().(*TransactionsRequest_EndHeight); ok { - return x.EndHeight - } - return 0 -} - -// XXX_OneofWrappers is for the internal use of the proto package. -func (*TransactionsRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*TransactionsRequest_StartHeight)(nil), - (*TransactionsRequest_EndHeight)(nil), - } -} - -// A streaming full transaction response -type TransactionsResponse struct { - BlockHeight uint64 `protobuf:"varint,1,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - TxHash []byte `protobuf:"bytes,2,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` - Tx *v1alpha1.Transaction `protobuf:"bytes,3,opt,name=tx,proto3" json:"tx,omitempty"` +type NotesForVotingResponse struct { + NoteRecord *SpendableNoteRecord `protobuf:"bytes,1,opt,name=note_record,json=noteRecord,proto3" json:"note_record,omitempty"` + IdentityKey *v1alpha11.IdentityKey `protobuf:"bytes,2,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` } -func (m *TransactionsResponse) Reset() { *m = TransactionsResponse{} } -func (m *TransactionsResponse) String() string { return proto.CompactTextString(m) } -func (*TransactionsResponse) ProtoMessage() {} -func (*TransactionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{42} +func (m *NotesForVotingResponse) Reset() { *m = NotesForVotingResponse{} } +func (m *NotesForVotingResponse) String() string { return proto.CompactTextString(m) } +func (*NotesForVotingResponse) ProtoMessage() {} +func (*NotesForVotingResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{43} } -func (m *TransactionsResponse) XXX_Unmarshal(b []byte) error { +func (m *NotesForVotingResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *TransactionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *NotesForVotingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_TransactionsResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_NotesForVotingResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3042,217 +2859,10 @@ func (m *TransactionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (m *TransactionsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionsResponse.Merge(m, src) +func (m *NotesForVotingResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_NotesForVotingResponse.Merge(m, src) } -func (m *TransactionsResponse) XXX_Size() int { - return m.Size() -} -func (m *TransactionsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionsResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_TransactionsResponse proto.InternalMessageInfo - -func (m *TransactionsResponse) GetBlockHeight() uint64 { - if m != nil { - return m.BlockHeight - } - return 0 -} - -func (m *TransactionsResponse) GetTxHash() []byte { - if m != nil { - return m.TxHash - } - return nil -} - -func (m *TransactionsResponse) GetTx() *v1alpha1.Transaction { - if m != nil { - return m.Tx - } - return nil -} - -type TransactionPerspectiveRequest struct { - TxHash []byte `protobuf:"bytes,1,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` -} - -func (m *TransactionPerspectiveRequest) Reset() { *m = TransactionPerspectiveRequest{} } -func (m *TransactionPerspectiveRequest) String() string { return proto.CompactTextString(m) } -func (*TransactionPerspectiveRequest) ProtoMessage() {} -func (*TransactionPerspectiveRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{43} -} -func (m *TransactionPerspectiveRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TransactionPerspectiveRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TransactionPerspectiveRequest.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 *TransactionPerspectiveRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionPerspectiveRequest.Merge(m, src) -} -func (m *TransactionPerspectiveRequest) XXX_Size() int { - return m.Size() -} -func (m *TransactionPerspectiveRequest) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionPerspectiveRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_TransactionPerspectiveRequest proto.InternalMessageInfo - -func (m *TransactionPerspectiveRequest) GetTxHash() []byte { - if m != nil { - return m.TxHash - } - return nil -} - -type TransactionPerspectiveResponse struct { - Txp *v1alpha1.TransactionPerspective `protobuf:"bytes,1,opt,name=txp,proto3" json:"txp,omitempty"` - Tx *v1alpha1.Transaction `protobuf:"bytes,2,opt,name=tx,proto3" json:"tx,omitempty"` - Txv *v1alpha1.TransactionView `protobuf:"bytes,3,opt,name=txv,proto3" json:"txv,omitempty"` -} - -func (m *TransactionPerspectiveResponse) Reset() { *m = TransactionPerspectiveResponse{} } -func (m *TransactionPerspectiveResponse) String() string { return proto.CompactTextString(m) } -func (*TransactionPerspectiveResponse) ProtoMessage() {} -func (*TransactionPerspectiveResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{44} -} -func (m *TransactionPerspectiveResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *TransactionPerspectiveResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_TransactionPerspectiveResponse.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 *TransactionPerspectiveResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_TransactionPerspectiveResponse.Merge(m, src) -} -func (m *TransactionPerspectiveResponse) XXX_Size() int { - return m.Size() -} -func (m *TransactionPerspectiveResponse) XXX_DiscardUnknown() { - xxx_messageInfo_TransactionPerspectiveResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_TransactionPerspectiveResponse proto.InternalMessageInfo - -func (m *TransactionPerspectiveResponse) GetTxp() *v1alpha1.TransactionPerspective { - if m != nil { - return m.Txp - } - return nil -} - -func (m *TransactionPerspectiveResponse) GetTx() *v1alpha1.Transaction { - if m != nil { - return m.Tx - } - return nil -} - -func (m *TransactionPerspectiveResponse) GetTxv() *v1alpha1.TransactionView { - if m != nil { - return m.Txv - } - return nil -} - -type NotesResponse struct { - NoteRecord *SpendableNoteRecord `protobuf:"bytes,1,opt,name=note_record,json=noteRecord,proto3" json:"note_record,omitempty"` -} - -func (m *NotesResponse) Reset() { *m = NotesResponse{} } -func (m *NotesResponse) String() string { return proto.CompactTextString(m) } -func (*NotesResponse) ProtoMessage() {} -func (*NotesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{45} -} -func (m *NotesResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *NotesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_NotesResponse.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 *NotesResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_NotesResponse.Merge(m, src) -} -func (m *NotesResponse) XXX_Size() int { - return m.Size() -} -func (m *NotesResponse) XXX_DiscardUnknown() { - xxx_messageInfo_NotesResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_NotesResponse proto.InternalMessageInfo - -func (m *NotesResponse) GetNoteRecord() *SpendableNoteRecord { - if m != nil { - return m.NoteRecord - } - return nil -} - -type NotesForVotingResponse struct { - NoteRecord *SpendableNoteRecord `protobuf:"bytes,1,opt,name=note_record,json=noteRecord,proto3" json:"note_record,omitempty"` - IdentityKey *v1alpha11.IdentityKey `protobuf:"bytes,2,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` -} - -func (m *NotesForVotingResponse) Reset() { *m = NotesForVotingResponse{} } -func (m *NotesForVotingResponse) String() string { return proto.CompactTextString(m) } -func (*NotesForVotingResponse) ProtoMessage() {} -func (*NotesForVotingResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{46} -} -func (m *NotesForVotingResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *NotesForVotingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_NotesForVotingResponse.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 *NotesForVotingResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_NotesForVotingResponse.Merge(m, src) -} -func (m *NotesForVotingResponse) XXX_Size() int { +func (m *NotesForVotingResponse) XXX_Size() int { return m.Size() } func (m *NotesForVotingResponse) XXX_DiscardUnknown() { @@ -3300,7 +2910,7 @@ func (m *SpendableNoteRecord) Reset() { *m = SpendableNoteRecord{} } func (m *SpendableNoteRecord) String() string { return proto.CompactTextString(m) } func (*SpendableNoteRecord) ProtoMessage() {} func (*SpendableNoteRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{47} + return fileDescriptor_0aa947b204e6a7c2, []int{44} } func (m *SpendableNoteRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3427,7 +3037,7 @@ func (m *SwapRecord) Reset() { *m = SwapRecord{} } func (m *SwapRecord) String() string { return proto.CompactTextString(m) } func (*SwapRecord) ProtoMessage() {} func (*SwapRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{48} + return fileDescriptor_0aa947b204e6a7c2, []int{45} } func (m *SwapRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3573,14 +3183,11 @@ func init() { proto.RegisterType((*SwapByCommitmentResponse)(nil), "penumbra.view.v1alpha1.SwapByCommitmentResponse") proto.RegisterType((*NullifierStatusRequest)(nil), "penumbra.view.v1alpha1.NullifierStatusRequest") proto.RegisterType((*NullifierStatusResponse)(nil), "penumbra.view.v1alpha1.NullifierStatusResponse") - proto.RegisterType((*TransactionHashesRequest)(nil), "penumbra.view.v1alpha1.TransactionHashesRequest") - proto.RegisterType((*TransactionHashesResponse)(nil), "penumbra.view.v1alpha1.TransactionHashesResponse") - proto.RegisterType((*TransactionByHashRequest)(nil), "penumbra.view.v1alpha1.TransactionByHashRequest") - proto.RegisterType((*TransactionByHashResponse)(nil), "penumbra.view.v1alpha1.TransactionByHashResponse") - proto.RegisterType((*TransactionsRequest)(nil), "penumbra.view.v1alpha1.TransactionsRequest") - proto.RegisterType((*TransactionsResponse)(nil), "penumbra.view.v1alpha1.TransactionsResponse") - proto.RegisterType((*TransactionPerspectiveRequest)(nil), "penumbra.view.v1alpha1.TransactionPerspectiveRequest") - proto.RegisterType((*TransactionPerspectiveResponse)(nil), "penumbra.view.v1alpha1.TransactionPerspectiveResponse") + proto.RegisterType((*TransactionInfoByHashRequest)(nil), "penumbra.view.v1alpha1.TransactionInfoByHashRequest") + proto.RegisterType((*TransactionInfoRequest)(nil), "penumbra.view.v1alpha1.TransactionInfoRequest") + proto.RegisterType((*TransactionInfo)(nil), "penumbra.view.v1alpha1.TransactionInfo") + proto.RegisterType((*TransactionInfoResponse)(nil), "penumbra.view.v1alpha1.TransactionInfoResponse") + proto.RegisterType((*TransactionInfoByHashResponse)(nil), "penumbra.view.v1alpha1.TransactionInfoByHashResponse") proto.RegisterType((*NotesResponse)(nil), "penumbra.view.v1alpha1.NotesResponse") proto.RegisterType((*NotesForVotingResponse)(nil), "penumbra.view.v1alpha1.NotesForVotingResponse") proto.RegisterType((*SpendableNoteRecord)(nil), "penumbra.view.v1alpha1.SpendableNoteRecord") @@ -3590,180 +3197,176 @@ func init() { func init() { proto.RegisterFile("penumbra/view/v1alpha1/view.proto", fileDescriptor_0aa947b204e6a7c2) } var fileDescriptor_0aa947b204e6a7c2 = []byte{ - // 2768 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0xcf, 0x73, 0xe4, 0xc4, - 0xf5, 0x5f, 0xcd, 0xf8, 0xd7, 0xbe, 0x19, 0xcf, 0x78, 0x65, 0xaf, 0x3d, 0xcc, 0x17, 0xcc, 0x22, - 0x76, 0x17, 0x7f, 0x97, 0x30, 0xde, 0xf5, 0x02, 0x21, 0x06, 0x0a, 0x3c, 0x18, 0x63, 0x17, 0xbb, - 0xe0, 0xc8, 0xac, 0x37, 0x10, 0x13, 0x55, 0x5b, 0x6a, 0x7b, 0x14, 0x6b, 0x24, 0x21, 0xf5, 0xf8, - 0x07, 0x39, 0x71, 0x21, 0x14, 0xa7, 0x54, 0xe5, 0x90, 0xe4, 0x9a, 0x5b, 0x52, 0xa9, 0xca, 0x29, - 0x7f, 0x41, 0x2e, 0x54, 0x0e, 0x29, 0x0e, 0xa4, 0x2a, 0x95, 0x54, 0xa5, 0x52, 0xcb, 0x2d, 0x7f, - 0x40, 0xae, 0x49, 0xf5, 0x2f, 0x8d, 0xa4, 0x91, 0x98, 0x19, 0xdb, 0x54, 0xb2, 0xe1, 0x36, 0xea, - 0x7e, 0xef, 0xf3, 0x5e, 0xbf, 0xd7, 0xfd, 0xfa, 0xbd, 0x37, 0x0d, 0x4f, 0xf8, 0xd8, 0xed, 0xb4, - 0x77, 0x03, 0xb4, 0x78, 0x68, 0xe3, 0xa3, 0xc5, 0xc3, 0x5b, 0xc8, 0xf1, 0x5b, 0xe8, 0x16, 0xfb, - 0x6a, 0xf8, 0x81, 0x47, 0x3c, 0x75, 0x56, 0x92, 0x34, 0xd8, 0xa0, 0x24, 0xa9, 0x2f, 0x44, 0xac, - 0xa6, 0x17, 0xe0, 0x45, 0xb3, 0x85, 0x6c, 0xb7, 0x0b, 0xc0, 0x3e, 0x39, 0x42, 0xfd, 0x46, 0x8a, - 0x32, 0x38, 0xf1, 0x89, 0x17, 0x23, 0x65, 0xdf, 0x82, 0xf6, 0x6a, 0x92, 0xd6, 0xc2, 0xc7, 0x5d, - 0x42, 0x0b, 0x1f, 0x0b, 0xaa, 0x67, 0x93, 0x54, 0x24, 0x40, 0x6e, 0x88, 0x4c, 0x62, 0x7b, 0x31, - 0x0d, 0x62, 0x83, 0xd9, 0xd8, 0xf6, 0xae, 0xd9, 0xa5, 0xb6, 0x77, 0x4d, 0x4e, 0xa5, 0xfd, 0x42, - 0x81, 0xff, 0x6b, 0x06, 0x1e, 0xb2, 0x4c, 0x14, 0x92, 0x77, 0xba, 0x20, 0x3a, 0xfe, 0xa0, 0x83, - 0x43, 0xa2, 0x7e, 0x17, 0x4a, 0x31, 0xe8, 0x9a, 0x72, 0x45, 0x59, 0x28, 0x2d, 0x2d, 0x36, 0x22, - 0x2b, 0x51, 0xec, 0x46, 0x5c, 0xb8, 0x94, 0xd1, 0x88, 0x83, 0xc5, 0x31, 0xd4, 0xa7, 0xa0, 0x8a, - 0x8e, 0x90, 0x4d, 0x0c, 0x0b, 0x13, 0xcc, 0x61, 0x0b, 0x57, 0x94, 0x85, 0x09, 0xbd, 0xc2, 0x86, - 0x57, 0xe5, 0xa8, 0xb6, 0x0d, 0x8f, 0x66, 0xab, 0x16, 0xfa, 0x9e, 0x1b, 0x62, 0xf5, 0x79, 0x28, - 0xd8, 0x96, 0x50, 0xe9, 0xfa, 0x20, 0x2a, 0x6d, 0x58, 0x7a, 0xc1, 0xb6, 0xb4, 0x5f, 0x01, 0x3c, - 0x12, 0xc3, 0xdb, 0x74, 0x90, 0xeb, 0xe2, 0x40, 0xae, 0xf8, 0x49, 0x98, 0xc4, 0xc7, 0xbe, 0x1d, - 0x9c, 0x18, 0x2d, 0x6c, 0xef, 0xb7, 0x08, 0x13, 0x30, 0xa2, 0x97, 0xf9, 0xe0, 0x3a, 0x1b, 0x53, - 0x9f, 0x85, 0xe2, 0x1e, 0xc6, 0x4c, 0xef, 0xd2, 0x92, 0x96, 0x92, 0x2d, 0x5c, 0x1c, 0x89, 0x5d, - 0xc3, 0x58, 0xa7, 0xe4, 0xaa, 0x0a, 0x23, 0x6d, 0xdc, 0xf6, 0x6a, 0xc5, 0x2b, 0xca, 0xc2, 0x45, - 0x9d, 0xfd, 0x56, 0x77, 0x60, 0x0a, 0x99, 0xa6, 0xd7, 0x71, 0x89, 0xb1, 0x1f, 0x78, 0x1d, 0xdf, - 0xb0, 0xad, 0x5a, 0x85, 0xc1, 0x3e, 0xd3, 0x07, 0x76, 0x85, 0xb3, 0xbd, 0x41, 0xb9, 0x36, 0xac, - 0xf5, 0x0b, 0x7a, 0x05, 0x25, 0x46, 0x3e, 0x51, 0x14, 0xf5, 0x55, 0x18, 0x25, 0xde, 0x01, 0x76, - 0x6b, 0x55, 0x06, 0x79, 0xad, 0x91, 0xbd, 0xbd, 0x1b, 0xdb, 0x36, 0x3e, 0x5a, 0xe9, 0x90, 0xd6, - 0x3b, 0x94, 0x78, 0x5d, 0xd1, 0x39, 0x17, 0x45, 0xd0, 0x61, 0xdc, 0xeb, 0x10, 0xbf, 0x43, 0xc2, - 0xda, 0xcc, 0x95, 0xe2, 0x42, 0x69, 0xe9, 0x85, 0x3c, 0x8c, 0x5c, 0x93, 0x36, 0xde, 0x66, 0x00, - 0xba, 0x04, 0x52, 0xef, 0xc0, 0x68, 0x78, 0x84, 0xfc, 0xb0, 0x36, 0xcf, 0x10, 0x9f, 0x1f, 0x1e, - 0x71, 0xeb, 0x08, 0xf9, 0x3a, 0x07, 0x51, 0x77, 0xa0, 0x64, 0x61, 0x07, 0xef, 0x23, 0x4a, 0x17, - 0xd6, 0x16, 0x18, 0xe6, 0xf2, 0xf0, 0x98, 0xab, 0x1c, 0x04, 0xeb, 0x71, 0x38, 0x75, 0x17, 0x26, - 0x3b, 0x6e, 0x1c, 0x7f, 0x89, 0xe1, 0xbf, 0x34, 0x3c, 0xfe, 0x3d, 0x09, 0x83, 0xf5, 0x24, 0xa4, - 0xba, 0x06, 0x25, 0x7b, 0xd7, 0x34, 0x38, 0x57, 0x58, 0x7b, 0x89, 0x49, 0xb8, 0x96, 0x72, 0x3f, - 0x3d, 0xb3, 0xdd, 0x9d, 0xbc, 0x6b, 0xae, 0xf0, 0xc3, 0x00, 0xb6, 0xfc, 0x19, 0xd6, 0x3f, 0x56, - 0x60, 0x8c, 0xdb, 0x5a, 0x5d, 0x86, 0xd1, 0x43, 0xe4, 0x74, 0xb0, 0x38, 0x1e, 0x57, 0xfb, 0xec, - 0xa5, 0x6d, 0x4a, 0xab, 0x73, 0x16, 0xf5, 0x55, 0x18, 0x47, 0x96, 0x15, 0xe0, 0x30, 0x14, 0x1b, - 0xfc, 0x7a, 0xbf, 0x9d, 0xc8, 0xa9, 0x75, 0xc9, 0x56, 0xff, 0xbd, 0x02, 0x23, 0xd4, 0x45, 0x67, - 0x52, 0x63, 0x03, 0xca, 0x04, 0x05, 0xfb, 0x98, 0x18, 0x28, 0x0c, 0x31, 0x19, 0x54, 0x17, 0x4a, - 0xbb, 0x61, 0xe9, 0x25, 0xce, 0xcb, 0x3e, 0xe5, 0x71, 0x2d, 0x0e, 0x75, 0x5c, 0xeb, 0x3f, 0x57, - 0x60, 0x42, 0x6e, 0x0a, 0xf5, 0x65, 0x18, 0x43, 0x6d, 0x7a, 0xba, 0xc4, 0x52, 0xae, 0xf5, 0xd3, - 0x83, 0x11, 0xeb, 0x82, 0x49, 0xbd, 0x0b, 0x65, 0xdb, 0xc2, 0x2e, 0xb1, 0xc9, 0x89, 0x71, 0x80, - 0x4f, 0xc4, 0x62, 0x6e, 0xf4, 0x01, 0xd9, 0x10, 0x2c, 0x6f, 0xe2, 0x13, 0xbd, 0x64, 0x77, 0x3f, - 0xea, 0xeb, 0x00, 0xdd, 0xed, 0x74, 0x16, 0x2b, 0x37, 0xa7, 0xe1, 0x92, 0x91, 0x0e, 0x40, 0xcd, - 0x09, 0x18, 0x33, 0x58, 0x04, 0xd0, 0x30, 0xd4, 0xb3, 0x76, 0xb4, 0x88, 0xc0, 0x6f, 0xc0, 0x88, - 0xef, 0x20, 0x79, 0x2d, 0xdc, 0x1e, 0xf2, 0x5a, 0xa0, 0x68, 0x3a, 0x03, 0xd0, 0x6c, 0xb8, 0x2c, - 0x36, 0x51, 0xf3, 0x64, 0xc3, 0xb5, 0xf0, 0xb1, 0x8c, 0xc6, 0x9b, 0x30, 0x29, 0x36, 0x95, 0x61, - 0xd3, 0x71, 0x21, 0xea, 0xe9, 0xc1, 0x76, 0x24, 0x87, 0x2a, 0xa3, 0xd8, 0x97, 0xf6, 0x1e, 0xcc, - 0xa6, 0x45, 0x89, 0xd5, 0xc4, 0xf6, 0xbd, 0x72, 0xaa, 0x7d, 0xaf, 0xbd, 0x0b, 0x97, 0x19, 0x64, - 0xf3, 0x44, 0x4e, 0x89, 0x65, 0x9c, 0x1d, 0xfa, 0x23, 0x05, 0x66, 0xd3, 0xd8, 0x42, 0xef, 0x7b, - 0x67, 0xb7, 0xd1, 0xfa, 0x85, 0xa4, 0x95, 0x3e, 0x51, 0x94, 0xe6, 0x14, 0x54, 0x8c, 0x04, 0xae, - 0x76, 0x00, 0x73, 0xaf, 0xfb, 0x2d, 0xdc, 0xc6, 0x01, 0x72, 0x52, 0x0b, 0x3c, 0x7f, 0x3f, 0xed, - 0x40, 0xad, 0x57, 0xd8, 0xb9, 0x79, 0xea, 0xfb, 0x30, 0xd7, 0x44, 0x0e, 0x72, 0x4d, 0xfc, 0x35, - 0xf8, 0xea, 0x67, 0x0a, 0xd4, 0x7a, 0xd1, 0x85, 0xee, 0x2f, 0xc1, 0x28, 0x8f, 0x67, 0xca, 0x50, - 0xf1, 0x8c, 0x33, 0xc5, 0xc2, 0x50, 0xe1, 0x14, 0x61, 0x48, 0xbb, 0x06, 0x93, 0x89, 0xab, 0x5e, - 0x9d, 0x81, 0x51, 0x9b, 0x1e, 0x69, 0xa6, 0x4d, 0x59, 0xe7, 0x1f, 0x9a, 0x0e, 0x55, 0x49, 0x26, - 0xad, 0xf2, 0x0a, 0x14, 0xf7, 0x0e, 0x0f, 0x84, 0xd2, 0xfd, 0x52, 0x93, 0xb5, 0x8e, 0xe3, 0x50, - 0x00, 0xdb, 0xdd, 0xa7, 0xa1, 0x8b, 0x72, 0x6a, 0x6f, 0xc3, 0x54, 0x17, 0x53, 0xd8, 0xe2, 0x45, - 0x99, 0x9e, 0x28, 0x43, 0xa4, 0x27, 0x22, 0x39, 0xd1, 0xfe, 0xa8, 0xc0, 0xe4, 0x16, 0x41, 0xa4, - 0x13, 0x79, 0xee, 0xbf, 0x3c, 0x97, 0xea, 0x17, 0x6b, 0x75, 0xa8, 0xc8, 0xf5, 0x08, 0xfb, 0x3c, - 0x0e, 0xa5, 0xf0, 0xc4, 0x35, 0x93, 0x99, 0x28, 0xd0, 0x21, 0x91, 0x87, 0x3e, 0x0e, 0x25, 0x13, - 0x11, 0xb3, 0x65, 0xbb, 0xfb, 0x46, 0xc7, 0x17, 0x79, 0x34, 0xc8, 0xa1, 0x7b, 0xbe, 0xf6, 0x85, - 0x02, 0xd3, 0x1c, 0x74, 0x8b, 0x04, 0x18, 0xb5, 0xff, 0x47, 0x4c, 0x15, 0xc0, 0x4c, 0x72, 0x55, - 0xc2, 0x60, 0xdf, 0x81, 0x47, 0x1c, 0x44, 0x70, 0x48, 0x8c, 0x03, 0xd7, 0x3b, 0x72, 0x8d, 0x5d, - 0xc7, 0x33, 0x0f, 0x92, 0xe6, 0x9b, 0xe5, 0x04, 0x6f, 0xd2, 0xf9, 0x26, 0x9d, 0xee, 0x9a, 0x32, - 0x6e, 0xeb, 0x42, 0xda, 0xd6, 0xda, 0x6f, 0x8b, 0x50, 0x7e, 0xcb, 0x23, 0x38, 0x8c, 0x55, 0x0a, - 0xb6, 0x6b, 0x3a, 0x1d, 0x0b, 0x1b, 0xa1, 0x8f, 0xc5, 0x91, 0x9c, 0xd0, 0xcb, 0x62, 0x70, 0x8b, - 0x8e, 0xa9, 0x2b, 0x30, 0xc1, 0x4e, 0x2e, 0x35, 0x70, 0x71, 0xa8, 0x13, 0x3f, 0x8e, 0xf8, 0x8f, - 0xde, 0xd8, 0x3a, 0x72, 0xc6, 0xd8, 0xaa, 0x5e, 0x87, 0x2a, 0x0f, 0x08, 0x06, 0xf1, 0x98, 0xee, - 0x56, 0x6d, 0x94, 0xad, 0x77, 0x92, 0x0f, 0xbf, 0xe3, 0x51, 0xe5, 0xad, 0x87, 0x7d, 0x97, 0x7c, - 0x51, 0x80, 0xcb, 0xcc, 0x63, 0x6b, 0x5e, 0xb0, 0xed, 0x11, 0xdb, 0xdd, 0x97, 0xae, 0xbb, 0x01, - 0x97, 0x0e, 0x3d, 0x82, 0x76, 0x1d, 0x6c, 0x20, 0x92, 0xdc, 0x1f, 0x55, 0x31, 0xb1, 0x42, 0xc4, - 0xc6, 0xe8, 0x31, 0x7f, 0xf1, 0xac, 0xe6, 0x7f, 0xc8, 0xcd, 0xfa, 0x69, 0x11, 0x2a, 0xf7, 0x6d, - 0xe2, 0xc6, 0xee, 0xcc, 0x77, 0x61, 0xca, 0xf5, 0x08, 0x36, 0x4c, 0xaf, 0xdd, 0xb6, 0x49, 0x1b, - 0xbb, 0x84, 0xd6, 0x0e, 0xb4, 0x8c, 0x69, 0xf4, 0x59, 0x11, 0x3d, 0xc6, 0xf8, 0xb5, 0x88, 0x4d, - 0xaf, 0x52, 0x9c, 0xee, 0x77, 0xa8, 0xfe, 0x00, 0xa6, 0x62, 0x89, 0xa4, 0xc1, 0xf2, 0xcd, 0xe2, - 0xe9, 0xf3, 0xcd, 0x2a, 0x49, 0x0e, 0x3c, 0xec, 0xce, 0xc0, 0x50, 0x8d, 0x7c, 0x21, 0x82, 0xa0, - 0x0e, 0xe5, 0x23, 0x3e, 0x64, 0x58, 0x88, 0xa0, 0x61, 0x9a, 0x36, 0x02, 0x6a, 0x15, 0x11, 0xa4, - 0x97, 0x8e, 0xba, 0x1f, 0xda, 0xdf, 0x14, 0x98, 0x15, 0x93, 0x2b, 0xae, 0xd5, 0xec, 0xd8, 0x8e, - 0x25, 0x7d, 0x9f, 0xe5, 0x20, 0xe5, 0x1c, 0x1d, 0x64, 0x81, 0x8a, 0x3a, 0xa4, 0xe5, 0x05, 0xf6, - 0x87, 0xac, 0x5e, 0xe6, 0x8b, 0xe2, 0xe9, 0xcf, 0x73, 0x83, 0x48, 0x58, 0x89, 0x73, 0xb3, 0xa5, - 0x5d, 0x42, 0xe9, 0x21, 0xcd, 0x81, 0xb9, 0x9e, 0xf5, 0x09, 0x7b, 0x9e, 0x7f, 0x0f, 0x4c, 0xfb, - 0x4d, 0x11, 0x26, 0x59, 0x9c, 0x8f, 0x4e, 0x50, 0x1d, 0x26, 0xf6, 0x6c, 0x87, 0xe0, 0x00, 0xf3, - 0x96, 0xd6, 0x84, 0x1e, 0x7d, 0xab, 0x3f, 0x84, 0xf9, 0xd8, 0x45, 0x63, 0xda, 0x7b, 0xb6, 0x69, - 0x58, 0xd8, 0xf5, 0xda, 0xb6, 0x2b, 0x9a, 0x12, 0xfc, 0xac, 0xf5, 0x2b, 0xfc, 0x56, 0x29, 0x8f, - 0xfe, 0x68, 0xf7, 0x7e, 0x62, 0x50, 0xab, 0x71, 0x24, 0x75, 0x19, 0x1e, 0x91, 0xb2, 0xba, 0x2d, - 0x0a, 0xbe, 0xd7, 0x42, 0x76, 0xee, 0x26, 0xf4, 0x39, 0x41, 0xb0, 0x1a, 0xcd, 0xb3, 0x5d, 0x1b, - 0xaa, 0x2f, 0x40, 0x4d, 0xf2, 0x76, 0xdc, 0x5d, 0xcf, 0xb5, 0x68, 0x5a, 0x22, 0x58, 0x47, 0x18, - 0xeb, 0xac, 0x98, 0xbf, 0x27, 0xa7, 0x05, 0xe7, 0x75, 0xa8, 0x4a, 0x4e, 0xc7, 0x37, 0xdc, 0x3d, - 0x12, 0xb2, 0x0b, 0x69, 0x42, 0x97, 0x37, 0xec, 0x1d, 0xff, 0xad, 0x3d, 0x12, 0xaa, 0x4b, 0x70, - 0x59, 0xd2, 0xf9, 0x81, 0xe7, 0x7b, 0x21, 0x72, 0x38, 0xf5, 0x18, 0xa3, 0x9e, 0x16, 0x93, 0x9b, - 0x62, 0x8e, 0xf1, 0xac, 0xc0, 0x63, 0x92, 0xe7, 0x90, 0x5d, 0x02, 0x46, 0x80, 0x4d, 0x6c, 0xfb, - 0x44, 0xaa, 0x36, 0xce, 0x78, 0xeb, 0x82, 0x48, 0x5e, 0x14, 0x8c, 0x84, 0xab, 0xa7, 0xdd, 0x81, - 0x8a, 0xf4, 0x96, 0xd8, 0x13, 0xcb, 0xc9, 0x2c, 0xfe, 0xea, 0x20, 0x77, 0xba, 0xc8, 0xe1, 0xb5, - 0x1a, 0xcc, 0xbe, 0xd6, 0x42, 0xb6, 0xbb, 0x89, 0x02, 0xd4, 0xc6, 0x04, 0x07, 0x72, 0x13, 0x68, - 0x2d, 0x98, 0xeb, 0x99, 0x11, 0x02, 0xef, 0x02, 0xf8, 0xd1, 0x68, 0x5e, 0x1a, 0xce, 0xda, 0xd0, - 0x91, 0xd0, 0x34, 0x54, 0x0c, 0x40, 0x9b, 0x85, 0x99, 0xb5, 0xbb, 0xab, 0xbd, 0x1a, 0x58, 0x70, - 0x39, 0x35, 0x2e, 0xe4, 0xbf, 0x99, 0x21, 0xff, 0xe9, 0xaf, 0x96, 0xbf, 0xd6, 0xb6, 0x72, 0xa4, - 0xff, 0xa5, 0x00, 0x73, 0xf4, 0x62, 0x6e, 0x9e, 0xc4, 0x22, 0xbf, 0x38, 0x08, 0xf7, 0xa1, 0x9a, - 0xba, 0x4a, 0xc4, 0x59, 0x1f, 0xf6, 0x26, 0xa9, 0x24, 0x6f, 0x92, 0xac, 0xbe, 0x73, 0x31, 0xab, - 0xef, 0xfc, 0xb0, 0xdf, 0x08, 0x2e, 0xd4, 0x7a, 0x6d, 0x1b, 0x5d, 0x0d, 0x15, 0x96, 0xee, 0xb1, - 0xcc, 0x87, 0xda, 0xa7, 0xd7, 0x93, 0x49, 0x2d, 0xb6, 0x24, 0x35, 0x85, 0xd4, 0xb1, 0xe9, 0x05, - 0x96, 0x3e, 0x19, 0xc6, 0x07, 0x99, 0x33, 0xb7, 0x8e, 0x90, 0x9f, 0xe3, 0xcc, 0xf0, 0x08, 0xf9, - 0xe7, 0xe0, 0x4c, 0x0a, 0xf3, 0x0d, 0x74, 0xa6, 0x0e, 0xb5, 0x5e, 0xdb, 0x46, 0xff, 0x7f, 0x8c, - 0x50, 0xab, 0x08, 0x17, 0x6a, 0xb9, 0x2e, 0x3c, 0x42, 0xbe, 0xf0, 0x1c, 0xa3, 0xd7, 0x3e, 0x2b, - 0xc0, 0xec, 0x5b, 0x1d, 0xc7, 0xb1, 0xf7, 0x6c, 0x1c, 0x24, 0x2b, 0xe8, 0x35, 0xb8, 0xe8, 0xca, - 0x19, 0xe1, 0xa9, 0x85, 0x3e, 0x66, 0x8a, 0x90, 0xf4, 0x2e, 0xeb, 0x37, 0xc6, 0x3d, 0x8b, 0x30, - 0xd7, 0x63, 0x49, 0xe1, 0x9d, 0x19, 0x18, 0xe5, 0x55, 0x21, 0xbf, 0xcd, 0xf9, 0x87, 0xf6, 0xb1, - 0x02, 0xb5, 0x58, 0x56, 0xb0, 0x8e, 0xc2, 0x56, 0xb7, 0xa0, 0xbc, 0x0e, 0xe5, 0x90, 0xa0, 0x20, - 0x59, 0x90, 0xac, 0x5f, 0xd0, 0x4b, 0x6c, 0x94, 0x97, 0x23, 0x74, 0x59, 0x1a, 0x00, 0x76, 0xad, - 0x44, 0xa5, 0xba, 0xae, 0xe8, 0x17, 0xb1, 0x6b, 0x45, 0x34, 0xcd, 0x2a, 0x4c, 0x1a, 0x71, 0xb0, - 0xe6, 0x24, 0x94, 0x8c, 0x2e, 0x97, 0x76, 0x3f, 0xf1, 0x1f, 0x98, 0xd4, 0x43, 0xe8, 0xfe, 0x04, - 0x94, 0x33, 0x2a, 0xe7, 0xd2, 0x6e, 0xac, 0x5c, 0x9e, 0x83, 0x71, 0x72, 0x6c, 0xb4, 0x50, 0xd8, - 0x62, 0x0a, 0x94, 0xf5, 0x31, 0x72, 0x4c, 0x51, 0xb4, 0xdb, 0x89, 0x05, 0x36, 0x4f, 0xe8, 0xa0, - 0x5c, 0x60, 0x8c, 0x49, 0x49, 0x30, 0xed, 0x24, 0xb4, 0x91, 0x4c, 0x42, 0x9b, 0x57, 0xa0, 0x40, - 0x8e, 0x4f, 0x9b, 0x76, 0x15, 0xc8, 0xb1, 0xf6, 0x91, 0x02, 0xd3, 0xb1, 0xb1, 0xff, 0x88, 0xbd, - 0x7f, 0xaa, 0xc0, 0x4c, 0x52, 0x87, 0xb3, 0xdb, 0x5a, 0x58, 0xa6, 0x78, 0x7a, 0xcb, 0xbc, 0x00, - 0x8f, 0xc5, 0xf3, 0x6f, 0x1c, 0xd0, 0xfc, 0x92, 0xd8, 0x87, 0xb8, 0xaf, 0xc7, 0xfe, 0xa9, 0xc0, - 0x7c, 0x1e, 0xab, 0x58, 0xd9, 0x1d, 0x28, 0x92, 0x63, 0x19, 0x9e, 0x96, 0x87, 0xad, 0x05, 0x62, - 0x80, 0x14, 0x46, 0xac, 0xb5, 0x70, 0xea, 0xb5, 0xaa, 0xaf, 0x53, 0x75, 0x0e, 0x4f, 0x59, 0x3b, - 0xd2, 0x08, 0x41, 0xf5, 0x38, 0xd4, 0xde, 0x87, 0x49, 0xd1, 0x05, 0x8a, 0x96, 0x59, 0x62, 0x09, - 0x4b, 0xc0, 0x62, 0xec, 0x69, 0x2e, 0x54, 0x70, 0xa3, 0xdf, 0xda, 0xef, 0x14, 0x98, 0x4d, 0xf7, - 0x2c, 0xbe, 0x0e, 0x41, 0xe7, 0xfc, 0x8f, 0x94, 0xf6, 0xaf, 0x22, 0x4c, 0x67, 0x88, 0xcc, 0x4a, - 0xe7, 0x94, 0x73, 0x49, 0xe7, 0xbe, 0x0d, 0x23, 0x2c, 0x81, 0xe1, 0x7a, 0x3f, 0xd9, 0xef, 0x96, - 0xa2, 0x1a, 0x31, 0x86, 0xaf, 0xa1, 0x9f, 0x93, 0xb8, 0x35, 0x47, 0x4e, 0x7f, 0x6b, 0x5e, 0x83, - 0x0a, 0x0f, 0x02, 0x86, 0x19, 0x60, 0x44, 0x70, 0xd4, 0x95, 0xe3, 0xa3, 0xaf, 0xf1, 0x41, 0x1a, - 0xb6, 0x04, 0x19, 0xbf, 0x60, 0xc6, 0x64, 0xd8, 0xe2, 0xa3, 0xac, 0xef, 0x48, 0xc3, 0x56, 0x1d, - 0x26, 0x7c, 0x2f, 0xb4, 0xd9, 0xed, 0x3b, 0xce, 0x80, 0xa2, 0x6f, 0xf5, 0x55, 0x18, 0x0b, 0xbd, - 0x4e, 0x60, 0xe2, 0xda, 0x44, 0xb6, 0xbe, 0xc9, 0x54, 0x9e, 0x9a, 0x6f, 0x8b, 0xd1, 0xeb, 0x82, - 0x8f, 0x05, 0xbc, 0xb8, 0x1a, 0xda, 0x5f, 0x8b, 0x00, 0xdd, 0x5c, 0x23, 0x2b, 0xf5, 0x53, 0xce, - 0x25, 0xf5, 0x7b, 0x59, 0xa4, 0x3d, 0xdc, 0xf1, 0xff, 0x9f, 0x42, 0xb3, 0xf0, 0x71, 0x32, 0xf5, - 0xd9, 0x74, 0x90, 0xed, 0x12, 0x7c, 0x4c, 0x78, 0xf6, 0x93, 0xb0, 0x4a, 0x31, 0x65, 0x95, 0xf3, - 0x72, 0xe4, 0x26, 0x94, 0xf8, 0x5b, 0x07, 0xde, 0xab, 0x18, 0xcd, 0x0c, 0x5a, 0x09, 0x4d, 0x9b, - 0x88, 0x98, 0x2d, 0xaa, 0x2e, 0xff, 0xff, 0x9e, 0x75, 0x29, 0xc0, 0x8b, 0x7e, 0xab, 0x37, 0xba, - 0x5b, 0xc3, 0x41, 0x76, 0x1b, 0x5b, 0x91, 0xd7, 0xe5, 0xe6, 0xe0, 0xc3, 0x3c, 0xeb, 0x91, 0xbe, - 0x1d, 0x3f, 0xa5, 0x6f, 0x2f, 0x41, 0xd5, 0x48, 0x8a, 0x5b, 0xfa, 0xd3, 0x34, 0x4c, 0xd3, 0x20, - 0xb8, 0x19, 0x78, 0xc4, 0x33, 0x3d, 0x67, 0x0b, 0x07, 0x87, 0xb6, 0x89, 0xd5, 0xfb, 0x30, 0xc6, - 0x13, 0x1f, 0x35, 0x37, 0xbb, 0x4a, 0xa4, 0x98, 0xf5, 0xeb, 0xfd, 0xc8, 0x44, 0xb4, 0x3b, 0x80, - 0x72, 0xbc, 0xc5, 0xaf, 0x3e, 0xfd, 0xd5, 0x7c, 0x89, 0xbf, 0x37, 0xea, 0xdf, 0x1a, 0x8c, 0x98, - 0x8b, 0xba, 0xa9, 0xa8, 0xdb, 0x30, 0xca, 0x82, 0xae, 0x7a, 0x35, 0x8f, 0x31, 0xde, 0xf9, 0xaf, - 0x5f, 0xeb, 0x43, 0x15, 0xe1, 0x7e, 0x00, 0x95, 0x64, 0x30, 0x57, 0x9f, 0xf9, 0x4a, 0xd6, 0x74, - 0xa3, 0xba, 0xde, 0x18, 0x94, 0x3c, 0x12, 0xf9, 0x1e, 0x8c, 0x8b, 0x46, 0x96, 0x9a, 0x6b, 0xea, - 0x64, 0xf7, 0xb6, 0xfe, 0x54, 0x5f, 0x3a, 0xe1, 0x93, 0x20, 0x6a, 0x36, 0xca, 0x26, 0x99, 0xda, - 0xe8, 0xc3, 0x9b, 0xea, 0x16, 0xd6, 0x17, 0x07, 0xa6, 0x17, 0x32, 0xdf, 0x85, 0x31, 0xde, 0x7b, - 0xc9, 0xdf, 0x60, 0x89, 0x4e, 0x5a, 0xfe, 0x06, 0x4b, 0xb6, 0x70, 0x6e, 0x2a, 0x74, 0x39, 0xa9, - 0x1e, 0x49, 0xfe, 0x72, 0xb2, 0x3b, 0x36, 0xf9, 0xcb, 0xc9, 0xeb, 0xe3, 0x38, 0x30, 0x99, 0x68, - 0xb0, 0xa8, 0xb9, 0x5b, 0x35, 0xab, 0x3f, 0x53, 0x7f, 0x66, 0x40, 0x6a, 0x21, 0xcd, 0x83, 0x4a, - 0xf2, 0xb1, 0x43, 0xfe, 0xfe, 0xcb, 0x7c, 0x7f, 0x91, 0xbf, 0xff, 0x72, 0xde, 0x50, 0x78, 0x50, - 0x49, 0xbe, 0x52, 0xc8, 0x17, 0x98, 0xf9, 0x52, 0x22, 0x5f, 0x60, 0xce, 0xe3, 0x87, 0x0e, 0x4c, - 0xa5, 0x9f, 0x09, 0xa8, 0xb9, 0x4e, 0xc9, 0x79, 0xbd, 0x50, 0xbf, 0x39, 0x38, 0x83, 0x10, 0x7b, - 0x04, 0x53, 0xe9, 0x7f, 0xf8, 0xf3, 0xc5, 0xe6, 0xbc, 0x34, 0xc8, 0x17, 0x9b, 0xf7, 0x78, 0xe0, - 0xa6, 0x42, 0xd7, 0x9b, 0xee, 0xee, 0xe4, 0x0b, 0xce, 0xe9, 0xb1, 0xe5, 0x0b, 0xce, 0x6d, 0x1c, - 0x75, 0x60, 0x2a, 0xdd, 0x87, 0xc8, 0x17, 0x9b, 0xd3, 0x0d, 0xca, 0x17, 0x9b, 0xdb, 0xe2, 0x08, - 0xa0, 0x9a, 0xaa, 0xaf, 0xf3, 0x4f, 0x68, 0x76, 0x4b, 0x23, 0xff, 0x84, 0xe6, 0x15, 0xee, 0x1f, - 0xc2, 0xa5, 0x9e, 0xca, 0x58, 0xbd, 0x39, 0xc0, 0x7b, 0xbf, 0x44, 0x31, 0x5f, 0xbf, 0x35, 0x04, - 0x47, 0xe4, 0xdd, 0xe3, 0x84, 0x6c, 0x5e, 0x07, 0x0f, 0x24, 0x3b, 0x51, 0x67, 0x0f, 0x24, 0x3b, - 0x55, 0x64, 0x1f, 0x40, 0x39, 0x5e, 0x9e, 0xe6, 0x5f, 0xb7, 0x19, 0x85, 0x74, 0xfe, 0x75, 0x9b, - 0x55, 0xf1, 0xde, 0x54, 0xd4, 0x1f, 0x2b, 0x30, 0x9b, 0x5d, 0xeb, 0xa9, 0xcf, 0x0d, 0xf2, 0xb0, - 0xb2, 0xa7, 0x4e, 0xad, 0x3f, 0x3f, 0x2c, 0x9b, 0x58, 0xf6, 0x8f, 0x40, 0xed, 0x7d, 0xdf, 0xa6, - 0xde, 0x1a, 0xfa, 0x75, 0x67, 0x7d, 0x69, 0x18, 0x16, 0x21, 0xfc, 0x23, 0x05, 0x66, 0xb2, 0x5e, - 0x38, 0xab, 0xb7, 0x73, 0x03, 0x43, 0xfe, 0x53, 0xed, 0xfa, 0xb3, 0xc3, 0x31, 0x71, 0x1d, 0x96, - 0xfc, 0xee, 0x53, 0x1f, 0x99, 0xd2, 0xbd, 0x0f, 0x13, 0x72, 0x48, 0x7d, 0xaa, 0x5f, 0xcb, 0x4c, - 0x4a, 0x5f, 0xe8, 0x4f, 0xc8, 0x25, 0x36, 0x3f, 0x2d, 0x7c, 0xf6, 0x60, 0x5e, 0xf9, 0xfc, 0xc1, - 0xbc, 0xf2, 0xf7, 0x07, 0xf3, 0xca, 0x4f, 0xbe, 0x9c, 0xbf, 0xf0, 0xf9, 0x97, 0xf3, 0x17, 0xfe, - 0xfc, 0xe5, 0xfc, 0x05, 0xa8, 0x9b, 0x5e, 0x3b, 0x07, 0xa7, 0x79, 0x31, 0xca, 0x3e, 0x37, 0x95, - 0xf7, 0xde, 0xde, 0xb7, 0x49, 0xab, 0xb3, 0xdb, 0x30, 0xbd, 0xf6, 0xa2, 0xe9, 0x85, 0x6d, 0x2f, - 0x5c, 0x0c, 0xb0, 0x83, 0x4e, 0x70, 0xb0, 0x78, 0xb8, 0x14, 0xfd, 0x64, 0x89, 0x6e, 0xb8, 0x98, - 0xfd, 0xea, 0xff, 0x45, 0xfa, 0x25, 0x3f, 0x7e, 0x59, 0x28, 0x6e, 0x6e, 0x7f, 0xef, 0xd7, 0x85, - 0xd9, 0x4d, 0x29, 0x9c, 0x4a, 0x6b, 0x6c, 0x8b, 0xe9, 0x3f, 0x74, 0x27, 0x76, 0xe8, 0xc4, 0x8e, - 0x9c, 0x78, 0x50, 0xd0, 0xb2, 0x27, 0x76, 0xde, 0xd8, 0x6c, 0xde, 0xc5, 0x04, 0xd1, 0xfc, 0xff, - 0x1f, 0x85, 0x9a, 0x24, 0x5a, 0x5e, 0xa6, 0x54, 0xcb, 0xcb, 0x92, 0x6c, 0x77, 0x8c, 0x3d, 0xc3, - 0xbf, 0xfd, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbd, 0x21, 0xb6, 0x6c, 0x9b, 0x30, 0x00, 0x00, + // 2695 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcd, 0x73, 0x23, 0x47, + 0x15, 0xf7, 0x48, 0xfe, 0x7c, 0xb2, 0x24, 0x6f, 0xaf, 0x3f, 0x14, 0x25, 0x71, 0x96, 0xc9, 0x7e, + 0x38, 0x1b, 0x22, 0x6f, 0x9c, 0x4d, 0x08, 0x4e, 0x52, 0xc4, 0x8a, 0xf1, 0xda, 0x95, 0xdd, 0xc4, + 0x8c, 0xb3, 0x0e, 0x49, 0x1c, 0xa6, 0xda, 0x33, 0x6d, 0x6b, 0xf0, 0x68, 0x66, 0x32, 0xd3, 0xb2, + 0x6c, 0x38, 0x85, 0x4a, 0x51, 0x5b, 0x39, 0x50, 0xdc, 0x80, 0x2b, 0x47, 0x8a, 0x2b, 0x57, 0x2e, + 0x5c, 0x28, 0x4e, 0x39, 0x52, 0x45, 0x41, 0x51, 0x9b, 0xe2, 0x02, 0xff, 0x02, 0x55, 0x50, 0xfd, + 0x31, 0xa3, 0x99, 0x91, 0x66, 0x25, 0xd9, 0xde, 0x5a, 0x38, 0x49, 0xdd, 0xfd, 0xde, 0xef, 0xbd, + 0x7e, 0xdd, 0xfd, 0xfa, 0xbd, 0xd7, 0x03, 0xdf, 0xf0, 0x88, 0xd3, 0x6a, 0xee, 0xfb, 0x78, 0xf9, + 0xd8, 0x22, 0xed, 0xe5, 0xe3, 0x97, 0xb1, 0xed, 0x35, 0xf0, 0xcb, 0xbc, 0x55, 0xf3, 0x7c, 0x97, + 0xba, 0x68, 0x3e, 0x24, 0xa9, 0xf1, 0xce, 0x90, 0xa4, 0xba, 0x14, 0xb1, 0x1a, 0xae, 0x4f, 0x96, + 0x8d, 0x06, 0xb6, 0x9c, 0x0e, 0x00, 0x6f, 0x0a, 0x84, 0xea, 0xcd, 0x14, 0xa5, 0x7f, 0xea, 0x51, + 0x37, 0x46, 0xca, 0xdb, 0x92, 0xf6, 0x6a, 0x92, 0xd6, 0x24, 0x27, 0x1d, 0x42, 0x93, 0x9c, 0x48, + 0xaa, 0xdb, 0x49, 0x2a, 0xea, 0x63, 0x27, 0xc0, 0x06, 0xb5, 0xdc, 0x98, 0x06, 0xb1, 0xce, 0xde, + 0xd8, 0xd6, 0xbe, 0xd1, 0xa1, 0xb6, 0xf6, 0x0d, 0x41, 0xa5, 0xfe, 0x4a, 0x81, 0xa7, 0xeb, 0xbe, + 0x8b, 0x4d, 0x03, 0x07, 0xf4, 0x83, 0x0e, 0x88, 0x46, 0x3e, 0x6b, 0x91, 0x80, 0xa2, 0xef, 0x41, + 0x21, 0x06, 0x5d, 0x51, 0xae, 0x28, 0x4b, 0x85, 0x95, 0xe5, 0x5a, 0x64, 0x25, 0x86, 0x5d, 0x8b, + 0x0b, 0x0f, 0x65, 0xd4, 0xe2, 0x60, 0x71, 0x0c, 0x74, 0x03, 0xca, 0xb8, 0x8d, 0x2d, 0xaa, 0x9b, + 0x84, 0x12, 0x01, 0x9b, 0xbb, 0xa2, 0x2c, 0x4d, 0x6a, 0x25, 0xde, 0xbd, 0x1e, 0xf6, 0xaa, 0x9f, + 0x2b, 0xf0, 0x4c, 0x6f, 0xdd, 0x02, 0xcf, 0x75, 0x02, 0x82, 0x5e, 0x83, 0x9c, 0x65, 0x4a, 0x9d, + 0xae, 0x0f, 0xa2, 0xd3, 0x96, 0xa9, 0xe5, 0x2c, 0x13, 0xbd, 0x00, 0x33, 0x91, 0x6c, 0xbd, 0x41, + 0xac, 0xc3, 0x06, 0xe5, 0x2a, 0x8c, 0x6a, 0xe5, 0xa8, 0x7f, 0x93, 0x77, 0xab, 0x7f, 0x9d, 0x82, + 0xa7, 0x62, 0xa2, 0xb7, 0x6d, 0xec, 0x38, 0xc4, 0x0f, 0xad, 0xf3, 0x3c, 0x14, 0xc9, 0x89, 0x67, + 0xf9, 0xa7, 0x21, 0x8a, 0xc2, 0x51, 0xa6, 0x45, 0xa7, 0x80, 0x40, 0xb7, 0x21, 0x7f, 0x40, 0x08, + 0x17, 0x50, 0x58, 0x51, 0x53, 0x6a, 0xca, 0xed, 0x10, 0x69, 0xb8, 0x41, 0x88, 0xc6, 0xc8, 0x11, + 0x82, 0xd1, 0x26, 0x69, 0xba, 0x95, 0xfc, 0x15, 0x65, 0x69, 0x4a, 0xe3, 0xff, 0xd1, 0x1e, 0xcc, + 0x60, 0xc3, 0x70, 0x5b, 0x0e, 0xd5, 0x0f, 0x7d, 0xb7, 0xe5, 0xe9, 0x96, 0x59, 0x29, 0x71, 0xd8, + 0x97, 0xfa, 0xc0, 0xae, 0x09, 0xb6, 0x3b, 0x8c, 0x6b, 0xcb, 0xdc, 0x1c, 0xd1, 0x4a, 0x38, 0xd1, + 0xf3, 0x40, 0x51, 0x90, 0x06, 0x13, 0x6e, 0x8b, 0x7a, 0x2d, 0x1a, 0x54, 0x66, 0xaf, 0xe4, 0x97, + 0x0a, 0x2b, 0xaf, 0xd7, 0x7a, 0x1f, 0x86, 0x5a, 0xa6, 0x41, 0x6a, 0xef, 0x73, 0x00, 0x2d, 0x04, + 0x42, 0x77, 0x61, 0x2c, 0x68, 0x63, 0x2f, 0xa8, 0x2c, 0x72, 0xc4, 0xd7, 0x86, 0x47, 0xdc, 0x69, + 0x63, 0x4f, 0x13, 0x20, 0x68, 0x0f, 0x0a, 0x26, 0xb1, 0xc9, 0x21, 0x66, 0x74, 0x41, 0x65, 0x89, + 0x63, 0xae, 0x0e, 0x8f, 0xb9, 0x2e, 0x40, 0x88, 0x16, 0x87, 0x43, 0xfb, 0x50, 0x6c, 0x39, 0x71, + 0xfc, 0x15, 0x8e, 0xff, 0xe6, 0xf0, 0xf8, 0xf7, 0x43, 0x18, 0xa2, 0x25, 0x21, 0xd1, 0x06, 0x14, + 0xac, 0x7d, 0x43, 0x17, 0x5c, 0x41, 0xe5, 0x4d, 0x2e, 0xe1, 0x5a, 0x6a, 0xf1, 0xd8, 0xe9, 0xec, + 0x6c, 0xd9, 0x7d, 0x63, 0x4d, 0xec, 0x7a, 0xb0, 0xc2, 0xbf, 0x41, 0xf5, 0xa7, 0x0a, 0x8c, 0x0b, + 0x5b, 0xa3, 0x55, 0x18, 0x3b, 0xc6, 0x76, 0x8b, 0xc8, 0x73, 0x70, 0xb5, 0xcf, 0x4e, 0xd8, 0x65, + 0xb4, 0x9a, 0x60, 0x41, 0x6f, 0xc3, 0x04, 0x36, 0x4d, 0x9f, 0x04, 0x81, 0xdc, 0x9e, 0xd7, 0xfb, + 0xed, 0x23, 0x41, 0xad, 0x85, 0x6c, 0xd5, 0x3f, 0x28, 0x30, 0xca, 0x96, 0xe8, 0x5c, 0x6a, 0x6c, + 0xc1, 0x34, 0xc5, 0xfe, 0x21, 0xa1, 0x3a, 0x0e, 0x02, 0x42, 0x07, 0xd5, 0x85, 0xd1, 0x6e, 0x99, + 0x5a, 0x41, 0xf0, 0xf2, 0x66, 0x78, 0xd8, 0xf2, 0x43, 0x1d, 0xb6, 0xea, 0x2f, 0x15, 0x98, 0x0c, + 0x37, 0x05, 0x7a, 0x0b, 0xc6, 0x71, 0x93, 0x9d, 0x0d, 0x39, 0x95, 0x6b, 0xfd, 0xf4, 0xe0, 0xc4, + 0x9a, 0x64, 0x42, 0xf7, 0x60, 0xda, 0x32, 0x89, 0x43, 0x2d, 0x7a, 0xaa, 0x1f, 0x91, 0x53, 0x39, + 0x99, 0x9b, 0x7d, 0x40, 0xb6, 0x24, 0xcb, 0xbb, 0xe4, 0x54, 0x2b, 0x58, 0x9d, 0x46, 0x75, 0x13, + 0xa0, 0xb3, 0x9d, 0xce, 0x63, 0xe5, 0xfa, 0x65, 0xb8, 0xa4, 0xa7, 0xdd, 0x87, 0x4a, 0xa0, 0xda, + 0x6b, 0x1f, 0x4b, 0x07, 0x7b, 0x07, 0x46, 0x3d, 0x1b, 0x87, 0x6e, 0xff, 0x95, 0x21, 0xdd, 0x3e, + 0x43, 0xd3, 0x38, 0x80, 0x6a, 0xc1, 0x9c, 0xdc, 0x3a, 0xf5, 0xd3, 0x2d, 0xc7, 0x24, 0x27, 0xa1, + 0x07, 0xdd, 0x86, 0xa2, 0xdc, 0x4a, 0xba, 0xc5, 0xfa, 0xa5, 0xa8, 0x17, 0x07, 0xdb, 0x87, 0x02, + 0x6a, 0x1a, 0xc7, 0x5a, 0xea, 0xc7, 0x30, 0x9f, 0x16, 0x25, 0x67, 0x13, 0xdb, 0xed, 0xca, 0x99, + 0x76, 0xbb, 0xfa, 0x11, 0xcc, 0x71, 0xc8, 0xfa, 0x69, 0x38, 0x24, 0xa7, 0x71, 0x7e, 0xe8, 0xcf, + 0x15, 0x98, 0x4f, 0x63, 0x4b, 0xbd, 0xef, 0x9f, 0xdf, 0x46, 0x9b, 0x23, 0x49, 0x2b, 0x3d, 0x50, + 0x94, 0xfa, 0x0c, 0x94, 0xf4, 0x04, 0xae, 0x7a, 0x04, 0x0b, 0xdf, 0xf5, 0x1a, 0xa4, 0x49, 0x7c, + 0x6c, 0xa7, 0x26, 0x78, 0xf1, 0xeb, 0xb4, 0x07, 0x95, 0x6e, 0x61, 0x17, 0xb6, 0x52, 0x9f, 0xc0, + 0x42, 0x1d, 0xdb, 0xd8, 0x31, 0xc8, 0x63, 0x58, 0xab, 0x5f, 0x28, 0x50, 0xe9, 0x46, 0x97, 0xba, + 0xbf, 0x09, 0x63, 0xc2, 0x8b, 0x29, 0x43, 0x79, 0x31, 0xc1, 0x14, 0x73, 0x3e, 0xb9, 0x33, 0x38, + 0x1f, 0xf5, 0x1a, 0x14, 0x77, 0x2d, 0xd2, 0x5e, 0x6b, 0xd1, 0xc6, 0x07, 0xee, 0x11, 0x71, 0xd0, + 0x2c, 0x8c, 0x59, 0xec, 0x48, 0x73, 0x6d, 0xa6, 0x35, 0xd1, 0x50, 0x35, 0x28, 0x87, 0x64, 0xa1, + 0x55, 0xbe, 0x03, 0xf9, 0x83, 0xe3, 0x23, 0xa9, 0x74, 0xbf, 0x70, 0x62, 0xa3, 0x65, 0xdb, 0x0c, + 0xc0, 0x72, 0x0e, 0x99, 0xc3, 0x62, 0x9c, 0xea, 0xfb, 0x30, 0xd3, 0xc1, 0x94, 0xb6, 0x78, 0x03, + 0xc6, 0x28, 0x53, 0xa3, 0xdb, 0x93, 0x26, 0xaf, 0xd2, 0x84, 0xce, 0x9a, 0xe0, 0x51, 0x7f, 0xa2, + 0x40, 0x71, 0x87, 0x62, 0xda, 0x8a, 0x56, 0xee, 0xb1, 0xc6, 0x3f, 0xbd, 0xfd, 0xa3, 0x06, 0xa5, + 0x50, 0x07, 0x39, 0xa7, 0xe7, 0xa0, 0x10, 0x9c, 0x3a, 0x46, 0x32, 0xe2, 0x03, 0xd6, 0x25, 0xe3, + 0xbd, 0xe7, 0xa0, 0x60, 0x60, 0x6a, 0x34, 0x2c, 0xe7, 0x50, 0x6f, 0x79, 0x32, 0xb6, 0x85, 0xb0, + 0xeb, 0xbe, 0xa7, 0x3e, 0x50, 0xe0, 0xb2, 0x00, 0xdd, 0xa1, 0x3e, 0xc1, 0xcd, 0x27, 0x38, 0x3d, + 0x1f, 0x66, 0x93, 0x9a, 0xc8, 0x49, 0x7e, 0x1b, 0x9e, 0xb2, 0x31, 0x25, 0x01, 0xd5, 0x8f, 0x1c, + 0xb7, 0xed, 0xe8, 0xfb, 0xb6, 0x6b, 0x1c, 0x25, 0xa7, 0x3c, 0x2f, 0x08, 0xde, 0x65, 0xe3, 0x75, + 0x36, 0xdc, 0x99, 0x7e, 0xdc, 0x3e, 0xb9, 0xb4, 0x7d, 0xd4, 0x2f, 0xf3, 0x30, 0xfd, 0x9e, 0x4b, + 0x49, 0x10, 0x8b, 0xa2, 0x2d, 0xc7, 0xb0, 0x5b, 0x26, 0xd1, 0x03, 0x8f, 0xc8, 0xad, 0x3f, 0xa9, + 0x4d, 0xcb, 0xce, 0x1d, 0xd6, 0x87, 0xd6, 0x60, 0x92, 0x9f, 0x10, 0x66, 0x94, 0xfc, 0x50, 0x27, + 0x6b, 0x02, 0x8b, 0x3f, 0xdd, 0x3e, 0x6c, 0xf4, 0x9c, 0x3e, 0x0c, 0xdd, 0x83, 0xb2, 0x38, 0x78, + 0x3a, 0x75, 0xb9, 0xee, 0x66, 0x65, 0x7c, 0x98, 0x63, 0x5b, 0x14, 0xdc, 0x1f, 0xb8, 0x6c, 0x8e, + 0xe6, 0x93, 0xd8, 0x00, 0x0f, 0x72, 0x30, 0xc7, 0x17, 0x63, 0xc3, 0xf5, 0x77, 0x5d, 0x6a, 0x39, + 0x87, 0xe1, 0xaa, 0xdc, 0x84, 0x4b, 0xc7, 0x2e, 0xc5, 0xfb, 0x36, 0xd1, 0x31, 0x4d, 0x2e, 0x7d, + 0x59, 0x0e, 0xac, 0x51, 0xb9, 0xe6, 0x5d, 0x96, 0xcd, 0x9f, 0xd7, 0xb2, 0x4f, 0xc0, 0x14, 0xbf, + 0xcf, 0x41, 0xe9, 0x43, 0x8b, 0x3a, 0xb1, 0xab, 0xe2, 0x23, 0x98, 0x71, 0x5c, 0x4a, 0x74, 0xc3, + 0x6d, 0x36, 0x2d, 0xda, 0x24, 0x0e, 0x65, 0x81, 0x32, 0x8b, 0xd9, 0x6b, 0x7d, 0xb4, 0x60, 0xa7, + 0x8a, 0xbc, 0x13, 0xb1, 0x69, 0x65, 0x86, 0xd3, 0x69, 0x07, 0xe8, 0x07, 0x30, 0x13, 0x8b, 0x9f, + 0x74, 0x1e, 0x66, 0xe5, 0xcf, 0x1e, 0x66, 0x95, 0x69, 0xb2, 0xe3, 0x49, 0x18, 0x90, 0x40, 0x39, + 0xb2, 0x9f, 0xf4, 0x23, 0x1a, 0x4c, 0xb7, 0x45, 0x97, 0x6e, 0x62, 0x8a, 0x87, 0xa9, 0x1f, 0x48, + 0xa8, 0x75, 0x4c, 0xb1, 0x56, 0x68, 0x77, 0x1a, 0xea, 0xdf, 0x14, 0x98, 0x97, 0x83, 0x6b, 0x8e, + 0x59, 0x6f, 0x59, 0xb6, 0x19, 0xae, 0x57, 0x2f, 0xa3, 0x2a, 0x17, 0x68, 0x54, 0x13, 0x10, 0x6e, + 0xd1, 0x86, 0xeb, 0x5b, 0x3f, 0xe2, 0x09, 0x9d, 0x98, 0x94, 0xb8, 0xa9, 0x5f, 0x1d, 0x44, 0xc2, + 0x5a, 0x9c, 0x9b, 0x4f, 0xed, 0x12, 0x4e, 0x77, 0xa9, 0x36, 0x2c, 0x74, 0xcd, 0x4f, 0xda, 0xf3, + 0xe2, 0xcb, 0x31, 0xea, 0x6f, 0xf3, 0x50, 0xe4, 0xae, 0x32, 0xda, 0xf5, 0x55, 0x98, 0x3c, 0xb0, + 0x6c, 0x4a, 0x7c, 0x22, 0x8a, 0x2b, 0x93, 0x5a, 0xd4, 0x46, 0x3f, 0x84, 0xc5, 0x98, 0xaf, 0x36, + 0xac, 0x03, 0xcb, 0xd0, 0x4d, 0xe2, 0xb8, 0x4d, 0xcb, 0x91, 0x59, 0xb3, 0x38, 0x1f, 0xfd, 0x32, + 0x93, 0x75, 0xc6, 0xa3, 0x3d, 0xd3, 0x71, 0xf1, 0x1c, 0x6a, 0x3d, 0x8e, 0x84, 0x56, 0xe1, 0xa9, + 0x50, 0x56, 0x27, 0x87, 0xd6, 0x79, 0x70, 0x10, 0xf0, 0xb3, 0x32, 0xa9, 0x2d, 0x48, 0x82, 0xf5, + 0x68, 0x9c, 0x87, 0x10, 0x01, 0x7a, 0x1d, 0x2a, 0x21, 0x6f, 0xcb, 0xd9, 0x77, 0x1d, 0x93, 0xdd, + 0xc6, 0x92, 0x75, 0x94, 0xb3, 0xce, 0xcb, 0xf1, 0xfb, 0xe1, 0xb0, 0xe4, 0xbc, 0x0e, 0xe5, 0x90, + 0xd3, 0xf6, 0x74, 0xe7, 0x80, 0x06, 0x95, 0x31, 0xce, 0x10, 0x5e, 0x52, 0x77, 0xbd, 0xf7, 0x0e, + 0x68, 0x80, 0x56, 0x60, 0x2e, 0xa4, 0xf3, 0x7c, 0xd7, 0x73, 0x03, 0x6c, 0x0b, 0xea, 0x71, 0x4e, + 0x7d, 0x59, 0x0e, 0x6e, 0xcb, 0x31, 0xce, 0xb3, 0x06, 0xcf, 0x86, 0x3c, 0xc7, 0xdc, 0xd9, 0xea, + 0x3e, 0x31, 0x88, 0xe5, 0xd1, 0x50, 0xb5, 0x09, 0xce, 0x5b, 0x95, 0x44, 0xa1, 0x43, 0xe6, 0x24, + 0x42, 0x3d, 0xf5, 0x2e, 0x94, 0xc2, 0xd5, 0x92, 0x7b, 0x62, 0x35, 0x19, 0x70, 0x5e, 0x1d, 0xe4, + 0x5a, 0x94, 0xe1, 0xa6, 0x5a, 0x81, 0xf9, 0x77, 0x1a, 0xd8, 0x72, 0xb6, 0xb1, 0x8f, 0x9b, 0x84, + 0x12, 0x3f, 0xdc, 0x04, 0x6a, 0x03, 0x16, 0xba, 0x46, 0xa4, 0xc0, 0x7b, 0x00, 0x5e, 0xd4, 0x9b, + 0x15, 0x31, 0xf2, 0x8a, 0x68, 0x24, 0x34, 0x0d, 0x15, 0x03, 0x50, 0xe7, 0x61, 0x76, 0xe3, 0xde, + 0x7a, 0xb7, 0x06, 0x26, 0xcc, 0xa5, 0xfa, 0xa5, 0xfc, 0x77, 0x7b, 0xc8, 0x7f, 0xf1, 0xd1, 0xf2, + 0x37, 0x9a, 0x66, 0x86, 0xf4, 0x9f, 0xe5, 0x60, 0x81, 0x5d, 0x80, 0xf5, 0xd3, 0x98, 0xb7, 0x96, + 0x07, 0xe1, 0x43, 0x28, 0xa7, 0xdc, 0xbf, 0x3c, 0xeb, 0xc3, 0x7a, 0xff, 0x52, 0xd2, 0xfb, 0xf7, + 0x2a, 0x81, 0xe6, 0x7b, 0x95, 0x40, 0x9f, 0x84, 0x17, 0x77, 0xa0, 0xd2, 0x6d, 0x8f, 0xc8, 0x9d, + 0x97, 0x78, 0x94, 0xc3, 0xa3, 0x02, 0x36, 0xa7, 0x6e, 0xeb, 0x27, 0x03, 0xfb, 0x9d, 0x90, 0x9a, + 0x41, 0x6a, 0xc4, 0x70, 0x7d, 0x53, 0x2b, 0x06, 0xf1, 0x4e, 0xbe, 0x00, 0x3b, 0x6d, 0xec, 0x65, + 0x2c, 0x40, 0xd0, 0xc6, 0xde, 0x05, 0x2c, 0x00, 0x83, 0xf9, 0x3f, 0x59, 0x00, 0x0d, 0x2a, 0xdd, + 0xf6, 0x88, 0x2a, 0xde, 0xa3, 0x6c, 0x26, 0xd2, 0xec, 0x6a, 0xa6, 0xd9, 0xdb, 0xd8, 0x93, 0xd6, + 0xe6, 0xf4, 0xea, 0xbf, 0x15, 0x98, 0x7f, 0xaf, 0x65, 0xdb, 0xd6, 0x81, 0x45, 0xfc, 0x64, 0x52, + 0xb5, 0x01, 0x53, 0x4e, 0x38, 0x22, 0xad, 0xbb, 0xd4, 0x67, 0x6a, 0x11, 0x92, 0xd6, 0x61, 0xfd, + 0x9f, 0x36, 0xe9, 0x32, 0x2c, 0x74, 0xcd, 0x5e, 0x5a, 0x74, 0x16, 0xc6, 0x44, 0xd2, 0x21, 0x6e, + 0x3a, 0xd1, 0x50, 0x77, 0xe1, 0x99, 0xd8, 0x85, 0xb9, 0xe5, 0x1c, 0xb8, 0xf5, 0xd3, 0x4d, 0x1c, + 0x44, 0xd9, 0xb2, 0x78, 0x79, 0xc8, 0x0d, 0xfb, 0xf2, 0xa0, 0x7e, 0xa1, 0xc0, 0x7c, 0x0a, 0x38, + 0x84, 0xbc, 0x0e, 0xd3, 0x01, 0xc5, 0x7e, 0x32, 0xd4, 0xde, 0x1c, 0xd1, 0x0a, 0xbc, 0x57, 0x04, + 0xda, 0x0f, 0x14, 0x05, 0xa9, 0x00, 0xc4, 0x31, 0x13, 0xe9, 0xd5, 0xa6, 0xa2, 0x4d, 0x11, 0xc7, + 0x8c, 0x68, 0xea, 0x65, 0x28, 0xea, 0x71, 0xb0, 0x7a, 0x11, 0x0a, 0x7a, 0x87, 0x4b, 0xfd, 0x57, + 0x0e, 0xca, 0x29, 0x35, 0xd0, 0xd3, 0x30, 0x9e, 0x92, 0x2c, 0xdb, 0x4c, 0xe8, 0x19, 0xe7, 0x9b, + 0x8e, 0x57, 0xf2, 0x17, 0xf0, 0x7c, 0xb4, 0x07, 0x05, 0x8f, 0xf8, 0x2c, 0xf8, 0xa0, 0xd6, 0x31, + 0x91, 0x39, 0xdc, 0xea, 0xb0, 0xe1, 0x5d, 0x07, 0x41, 0x8b, 0xc3, 0xa1, 0x3b, 0x30, 0xca, 0x8e, + 0x12, 0xbf, 0xf2, 0x87, 0x8f, 0x1a, 0x77, 0x2d, 0xd2, 0xd6, 0x38, 0x40, 0x7d, 0x0a, 0x26, 0x42, + 0x6b, 0x7f, 0x02, 0x0b, 0x5d, 0x6b, 0xde, 0x29, 0x74, 0xd1, 0x13, 0xdd, 0x72, 0x0e, 0x5c, 0x79, + 0xa4, 0x6f, 0x0c, 0xf0, 0xda, 0xc0, 0x11, 0xc6, 0xe9, 0x09, 0xfb, 0x55, 0x31, 0x3c, 0x9b, 0xb1, + 0x53, 0x2f, 0x4c, 0xc4, 0xa7, 0x50, 0x94, 0xf9, 0xba, 0x84, 0xbc, 0x0b, 0x05, 0x7e, 0x2f, 0xfa, + 0xdc, 0xc5, 0x9c, 0xe5, 0x0e, 0x00, 0x27, 0xfa, 0xaf, 0xfe, 0x8e, 0xf9, 0xa6, 0x54, 0x0a, 0xfa, + 0x38, 0x04, 0x5d, 0x70, 0x65, 0x5e, 0xfd, 0x4f, 0x1e, 0x2e, 0xf7, 0x10, 0xd9, 0x2b, 0x6a, 0x50, + 0x2e, 0x24, 0x6a, 0xf8, 0x16, 0x8c, 0xf2, 0x3b, 0x57, 0xe8, 0xfd, 0x7c, 0x3f, 0x27, 0xcd, 0x34, + 0xe2, 0x0c, 0x8f, 0x21, 0x3d, 0x4f, 0x5c, 0x1a, 0xa3, 0x67, 0xbf, 0x34, 0xae, 0x41, 0x49, 0x1c, + 0x12, 0xdd, 0xf0, 0x09, 0xa6, 0xc4, 0xe4, 0x07, 0x6f, 0x54, 0x2b, 0x8a, 0xde, 0x77, 0x44, 0x27, + 0xf3, 0x8d, 0x92, 0x4c, 0xf8, 0xea, 0xf1, 0xd0, 0x37, 0x8a, 0x5e, 0x5e, 0x21, 0x62, 0x6e, 0xaa, + 0x0a, 0x93, 0x9e, 0x1b, 0x58, 0xdc, 0xd7, 0x4c, 0x70, 0xa0, 0xa8, 0x8d, 0xde, 0x86, 0xf1, 0xc0, + 0x6d, 0xf9, 0x06, 0xa9, 0x4c, 0xf6, 0xd6, 0x37, 0x19, 0x31, 0x32, 0xf3, 0xed, 0x70, 0x7a, 0x4d, + 0xf2, 0x71, 0xaf, 0x1a, 0x57, 0x43, 0xfd, 0x4b, 0x1e, 0xa0, 0x73, 0xd5, 0xf6, 0x8a, 0x56, 0x94, + 0x0b, 0x89, 0x56, 0xde, 0x92, 0xb7, 0xbe, 0x58, 0xf8, 0x17, 0x52, 0x68, 0x26, 0x39, 0x49, 0xde, + 0xfc, 0xdb, 0x36, 0xb6, 0x1c, 0x4a, 0x4e, 0xa8, 0xb8, 0xfc, 0x13, 0x56, 0xc9, 0xa7, 0xac, 0x72, + 0x51, 0x0b, 0xb9, 0x0d, 0x05, 0xf1, 0xe6, 0x2b, 0x52, 0xe2, 0xb1, 0x9e, 0x8e, 0x3e, 0xa1, 0x69, + 0x1d, 0x53, 0xa3, 0xc1, 0xd4, 0x15, 0xef, 0x98, 0x3c, 0x19, 0x06, 0x37, 0xfa, 0x8f, 0x6e, 0x76, + 0xb6, 0x86, 0x8d, 0xad, 0x26, 0x31, 0xa3, 0x55, 0x0f, 0x37, 0x87, 0xe8, 0x66, 0xeb, 0xde, 0x59, + 0xdb, 0x89, 0x33, 0xae, 0xed, 0x25, 0x28, 0xeb, 0x49, 0x71, 0x2b, 0xff, 0xb8, 0x04, 0x97, 0x99, + 0x43, 0xdf, 0xf6, 0x5d, 0xea, 0x1a, 0xae, 0xbd, 0x43, 0xfc, 0x63, 0xcb, 0x20, 0xe8, 0x43, 0x18, + 0x17, 0x31, 0x04, 0xca, 0xac, 0x67, 0x27, 0x22, 0xac, 0xea, 0xf5, 0x7e, 0x64, 0xd2, 0xdb, 0x1d, + 0xc1, 0x74, 0xbc, 0x18, 0x8b, 0x5e, 0x7c, 0x34, 0x5f, 0xa2, 0x78, 0x5c, 0xfd, 0xe6, 0x60, 0xc4, + 0x42, 0xd4, 0x2d, 0x05, 0xed, 0xc2, 0x18, 0x77, 0xba, 0xe8, 0x6a, 0x16, 0x63, 0xbc, 0x46, 0x5b, + 0xbd, 0xd6, 0x87, 0x2a, 0xc2, 0xfd, 0x0c, 0x4a, 0x49, 0x67, 0x8e, 0x5e, 0x7a, 0x24, 0x6b, 0xba, + 0xee, 0x58, 0xad, 0x0d, 0x4a, 0x1e, 0x89, 0xfc, 0x18, 0x26, 0x64, 0xbd, 0x04, 0x65, 0x9a, 0x3a, + 0x59, 0xd8, 0xab, 0xde, 0xe8, 0x4b, 0x27, 0xd7, 0xc4, 0x8f, 0x6a, 0x5a, 0x61, 0x2d, 0x06, 0xd5, + 0xfa, 0xf0, 0xa6, 0x8a, 0x52, 0xd5, 0xe5, 0x81, 0xe9, 0xa5, 0xcc, 0x8f, 0x60, 0x5c, 0xa4, 0xf8, + 0xd9, 0x1b, 0x2c, 0x51, 0xb0, 0xc9, 0xde, 0x60, 0xc9, 0x4a, 0xc1, 0x2d, 0x85, 0x4d, 0x27, 0x95, + 0x8a, 0x67, 0x4f, 0xa7, 0x77, 0x61, 0x20, 0x7b, 0x3a, 0x59, 0xe5, 0x02, 0x1b, 0x8a, 0x89, 0x3c, + 0x1e, 0x65, 0x6e, 0xd5, 0x5e, 0x65, 0x80, 0xea, 0x4b, 0x03, 0x52, 0x4b, 0x69, 0x2e, 0x94, 0x92, + 0xcf, 0xbf, 0xd9, 0xfb, 0xaf, 0xe7, 0x8b, 0x74, 0xf6, 0xfe, 0xcb, 0x78, 0x55, 0x76, 0xa1, 0x94, + 0x7c, 0xb7, 0xcd, 0x16, 0xd8, 0xf3, 0xed, 0x38, 0x5b, 0x60, 0xc6, 0x73, 0x70, 0x0b, 0x66, 0xd2, + 0x0f, 0xa7, 0x28, 0x73, 0x51, 0x32, 0xde, 0x73, 0xab, 0xb7, 0x06, 0x67, 0x90, 0x62, 0xdb, 0x30, + 0x93, 0x7e, 0xf3, 0xcc, 0x16, 0x9b, 0xf1, 0xf6, 0x9a, 0x2d, 0x36, 0xeb, 0x39, 0xf5, 0x96, 0xc2, + 0xe6, 0x9b, 0x2e, 0x48, 0x64, 0x0b, 0xce, 0x28, 0xe5, 0x64, 0x0b, 0xce, 0xac, 0x75, 0xb4, 0x60, + 0x26, 0x9d, 0x86, 0x67, 0x8b, 0xcd, 0x28, 0x60, 0x64, 0x8b, 0xcd, 0xcc, 0xf0, 0x7d, 0x28, 0xa7, + 0x52, 0xd5, 0xec, 0x13, 0xda, 0x3b, 0xa3, 0xcf, 0x3e, 0xa1, 0x59, 0x39, 0xf0, 0x17, 0x0a, 0xcc, + 0xf5, 0x4c, 0x22, 0xd0, 0xed, 0x01, 0x73, 0x85, 0x44, 0x76, 0x5c, 0x7d, 0x75, 0x48, 0x2e, 0xa9, + 0x06, 0xed, 0x4e, 0x4a, 0x6b, 0x83, 0xe6, 0x2a, 0xfd, 0xa6, 0x9e, 0x91, 0x80, 0xdd, 0x52, 0xd0, + 0x8f, 0x01, 0x75, 0x7f, 0x01, 0x83, 0x5e, 0x1e, 0xfa, 0xab, 0xaf, 0xea, 0xca, 0x30, 0x2c, 0x72, + 0xca, 0x9f, 0x2b, 0x30, 0xdb, 0xeb, 0x13, 0x47, 0xf4, 0x4a, 0xe6, 0x41, 0xc9, 0xfe, 0x58, 0xb3, + 0x7a, 0x7b, 0x38, 0x26, 0xa1, 0xc3, 0x8a, 0xd7, 0xf9, 0x18, 0x20, 0x0c, 0x71, 0x3e, 0x85, 0xc9, + 0xb0, 0x0b, 0xdd, 0xe8, 0xf7, 0x68, 0x1f, 0x4a, 0x5f, 0xea, 0x4f, 0x28, 0x24, 0xd6, 0xbf, 0xcc, + 0xfd, 0xf1, 0xe1, 0xa2, 0xf2, 0xd5, 0xc3, 0x45, 0xe5, 0xef, 0x0f, 0x17, 0x95, 0x9f, 0x7f, 0xbd, + 0x38, 0xf2, 0xd5, 0xd7, 0x8b, 0x23, 0x7f, 0xfe, 0x7a, 0x71, 0x04, 0xaa, 0x86, 0xdb, 0xcc, 0xc0, + 0xa9, 0x4f, 0x45, 0xd1, 0xd8, 0xb6, 0xf2, 0xf1, 0xfb, 0x87, 0x16, 0x6d, 0xb4, 0xf6, 0x6b, 0x86, + 0xdb, 0x5c, 0x36, 0xdc, 0xa0, 0xe9, 0x06, 0xcb, 0x3e, 0xb1, 0xf1, 0x29, 0xf1, 0x97, 0x8f, 0x57, + 0xa2, 0xbf, 0x3c, 0xf0, 0x0b, 0x96, 0x7b, 0x7f, 0xf7, 0xfb, 0x06, 0x6b, 0x85, 0x8d, 0x5f, 0xe7, + 0xf2, 0xdb, 0xbb, 0xdf, 0xff, 0x4d, 0x6e, 0x7e, 0x3b, 0x14, 0xce, 0xa4, 0xd5, 0x76, 0xe5, 0xf0, + 0x9f, 0x3a, 0x03, 0x7b, 0x6c, 0x60, 0x2f, 0x1c, 0x78, 0x98, 0x53, 0x7b, 0x0f, 0xec, 0xdd, 0xd9, + 0xae, 0xdf, 0x23, 0x14, 0xb3, 0x78, 0xf8, 0x9f, 0xb9, 0x4a, 0x48, 0xb4, 0xba, 0xca, 0xa8, 0x56, + 0x57, 0x43, 0xb2, 0xfd, 0x71, 0xfe, 0x21, 0xee, 0x2b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x30, + 0x99, 0x71, 0xd0, 0x9d, 0x2c, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3813,14 +3416,10 @@ type ViewProtocolServiceClient interface { SwapByCommitment(ctx context.Context, in *SwapByCommitmentRequest, opts ...grpc.CallOption) (*SwapByCommitmentResponse, error) // Query for whether a nullifier has been spent, optionally waiting until it is spent. NullifierStatus(ctx context.Context, in *NullifierStatusRequest, opts ...grpc.CallOption) (*NullifierStatusResponse, error) - // Query for the transaction hashes in the given range of blocks. - TransactionHashes(ctx context.Context, in *TransactionHashesRequest, opts ...grpc.CallOption) (ViewProtocolService_TransactionHashesClient, error) - // Query for a given transaction hash. - TransactionByHash(ctx context.Context, in *TransactionByHashRequest, opts ...grpc.CallOption) (*TransactionByHashResponse, error) + // Query for a given transaction by its hash. + TransactionInfoByHash(ctx context.Context, in *TransactionInfoByHashRequest, opts ...grpc.CallOption) (*TransactionInfoByHashResponse, error) // Query for the full transactions in the given range of blocks. - Transactions(ctx context.Context, in *TransactionsRequest, opts ...grpc.CallOption) (ViewProtocolService_TransactionsClient, error) - // Query for the transaction perspective of the given transaction - TransactionPerspective(ctx context.Context, in *TransactionPerspectiveRequest, opts ...grpc.CallOption) (*TransactionPerspectiveResponse, error) + TransactionInfo(ctx context.Context, in *TransactionInfoRequest, opts ...grpc.CallOption) (ViewProtocolService_TransactionInfoClient, error) // Query for a transaction plan TransactionPlanner(ctx context.Context, in *TransactionPlannerRequest, opts ...grpc.CallOption) (*TransactionPlannerResponse, error) // Broadcast a transaction to the network, optionally waiting for full confirmation. @@ -4094,53 +3693,21 @@ func (c *viewProtocolServiceClient) NullifierStatus(ctx context.Context, in *Nul return out, nil } -func (c *viewProtocolServiceClient) TransactionHashes(ctx context.Context, in *TransactionHashesRequest, opts ...grpc.CallOption) (ViewProtocolService_TransactionHashesClient, error) { - stream, err := c.cc.NewStream(ctx, &_ViewProtocolService_serviceDesc.Streams[5], "/penumbra.view.v1alpha1.ViewProtocolService/TransactionHashes", opts...) - if err != nil { - return nil, err - } - x := &viewProtocolServiceTransactionHashesClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type ViewProtocolService_TransactionHashesClient interface { - Recv() (*TransactionHashesResponse, error) - grpc.ClientStream -} - -type viewProtocolServiceTransactionHashesClient struct { - grpc.ClientStream -} - -func (x *viewProtocolServiceTransactionHashesClient) Recv() (*TransactionHashesResponse, error) { - m := new(TransactionHashesResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *viewProtocolServiceClient) TransactionByHash(ctx context.Context, in *TransactionByHashRequest, opts ...grpc.CallOption) (*TransactionByHashResponse, error) { - out := new(TransactionByHashResponse) - err := c.cc.Invoke(ctx, "/penumbra.view.v1alpha1.ViewProtocolService/TransactionByHash", in, out, opts...) +func (c *viewProtocolServiceClient) TransactionInfoByHash(ctx context.Context, in *TransactionInfoByHashRequest, opts ...grpc.CallOption) (*TransactionInfoByHashResponse, error) { + out := new(TransactionInfoByHashResponse) + err := c.cc.Invoke(ctx, "/penumbra.view.v1alpha1.ViewProtocolService/TransactionInfoByHash", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *viewProtocolServiceClient) Transactions(ctx context.Context, in *TransactionsRequest, opts ...grpc.CallOption) (ViewProtocolService_TransactionsClient, error) { - stream, err := c.cc.NewStream(ctx, &_ViewProtocolService_serviceDesc.Streams[6], "/penumbra.view.v1alpha1.ViewProtocolService/Transactions", opts...) +func (c *viewProtocolServiceClient) TransactionInfo(ctx context.Context, in *TransactionInfoRequest, opts ...grpc.CallOption) (ViewProtocolService_TransactionInfoClient, error) { + stream, err := c.cc.NewStream(ctx, &_ViewProtocolService_serviceDesc.Streams[5], "/penumbra.view.v1alpha1.ViewProtocolService/TransactionInfo", opts...) if err != nil { return nil, err } - x := &viewProtocolServiceTransactionsClient{stream} + x := &viewProtocolServiceTransactionInfoClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -4150,32 +3717,23 @@ func (c *viewProtocolServiceClient) Transactions(ctx context.Context, in *Transa return x, nil } -type ViewProtocolService_TransactionsClient interface { - Recv() (*TransactionsResponse, error) +type ViewProtocolService_TransactionInfoClient interface { + Recv() (*TransactionInfoResponse, error) grpc.ClientStream } -type viewProtocolServiceTransactionsClient struct { +type viewProtocolServiceTransactionInfoClient struct { grpc.ClientStream } -func (x *viewProtocolServiceTransactionsClient) Recv() (*TransactionsResponse, error) { - m := new(TransactionsResponse) +func (x *viewProtocolServiceTransactionInfoClient) Recv() (*TransactionInfoResponse, error) { + m := new(TransactionInfoResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } -func (c *viewProtocolServiceClient) TransactionPerspective(ctx context.Context, in *TransactionPerspectiveRequest, opts ...grpc.CallOption) (*TransactionPerspectiveResponse, error) { - out := new(TransactionPerspectiveResponse) - err := c.cc.Invoke(ctx, "/penumbra.view.v1alpha1.ViewProtocolService/TransactionPerspective", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *viewProtocolServiceClient) TransactionPlanner(ctx context.Context, in *TransactionPlannerRequest, opts ...grpc.CallOption) (*TransactionPlannerResponse, error) { out := new(TransactionPlannerResponse) err := c.cc.Invoke(ctx, "/penumbra.view.v1alpha1.ViewProtocolService/TransactionPlanner", in, out, opts...) @@ -4231,14 +3789,10 @@ type ViewProtocolServiceServer interface { SwapByCommitment(context.Context, *SwapByCommitmentRequest) (*SwapByCommitmentResponse, error) // Query for whether a nullifier has been spent, optionally waiting until it is spent. NullifierStatus(context.Context, *NullifierStatusRequest) (*NullifierStatusResponse, error) - // Query for the transaction hashes in the given range of blocks. - TransactionHashes(*TransactionHashesRequest, ViewProtocolService_TransactionHashesServer) error - // Query for a given transaction hash. - TransactionByHash(context.Context, *TransactionByHashRequest) (*TransactionByHashResponse, error) + // Query for a given transaction by its hash. + TransactionInfoByHash(context.Context, *TransactionInfoByHashRequest) (*TransactionInfoByHashResponse, error) // Query for the full transactions in the given range of blocks. - Transactions(*TransactionsRequest, ViewProtocolService_TransactionsServer) error - // Query for the transaction perspective of the given transaction - TransactionPerspective(context.Context, *TransactionPerspectiveRequest) (*TransactionPerspectiveResponse, error) + TransactionInfo(*TransactionInfoRequest, ViewProtocolService_TransactionInfoServer) error // Query for a transaction plan TransactionPlanner(context.Context, *TransactionPlannerRequest) (*TransactionPlannerResponse, error) // Broadcast a transaction to the network, optionally waiting for full confirmation. @@ -4297,17 +3851,11 @@ func (*UnimplementedViewProtocolServiceServer) SwapByCommitment(ctx context.Cont func (*UnimplementedViewProtocolServiceServer) NullifierStatus(ctx context.Context, req *NullifierStatusRequest) (*NullifierStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method NullifierStatus not implemented") } -func (*UnimplementedViewProtocolServiceServer) TransactionHashes(req *TransactionHashesRequest, srv ViewProtocolService_TransactionHashesServer) error { - return status.Errorf(codes.Unimplemented, "method TransactionHashes not implemented") -} -func (*UnimplementedViewProtocolServiceServer) TransactionByHash(ctx context.Context, req *TransactionByHashRequest) (*TransactionByHashResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TransactionByHash not implemented") +func (*UnimplementedViewProtocolServiceServer) TransactionInfoByHash(ctx context.Context, req *TransactionInfoByHashRequest) (*TransactionInfoByHashResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TransactionInfoByHash not implemented") } -func (*UnimplementedViewProtocolServiceServer) Transactions(req *TransactionsRequest, srv ViewProtocolService_TransactionsServer) error { - return status.Errorf(codes.Unimplemented, "method Transactions not implemented") -} -func (*UnimplementedViewProtocolServiceServer) TransactionPerspective(ctx context.Context, req *TransactionPerspectiveRequest) (*TransactionPerspectiveResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method TransactionPerspective not implemented") +func (*UnimplementedViewProtocolServiceServer) TransactionInfo(req *TransactionInfoRequest, srv ViewProtocolService_TransactionInfoServer) error { + return status.Errorf(codes.Unimplemented, "method TransactionInfo not implemented") } func (*UnimplementedViewProtocolServiceServer) TransactionPlanner(ctx context.Context, req *TransactionPlannerRequest) (*TransactionPlannerResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TransactionPlanner not implemented") @@ -4623,84 +4171,45 @@ func _ViewProtocolService_NullifierStatus_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } -func _ViewProtocolService_TransactionHashes_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(TransactionHashesRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(ViewProtocolServiceServer).TransactionHashes(m, &viewProtocolServiceTransactionHashesServer{stream}) -} - -type ViewProtocolService_TransactionHashesServer interface { - Send(*TransactionHashesResponse) error - grpc.ServerStream -} - -type viewProtocolServiceTransactionHashesServer struct { - grpc.ServerStream -} - -func (x *viewProtocolServiceTransactionHashesServer) Send(m *TransactionHashesResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _ViewProtocolService_TransactionByHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(TransactionByHashRequest) +func _ViewProtocolService_TransactionInfoByHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TransactionInfoByHashRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ViewProtocolServiceServer).TransactionByHash(ctx, in) + return srv.(ViewProtocolServiceServer).TransactionInfoByHash(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/penumbra.view.v1alpha1.ViewProtocolService/TransactionByHash", + FullMethod: "/penumbra.view.v1alpha1.ViewProtocolService/TransactionInfoByHash", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ViewProtocolServiceServer).TransactionByHash(ctx, req.(*TransactionByHashRequest)) + return srv.(ViewProtocolServiceServer).TransactionInfoByHash(ctx, req.(*TransactionInfoByHashRequest)) } return interceptor(ctx, in, info, handler) } -func _ViewProtocolService_Transactions_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(TransactionsRequest) +func _ViewProtocolService_TransactionInfo_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(TransactionInfoRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ViewProtocolServiceServer).Transactions(m, &viewProtocolServiceTransactionsServer{stream}) + return srv.(ViewProtocolServiceServer).TransactionInfo(m, &viewProtocolServiceTransactionInfoServer{stream}) } -type ViewProtocolService_TransactionsServer interface { - Send(*TransactionsResponse) error +type ViewProtocolService_TransactionInfoServer interface { + Send(*TransactionInfoResponse) error grpc.ServerStream } -type viewProtocolServiceTransactionsServer struct { +type viewProtocolServiceTransactionInfoServer struct { grpc.ServerStream } -func (x *viewProtocolServiceTransactionsServer) Send(m *TransactionsResponse) error { +func (x *viewProtocolServiceTransactionInfoServer) Send(m *TransactionInfoResponse) error { return x.ServerStream.SendMsg(m) } -func _ViewProtocolService_TransactionPerspective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(TransactionPerspectiveRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ViewProtocolServiceServer).TransactionPerspective(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/penumbra.view.v1alpha1.ViewProtocolService/TransactionPerspective", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ViewProtocolServiceServer).TransactionPerspective(ctx, req.(*TransactionPerspectiveRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _ViewProtocolService_TransactionPlanner_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(TransactionPlannerRequest) if err := dec(in); err != nil { @@ -4786,12 +4295,8 @@ var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ Handler: _ViewProtocolService_NullifierStatus_Handler, }, { - MethodName: "TransactionByHash", - Handler: _ViewProtocolService_TransactionByHash_Handler, - }, - { - MethodName: "TransactionPerspective", - Handler: _ViewProtocolService_TransactionPerspective_Handler, + MethodName: "TransactionInfoByHash", + Handler: _ViewProtocolService_TransactionInfoByHash_Handler, }, { MethodName: "TransactionPlanner", @@ -4829,13 +4334,8 @@ var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ ServerStreams: true, }, { - StreamName: "TransactionHashes", - Handler: _ViewProtocolService_TransactionHashes_Handler, - ServerStreams: true, - }, - { - StreamName: "Transactions", - Handler: _ViewProtocolService_Transactions_Handler, + StreamName: "TransactionInfo", + Handler: _ViewProtocolService_TransactionInfo_Handler, ServerStreams: true, }, }, @@ -4979,6 +4479,11 @@ func (m *BroadcastTransactionResponse) MarshalToSizedBuffer(dAtA []byte) (int, e _ = i var l int _ = l + if m.DetectionHeight != 0 { + i = encodeVarintView(dAtA, i, uint64(m.DetectionHeight)) + i-- + dAtA[i] = 0x10 + } if m.Id != nil { { size, err := m.Id.MarshalToSizedBuffer(dAtA[:i]) @@ -5094,15 +4599,6 @@ func (m *TransactionPlannerRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro dAtA[i] = 0xa2 } } - if m.XToken != nil { - { - size := m.XToken.Size() - i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } if m.XAccountGroupId != nil { { size := m.XAccountGroupId.Size() @@ -5160,27 +4656,6 @@ func (m *TransactionPlannerRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []b } return len(dAtA) - i, nil } -func (m *TransactionPlannerRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionPlannerRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *TransactionPlannerRequest_Output) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5834,15 +5309,6 @@ func (m *StatusRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XToken != nil { - { - size := m.XToken.Size() - i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } if m.XAccountGroupId != nil { { size := m.XAccountGroupId.Size() @@ -5876,27 +5342,6 @@ func (m *StatusRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, e } return len(dAtA) - i, nil } -func (m *StatusRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *StatusRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *StatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5955,15 +5400,6 @@ func (m *StatusStreamRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XToken != nil { - { - size := m.XToken.Size() - i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } if m.XAccountGroupId != nil { { size := m.XAccountGroupId.Size() @@ -5997,27 +5433,6 @@ func (m *StatusStreamRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) ( } return len(dAtA) - i, nil } -func (m *StatusStreamRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *StatusStreamRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *StatusStreamResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6071,28 +5486,26 @@ func (m *NotesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XToken != nil { + if m.XAccountGroupId != nil { { - size := m.XToken.Size() + size := m.XAccountGroupId.Size() i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { + if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { return 0, err } } } - if m.XAccountGroupId != nil { + if m.AmountToSpend != nil { { - size := m.XAccountGroupId.Size() - i -= size - if _, err := m.XAccountGroupId.MarshalTo(dAtA[i:]); err != nil { + size, err := m.AmountToSpend.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } - } - if m.AmountToSpend != 0 { - i = encodeVarintView(dAtA, i, uint64(m.AmountToSpend)) i-- - dAtA[i] = 0x28 + dAtA[i] = 0x32 } if m.AddressIndex != nil { { @@ -6152,27 +5565,6 @@ func (m *NotesRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, er } return len(dAtA) - i, nil } -func (m *NotesRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *NotesRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *NotesForVotingRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6193,15 +5585,6 @@ func (m *NotesForVotingRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XToken != nil { - { - size := m.XToken.Size() - i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } if m.XAccountGroupId != nil { { size := m.XAccountGroupId.Size() @@ -6252,27 +5635,6 @@ func (m *NotesForVotingRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) } return len(dAtA) - i, nil } -func (m *NotesForVotingRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *NotesForVotingRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *WitnessRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6293,15 +5655,6 @@ func (m *WitnessRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XToken != nil { - { - size := m.XToken.Size() - i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } if m.XAccountGroupId != nil { { size := m.XAccountGroupId.Size() @@ -6361,27 +5714,6 @@ func (m *WitnessRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte) (int, } return len(dAtA) - i, nil } -func (m *WitnessRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *WitnessRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *WitnessResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6767,15 +6099,6 @@ func (m *NoteByCommitmentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XToken != nil { - { - size := m.XToken.Size() - i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } if m.XAccountGroupId != nil { { size := m.XAccountGroupId.Size() @@ -6831,27 +6154,6 @@ func (m *NoteByCommitmentRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byt } return len(dAtA) - i, nil } -func (m *NoteByCommitmentRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *NoteByCommitmentRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *NoteByCommitmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6907,15 +6209,6 @@ func (m *SwapByCommitmentRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XToken != nil { - { - size := m.XToken.Size() - i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } if m.XAccountGroupId != nil { { size := m.XAccountGroupId.Size() @@ -6971,27 +6264,6 @@ func (m *SwapByCommitmentRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byt } return len(dAtA) - i, nil } -func (m *SwapByCommitmentRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SwapByCommitmentRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *SwapByCommitmentResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7047,15 +6319,6 @@ func (m *NullifierStatusRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l - if m.XToken != nil { - { - size := m.XToken.Size() - i -= size - if _, err := m.XToken.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - } - } if m.XAccountGroupId != nil { { size := m.XAccountGroupId.Size() @@ -7111,27 +6374,6 @@ func (m *NullifierStatusRequest_AccountGroupId) MarshalToSizedBuffer(dAtA []byte } return len(dAtA) - i, nil } -func (m *NullifierStatusRequest_Token) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *NullifierStatusRequest_Token) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - if m.Token != nil { - { - size, err := m.Token.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x7a - } - return len(dAtA) - i, nil -} func (m *NullifierStatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7165,7 +6407,7 @@ func (m *NullifierStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *TransactionHashesRequest) Marshal() (dAtA []byte, err error) { +func (m *TransactionInfoByHashRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7175,12 +6417,47 @@ func (m *TransactionHashesRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TransactionHashesRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionInfoByHashRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionHashesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionInfoByHashRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Id != nil { + { + size, err := m.Id.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} + +func (m *TransactionInfoRequest) 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 *TransactionInfoRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TransactionInfoRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7206,31 +6483,31 @@ func (m *TransactionHashesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *TransactionHashesRequest_StartHeight) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionInfoRequest_StartHeight) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionHashesRequest_StartHeight) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionInfoRequest_StartHeight) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) i = encodeVarintView(dAtA, i, uint64(m.StartHeight)) i-- dAtA[i] = 0x8 return len(dAtA) - i, nil } -func (m *TransactionHashesRequest_EndHeight) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionInfoRequest_EndHeight) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionHashesRequest_EndHeight) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionInfoRequest_EndHeight) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) i = encodeVarintView(dAtA, i, uint64(m.EndHeight)) i-- dAtA[i] = 0x10 return len(dAtA) - i, nil } -func (m *TransactionHashesResponse) Marshal() (dAtA []byte, err error) { +func (m *TransactionInfo) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7240,84 +6517,43 @@ func (m *TransactionHashesResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TransactionHashesResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionInfo) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionHashesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.TxHash) > 0 { - i -= len(m.TxHash) - copy(dAtA[i:], m.TxHash) - i = encodeVarintView(dAtA, i, uint64(len(m.TxHash))) + if m.View != nil { + { + size, err := m.View.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x12 + dAtA[i] = 0x2a } - if m.BlockHeight != 0 { - i = encodeVarintView(dAtA, i, uint64(m.BlockHeight)) + if m.Perspective != nil { + { + size, err := m.Perspective.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *TransactionByHashRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + dAtA[i] = 0x22 } - return dAtA[:n], nil -} - -func (m *TransactionByHashRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionByHashRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.TxHash) > 0 { - i -= len(m.TxHash) - copy(dAtA[i:], m.TxHash) - i = encodeVarintView(dAtA, i, uint64(len(m.TxHash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TransactionByHashResponse) 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 *TransactionByHashResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionByHashResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Tx != nil { + if m.Transaction != nil { { - size, err := m.Tx.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Transaction.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -7325,45 +6561,25 @@ func (m *TransactionByHashResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro i = encodeVarintView(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *TransactionsRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + dAtA[i] = 0x1a } - return dAtA[:n], nil -} - -func (m *TransactionsRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.XEndHeight != nil { + if m.Id != nil { { - size := m.XEndHeight.Size() - i -= size - if _, err := m.XEndHeight.MarshalTo(dAtA[i:]); err != nil { + size, err := m.Id.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 } - if m.XStartHeight != nil { + if m.XHeight != nil { { - size := m.XStartHeight.Size() + size := m.XHeight.Size() i -= size - if _, err := m.XStartHeight.MarshalTo(dAtA[i:]); err != nil { + if _, err := m.XHeight.MarshalTo(dAtA[i:]); err != nil { return 0, err } } @@ -7371,31 +6587,19 @@ func (m *TransactionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *TransactionsRequest_StartHeight) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionInfo_Height) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionsRequest_StartHeight) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionInfo_Height) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) - i = encodeVarintView(dAtA, i, uint64(m.StartHeight)) + i = encodeVarintView(dAtA, i, uint64(m.Height)) i-- dAtA[i] = 0x8 return len(dAtA) - i, nil } -func (m *TransactionsRequest_EndHeight) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionsRequest_EndHeight) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - i = encodeVarintView(dAtA, i, uint64(m.EndHeight)) - i-- - dAtA[i] = 0x10 - return len(dAtA) - i, nil -} -func (m *TransactionsResponse) Marshal() (dAtA []byte, err error) { +func (m *TransactionInfoResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7405,19 +6609,19 @@ func (m *TransactionsResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TransactionsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionInfoResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Tx != nil { + if m.TxInfo != nil { { - size, err := m.Tx.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.TxInfo.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -7425,54 +6629,12 @@ func (m *TransactionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintView(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1a - } - if len(m.TxHash) > 0 { - i -= len(m.TxHash) - copy(dAtA[i:], m.TxHash) - i = encodeVarintView(dAtA, i, uint64(len(m.TxHash))) - i-- - dAtA[i] = 0x12 - } - if m.BlockHeight != 0 { - i = encodeVarintView(dAtA, i, uint64(m.BlockHeight)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *TransactionPerspectiveRequest) 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 *TransactionPerspectiveRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *TransactionPerspectiveRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.TxHash) > 0 { - i -= len(m.TxHash) - copy(dAtA[i:], m.TxHash) - i = encodeVarintView(dAtA, i, uint64(len(m.TxHash))) - i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *TransactionPerspectiveResponse) Marshal() (dAtA []byte, err error) { +func (m *TransactionInfoByHashResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7482,43 +6644,19 @@ func (m *TransactionPerspectiveResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TransactionPerspectiveResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *TransactionInfoByHashResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionPerspectiveResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *TransactionInfoByHashResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Txv != nil { - { - size, err := m.Txv.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - if m.Tx != nil { - { - size, err := m.Tx.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if m.Txp != nil { + if m.TxInfo != nil { { - size, err := m.Txp.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.TxInfo.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -7873,6 +7011,9 @@ func (m *BroadcastTransactionResponse) Size() (n int) { l = m.Id.Size() n += 1 + l + sovView(uint64(l)) } + if m.DetectionHeight != 0 { + n += 1 + sovView(uint64(m.DetectionHeight)) + } return n } @@ -7896,9 +7037,6 @@ func (m *TransactionPlannerRequest) Size() (n int) { if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } if len(m.Outputs) > 0 { for _, e := range m.Outputs { l = e.Size() @@ -7944,18 +7082,6 @@ func (m *TransactionPlannerRequest_AccountGroupId) Size() (n int) { } return n } -func (m *TransactionPlannerRequest_Token) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} func (m *TransactionPlannerRequest_Output) Size() (n int) { if m == nil { return 0 @@ -8204,9 +7330,6 @@ func (m *StatusRequest) Size() (n int) { if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } return n } @@ -8222,18 +7345,6 @@ func (m *StatusRequest_AccountGroupId) Size() (n int) { } return n } -func (m *StatusRequest_Token) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} func (m *StatusResponse) Size() (n int) { if m == nil { return 0 @@ -8258,9 +7369,6 @@ func (m *StatusStreamRequest) Size() (n int) { if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } return n } @@ -8276,18 +7384,6 @@ func (m *StatusStreamRequest_AccountGroupId) Size() (n int) { } return n } -func (m *StatusStreamRequest_Token) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} func (m *StatusStreamResponse) Size() (n int) { if m == nil { return 0 @@ -8320,15 +7416,13 @@ func (m *NotesRequest) Size() (n int) { l = m.AddressIndex.Size() n += 1 + l + sovView(uint64(l)) } - if m.AmountToSpend != 0 { - n += 1 + sovView(uint64(m.AmountToSpend)) + if m.AmountToSpend != nil { + l = m.AmountToSpend.Size() + n += 1 + l + sovView(uint64(l)) } if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } return n } @@ -8344,18 +7438,6 @@ func (m *NotesRequest_AccountGroupId) Size() (n int) { } return n } -func (m *NotesRequest_Token) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} func (m *NotesForVotingRequest) Size() (n int) { if m == nil { return 0 @@ -8372,9 +7454,6 @@ func (m *NotesForVotingRequest) Size() (n int) { if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } return n } @@ -8390,18 +7469,6 @@ func (m *NotesForVotingRequest_AccountGroupId) Size() (n int) { } return n } -func (m *NotesForVotingRequest_Token) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} func (m *WitnessRequest) Size() (n int) { if m == nil { return 0 @@ -8421,9 +7488,6 @@ func (m *WitnessRequest) Size() (n int) { if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } return n } @@ -8439,18 +7503,6 @@ func (m *WitnessRequest_AccountGroupId) Size() (n int) { } return n } -func (m *WitnessRequest_Token) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} func (m *WitnessResponse) Size() (n int) { if m == nil { return 0 @@ -8600,9 +7652,6 @@ func (m *NoteByCommitmentRequest) Size() (n int) { if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } return n } @@ -8618,18 +7667,6 @@ func (m *NoteByCommitmentRequest_AccountGroupId) Size() (n int) { } return n } -func (m *NoteByCommitmentRequest_Token) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} func (m *NoteByCommitmentResponse) Size() (n int) { if m == nil { return 0 @@ -8659,9 +7696,6 @@ func (m *SwapByCommitmentRequest) Size() (n int) { if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } return n } @@ -8677,18 +7711,6 @@ func (m *SwapByCommitmentRequest_AccountGroupId) Size() (n int) { } return n } -func (m *SwapByCommitmentRequest_Token) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} func (m *SwapByCommitmentResponse) Size() (n int) { if m == nil { return 0 @@ -8718,9 +7740,6 @@ func (m *NullifierStatusRequest) Size() (n int) { if m.XAccountGroupId != nil { n += m.XAccountGroupId.Size() } - if m.XToken != nil { - n += m.XToken.Size() - } return n } @@ -8736,31 +7755,32 @@ func (m *NullifierStatusRequest_AccountGroupId) Size() (n int) { } return n } -func (m *NullifierStatusRequest_Token) Size() (n int) { +func (m *NullifierStatusResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Token != nil { - l = m.Token.Size() - n += 1 + l + sovView(uint64(l)) + if m.Spent { + n += 2 } return n } -func (m *NullifierStatusResponse) Size() (n int) { + +func (m *TransactionInfoByHashRequest) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Spent { - n += 2 + if m.Id != nil { + l = m.Id.Size() + n += 1 + l + sovView(uint64(l)) } return n } -func (m *TransactionHashesRequest) Size() (n int) { +func (m *TransactionInfoRequest) Size() (n int) { if m == nil { return 0 } @@ -8775,7 +7795,7 @@ func (m *TransactionHashesRequest) Size() (n int) { return n } -func (m *TransactionHashesRequest_StartHeight) Size() (n int) { +func (m *TransactionInfoRequest_StartHeight) Size() (n int) { if m == nil { return 0 } @@ -8784,7 +7804,7 @@ func (m *TransactionHashesRequest_StartHeight) Size() (n int) { n += 1 + sovView(uint64(m.StartHeight)) return n } -func (m *TransactionHashesRequest_EndHeight) Size() (n int) { +func (m *TransactionInfoRequest_EndHeight) Size() (n int) { if m == nil { return 0 } @@ -8793,130 +7813,64 @@ func (m *TransactionHashesRequest_EndHeight) Size() (n int) { n += 1 + sovView(uint64(m.EndHeight)) return n } -func (m *TransactionHashesResponse) Size() (n int) { +func (m *TransactionInfo) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.BlockHeight != 0 { - n += 1 + sovView(uint64(m.BlockHeight)) + if m.XHeight != nil { + n += m.XHeight.Size() } - l = len(m.TxHash) - if l > 0 { + if m.Id != nil { + l = m.Id.Size() + n += 1 + l + sovView(uint64(l)) + } + if m.Transaction != nil { + l = m.Transaction.Size() + n += 1 + l + sovView(uint64(l)) + } + if m.Perspective != nil { + l = m.Perspective.Size() + n += 1 + l + sovView(uint64(l)) + } + if m.View != nil { + l = m.View.Size() n += 1 + l + sovView(uint64(l)) } return n } -func (m *TransactionByHashRequest) Size() (n int) { +func (m *TransactionInfo_Height) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.TxHash) - if l > 0 { - n += 1 + l + sovView(uint64(l)) - } + n += 1 + sovView(uint64(m.Height)) return n } - -func (m *TransactionByHashResponse) Size() (n int) { +func (m *TransactionInfoResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Tx != nil { - l = m.Tx.Size() + if m.TxInfo != nil { + l = m.TxInfo.Size() n += 1 + l + sovView(uint64(l)) } return n } -func (m *TransactionsRequest) Size() (n int) { +func (m *TransactionInfoByHashResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.XStartHeight != nil { - n += m.XStartHeight.Size() - } - if m.XEndHeight != nil { - n += m.XEndHeight.Size() - } - return n -} - -func (m *TransactionsRequest_StartHeight) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + sovView(uint64(m.StartHeight)) - return n -} -func (m *TransactionsRequest_EndHeight) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + sovView(uint64(m.EndHeight)) - return n -} -func (m *TransactionsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.BlockHeight != 0 { - n += 1 + sovView(uint64(m.BlockHeight)) - } - l = len(m.TxHash) - if l > 0 { - n += 1 + l + sovView(uint64(l)) - } - if m.Tx != nil { - l = m.Tx.Size() - n += 1 + l + sovView(uint64(l)) - } - return n -} - -func (m *TransactionPerspectiveRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.TxHash) - if l > 0 { - n += 1 + l + sovView(uint64(l)) - } - return n -} - -func (m *TransactionPerspectiveResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Txp != nil { - l = m.Txp.Size() - n += 1 + l + sovView(uint64(l)) - } - if m.Tx != nil { - l = m.Tx.Size() - n += 1 + l + sovView(uint64(l)) - } - if m.Txv != nil { - l = m.Txv.Size() + if m.TxInfo != nil { + l = m.TxInfo.Size() n += 1 + l + sovView(uint64(l)) } return n @@ -9221,6 +8175,25 @@ func (m *BroadcastTransactionResponse) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DetectionHeight", wireType) + } + m.DetectionHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DetectionHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -9393,41 +8366,6 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { } m.XAccountGroupId = &TransactionPlannerRequest_AccountGroupId{v} iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &ViewAuthToken{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.XToken = &TransactionPlannerRequest_Token{v} - iNdEx = postIndex case 20: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Outputs", wireType) @@ -11236,41 +10174,6 @@ func (m *StatusRequest) Unmarshal(dAtA []byte) error { } m.XAccountGroupId = &StatusRequest_AccountGroupId{v} iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &ViewAuthToken{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.XToken = &StatusRequest_Token{v} - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -11445,41 +10348,6 @@ func (m *StatusStreamRequest) Unmarshal(dAtA []byte) error { } m.XAccountGroupId = &StatusStreamRequest_AccountGroupId{v} iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &ViewAuthToken{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.XToken = &StatusStreamRequest_Token{v} - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -11710,28 +10578,9 @@ func (m *NotesRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AmountToSpend", wireType) - } - m.AmountToSpend = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AmountToSpend |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 14: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AccountGroupId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AmountToSpend", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11758,15 +10607,16 @@ func (m *NotesRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &v1alpha11.AccountGroupId{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.AmountToSpend == nil { + m.AmountToSpend = &v1alpha11.Amount{} + } + if err := m.AmountToSpend.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XAccountGroupId = &NotesRequest_AccountGroupId{v} iNdEx = postIndex - case 15: + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AccountGroupId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11793,11 +10643,11 @@ func (m *NotesRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - v := &ViewAuthToken{} + v := &v1alpha11.AccountGroupId{} if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } - m.XToken = &NotesRequest_Token{v} + m.XAccountGroupId = &NotesRequest_AccountGroupId{v} iNdEx = postIndex default: iNdEx = preIndex @@ -11939,41 +10789,6 @@ func (m *NotesForVotingRequest) Unmarshal(dAtA []byte) error { } m.XAccountGroupId = &NotesForVotingRequest_AccountGroupId{v} iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &ViewAuthToken{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.XToken = &NotesForVotingRequest_Token{v} - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -12129,48 +10944,13 @@ func (m *WitnessRequest) Unmarshal(dAtA []byte) error { } m.XAccountGroupId = &WitnessRequest_AccountGroupId{v} iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &ViewAuthToken{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.XToken = &WitnessRequest_Token{v} - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipView(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthView } if (iNdEx + skippy) > l { @@ -13161,41 +11941,6 @@ func (m *NoteByCommitmentRequest) Unmarshal(dAtA []byte) error { } m.XAccountGroupId = &NoteByCommitmentRequest_AccountGroupId{v} iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &ViewAuthToken{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.XToken = &NoteByCommitmentRequest_Token{v} - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -13423,41 +12168,6 @@ func (m *SwapByCommitmentRequest) Unmarshal(dAtA []byte) error { } m.XAccountGroupId = &SwapByCommitmentRequest_AccountGroupId{v} iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &ViewAuthToken{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.XToken = &SwapByCommitmentRequest_Token{v} - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -13685,41 +12395,6 @@ func (m *NullifierStatusRequest) Unmarshal(dAtA []byte) error { } m.XAccountGroupId = &NullifierStatusRequest_AccountGroupId{v} iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Token", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := &ViewAuthToken{} - if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.XToken = &NullifierStatusRequest_Token{v} - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -13811,7 +12486,7 @@ func (m *NullifierStatusResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionHashesRequest) Unmarshal(dAtA []byte) error { +func (m *TransactionInfoByHashRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13834,17 +12509,17 @@ func (m *TransactionHashesRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TransactionHashesRequest: wiretype end group for non-group") + return fmt.Errorf("proto: TransactionInfoByHashRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionHashesRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: TransactionInfoByHashRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field StartHeight", wireType) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } - var v uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -13854,32 +12529,28 @@ func (m *TransactionHashesRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.XStartHeight = &TransactionHashesRequest_StartHeight{v} - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EndHeight", wireType) + if msglen < 0 { + return ErrInvalidLengthView } - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF } - m.XEndHeight = &TransactionHashesRequest_EndHeight{v} + if m.Id == nil { + m.Id = &v1alpha1.Id{} + } + if err := m.Id.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -13901,7 +12572,7 @@ func (m *TransactionHashesRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionHashesResponse) Unmarshal(dAtA []byte) error { +func (m *TransactionInfoRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13924,17 +12595,17 @@ func (m *TransactionHashesResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TransactionHashesResponse: wiretype end group for non-group") + return fmt.Errorf("proto: TransactionInfoRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionHashesResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: TransactionInfoRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StartHeight", wireType) } - m.BlockHeight = 0 + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -13944,16 +12615,17 @@ func (m *TransactionHashesResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BlockHeight |= uint64(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } } + m.XStartHeight = &TransactionInfoRequest_StartHeight{v} case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxHash", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EndHeight", wireType) } - var byteLen int + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -13963,26 +12635,12 @@ func (m *TransactionHashesResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TxHash = append(m.TxHash[:0], dAtA[iNdEx:postIndex]...) - if m.TxHash == nil { - m.TxHash = []byte{} - } - iNdEx = postIndex + m.XEndHeight = &TransactionInfoRequest_EndHeight{v} default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -14004,7 +12662,7 @@ func (m *TransactionHashesResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionByHashRequest) Unmarshal(dAtA []byte) error { +func (m *TransactionInfo) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14027,17 +12685,17 @@ func (m *TransactionByHashRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TransactionByHashRequest: wiretype end group for non-group") + return fmt.Errorf("proto: TransactionInfo: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionByHashRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: TransactionInfo: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxHash", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) } - var byteLen int + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -14047,79 +12705,15 @@ func (m *TransactionByHashRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.TxHash = append(m.TxHash[:0], dAtA[iNdEx:postIndex]...) - if m.TxHash == nil { - m.TxHash = []byte{} - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipView(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthView - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TransactionByHashResponse) 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 ErrIntOverflowView - } - 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: TransactionByHashResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionByHashResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.XHeight = &TransactionInfo_Height{v} + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14146,88 +12740,18 @@ func (m *TransactionByHashResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Tx == nil { - m.Tx = &v1alpha1.Transaction{} + if m.Id == nil { + m.Id = &v1alpha1.Id{} } - if err := m.Tx.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Id.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipView(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthView - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TransactionsRequest) 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 ErrIntOverflowView - } - 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: TransactionsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field StartHeight", wireType) - } - var v uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.XStartHeight = &TransactionsRequest_StartHeight{v} - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EndHeight", wireType) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Transaction", wireType) } - var v uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -14237,86 +12761,33 @@ func (m *TransactionsRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.XEndHeight = &TransactionsRequest_EndHeight{v} - default: - iNdEx = preIndex - skippy, err := skipView(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + if msglen < 0 { return ErrInvalidLengthView } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TransactionsResponse) 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 ErrIntOverflowView + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView } - if iNdEx >= l { + if postIndex > 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: TransactionsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockHeight", wireType) + if m.Transaction == nil { + m.Transaction = &v1alpha1.Transaction{} } - m.BlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BlockHeight |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if err := m.Transaction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - case 2: + iNdEx = postIndex + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Perspective", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -14326,29 +12797,31 @@ func (m *TransactionsResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthView } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthView } if postIndex > l { return io.ErrUnexpectedEOF } - m.TxHash = append(m.TxHash[:0], dAtA[iNdEx:postIndex]...) - if m.TxHash == nil { - m.TxHash = []byte{} + if m.Perspective == nil { + m.Perspective = &v1alpha1.TransactionPerspective{} + } + if err := m.Perspective.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field View", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14375,10 +12848,10 @@ func (m *TransactionsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Tx == nil { - m.Tx = &v1alpha1.Transaction{} + if m.View == nil { + m.View = &v1alpha1.TransactionView{} } - if err := m.Tx.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.View.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -14403,7 +12876,7 @@ func (m *TransactionsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionPerspectiveRequest) Unmarshal(dAtA []byte) error { +func (m *TransactionInfoResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14426,17 +12899,17 @@ func (m *TransactionPerspectiveRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TransactionPerspectiveRequest: wiretype end group for non-group") + return fmt.Errorf("proto: TransactionInfoResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionPerspectiveRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: TransactionInfoResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TxHash", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TxInfo", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -14446,24 +12919,26 @@ func (m *TransactionPerspectiveRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthView } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthView } if postIndex > l { return io.ErrUnexpectedEOF } - m.TxHash = append(m.TxHash[:0], dAtA[iNdEx:postIndex]...) - if m.TxHash == nil { - m.TxHash = []byte{} + if m.TxInfo == nil { + m.TxInfo = &TransactionInfo{} + } + if err := m.TxInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -14487,7 +12962,7 @@ func (m *TransactionPerspectiveRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *TransactionPerspectiveResponse) Unmarshal(dAtA []byte) error { +func (m *TransactionInfoByHashResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14510,87 +12985,15 @@ func (m *TransactionPerspectiveResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TransactionPerspectiveResponse: wiretype end group for non-group") + return fmt.Errorf("proto: TransactionInfoByHashResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TransactionPerspectiveResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: TransactionInfoByHashResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Txp", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Txp == nil { - m.Txp = &v1alpha1.TransactionPerspective{} - } - if err := m.Txp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowView - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthView - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthView - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Tx == nil { - m.Tx = &v1alpha1.Transaction{} - } - if err := m.Tx.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Txv", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TxInfo", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14617,10 +13020,10 @@ func (m *TransactionPerspectiveResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Txv == nil { - m.Txv = &v1alpha1.TransactionView{} + if m.TxInfo == nil { + m.TxInfo = &TransactionInfo{} } - if err := m.Txv.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.TxInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex From 23d1e5c864b35d133cad6a0ef06970a2b1e1b03f Mon Sep 17 00:00:00 2001 From: Andrew Gouin Date: Wed, 24 May 2023 15:48:39 -0600 Subject: [PATCH 03/58] Neutron launch fixes and optimizations (#1185) * pipe max msgs through path processor * only apply max msgs to packet msgs * multiple msgs simultaneously on ordered chans * flush should be more frequent if it fails or does not complete * fix legacy * handle feedback --- cmd/flags.go | 11 +- cmd/root.go | 16 +- cmd/start.go | 30 +- cmd/tx.go | 4 +- go.mod | 2 +- .../chains/cosmos/cosmos_chain_processor.go | 7 + relayer/chains/cosmos/query.go | 2 - .../chains/mock/mock_chain_processor_test.go | 4 +- relayer/channel.go | 3 + relayer/connection.go | 1 + relayer/processor/path_processor.go | 28 +- relayer/processor/path_processor_internal.go | 347 +++++++++++++----- relayer/processor/types.go | 30 ++ relayer/processor/types_internal.go | 5 + relayer/strategies.go | 9 +- 15 files changed, 336 insertions(+), 163 deletions(-) diff --git a/cmd/flags.go b/cmd/flags.go index 427f12d52..82bab138a 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -225,11 +225,12 @@ func urlFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { } func strategyFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { - cmd.Flags().StringP(flagMaxTxSize, "s", "2", "strategy of path to generate of the messages in a relay transaction") - cmd.Flags().StringP(flagMaxMsgLength, "l", "5", "maximum number of messages in a relay transaction") - if err := v.BindPFlag(flagMaxTxSize, cmd.Flags().Lookup(flagMaxTxSize)); err != nil { - panic(err) - } + cmd.Flags().Uint64P( + flagMaxMsgLength, + "l", + relayer.DefaultMaxMsgLength, + "maximum number of messages per transaction", + ) if err := v.BindPFlag(flagMaxMsgLength, cmd.Flags().Lookup(flagMaxMsgLength)); err != nil { panic(err) } diff --git a/cmd/root.go b/cmd/root.go index d76360e01..eb8367409 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -34,13 +34,9 @@ import ( "github.com/spf13/viper" "go.uber.org/zap" "go.uber.org/zap/zapcore" - "golang.org/x/term" ) -const ( - MB = 1024 * 1024 // in bytes - appName = "rly" -) +const appName = "rly" var defaultHome = filepath.Join(os.Getenv("HOME"), ".relayer") @@ -185,18 +181,10 @@ func newRootLogger(format string, debug bool) (*zap.Logger, error) { switch format { case "json": enc = zapcore.NewJSONEncoder(config) - case "console": + case "auto", "console": enc = zapcore.NewConsoleEncoder(config) case "logfmt": enc = zaplogfmt.NewEncoder(config) - case "auto": - if term.IsTerminal(int(os.Stderr.Fd())) { - // When a user runs relayer in the foreground, use easier to read output. - enc = zapcore.NewConsoleEncoder(config) - } else { - // Otherwise, use consistent logfmt format for simplistic machine processing. - enc = zaplogfmt.NewEncoder(config) - } default: return nil, fmt.Errorf("unrecognized log format %q", format) } diff --git a/cmd/start.go b/cmd/start.go index fa69d2a80..c2cdf9406 100644 --- a/cmd/start.go +++ b/cmd/start.go @@ -21,7 +21,6 @@ import ( "errors" "fmt" "net" - "strconv" "strings" "github.com/cosmos/relayer/v2/internal/relaydebug" @@ -88,7 +87,7 @@ $ %s start demo-path2 --max-tx-size 10`, appName, appName, appName, appName)), return err } - maxTxSize, maxMsgLength, err := GetStartOptions(cmd) + maxMsgLength, err := cmd.Flags().GetUint64(flagMaxMsgLength) if err != nil { return err } @@ -149,7 +148,7 @@ $ %s start demo-path2 --max-tx-size 10`, appName, appName, appName, appName)), a.log, chains, paths, - maxTxSize, maxMsgLength, + maxMsgLength, a.config.memo(cmd), clientUpdateThresholdTime, flushInterval, @@ -182,28 +181,3 @@ $ %s start demo-path2 --max-tx-size 10`, appName, appName, appName, appName)), cmd = memoFlag(a.viper, cmd) return cmd } - -// GetStartOptions sets strategy specific fields. -func GetStartOptions(cmd *cobra.Command) (uint64, uint64, error) { - maxTxSize, err := cmd.Flags().GetString(flagMaxTxSize) - if err != nil { - return 0, 0, err - } - - txSize, err := strconv.ParseUint(maxTxSize, 10, 64) - if err != nil { - return 0, 0, err - } - - maxMsgLength, err := cmd.Flags().GetString(flagMaxMsgLength) - if err != nil { - return txSize * MB, 0, err - } - - msgLen, err := strconv.ParseUint(maxMsgLength, 10, 64) - if err != nil { - return txSize * MB, 0, err - } - - return txSize * MB, msgLen, nil -} diff --git a/cmd/tx.go b/cmd/tx.go index 6e9244527..e1b5e124a 100644 --- a/cmd/tx.go +++ b/cmd/tx.go @@ -781,7 +781,7 @@ $ %s tx flush demo-path channel-0`, return err } - maxTxSize, maxMsgLength, err := GetStartOptions(cmd) + maxMsgLength, err := cmd.Flags().GetUint64(flagMaxMsgLength) if err != nil { return err } @@ -802,7 +802,7 @@ $ %s tx flush demo-path channel-0`, a.log, chains, paths, - maxTxSize, maxMsgLength, + maxMsgLength, a.config.memo(cmd), 0, 0, diff --git a/go.mod b/go.mod index fd1091a78..16f05763e 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,6 @@ require ( go.uber.org/zap v1.24.0 golang.org/x/mod v0.8.0 golang.org/x/sync v0.1.0 - golang.org/x/term v0.7.0 golang.org/x/text v0.9.0 google.golang.org/grpc v1.54.0 gopkg.in/yaml.v2 v2.4.0 @@ -171,6 +170,7 @@ require ( golang.org/x/net v0.9.0 // indirect golang.org/x/oauth2 v0.5.0 // indirect golang.org/x/sys v0.7.0 // indirect + golang.org/x/term v0.7.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.110.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index e5de5f2bc..0c350f1f4 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -398,6 +398,13 @@ func (ccp *CosmosChainProcessor) queryCycle(ctx context.Context, persistence *qu break } + ccp.log.Debug( + "Queried block", + zap.Int64("height", i), + zap.Int64("latest", persistence.latestHeight), + zap.Int64("delta", persistence.latestHeight-i), + ) + persistence.retriesAtLatestQueriedBlock = 0 latestHeader = ibcHeader.(provider.TendermintIBCHeader) diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index f8025456e..6e438727f 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -897,7 +897,6 @@ func (cc *CosmosProvider) QueryUnreceivedPackets(ctx context.Context, height uin func sendPacketQuery(channelID string, portID string, seq uint64) string { x := []string{ fmt.Sprintf("%s.packet_src_channel='%s'", spTag, channelID), - fmt.Sprintf("%s.packet_src_port='%s'", spTag, portID), fmt.Sprintf("%s.packet_sequence='%d'", spTag, seq), } return strings.Join(x, " AND ") @@ -906,7 +905,6 @@ func sendPacketQuery(channelID string, portID string, seq uint64) string { func writeAcknowledgementQuery(channelID string, portID string, seq uint64) string { x := []string{ fmt.Sprintf("%s.packet_dst_channel='%s'", waTag, channelID), - fmt.Sprintf("%s.packet_dst_port='%s'", waTag, portID), fmt.Sprintf("%s.packet_sequence='%d'", waTag, seq), } return strings.Join(x, " AND ") diff --git a/relayer/chains/mock/mock_chain_processor_test.go b/relayer/chains/mock/mock_chain_processor_test.go index 505fa87db..718826917 100644 --- a/relayer/chains/mock/mock_chain_processor_test.go +++ b/relayer/chains/mock/mock_chain_processor_test.go @@ -9,6 +9,7 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/cosmos/relayer/v2/relayer" "github.com/cosmos/relayer/v2/relayer/chains/mock" "github.com/cosmos/relayer/v2/relayer/processor" "github.com/prometheus/client_golang/prometheus/testutil" @@ -61,7 +62,8 @@ func TestMockChainAndPathProcessors(t *testing.T) { clientUpdateThresholdTime := 6 * time.Hour flushInterval := 6 * time.Hour - pathProcessor := processor.NewPathProcessor(log, pathEnd1, pathEnd2, metrics, "", clientUpdateThresholdTime, flushInterval) + pathProcessor := processor.NewPathProcessor(log, pathEnd1, pathEnd2, metrics, "", + clientUpdateThresholdTime, flushInterval, relayer.DefaultMaxMsgLength) eventProcessor := processor.NewEventProcessor(). WithChainProcessors( diff --git a/relayer/channel.go b/relayer/channel.go index 5274d405d..2f3f32b64 100644 --- a/relayer/channel.go +++ b/relayer/channel.go @@ -59,6 +59,7 @@ func (c *Chain) CreateOpenChannels( memo, DefaultClientUpdateThreshold, DefaultFlushInterval, + DefaultMaxMsgLength, ) c.log.Info("Starting event processor for channel handshake", @@ -131,6 +132,7 @@ func (c *Chain) CloseChannel( memo, DefaultClientUpdateThreshold, DefaultFlushInterval, + DefaultMaxMsgLength, )). WithInitialBlockHistory(0). WithMessageLifecycle(&processor.FlushLifecycle{}). @@ -168,6 +170,7 @@ func (c *Chain) CloseChannel( memo, DefaultClientUpdateThreshold, DefaultFlushInterval, + DefaultMaxMsgLength, )). WithInitialBlockHistory(0). WithMessageLifecycle(&processor.ChannelCloseLifecycle{ diff --git a/relayer/connection.go b/relayer/connection.go index 1f818eff7..df784d504 100644 --- a/relayer/connection.go +++ b/relayer/connection.go @@ -40,6 +40,7 @@ func (c *Chain) CreateOpenConnections( memo, DefaultClientUpdateThreshold, DefaultFlushInterval, + DefaultMaxMsgLength, ) var connectionSrc, connectionDst string diff --git a/relayer/processor/path_processor.go b/relayer/processor/path_processor.go index 976037ba1..d6df17eea 100644 --- a/relayer/processor/path_processor.go +++ b/relayer/processor/path_processor.go @@ -27,6 +27,9 @@ const ( // Amount of time to wait for interchain queries. interchainQueryTimeout = 60 * time.Second + // Amount of time between flushes if the previous flush failed. + flushFailureRetry = 15 * time.Second + // If message assembly fails from either proof query failure on the source // or assembling the message for the destination, how many blocks should pass // before retrying. @@ -63,7 +66,7 @@ type PathProcessor struct { messageLifecycle MessageLifecycle initialFlushComplete bool - flushTicker *time.Ticker + flushTimer *time.Timer flushInterval time.Duration // Signals to retry. @@ -71,6 +74,8 @@ type PathProcessor struct { sentInitialMsg bool + maxMsgs uint64 + metrics *PrometheusMetrics } @@ -94,6 +99,7 @@ func NewPathProcessor( memo string, clientUpdateThresholdTime time.Duration, flushInterval time.Duration, + maxMsgs uint64, ) *PathProcessor { pp := &PathProcessor{ log: log, @@ -104,6 +110,7 @@ func NewPathProcessor( clientUpdateThresholdTime: clientUpdateThresholdTime, flushInterval: flushInterval, metrics: metrics, + maxMsgs: maxMsgs, } if flushInterval == 0 { pp.disablePeriodicFlush() @@ -264,6 +271,16 @@ func (pp *PathProcessor) HandleNewData(chainID string, cacheData ChainProcessorC } } +func (pp *PathProcessor) handleFlush(ctx context.Context) { + flushTimer := pp.flushInterval + if err := pp.flush(ctx); err != nil { + pp.log.Warn("Flush not complete", zap.Error(err)) + flushTimer = flushFailureRetry + } + pp.flushTimer.Stop() + pp.flushTimer = time.NewTimer(flushTimer) +} + // processAvailableSignals will block if signals are not yet available, otherwise it will process one of the available signals. // It returns whether or not the pathProcessor should quit. func (pp *PathProcessor) processAvailableSignals(ctx context.Context, cancel func()) bool { @@ -287,9 +304,9 @@ func (pp *PathProcessor) processAvailableSignals(ctx context.Context, cancel fun case <-pp.retryProcess: // No new data to merge in, just retry handling. - case <-pp.flushTicker.C: + case <-pp.flushTimer.C: // Periodic flush to clear out any old packets - pp.flush(ctx) + pp.handleFlush(ctx) } return false } @@ -298,8 +315,7 @@ func (pp *PathProcessor) processAvailableSignals(ctx context.Context, cancel fun func (pp *PathProcessor) Run(ctx context.Context, cancel func()) { var retryTimer *time.Timer - pp.flushTicker = time.NewTicker(pp.flushInterval) - defer pp.flushTicker.Stop() + pp.flushTimer = time.NewTimer(time.Hour) for { // block until we have any signals to process @@ -319,7 +335,7 @@ func (pp *PathProcessor) Run(ctx context.Context, cancel func()) { } if pp.shouldFlush() && !pp.initialFlushComplete { - pp.flush(ctx) + pp.handleFlush(ctx) pp.initialFlushComplete = true } else if pp.shouldTerminateForFlushComplete() { cancel() diff --git a/relayer/processor/path_processor_internal.go b/relayer/processor/path_processor_internal.go index 040808103..79d1740c5 100644 --- a/relayer/processor/path_processor_internal.go +++ b/relayer/processor/path_processor_internal.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "errors" + "fmt" "sort" "sync" @@ -18,47 +19,95 @@ import ( // i.e. a MsgConnectionOpenInit or a MsgChannelOpenInit should be broadcasted to start // the handshake if this key exists in the relevant cache. const ( - preInitKey = "pre_init" - preCloseKey = "pre_close" + preInitKey = "pre_init" + preCloseKey = "pre_close" + maxPacketsPerFlush = 10 ) // getMessagesToSend returns only the lowest sequence message (if it should be sent) for ordered channels, // otherwise returns all which should be sent. func (pp *PathProcessor) getMessagesToSend( + ctx context.Context, msgs []packetIBCMessage, src, dst *pathEndRuntime, ) (srcMsgs []packetIBCMessage, dstMsgs []packetIBCMessage) { if len(msgs) == 0 { return } + if msgs[0].info.ChannelOrder == chantypes.ORDERED.String() { - // for packet messages on ordered channels, only handle the lowest sequence number now. - sort.SliceStable(msgs, func(i, j int) bool { - return msgs[i].info.Sequence < msgs[j].info.Sequence - }) - firstMsg := msgs[0] - switch firstMsg.eventType { - case chantypes.EventTypeRecvPacket: - if dst.shouldSendPacketMessage(firstMsg, src) { - dstMsgs = append(dstMsgs, firstMsg) + eventMessages := make(map[string][]packetIBCMessage) + + for _, m := range msgs { + eventMessages[m.eventType] = append(eventMessages[m.eventType], m) + } + + for e, m := range eventMessages { + m := m + sort.SliceStable(m, func(i, j int) bool { + return m[i].info.Sequence < m[j].info.Sequence + }) + + if e == chantypes.EventTypeRecvPacket { + dstChan, dstPort := m[0].info.DestChannel, m[0].info.DestPort + res, err := dst.chainProvider.QueryNextSeqRecv(ctx, 0, dstChan, dstPort) + if err != nil { + dst.log.Error("Failed to query next sequence recv", + zap.String("channel_id", dstChan), + zap.String("port_id", dstPort), + zap.Error(err), + ) + return + } + + if m[0].info.Sequence != res.NextSequenceReceive { + dst.log.Error("Unexpected next sequence recv", + zap.String("channel_id", m[0].info.DestChannel), + zap.String("port_id", m[0].info.DestChannel), + zap.Uint64("expected", res.NextSequenceReceive), + zap.Uint64("actual", m[0].info.Sequence), + ) + return + } } - default: - if src.shouldSendPacketMessage(firstMsg, dst) { - srcMsgs = append(srcMsgs, firstMsg) + + for i, msg := range m { + // only handle consecutive sequences on ordered channels + if i > 0 && msg.info.Sequence-1 != m[i-1].info.Sequence { + dst.log.Error("Packets are not consecutive", + zap.String("channel_id", m[0].info.DestChannel), + zap.String("port_id", m[0].info.DestChannel), + zap.Uint64("seq", msg.info.Sequence), + zap.Uint64("prior_seq", m[i-1].info.Sequence), + ) + break + } + + switch e { + case chantypes.EventTypeRecvPacket: + if uint64(len(dstMsgs)) <= pp.maxMsgs && dst.shouldSendPacketMessage(msg, src) { + dstMsgs = append(dstMsgs, msg) + } + default: + if uint64(len(srcMsgs)) <= pp.maxMsgs && src.shouldSendPacketMessage(msg, dst) { + srcMsgs = append(srcMsgs, msg) + } + } } } + return srcMsgs, dstMsgs } - // for unordered channels, can handle multiple simultaneous packets. + // for unordered channels, don't need to worry about sequence ordering. for _, msg := range msgs { switch msg.eventType { case chantypes.EventTypeRecvPacket: - if dst.shouldSendPacketMessage(msg, src) { + if uint64(len(dstMsgs)) <= pp.maxMsgs && dst.shouldSendPacketMessage(msg, src) { dstMsgs = append(dstMsgs, msg) } default: - if src.shouldSendPacketMessage(msg, dst) { + if uint64(len(srcMsgs)) <= pp.maxMsgs && src.shouldSendPacketMessage(msg, dst) { srcMsgs = append(srcMsgs, msg) } } @@ -211,7 +260,12 @@ func (pp *PathProcessor) unrelayedPacketFlowMessages( msgs = append(msgs, msgTransfer) } - res.SrcMessages, res.DstMessages = pp.getMessagesToSend(msgs, pathEndPacketFlowMessages.Src, pathEndPacketFlowMessages.Dst) + res.SrcMessages, res.DstMessages = pp.getMessagesToSend( + ctx, + msgs, + pathEndPacketFlowMessages.Src, + pathEndPacketFlowMessages.Dst, + ) return res } @@ -1073,7 +1127,8 @@ func queryPacketCommitments( } } -func queuePendingRecvAndAcks( +// queuePendingRecvAndAcks returns whether flush can be considered complete (none skipped). +func (pp *PathProcessor) queuePendingRecvAndAcks( ctx context.Context, src, dst *pathEndRuntime, k ChannelKey, @@ -1082,124 +1137,187 @@ func queuePendingRecvAndAcks( dstCache ChannelPacketMessagesCache, srcMu sync.Locker, dstMu sync.Locker, -) func() error { - return func() error { - if len(seqs) == 0 { - src.log.Debug("Nothing to flush", zap.String("channel", k.ChannelID), zap.String("port", k.PortID)) - return nil - } +) (bool, error) { - dstChan, dstPort := k.CounterpartyChannelID, k.CounterpartyPortID + if len(seqs) == 0 { + src.log.Debug("Nothing to flush", zap.String("channel", k.ChannelID), zap.String("port", k.PortID)) + return true, nil + } - unrecv, err := dst.chainProvider.QueryUnreceivedPackets(ctx, dst.latestBlock.Height, dstChan, dstPort, seqs) + dstChan, dstPort := k.CounterpartyChannelID, k.CounterpartyPortID + + unrecv, err := dst.chainProvider.QueryUnreceivedPackets(ctx, dst.latestBlock.Height, dstChan, dstPort, seqs) + if err != nil { + return false, err + } + + dstHeight := int64(dst.latestBlock.Height) + + if len(unrecv) > 0 { + channel, err := dst.chainProvider.QueryChannel(ctx, dstHeight, dstChan, dstPort) if err != nil { - return err + return false, err } - dstHeight := int64(dst.latestBlock.Height) - - if len(unrecv) > 0 { - channel, err := dst.chainProvider.QueryChannel(ctx, dstHeight, dstChan, dstPort) + if channel.Channel.Ordering == chantypes.ORDERED { + nextSeqRecv, err := dst.chainProvider.QueryNextSeqRecv(ctx, dstHeight, dstChan, dstPort) if err != nil { - return err + return false, err } - if channel.Channel.Ordering == chantypes.ORDERED { - nextSeqRecv, err := dst.chainProvider.QueryNextSeqRecv(ctx, dstHeight, dstChan, dstPort) - if err != nil { - return err + var newUnrecv []uint64 + + for _, seq := range unrecv { + if seq >= nextSeqRecv.NextSequenceReceive { + newUnrecv = append(newUnrecv, seq) } + } - var newUnrecv []uint64 + unrecv = newUnrecv - for _, seq := range unrecv { - if seq >= nextSeqRecv.NextSequenceReceive { - newUnrecv = append(newUnrecv, seq) - break - } - } + sort.SliceStable(unrecv, func(i, j int) bool { + return unrecv[i] < unrecv[j] + }) + } + } - unrecv = newUnrecv - } + var eg errgroup.Group + + skipped := false + + for i, seq := range unrecv { + srcMu.Lock() + if srcCache.IsCached(chantypes.EventTypeSendPacket, k, seq) { + continue // already cached } + srcMu.Unlock() - if len(unrecv) > 0 { - src.log.Debug("Will flush MsgRecvPacket", - zap.String("channel", k.ChannelID), - zap.String("port", k.PortID), - zap.Uint64s("sequences", unrecv), - ) - } else { - src.log.Debug("No MsgRecvPacket to flush", - zap.String("channel", k.ChannelID), - zap.String("port", k.PortID), - ) + if i >= maxPacketsPerFlush { + skipped = true + break } - for _, seq := range unrecv { + src.log.Debug("Querying send packet", + zap.String("channel", k.ChannelID), + zap.String("port", k.PortID), + zap.Uint64("sequence", seq), + ) + + seq := seq + + eg.Go(func() error { sendPacket, err := src.chainProvider.QuerySendPacket(ctx, k.ChannelID, k.PortID, seq) if err != nil { return err } srcMu.Lock() - if _, ok := srcCache[k]; !ok { - srcCache[k] = make(PacketMessagesCache) - } - if _, ok := srcCache[k][chantypes.EventTypeSendPacket]; !ok { - srcCache[k][chantypes.EventTypeSendPacket] = make(PacketSequenceCache) - } - srcCache[k][chantypes.EventTypeSendPacket][seq] = sendPacket + srcCache.Cache(chantypes.EventTypeSendPacket, k, seq, sendPacket) srcMu.Unlock() - } - var unacked []uint64 + src.log.Debug("Cached send packet", + zap.String("channel", k.ChannelID), + zap.String("port", k.PortID), + zap.String("ctrpty_channel", k.CounterpartyChannelID), + zap.String("ctrpty_port", k.CounterpartyPortID), + zap.Uint64("sequence", seq), + ) - SeqLoop: - for _, seq := range seqs { - for _, unrecvSeq := range unrecv { - if seq == unrecvSeq { - continue SeqLoop - } + return nil + }) + } + + if err := eg.Wait(); err != nil { + return false, err + } + + if len(unrecv) > 0 { + src.log.Debug("Will flush MsgRecvPacket", + zap.String("channel", k.ChannelID), + zap.String("port", k.PortID), + zap.Uint64s("sequences", unrecv), + ) + } else { + src.log.Debug("No MsgRecvPacket to flush", + zap.String("channel", k.ChannelID), + zap.String("port", k.PortID), + ) + } + + var unacked []uint64 + +SeqLoop: + for _, seq := range seqs { + for _, unrecvSeq := range unrecv { + if seq == unrecvSeq { + continue SeqLoop } - // does not exist in unrecv, so this is an ack that must be written - unacked = append(unacked, seq) } + // does not exist in unrecv, so this is an ack that must be written + unacked = append(unacked, seq) + } - if len(unacked) > 0 { - src.log.Debug("Will flush MsgAcknowledgement", zap.Object("channel", k), zap.Uint64s("sequences", unacked)) - } else { - src.log.Debug("No MsgAcknowledgement to flush", zap.String("channel", k.ChannelID), zap.String("port", k.PortID)) + for i, seq := range unacked { + dstMu.Lock() + ck := k.Counterparty() + if dstCache.IsCached(chantypes.EventTypeRecvPacket, ck, seq) && + dstCache.IsCached(chantypes.EventTypeWriteAck, ck, seq) { + continue // already cached } + dstMu.Unlock() + + if i >= maxPacketsPerFlush { + skipped = true + break + } + + seq := seq - for _, seq := range unacked { + dst.log.Debug("Querying recv packet", + zap.String("channel", k.CounterpartyChannelID), + zap.String("port", k.CounterpartyPortID), + zap.Uint64("sequence", seq), + ) + + eg.Go(func() error { recvPacket, err := dst.chainProvider.QueryRecvPacket(ctx, k.CounterpartyChannelID, k.CounterpartyPortID, seq) if err != nil { return err } - dstMu.Lock() - ck := k.Counterparty() - if _, ok := dstCache[ck]; !ok { - dstCache[ck] = make(PacketMessagesCache) - } - if _, ok := dstCache[ck][chantypes.EventTypeRecvPacket]; !ok { - dstCache[ck][chantypes.EventTypeRecvPacket] = make(PacketSequenceCache) - } - if _, ok := dstCache[ck][chantypes.EventTypeWriteAck]; !ok { - dstCache[ck][chantypes.EventTypeWriteAck] = make(PacketSequenceCache) - } - dstCache[ck][chantypes.EventTypeRecvPacket][seq] = recvPacket - dstCache[ck][chantypes.EventTypeWriteAck][seq] = recvPacket + dstMu.Lock() + dstCache.Cache(chantypes.EventTypeRecvPacket, ck, seq, recvPacket) + dstCache.Cache(chantypes.EventTypeWriteAck, ck, seq, recvPacket) dstMu.Unlock() - } - return nil + + return nil + }) } + + if err := eg.Wait(); err != nil { + return false, err + } + + if len(unacked) > 0 { + dst.log.Debug( + "Will flush MsgAcknowledgement", + zap.Object("channel", k), + zap.Uint64s("sequences", unacked), + ) + } else { + dst.log.Debug( + "No MsgAcknowledgement to flush", + zap.String("channel", k.CounterpartyChannelID), + zap.String("port", k.CounterpartyPortID), + ) + } + + return !skipped, nil } // flush runs queries to relay any pending messages which may have been // in blocks before the height that the chain processors started querying. -func (pp *PathProcessor) flush(ctx context.Context) { +func (pp *PathProcessor) flush(ctx context.Context) error { var ( commitments1 = make(map[ChannelKey][]uint64) commitments2 = make(map[ChannelKey][]uint64) @@ -1240,27 +1358,56 @@ func (pp *PathProcessor) flush(ctx context.Context) { } if err := eg.Wait(); err != nil { - pp.log.Error("Failed to query packet commitments", zap.Error(err)) + return fmt.Errorf("failed to query packet commitments: %w", err) } // From remaining packet commitments, determine if: // 1. Packet commitment is on source, but MsgRecvPacket has not yet been relayed to destination // 2. Packet commitment is on source, and MsgRecvPacket has been relayed to destination, but MsgAcknowledgement has not been written to source to clear the packet commitment. // Based on above conditions, enqueue MsgRecvPacket and MsgAcknowledgement messages + skipped := false for k, seqs := range commitments1 { - eg.Go(queuePendingRecvAndAcks(ctx, pp.pathEnd1, pp.pathEnd2, k, seqs, pathEnd1Cache.PacketFlow, pathEnd2Cache.PacketFlow, &pathEnd1CacheMu, &pathEnd2CacheMu)) + k := k + seqs := seqs + eg.Go(func() error { + done, err := pp.queuePendingRecvAndAcks(ctx, pp.pathEnd1, pp.pathEnd2, k, seqs, pathEnd1Cache.PacketFlow, pathEnd2Cache.PacketFlow, &pathEnd1CacheMu, &pathEnd2CacheMu) + if err != nil { + return err + } + if !done { + skipped = true + } + return nil + }) } for k, seqs := range commitments2 { - eg.Go(queuePendingRecvAndAcks(ctx, pp.pathEnd2, pp.pathEnd1, k, seqs, pathEnd2Cache.PacketFlow, pathEnd1Cache.PacketFlow, &pathEnd2CacheMu, &pathEnd1CacheMu)) + k := k + seqs := seqs + eg.Go(func() error { + done, err := pp.queuePendingRecvAndAcks(ctx, pp.pathEnd2, pp.pathEnd1, k, seqs, pathEnd2Cache.PacketFlow, pathEnd1Cache.PacketFlow, &pathEnd2CacheMu, &pathEnd1CacheMu) + if err != nil { + return err + } + if !done { + skipped = true + } + return nil + }) } if err := eg.Wait(); err != nil { - pp.log.Error("Failed to enqueue pending messages for flush", zap.Error(err)) + return fmt.Errorf("failed to enqueue pending messages for flush: %w", err) } pp.pathEnd1.mergeMessageCache(pathEnd1Cache, pp.pathEnd2.info.ChainID, pp.pathEnd2.inSync) pp.pathEnd2.mergeMessageCache(pathEnd2Cache, pp.pathEnd1.info.ChainID, pp.pathEnd1.inSync) + + if skipped { + return fmt.Errorf("flush was successful, but more packet sequences are still pending") + } + + return nil } // shouldTerminateForFlushComplete will determine if the relayer should exit diff --git a/relayer/processor/types.go b/relayer/processor/types.go index 3f4059b7b..d01e73205 100644 --- a/relayer/processor/types.go +++ b/relayer/processor/types.go @@ -322,6 +322,36 @@ func (c PacketMessagesCache) DeleteMessages(toDelete ...map[string][]uint64) { } } +// IsCached returns true if a sequence for a channel key and event type is already cached. +func (c ChannelPacketMessagesCache) IsCached(eventType string, k ChannelKey, sequence uint64) bool { + if _, ok := c[k]; !ok { + return false + } + if _, ok := c[k][eventType]; !ok { + return false + } + if _, ok := c[k][eventType][sequence]; !ok { + return false + } + return true +} + +// Cache stores packet info safely, generating intermediate maps along the way if necessary. +func (c ChannelPacketMessagesCache) Cache( + eventType string, + k ChannelKey, + sequence uint64, + packetInfo provider.PacketInfo, +) { + if _, ok := c[k]; !ok { + c[k] = make(PacketMessagesCache) + } + if _, ok := c[k][eventType]; !ok { + c[k][eventType] = make(PacketSequenceCache) + } + c[k][eventType][sequence] = packetInfo +} + // Merge merges another ChannelPacketMessagesCache into this one. func (c ChannelPacketMessagesCache) Merge(other ChannelPacketMessagesCache) { for channelKey, messageCache := range other { diff --git a/relayer/processor/types_internal.go b/relayer/processor/types_internal.go index d526ed70a..5bb403429 100644 --- a/relayer/processor/types_internal.go +++ b/relayer/processor/types_internal.go @@ -12,6 +12,11 @@ import ( "go.uber.org/zap/zapcore" ) +var _ zapcore.ObjectMarshaler = packetIBCMessage{} +var _ zapcore.ObjectMarshaler = channelIBCMessage{} +var _ zapcore.ObjectMarshaler = connectionIBCMessage{} +var _ zapcore.ObjectMarshaler = clientICQMessage{} + // pathEndMessages holds the different IBC messages that // will attempt to be sent to the pathEnd. type pathEndMessages struct { diff --git a/relayer/strategies.go b/relayer/strategies.go index 511f09905..047478938 100644 --- a/relayer/strategies.go +++ b/relayer/strategies.go @@ -27,6 +27,8 @@ const ( ProcessorLegacy = "legacy" DefaultClientUpdateThreshold = 0 * time.Millisecond DefaultFlushInterval = 5 * time.Minute + DefaultMaxMsgLength = 5 + TwoMB = 2 * 1024 * 1024 ) // StartRelayer starts the main relaying loop and returns a channel that will contain any control-flow related errors. @@ -35,7 +37,7 @@ func StartRelayer( log *zap.Logger, chains map[string]*Chain, paths []NamedPath, - maxTxSize, maxMsgLength uint64, + maxMsgLength uint64, memo string, clientUpdateThresholdTime time.Duration, flushInterval time.Duration, @@ -80,7 +82,6 @@ func StartRelayer( chainProcessors, ePaths, initialBlockHistory, - maxTxSize, maxMsgLength, memo, messageLifecycle, @@ -98,7 +99,7 @@ func StartRelayer( src, dst := chains[p.Src.ChainID], chains[p.Dst.ChainID] src.PathEnd = p.Src dst.PathEnd = p.Dst - go relayerStartLegacy(ctx, log, src, dst, p.Filter, maxTxSize, maxMsgLength, memo, errorChan) + go relayerStartLegacy(ctx, log, src, dst, p.Filter, TwoMB, maxMsgLength, memo, errorChan) return errorChan default: panic(fmt.Errorf("unexpected processor type: %s, supports one of: [%s, %s]", processorType, ProcessorEvents, ProcessorLegacy)) @@ -132,7 +133,6 @@ func relayerStartEventProcessor( chainProcessors []processor.ChainProcessor, paths []path, initialBlockHistory uint64, - maxTxSize, maxMsgLength uint64, memo string, messageLifecycle processor.MessageLifecycle, @@ -155,6 +155,7 @@ func relayerStartEventProcessor( memo, clientUpdateThresholdTime, flushInterval, + maxMsgLength, )) } From 736e48b31001b73280dcc732a94819f031fe6756 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Wed, 31 May 2023 22:46:38 +0800 Subject: [PATCH 04/58] Problem: fixes in ibc-go v7.0.1 are not included (#1205) * Problem: fixes in ibc-go v7.0.1 are not included * add change doc --- CHANGELOG.md | 1 + go.mod | 2 +- go.sum | 4 ++-- go.work.sum | 37 ++++++++++++++----------------------- 4 files changed, 18 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a98e3921..41ee0c40b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * [\#1177](https://github.com/cosmos/relayer/pull/1177) Avoid panic due to nil map when add new path and ensure path get written to config. * [\#1178](https://github.com/cosmos/relayer/pull/1178) Add max-gas-amount parameter in chain configs. * [\#1180](https://github.com/cosmos/relayer/pull/1180) Update SDK from v0.47.0 to v0.47.2. +* [\#1205](https://github.com/cosmos/relayer/pull/1205) Update ibc-go to v7.0.1. ## v0.9.3 diff --git a/go.mod b/go.mod index 16f05763e..3ae180cad 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/cosmos/cosmos-sdk v0.47.2 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.4.8 - github.com/cosmos/ibc-go/v7 v7.0.0 + github.com/cosmos/ibc-go/v7 v7.0.1 github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab github.com/ethereum/go-ethereum v1.10.26 github.com/gofrs/flock v0.8.1 diff --git a/go.sum b/go.sum index 3d1947395..fbfd6f99b 100644 --- a/go.sum +++ b/go.sum @@ -356,8 +356,8 @@ github.com/cosmos/gogoproto v1.4.8 h1:BrHKc6WFZt8+jRV71vKSQE+JrfF+JAnzrKo2VP7wIZ github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= -github.com/cosmos/ibc-go/v7 v7.0.0 h1:j4kyywlG0hhDmT9FmSaR5iCIka7Pz7kJTxGWY1nlV9Q= -github.com/cosmos/ibc-go/v7 v7.0.0/go.mod h1:BFh8nKWjr5zeR2OZfhkzdgDzj1+KjRn3aJLpwapStj8= +github.com/cosmos/ibc-go/v7 v7.0.1 h1:NIBNRWjlOoFvFQu1ZlgwkaSeHO5avf4C1YQiWegt8jw= +github.com/cosmos/ibc-go/v7 v7.0.1/go.mod h1:vEaapV6nuLPQlS+g8IKmxMo6auPi0i7HMv1PhViht/E= github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab h1:I9ialKTQo7248V827Bba4OuKPmk+FPzmTVHsLXaIJWw= github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab/go.mod h1:2CwqasX5dSD7Hbp/9b6lhK6BwoBDCBldx7gPKRukR60= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= diff --git a/go.work.sum b/go.work.sum index eff72b080..4d4ec2939 100644 --- a/go.work.sum +++ b/go.work.sum @@ -114,6 +114,7 @@ cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT cosmossdk.io/api v0.2.6/go.mod h1:u/d+GAxil0nWpl1XnQL8nkziQDIWuBDhv8VnDm/s6dI= cosmossdk.io/core v0.3.2/go.mod h1:CO7vbe+evrBvHc0setFHL/u7nlY7HJGzdRSBkT/sirc= cosmossdk.io/math v1.0.0-beta.4/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM= +cosmossdk.io/math v1.0.0-rc.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= @@ -168,25 +169,12 @@ github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkAp github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= -github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.23.0 h1:V2/ZgjfDFIygAX3ZapeigkVBoVUtOJKSwrhZdlpSvaA= -github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= -github.com/btcsuite/btcd v0.23.4 h1:IzV6qqkfwbItOS/sg/aDfPDsjPP8twrCOE2R93hxMlQ= -github.com/btcsuite/btcd v0.23.4/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= -github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= github.com/btcsuite/btcd/btcec/v2 v2.1.1/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= -github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= -github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= -github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= github.com/btcsuite/btcd/btcutil v1.1.1 h1:hDcDaXiP0uEzR8Biqo2weECKqEw0uHDZ9ixIWevVQqY= github.com/btcsuite/btcd/btcutil v1.1.1/go.mod h1:nbKlBMNm9FGsdvKvu0essceubPiAcI57pYBNnsLAa34= github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= -github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= -github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= -github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= -github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= @@ -242,21 +230,23 @@ github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFE github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32/go.mod h1:kwMlEC4wWvB48zAShGKVqboJL6w4zCLesaNQ3YLU2BQ= github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= +github.com/cosmos/cosmos-sdk v0.47.0/go.mod h1:FTtZbqiHCZ2vun9WrPq6qLQafNKkAuIhLAxzLjr2TiI= github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= github.com/cosmos/gogoproto v1.4.4/go.mod h1:/yl6/nLwsZcZ2JY3OrqjRqvqCG9InUMcXRfRjQiF9DU= +github.com/cosmos/ibc-go/v7 v7.0.1 h1:NIBNRWjlOoFvFQu1ZlgwkaSeHO5avf4C1YQiWegt8jw= +github.com/cosmos/ibc-go/v7 v7.0.1/go.mod h1:vEaapV6nuLPQlS+g8IKmxMo6auPi0i7HMv1PhViht/E= github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= @@ -287,6 +277,7 @@ github.com/getsentry/sentry-go v0.17.0/go.mod h1:B82dxtBvxG0KaPD8/hfSV+VcHD+Lg/x github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= @@ -311,6 +302,9 @@ github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AE github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= @@ -323,6 +317,7 @@ github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslW github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= @@ -399,7 +394,6 @@ github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrO github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= @@ -448,6 +442,7 @@ github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awS github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/linxGnu/grocksdb v1.7.10/go.mod h1:0hTf+iA+GOr0jDX4CgIYyJZxqOH9XlBh6KVj8+zmF34= @@ -511,9 +506,7 @@ github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/ github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= @@ -563,6 +556,7 @@ github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:r github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= @@ -612,7 +606,6 @@ github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= @@ -706,6 +699,7 @@ golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= @@ -720,6 +714,7 @@ golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2F golang.org/x/exp v0.0.0-20221019170559-20944726eadf/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= golang.org/x/exp v0.0.0-20221205204356-47842c84f3db/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= @@ -727,10 +722,8 @@ golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -755,8 +748,6 @@ golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= From de95076ff607789ec325d70cb974a9dfb0176085 Mon Sep 17 00:00:00 2001 From: Cosmos-Harry <110472914+Cosmos-Harry@users.noreply.github.com> Date: Thu, 1 Jun 2023 00:45:45 -0400 Subject: [PATCH 05/58] Harry/rly address (#1204) * added addresCmd to root and keys.go * nicks * nick * made a common method "showAddressByChainAndKey" to be used by both addressCmd and keysShowCmd --------- Co-authored-by: Harry Co-authored-by: Andrew Gouin --- cmd/keys.go | 104 +++++++++++++++++++++++++++++++--------------------- cmd/root.go | 1 + 2 files changed, 63 insertions(+), 42 deletions(-) diff --git a/cmd/keys.go b/cmd/keys.go index aa915d065..0ddd447d4 100644 --- a/cmd/keys.go +++ b/cmd/keys.go @@ -48,8 +48,8 @@ func keysCmd(a *appState) *cobra.Command { keysRestoreCmd(a), keysDeleteCmd(a), keysListCmd(a), - keysShowCmd(a), keysExportCmd(a), + keysShowCmd(a), ) return cmd @@ -289,47 +289,6 @@ $ %s k l ibc-1`, appName, appName)), return cmd } -// keysShowCmd respresents the `keys show` command -func keysShowCmd(a *appState) *cobra.Command { - cmd := &cobra.Command{ - Use: "show chain_name [key_name]", - Aliases: []string{"s"}, - Short: "Shows a key from the keychain associated with a particular chain", - Args: withUsage(cobra.RangeArgs(1, 2)), - Example: strings.TrimSpace(fmt.Sprintf(` -$ %s keys show ibc-0 -$ %s keys show ibc-1 key2 -$ %s k s ibc-2 testkey`, appName, appName, appName)), - RunE: func(cmd *cobra.Command, args []string) error { - chain, ok := a.config.Chains[args[0]] - if !ok { - return errChainNotFound(args[0]) - } - - var keyName string - if len(args) == 2 { - keyName = args[1] - } else { - keyName = chain.ChainProvider.Key() - } - - if !chain.ChainProvider.KeyExists(keyName) { - return errKeyDoesntExist(keyName) - } - - address, err := chain.ChainProvider.ShowAddress(keyName) - if err != nil { - return err - } - - fmt.Fprintln(cmd.OutOrStdout(), address) - return nil - }, - } - - return cmd -} - // keysExportCmd respresents the `keys export` command func keysExportCmd(a *appState) *cobra.Command { cmd := &cobra.Command{ @@ -363,3 +322,64 @@ $ %s k e cosmoshub testkey`, appName, appName)), return cmd } + +// ShowAddressByChainAndKey represents the logic for showing relayer address by chain_name and key_name +func (a *appState) showAddressByChainAndKey(cmd *cobra.Command, args []string) error { + chain, ok := a.config.Chains[args[0]] + if !ok { + return errChainNotFound(args[0]) + } + + var keyName string + if len(args) == 2 { + keyName = args[1] + } else { + keyName = chain.ChainProvider.Key() + } + + if !chain.ChainProvider.KeyExists(keyName) { + return errKeyDoesntExist(keyName) + } + + address, err := chain.ChainProvider.ShowAddress(keyName) + if err != nil { + return err + } + + fmt.Fprintln(cmd.OutOrStdout(), address) + return nil +} + +// keysShowCmd respresents the `keys show` command +func keysShowCmd(a *appState) *cobra.Command { + cmd := &cobra.Command{ + Use: "show chain_name [key_name]", + Aliases: []string{"s"}, + Short: "Shows a key from the keychain associated with a particular chain", + Args: withUsage(cobra.RangeArgs(1, 2)), + Example: strings.TrimSpace(fmt.Sprintf(` +$ %s keys show ibc-0 +$ %s keys show ibc-1 key2 +$ %s k s ibc-2 testkey`, appName, appName, appName)), + RunE: a.showAddressByChainAndKey, + } + + return cmd +} + +// addressCmd represents the address of a relayer +func addressCmd(a *appState) *cobra.Command { + cmd := &cobra.Command{ + Use: "address chain_name [key_name]", + Aliases: []string{"a"}, + Short: "Shows the address of a relayer", + Args: withUsage(cobra.RangeArgs(1, 2)), + Example: strings.TrimSpace(fmt.Sprintf(` +$ %s address ibc-0 +$ %s address ibc-1 key2 +$ %s a ibc-2 testkey`, appName, appName, appName)), + RunE: a.showAddressByChainAndKey, + } + + return cmd +} diff --git a/cmd/root.go b/cmd/root.go index eb8367409..1a6cfc3d3 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -120,6 +120,7 @@ func NewRootCmd(log *zap.Logger) *cobra.Command { startCmd(a), lineBreakCommand(), getVersionCmd(a), + addressCmd(a), ) return rootCmd From e95dd80608536c31d37354bdd7f7ec46a2172009 Mon Sep 17 00:00:00 2001 From: Justin Tieri <37750742+jtieri@users.noreply.github.com> Date: Wed, 7 Jun 2023 13:56:16 -0500 Subject: [PATCH 06/58] deps: update to ibc-go v7.1.0-rc0 (#1207) --- go.mod | 6 +- go.sum | 23 +- go.work.sum | 791 ++++++++++++++++++++- relayer/chains/cosmos/module/app_module.go | 3 +- 4 files changed, 805 insertions(+), 18 deletions(-) diff --git a/go.mod b/go.mod index 3ae180cad..cfa4ade5c 100644 --- a/go.mod +++ b/go.mod @@ -14,8 +14,8 @@ require ( github.com/cosmos/cosmos-sdk v0.47.2 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.4.8 - github.com/cosmos/ibc-go/v7 v7.0.1 - github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab + github.com/cosmos/ibc-go/v7 v7.1.0-rc0 + github.com/cosmos/ics23/go v0.10.0 github.com/ethereum/go-ethereum v1.10.26 github.com/gofrs/flock v0.8.1 github.com/gogo/protobuf v1.3.2 @@ -165,7 +165,7 @@ require ( go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect - golang.org/x/crypto v0.7.0 // indirect + golang.org/x/crypto v0.8.0 // indirect golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect golang.org/x/net v0.9.0 // indirect golang.org/x/oauth2 v0.5.0 // indirect diff --git a/go.sum b/go.sum index fbfd6f99b..a7ed4def2 100644 --- a/go.sum +++ b/go.sum @@ -356,10 +356,10 @@ github.com/cosmos/gogoproto v1.4.8 h1:BrHKc6WFZt8+jRV71vKSQE+JrfF+JAnzrKo2VP7wIZ github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= -github.com/cosmos/ibc-go/v7 v7.0.1 h1:NIBNRWjlOoFvFQu1ZlgwkaSeHO5avf4C1YQiWegt8jw= -github.com/cosmos/ibc-go/v7 v7.0.1/go.mod h1:vEaapV6nuLPQlS+g8IKmxMo6auPi0i7HMv1PhViht/E= -github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab h1:I9ialKTQo7248V827Bba4OuKPmk+FPzmTVHsLXaIJWw= -github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab/go.mod h1:2CwqasX5dSD7Hbp/9b6lhK6BwoBDCBldx7gPKRukR60= +github.com/cosmos/ibc-go/v7 v7.1.0-rc0 h1:b78+/74AJDp0Sc7utMO1l4nI/u4ERnyta1nqooqQrGI= +github.com/cosmos/ibc-go/v7 v7.1.0-rc0/go.mod h1:7MptlWeIyqmDiuJeRAFqBvXKY8Hybd+rF8vMSmGd2zg= +github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= +github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= @@ -439,8 +439,8 @@ github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbS github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -460,10 +460,10 @@ github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -474,7 +474,6 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= @@ -738,8 +737,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= @@ -994,8 +993,8 @@ github.com/tyler-smith/go-bip39 v1.1.0/go.mod h1:gUYDtqQw1JS3ZJ8UWVcGTGqqr6YIN3C github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -1060,8 +1059,8 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= diff --git a/go.work.sum b/go.work.sum index 4d4ec2939..ddbf0b26a 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,293 +1,641 @@ +4d63.com/gochecknoglobals v0.1.0 h1:zeZSRqj5yCg28tCkIV/z/lWbwvNm5qnKVS15PI8nhD0= 4d63.com/gochecknoglobals v0.1.0/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512 h1:SRsZGA7aFnCZETmov57jwPrWuTmaZK6+4R4v5FUe1/c= bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go/accessapproval v1.5.0 h1:/nTivgnV/n1CaAeo+ekGexTYUsKEU9jUVkoY5359+3Q= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accesscontextmanager v1.4.0 h1:CFhNhU7pcD11cuDkQdrE6PQJgv0EXNKNv06jIzbLlCU= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/aiplatform v1.27.0 h1:DBi3Jk9XjCJ4pkkLM4NqKgj3ozUL1wq4l+d3/jTGXAI= cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/analytics v0.12.0 h1:NKw6PpQi6V1O+KsjuTd+bhip9d0REYu4NevC45vtGp8= +cloud.google.com/go/apigateway v1.4.0 h1:IIoXKR7FKrEAQhMTz5hK2wiDz2WNFHS7eVr/L1lE/rM= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigeeconnect v1.4.0 h1:AONoTYJviyv1vS4IkvWzq69gEVdvHx35wKXc+e6wjZQ= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeregistry v0.4.0 h1:Av+wedLP6pM8NsLruknv/RFCE/5VVavOhZ8j722vBxg= cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apikeys v0.4.0 h1:d+t1B9U1Ze3LmiRYdSVhNrcRlU6coLvPzNDkqYVuHoc= cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/appengine v1.5.0 h1:lmG+O5oaR9xNwaRBwE2XoMhwQHsHql5IoiGr1ptdDwU= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/area120 v0.6.0 h1:TCMhwWEWhCn8d44/Zs7UCICTWje9j3HuV6nVGMjdpYw= +cloud.google.com/go/artifactregistry v1.9.0 h1:3d0LRAU1K6vfqCahhl9fx2oGHcq+s5gftdix4v8Ibrc= cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/asset v1.10.0 h1:aCrlaLGJWTODJX4G56ZYzJefITKEWNfbjjtHSzWpxW0= cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/assuredworkloads v1.9.0 h1:hhIdCOowsT1GG5eMCIA0OwK6USRuYTou/1ZeNxCSRtA= cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/automl v1.8.0 h1:BMioyXSbg7d7xLibn47cs0elW6RT780IUWr42W8rp2Q= cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/baremetalsolution v0.4.0 h1:g9KO6SkakcYPcc/XjAzeuUrEOXlYPnMpuiaywYaGrmQ= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/batch v0.4.0 h1:1jvEBY55OH4Sd2FxEXQfxGExFWov1A/IaRe+Z5Z71Fw= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/beyondcorp v0.3.0 h1:w+4kThysgl0JiKshi2MKDCg2NZgOyqOI0wq2eBZyrzA= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/bigquery v1.44.0 h1:Wi4dITi+cf9VYp4VH2T9O41w0kCW0uQTELq2Z6tukN0= cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/billing v1.7.0 h1:Xkii76HWELHwBtkQVZvqmSo9GTr0O+tIbRNnMcGdlg4= cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/binaryauthorization v1.4.0 h1:pL70vXWn9TitQYXBWTK2abHl2JHLwkFRjYw6VflRqEA= cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/certificatemanager v1.4.0 h1:tzbR4UHBbgsewMWUD93JHi8EBi/gHBoSAcY1/sThFGk= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/channel v1.9.0 h1:pNuUlZx0Jb0Ts9P312bmNMuH5IiFWIR4RUtLb70Ke5s= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/cloudbuild v1.4.0 h1:TAAmCmAlOJ4uNBu6zwAjwhyl/7fLHHxIEazVhr3QBbQ= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/clouddms v1.4.0 h1:UhzHIlgFfMr6luVYVNydw/pl9/U5kgtjCMJHnSvoVws= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/cloudtasks v1.8.0 h1:faUiUgXjW8yVZ7XMnKHKm1WE4OldPBUWWfIRN/3z1dc= cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/contactcenterinsights v1.4.0 h1:tTQLI/ZvguUf9Hv+36BkG2+/PeC8Ol1q4pBW+tgCx0A= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/container v1.7.0 h1:nbEK/59GyDRKKlo1SqpohY1TK8LmJ2XNcvS9Gyom2A0= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/containeranalysis v0.6.0 h1:2824iym832ljKdVpCBnpqm5K94YT/uHTVhNF+dRTXPI= +cloud.google.com/go/datacatalog v1.8.0 h1:6kZ4RIOW/uT7QWC5SfPfq/G8sYzr/v+UOmOAxy4Z1TE= cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/dataflow v0.7.0 h1:CW3541Fm7KPTyZjJdnX6NtaGXYFn5XbFC5UcjgALKvU= +cloud.google.com/go/dataform v0.5.0 h1:vLwowLF2ZB5J5gqiZCzv076lDI/Rd7zYQQFu5XO1PSg= cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/datafusion v1.5.0 h1:j5m2hjWovTZDTQak4MJeXAR9yN7O+zMfULnjGw/OOLg= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datalabeling v0.6.0 h1:dp8jOF21n/7jwgo/uuA0RN8hvLcKO4q6s/yvwevs2ZM= +cloud.google.com/go/dataplex v1.4.0 h1:cNxeA2DiWliQGi21kPRqnVeQ5xFhNoEjPRt1400Pm8Y= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataproc v1.8.0 h1:gVOqNmElfa6n/ccG/QDlfurMWwrK3ezvy2b2eDoCmS0= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataqna v0.6.0 h1:gx9jr41ytcA3dXkbbd409euEaWtofCVXYBvJz3iYm18= +cloud.google.com/go/datastore v1.10.0 h1:4siQRf4zTiAVt/oeH4GureGkApgb2vtPQAtOmhpqQwE= cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastream v1.5.0 h1:PgIgbhedBtYBU6POGXFMn2uSl9vpqubc3ewTNdcU8Mk= cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/deploy v1.5.0 h1:kI6dxt8Ml0is/x7YZjLveTvR7YPzXAUD/8wQZ2nH5zA= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/dialogflow v1.29.0 h1:Opy6fM2IV9ecQOXkce0JByjBVg8+4X+1AbTAQLbgrCg= cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dlp v1.7.0 h1:9I4BYeJSVKoSKgjr70fLdRDumqcUeVmHV4fd5f9LR6Y= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/documentai v1.10.0 h1:jfq09Fdjtnpnmt/MLyf6A3DM3ynb8B2na0K+vSXvpFM= cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/domains v0.7.0 h1:pu3JIgC1rswIqi5romW0JgNO6CTUydLYX8zyjiAvO1c= +cloud.google.com/go/edgecontainer v0.2.0 h1:hd6J2n5dBBRuAqnNUEsKWrp6XNPKsaxwwIyzOPZTokk= +cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.4.0 h1:b6csrQXCHKQmfo9h3dG/pHyoEh+fQG1Yg78a53LAviY= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/eventarc v1.8.0 h1:AgCqrmMMIcel5WWKkzz5EkCUKC3Rl5LNMMYsS+LvsI0= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/filestore v1.4.0 h1:yjKOpzvqtDmL5AXbKttLc8j0hL20kuC1qPdy5HPcxp0= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.9.0 h1:IBlRyxgGySXu5VuW0RgGFlTtLukSnNkpDiEOMkQkmpA= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/functions v1.9.0 h1:35tgv1fQOtvKqH/uxJMzX3w6usneJ0zXpsFr9KAVhNE= cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/gaming v1.8.0 h1:97OAEQtDazAJD7yh/kvQdSCQuTKdR0O+qWAJBZJ4xiA= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gkebackup v0.3.0 h1:4K+jiv4ocqt1niN8q5Imd8imRoXBHTrdnJVt/uFFxF4= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkeconnect v0.6.0 h1:zAcvDa04tTnGdu6TEZewaLN2tdMtUOJJ7fEceULjguA= +cloud.google.com/go/gkehub v0.10.0 h1:JTcTaYQRGsVm+qkah7WzHb6e9sf1C0laYdRPn9aN+vg= +cloud.google.com/go/gkemulticloud v0.4.0 h1:8F1NhJj8ucNj7lK51UZMtAjSWTgP1zO18XF6vkfiPPU= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/grafeas v0.2.0 h1:CYjC+xzdPvbV65gi6Dr4YowKcmLo045pm18L0DhdELM= +cloud.google.com/go/gsuiteaddons v1.4.0 h1:TGT2oGmO5q3VH6SjcrlgPUWI0njhYv4kywLm6jag0to= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iap v1.5.0 h1:BGEXovwejOCt1zDk8hXq0bOhhRu9haXKWXXXp2B4wBM= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/ids v1.2.0 h1:LncHK4HHucb5Du310X8XH9/ICtMwZ2PCfK0ScjWiJoY= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/iot v1.4.0 h1:Y9+oZT9jD4GUZzORXTU45XsnQrhxmDT+TFbPil6pRVQ= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/kms v1.6.0 h1:OWRZzrPmOZUzurjI2FBGtgY2mB1WaJkqhw6oIwSj0Yg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/language v1.8.0 h1:3Wa+IUMamL4JH3Zd3cDZUHpwyqplTACt6UZKRD2eCL4= cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/lifesciences v0.6.0 h1:tIqhivE2LMVYkX0BLgG7xL64oNpDaFFI7teunglt1tI= +cloud.google.com/go/logging v1.6.1 h1:ZBsZK+JG+oCDT+vaxwqF2egKNRjz8soXiS6Xv79benI= cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/managedidentities v1.4.0 h1:3Kdajn6X25yWQFhFCErmKSYTSvkEd3chJROny//F1A0= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/maps v0.1.0 h1:kLReRbclTgJefw2fcCbdLPLhPj0U6UUWN10ldG8sdOU= cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/mediatranslation v0.6.0 h1:qAJzpxmEX+SeND10Y/4868L5wfZpo4Y3BIEnIieP4dk= +cloud.google.com/go/memcache v1.7.0 h1:yLxUzJkZVSH2kPaHut7k+7sbIBFpvSh1LW9qjM2JDjA= cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/metastore v1.8.0 h1:3KcShzqWdqxrDEXIBWpYJpOOrgpDj+HlBi07Grot49Y= cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/monitoring v1.8.0 h1:c9riaGSPQ4dUKWB+M1Fl0N+iLxstMbCktdEwYSPGDvA= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/networkconnectivity v1.7.0 h1:BVdIKaI68bihnXGdCVL89Jsg9kq2kg+II30fjVqo62E= cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkmanagement v1.5.0 h1:mDHA3CDW00imTvC5RW6aMGsD1bH+FtKwZm/52BxaiMg= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networksecurity v0.6.0 h1:qDEX/3sipg9dS5JYsAY+YvgTjPR63cozzAWop8oZS94= +cloud.google.com/go/notebooks v1.5.0 h1:AC8RPjNvel3ExgXjO1YOAz+teg9+j+89TNxa7pIZfww= cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/optimization v1.2.0 h1:7PxOq9VTT7TMib/6dMoWpMvWS2E4dJEvtYzjvBreaec= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/orchestration v1.4.0 h1:39d6tqvNjd/wsSub1Bn4cEmrYcet5Ur6xpaN+SxOxtY= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orgpolicy v1.5.0 h1:erF5PHqDZb6FeFrUHiYj2JK2BMhsk8CyAg4V4amJ3rE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/osconfig v1.10.0 h1:NO0RouqCOM7M2S85Eal6urMSSipWwHU8evzwS+siqUI= cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/oslogin v1.7.0 h1:pKGDPfeZHDybtw48WsnVLjoIPMi9Kw62kUE5TXCLCN4= cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/phishingprotection v0.6.0 h1:OrwHLSRSZyaiOt3tnY33dsKSedxbMzsXvqB21okItNQ= +cloud.google.com/go/policytroubleshooter v1.4.0 h1:NQklJuOUoz1BPP+Epjw81COx7IISWslkZubz/1i0UN8= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/privatecatalog v0.6.0 h1:Vz86uiHCtNGm1DeC32HeG2VXmOq5JRYA3VRPf8ZEcSg= +cloud.google.com/go/pubsub v1.27.1 h1:q+J/Nfr6Qx4RQeu3rJcnN48SNC0qzlYzSeqkPq93VHs= cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsublite v1.5.0 h1:iqrD8vp3giTb7hI1q4TQQGj77cj8zzgmMPsTZtLnprM= cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0 h1:UqzFfb/WvhwXGDF1eQtdHLrmni+iByZXY4h3w9Kdyv8= cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recommendationengine v0.6.0 h1:6w+WxPf2LmUEqX0YyvfCoYb8aBYOcbIV25Vg6R0FLGw= +cloud.google.com/go/recommender v1.8.0 h1:9kMZQGeYfcOD/RtZfcNKGKtoex3DdoB4zRgYU/WaIwE= cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/redis v1.10.0 h1:/zTwwBKIAD2DEWTrXZp8WD9yD/gntReF/HkPssVYd0U= cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/resourcemanager v1.4.0 h1:NDao6CHMwEZIaNsdWy+tuvHaavNeGP06o1tgrR0kLvU= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcesettings v1.4.0 h1:eTzOwB13WrfF0kuzG2ZXCfB3TLunSHBur4s+HFU6uSM= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/retail v1.11.0 h1:N9fa//ecFUOEPsW/6mJHfcapPV0wBSwIUwpVZB7MQ3o= cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/run v0.3.0 h1:AWPuzU7Xtaj3Jf+QarDWIs6AJ5hM1VFQ+F6Q+VZ6OT4= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/scheduler v1.7.0 h1:K/mxOewgHGeKuATUJNGylT75Mhtjmx1TOkKukATqMT8= cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/secretmanager v1.9.0 h1:xE6uXljAC1kCR8iadt9+/blg1fvSbmenlsDN4fT9gqw= cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/security v1.10.0 h1:KSKzzJMyUoMRQzcz7azIgqAUqxo7rmQ5rYvimMhikqg= cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/securitycenter v1.16.0 h1:QTVtk/Reqnx2bVIZtJKm1+mpfmwRwymmNvlaFez7fQY= cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/servicecontrol v1.5.0 h1:ImIzbOu6y4jL6ob65I++QzvqgFaoAKgHOG+RU9/c4y8= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicedirectory v1.7.0 h1:f7M8IMcVzO3T425AqlZbP3yLzeipsBHtRza8vVFYMhQ= cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicemanagement v1.5.0 h1:TpkCO5M7dhKSy1bKUD9o/sSEW/U1Gtx7opA1fsiMx0c= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/serviceusage v1.4.0 h1:b0EwJxPJLpavSljMQh0RcdHsUrr5DQ+Nelt/3BAs5ro= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/shell v1.4.0 h1:b1LFhFBgKsG252inyhtmsUUZwchqSz3WTvAIf3JFo4g= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/spanner v1.41.0 h1:NvdTpRwf7DTegbfFdPjAWyD7bOVu0VeMqcvR9aCQCAc= cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/speech v1.9.0 h1:yK0ocnFH4Wsf0cMdUyndJQ/hPv02oTJOxzi6AgpBy4s= cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storagetransfer v1.6.0 h1:fUe3OydbbvHcAYp07xY+2UpH4AermGbmnm7qdEj3tGE= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/talent v1.4.0 h1:MrekAGxLqAeAol4Sc0allOVqUGO8j+Iim8NMvpiD7tM= cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/texttospeech v1.5.0 h1:ccPiHgTewxgyAeCWgQWvZvrLmbfQSFABTMAfrSPLPyY= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/tpu v1.4.0 h1:ztIdKoma1Xob2qm6QwNh4Xi9/e7N3IfvtwG5AcNsj1g= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/trace v1.4.0 h1:qO9eLn2esajC9sxpqp1YKX37nXC3L4BfGnPS0Cx9dYo= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/translate v1.4.0 h1:AOYOH3MspzJ/bH1YXzB+xTE8fMpn3mwhLjugwGXvMPI= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/video v1.9.0 h1:ttlvO4J5c1VGq6FkHqWPD/aH6PfdxujHt+muTJlW1Zk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/videointelligence v1.9.0 h1:RPFgVVXbI2b5vnrciZjtsUgpNKVtHO/WIyXUhEfuMhA= cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= +cloud.google.com/go/vision/v2 v2.5.0 h1:TQHxRqvLMi19azwm3qYuDbEzZWmiKJNTpGbkNsfRCik= cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vmmigration v1.3.0 h1:A2Tl2ZmwMRpvEmhV2ibISY85fmQR+Y5w9a0PlRz5P3s= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmwareengine v0.1.0 h1:JMPZaOT/gIUxVlTqSl/QQ32Y2k+r0stNeM1NSqhVP9o= cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vpcaccess v1.5.0 h1:woHXXtnW8b9gLFdWO9HLPalAddBQ9V4LT+1vjKwR3W8= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/webrisk v1.7.0 h1:ypSnpGlJnZSXbN9a13PDmAYvVekBLnGKxQ3Q9SMwnYY= cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/websecurityscanner v1.4.0 h1:y7yIFg/h/mO+5Y5aCOtVAnpGUOgqCH5rXQ2Oc8Oq2+g= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/workflows v1.9.0 h1:7Chpin9p50NTU8Tb7qk+I11U/IwVXmDhEoSsdccvInE= cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= cosmossdk.io/api v0.2.6/go.mod h1:u/d+GAxil0nWpl1XnQL8nkziQDIWuBDhv8VnDm/s6dI= cosmossdk.io/core v0.3.2/go.mod h1:CO7vbe+evrBvHc0setFHL/u7nlY7HJGzdRSBkT/sirc= cosmossdk.io/math v1.0.0-beta.4/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM= cosmossdk.io/math v1.0.0-rc.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff h1:P1ialzTepD1oxdNPYc5N8Eggq3RdejZq3cJs8YYMs9Y= +cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff/go.mod h1:AKzx6Mb544LjJ9RHmGFHjY9rEOLiUAi8I0F727TR0dY= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= +github.com/Abirdcfly/dupword v0.0.7 h1:z14n0yytA3wNO2gpCD/jVtp/acEXPGmYu0esewpBt6Q= github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8 h1:V8krnnfGj4pV65YLUm3C0/8bl7V5Nry2Pwvy3ru/wLc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= +github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M= +github.com/Antonboom/errname v0.1.7 h1:mBBDKvEYwPl4WFFNwec1CZO096G6vzK9vvDQzAwkako= github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= +github.com/Antonboom/nilnil v0.1.1 h1:PHhrh5ANKFWRBh7TdYmyyq2gyT2lotnvFvvFbylF81Q= github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible h1:KnPIugL51v3N3WwvaSmZbxukD1WuWXOiE9fRdu32f2I= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1 h1:qoVeMsc9/fh/yhxVaA0obYjVH/oI/ihrOoMwsLS9KSA= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3 h1:E+m3SkZCN0Bf5q7YdTs5lSm2CYY3CK4spn5OmUIiQtk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 h1:Px2UA+2RvSSvv+RvJNuUB6n7rs5Wsel4dXLe90Um2n4= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest/adal v0.9.13 h1:Mp5hbtOePIzM8pJVRa3YLrWWmZtoxRXqUEzCfJt3+/Q= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= +github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= +github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= +github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= +github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3 h1:4FA+QBaydEHlwxg0lMN3rhwoDaQy6LKhVWR4qvq4BuA= +github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= +github.com/OpenPeeDeeP/depguard v1.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= +github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= +github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s= +github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= +github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= +github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= +github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af h1:wVe6/Ea46ZMeNkQjjBW6xcqyQA/j5e0D6GytH95g0gQ= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= +github.com/alexflint/go-filemutex v1.1.0 h1:IAWuUuRYL2hETx5b8vCgwnD+xSdlsTQY6s2JjBsqLdg= github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= +github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= +github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= +github.com/apache/thrift v0.13.0 h1:5hryIiq9gtn+MiLVn0wP37kb/uTeRZgN08WoCsAhIhI= +github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2 h1:7Ip0wMmLHLRJdrloDxZfhMm0xrLXZS8+COSu2bXmEQs= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a h1:pv34s756C4pEXnjgPfGYgdhg/ZdajGhyOvzx8k+23nw= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= +github.com/ashanbrown/forbidigo v1.3.0 h1:VkYIwb/xxdireGAdJNZoo24O4lmnEWkactplBlWTShc= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= +github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/aws/aws-lambda-go v1.13.3 h1:SuCy7H3NLyp+1Mrfp+m80jcbi9KYWAs9/BXwppwRDzY= +github.com/aws/aws-sdk-go-v2 v1.9.1 h1:ZbovGV/qo40nrOJ4q8G33AGICzaPI45FHQWJ9650pF4= +github.com/aws/aws-sdk-go-v2/config v1.1.1 h1:ZAoq32boMzcaTW9bcUacBswAmHTbvlvDJICgHFZuECo= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1 h1:NbvWIM1Mx6sNPTxowHgS2ewXCRp+NGTzUYb/96FZJbY= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2 h1:EtEU7WRaWliitZh2nmuxEXrN0Cb8EgPUFGIoTMeqbzI= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1 h1:w/fPGB0t5rWwA43mux4e9ozFSH5zF1moQemlA131PWc= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2 h1:4AH9fFjUlVktQMznF+YN33aWNXaR4VgDXyP28qokJC0= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1 h1:cKr6St+CtC3/dl/rEBJvlk7A/IN5D5F02GNkGzfbtVU= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1 h1:37QubsarExl5ZuCBlnRP+7l1tNwZPBSTqpTBrPH98RU= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1 h1:TJoIfnIFubCX0ACVeJ0w46HEH5MwjwYN4iFhuYIhfIY= +github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= +github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= +github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= +github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= +github.com/bombsimon/wsl/v3 v3.3.0 h1:Mka/+kRLoQJq7g2rggtgQsjuI/K5Efd87WX96EWFxjM= github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= +github.com/bradleyfalzon/ghinstallation/v2 v2.0.4 h1:tXKVfhE7FcSkhkv0UwkLvPDeZ4kz6OXd0PKPlFqf81M= +github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI= github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= +github.com/breml/errchkjson v0.3.0 h1:YdDqhfqMT+I1vIxPSas44P+9Z9HzJwCeAzjB8PxP1xw= github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1 h1:pgAtgj+A31JBVtEHu2uHuEx0n+2ukqUJnS2vVe5pQNA= github.com/btcsuite/btcd v0.23.0 h1:V2/ZgjfDFIygAX3ZapeigkVBoVUtOJKSwrhZdlpSvaA= github.com/btcsuite/btcd/btcec/v2 v2.1.1/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= github.com/btcsuite/btcd/btcutil v1.1.1 h1:hDcDaXiP0uEzR8Biqo2weECKqEw0uHDZ9ixIWevVQqY= github.com/btcsuite/btcd/btcutil v1.1.1/go.mod h1:nbKlBMNm9FGsdvKvu0essceubPiAcI57pYBNnsLAa34= github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= +github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= +github.com/btcsuite/goleveldb v1.0.0 h1:Tvd0BfvqX9o823q1j2UZ/epQo09eJh6dTcRp79ilIN4= +github.com/btcsuite/snappy-go v1.0.0 h1:ZxaA6lo2EpxGddsA8JwWOcxlzRybb444sgmeJQMJGQE= +github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= +github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk= +github.com/bufbuild/buf v1.7.0 h1:uWRjhIXcrWkzIkA5TqXGyJbF51VW54QJsQZ3nwaes5Q= github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= +github.com/bufbuild/connect-go v1.0.0 h1:htSflKUT8y1jxhoPhPYTZMrsY3ipUXjjrbcZR5O2cVo= github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= +github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd h1:rFt+Y/IK1aEZkEHchZRSq9OQbsSzIT/OrI8YFFmRIng= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o= +github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= +github.com/bwesterb/go-ristretto v1.2.0 h1:xxWOVbN5m8NNKiSDZXE1jtZvZnC6JSJ9cYFADiZcWtw= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/casbin/casbin/v2 v2.37.0 h1:/poEwPSovi4bTOcP752/CsTQiRz2xycyVKFG7GUhbDw= github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy6EEutYk= github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= +github.com/chavacava/garif v0.0.0-20220630083739-93517212f375 h1:E7LT642ysztPWE0dfz43cWOvMiF42DyTRC+eZIaO4yI= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= +github.com/checkpoint-restore/go-criu/v4 v4.1.0 h1:WW2B2uxx9KWF6bGlHqhm8Okiafwwx7Y2kcpn8lCpjgo= +github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8= +github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= +github.com/cheggaaa/pb v1.0.27 h1:wIkZHkNfC7R6GI5w7l/PdAdzXzlrbcI3p8OAlnkTsnc= +github.com/cilium/ebpf v0.7.0 h1:1k/q3ATgxSXRdrmPfH8d7YK0GfqVsEKZAX9dQZvs56k= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= +github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= +github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec h1:EdRZT3IeKQmfCSrgo8SZ8V3MEnskuJP0wCYNpe+aiXo= +github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= +github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cloudflare/cloudflare-go v0.14.0 h1:gFqGlGl/5f9UGXAaKapCGUfaTCgRKKnzu2VvzMZlOFA= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b h1:ACGZRIr7HsgBKHsueQ1yM4WaVaXh21ynwqsF8M8tXhA= github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5 h1:xD/lrqdvwsc+O2bjSSi3YqY73Ke3LAiSCx49aCesA0E= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM= github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= +github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8= github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 h1:qbb/AE938DFhOajUYh9+OXELpSF9KZw2ZivtmW6eX1Q= github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677/go.mod h1:890yq1fUb9b6dGNwssgeUO5vQV9qfXnCPxAJhBQfXw0= github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f h1:C43yEtQ6NIf4ftFXD/V55gnGFgPbMQobd//YlnLjUJ8= +github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= +github.com/containerd/btrfs v1.0.0 h1:osn1exbzdub9L5SouXO5swW4ea/xVdJZ3wokxN5GrnA= github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= +github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= +github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= +github.com/containerd/fuse-overlayfs-snapshotter v1.0.2 h1:Xy9Tkx0tk/SsMfLDFc69wzqSrxQHYEFELHBO/Z8XO3M= github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.6 h1:el5WPymG5nRRLQF1EfB97FWob4Tdc8INg8RZMaXWZlo= github.com/containerd/go-cni v1.1.6/go.mod h1:BWtoWl5ghVymxu6MBjg79W9NZrCRyHIdUtk4cauMe34= +github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/imgcrypt v1.1.4 h1:iKTstFebwy3Ak5UF0RHSeuCTahC5OIrPJa6vjMAM81s= github.com/containerd/imgcrypt v1.1.4/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO8j/tSUpgxvo= +github.com/containerd/nri v0.1.0 h1:6QioHRlThlKh2RkRTR4kIT3PKAcrLo3gIWnjkM4dQmQ= +github.com/containerd/stargz-snapshotter v0.11.3 h1:D3PoF563XmOBdtfx2G6AkhbHueqwIVPBFn2mrsWLa3w= +github.com/containerd/stargz-snapshotter/estargz v0.11.3 h1:k2kN16Px6LYuv++qFqK+JTcYqc8bEVxzGpf8/gFBL5M= +github.com/containerd/ttrpc v1.1.0 h1:GbtyLRxb0gOLR0TYQWt3O6B0NvT8tMdorEHqIQo/lWI= +github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= +github.com/containerd/zfs v1.0.0 h1:cXLJbx+4Jj7rNsTiqVfm6i+RNLx6FFA2fMmDlEf+Wm8= github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/cni v1.1.1 h1:ky20T7c0MvKvbMOwS/FrlbNwjEoqJEUUYfsL4b0mc4k= github.com/containernetworking/cni v1.1.1/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containernetworking/plugins v1.1.1 h1:+AGfFigZ5TiQH00vhR8qPeSatj53eNGz0C1d3wVYlHE= github.com/containernetworking/plugins v1.1.1/go.mod h1:Sr5TH/eBsGLXK/h71HeLfX19sZPp3ry5uHSkI4LPxV8= github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.3 h1:uMxn2wTb4nDR7GqG3rnZSfpJXqWURfzZ7nKydzIeKpA= github.com/containers/ocicrypt v1.1.3/go.mod h1:xpdkbVAuaH3WzbEabUd5yDsl9SwJA5pABH85425Es2g= +github.com/coreos/bbolt v1.3.2 h1:wZwiHHUieZCquLkDL0B8UhzreNWsPHooDAG3q34zk0s= +github.com/coreos/etcd v3.3.13+incompatible h1:8F3hqu9fGYLBifCmRCJsicFqDx/D68Rt3q1JMazcgBQ= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= +github.com/coreos/go-iptables v0.6.0 h1:is9qnZMPYjLd8LYqmm/qlE+wwEgJIkTYdhV3rfZo4jk= github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM= +github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= +github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534 h1:rtAn27wIbmOGUs7RIbVgPEjb31ehTVniDwPGXyMxm5U= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= +github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32 h1:zlCp9n3uwQieELltZWHRmwPmPaZ8+XoL2Sj+A2YJlr8= github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32/go.mod h1:kwMlEC4wWvB48zAShGKVqboJL6w4zCLesaNQ3YLU2BQ= github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= github.com/cosmos/cosmos-sdk v0.47.0/go.mod h1:FTtZbqiHCZ2vun9WrPq6qLQafNKkAuIhLAxzLjr2TiI= +github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a h1:2humuGPw3O5riJVFq/E2FRjF57UrO97W1qJcGVmK+6k= github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= github.com/cosmos/gogoproto v1.4.4/go.mod h1:/yl6/nLwsZcZ2JY3OrqjRqvqCG9InUMcXRfRjQiF9DU= -github.com/cosmos/ibc-go/v7 v7.0.1 h1:NIBNRWjlOoFvFQu1ZlgwkaSeHO5avf4C1YQiWegt8jw= -github.com/cosmos/ibc-go/v7 v7.0.1/go.mod h1:vEaapV6nuLPQlS+g8IKmxMo6auPi0i7HMv1PhViht/E= +github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cristalhq/acmd v0.8.1 h1:mtFp/cbeJNY5jokF9zPz5mRllGHropRrOkOVxeGS6FI= github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= +github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= +github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c h1:Xo2rK1pzOm0jO6abTPIQwbAmqBIOj132otexc1mmzFc= +github.com/d2g/dhcp4client v1.0.0 h1:suYBsYZIkSlUMEz4TAYCczKf62IA2UWC+O8+KtdOhCo= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5 h1:+CpLbZIeUn94m02LdEKPcgErLJ347NUwxPKs5u8ieiY= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4 h1:itqmmf1PFpC4n5JW+j4BU7X4MTfVurhYRTjODoPb2Y8= +github.com/daixiang0/gci v0.8.1 h1:T4xpSC+hmsi4CSyuYfIJdMZAr9o7xZmHpQVygMghGZ4= github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= +github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= +github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU= +github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= +github.com/denisenkom/go-mssqldb v0.12.0 h1:VtrkII767ttSPNRfFekePK3sctr+joXgO58stqQbtUA= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba h1:p6poVbjHDkKa+wtC8frBMwQtT3BmqGYBjzMwJ63tuR4= github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= +github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8= +github.com/dgraph-io/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= +github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 h1:Izz0+t1Z5nI16/II7vuEo/nHjodOg0p7+OiDpjX5t1E= +github.com/dnaeon/go-vcr v1.0.1 h1:r8L/HqC0Hje5AXMu1ooW8oyQyOFv4GxqpL0nRP7SLLY= +github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.4 h1:axCks+yV+2MR3/kZhAmy07yC56WZ2Pwu/fKWtKuZB0o= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= +github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arXfYcAtECDFgAgHklGI8CxgjHnXKJ4= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= +github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf h1:Yt+4K30SdjOkRoRRm3vYNQgR+/ZIy0RmeUDZo7Y8zeQ= +github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= +github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= +github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane v0.10.3 h1:xdCVXxEe0Y3FQith+0cj2irwZudqGYvecuLB1HtdexY= github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1 h1:PS7VIOgmSVhWUEeZwTe7z7zouA22Cr590PzXKbZHOVY= github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= +github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= +github.com/evanphx/json-patch v4.11.0+incompatible h1:glyUF9yIYtMHzn8xaKw5rMhdWcwsYV8dZHIq5567/xs= github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= +github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= +github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c h1:CndMRAH4JIwxbW8KYq6Q+cGWcGHz0FjGR3QqcInWcW0= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= +github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90 h1:WXb3TSNmHp2vHoCroCIB1foO/yQ36swABL8aOVeDpgg= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db h1:gb2Z18BhTPJPpLQWj4T+rfKHYCHxRHCtRxhKKjRidVw= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8 h1:a9ENSRDFBUPkJ5lCgVZh26+ZbGyoVJG7yb5SSzF5H54= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= +github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61 h1:IZqZOB2fydHte3kUgxrzK5E1fW7RQGeDwE8F/ZZnUYc= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7 h1:LofdAjjjqCSXMwLGgOgnE+rdPuvX9DxCqaHwKy7i/ko= github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= +github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= +github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= +github.com/gdamore/tcell/v2 v2.6.0 h1:OKbluoP9VYmJwZwq/iLb4BxwKcwGthaa1YNBJIyCySg= +github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= +github.com/getsentry/sentry-go v0.17.0 h1:UustVWnOoDFHBS7IJUB2QK/nB5pap748ZEp0swnQJak= github.com/getsentry/sentry-go v0.17.0/go.mod h1:B82dxtBvxG0KaPD8/hfSV+VcHD+Lg/xUS4JuQn1P4cM= github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-critic/go-critic v0.6.5 h1:fDaR/5GWURljXwF8Eh31T2GZNz9X4jeboS912mWF8Uo= github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= +github.com/go-git/go-git-fixtures/v4 v4.3.1 h1:y5z6dd3qi8Hl+stezc8p3JxDkoTRqMAlKnXHuzrfjTQ= github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.5.2 h1:v8lgZa5k9ylUw+OR/roJHTxR4QItsNFI5nKtAXFuynw= github.com/go-git/go-git/v5 v5.5.2/go.mod h1:BE5hUJ5yaV2YMxhmaP4l6RBQ08kMxKSPD4BlxtH7OjI= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= +github.com/go-ini/ini v1.25.4 h1:Mujh4R/dH6YL8bxuISne3xX2+qcQ9p0IxKAP6ExWoUo= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= @@ -295,125 +643,246 @@ github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTg github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc= +github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= +github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= +github.com/go-toolsmith/astcopy v1.0.2 h1:YnWf5Rnh1hUudj11kei53kI57quN/VH6Hp1n+erozn0= github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= +github.com/go-toolsmith/astequal v1.0.3 h1:+LVdyRatFS+XO78SGV4I3TCEA0AC7fKEGma+fH+674o= github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= +github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= +github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= +github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5 h1:eD9POs68PHkwrx7hAB78z1cb6PfGq/jyWn3wJywsH1o= github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3NAwwmD4uY/yggRxoEjk/S00MIV3A+H7rrE3i87eYxM= +github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= +github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= +github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188 h1:+eHOFJl1BaXrQxKX+T06f78590z4qA2ZzBTqahsKSE4= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= +github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY= github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= +github.com/golangci/golangci-lint v1.50.1 h1:C829clMcZXEORakZlwpk7M4iDw2XiwxxKaG504SZ9zY= github.com/golangci/golangci-lint v1.50.1/go.mod h1:AQjHBopYS//oB8xs0y0M/dtxdKHkdhl0RvmjUct0/4w= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= +github.com/golangci/misspell v0.3.5 h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo= github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ= github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/flatbuffers v2.0.0+incompatible h1:dicJ2oXwypfwUGnB2/TYWYEKiuk9eYQlQO/AnOHl5mI= +github.com/google/go-containerregistry v0.5.1 h1:/+mFTs4AlwsJ/mJe8NDtKb7BxLtbZFpcn8vDsneEkwQ= +github.com/google/go-github/v41 v41.0.0 h1:HseJrM2JFf2vfiZJ8anY2hqBjdfY1Vlj/K27ueww4gg= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4= +github.com/gookit/color v1.5.1 h1:Vjg2VEcdHpwq+oY63s/ksHrgJYCTo0bwWvmmYWdE9fQ= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 h1:PVRE9d4AQKmbelZ7emNig1+NT27DUmKZn5qXxfio54U= github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= +github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= +github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= +github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q= github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= +github.com/gostaticanalysis/forcetypeassert v0.1.0 h1:6eUflI3DiGusXGK6X7cCcIgVCpZ2CiZ1Q7jl6ZxNV70= github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= +github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk= github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= +github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= +github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/graph-gophers/graphql-go v1.3.0 h1:Eb9x/q6MFpCLz7jBCiP/WTxjSDrYLR1QY41SORZyNJ0= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= +github.com/hanwen/go-fuse/v2 v2.1.1-0.20220112183258-f57e95bda82d h1:ibbzF2InxMOS+lLCphY9PHNKPURDUBNKaG6ErSq8gJQ= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.18.0 h1:R7PPNzTCeN6VuQNDwwhZWJvzCtGSrNpJqfb22h3yH9g= github.com/hashicorp/consul/api v1.18.0/go.mod h1:owRRGJ9M5xReDC5nfT8FTJrNAPbT4NM6p/k+d03q2v4= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.13.0 h1:lce3nFlpv8humJL8rNrrGHYSKc3q+Kxfeg3Ii1m6ZWU= github.com/hashicorp/consul/sdk v0.13.0/go.mod h1:0hs/l5fOVhJy/VdcoaNqUSi2AUs95eF5WKtv+EYIQqE= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= +github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= +github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= +github.com/hudl/fargo v1.4.0 h1:ZDDILMbB37UlAVLlWcJ2Iz1XuahZZTDZfdCKeclfq2s= +github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= github.com/hydrogen18/memlistener v0.0.0-20141126152155-54553eb933fb/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= +github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639 h1:mV02weKRL81bEnm8A0HT1/CAelMQDBuQIfLw8n+d6xI= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= +github.com/influxdata/influxdb v1.8.3 h1:WEypI1BQFTT4teLM+1qkEcvUi0dAvopAI/ir0vAiBg8= +github.com/influxdata/influxdb-client-go/v2 v2.4.0 h1:HGBfZYStlx3Kqvsv1h2pJixbCl/jhnFtxpKFAv9Tu5k= +github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab h1:HqW4xhhynfjrtEiiSGcQUd6vrK23iMam1FO8rI7mwig= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 h1:vilfsDSy7TDxedi9gyBkMvAirat/oRcL0lFdJBf6tdM= +github.com/informalsystems/tm-load-test v1.3.0 h1:FGjKy7vBw6mXNakt+wmNWKggQZRsKkEYpaFk/zR64VA= github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= +github.com/intel/goresctrl v0.2.0 h1:JyZjdMQu9Kl/wLXe9xA6s1X+tF6BWsQPFGJMEeCfWzE= github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/ipfs/go-datastore v0.5.1 h1:WkRhLuISI+XPD0uk3OskB0fYFSyqK8Ob5ZYew9Qa1nQ= +github.com/ipfs/go-ds-badger v0.3.0 h1:xREL3V0EH9S219kFFueOYJJTcjgNSZ2HY1iSvN7U1Ro= +github.com/ipfs/go-ds-leveldb v0.5.0 h1:s++MEBbD3ZKc9/8/njrn4flZLnCuY9I79v94gBUNumo= +github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI= github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= +github.com/j-keck/arping v1.0.2 h1:hlLhuXgQkzIJTZuhMigvG/CuSkaspeaD9hRDk2zuiMI= github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= +github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= +github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= +github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a h1:d4+I1YEKVmWZrgkt6jpXBnLgV2ZjO0YxEtLDdfIZfH4= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= +github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e h1:UvSe12bq+Uj2hWd8aOlwPmoZ+CITRFrdit+sDGfAg8U= +github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/gopoet v0.1.0 h1:gYjOPnzHd2nzB37xYQZxj4EIQNpBrBskRqQQ3q4ZgSg= github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0 h1:Y1UgUX+txUznfqcGdDef8ZOVlyQvnV0pKWZH08RmZuo= github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= +github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f h1:BNuUg9k2EiJmlMwjoef3e8vZLHplbVw6DrjGFjLL+Yo= github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= +github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= +github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/joefitzgerald/rainbow-reporter v0.1.0 h1:AuMG652zjdzI0YCCnXAqATtRBpGXMcAnrajcaTrSeuo= +github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= +github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= +github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= +github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= +github.com/karalabe/usb v0.0.2 h1:M6QQBNxF+CQ8OFvxrT90BA0qBOXymndZnk5q235mFc4= github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= @@ -423,38 +892,89 @@ github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2 github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.6.2 h1:uGQ9xI8/pgc9iOoCe7kWQgRE6SBTrCGmTSf0LrEtY7c= github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= +github.com/kkHAIKE/contextcheck v1.1.3 h1:l4pNvrb8JSwRd51ojtcOxOeHJzHek+MtOyXbaR0uvmw= github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= +github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE= github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/cpuid v1.2.1 h1:vJi+O/nMdFt0vqm8NZBI6wzALWdA2X+egi0ogNyrC/w= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= +github.com/koron/go-ssdp v0.0.3 h1:JivLMY45N76b4p/vsWGOKewBQu6uf39y8l+AQ7sDKx8= +github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.5 h1:hyz3dwM5QLc1Rfoz4FuWJQG5BN7tc6K1MndAUnGpQr4= +github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= +github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoaGS+Ugg8g= github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= +github.com/ldez/tagliatelle v0.3.1 h1:3BqVVlReVUZwafJUwQ+oxbx2BEX2vUG4Yu/NOfMiKiM= github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leonklingele/grouper v1.1.0 h1:tC2y/ygPbMFSBOs3DcyaEMKnnwH7eYKzohOtRrf0SAg= github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= +github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= +github.com/libp2p/go-libp2p-asn-util v0.2.0 h1:rg3+Os8jbnO5DxkC7K/Utdi+DkY3q/d1/1q+8WeNAsw= +github.com/libp2p/go-libp2p-testing v0.11.0 h1:+R7FRl/U3Y00neyBSM2qgDzqz3HkWH24U9nMlascHL4= +github.com/libp2p/go-mplex v0.7.0 h1:BDhFZdlk5tbr0oyFq/xv/NPGfjbnrsDam1EvutpBDbY= +github.com/libp2p/go-msgio v0.2.0 h1:W6shmB+FeynDrUVl2dgFQvzfBZcXiyqY4VmpQLu9FqU= +github.com/libp2p/go-nat v0.1.0 h1:MfVsH6DLcpa04Xr+p8hmVRG4juse0s3J8HyNWYHffXg= +github.com/libp2p/go-netroute v0.2.0 h1:0FpsbsvuSnAhXFnCY0VLFbJOzaK0VnP0r1QT/o4nWRE= +github.com/libp2p/go-reuseport v0.2.0 h1:18PRvIMlpY6ZK85nIAicSBuXXvrYoSw3dsBAR7zc560= +github.com/libp2p/go-yamux/v3 v3.1.2 h1:lNEy28MBk1HavUAlzKgShp+F6mn/ea1nDYWftZhFW9Q= +github.com/libp2p/zeroconf/v2 v2.2.0 h1:Cup06Jv6u81HLhIj1KasuNM/RHHrJ8T7wOTS4+Tv53Q= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= +github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= +github.com/linxGnu/grocksdb v1.7.10 h1:dz7RY7GnFUA+GJO6jodyxgkUeGMEkPp3ikt9hAcNGEw= github.com/linxGnu/grocksdb v1.7.10/go.mod h1:0hTf+iA+GOr0jDX4CgIYyJZxqOH9XlBh6KVj8+zmF34= +github.com/lucas-clemente/quic-go v0.28.1 h1:Uo0lvVxWg5la9gflIF9lwa39ONq85Xq2D91YNEIslzU= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1 h1:erE0rdztuaDq3bpGifD95wfoPrSZc95nGA6tbiNYh6M= +github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= +github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= +github.com/maratori/testpackage v1.1.0 h1:GJY4wlzQhuBusMF1oahQCBtUV/AQ/k69IZ68vxaac2Q= github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= +github.com/marstr/guid v1.1.0 h1:/M4H/1G4avsieL6BbUwCOBzulmoeKVP5ux/3mQNnbyI= +github.com/marten-seemann/qtls-go1-16 v0.1.5 h1:o9JrYPPco/Nukd/HpOHMHZoBDXQqoNtUCmny98/1uqQ= +github.com/marten-seemann/qtls-go1-17 v0.1.2 h1:JADBlm0LYiVbuSySCHeY863dNkcpMmDR7s0bLKJeYlQ= +github.com/marten-seemann/qtls-go1-18 v0.1.2 h1:JH6jmzbduz0ITVQ7ShevK10Av5+jBEKAHMntXmIV7kM= +github.com/marten-seemann/qtls-go1-19 v0.1.0 h1:rLFKD/9mp/uq1SYGYuVZhm83wkmU95pK5df3GufyYYU= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= +github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -474,68 +994,154 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2 h1:g+4J5sZg6osfvEfkRZxJ1em0VT95/UOZgi/l7zi1/oE= +github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= +github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517 h1:zpIH83+oKzcpryru8ceC6BxnoG8TBrhgAvRg8obzup0= +github.com/mgechev/revive v1.2.4 h1:+2Hd/S8oO2H0Ikq2+egtNwQsVhAeELHjxjIUFX5ajLI= github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= +github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible h1:aKW/4cBs+yK6gpqU3K/oIwk9Q/XICqd3zOX/UFuvqmk= +github.com/mitchellh/cli v1.1.0 h1:tEElEatulEHDeedTxwckzyYMA5c86fbmNIUL1hBIiTg= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= +github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= +github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= +github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f h1:2+myh5ml7lgEU/51gbeLHfKGNfgEQQIWrlbdaOsidbQ= +github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= +github.com/moby/buildkit v0.10.4 h1:FvC+buO8isGpUFZ1abdSLdGHZVqg9sqI4BbFL8tlzP4= github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= +github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= +github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/signal v0.6.0 h1:aDpY94H8VlhTGa9sNYUFCFsMZIUh5wm0B6XkIoJj/iY= github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= +github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5 h1:0KqC6/sLy7fDpBdybhVkkv4Yz+PmB7c9Dz9z3dLW804= +github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4= +github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= +github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= +github.com/multiformats/go-multistream v0.3.3 h1:d5PZpjwRgVlbwfdTDjife7XszfZd8KYWfROYFlGcR8o= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76 h1:0xuRacu/Zr+jX+KyLLPPktbwXqyOvnOPUQmMLzX1jxU= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= +github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= +github.com/naoina/go-stringutil v0.1.0 h1:rCUeRUHjBjGTSHl0VC00jUPLz8/F9dDzYI70Hzifhks= +github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416 h1:shk/vn9oCoOTmwcouEdwIeOtOGA/ELRUw/GwvxwfT+0= +github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= +github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI= +github.com/nats-io/nats-server/v2 v2.5.0 h1:wsnVaaXH9VRSg+A2MVg5Q727/CqxnmPLGFQ3YZYKTQg= github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= +github.com/nats-io/nats.go v1.12.1 h1:+0ndxwUPz3CmQ2vjbXdkC1fo3FdiOQDim4gl3Mge8Qo= github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= +github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8= +github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= +github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= +github.com/ncw/swift v1.0.47 h1:4DQRPj35Y41WogBxyhOXlrI37nzGlyEcsforeudyYPQ= +github.com/networkplumbing/go-nft v0.2.0 h1:eKapmyVUt/3VGfhYaDos5yeprm+LPt881UeksmKKZHY= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/nishanths/exhaustive v0.8.3 h1:pw5O09vwg8ZaditDp/nQRqVnrMczSJDxRDJMowvhsrM= github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= +github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= +github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= +github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= +github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88= github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39 h1:H7DMc6FAjgwZZi8BRqjrAAHWoqEr5e5L6pS4V0ezet4= +github.com/opencontainers/selinux v1.10.1 h1:09LIPVRP3uuZGQvgR+SgMSNBd1Eb3vlRbGqQpoHsF8w= github.com/opencontainers/selinux v1.10.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= +github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU= +github.com/openzipkin/zipkin-go v0.2.5 h1:UwtQQx2pyPIgWYHRg+epgdx1/HnBQTgN3/oIYEJTQzU= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= +github.com/ory/dockertest/v3 v3.9.1 h1:v4dkG+dlu76goxMiTT2j8zV7s4oPPEppKT8K8p2f1kY= +github.com/otiai10/copy v1.2.0 h1:HvG945u96iNadPoG2/Ja2+AUJeW5YuFQMixq9yirC+k= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= +github.com/otiai10/curr v1.0.0 h1:TJIWdbX0B+kpNagQrjgq8bCMrbhiuX73M2XwgtDMoOI= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= +github.com/otiai10/mint v1.3.1 h1:BCmzIS3n71sGfHB5NMNDB3lHYPz8fWSkCAErHed//qc= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= +github.com/pact-foundation/pact-go v1.0.4 h1:OYkFijGHoZAYbOIb1LWXrwKQbMMRUv1oQ89blD2Mh2Q= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= +github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/performancecopilot/speed v3.0.0+incompatible h1:2WnRzIquHa5QxaJKShDkLM+sc0JPuwhXzK8OYOyt3Vg= +github.com/performancecopilot/speed/v4 v4.0.0 h1:VxEDCmdkfbQYDlcr/GC9YoN9PQ6p8ulk9xVsepYy9ZY= +github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= +github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 h1:oYW+YCJ1pachXTQmzR3rNLYGGz4g/UgFcjb28p/viDM= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= +github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pjbgf/sha1cd v0.2.3 h1:uKQP/7QOzNtKYH7UTohZLcjF5/55EnTw0jO/Ru4jZwI= github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= +github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/profile v1.6.0 h1:hUDfIISABYI59DyeB3OTay/HxSRwTQ8rB/H83k6r5dM= github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= +github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3 h1:hUmXhbljNFtrH5hzV9kiRoddZ5nfPTq3K0Sb2hYYiqE= github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3/go.mod h1:q5NXNGzqj5uPnVuhGkZfmgHqNUhf15VLi6L9kW0VEc0= +github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4 h1:RHHRCZeaNyBXdYPMjZNH8/XHDBH38TZzw8izrW7dmBE= github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4/go.mod h1:RdR1j20Aj5pB6+fw6Y9Ur7lMHpegTEjY1vc19hEZL40= +github.com/pointlander/peg v1.0.1 h1:mgA/GQE8TeS9MdkU6Xn6iEzBmQUQCNuWD7rHCK6Mjs0= github.com/pointlander/peg v1.0.1/go.mod h1:5hsGDQR2oZI4QoWz0/Kdg3VSVEC31iJw/b7WjqCBGRI= +github.com/polyfloyd/go-errorlint v1.0.5 h1:AHB5JRCjlmelh9RrLxT9sgzpalIwwq4hqE8EkwIwKdY= github.com/polyfloyd/go-errorlint v1.0.5/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= @@ -546,48 +1152,97 @@ github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= +github.com/quasilyte/go-ruleguard v0.3.18 h1:sd+abO1PEI9fkYennwzHn9kl3nqP6M5vE7FiOzZ+5CE= github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quasilyte/go-ruleguard/dsl v0.3.21 h1:vNkC6fC6qMLzCOGbnIHOd5ixUGgTbp3Z4fGnUgULlDA= github.com/quasilyte/go-ruleguard/dsl v0.3.21/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= +github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71 h1:CNooiryw5aisadVfzneSZPswRWvnVW8hF1bS/vo8ReI= github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= +github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f h1:6Gtn2i04RD0gVyYf2/IUMTIs+qYleBt4zxDqkLTcu4U= github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= +github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= +github.com/remyoudompheng/go-dbus v0.0.0-20121104212943-b7232d34b1d5 h1:CvqZS4QYHBRvx7AeFdimd16HCbLlYsvQMcKDACpJW/c= +github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 h1:J8J/cgLDRuqXJnwIrRDBvtl+LLsdg7De74znW/BRRq4= +github.com/remyoudompheng/go-misc v0.0.0-20190427085024-2d6ac652a50e h1:eTWZyPUnHcuGRDiryS/l2I7FfKjbU3IBx3IjqHPxuKU= +github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 h1:xe+mmCnDN82KhC010l3NfYlA8ZbOuzbXAzSYBa6wbMc= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE= +github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= +github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/ryancurrah/gomodguard v1.2.4 h1:CpMSDKan0LtNGGhPrvupAoLeObRFjND8/tU1rEOtBp4= github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= +github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= +github.com/ryanuber/columnize v2.1.0+incompatible h1:j1Wcmh8OrK4Q7GXY+V7SVSY8nUWQxHW5TkBe7YUl+2s= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1 h1:ZFfeKAhIQiiOrQaI3/znw0gOmYpO28Tcu1YaqMa/jtQ= github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/sagikazarmark/crypt v0.9.0 h1:fipzMFW34hFUEc4D7fsLQFtE7yElkpgyS2zruedRdZk= github.com/sagikazarmark/crypt v0.9.0/go.mod h1:RnH7sEhxfdnPm1z+XMgSLjWTEIjyK4z2dw6+4vHTMuo= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCLY7gIfzeQaUJ+kppEO5WQG3cL8iE8tGHU= +github.com/sanposhiho/wastedassign/v2 v2.0.6 h1:+6/hQIHKNJAUixEj6EmOngGIisyeI+T3335lYTyxRoA= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= +github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= +github.com/sashamelentyev/usestdlibvars v1.20.0 h1:K6CXjqqtSYSsuyRDDC7Sjn6vTMLiSJa4ZmDkiokoqtw= github.com/sashamelentyev/usestdlibvars v1.20.0/go.mod h1:0GaP+ecfZMXShS0A94CJn6aEuPRILv8h/VuWI9n1ygg= +github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= +github.com/sclevine/agouti v3.0.0+incompatible h1:8IBJS6PWz3uTlMP3YBIR5f+KAldcGuOeFkFbUWfBgK4= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.2.0 h1:1Jwdf9jSfDl9NVmt8ndHqbTZ7XCCPbh1jI3hkDBHVYA= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= +github.com/securego/gosec/v2 v2.13.1 h1:7mU32qn2dyC81MH9L2kefnQyRMUarfDER3iQyMHcjYM= github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/serialx/hashring v0.0.0-20190422032157-8b2912629002 h1:ka9QPuQg2u4LGipiZGsgkg3rJCo4iIUCy75FddM0GRQ= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= +github.com/shirou/gopsutil/v3 v3.22.9 h1:yibtJhIVEMcdw+tCTbOPiF1VcsuDeTE4utJ8Dm4c5eA= +github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= +github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/sivchari/containedctx v1.0.2 h1:0hLQKpgC53OVF1VT7CeoFHk9YKstur1XOgfYIc1yrHI= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= +github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= +github.com/sivchari/tenv v1.7.0 h1:d4laZMBK6jpe5PWepxlV9S+LC0yXqvYHiq8E6ceoVVE= github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= +github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa h1:YJfZp12Z3AFhSBeXOlv4BO55RMwPn2NoQeDsrdWnBtY= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= +github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= +github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ= +github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= @@ -597,99 +1252,185 @@ github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSW github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4 h1:Gb2Tyox57NRNuZ2d3rmvB3pcmbu7O1RS3m8WRx7ilrg= +github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= +github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v1.0.0 h1:kuuDrUJFZL1QYL9hUNuCxNObNzB0bV/ZG5jV3RWAQgo= +github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e h1:mOtuXaRAbVZsxAHVdPR3IjfmN8T1h2iczJLynhLybf8= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344 h1:m+8fKfQwCAy1QjzINvKe/pYtLjo2dl59x2w9YSEJxuY= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= +github.com/tchap/go-patricia v2.2.6+incompatible h1:JvoDL7JSoIP2HDE8AbDH3zC8QBPxmzYe32HHy5yQ+Ck= +github.com/tdakkota/asciicheck v0.1.1 h1:PKzG7JUTUmVspQTDqtkX9eSiLGossXTybutHwTXuO0A= github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= +github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= +github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= +github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw= github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= +github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 h1:kl4KhGNsJIbDHS9/4U9yQo1UcPQM0kOMJHn29EoH/Ro= github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= +github.com/timonwong/loggercheck v0.9.3 h1:ecACo9fNiHxX4/Bc02rW2+kaJIAMAes7qJ7JKxt0EZI= github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tomarrell/wrapcheck/v2 v2.7.0 h1:J/F8DbSKJC83bAvC6FoZaRjZiZ/iKoueSdrEkmGeacA= github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= +github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= +github.com/tonistiigi/fsutil v0.0.0-20220115021204-b19f7f9cb274 h1:wbyZxD6IPFp0sl5uscMOJRsz5UKGFiNiD16e+MVfKZY= +github.com/tonistiigi/go-actions-cache v0.0.0-20220404170428-0bdeb6e1eac7 h1:8eY6m1mjgyB8XySUR7WvebTM8D/Vs86jLJzD/Tw7zkc= +github.com/tonistiigi/go-archvariant v1.0.0 h1:5LC1eDWiBNflnTF1prCiX09yfNHIxDC/aukdhCdTyb0= +github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/v/cCndK0AMpt1wiVFb/YYmqB3/QG0= +github.com/tonistiigi/vt100 v0.0.0-20210615222946-8066bb97264f h1:DLpt6B5oaaS8jyXHa9VA4rrZloBVPVXeCtrOsrFauxc= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= +github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= +github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= +github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI= github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/quicktemplate v1.7.0 h1:LUPTJmlVcb46OOUY3IeD9DojFpAVbsG+5WFTcjMJzCM= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= +github.com/vbatts/tar-split v0.11.2 h1:Via6XqJr0hceW4wff3QRzD5gAk/tatMw/4ZA7cTlIME= +github.com/vektra/mockery/v2 v2.14.0 h1:KZ1p5Hrn8tiY+LErRMr14HHle6khxo+JKOXLBW/yfqs= github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA= github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/willf/bitset v1.1.11 h1:N7Z7E9UvjW+sGsEl7k/SJrvY2reP1A07MrGuCjIOjRE= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= +github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= +github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= +github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= +github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1:ERexzlUfuTvpE74urLSbIQW0Z/6hF9t8U4NsJLaioAY= github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489 h1:1JFLBqwIgdyHN1ZtgjTBwO+blA6gVOmZurpiMEsETKo= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.6 h1:Cy2qx3npLcYqTKqGJzMypnMv2tiRyifZJ17BlWIWA7A= go.etcd.io/etcd/api/v3 v3.5.6/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.6 h1:TXQWYceBKqLp4sa87rcPs11SXxUA/mHwH975v+BDvLU= go.etcd.io/etcd/client/pkg/v3 v3.5.6/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v2 v2.305.6 h1:fIDR0p4KMjw01MJMfUIDWdQbjo06PD6CeYM5z4EHLi0= go.etcd.io/etcd/client/v2 v2.305.6/go.mod h1:BHha8XJGe8vCIBfWBpbBLVZ4QjOIlfoouvOwydu63E0= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/client/v3 v3.5.6 h1:coLs69PWCXE9G4FKquzNaSHrRyMCAXwF+IX1tAPVO8E= go.etcd.io/etcd/client/v3 v3.5.6/go.mod h1:f6GRinRMCsFVv9Ht42EyY7nfsVGwrNO0WEoS2pRKzQk= +go.etcd.io/etcd/pkg/v3 v3.5.0 h1:ntrg6vvKRW26JRmHTE0iNlDgYK6JX3hg/4cD62X0ixk= go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0 h1:kw2TmO3yFTgE+F0mdKkG7xMxkit2duBDa2Hu6D/HMlw= go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0 h1:jk8D/lwGEDlQU9kZXUFMSANkE22Sg5+mW27ip8xcF9E= go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.etcd.io/gofail v0.1.0 h1:XItAMIhOojXFQMgrxjnd2EIIHun/d5qL0Pf7FzVTkFg= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= +go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 h1:syAz40OyelLZo42+3U68Phisvrx4qh+4wpdZw7eUUdY= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.29.0 h1:Wjp9vsVSIEyvdiaECfqxY9xBqQ7JaSCGtvHgR4doXZk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0 h1:SLme4Porm+UwX0DdHMxlwRt7FzPSE0sys81bet2o0pU= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= +go.opentelemetry.io/otel v1.11.0 h1:kfToEGMDq6TrVrJ9Vht84Y8y9enykSZzDDZglV0kIEk= go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= +go.opentelemetry.io/otel/exporters/jaeger v1.4.1 h1:VHCK+2yTZDqDaVXj7JH2Z/khptuydo6C0ttBh2bxAbc= +go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.4.1 h1:imIM3vRDMyZK1ypQlQlO+brE22I9lRhJsBDXpDWjlz8= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.4.1/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.4.1 h1:WPpPsAAs8I2rA47v5u0558meKmmwm1Dj99ZbqCV8sZ8= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.4.1/go.mod h1:o5RW5o2pKpJLD5dNTCmjF1DorYwMeFJmb/rKr5sLaa8= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1 h1:AxqDiGk8CorEXStMDZF5Hz9vo9Z7ZZ+I5m8JRl/ko40= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1/go.mod h1:c6E4V3/U+miqjs/8l950wggHGL1qzlp0Ypj9xoGrPqo= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1 h1:8qOago/OqoFclMUUj/184tZyRdDZFpcejSjbk5Jrl6Y= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1/go.mod h1:VwYo0Hak6Efuy0TXsZs8o1hnV3dHDPNtDbycG0hI8+M= +go.opentelemetry.io/otel/internal/metric v0.27.0 h1:9dAVGAfFiiEq5NVB9FUJ5et+btbDQAUIJehJ+ikyryk= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v0.27.0 h1:HhJPsGhJoKRSegPQILFbODU56NS/L1UE4fS1sC5kIwQ= +go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.4.1 h1:J7EaW71E0v87qflB4cDolaqq3AcujGrtyIPGQoZOB0Y= go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= +go.opentelemetry.io/otel/trace v1.11.0 h1:20U/Vj42SX+mASlXLmSGBg6jpI1jQtv682lZtTAOVFI= go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= go.opentelemetry.io/proto/otlp v0.12.0/go.mod h1:TsIjwGWIx5VFYv9KGVlOpxoBl5Dy+63SUguV7GGvlSQ= +go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= @@ -704,6 +1445,7 @@ golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -716,8 +1458,12 @@ golang.org/x/exp v0.0.0-20221205204356-47842c84f3db/go.mod h1:CxIveKay+FTh1D0yPZ golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91 h1:Ic/qN6TEifvObMGQy72k0n1LlJr7DjWWEi+MOsDOiSk= golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= @@ -820,12 +1566,16 @@ golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4 golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b h1:Qh4dB5D/WpoUUp3lSod7qgoyEHbDGPUWjIbnqdqqe1k= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8 h1:Cpp2P6TPjujNoC5M2KHY6g7wfyLYfIWRZaSdIKfDasA= google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= @@ -844,38 +1594,75 @@ google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsA google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/airbrake/gobrake.v2 v2.0.9 h1:7z2uVWwn7oVeeugY1DtlPAy5H+KYgB1KeKTnqjNatLo= +gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.27 h1:kJdccidYzt3CaHD1crCFTS1hxyhSi059NhOFUf03YFo= +gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= +gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= +gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 h1:OAj3g0cR6Dx/R07QgQe8wkA9RNjB2u4i700xBkIT4e0= gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= +gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= +gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= +honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA= honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= +k8s.io/api v0.22.5 h1:xk7C+rMjF/EGELiD560jdmwzrB788mfcHiNbMQLIVI8= k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5 h1:cIPwldOYm1Slq9VLBRPtEYpyhjIm1C6aAMAoENuvN9s= k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apiserver v0.22.5 h1:71krQxCUz218ecb+nPhfDsNB6QgP1/4EMvi1a2uYBlg= k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.22.5 h1:I8Zn/UqIdi2r02aZmhaJ1hqMxcpfJ3t5VqvHtctHYFo= k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/code-generator v0.19.7 h1:kM/68Y26Z/u//TFc1ggVVcg62te8A2yQh57jBfD0FWQ= +k8s.io/component-base v0.22.5 h1:U0eHqZm7mAFE42hFwYhY6ze/MmVaW00JpMrzVsQmzYE= k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/cri-api v0.25.0 h1:INwdXsCDSA/0hGNdPxdE2dQD6ft/5K1EaKXZixvSQxg= k8s.io/cri-api v0.25.0/go.mod h1:J1rAyQkSJ2Q6I+aBMOVgg2/cbbebso6FNa0UagiR0kc= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded h1:JApXBKYyB7l9xx+DK7/+mFjC7A9Bt5A93FPvFD0HIFE= k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c h1:jvamsI1tn9V0S8jicyX82qaFC0H/NKxv2e5mbqsgR80= k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kubernetes v1.13.0 h1:qTfB+u5M92k2fCCCVP2iuhgwwSOv1EkAkvQY1tQODD8= k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b h1:wxEMGetGMur3J1xuGLQY7GEQYg9bZxKn3tKo5k/eYcs= k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= +mvdan.cc/unparam v0.0.0-20220706161116-678bad134442 h1:seuXWbRB1qPrS3NQnHmFKLJLtskWyueeIzmLXghMGgk= mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= +rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= +rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= +rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22 h1:fmRfl9WJ4ApJn7LxNuED4m0t18qivVQOxP6aAYG9J6c= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2 h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3nu+sPzynno= sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= diff --git a/relayer/chains/cosmos/module/app_module.go b/relayer/chains/cosmos/module/app_module.go index 94119092a..39e6ea36b 100644 --- a/relayer/chains/cosmos/module/app_module.go +++ b/relayer/chains/cosmos/module/app_module.go @@ -5,6 +5,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" solomachine "github.com/cosmos/ibc-go/v7/modules/light-clients/06-solomachine" + localhost "github.com/cosmos/ibc-go/v7/modules/light-clients/09-localhost" "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" @@ -26,7 +27,7 @@ func (AppModuleBasic) RegisterLegacyAminoCodec(*codec.LegacyAmino) {} func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry) { tmlightclient.RegisterInterfaces(registry) solomachine.RegisterInterfaces(registry) - // TODO: add the localhost light client when ibc-go v7.1.0 is available + localhost.RegisterInterfaces(registry) } // RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the ibc module. From 0981e674fae2d1d2cc3ed8f2501fee7a851d3062 Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Wed, 7 Jun 2023 17:58:49 -0700 Subject: [PATCH 07/58] Export wallet address for Prometheus metrics (#1206) * export relayer address for pro * address in updateFeesSpent * make error messages consistent * log error rather than return * handle 0 balance --- .../chains/cosmos/cosmos_chain_processor.go | 21 +++++++++++-------- relayer/chains/cosmos/tx.go | 14 +++++++++---- relayer/processor/metrics.go | 10 ++++----- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index 0c350f1f4..6a428d55c 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -516,22 +516,25 @@ func (ccp *CosmosChainProcessor) CurrentRelayerBalance(ctx context.Context) { } // Get the balance for the chain provider's key - relayerWalletBalance, err := ccp.chainProvider.QueryBalance(ctx, ccp.chainProvider.Key()) + relayerWalletBalances, err := ccp.chainProvider.QueryBalance(ctx, ccp.chainProvider.Key()) if err != nil { ccp.log.Error( "Failed to query relayer balance", zap.Error(err), ) } - + address, err := ccp.chainProvider.Address() + if err != nil { + ccp.log.Error( + "Failed to get relayer bech32 wallet addresss", + zap.Error(err), + ) + } // Print the relevant gas prices for _, gasDenom := range *ccp.parsedGasPrices { - for _, balance := range relayerWalletBalance { - if balance.Denom == gasDenom.Denom { - // Convert to a big float to get a float64 for metrics - f, _ := big.NewFloat(0.0).SetInt(balance.Amount.BigInt()).Float64() - ccp.metrics.SetWalletBalance(ccp.chainProvider.ChainId(), ccp.chainProvider.Key(), balance.Denom, f) - } - } + bal := relayerWalletBalances.AmountOf(gasDenom.Denom) + // Convert to a big float to get a float64 for metrics + f, _ := big.NewFloat(0.0).SetInt(bal.BigInt()).Float64() + ccp.metrics.SetWalletBalance(ccp.chainProvider.ChainId(), ccp.chainProvider.Key(), address, gasDenom.Denom, f) } } diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index 2af8538ff..d8caf3665 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -213,8 +213,14 @@ func (cc *CosmosProvider) broadcastTx( cc.LogFailedTx(rlyResp, err, msgs) return err } - - cc.UpdateFeesSpent(cc.ChainId(), cc.Key(), fees) + address, err := cc.Address() + if err != nil { + cc.log.Error( + "failed to get relayer bech32 wallet addresss", + zap.Error(err), + ) + } + cc.UpdateFeesSpent(cc.ChainId(), cc.Key(), address, fees) // TODO: maybe we need to check if the node has tx indexing enabled? // if not, we need to find a new way to block until inclusion in a block @@ -1257,7 +1263,7 @@ func (cc *CosmosProvider) NewClientState( }, nil } -func (cc *CosmosProvider) UpdateFeesSpent(chain, key string, fees sdk.Coins) { +func (cc *CosmosProvider) UpdateFeesSpent(chain, key, address string, fees sdk.Coins) { // Don't set the metrics in testing if cc.metrics == nil { return @@ -1270,7 +1276,7 @@ func (cc *CosmosProvider) UpdateFeesSpent(chain, key string, fees sdk.Coins) { for _, fee := range cc.TotalFees { // Convert to a big float to get a float64 for metrics f, _ := big.NewFloat(0.0).SetInt(fee.Amount.BigInt()).Float64() - cc.metrics.SetFeesSpent(chain, key, fee.GetDenom(), f) + cc.metrics.SetFeesSpent(chain, key, address, fee.GetDenom(), f) } } diff --git a/relayer/processor/metrics.go b/relayer/processor/metrics.go index f5f4245e7..a549eb40a 100644 --- a/relayer/processor/metrics.go +++ b/relayer/processor/metrics.go @@ -26,18 +26,18 @@ func (m *PrometheusMetrics) SetLatestHeight(chain string, height int64) { m.LatestHeightGauge.WithLabelValues(chain).Set(float64(height)) } -func (m *PrometheusMetrics) SetWalletBalance(chain, key, denom string, balance float64) { - m.WalletBalance.WithLabelValues(chain, key, denom).Set(balance) +func (m *PrometheusMetrics) SetWalletBalance(chain, key, address, denom string, balance float64) { + m.WalletBalance.WithLabelValues(chain, key, address, denom).Set(balance) } -func (m *PrometheusMetrics) SetFeesSpent(chain, key, denom string, amount float64) { - m.FeesSpent.WithLabelValues(chain, key, denom).Set(amount) +func (m *PrometheusMetrics) SetFeesSpent(chain, key, address, denom string, amount float64) { + m.FeesSpent.WithLabelValues(chain, key, address, denom).Set(amount) } func NewPrometheusMetrics() *PrometheusMetrics { packetLabels := []string{"path", "chain", "channel", "port", "type"} heightLabels := []string{"chain"} - walletLabels := []string{"chain", "key", "denom"} + walletLabels := []string{"chain", "key", "address", "denom"} registry := prometheus.NewRegistry() registerer := promauto.With(registry) return &PrometheusMetrics{ From 4ec767ae11a33b6d113b0b9f9e301d9a23d875d6 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Thu, 29 Jun 2023 00:11:13 +0800 Subject: [PATCH 08/58] chore: replace gogo/protobuf to cosmos/gogoproto (#1208) * rm dup pb * add missing cp for messages.proto * make proto-gen * migrate gogo/protobuf to cosmos/gogoproto * add change log * mod tidy --- CHANGELOG.md | 1 + go.mod | 2 +- relayer/chains/cosmos/keys/sr25519/keys.pb.go | 2 +- relayer/chains/cosmos/stride/messages.pb.go | 54 +- .../penumbra/core/chain/v1alpha1/chain.pb.go | 534 ++------- .../core/crypto/v1alpha1/crypto.pb.go | 742 ++++++------ .../penumbra/core/dex/v1alpha1/dex.pb.go | 572 ++++----- relayer/chains/penumbra/msg.go | 2 +- .../chains/penumbra/view/v1alpha1/view.pb.go | 1067 +++++++++++++---- relayer/codecs/ethermint/account.pb.go | 2 +- relayer/codecs/ethermint/codec.go | 3 +- relayer/codecs/ethermint/dynamic_fee.pb.go | 325 ----- relayer/codecs/ethermint/keys.pb.go | 2 +- relayer/codecs/injective/account.pb.go | 2 +- relayer/codecs/injective/keys.pb.go | 2 +- relayer/ethermint/dynamic_fee.pb.go | 2 +- scripts/protocgen.sh | 1 + 17 files changed, 1620 insertions(+), 1695 deletions(-) delete mode 100644 relayer/codecs/ethermint/dynamic_fee.pb.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 41ee0c40b..ddee8de7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ * [\#1178](https://github.com/cosmos/relayer/pull/1178) Add max-gas-amount parameter in chain configs. * [\#1180](https://github.com/cosmos/relayer/pull/1180) Update SDK from v0.47.0 to v0.47.2. * [\#1205](https://github.com/cosmos/relayer/pull/1205) Update ibc-go to v7.0.1. +* [\#1208](https://github.com/cosmos/relayer/pull/1208) Replace gogo/protobuf to cosmos/gogoproto. ## v0.9.3 diff --git a/go.mod b/go.mod index cfa4ade5c..a2d1be2ce 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,6 @@ require ( github.com/cosmos/ics23/go v0.10.0 github.com/ethereum/go-ethereum v1.10.26 github.com/gofrs/flock v0.8.1 - github.com/gogo/protobuf v1.3.2 github.com/google/go-cmp v0.5.9 github.com/google/go-github/v43 v43.0.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 @@ -89,6 +88,7 @@ require ( github.com/go-stack/stack v1.8.0 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/googleapis v1.4.1 // indirect + github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/glog v1.1.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/mock v1.6.0 // indirect diff --git a/relayer/chains/cosmos/keys/sr25519/keys.pb.go b/relayer/chains/cosmos/keys/sr25519/keys.pb.go index 49a3599b7..9d6762141 100644 --- a/relayer/chains/cosmos/keys/sr25519/keys.pb.go +++ b/relayer/chains/cosmos/keys/sr25519/keys.pb.go @@ -8,8 +8,8 @@ package sr25519 import ( fmt "fmt" github_com_cometbft_cometbft_crypto_sr25519 "github.com/cometbft/cometbft/crypto/sr25519" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - _ "github.com/gogo/protobuf/gogoproto" io "io" math "math" math_bits "math/bits" diff --git a/relayer/chains/cosmos/stride/messages.pb.go b/relayer/chains/cosmos/stride/messages.pb.go index d99e7cc34..6c438a3fa 100644 --- a/relayer/chains/cosmos/stride/messages.pb.go +++ b/relayer/chains/cosmos/stride/messages.pb.go @@ -7,8 +7,8 @@ import ( fmt "fmt" crypto "github.com/cometbft/cometbft/proto/tendermint/crypto" _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - _ "github.com/gogo/protobuf/gogoproto" io "io" math "math" math_bits "math/bits" @@ -78,32 +78,32 @@ func init() { var fileDescriptor_25adad4f8ed32400 = []byte{ // 415 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x92, 0xbf, 0xae, 0xd3, 0x30, - 0x14, 0x87, 0xe3, 0x7b, 0xa1, 0xb7, 0x4d, 0x8b, 0x80, 0x50, 0xa1, 0xb4, 0x48, 0x49, 0x94, 0x29, - 0x0c, 0x24, 0x2a, 0x48, 0x0c, 0x65, 0x22, 0x5b, 0x25, 0x10, 0x25, 0xdd, 0x58, 0xa2, 0xfc, 0x71, - 0x13, 0x4b, 0x4d, 0x1c, 0x6c, 0xa7, 0x52, 0xde, 0x80, 0x91, 0x91, 0xb1, 0x0f, 0xc1, 0x43, 0x30, - 0x56, 0x4c, 0x4c, 0x15, 0x6a, 0x07, 0x98, 0xfb, 0x04, 0xc8, 0x76, 0x52, 0xa1, 0x4e, 0x39, 0x39, - 0xdf, 0xe7, 0x1c, 0xff, 0xec, 0xa8, 0x0e, 0x65, 0x04, 0xa5, 0xd0, 0x43, 0x25, 0x83, 0x24, 0xc9, - 0x23, 0x54, 0x7e, 0xae, 0x21, 0x69, 0xbc, 0xed, 0xcc, 0x2b, 0x20, 0xa5, 0x51, 0x06, 0xa9, 0x5b, - 0x11, 0xcc, 0xb0, 0x36, 0x91, 0xa6, 0x7b, 0x65, 0xba, 0xdb, 0xd9, 0x74, 0x9c, 0xe1, 0x0c, 0x0b, - 0xcb, 0xe3, 0x95, 0x5c, 0x30, 0x9d, 0x24, 0x98, 0x16, 0x98, 0x86, 0x12, 0xc8, 0x97, 0x16, 0x3d, - 0x4b, 0x70, 0x01, 0x59, 0xbc, 0x66, 0x5e, 0x42, 0x9a, 0x8a, 0x61, 0xaf, 0x22, 0x18, 0xaf, 0x25, - 0xb4, 0xff, 0xdc, 0xa8, 0x4f, 0xdf, 0xd3, 0x6c, 0x55, 0xc7, 0x05, 0x62, 0x1f, 0xf9, 0x8c, 0x00, - 0xd2, 0x0a, 0x97, 0x14, 0x6a, 0xae, 0xda, 0x17, 0x93, 0x43, 0x94, 0xea, 0xc0, 0x02, 0xce, 0xc0, - 0x7f, 0x72, 0x3e, 0x98, 0x0f, 0x9b, 0xa8, 0xd8, 0xcc, 0xed, 0x8e, 0xd8, 0xc1, 0x9d, 0x28, 0x17, - 0x29, 0xf7, 0xc5, 0x26, 0xb9, 0x7f, 0x73, 0xed, 0x77, 0xc4, 0x0e, 0xee, 0x44, 0xb9, 0x48, 0xb5, - 0xe7, 0x6a, 0x8f, 0x40, 0x5a, 0x6f, 0x98, 0x7e, 0x6b, 0x01, 0x67, 0xe4, 0x3f, 0x3e, 0x1f, 0xcc, - 0x07, 0xd2, 0x96, 0x7d, 0x3b, 0x68, 0x05, 0xed, 0x9d, 0x3a, 0x10, 0x9b, 0x0e, 0x71, 0x45, 0xf5, - 0x7b, 0x16, 0x70, 0x86, 0x2f, 0x27, 0x6e, 0x17, 0xcb, 0x95, 0xb1, 0xdc, 0x25, 0x37, 0x3e, 0x54, - 0xd4, 0x1f, 0x9f, 0x0f, 0xe6, 0x23, 0xf9, 0xa1, 0xcb, 0x2a, 0x3b, 0xe8, 0x57, 0x2d, 0xe7, 0x83, - 0x73, 0x88, 0xb2, 0x9c, 0xe9, 0xf7, 0x2d, 0xe0, 0xdc, 0xfe, 0x3f, 0x58, 0xf6, 0xed, 0xa0, 0x15, - 0xb4, 0x37, 0xea, 0x68, 0x4d, 0x70, 0x11, 0x46, 0x69, 0x4a, 0x20, 0xa5, 0x7a, 0x4f, 0xe4, 0xd2, - 0x7f, 0x7e, 0x7f, 0x31, 0x6e, 0xcf, 0xf8, 0xad, 0x24, 0x2b, 0x46, 0x50, 0x99, 0x05, 0x43, 0x6e, - 0xb7, 0xad, 0xf9, 0xe8, 0xcb, 0xce, 0x54, 0xbe, 0xed, 0x4c, 0xf0, 0x77, 0x67, 0x2a, 0xfe, 0xf2, - 0xc7, 0xd1, 0x00, 0xfb, 0xa3, 0x01, 0x7e, 0x1f, 0x0d, 0xf0, 0xf5, 0x64, 0x28, 0xfb, 0x93, 0xa1, - 0xfc, 0x3a, 0x19, 0xca, 0xa7, 0xd7, 0x19, 0x62, 0x79, 0x1d, 0xf3, 0x40, 0xed, 0xcd, 0x79, 0x04, - 0x6e, 0xa2, 0x06, 0x92, 0xcb, 0x53, 0x9c, 0x31, 0xed, 0xa8, 0xfc, 0x39, 0xe2, 0x9e, 0xb8, 0xc2, - 0x57, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x72, 0x51, 0x12, 0x90, 0x57, 0x02, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x92, 0x3f, 0x0f, 0x93, 0x40, + 0x18, 0x87, 0xb9, 0x56, 0xfb, 0x87, 0xd6, 0xa8, 0xd8, 0x18, 0x5a, 0x23, 0x10, 0x26, 0x1c, 0x3c, + 0x52, 0x4d, 0x1c, 0xea, 0x24, 0x5b, 0x07, 0xb5, 0xd2, 0xcd, 0x85, 0x50, 0xb8, 0xc2, 0x25, 0x85, + 0xc3, 0xbb, 0xa3, 0x09, 0xdf, 0xc0, 0xd1, 0xd1, 0xb1, 0x1f, 0xc2, 0x0f, 0xe1, 0xd8, 0x38, 0x39, + 0x35, 0xa6, 0x5d, 0x74, 0xed, 0x27, 0x30, 0xdc, 0xd1, 0x6a, 0x3a, 0xf1, 0xf2, 0x3e, 0xcf, 0xf1, + 0xbb, 0xf7, 0x0e, 0xd5, 0x61, 0x9c, 0xe2, 0x18, 0xb9, 0x38, 0xe7, 0x88, 0x46, 0x69, 0x88, 0xf3, + 0x4f, 0x25, 0xa2, 0x95, 0xbb, 0x9d, 0xba, 0x19, 0x62, 0x2c, 0x4c, 0x10, 0x83, 0x05, 0x25, 0x9c, + 0x68, 0x63, 0x69, 0xc2, 0x1b, 0x13, 0x6e, 0xa7, 0x93, 0x51, 0x42, 0x12, 0x22, 0x2c, 0xb7, 0xae, + 0xe4, 0x82, 0xc9, 0x38, 0x22, 0x2c, 0x23, 0x2c, 0x90, 0x40, 0xbe, 0x34, 0xe8, 0x29, 0x47, 0x79, + 0x8c, 0x68, 0x86, 0x73, 0xee, 0x46, 0xb4, 0x2a, 0x38, 0x71, 0x0b, 0x4a, 0xc8, 0x5a, 0x62, 0xfb, + 0x4f, 0x4b, 0x7d, 0xfc, 0x96, 0x25, 0xcb, 0x72, 0x95, 0x61, 0xfe, 0xa1, 0x4e, 0xf1, 0x11, 0x2b, + 0x48, 0xce, 0x90, 0x06, 0xd5, 0x9e, 0xc8, 0x0e, 0x70, 0xac, 0x03, 0x0b, 0x38, 0x7d, 0xef, 0xd1, + 0xf9, 0x60, 0xde, 0xaf, 0xc2, 0x6c, 0x33, 0xb3, 0x2f, 0xc4, 0xf6, 0xbb, 0xa2, 0x9c, 0xc7, 0xb5, + 0x2f, 0xb6, 0x59, 0xfb, 0xad, 0x5b, 0xff, 0x42, 0x6c, 0xbf, 0x2b, 0xca, 0x79, 0xac, 0x3d, 0x53, + 0x3b, 0x14, 0xb1, 0x72, 0xc3, 0xf5, 0xb6, 0x05, 0x9c, 0xa1, 0xf7, 0xf0, 0x7c, 0x30, 0xef, 0x49, + 0x5b, 0xf6, 0x6d, 0xbf, 0x11, 0xb4, 0x77, 0x6a, 0x5f, 0x6c, 0x3a, 0x20, 0x05, 0xd3, 0xef, 0x58, + 0xc0, 0x19, 0xbc, 0x78, 0x02, 0xff, 0x0d, 0x06, 0xe5, 0x60, 0x70, 0x51, 0x3b, 0xef, 0x0b, 0xe6, + 0x8d, 0xce, 0x07, 0xf3, 0x81, 0xfc, 0xd4, 0x75, 0x9d, 0xed, 0xf7, 0x8a, 0x86, 0xd7, 0xd1, 0x29, + 0xc2, 0x49, 0xca, 0xf5, 0xbb, 0x16, 0x70, 0xda, 0xff, 0x47, 0xcb, 0xbe, 0xed, 0x37, 0x82, 0xf6, + 0x5a, 0x1d, 0xae, 0x29, 0xc9, 0x82, 0x30, 0x8e, 0x29, 0x62, 0x4c, 0xef, 0x88, 0xc9, 0xf4, 0x1f, + 0xdf, 0x9e, 0x8f, 0x9a, 0x73, 0x7e, 0x23, 0xc9, 0x92, 0x53, 0x9c, 0x27, 0xfe, 0xa0, 0xb6, 0x9b, + 0xd6, 0x6c, 0xf8, 0x79, 0x67, 0x2a, 0x5f, 0x77, 0x26, 0xf8, 0xbd, 0x33, 0x15, 0x6f, 0xf1, 0xfd, + 0x68, 0x80, 0xfd, 0xd1, 0x00, 0xbf, 0x8e, 0x06, 0xf8, 0x72, 0x32, 0x94, 0xfd, 0xc9, 0x50, 0x7e, + 0x9e, 0x0c, 0xe5, 0xe3, 0xab, 0x04, 0xf3, 0xb4, 0x5c, 0xc1, 0x88, 0x64, 0xcd, 0xed, 0xb9, 0x14, + 0x6d, 0xc2, 0x0a, 0xd1, 0xeb, 0x53, 0x9c, 0x32, 0xbb, 0x50, 0xf9, 0x83, 0xac, 0x3a, 0xe2, 0x12, + 0x5f, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x5e, 0x6b, 0x0e, 0x66, 0x5b, 0x02, 0x00, 0x00, } func (m *MsgSubmitQueryResponse) Marshal() (dAtA []byte, err error) { diff --git a/relayer/chains/penumbra/core/chain/v1alpha1/chain.pb.go b/relayer/chains/penumbra/core/chain/v1alpha1/chain.pb.go index 1a6f00258..16e8fe13e 100644 --- a/relayer/chains/penumbra/core/chain/v1alpha1/chain.pb.go +++ b/relayer/chains/penumbra/core/chain/v1alpha1/chain.pb.go @@ -334,77 +334,6 @@ func (m *FmdParameters) GetAsOfBlockHeight() uint64 { return 0 } -// TODO: delete with legacy code -// Information about a given asset at a given time (as specified by block -// height). Currently this only contains the total supply. -type AssetInfo struct { - AssetId *v1alpha1.AssetId `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"` - Denom *v1alpha1.Denom `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` - AsOfBlockHeight uint64 `protobuf:"varint,3,opt,name=as_of_block_height,json=asOfBlockHeight,proto3" json:"as_of_block_height,omitempty"` - TotalSupply uint64 `protobuf:"varint,4,opt,name=total_supply,json=totalSupply,proto3" json:"total_supply,omitempty"` -} - -func (m *AssetInfo) Reset() { *m = AssetInfo{} } -func (m *AssetInfo) String() string { return proto.CompactTextString(m) } -func (*AssetInfo) ProtoMessage() {} -func (*AssetInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{3} -} -func (m *AssetInfo) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *AssetInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_AssetInfo.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 *AssetInfo) XXX_Merge(src proto.Message) { - xxx_messageInfo_AssetInfo.Merge(m, src) -} -func (m *AssetInfo) XXX_Size() int { - return m.Size() -} -func (m *AssetInfo) XXX_DiscardUnknown() { - xxx_messageInfo_AssetInfo.DiscardUnknown(m) -} - -var xxx_messageInfo_AssetInfo proto.InternalMessageInfo - -func (m *AssetInfo) GetAssetId() *v1alpha1.AssetId { - if m != nil { - return m.AssetId - } - return nil -} - -func (m *AssetInfo) GetDenom() *v1alpha1.Denom { - if m != nil { - return m.Denom - } - return nil -} - -func (m *AssetInfo) GetAsOfBlockHeight() uint64 { - if m != nil { - return m.AsOfBlockHeight - } - return 0 -} - -func (m *AssetInfo) GetTotalSupply() uint64 { - if m != nil { - return m.TotalSupply - } - return 0 -} - // Contains the minimum data needed to update client state. type CompactBlock struct { Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` @@ -430,7 +359,7 @@ func (m *CompactBlock) Reset() { *m = CompactBlock{} } func (m *CompactBlock) String() string { return proto.CompactTextString(m) } func (*CompactBlock) ProtoMessage() {} func (*CompactBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{4} + return fileDescriptor_b0cedb8b84ba3224, []int{3} } func (m *CompactBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -534,7 +463,7 @@ func (m *StatePayload) Reset() { *m = StatePayload{} } func (m *StatePayload) String() string { return proto.CompactTextString(m) } func (*StatePayload) ProtoMessage() {} func (*StatePayload) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{5} + return fileDescriptor_b0cedb8b84ba3224, []int{4} } func (m *StatePayload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -628,7 +557,7 @@ func (m *StatePayload_RolledUp) Reset() { *m = StatePayload_RolledUp{} } func (m *StatePayload_RolledUp) String() string { return proto.CompactTextString(m) } func (*StatePayload_RolledUp) ProtoMessage() {} func (*StatePayload_RolledUp) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{5, 0} + return fileDescriptor_b0cedb8b84ba3224, []int{4, 0} } func (m *StatePayload_RolledUp) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -673,7 +602,7 @@ func (m *StatePayload_Note) Reset() { *m = StatePayload_Note{} } func (m *StatePayload_Note) String() string { return proto.CompactTextString(m) } func (*StatePayload_Note) ProtoMessage() {} func (*StatePayload_Note) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{5, 1} + return fileDescriptor_b0cedb8b84ba3224, []int{4, 1} } func (m *StatePayload_Note) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -725,7 +654,7 @@ func (m *StatePayload_Swap) Reset() { *m = StatePayload_Swap{} } func (m *StatePayload_Swap) String() string { return proto.CompactTextString(m) } func (*StatePayload_Swap) ProtoMessage() {} func (*StatePayload_Swap) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{5, 2} + return fileDescriptor_b0cedb8b84ba3224, []int{4, 2} } func (m *StatePayload_Swap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -769,14 +698,14 @@ func (m *StatePayload_Swap) GetSwap() *v1alpha11.SwapPayload { } type KnownAssets struct { - Assets []*v1alpha1.Asset `protobuf:"bytes,1,rep,name=assets,proto3" json:"assets,omitempty"` + Assets []*v1alpha1.DenomMetadata `protobuf:"bytes,1,rep,name=assets,proto3" json:"assets,omitempty"` } func (m *KnownAssets) Reset() { *m = KnownAssets{} } func (m *KnownAssets) String() string { return proto.CompactTextString(m) } func (*KnownAssets) ProtoMessage() {} func (*KnownAssets) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{6} + return fileDescriptor_b0cedb8b84ba3224, []int{5} } func (m *KnownAssets) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -805,7 +734,7 @@ func (m *KnownAssets) XXX_DiscardUnknown() { var xxx_messageInfo_KnownAssets proto.InternalMessageInfo -func (m *KnownAssets) GetAssets() []*v1alpha1.Asset { +func (m *KnownAssets) GetAssets() []*v1alpha1.DenomMetadata { if m != nil { return m.Assets } @@ -821,7 +750,7 @@ func (m *NoteSource) Reset() { *m = NoteSource{} } func (m *NoteSource) String() string { return proto.CompactTextString(m) } func (*NoteSource) ProtoMessage() {} func (*NoteSource) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{7} + return fileDescriptor_b0cedb8b84ba3224, []int{6} } func (m *NoteSource) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -867,7 +796,7 @@ func (m *SpendInfo) Reset() { *m = SpendInfo{} } func (m *SpendInfo) String() string { return proto.CompactTextString(m) } func (*SpendInfo) ProtoMessage() {} func (*SpendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{8} + return fileDescriptor_b0cedb8b84ba3224, []int{7} } func (m *SpendInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -920,7 +849,7 @@ func (m *GenesisAppState) Reset() { *m = GenesisAppState{} } func (m *GenesisAppState) String() string { return proto.CompactTextString(m) } func (*GenesisAppState) ProtoMessage() {} func (*GenesisAppState) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{9} + return fileDescriptor_b0cedb8b84ba3224, []int{8} } func (m *GenesisAppState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -980,7 +909,7 @@ func (m *GenesisAppState_Allocation) Reset() { *m = GenesisAppState_Allo func (m *GenesisAppState_Allocation) String() string { return proto.CompactTextString(m) } func (*GenesisAppState_Allocation) ProtoMessage() {} func (*GenesisAppState_Allocation) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{9, 0} + return fileDescriptor_b0cedb8b84ba3224, []int{8, 0} } func (m *GenesisAppState_Allocation) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1039,7 +968,7 @@ func (m *Epoch) Reset() { *m = Epoch{} } func (m *Epoch) String() string { return proto.CompactTextString(m) } func (*Epoch) ProtoMessage() {} func (*Epoch) Descriptor() ([]byte, []int) { - return fileDescriptor_b0cedb8b84ba3224, []int{10} + return fileDescriptor_b0cedb8b84ba3224, []int{9} } func (m *Epoch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1086,7 +1015,6 @@ func init() { proto.RegisterType((*ChainParameters)(nil), "penumbra.core.chain.v1alpha1.ChainParameters") proto.RegisterType((*Ratio)(nil), "penumbra.core.chain.v1alpha1.Ratio") proto.RegisterType((*FmdParameters)(nil), "penumbra.core.chain.v1alpha1.FmdParameters") - proto.RegisterType((*AssetInfo)(nil), "penumbra.core.chain.v1alpha1.AssetInfo") proto.RegisterType((*CompactBlock)(nil), "penumbra.core.chain.v1alpha1.CompactBlock") proto.RegisterType((*StatePayload)(nil), "penumbra.core.chain.v1alpha1.StatePayload") proto.RegisterType((*StatePayload_RolledUp)(nil), "penumbra.core.chain.v1alpha1.StatePayload.RolledUp") @@ -1105,105 +1033,101 @@ func init() { } var fileDescriptor_b0cedb8b84ba3224 = []byte{ - // 1561 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4b, 0x8f, 0x24, 0x47, - 0x11, 0x9e, 0x9e, 0x77, 0x47, 0xf7, 0xcc, 0x2c, 0xe9, 0x7d, 0xd4, 0x0e, 0xc3, 0x6c, 0xbb, 0xe5, - 0x85, 0xde, 0xb5, 0xe8, 0xc6, 0x6d, 0x0b, 0xac, 0x36, 0x46, 0x3b, 0x8f, 0x65, 0x76, 0x65, 0xef, - 0xba, 0x9d, 0x63, 0x16, 0xb4, 0x5a, 0x54, 0xca, 0xae, 0xca, 0x99, 0x4e, 0x6d, 0x55, 0x66, 0x51, - 0x99, 0x35, 0x8f, 0x3b, 0x48, 0x1c, 0xf9, 0x0d, 0x70, 0xe3, 0x80, 0xc4, 0xbf, 0x40, 0x9c, 0x7c, - 0x44, 0x9c, 0xd0, 0xec, 0x8d, 0x13, 0x07, 0x7e, 0x00, 0xca, 0xc8, 0x7a, 0xf4, 0x34, 0xa6, 0xc7, - 0x83, 0x7c, 0xab, 0x8c, 0xf8, 0xbe, 0x2f, 0xa3, 0x22, 0x32, 0x32, 0xaa, 0xa0, 0x93, 0x70, 0x99, - 0xc5, 0xa3, 0x94, 0xf5, 0x02, 0x95, 0xf2, 0x5e, 0x30, 0x66, 0x42, 0xf6, 0x4e, 0xde, 0x63, 0x51, - 0x32, 0x66, 0xef, 0xb9, 0x65, 0x37, 0x49, 0x95, 0x51, 0x64, 0xab, 0x40, 0x76, 0x2d, 0xb2, 0xeb, - 0x5c, 0x05, 0x72, 0xf3, 0xe1, 0x94, 0x4e, 0x7a, 0x9e, 0x18, 0x35, 0x21, 0x84, 0x6b, 0xa7, 0xb4, - 0x39, 0xb5, 0xa7, 0x36, 0xec, 0x35, 0xaf, 0xa0, 0xb8, 0xcc, 0x91, 0xef, 0x5c, 0x46, 0x86, 0xfc, - 0xac, 0xc2, 0x85, 0xfc, 0xcc, 0xa1, 0xda, 0xff, 0x5e, 0x81, 0x8d, 0x3d, 0x1b, 0xce, 0x90, 0xa5, - 0x2c, 0xe6, 0x86, 0xa7, 0x9a, 0xdc, 0x85, 0x55, 0x8c, 0xd0, 0x17, 0xa1, 0x57, 0x6b, 0xd5, 0x3a, - 0x75, 0xba, 0x82, 0xeb, 0xa7, 0x21, 0xb9, 0x0f, 0xeb, 0x3c, 0x51, 0xc1, 0xd8, 0x0f, 0xb3, 0x94, - 0x19, 0xa1, 0xa4, 0x37, 0xdf, 0xaa, 0x75, 0x16, 0xe9, 0x1a, 0x5a, 0xf7, 0x73, 0x23, 0x79, 0x00, - 0x37, 0x32, 0x39, 0x52, 0x32, 0x14, 0xf2, 0xd8, 0x47, 0x97, 0xf6, 0x16, 0x10, 0xb8, 0x51, 0xda, - 0x1f, 0xa3, 0x99, 0x7c, 0x00, 0xb7, 0x59, 0x60, 0xc4, 0x09, 0xf7, 0x4f, 0x58, 0x24, 0x42, 0x66, - 0x54, 0xea, 0x47, 0x22, 0x16, 0xc6, 0x5b, 0x44, 0xc2, 0x4d, 0xe7, 0x7d, 0x51, 0x38, 0x3f, 0xb5, - 0x3e, 0xd2, 0x81, 0x1b, 0x23, 0xa6, 0xb9, 0x9f, 0xf2, 0x53, 0x96, 0x86, 0x7e, 0xca, 0x0c, 0xf7, - 0xea, 0x88, 0x5f, 0xb7, 0x76, 0x8a, 0x66, 0xca, 0x0c, 0x27, 0x8f, 0x60, 0x4b, 0x47, 0x4c, 0x8f, - 0x6d, 0x24, 0x09, 0x97, 0x2c, 0x32, 0xe7, 0x7e, 0x2c, 0xf4, 0x88, 0x8f, 0xd9, 0x89, 0x50, 0xa9, - 0xb7, 0x84, 0xac, 0xcd, 0x02, 0x33, 0x74, 0x90, 0x67, 0x15, 0x82, 0x0c, 0xe0, 0xee, 0x7f, 0x29, - 0x84, 0xea, 0x54, 0x1a, 0x11, 0x73, 0x0f, 0x90, 0x7e, 0x67, 0x8a, 0xbe, 0x9f, 0xbb, 0xc9, 0x8f, - 0xc0, 0xd3, 0xe2, 0x58, 0xf2, 0xd0, 0x1f, 0x45, 0x2a, 0x78, 0xad, 0xfd, 0x53, 0x21, 0x43, 0x75, - 0xea, 0x47, 0x5c, 0x7a, 0x0d, 0xa4, 0xde, 0x72, 0xfe, 0x5d, 0x74, 0xff, 0x1c, 0xbd, 0x9f, 0x72, - 0x49, 0xfa, 0x70, 0x2b, 0x16, 0x5a, 0x57, 0xc4, 0x98, 0x9d, 0x89, 0x38, 0x8b, 0xbd, 0x26, 0xb2, - 0xde, 0x72, 0x4e, 0xc7, 0x7a, 0xe6, 0x5c, 0xe4, 0x1e, 0x34, 0xc4, 0x28, 0xf0, 0xb9, 0x64, 0xa3, - 0x88, 0x87, 0xde, 0x72, 0xab, 0xd6, 0x59, 0xa5, 0x20, 0x46, 0xc1, 0x63, 0x67, 0x21, 0x8f, 0xe1, - 0x9e, 0x90, 0x23, 0x95, 0xc9, 0xd0, 0x17, 0x81, 0xee, 0xff, 0xc0, 0x37, 0x29, 0x93, 0xfa, 0x88, - 0xa7, 0xba, 0x24, 0xad, 0x20, 0x69, 0x2b, 0x87, 0x3d, 0xb5, 0xa8, 0x2f, 0x0a, 0x50, 0x21, 0x73, - 0x00, 0x2d, 0x95, 0x99, 0xd9, 0x3a, 0xab, 0xa8, 0xf3, 0x9d, 0x02, 0xf7, 0xd5, 0x42, 0x1f, 0xc0, - 0xed, 0x24, 0x55, 0x89, 0xd2, 0x2c, 0xf2, 0x4f, 0x94, 0xb1, 0x09, 0x76, 0x6f, 0xeb, 0xdd, 0x74, - 0xb5, 0x2f, 0xbc, 0x2f, 0xd0, 0xe9, 0xde, 0x96, 0xfc, 0x12, 0xee, 0x94, 0xac, 0x90, 0x27, 0x4a, - 0x0b, 0xe3, 0xb3, 0x58, 0x65, 0xd2, 0x78, 0xb7, 0x5a, 0xb5, 0x4e, 0xa3, 0x7f, 0xbf, 0x3b, 0xd5, - 0x6e, 0xae, 0x81, 0x8a, 0xd3, 0xdf, 0xdd, 0x41, 0x30, 0xbd, 0x55, 0xa8, 0xec, 0x3b, 0x11, 0x67, - 0xb6, 0x99, 0xaf, 0x82, 0xb2, 0xa7, 0xce, 0xff, 0x55, 0xa6, 0xd2, 0x2c, 0xf6, 0x6e, 0x63, 0x2b, - 0xbc, 0x55, 0xc6, 0x64, 0x7d, 0x9f, 0xa3, 0x8b, 0xfc, 0x70, 0x22, 0xa4, 0x84, 0x69, 0xed, 0x9b, - 0x71, 0xca, 0xf5, 0x58, 0x45, 0xa1, 0x77, 0x07, 0x59, 0xa5, 0xe4, 0x90, 0x69, 0xfd, 0x45, 0xe1, - 0x24, 0x1f, 0x82, 0x57, 0xf2, 0xf0, 0x08, 0x4d, 0x10, 0x3d, 0x24, 0x96, 0x09, 0x3a, 0xb4, 0xee, - 0x8a, 0xf9, 0x31, 0x7c, 0x3b, 0x64, 0xca, 0xd7, 0x09, 0x97, 0xa1, 0x5f, 0x60, 0xaa, 0xf4, 0xdf, - 0xc5, 0xf4, 0x7b, 0x21, 0x53, 0x87, 0x16, 0x31, 0x2c, 0x00, 0x79, 0xe6, 0xdb, 0x07, 0xb0, 0x44, - 0x6d, 0xab, 0x92, 0x2d, 0xa8, 0xcb, 0x2c, 0xe6, 0xa9, 0x6d, 0x2d, 0x6c, 0xf6, 0x45, 0x5a, 0x19, - 0x48, 0x0b, 0x1a, 0x21, 0x97, 0x2a, 0x16, 0x12, 0xfd, 0xae, 0xd7, 0x27, 0x4d, 0xed, 0x00, 0xd6, - 0x7e, 0x1a, 0x87, 0x13, 0x97, 0xc7, 0x7d, 0x58, 0x4f, 0x52, 0x1e, 0x08, 0x2d, 0x94, 0xf4, 0x47, - 0xc2, 0x68, 0x54, 0x5d, 0xa3, 0x6b, 0xa5, 0x75, 0x57, 0x18, 0x4d, 0xde, 0x05, 0xc2, 0xb4, 0xaf, - 0x8e, 0x5c, 0xc1, 0xfd, 0x31, 0x17, 0xc7, 0x63, 0x93, 0x6f, 0xb0, 0xc1, 0xf4, 0x67, 0x47, 0x58, - 0xec, 0x27, 0x68, 0x6e, 0xff, 0xbd, 0x06, 0xf5, 0x1d, 0xad, 0xb9, 0x79, 0x2a, 0x8f, 0x14, 0xd9, - 0x81, 0x55, 0x66, 0x17, 0xc5, 0xf5, 0xd4, 0xe8, 0x7f, 0xf7, 0xaa, 0x82, 0x23, 0x37, 0xa4, 0x2b, - 0xcc, 0x3d, 0x90, 0x01, 0x2c, 0xe1, 0x4b, 0xe0, 0x86, 0x8d, 0xfe, 0x3b, 0x57, 0xf0, 0xf7, 0x2d, - 0x96, 0x3a, 0xca, 0xff, 0x88, 0x7c, 0xe1, 0x2b, 0x23, 0x27, 0x6f, 0x43, 0xd3, 0x28, 0x63, 0xab, - 0x9b, 0x25, 0x49, 0x74, 0x9e, 0xdf, 0x69, 0x0d, 0xb4, 0x1d, 0xa2, 0xa9, 0xfd, 0xeb, 0x25, 0x68, - 0xee, 0xa9, 0x38, 0x61, 0x81, 0x41, 0x26, 0xb9, 0x0d, 0xcb, 0xb9, 0xa8, 0xab, 0x47, 0xbe, 0x22, - 0x9f, 0xc3, 0xba, 0x36, 0xcc, 0x70, 0x3f, 0x61, 0xe7, 0x91, 0x62, 0xa1, 0xf6, 0xe6, 0x5b, 0x0b, - 0x9d, 0x46, 0xff, 0x61, 0x77, 0xd6, 0x74, 0xe9, 0x1e, 0x5a, 0xce, 0xd0, 0x51, 0xe8, 0x9a, 0x9e, - 0x58, 0x69, 0xf2, 0x04, 0x40, 0x66, 0x51, 0x24, 0x8e, 0x04, 0x4f, 0xed, 0x0d, 0x6d, 0xe5, 0x3a, - 0x57, 0x24, 0xe3, 0x79, 0x41, 0xa0, 0x13, 0x5c, 0xab, 0xe4, 0xf2, 0x91, 0x2a, 0xe5, 0xae, 0xee, - 0x46, 0xff, 0xc1, 0x15, 0x4a, 0xcf, 0x78, 0xfa, 0x3a, 0xe2, 0x54, 0x29, 0x43, 0xeb, 0x48, 0xb6, - 0x8f, 0x56, 0xc9, 0x8d, 0x18, 0x54, 0xfa, 0xd6, 0xb5, 0x95, 0x90, 0x8c, 0x4a, 0x0f, 0xe0, 0x46, - 0xd5, 0x5d, 0x86, 0xa5, 0x86, 0x87, 0x78, 0xb1, 0xac, 0xd2, 0x8d, 0xb2, 0xab, 0x9c, 0x99, 0x50, - 0x58, 0x3f, 0x8a, 0x43, 0x3f, 0x29, 0xcf, 0xb1, 0x17, 0xe2, 0xc6, 0xef, 0xce, 0xce, 0xed, 0xa5, - 0xa3, 0x4f, 0xd7, 0x8e, 0x2e, 0x75, 0x02, 0x85, 0xa6, 0x3e, 0x65, 0x89, 0xaf, 0x32, 0x93, 0x64, - 0x46, 0x7b, 0x4b, 0x98, 0xde, 0xde, 0x94, 0xa2, 0x1d, 0xc5, 0xa5, 0xde, 0x2e, 0x33, 0xc1, 0xf8, - 0xf0, 0x94, 0x25, 0x9f, 0x21, 0x67, 0x9f, 0x19, 0x46, 0x1b, 0xba, 0x5c, 0x6b, 0xf2, 0x0b, 0xb8, - 0xe1, 0x46, 0xf3, 0x44, 0xa4, 0xcb, 0x18, 0xe9, 0xf7, 0x67, 0x47, 0x3a, 0x35, 0xe3, 0xe9, 0x46, - 0x70, 0xd9, 0xd0, 0xfe, 0xd7, 0x22, 0x34, 0x27, 0x8f, 0x0a, 0xa1, 0x50, 0x4f, 0x55, 0x14, 0xf1, - 0xd0, 0xcf, 0x92, 0xbc, 0xcf, 0xde, 0xff, 0xfa, 0x27, 0xad, 0x4b, 0x91, 0xfb, 0xb3, 0xe4, 0xc9, - 0x1c, 0x5d, 0x4d, 0xf3, 0x67, 0xf2, 0x18, 0x16, 0xa5, 0x32, 0x3c, 0x6f, 0xbb, 0xde, 0x35, 0xe4, - 0x9e, 0x2b, 0xc3, 0x9f, 0xcc, 0x51, 0xa4, 0x5b, 0x19, 0x9b, 0x14, 0x6c, 0xba, 0xeb, 0xc9, 0xd8, - 0xdc, 0x5a, 0x19, 0x4b, 0xdf, 0x7c, 0x09, 0xab, 0x45, 0x94, 0xe4, 0x39, 0x40, 0xa0, 0xe2, 0x58, - 0x98, 0x98, 0x4b, 0x93, 0xbf, 0x6e, 0xf7, 0x8a, 0x53, 0x87, 0xca, 0x7b, 0x25, 0x8b, 0x4e, 0x28, - 0x6c, 0xfe, 0xb6, 0x06, 0x8b, 0x36, 0x66, 0xf2, 0x08, 0x96, 0xb5, 0xca, 0xd2, 0x80, 0xe7, 0xa2, - 0x9d, 0xd9, 0xd1, 0x5a, 0xce, 0x21, 0xe2, 0x69, 0xce, 0x23, 0x3f, 0xb9, 0x94, 0xb4, 0x87, 0x57, - 0xb5, 0xa7, 0xaa, 0xba, 0x1d, 0x79, 0x9b, 0xbf, 0xa9, 0xc1, 0xa2, 0x7d, 0xef, 0x6f, 0x20, 0x94, - 0x8f, 0xf2, 0xc4, 0xbb, 0x50, 0xbe, 0x37, 0xeb, 0x28, 0xdb, 0x1d, 0xcb, 0x38, 0x2c, 0x69, 0x77, - 0x03, 0xd6, 0x2e, 0xdd, 0x5f, 0xed, 0x4f, 0xa0, 0xf1, 0x89, 0x54, 0xa7, 0x12, 0xaf, 0x67, 0x4d, - 0x7e, 0x0c, 0xcb, 0x78, 0x3f, 0xdb, 0x89, 0xb1, 0xf0, 0x35, 0x6e, 0x65, 0xa4, 0xd1, 0x9c, 0xd3, - 0x6e, 0x03, 0x54, 0x01, 0x93, 0x9b, 0xb0, 0x24, 0xa4, 0xe4, 0x6e, 0xa4, 0x35, 0xa9, 0x5b, 0xb4, - 0xcf, 0xa1, 0x8e, 0xe3, 0x10, 0xc7, 0xc8, 0x53, 0x68, 0xd8, 0xf4, 0xf8, 0xff, 0x67, 0x4a, 0x40, - 0x56, 0xbb, 0xbd, 0x0d, 0x4d, 0x37, 0x88, 0x2f, 0x8d, 0xb1, 0x06, 0xda, 0xf2, 0x11, 0xf6, 0xa7, - 0x05, 0xd8, 0x38, 0xe0, 0x92, 0x6b, 0xa1, 0x77, 0x92, 0x04, 0x4f, 0x0e, 0x19, 0x42, 0x73, 0xa2, - 0x99, 0x75, 0x1e, 0xc2, 0x35, 0x1b, 0xb9, 0x51, 0x35, 0xb2, 0x26, 0x07, 0x00, 0xe5, 0x57, 0x74, - 0x31, 0x1e, 0xa6, 0xab, 0xe4, 0xfe, 0x11, 0x4a, 0xbd, 0xf2, 0xc3, 0x9a, 0x4e, 0x50, 0xc9, 0x4b, - 0x68, 0xb0, 0x28, 0x52, 0x01, 0x7e, 0xce, 0x17, 0x93, 0xe1, 0xc3, 0xd9, 0x91, 0x4d, 0xbd, 0x5e, - 0x77, 0xa7, 0x14, 0xa0, 0x93, 0x62, 0x9b, 0x7f, 0xa8, 0x01, 0x54, 0x3e, 0xf2, 0x31, 0x2c, 0xe7, - 0x5f, 0x6f, 0xb5, 0xeb, 0x7c, 0xbd, 0xe5, 0x24, 0x5b, 0xe9, 0x6a, 0x94, 0xd7, 0x8b, 0x21, 0xfd, - 0x08, 0x56, 0x58, 0x18, 0xa6, 0x5c, 0xeb, 0xfc, 0x92, 0xb8, 0xf2, 0x13, 0xc1, 0xa1, 0x69, 0x41, - 0x6b, 0x3f, 0x82, 0x25, 0xfc, 0x43, 0x71, 0x47, 0x29, 0xe4, 0x67, 0xf9, 0x34, 0x76, 0x0b, 0x2c, - 0xb9, 0x9d, 0x1d, 0xd3, 0x25, 0xb7, 0x36, 0x57, 0xf2, 0xdd, 0x3f, 0xcf, 0xff, 0xe5, 0x62, 0xbb, - 0xf6, 0xe5, 0xc5, 0x76, 0xed, 0x1f, 0x17, 0xdb, 0xb5, 0xdf, 0xbd, 0xd9, 0x9e, 0xfb, 0xf2, 0xcd, - 0xf6, 0xdc, 0xdf, 0xde, 0x6c, 0xcf, 0x41, 0x2b, 0x50, 0xf1, 0xcc, 0x64, 0xee, 0x82, 0xab, 0xb3, - 0xfd, 0x47, 0x1b, 0xd6, 0x5e, 0xbe, 0x38, 0x16, 0x66, 0x9c, 0x8d, 0xba, 0x81, 0x8a, 0x7b, 0x81, - 0xd2, 0xb1, 0xd2, 0xbd, 0x94, 0x47, 0xec, 0x9c, 0xa7, 0xbd, 0x93, 0x7e, 0xf9, 0x88, 0x12, 0xba, - 0x37, 0xeb, 0xaf, 0xf4, 0x23, 0x5c, 0x16, 0xab, 0xdf, 0xcf, 0x2f, 0x0c, 0xf7, 0xf6, 0xfe, 0x38, - 0xbf, 0x35, 0x2c, 0x42, 0xd9, 0xb3, 0xa1, 0xe0, 0xd6, 0xdd, 0x17, 0x39, 0xe8, 0xaf, 0x95, 0xfb, - 0x95, 0x75, 0xbf, 0x42, 0xf7, 0xab, 0xc2, 0x7d, 0x31, 0xdf, 0x99, 0xe5, 0x7e, 0x75, 0x30, 0xdc, - 0x7d, 0xc6, 0x0d, 0x0b, 0x99, 0x61, 0xff, 0x9c, 0xbf, 0x57, 0x40, 0x07, 0x03, 0x8b, 0x1d, 0x0c, - 0x10, 0x3c, 0x18, 0x14, 0xe8, 0xd1, 0x32, 0xfe, 0x95, 0xbe, 0xff, 0x9f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x6a, 0x54, 0x2e, 0xcf, 0x5b, 0x0f, 0x00, 0x00, + // 1498 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4b, 0x6f, 0x1c, 0xc7, + 0x11, 0xe6, 0xf2, 0xcd, 0x5a, 0xbe, 0xd2, 0x12, 0xa9, 0x11, 0xc3, 0x50, 0x9b, 0x45, 0x94, 0xac, + 0xa4, 0x64, 0x37, 0xa2, 0x84, 0x44, 0xa0, 0xa0, 0x80, 0xcf, 0x90, 0x44, 0x44, 0x69, 0x35, 0x54, + 0x98, 0x40, 0x60, 0x30, 0xe8, 0x9d, 0x69, 0x72, 0x1b, 0x9a, 0xe9, 0x9e, 0x4c, 0xf7, 0xf0, 0x71, + 0x4f, 0x00, 0x1f, 0xfd, 0x1b, 0xec, 0x9b, 0x0f, 0x06, 0xfc, 0x2f, 0x0c, 0x9f, 0x74, 0xf4, 0xd1, + 0xa0, 0x6e, 0x3e, 0xf9, 0xe0, 0x1f, 0x60, 0x74, 0xf5, 0xcc, 0xec, 0x72, 0x65, 0x2c, 0x4d, 0xc3, + 0xb7, 0xe9, 0xaa, 0xef, 0xfb, 0xba, 0xba, 0xba, 0xaa, 0xbb, 0x07, 0x6a, 0x31, 0x13, 0x69, 0xd4, + 0x4a, 0x68, 0xc3, 0x97, 0x09, 0x6b, 0xf8, 0x6d, 0xca, 0x45, 0xe3, 0xe4, 0x21, 0x0d, 0xe3, 0x36, + 0x7d, 0x68, 0x87, 0xf5, 0x38, 0x91, 0x5a, 0x92, 0xc5, 0x1c, 0x59, 0x37, 0xc8, 0xba, 0x75, 0xe5, + 0xc8, 0x85, 0xfb, 0x3d, 0x3a, 0xc9, 0x79, 0xac, 0x65, 0x97, 0x10, 0x8e, 0xad, 0xd2, 0x42, 0xcf, + 0x9c, 0x4a, 0xd3, 0xb7, 0xac, 0x03, 0xc5, 0x61, 0x86, 0xfc, 0xdd, 0x65, 0x64, 0xc0, 0xce, 0x3a, + 0xb8, 0x80, 0x9d, 0x59, 0x54, 0xf5, 0xfb, 0x31, 0x98, 0xd9, 0x30, 0xe1, 0x34, 0x69, 0x42, 0x23, + 0xa6, 0x59, 0xa2, 0xc8, 0x6d, 0x18, 0xc7, 0x08, 0x3d, 0x1e, 0x38, 0xa5, 0x4a, 0xa9, 0x36, 0xe1, + 0x8e, 0xe1, 0x78, 0x37, 0x20, 0x77, 0x61, 0x9a, 0xc5, 0xd2, 0x6f, 0x7b, 0x41, 0x9a, 0x50, 0xcd, + 0xa5, 0x70, 0x06, 0x2b, 0xa5, 0xda, 0xb0, 0x3b, 0x85, 0xd6, 0xcd, 0xcc, 0x48, 0xee, 0xc1, 0x6c, + 0x2a, 0x5a, 0x52, 0x04, 0x5c, 0x1c, 0x7b, 0xe8, 0x52, 0xce, 0x10, 0x02, 0x67, 0x0a, 0xfb, 0x16, + 0x9a, 0xc9, 0x63, 0x98, 0xa7, 0xbe, 0xe6, 0x27, 0xcc, 0x3b, 0xa1, 0x21, 0x0f, 0xa8, 0x96, 0x89, + 0x17, 0xf2, 0x88, 0x6b, 0x67, 0x18, 0x09, 0x37, 0xad, 0xf7, 0x20, 0x77, 0x3e, 0x37, 0x3e, 0x52, + 0x83, 0xd9, 0x16, 0x55, 0xcc, 0x4b, 0xd8, 0x29, 0x4d, 0x02, 0x2f, 0xa1, 0x9a, 0x39, 0x13, 0x88, + 0x9f, 0x36, 0x76, 0x17, 0xcd, 0x2e, 0xd5, 0x8c, 0xac, 0xc2, 0xa2, 0x0a, 0xa9, 0x6a, 0x9b, 0x48, + 0x62, 0x26, 0x68, 0xa8, 0xcf, 0xbd, 0x88, 0xab, 0x16, 0x6b, 0xd3, 0x13, 0x2e, 0x13, 0x67, 0x04, + 0x59, 0x0b, 0x39, 0xa6, 0x69, 0x21, 0x7b, 0x1d, 0x04, 0x59, 0x81, 0xdb, 0x1f, 0x28, 0x04, 0xf2, + 0x54, 0x68, 0x1e, 0x31, 0x07, 0x90, 0x7e, 0xab, 0x87, 0xbe, 0x99, 0xb9, 0xc9, 0x5f, 0xc1, 0x51, + 0xfc, 0x58, 0xb0, 0xc0, 0x6b, 0x85, 0xd2, 0x7f, 0xab, 0xbc, 0x53, 0x2e, 0x02, 0x79, 0xea, 0x85, + 0x4c, 0x38, 0x65, 0xa4, 0xce, 0x59, 0xff, 0x3a, 0xba, 0xff, 0x85, 0xde, 0xe7, 0x4c, 0x90, 0x65, + 0x98, 0x8b, 0xb8, 0x52, 0x1d, 0x62, 0x44, 0xcf, 0x78, 0x94, 0x46, 0xce, 0x24, 0xb2, 0x6e, 0x58, + 0xa7, 0x65, 0xed, 0x59, 0x17, 0xb9, 0x03, 0x65, 0xde, 0xf2, 0x3d, 0x26, 0x68, 0x2b, 0x64, 0x81, + 0x33, 0x5a, 0x29, 0xd5, 0xc6, 0x5d, 0xe0, 0x2d, 0x7f, 0xcb, 0x5a, 0xc8, 0x16, 0xdc, 0xe1, 0xa2, + 0x25, 0x53, 0x11, 0x78, 0xdc, 0x57, 0xcb, 0x7f, 0xf6, 0x74, 0x42, 0x85, 0x3a, 0x62, 0x89, 0x2a, + 0x48, 0x63, 0x48, 0x5a, 0xcc, 0x60, 0xbb, 0x06, 0xf5, 0x3a, 0x07, 0xe5, 0x32, 0xdb, 0x50, 0x91, + 0xa9, 0xee, 0xaf, 0x33, 0x8e, 0x3a, 0xbf, 0xc9, 0x71, 0x3f, 0x2e, 0xf4, 0x18, 0xe6, 0xe3, 0x44, + 0xc6, 0x52, 0xd1, 0xd0, 0x3b, 0x91, 0xda, 0x24, 0xd8, 0xae, 0xd6, 0xb9, 0x69, 0xf7, 0x3e, 0xf7, + 0x1e, 0xa0, 0xd3, 0xae, 0x96, 0xfc, 0x07, 0x6e, 0x15, 0xac, 0x80, 0xc5, 0x52, 0x71, 0xed, 0xd1, + 0x48, 0xa6, 0x42, 0x3b, 0x73, 0x95, 0x52, 0xad, 0xbc, 0x7c, 0xb7, 0xde, 0xd3, 0x6e, 0xb6, 0x81, + 0xf2, 0xea, 0xaf, 0xaf, 0x21, 0xd8, 0x9d, 0xcb, 0x55, 0x36, 0xad, 0x88, 0x35, 0x9b, 0xcc, 0x77, + 0x82, 0x32, 0x55, 0xe7, 0xfd, 0x37, 0x95, 0x49, 0x1a, 0x39, 0xf3, 0xd8, 0x0a, 0x37, 0x8a, 0x98, + 0x8c, 0xef, 0x15, 0xba, 0xc8, 0x5f, 0xba, 0x42, 0x8a, 0xa9, 0x52, 0x9e, 0x6e, 0x27, 0x4c, 0xb5, + 0x65, 0x18, 0x38, 0xb7, 0x90, 0x55, 0x48, 0x36, 0xa9, 0x52, 0xaf, 0x73, 0x27, 0x79, 0x02, 0x4e, + 0xc1, 0xc3, 0x12, 0xea, 0x22, 0x3a, 0x48, 0x2c, 0x12, 0xb4, 0x6f, 0xdc, 0x1d, 0xe6, 0x33, 0xf8, + 0x75, 0x40, 0xa5, 0xa7, 0x62, 0x26, 0x02, 0x2f, 0xc7, 0x74, 0xd2, 0x7f, 0x1b, 0xd3, 0xef, 0x04, + 0x54, 0xee, 0x1b, 0x44, 0x33, 0x07, 0x64, 0x99, 0xaf, 0x6e, 0xc3, 0x88, 0x6b, 0x5a, 0x95, 0x2c, + 0xc2, 0x84, 0x48, 0x23, 0x96, 0x98, 0xd6, 0xc2, 0x66, 0x1f, 0x76, 0x3b, 0x06, 0x52, 0x81, 0x72, + 0xc0, 0x84, 0x8c, 0xb8, 0x40, 0xbf, 0xed, 0xf5, 0x6e, 0x53, 0xd5, 0x87, 0xa9, 0xbf, 0x47, 0x41, + 0xd7, 0xe1, 0x71, 0x17, 0xa6, 0xe3, 0x84, 0xf9, 0x5c, 0x71, 0x29, 0xbc, 0x16, 0xd7, 0x0a, 0x55, + 0xa7, 0xdc, 0xa9, 0xc2, 0xba, 0xce, 0xb5, 0x22, 0x0f, 0x80, 0x50, 0xe5, 0xc9, 0x23, 0xbb, 0xe1, + 0x5e, 0x9b, 0xf1, 0xe3, 0xb6, 0xce, 0x26, 0x98, 0xa1, 0xea, 0xe5, 0x11, 0x6e, 0xf6, 0x0e, 0x9a, + 0xab, 0xff, 0x1b, 0x81, 0xc9, 0x0d, 0x19, 0xc5, 0xd4, 0xd7, 0x68, 0x26, 0xf3, 0x30, 0x9a, 0x31, + 0x6c, 0xc8, 0xd9, 0x88, 0xbc, 0x82, 0x69, 0xa5, 0xa9, 0x66, 0x5e, 0x4c, 0xcf, 0x43, 0x49, 0x03, + 0xe5, 0x0c, 0x56, 0x86, 0x6a, 0xe5, 0xe5, 0xfb, 0xf5, 0x7e, 0x07, 0x70, 0x7d, 0xdf, 0x70, 0x9a, + 0x96, 0xe2, 0x4e, 0xa9, 0xae, 0x91, 0x22, 0x3b, 0x00, 0x22, 0x0d, 0x43, 0x7e, 0xc4, 0x59, 0x62, + 0x0e, 0x31, 0x23, 0x57, 0xbb, 0xa2, 0xc0, 0x5e, 0xe4, 0x04, 0xb7, 0x8b, 0x6b, 0x94, 0xec, 0x62, + 0x13, 0x29, 0xed, 0xe9, 0x56, 0x5e, 0xbe, 0x77, 0x85, 0xd2, 0x1e, 0x4b, 0xde, 0x86, 0xcc, 0x95, + 0x52, 0xbb, 0x13, 0x48, 0x36, 0x9f, 0x46, 0xc9, 0x9e, 0xc2, 0xa8, 0xf4, 0xab, 0x6b, 0x2b, 0x21, + 0x19, 0x95, 0xee, 0xc1, 0x6c, 0xa7, 0x00, 0x35, 0x4d, 0x34, 0x0b, 0xb0, 0xf7, 0xc6, 0xdd, 0x99, + 0xa2, 0xf0, 0xac, 0x99, 0xb8, 0x30, 0x7d, 0x14, 0x05, 0x5e, 0x5c, 0x6c, 0xb5, 0x13, 0xe0, 0xc4, + 0x0f, 0xfa, 0xe7, 0xf6, 0x52, 0x75, 0xb8, 0x53, 0x47, 0x97, 0x8a, 0xc5, 0x85, 0x49, 0x75, 0x4a, + 0x63, 0x4f, 0xa6, 0x3a, 0x4e, 0xb5, 0x72, 0x46, 0x30, 0xbd, 0x8d, 0x1e, 0x45, 0x73, 0x5b, 0x15, + 0x7a, 0xeb, 0x54, 0xfb, 0xed, 0xfd, 0x53, 0x1a, 0xbf, 0x44, 0xce, 0x26, 0xd5, 0xd4, 0x2d, 0xab, + 0x62, 0xac, 0xc8, 0xbf, 0x61, 0xd6, 0xde, 0x5e, 0x5d, 0x91, 0x8e, 0x62, 0xa4, 0x7f, 0xea, 0x1f, + 0x69, 0xcf, 0x35, 0xe8, 0xce, 0xf8, 0x97, 0x0d, 0xd5, 0xef, 0x86, 0x61, 0xb2, 0xbb, 0x54, 0x88, + 0x0b, 0x13, 0x89, 0x0c, 0x43, 0x16, 0x78, 0x69, 0x8c, 0x95, 0x58, 0x5e, 0x7e, 0xf4, 0xd3, 0x2b, + 0xad, 0xee, 0x22, 0xf7, 0x9f, 0xf1, 0xce, 0x80, 0x3b, 0x9e, 0x64, 0xdf, 0x64, 0x0b, 0x86, 0x85, + 0xd4, 0x0c, 0x5b, 0xe1, 0xc3, 0x54, 0xf4, 0x93, 0x7b, 0x21, 0x35, 0xdb, 0x19, 0x70, 0x91, 0x6e, + 0x64, 0x4c, 0x52, 0xf0, 0xd6, 0xbd, 0x9e, 0x8c, 0xc9, 0xad, 0x91, 0x31, 0xf4, 0x85, 0x37, 0x30, + 0x9e, 0x47, 0x49, 0x5e, 0x00, 0xf8, 0x32, 0x8a, 0xb8, 0x8e, 0x98, 0xd0, 0xd9, 0x72, 0xeb, 0x57, + 0x54, 0x1d, 0x2a, 0x6f, 0x14, 0x2c, 0xb7, 0x4b, 0x61, 0xe1, 0xa3, 0x12, 0x0c, 0x9b, 0x98, 0xc9, + 0x2a, 0x8c, 0x2a, 0x99, 0x26, 0x3e, 0xcb, 0x44, 0x6b, 0xfd, 0xa3, 0x35, 0x9c, 0x7d, 0xc4, 0xbb, + 0x19, 0x8f, 0xfc, 0xed, 0x52, 0xd2, 0xee, 0x5f, 0xd5, 0x9e, 0xb2, 0xd3, 0xed, 0xc8, 0x5b, 0xf8, + 0x7f, 0x09, 0x86, 0xcd, 0xba, 0x7f, 0x81, 0x50, 0x9e, 0x66, 0x89, 0xb7, 0xa1, 0xfc, 0xa1, 0x5f, + 0x29, 0x9b, 0x19, 0x8b, 0x38, 0x0c, 0x69, 0x7d, 0x06, 0xa6, 0x2e, 0x9d, 0x5f, 0xd5, 0x7d, 0x28, + 0xff, 0x43, 0xc8, 0x53, 0xb1, 0xa6, 0x14, 0xd3, 0x8a, 0x6c, 0xc2, 0x28, 0xc5, 0x2f, 0xa7, 0x84, + 0x9d, 0xf2, 0xc7, 0x2b, 0x56, 0xba, 0x69, 0x4e, 0xea, 0x3d, 0xa6, 0x69, 0x60, 0xda, 0x24, 0xe3, + 0x56, 0xab, 0x00, 0x9d, 0xc0, 0xc9, 0x4d, 0x18, 0xe1, 0x42, 0x30, 0x7b, 0xfa, 0x4f, 0xba, 0x76, + 0x50, 0x3d, 0x87, 0x09, 0xbc, 0x39, 0x76, 0xc5, 0x91, 0x24, 0xbb, 0x50, 0x36, 0x69, 0xf2, 0x7e, + 0x66, 0x6a, 0x40, 0x74, 0x66, 0xfb, 0x2d, 0x4c, 0xda, 0x3b, 0xeb, 0xd2, 0x89, 0x5f, 0x46, 0x5b, + 0x76, 0xda, 0x7f, 0x3e, 0x04, 0x33, 0xdb, 0x4c, 0x30, 0xc5, 0xd5, 0x5a, 0x1c, 0x63, 0x05, 0x91, + 0x26, 0x4c, 0x76, 0x35, 0xb5, 0xca, 0x42, 0xb8, 0x66, 0x43, 0x97, 0x3b, 0x0d, 0xad, 0xc8, 0x36, + 0x40, 0xf1, 0xe0, 0xcc, 0xaf, 0x89, 0xde, 0xdd, 0xb2, 0xcf, 0xe9, 0x42, 0xaf, 0x78, 0x83, 0xba, + 0x5d, 0x54, 0xf2, 0x06, 0xca, 0x34, 0x0c, 0xa5, 0x8f, 0x2f, 0xdf, 0xfc, 0x86, 0x78, 0xd2, 0x3f, + 0xb2, 0x9e, 0xe5, 0xd5, 0xd7, 0x0a, 0x01, 0xb7, 0x5b, 0x6c, 0xe1, 0xd3, 0x12, 0x40, 0xc7, 0x47, + 0x9e, 0xc1, 0x68, 0xf6, 0xd0, 0x29, 0x5d, 0xe7, 0xa1, 0x93, 0x91, 0xcc, 0x4e, 0xe3, 0xd5, 0x8d, + 0x49, 0x9f, 0x70, 0xed, 0x80, 0xac, 0xc2, 0x18, 0x0d, 0x82, 0x84, 0x29, 0x95, 0x1d, 0x16, 0xbf, + 0xbf, 0x4a, 0xd5, 0xa2, 0xdd, 0x9c, 0x56, 0x5d, 0x85, 0x11, 0x7c, 0xcc, 0xdb, 0x52, 0x0a, 0xd8, + 0x59, 0x76, 0x2b, 0xdb, 0x01, 0x6e, 0xb9, 0xb9, 0x43, 0x7a, 0xb7, 0xdc, 0xd8, 0xec, 0x96, 0xaf, + 0x7f, 0x31, 0xf8, 0xe5, 0xc5, 0x52, 0xe9, 0xdd, 0xc5, 0x52, 0xe9, 0x9b, 0x8b, 0xa5, 0xd2, 0xc7, + 0xef, 0x97, 0x06, 0xde, 0xbd, 0x5f, 0x1a, 0xf8, 0xfa, 0xfd, 0xd2, 0x00, 0x54, 0x7c, 0x19, 0xf5, + 0x4d, 0xe6, 0x3a, 0xd8, 0x7d, 0x36, 0xbf, 0x33, 0xcd, 0xd2, 0x9b, 0x83, 0x63, 0xae, 0xdb, 0x69, + 0xab, 0xee, 0xcb, 0xa8, 0xe1, 0x4b, 0x15, 0x49, 0xd5, 0x48, 0x58, 0x48, 0xcf, 0x59, 0xd2, 0x38, + 0x59, 0x2e, 0x3e, 0x51, 0x42, 0x35, 0xfa, 0xfd, 0xc0, 0x3d, 0xc5, 0x61, 0x3e, 0xfa, 0x64, 0x70, + 0xa8, 0xb9, 0xb1, 0xf1, 0xd9, 0xe0, 0x62, 0x33, 0x0f, 0x65, 0xc3, 0x84, 0x82, 0x53, 0xd7, 0x0f, + 0x32, 0xd0, 0x57, 0x1d, 0xf7, 0xa1, 0x71, 0x1f, 0xa2, 0xfb, 0x30, 0x77, 0x5f, 0x0c, 0xd6, 0xfa, + 0xb9, 0x0f, 0xb7, 0x9b, 0xeb, 0x79, 0xaf, 0x7e, 0x3b, 0x78, 0x27, 0x87, 0xae, 0xac, 0x18, 0xec, + 0xca, 0x0a, 0x82, 0x57, 0x56, 0x72, 0x74, 0x6b, 0x14, 0x7f, 0xe0, 0x1e, 0xfd, 0x10, 0x00, 0x00, + 0xff, 0xff, 0xd1, 0xb8, 0x41, 0x47, 0x86, 0x0e, 0x00, 0x00, } func (m *ChainParameters) Marshal() (dAtA []byte, err error) { @@ -1432,63 +1356,6 @@ func (m *FmdParameters) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *AssetInfo) 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 *AssetInfo) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *AssetInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.TotalSupply != 0 { - i = encodeVarintChain(dAtA, i, uint64(m.TotalSupply)) - i-- - dAtA[i] = 0x20 - } - if m.AsOfBlockHeight != 0 { - i = encodeVarintChain(dAtA, i, uint64(m.AsOfBlockHeight)) - i-- - dAtA[i] = 0x18 - } - if m.Denom != nil { - { - size, err := m.Denom.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintChain(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if m.AssetId != nil { - { - size, err := m.AssetId.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintChain(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *CompactBlock) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2213,29 +2080,6 @@ func (m *FmdParameters) Size() (n int) { return n } -func (m *AssetInfo) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.AssetId != nil { - l = m.AssetId.Size() - n += 1 + l + sovChain(uint64(l)) - } - if m.Denom != nil { - l = m.Denom.Size() - n += 1 + l + sovChain(uint64(l)) - } - if m.AsOfBlockHeight != 0 { - n += 1 + sovChain(uint64(m.AsOfBlockHeight)) - } - if m.TotalSupply != 0 { - n += 1 + sovChain(uint64(m.TotalSupply)) - } - return n -} - func (m *CompactBlock) Size() (n int) { if m == nil { return 0 @@ -3132,166 +2976,6 @@ func (m *FmdParameters) Unmarshal(dAtA []byte) error { } return nil } -func (m *AssetInfo) 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 ErrIntOverflowChain - } - 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: AssetInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: AssetInfo: 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 msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowChain - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthChain - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthChain - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.AssetId == nil { - m.AssetId = &v1alpha1.AssetId{} - } - if err := m.AssetId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowChain - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthChain - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthChain - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Denom == nil { - m.Denom = &v1alpha1.Denom{} - } - if err := m.Denom.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AsOfBlockHeight", wireType) - } - m.AsOfBlockHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowChain - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AsOfBlockHeight |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalSupply", wireType) - } - m.TotalSupply = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowChain - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalSupply |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipChain(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthChain - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *CompactBlock) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -4170,7 +3854,7 @@ func (m *KnownAssets) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Assets = append(m.Assets, &v1alpha1.Asset{}) + m.Assets = append(m.Assets, &v1alpha1.DenomMetadata{}) if err := m.Assets[len(m.Assets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } diff --git a/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go b/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go index 344a9012a..f15473c9f 100644 --- a/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go +++ b/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go @@ -78,8 +78,18 @@ func (m *Fee) GetAssetId() *AssetId { return nil } +// A Penumbra address. type Address struct { + // The bytes of the address. Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` + // Alternatively, a Bech32m-encoded string representation of the `inner` + // bytes. + // + // NOTE: implementations are not required to support parsing this field. + // Implementations should prefer to encode the bytes in all messages they + // produce. Implementations must not accept messages with both `inner` and + // `alt_bech32m` set. + AltBech32M string `protobuf:"bytes,2,opt,name=alt_bech32m,json=altBech32m,proto3" json:"alt_bech32m,omitempty"` } func (m *Address) Reset() { *m = Address{} } @@ -122,6 +132,13 @@ func (m *Address) GetInner() []byte { return nil } +func (m *Address) GetAltBech32M() string { + if m != nil { + return m.AltBech32M + } + return "" +} + type AddressView struct { // Types that are valid to be assigned to AddressView: // @@ -672,8 +689,18 @@ func (m *BalanceCommitment) GetInner() []byte { return nil } +// A Penumbra asset ID. type AssetId struct { + // The bytes of the asset ID. Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` + // Alternatively, a Bech32m-encoded string representation of the `inner` + // bytes. + // + // NOTE: implementations are not required to support parsing this field. + // Implementations should prefer to encode the bytes in all messages they + // produce. Implementations must not accept messages with both `inner` and + // `alt_bech32m` set. + AltBech32M string `protobuf:"bytes,2,opt,name=alt_bech32m,json=altBech32m,proto3" json:"alt_bech32m,omitempty"` } func (m *AssetId) Reset() { *m = AssetId{} } @@ -716,6 +743,13 @@ func (m *AssetId) GetInner() []byte { return nil } +func (m *AssetId) GetAltBech32M() string { + if m != nil { + return m.AltBech32M + } + return "" +} + type Amount struct { Lo uint64 `protobuf:"varint,1,opt,name=lo,proto3" json:"lo,omitempty"` Hi uint64 `protobuf:"varint,2,opt,name=hi,proto3" json:"hi,omitempty"` @@ -1296,58 +1330,6 @@ func (m *MerkleRoot) GetInner() []byte { return nil } -type Asset struct { - Id *AssetId `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Denom *Denom `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` -} - -func (m *Asset) Reset() { *m = Asset{} } -func (m *Asset) String() string { return proto.CompactTextString(m) } -func (*Asset) ProtoMessage() {} -func (*Asset) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{19} -} -func (m *Asset) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Asset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Asset.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 *Asset) XXX_Merge(src proto.Message) { - xxx_messageInfo_Asset.Merge(m, src) -} -func (m *Asset) XXX_Size() int { - return m.Size() -} -func (m *Asset) XXX_DiscardUnknown() { - xxx_messageInfo_Asset.DiscardUnknown(m) -} - -var xxx_messageInfo_Asset proto.InternalMessageInfo - -func (m *Asset) GetId() *AssetId { - if m != nil { - return m.Id - } - return nil -} - -func (m *Asset) GetDenom() *Denom { - if m != nil { - return m.Denom - } - return nil -} - // A validator's identity key (decaf377-rdsa spendauth verification key). type IdentityKey struct { Ik []byte `protobuf:"bytes,1,opt,name=ik,proto3" json:"ik,omitempty"` @@ -1357,7 +1339,7 @@ func (m *IdentityKey) Reset() { *m = IdentityKey{} } func (m *IdentityKey) String() string { return proto.CompactTextString(m) } func (*IdentityKey) ProtoMessage() {} func (*IdentityKey) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{20} + return fileDescriptor_5c23a0b4440af102, []int{19} } func (m *IdentityKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1402,7 +1384,7 @@ func (m *GovernanceKey) Reset() { *m = GovernanceKey{} } func (m *GovernanceKey) String() string { return proto.CompactTextString(m) } func (*GovernanceKey) ProtoMessage() {} func (*GovernanceKey) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{21} + return fileDescriptor_5c23a0b4440af102, []int{20} } func (m *GovernanceKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1446,7 +1428,7 @@ func (m *ConsensusKey) Reset() { *m = ConsensusKey{} } func (m *ConsensusKey) String() string { return proto.CompactTextString(m) } func (*ConsensusKey) ProtoMessage() {} func (*ConsensusKey) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{22} + return fileDescriptor_5c23a0b4440af102, []int{21} } func (m *ConsensusKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1492,7 +1474,7 @@ func (m *Note) Reset() { *m = Note{} } func (m *Note) String() string { return proto.CompactTextString(m) } func (*Note) ProtoMessage() {} func (*Note) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{23} + return fileDescriptor_5c23a0b4440af102, []int{22} } func (m *Note) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1552,7 +1534,7 @@ func (m *NoteView) Reset() { *m = NoteView{} } func (m *NoteView) String() string { return proto.CompactTextString(m) } func (*NoteView) ProtoMessage() {} func (*NoteView) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{24} + return fileDescriptor_5c23a0b4440af102, []int{23} } func (m *NoteView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1612,7 +1594,7 @@ func (m *NoteCiphertext) Reset() { *m = NoteCiphertext{} } func (m *NoteCiphertext) String() string { return proto.CompactTextString(m) } func (*NoteCiphertext) ProtoMessage() {} func (*NoteCiphertext) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{25} + return fileDescriptor_5c23a0b4440af102, []int{24} } func (m *NoteCiphertext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1656,7 +1638,7 @@ func (m *Nullifier) Reset() { *m = Nullifier{} } func (m *Nullifier) String() string { return proto.CompactTextString(m) } func (*Nullifier) ProtoMessage() {} func (*Nullifier) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{26} + return fileDescriptor_5c23a0b4440af102, []int{25} } func (m *Nullifier) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1700,7 +1682,7 @@ func (m *SpendAuthSignature) Reset() { *m = SpendAuthSignature{} } func (m *SpendAuthSignature) String() string { return proto.CompactTextString(m) } func (*SpendAuthSignature) ProtoMessage() {} func (*SpendAuthSignature) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{27} + return fileDescriptor_5c23a0b4440af102, []int{26} } func (m *SpendAuthSignature) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1744,7 +1726,7 @@ func (m *BindingSignature) Reset() { *m = BindingSignature{} } func (m *BindingSignature) String() string { return proto.CompactTextString(m) } func (*BindingSignature) ProtoMessage() {} func (*BindingSignature) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{28} + return fileDescriptor_5c23a0b4440af102, []int{27} } func (m *BindingSignature) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1796,7 +1778,7 @@ func (m *NotePayload) Reset() { *m = NotePayload{} } func (m *NotePayload) String() string { return proto.CompactTextString(m) } func (*NotePayload) ProtoMessage() {} func (*NotePayload) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{29} + return fileDescriptor_5c23a0b4440af102, []int{28} } func (m *NotePayload) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1857,7 +1839,7 @@ func (m *StateCommitmentProof) Reset() { *m = StateCommitmentProof{} } func (m *StateCommitmentProof) String() string { return proto.CompactTextString(m) } func (*StateCommitmentProof) ProtoMessage() {} func (*StateCommitmentProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{30} + return fileDescriptor_5c23a0b4440af102, []int{29} } func (m *StateCommitmentProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1918,7 +1900,7 @@ func (m *MerklePathChunk) Reset() { *m = MerklePathChunk{} } func (m *MerklePathChunk) String() string { return proto.CompactTextString(m) } func (*MerklePathChunk) ProtoMessage() {} func (*MerklePathChunk) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{31} + return fileDescriptor_5c23a0b4440af102, []int{30} } func (m *MerklePathChunk) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1977,7 +1959,7 @@ func (m *Clue) Reset() { *m = Clue{} } func (m *Clue) String() string { return proto.CompactTextString(m) } func (*Clue) ProtoMessage() {} func (*Clue) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{32} + return fileDescriptor_5c23a0b4440af102, []int{31} } func (m *Clue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2022,7 +2004,7 @@ func (m *EffectHash) Reset() { *m = EffectHash{} } func (m *EffectHash) String() string { return proto.CompactTextString(m) } func (*EffectHash) ProtoMessage() {} func (*EffectHash) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{33} + return fileDescriptor_5c23a0b4440af102, []int{32} } func (m *EffectHash) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2067,7 +2049,7 @@ func (m *ZKOutputProof) Reset() { *m = ZKOutputProof{} } func (m *ZKOutputProof) String() string { return proto.CompactTextString(m) } func (*ZKOutputProof) ProtoMessage() {} func (*ZKOutputProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{34} + return fileDescriptor_5c23a0b4440af102, []int{33} } func (m *ZKOutputProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2112,7 +2094,7 @@ func (m *ZKSpendProof) Reset() { *m = ZKSpendProof{} } func (m *ZKSpendProof) String() string { return proto.CompactTextString(m) } func (*ZKSpendProof) ProtoMessage() {} func (*ZKSpendProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{35} + return fileDescriptor_5c23a0b4440af102, []int{34} } func (m *ZKSpendProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2157,7 +2139,7 @@ func (m *ZKSwapProof) Reset() { *m = ZKSwapProof{} } func (m *ZKSwapProof) String() string { return proto.CompactTextString(m) } func (*ZKSwapProof) ProtoMessage() {} func (*ZKSwapProof) Descriptor() ([]byte, []int) { - return fileDescriptor_5c23a0b4440af102, []int{36} + return fileDescriptor_5c23a0b4440af102, []int{35} } func (m *ZKSwapProof) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2193,6 +2175,51 @@ func (m *ZKSwapProof) GetInner() []byte { return nil } +// A Penumbra ZK swap claim proof. +type ZKSwapClaimProof struct { + Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` +} + +func (m *ZKSwapClaimProof) Reset() { *m = ZKSwapClaimProof{} } +func (m *ZKSwapClaimProof) String() string { return proto.CompactTextString(m) } +func (*ZKSwapClaimProof) ProtoMessage() {} +func (*ZKSwapClaimProof) Descriptor() ([]byte, []int) { + return fileDescriptor_5c23a0b4440af102, []int{36} +} +func (m *ZKSwapClaimProof) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ZKSwapClaimProof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ZKSwapClaimProof.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 *ZKSwapClaimProof) XXX_Merge(src proto.Message) { + xxx_messageInfo_ZKSwapClaimProof.Merge(m, src) +} +func (m *ZKSwapClaimProof) XXX_Size() int { + return m.Size() +} +func (m *ZKSwapClaimProof) XXX_DiscardUnknown() { + xxx_messageInfo_ZKSwapClaimProof.DiscardUnknown(m) +} + +var xxx_messageInfo_ZKSwapClaimProof proto.InternalMessageInfo + +func (m *ZKSwapClaimProof) GetInner() []byte { + if m != nil { + return m.Inner + } + return nil +} + // A Penumbra ZK undelegate claim proof. type ZKUndelegateClaimProof struct { Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` @@ -2352,7 +2379,6 @@ func init() { proto.RegisterType((*ValueView_KnownDenom)(nil), "penumbra.core.crypto.v1alpha1.ValueView.KnownDenom") proto.RegisterType((*ValueView_UnknownDenom)(nil), "penumbra.core.crypto.v1alpha1.ValueView.UnknownDenom") proto.RegisterType((*MerkleRoot)(nil), "penumbra.core.crypto.v1alpha1.MerkleRoot") - proto.RegisterType((*Asset)(nil), "penumbra.core.crypto.v1alpha1.Asset") proto.RegisterType((*IdentityKey)(nil), "penumbra.core.crypto.v1alpha1.IdentityKey") proto.RegisterType((*GovernanceKey)(nil), "penumbra.core.crypto.v1alpha1.GovernanceKey") proto.RegisterType((*ConsensusKey)(nil), "penumbra.core.crypto.v1alpha1.ConsensusKey") @@ -2370,6 +2396,7 @@ func init() { proto.RegisterType((*ZKOutputProof)(nil), "penumbra.core.crypto.v1alpha1.ZKOutputProof") proto.RegisterType((*ZKSpendProof)(nil), "penumbra.core.crypto.v1alpha1.ZKSpendProof") proto.RegisterType((*ZKSwapProof)(nil), "penumbra.core.crypto.v1alpha1.ZKSwapProof") + proto.RegisterType((*ZKSwapClaimProof)(nil), "penumbra.core.crypto.v1alpha1.ZKSwapClaimProof") proto.RegisterType((*ZKUndelegateClaimProof)(nil), "penumbra.core.crypto.v1alpha1.ZKUndelegateClaimProof") proto.RegisterType((*ZKDelegatorVoteProof)(nil), "penumbra.core.crypto.v1alpha1.ZKDelegatorVoteProof") proto.RegisterType((*ZKNullifierDerivationProof)(nil), "penumbra.core.crypto.v1alpha1.ZKNullifierDerivationProof") @@ -2380,96 +2407,96 @@ func init() { } var fileDescriptor_5c23a0b4440af102 = []byte{ - // 1416 bytes of a gzipped FileDescriptorProto + // 1420 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcf, 0x6f, 0x1b, 0xc5, - 0x17, 0xcf, 0xae, 0xf3, 0xc3, 0x79, 0x76, 0x9c, 0x76, 0x14, 0x55, 0xfe, 0xe6, 0x4b, 0xd2, 0x74, - 0x9b, 0x86, 0xb4, 0x14, 0x47, 0x71, 0x04, 0x87, 0x20, 0x10, 0xb1, 0x43, 0x9b, 0x60, 0xb5, 0xb5, - 0x36, 0xd4, 0x45, 0x56, 0x24, 0x6b, 0xe2, 0x9d, 0x78, 0x47, 0xde, 0x9d, 0x59, 0xf6, 0x87, 0x53, - 0xc3, 0x1f, 0x80, 0x38, 0xd1, 0x33, 0x47, 0x0e, 0x1c, 0xf8, 0x0f, 0xb8, 0x71, 0x44, 0x9c, 0x7a, + 0x17, 0xcf, 0xda, 0xf9, 0x61, 0x3f, 0x3b, 0x4e, 0xba, 0x8a, 0x2a, 0x7f, 0xf3, 0x25, 0x69, 0xba, + 0x6d, 0x43, 0x5a, 0x8a, 0xa3, 0x38, 0xe2, 0x12, 0x04, 0x6a, 0xec, 0xd0, 0x26, 0x58, 0x6d, 0xad, + 0x0d, 0x4d, 0x51, 0x14, 0xc9, 0x1a, 0xef, 0x4e, 0xbc, 0x23, 0xef, 0xce, 0x2c, 0xbb, 0xb3, 0x4e, + 0xcd, 0x3f, 0x80, 0x38, 0xd1, 0x33, 0x47, 0x0e, 0x1c, 0xf8, 0x0f, 0xb8, 0x71, 0x44, 0x9c, 0x7a, 0xec, 0x11, 0xd2, 0x03, 0x12, 0x27, 0x0e, 0xfc, 0x01, 0x68, 0x66, 0x67, 0x1d, 0x27, 0x8a, 0x7f, - 0x94, 0x0a, 0xc1, 0x6d, 0xde, 0xbc, 0xcf, 0x7b, 0xf3, 0x99, 0xf7, 0xde, 0xcc, 0x9b, 0x5d, 0xb8, - 0xe3, 0x11, 0x16, 0xb9, 0x47, 0x3e, 0xde, 0x68, 0x72, 0x9f, 0x6c, 0x34, 0xfd, 0xae, 0x17, 0xf2, - 0x8d, 0xce, 0x26, 0x76, 0x3c, 0x1b, 0x6f, 0x2a, 0xb9, 0xe0, 0xf9, 0x3c, 0xe4, 0x68, 0x29, 0xc1, - 0x16, 0x04, 0xb6, 0xa0, 0x74, 0x09, 0xd6, 0xf8, 0x52, 0x83, 0xd4, 0x3d, 0x42, 0xd0, 0xfb, 0x30, - 0x8d, 0x5d, 0x1e, 0xb1, 0x30, 0xaf, 0xad, 0x68, 0xeb, 0x99, 0xe2, 0xad, 0xc2, 0x50, 0xbb, 0xc2, - 0x8e, 0x04, 0x9b, 0xca, 0x08, 0xed, 0x40, 0x1a, 0x07, 0x01, 0x09, 0x1b, 0xd4, 0xca, 0xeb, 0xd2, - 0xc1, 0xda, 0x28, 0x07, 0x02, 0xbe, 0x6f, 0x99, 0x33, 0x38, 0x1e, 0x18, 0xd7, 0x61, 0x66, 0xc7, - 0xb2, 0x7c, 0x12, 0x04, 0x68, 0x01, 0xa6, 0x28, 0x63, 0xc4, 0x97, 0x5c, 0xb2, 0x66, 0x2c, 0x18, - 0x7f, 0xa4, 0x20, 0xa3, 0x10, 0x35, 0x4a, 0x4e, 0xd0, 0x43, 0x98, 0xe9, 0xd0, 0x80, 0x1e, 0x39, - 0x44, 0x71, 0x2e, 0x8e, 0x5a, 0xf2, 0xcc, 0xb8, 0x50, 0x8b, 0x2d, 0xf7, 0x26, 0xcc, 0xc4, 0x09, - 0xaa, 0xc0, 0x34, 0xf7, 0xf0, 0x67, 0x11, 0x51, 0x3b, 0xd8, 0x7c, 0x05, 0x77, 0x8f, 0xa4, 0xe1, - 0xde, 0x84, 0xa9, 0x5c, 0x2c, 0xfe, 0xa6, 0xc1, 0x8c, 0x5a, 0x03, 0x7d, 0x08, 0x33, 0x38, 0xc6, - 0x2a, 0xa2, 0x6b, 0xe3, 0x79, 0x36, 0x13, 0x33, 0xb4, 0x23, 0x02, 0x62, 0x91, 0xa7, 0x8a, 0xd9, - 0x5b, 0xe3, 0xd9, 0xef, 0x0b, 0x13, 0x33, 0xb6, 0x44, 0x4f, 0xe0, 0x0a, 0x6e, 0x36, 0x45, 0xb2, - 0x1a, 0x2d, 0x9f, 0x47, 0x9e, 0xc8, 0x54, 0x4a, 0x7a, 0x7b, 0x7b, 0x94, 0xb7, 0xd8, 0xec, 0xbe, - 0xb0, 0xda, 0xb7, 0xcc, 0x1c, 0x3e, 0x27, 0x2f, 0x7e, 0x0c, 0xd3, 0xf1, 0xee, 0x5f, 0x7f, 0x9f, - 0xa5, 0x1c, 0x64, 0xd5, 0xb0, 0xd1, 0xa1, 0xe4, 0xc4, 0x58, 0x81, 0xf4, 0x81, 0x47, 0x98, 0x55, - 0x21, 0xdd, 0x01, 0x45, 0x71, 0x17, 0x16, 0x24, 0xa2, 0x46, 0x7c, 0x7a, 0x4c, 0x9b, 0x38, 0xa4, - 0x9c, 0x0d, 0x46, 0xaf, 0x41, 0xee, 0x5e, 0xe4, 0x38, 0x22, 0x65, 0x94, 0xb5, 0x86, 0xe2, 0xce, - 0xef, 0x7a, 0x00, 0xee, 0x26, 0x64, 0x76, 0x69, 0x87, 0xf8, 0x01, 0x3d, 0xa6, 0xc4, 0x1f, 0x00, - 0xda, 0x83, 0x6c, 0x7f, 0x42, 0x50, 0x1e, 0x66, 0x54, 0x08, 0x65, 0x3a, 0xe7, 0xcc, 0x44, 0x44, - 0xcb, 0x00, 0x3e, 0x66, 0x16, 0x77, 0xe9, 0xe7, 0xc4, 0x97, 0xd9, 0xc9, 0x9a, 0x7d, 0x33, 0xc6, - 0x9b, 0x30, 0x7f, 0x10, 0xe2, 0x90, 0x94, 0xb9, 0xeb, 0xd2, 0xd0, 0x25, 0x2c, 0x1c, 0xb0, 0xe4, - 0x6d, 0xb8, 0x5a, 0xc2, 0x0e, 0x66, 0xcd, 0xd1, 0x50, 0x71, 0xec, 0xe2, 0x13, 0x38, 0x00, 0xb0, - 0x0e, 0xd3, 0xf1, 0x61, 0x47, 0x39, 0xd0, 0x1d, 0x2e, 0x95, 0x93, 0xa6, 0xee, 0x70, 0x21, 0xdb, - 0x54, 0xee, 0x61, 0xd2, 0xd4, 0x6d, 0x6a, 0x2c, 0xc1, 0xd4, 0x2e, 0x61, 0xdc, 0x15, 0x8e, 0x2c, - 0x31, 0x90, 0xd8, 0x59, 0x33, 0x16, 0x8c, 0x17, 0x3a, 0xcc, 0x49, 0xfd, 0x03, 0x12, 0x62, 0x0b, - 0x87, 0x18, 0xad, 0x40, 0xc6, 0x22, 0x41, 0xd3, 0xa7, 0x9e, 0x48, 0x9b, 0x42, 0xf7, 0x4f, 0xa1, - 0x7d, 0x81, 0x60, 0xdc, 0x6d, 0x44, 0x8c, 0x86, 0x41, 0x5e, 0x5f, 0x49, 0xad, 0x67, 0x8a, 0xeb, - 0x23, 0xca, 0x4a, 0x2e, 0xf2, 0x98, 0xd1, 0xd0, 0x04, 0x2b, 0x19, 0x06, 0x08, 0xc1, 0xe4, 0x11, - 0x0e, 0x88, 0x0c, 0xeb, 0xac, 0x29, 0xc7, 0x22, 0x15, 0x16, 0x0d, 0x3c, 0x07, 0x77, 0xf3, 0x93, - 0x72, 0x3a, 0x11, 0x05, 0x9a, 0x61, 0x97, 0xe4, 0xa7, 0x62, 0xb4, 0x18, 0xa3, 0x6b, 0x30, 0x1d, - 0x74, 0xdd, 0x23, 0xee, 0xe4, 0xa7, 0xe5, 0xac, 0x92, 0xd0, 0x15, 0x48, 0x45, 0x3e, 0xcd, 0xcf, - 0xc8, 0x49, 0x31, 0x44, 0xff, 0x83, 0x74, 0xe4, 0xd3, 0x86, 0x8d, 0x03, 0x3b, 0x9f, 0x8e, 0x1d, - 0x47, 0x3e, 0xdd, 0xc3, 0x81, 0x8d, 0x0e, 0xe0, 0x6a, 0xc2, 0xbe, 0xd1, 0xbb, 0x32, 0x7f, 0x9c, - 0x7f, 0xa5, 0x3b, 0x73, 0x3e, 0x81, 0xa9, 0x09, 0xe3, 0x09, 0xcc, 0xf6, 0x36, 0x7d, 0x79, 0xf4, - 0xd1, 0x22, 0xa4, 0xc9, 0x53, 0x8f, 0x33, 0xd2, 0x2b, 0xbb, 0x9e, 0x2c, 0x2b, 0xd2, 0xa1, 0x38, - 0x20, 0x41, 0x3e, 0xb5, 0x92, 0x12, 0x6c, 0x95, 0x68, 0x7c, 0xa5, 0xc1, 0x54, 0x0d, 0x3b, 0xd1, - 0x7f, 0xa1, 0x41, 0xfc, 0x99, 0x82, 0x59, 0xc9, 0x45, 0xde, 0xfe, 0x35, 0xc8, 0xb4, 0x19, 0x3f, - 0x61, 0x8d, 0xb3, 0xbd, 0x66, 0x8a, 0x5b, 0x23, 0x7c, 0xf6, 0xcc, 0x0b, 0x15, 0x61, 0x2b, 0x63, - 0xb6, 0x37, 0x61, 0x42, 0xbb, 0x27, 0xa1, 0x43, 0x98, 0x8b, 0x58, 0xbf, 0xe7, 0x98, 0xed, 0x3b, - 0x63, 0x7b, 0x7e, 0xcc, 0xda, 0xfd, 0xbe, 0xb3, 0x51, 0x9f, 0xbc, 0xf8, 0xb5, 0x06, 0x70, 0xb6, - 0xf4, 0xeb, 0x06, 0xb5, 0x94, 0x64, 0x3a, 0xe6, 0x78, 0x77, 0x9c, 0x73, 0x91, 0x1c, 0x3e, 0x55, - 0x17, 0x8b, 0xcf, 0x34, 0xc8, 0xf6, 0x53, 0xfe, 0xf7, 0x13, 0x5d, 0xca, 0x02, 0x74, 0x44, 0x38, - 0xe3, 0x1e, 0x60, 0x00, 0x3c, 0x20, 0x7e, 0xdb, 0x21, 0x26, 0xe7, 0x83, 0x2e, 0xb1, 0x2f, 0x60, - 0x4a, 0x7a, 0x41, 0xef, 0x82, 0x4e, 0xad, 0x71, 0xbb, 0x8f, 0x5a, 0x57, 0xa7, 0x16, 0xda, 0x3e, - 0x1f, 0xc9, 0xd5, 0x71, 0x22, 0x99, 0xdc, 0x6b, 0x4b, 0x90, 0xd9, 0xb7, 0x08, 0x0b, 0x69, 0xd8, - 0x15, 0x1d, 0x25, 0x07, 0x3a, 0x6d, 0x2b, 0x7a, 0x3a, 0x6d, 0x1b, 0xd7, 0x61, 0xee, 0x3e, 0xef, - 0x10, 0x9f, 0x89, 0xeb, 0x58, 0x01, 0x5a, 0x3d, 0x40, 0xab, 0x6d, 0xac, 0x42, 0xb6, 0xcc, 0x59, - 0x40, 0x58, 0x10, 0x05, 0x83, 0x5b, 0xd2, 0x37, 0x1a, 0x4c, 0x3e, 0xe4, 0x21, 0x11, 0x54, 0x65, - 0x74, 0xd4, 0x2e, 0x57, 0xc7, 0x29, 0x4c, 0x33, 0x36, 0x11, 0xae, 0xfd, 0x80, 0x90, 0x38, 0x33, - 0x59, 0x33, 0x16, 0xfa, 0xfb, 0x76, 0xea, 0x6f, 0xf5, 0x6d, 0xe3, 0x3b, 0x0d, 0xd2, 0x82, 0x9c, - 0x3c, 0x99, 0x1f, 0x9c, 0x27, 0xb8, 0x3e, 0xee, 0xc9, 0x19, 0x4e, 0x72, 0xf7, 0x22, 0xc9, 0x3b, - 0xe3, 0x3f, 0xcf, 0xce, 0x88, 0xae, 0x41, 0x4e, 0xf0, 0x2c, 0x53, 0xcf, 0x26, 0x7e, 0x48, 0x9e, - 0x0e, 0x2a, 0xa8, 0x1b, 0x30, 0xfb, 0x30, 0x72, 0x9c, 0x61, 0x6d, 0xfd, 0x0e, 0x20, 0xf9, 0xf2, - 0xd8, 0x89, 0x42, 0xfb, 0x80, 0xb6, 0x18, 0x0e, 0x23, 0x9f, 0x0c, 0xec, 0xa1, 0x57, 0x4a, 0x94, - 0x59, 0x94, 0xb5, 0x46, 0x21, 0x7f, 0xd5, 0x20, 0x23, 0x18, 0x56, 0x71, 0xd7, 0xe1, 0xd8, 0x42, - 0x4f, 0x60, 0x9e, 0xf1, 0x90, 0x34, 0x9a, 0xbd, 0x3e, 0xae, 0xc2, 0x5a, 0x18, 0xb1, 0xfd, 0x0b, - 0x0f, 0x05, 0x33, 0x27, 0xdc, 0xf4, 0xbd, 0x06, 0x6e, 0xc2, 0x1c, 0xf1, 0x6c, 0xe2, 0x12, 0x1f, - 0x3b, 0x8d, 0x36, 0xe9, 0xaa, 0x68, 0x67, 0x7b, 0x93, 0xa2, 0x14, 0x3f, 0x81, 0x1c, 0x61, 0xd2, - 0x33, 0xb1, 0x1a, 0xc2, 0xc1, 0x98, 0x4f, 0xc6, 0xf3, 0x31, 0x36, 0xe7, 0x7a, 0x4e, 0x84, 0xc2, - 0x78, 0xa1, 0xc1, 0xc2, 0x05, 0x7a, 0x55, 0x9f, 0xf3, 0xe3, 0x7f, 0x6e, 0xb3, 0x8b, 0x90, 0xf6, - 0x78, 0x40, 0xe5, 0x2b, 0x23, 0x7e, 0xaf, 0xf4, 0x64, 0x54, 0x81, 0x59, 0x1c, 0x85, 0x76, 0xc3, - 0xc3, 0xa1, 0x2d, 0xdb, 0xdf, 0xe8, 0xe5, 0xe2, 0xfb, 0xa8, 0x8a, 0x43, 0xbb, 0x6c, 0x47, 0xac, - 0x6d, 0xa6, 0x85, 0x03, 0x21, 0x1a, 0x36, 0xcc, 0x5f, 0x50, 0xa2, 0xff, 0xc3, 0xac, 0xf8, 0x0c, - 0xa0, 0xac, 0xd5, 0xd8, 0x54, 0xb9, 0x4e, 0xab, 0x89, 0xcd, 0x7e, 0x65, 0x51, 0x65, 0x20, 0x51, - 0x16, 0xfb, 0x95, 0x5b, 0xea, 0x35, 0x98, 0x28, 0xb7, 0x8c, 0x37, 0x60, 0xb2, 0xac, 0x4e, 0xcb, - 0x25, 0x65, 0x64, 0x00, 0x7c, 0x74, 0x7c, 0x4c, 0x9a, 0xa1, 0x7c, 0x73, 0x5c, 0x8e, 0xb9, 0x05, - 0x73, 0xf5, 0xca, 0xa3, 0x28, 0xf4, 0x22, 0x15, 0xfe, 0xcb, 0x61, 0xab, 0x90, 0xad, 0x57, 0x64, - 0xa5, 0x0f, 0x43, 0xdd, 0x84, 0x4c, 0xbd, 0x72, 0x70, 0x82, 0xbd, 0x61, 0xa0, 0x02, 0x5c, 0xab, - 0x57, 0x1e, 0x33, 0x8b, 0x38, 0xa4, 0x25, 0x12, 0xe6, 0x60, 0xea, 0x0e, 0xc3, 0xdf, 0x85, 0x85, - 0x7a, 0x65, 0x37, 0x46, 0x73, 0xbf, 0x26, 0x8e, 0xc5, 0x10, 0x74, 0x11, 0x16, 0xeb, 0x95, 0xde, - 0xa9, 0xdd, 0x25, 0x3e, 0xed, 0xc8, 0xcf, 0x81, 0x21, 0x36, 0xa5, 0x1f, 0xf4, 0x9f, 0x4e, 0x97, - 0xb5, 0xe7, 0xa7, 0xcb, 0xda, 0x2f, 0xa7, 0xcb, 0xda, 0xb3, 0x97, 0xcb, 0x13, 0xcf, 0x5f, 0x2e, - 0x4f, 0xbc, 0x78, 0xb9, 0x3c, 0x01, 0x37, 0x9a, 0xdc, 0x1d, 0x5e, 0x07, 0xa5, 0x4c, 0x59, 0x4e, - 0x54, 0xc5, 0x87, 0x76, 0x55, 0xab, 0x7f, 0xda, 0xa2, 0xa1, 0x1d, 0x1d, 0x15, 0x9a, 0xdc, 0xdd, - 0x68, 0xf2, 0xc0, 0xe5, 0xc1, 0x86, 0x4f, 0x1c, 0xdc, 0x25, 0xfe, 0x46, 0xa7, 0xd8, 0x1b, 0x36, - 0x6d, 0x4c, 0x59, 0xb0, 0x31, 0xf4, 0x13, 0xfe, 0xbd, 0x58, 0x4e, 0xc4, 0x6f, 0xf5, 0x54, 0xb5, - 0x5c, 0xfe, 0x5e, 0x5f, 0xaa, 0x26, 0x74, 0xca, 0x82, 0x4e, 0xbc, 0x7a, 0xa1, 0xa6, 0x50, 0x3f, - 0x9f, 0xe9, 0x0f, 0x85, 0xfe, 0x30, 0xd6, 0x1f, 0x26, 0xfa, 0x53, 0xfd, 0xf6, 0x50, 0xfd, 0xe1, - 0xfd, 0x6a, 0x29, 0x79, 0x1d, 0xfc, 0xae, 0xaf, 0x24, 0xd8, 0xed, 0x6d, 0x01, 0xde, 0xde, 0x8e, - 0xd1, 0xdb, 0xdb, 0x09, 0xfc, 0x68, 0x5a, 0xfe, 0x60, 0xd8, 0xfa, 0x2b, 0x00, 0x00, 0xff, 0xff, - 0xfa, 0xd5, 0x1e, 0x48, 0x8e, 0x10, 0x00, 0x00, + 0xb4, 0x15, 0x82, 0xdb, 0xbc, 0xf7, 0x3e, 0xef, 0xcd, 0x67, 0xde, 0x7b, 0xb3, 0x6f, 0x6c, 0xb8, + 0xe3, 0x63, 0x1a, 0x79, 0xcd, 0x00, 0xad, 0x5b, 0x2c, 0xc0, 0xeb, 0x56, 0xd0, 0xf5, 0x39, 0x5b, + 0xef, 0x6c, 0x20, 0xd7, 0x77, 0xd0, 0x86, 0x92, 0x4b, 0x7e, 0xc0, 0x38, 0xd3, 0x97, 0x12, 0x6c, + 0x49, 0x60, 0x4b, 0xca, 0x96, 0x60, 0x8d, 0xaf, 0x34, 0x48, 0xdf, 0xc7, 0x58, 0xff, 0x08, 0xa6, + 0x91, 0xc7, 0x22, 0xca, 0x8b, 0xda, 0x8a, 0xb6, 0x96, 0x2b, 0xdf, 0x2a, 0x0d, 0xf5, 0x2b, 0x6d, + 0x4b, 0xb0, 0xa9, 0x9c, 0xf4, 0x6d, 0xc8, 0xa0, 0x30, 0xc4, 0xbc, 0x41, 0xec, 0x62, 0x4a, 0x06, + 0x58, 0x1d, 0x15, 0x40, 0xc0, 0xf7, 0x6c, 0x73, 0x06, 0xc5, 0x0b, 0xe3, 0x1e, 0xcc, 0x6c, 0xdb, + 0x76, 0x80, 0xc3, 0x50, 0x5f, 0x80, 0x29, 0x42, 0x29, 0x0e, 0x24, 0x97, 0xbc, 0x19, 0x0b, 0xfa, + 0x35, 0xc8, 0x21, 0x97, 0x37, 0x9a, 0xd8, 0x72, 0x36, 0xcb, 0x9e, 0xdc, 0x26, 0x6b, 0x02, 0x72, + 0x79, 0x25, 0xd6, 0x18, 0x7f, 0xa6, 0x21, 0xa7, 0x42, 0x1c, 0x10, 0x7c, 0xa2, 0x3f, 0x82, 0x99, + 0x0e, 0x09, 0x49, 0xd3, 0xc5, 0xea, 0x50, 0xe5, 0x51, 0x9c, 0xce, 0x9c, 0x4b, 0x07, 0xb1, 0xe7, + 0xee, 0x84, 0x99, 0x04, 0xd1, 0x6b, 0x30, 0xcd, 0x7c, 0xf4, 0x45, 0x84, 0xd5, 0x11, 0x37, 0x5e, + 0x23, 0xdc, 0x63, 0xe9, 0xb8, 0x3b, 0x61, 0xaa, 0x10, 0x8b, 0xbf, 0x6b, 0x30, 0xa3, 0xf6, 0xd0, + 0xef, 0xc1, 0x0c, 0x8a, 0xb1, 0x8a, 0xe8, 0xea, 0x78, 0x91, 0xcd, 0xc4, 0x4d, 0xdf, 0x16, 0x19, + 0xb3, 0xf1, 0x33, 0xc5, 0xec, 0xbd, 0xf1, 0xfc, 0xf7, 0x84, 0x8b, 0x19, 0x7b, 0xea, 0x4f, 0x61, + 0x1e, 0x59, 0x96, 0xa8, 0x66, 0xa3, 0x15, 0xb0, 0xc8, 0x17, 0xa5, 0x4c, 0xcb, 0x68, 0xef, 0x8f, + 0x8a, 0x16, 0xbb, 0x3d, 0x10, 0x5e, 0x7b, 0xb6, 0x59, 0x40, 0xe7, 0xe4, 0xc5, 0x4f, 0x61, 0x3a, + 0x3e, 0xfd, 0xdb, 0x9f, 0xb3, 0x52, 0x80, 0xbc, 0x5a, 0x36, 0x3a, 0x04, 0x9f, 0x18, 0x2b, 0x90, + 0xd9, 0xf7, 0x31, 0xb5, 0x6b, 0xb8, 0x7b, 0x79, 0xd7, 0x18, 0x77, 0x61, 0x41, 0x22, 0x0e, 0x70, + 0x40, 0x8e, 0x89, 0x85, 0x38, 0x61, 0x74, 0x30, 0x7a, 0x15, 0x0a, 0xf7, 0x23, 0xd7, 0x15, 0x25, + 0x23, 0xb4, 0x35, 0x14, 0x77, 0xfe, 0xd4, 0x03, 0x70, 0x37, 0x20, 0xb7, 0x43, 0x3a, 0x38, 0x08, + 0xc9, 0x31, 0xc1, 0xc1, 0x00, 0xd0, 0x2e, 0xe4, 0xfb, 0x0b, 0xa2, 0x17, 0x61, 0x46, 0xa5, 0x50, + 0x96, 0x73, 0xd6, 0x4c, 0x44, 0x7d, 0x19, 0x20, 0x40, 0xd4, 0x66, 0x1e, 0xf9, 0x12, 0x07, 0xb2, + 0x3a, 0x79, 0xb3, 0x4f, 0x63, 0xbc, 0x0b, 0x73, 0xfb, 0x1c, 0x71, 0x5c, 0x65, 0x9e, 0x47, 0xb8, + 0x87, 0x29, 0x1f, 0xb0, 0xe5, 0x6d, 0xb8, 0x52, 0x41, 0x2e, 0xa2, 0xd6, 0x68, 0xa8, 0xb8, 0x97, + 0xf1, 0x15, 0x7d, 0xd3, 0x7b, 0xb9, 0x06, 0xd3, 0xf1, 0xe7, 0x42, 0x2f, 0x40, 0xca, 0x65, 0xd2, + 0x7b, 0xd2, 0x4c, 0xb9, 0x4c, 0xc8, 0x0e, 0x91, 0x1e, 0x93, 0x66, 0xca, 0x21, 0xc6, 0x12, 0x4c, + 0xed, 0x60, 0xca, 0x3c, 0xb1, 0x93, 0x2d, 0x16, 0x12, 0x9b, 0x35, 0x63, 0xc1, 0x78, 0x99, 0x82, + 0x59, 0x69, 0x7f, 0x88, 0x39, 0xb2, 0x11, 0x47, 0xfa, 0x0a, 0xe4, 0x6c, 0x1c, 0x5a, 0x01, 0xf1, + 0x45, 0x5d, 0x15, 0xba, 0x5f, 0xa5, 0xef, 0x09, 0x04, 0x65, 0x5e, 0x23, 0xa2, 0x84, 0x87, 0xc5, + 0xd4, 0x4a, 0x7a, 0x2d, 0x57, 0x5e, 0x1b, 0xd1, 0x77, 0x72, 0x93, 0x27, 0x94, 0x70, 0x13, 0xec, + 0x64, 0x19, 0xea, 0x3a, 0x4c, 0x36, 0x51, 0x88, 0x65, 0xde, 0xb3, 0xa6, 0x5c, 0x8b, 0x5a, 0xd9, + 0x24, 0xf4, 0x5d, 0xd4, 0x2d, 0x4e, 0x4a, 0x75, 0x22, 0x0a, 0x34, 0x45, 0x1e, 0x2e, 0x4e, 0xc5, + 0x68, 0xb1, 0xd6, 0xaf, 0xc2, 0x74, 0xd8, 0xf5, 0x9a, 0xcc, 0x2d, 0x4e, 0x4b, 0xad, 0x92, 0xf4, + 0x79, 0x48, 0x47, 0x01, 0x29, 0xce, 0x48, 0xa5, 0x58, 0xea, 0xff, 0x83, 0x4c, 0x14, 0x90, 0x86, + 0x83, 0x42, 0xa7, 0x98, 0x89, 0x03, 0x47, 0x01, 0xd9, 0x45, 0xa1, 0xa3, 0xef, 0xc3, 0x95, 0x84, + 0x7d, 0xa3, 0xf7, 0xd1, 0xfd, 0x69, 0xee, 0xb5, 0xbe, 0xba, 0x73, 0x09, 0x4c, 0x29, 0x8c, 0xa7, + 0x90, 0xed, 0x1d, 0xfa, 0xf2, 0xec, 0xeb, 0x8b, 0x90, 0xc1, 0xcf, 0x7c, 0x46, 0x71, 0xaf, 0x2f, + 0x7b, 0xb2, 0x6c, 0x59, 0x97, 0xa0, 0x10, 0x87, 0xc5, 0xf4, 0x4a, 0x5a, 0xb0, 0x55, 0xa2, 0xf1, + 0xb5, 0x06, 0x53, 0x07, 0xc8, 0x8d, 0xfe, 0x0b, 0x23, 0xe6, 0xaf, 0x34, 0x64, 0x25, 0x17, 0x39, + 0x1e, 0x0e, 0x20, 0xd7, 0xa6, 0xec, 0x84, 0x36, 0xce, 0xce, 0x9a, 0x2b, 0x6f, 0x8e, 0x88, 0xd9, + 0x73, 0x2f, 0xd5, 0x84, 0xaf, 0xcc, 0xd9, 0xee, 0x84, 0x09, 0xed, 0x9e, 0xa4, 0x1f, 0xc1, 0x6c, + 0x44, 0xfb, 0x23, 0xc7, 0x6c, 0x3f, 0x18, 0x3b, 0xf2, 0x13, 0xda, 0xee, 0x8f, 0x9d, 0x8f, 0xfa, + 0xe4, 0xc5, 0x6f, 0x34, 0x80, 0xb3, 0xad, 0xdf, 0x36, 0xa9, 0x95, 0xa4, 0xd2, 0x31, 0xc7, 0xbb, + 0xe3, 0xdc, 0x8b, 0xe4, 0xf2, 0xa9, 0xbe, 0x58, 0x7c, 0xae, 0x41, 0xbe, 0x9f, 0xf2, 0xbf, 0x5f, + 0xe8, 0x4a, 0x1e, 0xa0, 0x23, 0xd2, 0x19, 0x0f, 0x09, 0x03, 0xe0, 0x21, 0x0e, 0xda, 0x2e, 0x36, + 0x19, 0x1b, 0xf4, 0x95, 0x5b, 0x82, 0xdc, 0x9e, 0x8d, 0x29, 0x27, 0xbc, 0x2b, 0xbe, 0xfa, 0x05, + 0x48, 0x91, 0xb6, 0x42, 0xa4, 0x48, 0xdb, 0xb8, 0x06, 0xb3, 0x0f, 0x58, 0x07, 0x07, 0x54, 0x7c, + 0x32, 0x15, 0xa0, 0xd5, 0x03, 0xb4, 0xda, 0xc6, 0x4d, 0xc8, 0x57, 0x19, 0x0d, 0x31, 0x0d, 0xa3, + 0x70, 0xf0, 0xd8, 0xf8, 0x56, 0x83, 0xc9, 0x47, 0x8c, 0x63, 0x7d, 0x0b, 0xa6, 0x24, 0x41, 0x95, + 0xa1, 0x9b, 0xe3, 0xf4, 0x86, 0x19, 0xbb, 0x88, 0xd0, 0x41, 0x88, 0x71, 0x9c, 0x9c, 0xbc, 0x19, + 0x0b, 0xfd, 0xb3, 0x35, 0xfd, 0x46, 0xb3, 0xd5, 0xf8, 0x5e, 0x83, 0x8c, 0x20, 0x27, 0x2f, 0xc7, + 0xc7, 0xe7, 0x09, 0xae, 0x8d, 0xdb, 0xbc, 0xc3, 0x49, 0xee, 0x5c, 0x24, 0x79, 0x67, 0xfc, 0x27, + 0xd4, 0x19, 0xd1, 0x55, 0x28, 0x08, 0x9e, 0x55, 0xe2, 0x3b, 0x38, 0xe0, 0xf8, 0xd9, 0xa0, 0x9a, + 0x5e, 0x87, 0xec, 0xa3, 0xc8, 0x75, 0x87, 0x8d, 0xde, 0x3b, 0xa0, 0xcb, 0xd7, 0xc1, 0x76, 0xc4, + 0x9d, 0x7d, 0xd2, 0xa2, 0x88, 0x47, 0x01, 0x1e, 0x80, 0x5d, 0x83, 0xf9, 0x0a, 0xa1, 0x36, 0xa1, + 0xad, 0x51, 0xc8, 0xdf, 0x34, 0xc8, 0x09, 0x86, 0x75, 0xd4, 0x75, 0x19, 0xb2, 0xf5, 0xa7, 0x30, + 0x47, 0x19, 0xc7, 0x0d, 0xab, 0x37, 0x6b, 0x55, 0x5a, 0x4b, 0x23, 0x8e, 0x7f, 0x61, 0x98, 0x9b, + 0x05, 0x11, 0xa6, 0x6f, 0x62, 0xdf, 0x80, 0x59, 0xec, 0x3b, 0xd8, 0xc3, 0x01, 0x72, 0x1b, 0x6d, + 0xdc, 0x55, 0xd9, 0xce, 0xf7, 0x94, 0xa2, 0x15, 0x3f, 0x83, 0x02, 0xa6, 0x32, 0x32, 0xb6, 0x1b, + 0x22, 0xc0, 0x98, 0xcf, 0xba, 0xf3, 0x39, 0x36, 0x67, 0x7b, 0x41, 0x84, 0xc1, 0x78, 0xa9, 0xc1, + 0xc2, 0x05, 0x7a, 0xf5, 0x80, 0xb1, 0xe3, 0x7f, 0xee, 0xb0, 0x8b, 0x90, 0xf1, 0x59, 0x48, 0xe4, + 0xa0, 0x8f, 0x9f, 0x0c, 0x3d, 0x59, 0xaf, 0x41, 0x16, 0x45, 0xdc, 0x69, 0xf8, 0x88, 0x3b, 0x72, + 0x02, 0x8d, 0xde, 0x2e, 0xfe, 0x24, 0xd4, 0x11, 0x77, 0xaa, 0x4e, 0x44, 0xdb, 0x66, 0x46, 0x04, + 0x10, 0xa2, 0xe1, 0xc0, 0xdc, 0x05, 0xa3, 0xfe, 0x7f, 0xc8, 0x8a, 0xa7, 0x3a, 0xa1, 0xad, 0xc6, + 0x86, 0xaa, 0x75, 0x46, 0x29, 0x36, 0xfa, 0x8d, 0x65, 0x55, 0x81, 0xc4, 0x58, 0xee, 0x37, 0x6e, + 0xaa, 0x17, 0x5b, 0x62, 0xdc, 0x34, 0xde, 0x81, 0xc9, 0xaa, 0xba, 0x2d, 0x97, 0xb4, 0x91, 0x01, + 0xf0, 0xc9, 0xf1, 0x31, 0xb6, 0xb8, 0x1c, 0xfb, 0x97, 0x63, 0x6e, 0xc1, 0xec, 0x61, 0xed, 0x71, + 0xc4, 0xfd, 0x48, 0xa5, 0xff, 0x72, 0xd8, 0x4d, 0xc8, 0x1f, 0xd6, 0x64, 0xa7, 0x0f, 0x43, 0xdd, + 0x80, 0xdc, 0x61, 0x6d, 0xff, 0x04, 0xf9, 0xc3, 0x40, 0x6b, 0x30, 0x1f, 0x83, 0xaa, 0x2e, 0x22, + 0xde, 0x30, 0x64, 0x09, 0xae, 0x1e, 0xd6, 0x9e, 0x50, 0x1b, 0xbb, 0xb8, 0x25, 0x4a, 0x3b, 0x0a, + 0x7f, 0x17, 0x16, 0x0e, 0x6b, 0x3b, 0x31, 0x9a, 0x05, 0x07, 0xe2, 0x02, 0x0d, 0x41, 0x97, 0x61, + 0xf1, 0xb0, 0xd6, 0xbb, 0xdf, 0x3b, 0x38, 0x20, 0x1d, 0xf9, 0xb8, 0x1f, 0xe2, 0x53, 0xf9, 0x31, + 0xf5, 0xf3, 0xe9, 0xb2, 0xf6, 0xe2, 0x74, 0x59, 0xfb, 0xf5, 0x74, 0x59, 0x7b, 0xfe, 0x6a, 0x79, + 0xe2, 0xc5, 0xab, 0xe5, 0x89, 0x97, 0xaf, 0x96, 0x27, 0xe0, 0xba, 0xc5, 0xbc, 0xe1, 0x1d, 0x53, + 0xc9, 0x55, 0xa5, 0xa2, 0x2e, 0x7e, 0x57, 0xd7, 0xb5, 0xc3, 0xcf, 0x5b, 0x84, 0x3b, 0x51, 0xb3, + 0x64, 0x31, 0x6f, 0xdd, 0x62, 0xa1, 0xc7, 0xc2, 0xf5, 0x00, 0xbb, 0xa8, 0x8b, 0x83, 0xf5, 0x4e, + 0xb9, 0xb7, 0xb4, 0x1c, 0x44, 0x68, 0xb8, 0x3e, 0xf4, 0x17, 0xfb, 0x87, 0xb1, 0x9c, 0x88, 0xdf, + 0xa5, 0xd2, 0xf5, 0x6a, 0xf5, 0x87, 0xd4, 0x52, 0x3d, 0xa1, 0x53, 0x15, 0x74, 0xe2, 0xdd, 0x4b, + 0x07, 0x0a, 0xf5, 0xcb, 0x99, 0xfd, 0x48, 0xd8, 0x8f, 0x62, 0xfb, 0x51, 0x62, 0x3f, 0x4d, 0xdd, + 0x1e, 0x6a, 0x3f, 0x7a, 0x50, 0xaf, 0x24, 0xa3, 0xfc, 0x8f, 0xd4, 0x4a, 0x82, 0xdd, 0xda, 0x12, + 0xe0, 0xad, 0xad, 0x18, 0xbd, 0xb5, 0x95, 0xc0, 0x9b, 0xd3, 0xf2, 0xff, 0x84, 0xcd, 0xbf, 0x03, + 0x00, 0x00, 0xff, 0xff, 0xd9, 0xd1, 0xde, 0xc4, 0x7d, 0x10, 0x00, 0x00, } func (m *Fee) Marshal() (dAtA []byte, err error) { @@ -2539,6 +2566,13 @@ func (m *Address) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.AltBech32M) > 0 { + i -= len(m.AltBech32M) + copy(dAtA[i:], m.AltBech32M) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.AltBech32M))) + i-- + dAtA[i] = 0x12 + } if len(m.Inner) > 0 { i -= len(m.Inner) copy(dAtA[i:], m.Inner) @@ -2982,6 +3016,13 @@ func (m *AssetId) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.AltBech32M) > 0 { + i -= len(m.AltBech32M) + copy(dAtA[i:], m.AltBech32M) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.AltBech32M))) + i-- + dAtA[i] = 0x12 + } if len(m.Inner) > 0 { i -= len(m.Inner) copy(dAtA[i:], m.Inner) @@ -3444,53 +3485,6 @@ func (m *MerkleRoot) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Asset) 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 *Asset) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Asset) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Denom != nil { - { - size, err := m.Denom.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintCrypto(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - if m.Id != nil { - { - size, err := m.Id.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintCrypto(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *IdentityKey) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4111,6 +4105,36 @@ func (m *ZKSwapProof) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ZKSwapClaimProof) 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 *ZKSwapClaimProof) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ZKSwapClaimProof) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Inner) > 0 { + i -= len(m.Inner) + copy(dAtA[i:], m.Inner) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.Inner))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ZKUndelegateClaimProof) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4239,6 +4263,10 @@ func (m *Address) Size() (n int) { if l > 0 { n += 1 + l + sovCrypto(uint64(l)) } + l = len(m.AltBech32M) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } return n } @@ -4429,6 +4457,10 @@ func (m *AssetId) Size() (n int) { if l > 0 { n += 1 + l + sovCrypto(uint64(l)) } + l = len(m.AltBech32M) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } return n } @@ -4629,23 +4661,6 @@ func (m *MerkleRoot) Size() (n int) { return n } -func (m *Asset) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Id != nil { - l = m.Id.Size() - n += 1 + l + sovCrypto(uint64(l)) - } - if m.Denom != nil { - l = m.Denom.Size() - n += 1 + l + sovCrypto(uint64(l)) - } - return n -} - func (m *IdentityKey) Size() (n int) { if m == nil { return 0 @@ -4908,6 +4923,19 @@ func (m *ZKSwapProof) Size() (n int) { return n } +func (m *ZKSwapClaimProof) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Inner) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } + return n +} + func (m *ZKUndelegateClaimProof) Size() (n int) { if m == nil { return 0 @@ -5138,6 +5166,38 @@ func (m *Address) Unmarshal(dAtA []byte) error { m.Inner = []byte{} } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AltBech32M", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AltBech32M = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCrypto(dAtA[iNdEx:]) @@ -6277,6 +6337,38 @@ func (m *AssetId) Unmarshal(dAtA []byte) error { m.Inner = []byte{} } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AltBech32M", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AltBech32M = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCrypto(dAtA[iNdEx:]) @@ -7515,128 +7607,6 @@ func (m *MerkleRoot) Unmarshal(dAtA []byte) error { } return nil } -func (m *Asset) 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 ErrIntOverflowCrypto - } - 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: Asset: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Asset: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCrypto - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthCrypto - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthCrypto - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Id == nil { - m.Id = &AssetId{} - } - if err := m.Id.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCrypto - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthCrypto - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthCrypto - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Denom == nil { - m.Denom = &Denom{} - } - if err := m.Denom.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipCrypto(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCrypto - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} func (m *IdentityKey) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -9404,6 +9374,90 @@ func (m *ZKSwapProof) Unmarshal(dAtA []byte) error { } return nil } +func (m *ZKSwapClaimProof) 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 ErrIntOverflowCrypto + } + 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: ZKSwapClaimProof: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ZKSwapClaimProof: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthCrypto + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Inner = append(m.Inner[:0], dAtA[iNdEx:postIndex]...) + if m.Inner == nil { + m.Inner = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipCrypto(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCrypto + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ZKUndelegateClaimProof) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go b/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go index 0fa502019..45a51020b 100644 --- a/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go +++ b/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go @@ -1534,7 +1534,16 @@ func (m *Position) GetReserves() *Reserves { // A hash of a `Position`. type PositionId struct { + // The bytes of the position ID. Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` + // Alternatively, a Bech32m-encoded string representation of the `inner` + // bytes. + // + // NOTE: implementations are not required to support parsing this field. + // Implementations should prefer to encode the bytes in all messages they + // produce. Implementations must not accept messages with both `inner` and + // `alt_bech32m` set. + AltBech32M string `protobuf:"bytes,2,opt,name=alt_bech32m,json=altBech32m,proto3" json:"alt_bech32m,omitempty"` } func (m *PositionId) Reset() { *m = PositionId{} } @@ -1577,6 +1586,13 @@ func (m *PositionId) GetInner() []byte { return nil } +func (m *PositionId) GetAltBech32M() string { + if m != nil { + return m.AltBech32M + } + return "" +} + // The state of a position. type PositionState struct { State PositionState_PositionStateEnum `protobuf:"varint,1,opt,name=state,proto3,enum=penumbra.core.dex.v1alpha1.PositionState_PositionStateEnum" json:"state,omitempty"` @@ -1914,78 +1930,20 @@ func (m *PositionRewardClaim) GetRewardsCommitment() *v1alpha1.BalanceCommitment return nil } -// Contains a path for a trade, including the trading pair (with direction), the trading -// function defining their relationship, and the route taken between the two assets. -type Path struct { - Pair *DirectedTradingPair `protobuf:"bytes,1,opt,name=pair,proto3" json:"pair,omitempty"` - Route []*v1alpha1.AssetId `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"` - Phi *BareTradingFunction `protobuf:"bytes,3,opt,name=phi,proto3" json:"phi,omitempty"` -} - -func (m *Path) Reset() { *m = Path{} } -func (m *Path) String() string { return proto.CompactTextString(m) } -func (*Path) ProtoMessage() {} -func (*Path) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{25} -} -func (m *Path) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Path) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Path.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 *Path) XXX_Merge(src proto.Message) { - xxx_messageInfo_Path.Merge(m, src) -} -func (m *Path) XXX_Size() int { - return m.Size() -} -func (m *Path) XXX_DiscardUnknown() { - xxx_messageInfo_Path.DiscardUnknown(m) -} - -var xxx_messageInfo_Path proto.InternalMessageInfo - -func (m *Path) GetPair() *DirectedTradingPair { - if m != nil { - return m.Pair - } - return nil -} - -func (m *Path) GetRoute() []*v1alpha1.AssetId { - if m != nil { - return m.Route - } - return nil -} - -func (m *Path) GetPhi() *BareTradingFunction { - if m != nil { - return m.Phi - } - return nil -} - // Contains the entire execution of a particular swap. type SwapExecution struct { Traces []*SwapExecution_Trace `protobuf:"bytes,1,rep,name=traces,proto3" json:"traces,omitempty"` + // The total input amount for this execution. + Input *v1alpha1.Value `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"` + // The total output amount for this execution. + Output *v1alpha1.Value `protobuf:"bytes,3,opt,name=output,proto3" json:"output,omitempty"` } func (m *SwapExecution) Reset() { *m = SwapExecution{} } func (m *SwapExecution) String() string { return proto.CompactTextString(m) } func (*SwapExecution) ProtoMessage() {} func (*SwapExecution) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{26} + return fileDescriptor_d1eba752ca2f0d70, []int{25} } func (m *SwapExecution) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2021,6 +1979,20 @@ func (m *SwapExecution) GetTraces() []*SwapExecution_Trace { return nil } +func (m *SwapExecution) GetInput() *v1alpha1.Value { + if m != nil { + return m.Input + } + return nil +} + +func (m *SwapExecution) GetOutput() *v1alpha1.Value { + if m != nil { + return m.Output + } + return nil +} + // Contains all individual steps consisting of a trade trace. type SwapExecution_Trace struct { // Each step in the trade trace. @@ -2031,7 +2003,7 @@ func (m *SwapExecution_Trace) Reset() { *m = SwapExecution_Trace{} } func (m *SwapExecution_Trace) String() string { return proto.CompactTextString(m) } func (*SwapExecution_Trace) ProtoMessage() {} func (*SwapExecution_Trace) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{26, 0} + return fileDescriptor_d1eba752ca2f0d70, []int{25, 0} } func (m *SwapExecution_Trace) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2078,7 +2050,7 @@ func (m *PositionWithdrawPlan) Reset() { *m = PositionWithdrawPlan{} } func (m *PositionWithdrawPlan) String() string { return proto.CompactTextString(m) } func (*PositionWithdrawPlan) ProtoMessage() {} func (*PositionWithdrawPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{27} + return fileDescriptor_d1eba752ca2f0d70, []int{26} } func (m *PositionWithdrawPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2137,7 +2109,7 @@ func (m *PositionRewardClaimPlan) Reset() { *m = PositionRewardClaimPlan func (m *PositionRewardClaimPlan) String() string { return proto.CompactTextString(m) } func (*PositionRewardClaimPlan) ProtoMessage() {} func (*PositionRewardClaimPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{28} + return fileDescriptor_d1eba752ca2f0d70, []int{27} } func (m *PositionRewardClaimPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2204,7 +2176,6 @@ func init() { proto.RegisterType((*PositionClose)(nil), "penumbra.core.dex.v1alpha1.PositionClose") proto.RegisterType((*PositionWithdraw)(nil), "penumbra.core.dex.v1alpha1.PositionWithdraw") proto.RegisterType((*PositionRewardClaim)(nil), "penumbra.core.dex.v1alpha1.PositionRewardClaim") - proto.RegisterType((*Path)(nil), "penumbra.core.dex.v1alpha1.Path") proto.RegisterType((*SwapExecution)(nil), "penumbra.core.dex.v1alpha1.SwapExecution") proto.RegisterType((*SwapExecution_Trace)(nil), "penumbra.core.dex.v1alpha1.SwapExecution.Trace") proto.RegisterType((*PositionWithdrawPlan)(nil), "penumbra.core.dex.v1alpha1.PositionWithdrawPlan") @@ -2216,119 +2187,119 @@ func init() { } var fileDescriptor_d1eba752ca2f0d70 = []byte{ - // 1781 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x4f, 0x6f, 0xe3, 0xc6, - 0x15, 0x37, 0x29, 0xd9, 0x96, 0x9f, 0xe4, 0x8d, 0x77, 0x1c, 0xb4, 0x86, 0x8a, 0x38, 0xbb, 0x6c, - 0xfe, 0x6c, 0x93, 0x42, 0x8a, 0x98, 0x14, 0x08, 0xbc, 0x4d, 0x36, 0xd6, 0x1f, 0xaf, 0x95, 0xc4, - 0x32, 0x43, 0x3b, 0xbb, 0x45, 0xba, 0x28, 0x31, 0x26, 0xc7, 0x2b, 0xa2, 0x14, 0xc9, 0x25, 0x47, - 0xb6, 0x7c, 0x2a, 0x50, 0xb4, 0xe8, 0xa9, 0x68, 0xf3, 0x01, 0x8a, 0x22, 0x3d, 0x16, 0xfd, 0x08, - 0x45, 0x7b, 0x2d, 0x8a, 0x1e, 0x72, 0x6b, 0x4f, 0x45, 0xe1, 0x3d, 0x14, 0xe8, 0x07, 0x28, 0x7a, - 0xe8, 0xa1, 0x98, 0xe1, 0x8c, 0x48, 0xdb, 0xf2, 0x4a, 0xf4, 0xba, 0x97, 0xdc, 0x34, 0x33, 0xef, - 0xf7, 0xe3, 0x7b, 0xf3, 0xfe, 0x92, 0x82, 0x57, 0x42, 0xe2, 0x0f, 0x07, 0x07, 0x11, 0xae, 0xdb, - 0x41, 0x44, 0xea, 0x0e, 0x19, 0xd5, 0x8f, 0x1a, 0xd8, 0x0b, 0xfb, 0xb8, 0xc1, 0x16, 0xb5, 0x30, - 0x0a, 0x68, 0x80, 0xaa, 0x52, 0xaa, 0xc6, 0xa4, 0x6a, 0xec, 0x40, 0x4a, 0x55, 0xdf, 0x38, 0xcb, - 0x60, 0x47, 0x27, 0x21, 0x0d, 0x52, 0x92, 0x64, 0x9d, 0xf0, 0x68, 0x3f, 0x56, 0xa0, 0xb8, 0x77, - 0x8c, 0x43, 0xf4, 0x01, 0xcc, 0x87, 0x51, 0x10, 0x1c, 0xae, 0x29, 0xb7, 0x94, 0x3b, 0x65, 0xfd, - 0x8d, 0xda, 0xd9, 0x07, 0x08, 0x90, 0x24, 0xa9, 0x7d, 0xf6, 0x11, 0x43, 0x19, 0x0c, 0x61, 0x26, - 0x40, 0xf4, 0x2e, 0x14, 0x0f, 0x02, 0xe7, 0x64, 0xad, 0xc8, 0x09, 0x5e, 0xa9, 0x5d, 0xae, 0x61, - 0x8d, 0x61, 0x9b, 0x81, 0x73, 0x62, 0x72, 0x84, 0xf6, 0x33, 0x05, 0x96, 0xd8, 0x56, 0xcb, 0xc3, - 0xee, 0x00, 0xbd, 0x98, 0xd5, 0xa4, 0x22, 0xd9, 0xdf, 0x13, 0xec, 0x2a, 0x67, 0xff, 0xd6, 0x34, - 0x76, 0x4e, 0x95, 0x3e, 0x02, 0xbd, 0x0a, 0x37, 0x48, 0x18, 0xd8, 0x7d, 0xcb, 0x19, 0x46, 0x98, - 0xba, 0x81, 0xbf, 0xb6, 0x78, 0x4b, 0xb9, 0x53, 0x34, 0x97, 0xf9, 0x6e, 0x5b, 0x6c, 0x6a, 0xbf, - 0x2e, 0xc0, 0xf2, 0x19, 0x38, 0xda, 0x82, 0x25, 0x7f, 0xe8, 0x79, 0xee, 0xa1, 0x4b, 0x22, 0x71, - 0x37, 0x77, 0xa6, 0xdc, 0x4d, 0x4f, 0xca, 0x9b, 0x29, 0x14, 0xbd, 0x03, 0x85, 0x43, 0x42, 0x84, - 0xfa, 0xda, 0x14, 0x86, 0x2d, 0x42, 0x4c, 0x26, 0x8e, 0x7e, 0x00, 0xab, 0xc1, 0x90, 0x86, 0x43, - 0x6a, 0x35, 0x2c, 0x3b, 0x18, 0x0c, 0x5c, 0x3a, 0x20, 0x3e, 0x5d, 0x2b, 0x70, 0x96, 0xda, 0x14, - 0x96, 0x3d, 0x8a, 0x29, 0x69, 0x8d, 0x51, 0xe6, 0xcd, 0x84, 0xaa, 0x91, 0x6e, 0x65, 0xf8, 0xf5, - 0x2c, 0x7f, 0xf1, 0x79, 0xf8, 0xf5, 0x0c, 0xbf, 0x01, 0x65, 0xc1, 0xef, 0x60, 0x8a, 0xd7, 0x16, - 0x38, 0x6f, 0xfd, 0x59, 0xce, 0x6b, 0x62, 0x6a, 0xf7, 0x99, 0x0b, 0x76, 0x39, 0xae, 0x8d, 0x29, - 0x36, 0x21, 0x18, 0xff, 0xd6, 0xfe, 0xa3, 0x42, 0x49, 0x86, 0x0f, 0xfa, 0x10, 0x2a, 0x34, 0xc2, - 0x8e, 0xeb, 0x3f, 0xb6, 0x42, 0xec, 0x4a, 0xff, 0xbc, 0xfe, 0x2c, 0xfe, 0xfd, 0x44, 0xde, 0xc0, - 0x6e, 0x64, 0x96, 0x69, 0xba, 0x40, 0x9b, 0xb0, 0xe4, 0x10, 0x8f, 0x62, 0xab, 0x61, 0xb9, 0xc2, - 0x4d, 0xaf, 0x4e, 0xb9, 0x80, 0xcd, 0x41, 0x30, 0xf4, 0xa9, 0xb9, 0xc8, 0x71, 0x8d, 0x6e, 0x4a, - 0xa1, 0x5b, 0xae, 0xf0, 0x51, 0x2e, 0x0a, 0xbd, 0x8b, 0x1e, 0xc2, 0x8d, 0x43, 0x42, 0x2e, 0xfa, - 0xe2, 0xad, 0x29, 0x3c, 0x4d, 0xec, 0x61, 0xdf, 0xce, 0x7a, 0x63, 0xf9, 0x90, 0x64, 0x96, 0x68, - 0x13, 0x16, 0x43, 0x7c, 0xe2, 0x05, 0xd8, 0x59, 0x9b, 0x9f, 0x7e, 0x4b, 0x3c, 0xb9, 0x13, 0x71, - 0x53, 0xe2, 0xb4, 0x9f, 0x28, 0x50, 0xce, 0x1c, 0xa0, 0x1e, 0x40, 0x46, 0x4f, 0xe5, 0x4a, 0x31, - 0x93, 0x61, 0xe0, 0x39, 0xea, 0x73, 0x00, 0x71, 0xac, 0xf8, 0x18, 0x87, 0xdc, 0x0d, 0x15, 0x73, - 0x79, 0xbc, 0xcb, 0x9e, 0xae, 0xfd, 0x54, 0xe4, 0xa8, 0xe1, 0x61, 0xd7, 0xa7, 0x64, 0x44, 0xbf, - 0x82, 0x61, 0x70, 0x0f, 0x96, 0x6c, 0x56, 0x82, 0x2c, 0x56, 0x33, 0x8a, 0x33, 0xd7, 0x8c, 0x12, - 0x07, 0x6d, 0x11, 0x82, 0x3e, 0x82, 0xe5, 0x84, 0x00, 0x3b, 0x4e, 0x44, 0xe2, 0x58, 0x38, 0xfd, - 0xb5, 0x69, 0x7a, 0x24, 0xd2, 0x66, 0x85, 0x83, 0xc5, 0x8a, 0x55, 0xe4, 0x28, 0x26, 0xc4, 0xe1, - 0xf9, 0x5b, 0x31, 0x93, 0x85, 0xf6, 0x09, 0xa0, 0x9d, 0xc0, 0xfe, 0xe1, 0x96, 0x17, 0x1c, 0xb7, - 0xdc, 0xb0, 0x4f, 0x22, 0xee, 0x8b, 0xbb, 0x30, 0x7f, 0x84, 0xbd, 0x21, 0x11, 0x4e, 0x98, 0xd1, - 0xf0, 0x04, 0xa3, 0xfd, 0x28, 0xc9, 0x6d, 0xc3, 0xc3, 0x3e, 0x32, 0xe0, 0x06, 0x8b, 0x01, 0x2b, - 0x94, 0x6e, 0x16, 0x8c, 0x53, 0x4b, 0xff, 0x38, 0x2e, 0xcc, 0xe5, 0xf8, 0x4c, 0x98, 0xdc, 0x86, - 0x0a, 0xcb, 0xad, 0x03, 0xcf, 0xf5, 0x99, 0xbb, 0x45, 0x74, 0x95, 0x0f, 0x09, 0x69, 0x8a, 0x2d, - 0xed, 0xdf, 0x4a, 0xa6, 0xfe, 0xff, 0x9f, 0xd4, 0xa8, 0x42, 0x29, 0x0c, 0x62, 0x97, 0x37, 0x21, - 0x95, 0x37, 0xa1, 0xf1, 0xfa, 0x7c, 0xbd, 0x2c, 0x3c, 0x77, 0xbd, 0x9c, 0xd0, 0xf8, 0x8a, 0x93, - 0x1a, 0xdf, 0x7f, 0x45, 0x59, 0x7d, 0xe0, 0x92, 0x63, 0xb4, 0x0d, 0x8b, 0x47, 0x6e, 0xec, 0x1e, - 0x78, 0xd2, 0x8b, 0xdf, 0x9e, 0x66, 0x2c, 0x83, 0xd5, 0x1e, 0x24, 0x98, 0xed, 0x39, 0x53, 0xc2, - 0x51, 0x07, 0x16, 0x82, 0x10, 0x3f, 0x19, 0xca, 0xc6, 0xf7, 0xe6, 0x4c, 0x44, 0xbb, 0x1c, 0xb2, - 0x3d, 0x67, 0x0a, 0x70, 0xf5, 0x73, 0x05, 0x16, 0x05, 0x3b, 0x7a, 0x07, 0x8a, 0xbc, 0x36, 0x24, - 0x9a, 0xdd, 0x9a, 0x46, 0x68, 0x72, 0xe9, 0x09, 0x6e, 0x2c, 0x3c, 0x9f, 0x1b, 0xab, 0xef, 0xc3, - 0x42, 0xa2, 0xe7, 0xd5, 0x34, 0x6a, 0x96, 0x61, 0x89, 0x6b, 0x74, 0xe4, 0x92, 0x63, 0xed, 0x9f, - 0xd9, 0xb9, 0x83, 0xfb, 0x60, 0xe7, 0xbc, 0x0f, 0x1a, 0x33, 0x8d, 0x3c, 0x97, 0x39, 0xe2, 0xc3, - 0x73, 0x8e, 0x78, 0x6b, 0x76, 0xb6, 0x0b, 0xde, 0xf8, 0x6b, 0xc6, 0x1b, 0x6d, 0x00, 0x6e, 0x05, - 0xaf, 0x17, 0x97, 0xe4, 0xfc, 0x64, 0x6e, 0x93, 0x9b, 0x9f, 0x8c, 0x7c, 0x4d, 0x28, 0xc9, 0x31, - 0x47, 0xe8, 0xf7, 0xfa, 0xb4, 0x19, 0x2b, 0xa0, 0x84, 0x69, 0x67, 0x2e, 0x8a, 0xa1, 0x26, 0xc3, - 0xa1, 0x0b, 0xdf, 0xe6, 0xe5, 0xd0, 0xab, 0xbd, 0xb1, 0x4f, 0xaf, 0xc5, 0xae, 0xe6, 0x4d, 0x78, - 0x21, 0x65, 0x49, 0x3c, 0xfd, 0x0b, 0x05, 0xca, 0x99, 0xe6, 0x83, 0xee, 0xc1, 0x22, 0x8e, 0x63, - 0xc2, 0x2c, 0x57, 0x66, 0x2b, 0xd1, 0x4c, 0xba, 0xeb, 0x98, 0x0b, 0x1c, 0xd6, 0x48, 0x09, 0x74, - 0x71, 0x75, 0xf9, 0x08, 0x74, 0xed, 0xe7, 0x0a, 0xac, 0xb6, 0xdd, 0x88, 0xd8, 0x94, 0x38, 0x59, - 0xcd, 0xbe, 0x0b, 0xf3, 0x31, 0xc5, 0x11, 0xcd, 0xa9, 0x57, 0x02, 0x42, 0xef, 0x42, 0x81, 0xf8, - 0x4e, 0x4e, 0x95, 0x18, 0x44, 0xfb, 0x5d, 0x11, 0x56, 0x27, 0x54, 0x35, 0xf4, 0x3e, 0x2c, 0x8a, - 0xce, 0x9c, 0xaf, 0xb7, 0x2c, 0x24, 0x7d, 0x39, 0xc5, 0xeb, 0xf9, 0xfa, 0x7a, 0x82, 0xd7, 0xd1, - 0x07, 0x50, 0xf2, 0xf0, 0xe0, 0xc0, 0x61, 0x0a, 0xe4, 0xeb, 0xea, 0x09, 0xac, 0x91, 0x61, 0xd0, - 0x45, 0x53, 0xcf, 0xc7, 0xa0, 0xb3, 0xb0, 0x1c, 0xfa, 0x87, 0xae, 0xe7, 0x11, 0xc7, 0x6a, 0x88, - 0x9e, 0x3e, 0x23, 0xc7, 0x92, 0x04, 0x36, 0xce, 0xb0, 0xe8, 0x62, 0x28, 0xcf, 0xcb, 0xa2, 0xa3, - 0xaf, 0xc1, 0x42, 0x9f, 0xb8, 0x8f, 0xfb, 0x54, 0xbc, 0x4a, 0x89, 0xd5, 0x85, 0x69, 0xac, 0xf4, - 0x1c, 0xd3, 0xd8, 0x6d, 0xa8, 0x24, 0xdd, 0x4b, 0x3c, 0x69, 0x89, 0x3f, 0xa9, 0xcc, 0xf7, 0xb6, - 0xf9, 0x96, 0xf6, 0x2b, 0x05, 0x5e, 0x10, 0xf8, 0xad, 0xa1, 0x6f, 0xf3, 0x36, 0xba, 0x03, 0x4b, - 0x76, 0x30, 0x08, 0x03, 0x3f, 0x1d, 0x4c, 0xa7, 0x34, 0xd1, 0x88, 0x9c, 0xe3, 0x30, 0x53, 0x06, - 0x74, 0x17, 0x8a, 0xdc, 0x12, 0x35, 0x9f, 0x25, 0x1c, 0xa4, 0x7d, 0xae, 0xb0, 0x70, 0xbe, 0xc0, - 0x8f, 0x56, 0x92, 0x17, 0x42, 0xa6, 0xdd, 0x72, 0xf2, 0xb2, 0xf7, 0x36, 0x28, 0x61, 0xbe, 0xd0, - 0x54, 0x42, 0x06, 0x7a, 0x92, 0x2f, 0x1c, 0x95, 0x27, 0xda, 0x08, 0x4a, 0x26, 0x89, 0x49, 0x74, - 0x44, 0x62, 0xf4, 0x1d, 0x50, 0xa3, 0x9c, 0x19, 0xa5, 0x46, 0x0d, 0x0e, 0xcb, 0x99, 0x48, 0x6a, - 0xa4, 0x6b, 0xa7, 0x0a, 0x94, 0x0c, 0x39, 0xed, 0xbc, 0x07, 0x85, 0xb0, 0xef, 0x8a, 0x67, 0xbf, - 0x39, 0xc3, 0xb5, 0x8e, 0x9d, 0xc3, 0x70, 0x6c, 0x2c, 0xf5, 0x03, 0xdf, 0x26, 0x62, 0x90, 0x4b, - 0x16, 0xe8, 0x1e, 0x2f, 0x5b, 0x94, 0xcc, 0xd2, 0xe0, 0xa5, 0x26, 0xfc, 0xad, 0xc4, 0x4c, 0x70, - 0x2c, 0x4b, 0x23, 0x71, 0x39, 0xb3, 0x7c, 0xcb, 0x90, 0x17, 0x69, 0x8e, 0x51, 0x9a, 0x06, 0x20, - 0x99, 0xbb, 0x0e, 0x53, 0xd3, 0xf5, 0x7d, 0xf1, 0xf5, 0xa0, 0x62, 0x26, 0x0b, 0xed, 0x0b, 0x15, - 0x96, 0xcf, 0x3c, 0x1e, 0x7d, 0x22, 0x15, 0x67, 0x72, 0x37, 0xf4, 0xbb, 0x33, 0x2b, 0x7e, 0x76, - 0xd5, 0xf1, 0x87, 0x03, 0x61, 0x8a, 0xf6, 0x7b, 0x05, 0x6e, 0x5e, 0x38, 0x44, 0xdf, 0x84, 0x97, - 0x8d, 0xdd, 0xbd, 0xee, 0x7e, 0x77, 0xb7, 0x67, 0xed, 0xed, 0x6f, 0xee, 0x77, 0xac, 0x4e, 0xef, - 0xd3, 0x1d, 0xeb, 0xd3, 0xde, 0x9e, 0xd1, 0x69, 0x75, 0xb7, 0xba, 0x9d, 0xf6, 0xca, 0x1c, 0x5a, - 0x87, 0xea, 0x24, 0xa1, 0x5d, 0xa3, 0xd3, 0xeb, 0xb4, 0x57, 0x94, 0xcb, 0xce, 0x5b, 0x1f, 0xef, - 0xee, 0x75, 0xda, 0x2b, 0x2a, 0xba, 0x0d, 0x2f, 0x4d, 0x3a, 0x7f, 0xd8, 0xdd, 0xdf, 0x6e, 0x9b, - 0x9b, 0x0f, 0x7b, 0x2b, 0x05, 0xf4, 0x32, 0x7c, 0x63, 0x32, 0xc5, 0x66, 0x77, 0xa7, 0xd3, 0x5e, - 0x29, 0xb2, 0xd4, 0x99, 0xff, 0x38, 0xec, 0x1d, 0x52, 0x74, 0x1f, 0xca, 0x72, 0x46, 0xb6, 0x5c, - 0xe7, 0x92, 0x8e, 0x34, 0xf1, 0x86, 0xba, 0x8e, 0x09, 0x61, 0xea, 0x8c, 0x71, 0x74, 0xa8, 0x57, - 0x8b, 0x0e, 0xcd, 0x80, 0x8a, 0xdc, 0xdf, 0x0d, 0x89, 0xcf, 0xa2, 0x65, 0x3c, 0xcd, 0x2b, 0xd3, - 0xa3, 0x45, 0x62, 0xd3, 0x99, 0x5f, 0xfb, 0x5e, 0x1a, 0x08, 0x2d, 0x2f, 0x88, 0xc9, 0xb5, 0x19, - 0xab, 0xfd, 0x41, 0x81, 0x15, 0x79, 0xf4, 0xd0, 0xa5, 0x7d, 0x27, 0xc2, 0xc7, 0xd7, 0x77, 0x95, - 0x18, 0x56, 0x65, 0xc4, 0x67, 0xbf, 0x57, 0xa8, 0x57, 0xfc, 0x5e, 0x81, 0x24, 0x59, 0xba, 0xa7, - 0xfd, 0x51, 0x81, 0xd5, 0xf1, 0x8d, 0x91, 0x63, 0x1c, 0x39, 0xc9, 0xbc, 0x78, 0x6d, 0x36, 0x58, - 0x80, 0x22, 0xce, 0x7b, 0x2d, 0x26, 0xdc, 0x14, 0x5c, 0x19, 0x0b, 0xfe, 0xa2, 0x40, 0xd1, 0xc0, - 0xb4, 0x8f, 0x5a, 0xa2, 0x87, 0xcc, 0xd0, 0x8d, 0x26, 0x0c, 0x63, 0x49, 0x2f, 0x61, 0x23, 0x59, - 0x14, 0x0c, 0x79, 0xf4, 0x16, 0xf2, 0x8c, 0x64, 0x1c, 0x84, 0x36, 0x93, 0x72, 0x5b, 0xb8, 0x5a, - 0x3f, 0x64, 0x58, 0xd6, 0x6c, 0xf9, 0x7b, 0x4a, 0x67, 0x44, 0xec, 0x21, 0xaf, 0xe1, 0xf7, 0x61, - 0x81, 0x46, 0xd8, 0x26, 0xf1, 0x9a, 0xc2, 0x75, 0xaa, 0x4f, 0x1b, 0x92, 0xc7, 0x50, 0x56, 0xd4, - 0x6d, 0x62, 0x0a, 0x78, 0xb5, 0x05, 0xf3, 0x7c, 0x03, 0x6d, 0xa4, 0x5f, 0x10, 0x0a, 0x13, 0xd2, - 0xe9, 0xbc, 0x91, 0x0f, 0x98, 0xac, 0xfc, 0x80, 0xf0, 0x77, 0x05, 0x5e, 0x3c, 0x1f, 0xf1, 0xfc, - 0x35, 0x3e, 0x5b, 0xd4, 0x95, 0xab, 0x14, 0xf5, 0xf3, 0x31, 0xa7, 0x5e, 0x39, 0xe6, 0xe4, 0x34, - 0x51, 0xb8, 0xca, 0x34, 0xf1, 0x7d, 0xf8, 0xfa, 0x84, 0x84, 0xb8, 0x1e, 0x13, 0x9b, 0x5f, 0xa8, - 0x7f, 0x3a, 0x5d, 0x57, 0xbe, 0x3c, 0x5d, 0x57, 0xfe, 0x71, 0xba, 0xae, 0xfc, 0xf2, 0xe9, 0xfa, - 0xdc, 0x97, 0x4f, 0xd7, 0xe7, 0xfe, 0xf6, 0x74, 0x7d, 0x0e, 0xd6, 0xed, 0x60, 0xf0, 0x0c, 0xb6, - 0x66, 0xa9, 0x4d, 0x46, 0x46, 0x14, 0xd0, 0xc0, 0x50, 0x3e, 0x33, 0x1f, 0xbb, 0xb4, 0x3f, 0x3c, - 0xa8, 0xd9, 0xc1, 0xa0, 0x6e, 0x07, 0xf1, 0x20, 0x88, 0xeb, 0x11, 0xf1, 0xf0, 0x09, 0x89, 0xea, - 0x47, 0xfa, 0xf8, 0xa7, 0xdd, 0xc7, 0xae, 0x1f, 0xd7, 0x2f, 0xff, 0xb7, 0xe3, 0xae, 0x43, 0x46, - 0xf2, 0xf7, 0x6f, 0xd4, 0x82, 0xd1, 0x6a, 0xff, 0x56, 0xad, 0x1a, 0x52, 0x85, 0x16, 0x53, 0xa1, - 0x4d, 0x46, 0xb5, 0x07, 0x42, 0xe4, 0xcf, 0xe9, 0xe1, 0x23, 0x76, 0xf8, 0xa8, 0x4d, 0x46, 0x8f, - 0xe4, 0xe1, 0xa9, 0xfa, 0xda, 0xe5, 0x87, 0x8f, 0xee, 0x1b, 0xcd, 0x1d, 0x42, 0xb1, 0x83, 0x29, - 0xfe, 0x97, 0xfa, 0x92, 0x14, 0xdc, 0xd8, 0x60, 0x92, 0x1b, 0x1b, 0x6d, 0x32, 0xda, 0xd8, 0x90, - 0xb2, 0x07, 0x0b, 0xfc, 0x7f, 0x93, 0xb7, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x95, 0x49, 0x5f, - 0xa1, 0xa7, 0x19, 0x00, 0x00, + // 1786 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x4f, 0x6f, 0x1b, 0xc7, + 0x15, 0xd7, 0x2e, 0x29, 0x8a, 0x7c, 0xa4, 0x1c, 0x79, 0x14, 0xb4, 0x02, 0x8b, 0xc8, 0xf6, 0xd6, + 0x49, 0xdc, 0xa4, 0xa0, 0xc2, 0x75, 0x0a, 0x04, 0x72, 0x12, 0x47, 0xfc, 0x23, 0x8b, 0x49, 0x44, + 0x31, 0x2b, 0xc5, 0x2e, 0x52, 0xa3, 0x8b, 0xd1, 0xee, 0xc8, 0x5c, 0x74, 0xb9, 0xbb, 0xde, 0x1d, + 0x4a, 0xd4, 0xa9, 0x40, 0xd1, 0xa2, 0xa7, 0xa2, 0xcd, 0xa9, 0xa7, 0xa2, 0x48, 0x8f, 0x45, 0x3f, + 0x42, 0xd1, 0x5e, 0x8b, 0x9e, 0x7c, 0x6b, 0x4f, 0x45, 0x21, 0x1f, 0x0a, 0xf4, 0x03, 0x14, 0x3d, + 0xf4, 0x50, 0xcc, 0x3f, 0x72, 0x25, 0x51, 0x26, 0x29, 0xab, 0x97, 0xde, 0x38, 0x33, 0xef, 0xf7, + 0xdb, 0xf7, 0xe6, 0xbd, 0x79, 0xef, 0xcd, 0x10, 0x6e, 0x47, 0x24, 0xe8, 0xf7, 0xf6, 0x63, 0xbc, + 0xe6, 0x84, 0x31, 0x59, 0x73, 0xc9, 0x60, 0xed, 0xb0, 0x8a, 0xfd, 0xa8, 0x8b, 0xab, 0x6c, 0x50, + 0x89, 0xe2, 0x90, 0x86, 0xa8, 0xac, 0xa4, 0x2a, 0x4c, 0xaa, 0xc2, 0x16, 0x94, 0x54, 0xf9, 0xad, + 0xd3, 0x0c, 0x4e, 0x7c, 0x1c, 0xd1, 0x70, 0x44, 0x22, 0xc6, 0x82, 0xc7, 0xf8, 0x91, 0x06, 0xd9, + 0xdd, 0x23, 0x1c, 0xa1, 0x8f, 0x60, 0x3e, 0x8a, 0xc3, 0xf0, 0x60, 0x45, 0xbb, 0xa9, 0xdd, 0x29, + 0x9a, 0x6f, 0x55, 0x4e, 0x7f, 0x40, 0x82, 0x14, 0x49, 0xe5, 0x8b, 0x4f, 0x18, 0xaa, 0xc3, 0x10, + 0x96, 0x00, 0xa2, 0xf7, 0x20, 0xbb, 0x1f, 0xba, 0xc7, 0x2b, 0x59, 0x4e, 0x70, 0xbb, 0x72, 0xb1, + 0x86, 0x15, 0x86, 0xad, 0x85, 0xee, 0xb1, 0xc5, 0x11, 0xc6, 0x4f, 0x35, 0x28, 0xb0, 0xa9, 0xba, + 0x8f, 0xbd, 0x1e, 0x7a, 0x35, 0xad, 0x49, 0x49, 0xb1, 0x7f, 0x20, 0xd9, 0x75, 0xce, 0xfe, 0xad, + 0x49, 0xec, 0x9c, 0x6a, 0xf4, 0x09, 0xf4, 0x3a, 0x5c, 0x23, 0x51, 0xe8, 0x74, 0x6d, 0xb7, 0x1f, + 0x63, 0xea, 0x85, 0xc1, 0xca, 0xc2, 0x4d, 0xed, 0x4e, 0xd6, 0x5a, 0xe4, 0xb3, 0x0d, 0x39, 0x69, + 0xfc, 0x3a, 0x03, 0x8b, 0xa7, 0xe0, 0x68, 0x13, 0x0a, 0x41, 0xdf, 0xf7, 0xbd, 0x03, 0x8f, 0xc4, + 0x72, 0x6f, 0xee, 0x4c, 0xd8, 0x9b, 0xb6, 0x92, 0xb7, 0x46, 0x50, 0xf4, 0x2e, 0x64, 0x0e, 0x08, + 0x91, 0xea, 0x1b, 0x13, 0x18, 0x36, 0x09, 0xb1, 0x98, 0x38, 0xfa, 0x3e, 0x2c, 0x87, 0x7d, 0x1a, + 0xf5, 0xa9, 0x5d, 0xb5, 0x9d, 0xb0, 0xd7, 0xf3, 0x68, 0x8f, 0x04, 0x74, 0x25, 0xc3, 0x59, 0x2a, + 0x13, 0x58, 0x76, 0x29, 0xa6, 0xa4, 0x3e, 0x44, 0x59, 0xd7, 0x05, 0x55, 0x75, 0x34, 0x95, 0xe2, + 0x37, 0xd3, 0xfc, 0xd9, 0x97, 0xe1, 0x37, 0x53, 0xfc, 0x1d, 0x28, 0x4a, 0x7e, 0x17, 0x53, 0xbc, + 0x92, 0xe3, 0xbc, 0x6b, 0x2f, 0x72, 0x5e, 0x0d, 0x53, 0xa7, 0xcb, 0x5c, 0xb0, 0xc3, 0x71, 0x0d, + 0x4c, 0xb1, 0x05, 0xe1, 0xf0, 0xb7, 0xf1, 0x6f, 0x1d, 0xf2, 0x2a, 0x7c, 0xd0, 0xc7, 0x50, 0xa2, + 0x31, 0x76, 0xbd, 0xe0, 0x89, 0x1d, 0x61, 0x4f, 0xf9, 0xe7, 0xcd, 0x17, 0xf1, 0xef, 0x09, 0xf9, + 0x0e, 0xf6, 0x62, 0xab, 0x48, 0x47, 0x03, 0xb4, 0x01, 0x05, 0x97, 0xf8, 0x14, 0xdb, 0x55, 0xdb, + 0x93, 0x6e, 0x7a, 0x7d, 0xc2, 0x06, 0x6c, 0xf4, 0xc2, 0x7e, 0x40, 0xad, 0x05, 0x8e, 0xab, 0xb6, + 0x46, 0x14, 0xa6, 0xed, 0x49, 0x1f, 0xcd, 0x44, 0x61, 0xb6, 0xd0, 0x23, 0xb8, 0x76, 0x40, 0xc8, + 0x79, 0x5f, 0xbc, 0x33, 0x81, 0xa7, 0x86, 0x7d, 0x1c, 0x38, 0x69, 0x6f, 0x2c, 0x1e, 0x90, 0xd4, + 0x10, 0x6d, 0xc0, 0x42, 0x84, 0x8f, 0xfd, 0x10, 0xbb, 0x2b, 0xf3, 0x93, 0x77, 0x89, 0x1f, 0x6e, + 0x21, 0x6e, 0x29, 0x9c, 0xf1, 0x63, 0x0d, 0x8a, 0xa9, 0x05, 0xd4, 0x06, 0x48, 0xe9, 0xa9, 0x5d, + 0x2a, 0x66, 0x52, 0x0c, 0xfc, 0x8c, 0x06, 0x1c, 0x40, 0x5c, 0x3b, 0x39, 0xc2, 0x11, 0x77, 0x43, + 0xc9, 0x5a, 0x1c, 0xce, 0xb2, 0xaf, 0x1b, 0x3f, 0x91, 0x67, 0xb4, 0xe3, 0x63, 0x2f, 0xa0, 0x64, + 0x40, 0xff, 0x0f, 0xc3, 0xe0, 0x3e, 0x14, 0x1c, 0x96, 0x82, 0x6c, 0x96, 0x33, 0xb2, 0x53, 0xe7, + 0x8c, 0x3c, 0x07, 0x6d, 0x12, 0x82, 0x3e, 0x81, 0x45, 0x41, 0x80, 0x5d, 0x37, 0x26, 0x49, 0x22, + 0x9d, 0xfe, 0xc6, 0x24, 0x3d, 0x84, 0xb4, 0x55, 0xe2, 0x60, 0x39, 0x62, 0x19, 0x39, 0x4e, 0x08, + 0x71, 0xf9, 0xf9, 0x2d, 0x59, 0x62, 0x60, 0x7c, 0x06, 0x68, 0x3b, 0x74, 0x7e, 0xb0, 0xe9, 0x87, + 0x47, 0x75, 0x2f, 0xea, 0x92, 0x98, 0xfb, 0xe2, 0x1e, 0xcc, 0x1f, 0x62, 0xbf, 0x4f, 0xa4, 0x13, + 0xa6, 0x34, 0x5c, 0x60, 0x8c, 0x1f, 0x8a, 0xb3, 0xdd, 0xf1, 0x71, 0x80, 0x3a, 0x70, 0x8d, 0xc5, + 0x80, 0x1d, 0x29, 0x37, 0x4b, 0xc6, 0x89, 0xa9, 0x7f, 0x18, 0x17, 0xd6, 0x62, 0x72, 0x2a, 0x4c, + 0x6e, 0x41, 0x89, 0x9d, 0xad, 0x7d, 0xdf, 0x0b, 0x98, 0xbb, 0x65, 0x74, 0x15, 0x0f, 0x08, 0xa9, + 0xc9, 0x29, 0xe3, 0x5f, 0x5a, 0x2a, 0xff, 0xff, 0x8f, 0xd4, 0x28, 0x43, 0x3e, 0x0a, 0x13, 0x8f, + 0x17, 0x21, 0x9d, 0x17, 0xa1, 0xe1, 0xf8, 0x6c, 0xbe, 0xcc, 0xbc, 0x74, 0xbe, 0x1c, 0x53, 0xf8, + 0xb2, 0xe3, 0x0a, 0xdf, 0x7f, 0x64, 0x5a, 0x7d, 0xe8, 0x91, 0x23, 0xb4, 0x05, 0x0b, 0x87, 0x5e, + 0xe2, 0xed, 0xfb, 0xca, 0x8b, 0xdf, 0x9e, 0x64, 0x2c, 0x83, 0x55, 0x1e, 0x0a, 0xcc, 0xd6, 0x9c, + 0xa5, 0xe0, 0xa8, 0x09, 0xb9, 0x30, 0xc2, 0x4f, 0xfb, 0xaa, 0xf0, 0xbd, 0x3d, 0x15, 0xd1, 0x0e, + 0x87, 0x6c, 0xcd, 0x59, 0x12, 0x5c, 0xfe, 0x52, 0x83, 0x05, 0xc9, 0x8e, 0xde, 0x85, 0x2c, 0xcf, + 0x0d, 0x42, 0xb3, 0x9b, 0x93, 0x08, 0x2d, 0x2e, 0x3d, 0xc6, 0x8d, 0x99, 0x97, 0x73, 0x63, 0xf9, + 0x43, 0xc8, 0x09, 0x3d, 0x2f, 0xa7, 0x51, 0xad, 0x08, 0x05, 0xae, 0xd1, 0xa1, 0x47, 0x8e, 0x8c, + 0x7f, 0xa4, 0xfb, 0x0e, 0xee, 0x83, 0xed, 0xb3, 0x3e, 0xa8, 0x4e, 0xd5, 0xf2, 0x5c, 0xe4, 0x88, + 0x8f, 0xcf, 0x38, 0xe2, 0x9d, 0xe9, 0xd9, 0xce, 0x79, 0xe3, 0x2f, 0x29, 0x6f, 0x34, 0x00, 0xb8, + 0x15, 0x3c, 0x5f, 0x5c, 0x70, 0xe6, 0xc7, 0x73, 0x5b, 0xdc, 0x7c, 0xd1, 0xf2, 0xd5, 0x20, 0xaf, + 0xda, 0x1c, 0xa9, 0xdf, 0x9b, 0x93, 0x7a, 0xac, 0x90, 0x12, 0xa6, 0x9d, 0xb5, 0x20, 0x9b, 0x9a, + 0x14, 0x87, 0x29, 0x7d, 0x3b, 0x2b, 0x87, 0x59, 0x6e, 0x0f, 0x7d, 0x7a, 0x25, 0x76, 0xd5, 0xae, + 0xc3, 0x2b, 0x23, 0x16, 0xe1, 0xe9, 0x9f, 0x6b, 0x50, 0x4c, 0x15, 0x1f, 0x74, 0x1f, 0x16, 0x70, + 0x92, 0x10, 0x66, 0xb9, 0x36, 0x5d, 0x8a, 0x66, 0xd2, 0x2d, 0xd7, 0xca, 0x71, 0x58, 0x75, 0x44, + 0x60, 0xca, 0xad, 0x9b, 0x8d, 0xc0, 0x34, 0x7e, 0xa6, 0xc1, 0x72, 0xc3, 0x8b, 0x89, 0x43, 0x89, + 0x9b, 0xd6, 0xec, 0x7d, 0x98, 0x4f, 0x28, 0x8e, 0xe9, 0x8c, 0x7a, 0x09, 0x10, 0x7a, 0x0f, 0x32, + 0x24, 0x70, 0x67, 0x54, 0x89, 0x41, 0x8c, 0xdf, 0x65, 0x61, 0x79, 0x4c, 0x56, 0x43, 0x1f, 0xc2, + 0x82, 0xac, 0xcc, 0xb3, 0xd5, 0x96, 0x9c, 0xa8, 0xcb, 0x23, 0xbc, 0x39, 0x5b, 0x5d, 0x17, 0x78, + 0x13, 0x7d, 0x04, 0x79, 0x1f, 0xf7, 0xf6, 0x5d, 0xa6, 0xc0, 0x6c, 0x55, 0x5d, 0xc0, 0xaa, 0x29, + 0x06, 0x53, 0x16, 0xf5, 0xd9, 0x18, 0x4c, 0x16, 0x96, 0xfd, 0xe0, 0xc0, 0xf3, 0x7d, 0xe2, 0xda, + 0x55, 0x59, 0xd3, 0xa7, 0xe4, 0x28, 0x28, 0x60, 0xf5, 0x14, 0x8b, 0x29, 0x9b, 0xf2, 0x59, 0x59, + 0x4c, 0xf4, 0x35, 0xc8, 0x75, 0x89, 0xf7, 0xa4, 0x4b, 0xe5, 0x55, 0x4a, 0x8e, 0xce, 0x75, 0x63, + 0xf9, 0x97, 0xe8, 0xc6, 0x6e, 0x41, 0x49, 0x54, 0x2f, 0xf9, 0xa5, 0x02, 0xff, 0x52, 0x91, 0xcf, + 0x6d, 0xf1, 0x29, 0xe3, 0x57, 0x1a, 0xbc, 0x22, 0xf1, 0x9b, 0xfd, 0xc0, 0xe1, 0x65, 0x74, 0x1b, + 0x0a, 0x4e, 0xd8, 0x8b, 0xc2, 0x60, 0xd4, 0x98, 0x4e, 0x28, 0xa2, 0x31, 0x39, 0xc3, 0x61, 0x8d, + 0x18, 0xd0, 0x3d, 0xc8, 0x72, 0x4b, 0xf4, 0xd9, 0x2c, 0xe1, 0x20, 0xe3, 0x4b, 0x8d, 0x85, 0xf3, + 0x39, 0x7e, 0xb4, 0x24, 0x2e, 0x84, 0x4c, 0xbb, 0x45, 0x71, 0xd9, 0xbb, 0x0b, 0x5a, 0x34, 0x5b, + 0x68, 0x6a, 0x11, 0x03, 0x3d, 0x9d, 0x2d, 0x1c, 0xb5, 0xa7, 0xc6, 0x00, 0xf2, 0x16, 0x49, 0x48, + 0x7c, 0x48, 0x12, 0xf4, 0x1d, 0xd0, 0xe3, 0x19, 0x4f, 0x94, 0x1e, 0x57, 0x39, 0x6c, 0xc6, 0x83, + 0xa4, 0xc7, 0xa6, 0x71, 0xa2, 0x41, 0xbe, 0xa3, 0xba, 0x9d, 0x0f, 0x20, 0x13, 0x75, 0x3d, 0xf9, + 0xed, 0xb7, 0xa7, 0xd8, 0xd6, 0xa1, 0x73, 0x18, 0x8e, 0xb5, 0xa5, 0x41, 0x18, 0x38, 0x44, 0x36, + 0x72, 0x62, 0x80, 0xee, 0xf3, 0xb4, 0x45, 0xc9, 0x34, 0x05, 0x5e, 0x69, 0xc2, 0x6f, 0x25, 0x96, + 0xc0, 0xb1, 0x53, 0x1a, 0xcb, 0xcd, 0x99, 0xe6, 0x2d, 0x43, 0x6d, 0xa4, 0x35, 0x44, 0x19, 0x75, + 0x00, 0xc5, 0xdc, 0x72, 0x99, 0x9a, 0x5e, 0x10, 0xc8, 0xd7, 0x83, 0x92, 0x25, 0x06, 0xe8, 0x06, + 0x14, 0xb1, 0x4f, 0xed, 0x7d, 0xe2, 0x74, 0xef, 0x9a, 0x3d, 0x6e, 0x42, 0xc1, 0x02, 0xec, 0xd3, + 0x9a, 0x98, 0x31, 0xbe, 0xd2, 0x61, 0xf1, 0x94, 0x7e, 0xe8, 0x33, 0x65, 0x19, 0x23, 0xba, 0x66, + 0xde, 0x9b, 0xda, 0xb2, 0xd3, 0xa3, 0x66, 0xd0, 0xef, 0x49, 0x5b, 0x8d, 0xdf, 0x6b, 0x70, 0xfd, + 0xdc, 0x22, 0xfa, 0x26, 0xdc, 0xe8, 0xec, 0xec, 0xb6, 0xf6, 0x5a, 0x3b, 0x6d, 0x7b, 0x77, 0x6f, + 0x63, 0xaf, 0x69, 0x37, 0xdb, 0x9f, 0x6f, 0xdb, 0x9f, 0xb7, 0x77, 0x3b, 0xcd, 0x7a, 0x6b, 0xb3, + 0xd5, 0x6c, 0x2c, 0xcd, 0xa1, 0x55, 0x28, 0x8f, 0x13, 0xda, 0xe9, 0x34, 0xdb, 0xcd, 0xc6, 0x92, + 0x76, 0xd1, 0x7a, 0xfd, 0xd3, 0x9d, 0xdd, 0x66, 0x63, 0x49, 0x47, 0xb7, 0xe0, 0xb5, 0x71, 0xeb, + 0x8f, 0x5a, 0x7b, 0x5b, 0x0d, 0x6b, 0xe3, 0x51, 0x7b, 0x29, 0x83, 0x6e, 0xc0, 0x37, 0xc6, 0x53, + 0x6c, 0xb4, 0xb6, 0x9b, 0x8d, 0xa5, 0x2c, 0x3b, 0x5b, 0xf3, 0x9f, 0x46, 0xed, 0x03, 0x8a, 0x1e, + 0x40, 0x51, 0x35, 0xd1, 0xb6, 0xe7, 0x5e, 0x50, 0xb2, 0xc6, 0xee, 0x50, 0xcb, 0xb5, 0x20, 0x1a, + 0x79, 0x6b, 0x18, 0x3e, 0xfa, 0xe5, 0xc2, 0xc7, 0xe8, 0x40, 0x49, 0xcd, 0xef, 0x44, 0x24, 0x60, + 0xe1, 0x34, 0x6c, 0xf7, 0xb5, 0xc9, 0xe1, 0xa4, 0xb0, 0xa3, 0x4b, 0x81, 0xf1, 0xdd, 0x51, 0x20, + 0xd4, 0xfd, 0x30, 0x21, 0x57, 0x66, 0xac, 0xf1, 0x07, 0x0d, 0x96, 0xd4, 0xd2, 0x23, 0x8f, 0x76, + 0xdd, 0x18, 0x1f, 0x5d, 0xdd, 0x56, 0x62, 0x58, 0x56, 0x47, 0x22, 0xfd, 0xa0, 0xa1, 0x5f, 0xf2, + 0x41, 0x03, 0x29, 0xb2, 0xd1, 0x9c, 0xf1, 0x47, 0x0d, 0x96, 0x87, 0x3b, 0x46, 0x8e, 0x70, 0xec, + 0x8a, 0x86, 0xf2, 0xca, 0x6c, 0xb0, 0x01, 0xc5, 0x9c, 0xf7, 0x4a, 0x4c, 0xb8, 0x2e, 0xb9, 0x52, + 0x16, 0xfc, 0x52, 0x17, 0x9d, 0x7f, 0x73, 0x40, 0x9c, 0x3e, 0xcf, 0x8a, 0x0f, 0x20, 0x47, 0x63, + 0xec, 0x90, 0x64, 0x45, 0xbb, 0x99, 0x99, 0x54, 0xb9, 0x4e, 0x41, 0x59, 0x9a, 0x74, 0x88, 0x25, + 0xe1, 0x68, 0x9d, 0x25, 0x9e, 0xa8, 0xaf, 0xd4, 0xbd, 0x3d, 0x41, 0xdd, 0x87, 0xec, 0x0a, 0x6e, + 0x09, 0x08, 0x7a, 0x1f, 0x72, 0xa2, 0x29, 0x96, 0x69, 0x74, 0x3a, 0xb0, 0xc4, 0x94, 0xeb, 0x30, + 0xcf, 0x55, 0x61, 0x2a, 0xa8, 0xd7, 0x80, 0xcc, 0xf4, 0x2a, 0x88, 0xc7, 0x80, 0xbf, 0x69, 0xf0, + 0xea, 0xd9, 0xe0, 0xe4, 0x57, 0xf2, 0x74, 0x82, 0xd6, 0x2e, 0x93, 0xa0, 0xcf, 0x86, 0x87, 0x7e, + 0xe9, 0xf0, 0x50, 0x9d, 0x41, 0xe6, 0x32, 0x9d, 0xc1, 0xf7, 0xe0, 0xeb, 0x63, 0x62, 0xf7, 0x6a, + 0x4c, 0xac, 0x7d, 0xa5, 0xff, 0xe9, 0x64, 0x55, 0x7b, 0x76, 0xb2, 0xaa, 0xfd, 0xfd, 0x64, 0x55, + 0xfb, 0xc5, 0xf3, 0xd5, 0xb9, 0x67, 0xcf, 0x57, 0xe7, 0xfe, 0xfa, 0x7c, 0x75, 0x0e, 0x56, 0x9d, + 0xb0, 0xf7, 0x02, 0xb6, 0x5a, 0xbe, 0x41, 0x06, 0x9d, 0x38, 0xa4, 0x61, 0x47, 0xfb, 0xc2, 0x7a, + 0xe2, 0xd1, 0x6e, 0x7f, 0xbf, 0xe2, 0x84, 0xbd, 0x35, 0x27, 0x4c, 0x7a, 0x61, 0xb2, 0x16, 0x13, + 0x1f, 0x1f, 0x93, 0x78, 0xed, 0xd0, 0x1c, 0xfe, 0x74, 0xba, 0xd8, 0x0b, 0x92, 0xb5, 0x8b, 0xff, + 0xb9, 0xb8, 0xe7, 0x92, 0x81, 0xfa, 0xfd, 0x1b, 0x3d, 0xd3, 0xa9, 0x37, 0x7e, 0xab, 0x97, 0x3b, + 0x4a, 0x85, 0x3a, 0x53, 0xa1, 0x41, 0x06, 0x95, 0x87, 0x52, 0xe4, 0xcf, 0xa3, 0xc5, 0xc7, 0x6c, + 0xf1, 0x71, 0x83, 0x0c, 0x1e, 0xab, 0xc5, 0x13, 0xfd, 0x8d, 0x8b, 0x17, 0x1f, 0x3f, 0xe8, 0xd4, + 0xb6, 0x09, 0xc5, 0x2e, 0xa6, 0xf8, 0x9f, 0xfa, 0x6b, 0x4a, 0x70, 0x7d, 0x9d, 0x49, 0xae, 0xaf, + 0x37, 0xc8, 0x60, 0x7d, 0x5d, 0xc9, 0xee, 0xe7, 0xf8, 0x7f, 0x20, 0x77, 0xff, 0x1b, 0x00, 0x00, + 0xff, 0xff, 0xd6, 0xd7, 0x3e, 0x19, 0x73, 0x19, 0x00, 0x00, } func (m *Swap) Marshal() (dAtA []byte, err error) { @@ -3624,6 +3595,13 @@ func (m *PositionId) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.AltBech32M) > 0 { + i -= len(m.AltBech32M) + copy(dAtA[i:], m.AltBech32M) + i = encodeVarintDex(dAtA, i, uint64(len(m.AltBech32M))) + i-- + dAtA[i] = 0x12 + } if len(m.Inner) > 0 { i -= len(m.Inner) copy(dAtA[i:], m.Inner) @@ -3873,7 +3851,7 @@ func (m *PositionRewardClaim) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Path) Marshal() (dAtA []byte, err error) { +func (m *SwapExecution) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3883,19 +3861,19 @@ func (m *Path) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Path) MarshalTo(dAtA []byte) (int, error) { +func (m *SwapExecution) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *Path) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *SwapExecution) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Phi != nil { + if m.Output != nil { { - size, err := m.Phi.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Output.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -3905,23 +3883,9 @@ func (m *Path) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1a } - if len(m.Route) > 0 { - for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Route[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintDex(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - } - } - if m.Pair != nil { + if m.Input != nil { { - size, err := m.Pair.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Input.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -3929,31 +3893,8 @@ func (m *Path) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintDex(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *SwapExecution) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + dAtA[i] = 0x12 } - return dAtA[:n], nil -} - -func (m *SwapExecution) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *SwapExecution) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l if len(m.Traces) > 0 { for iNdEx := len(m.Traces) - 1; iNdEx >= 0; iNdEx-- { { @@ -4613,6 +4554,10 @@ func (m *PositionId) Size() (n int) { if l > 0 { n += 1 + l + sovDex(uint64(l)) } + l = len(m.AltBech32M) + if l > 0 { + n += 1 + l + sovDex(uint64(l)) + } return n } @@ -4705,29 +4650,6 @@ func (m *PositionRewardClaim) Size() (n int) { return n } -func (m *Path) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pair != nil { - l = m.Pair.Size() - n += 1 + l + sovDex(uint64(l)) - } - if len(m.Route) > 0 { - for _, e := range m.Route { - l = e.Size() - n += 1 + l + sovDex(uint64(l)) - } - } - if m.Phi != nil { - l = m.Phi.Size() - n += 1 + l + sovDex(uint64(l)) - } - return n -} - func (m *SwapExecution) Size() (n int) { if m == nil { return 0 @@ -4740,6 +4662,14 @@ func (m *SwapExecution) Size() (n int) { n += 1 + l + sovDex(uint64(l)) } } + if m.Input != nil { + l = m.Input.Size() + n += 1 + l + sovDex(uint64(l)) + } + if m.Output != nil { + l = m.Output.Size() + n += 1 + l + sovDex(uint64(l)) + } return n } @@ -8185,6 +8115,38 @@ func (m *PositionId) Unmarshal(dAtA []byte) error { m.Inner = []byte{} } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AltBech32M", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDex + } + 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 ErrInvalidLengthDex + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthDex + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AltBech32M = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipDex(dAtA[iNdEx:]) @@ -8813,7 +8775,7 @@ func (m *PositionRewardClaim) Unmarshal(dAtA []byte) error { } return nil } -func (m *Path) Unmarshal(dAtA []byte) error { +func (m *SwapExecution) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8836,15 +8798,15 @@ func (m *Path) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Path: wiretype end group for non-group") + return fmt.Errorf("proto: SwapExecution: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Path: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SwapExecution: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pair", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Traces", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8871,16 +8833,14 @@ func (m *Path) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pair == nil { - m.Pair = &DirectedTradingPair{} - } - if err := m.Pair.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Traces = append(m.Traces, &SwapExecution_Trace{}) + if err := m.Traces[len(m.Traces)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Input", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8907,14 +8867,16 @@ func (m *Path) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Route = append(m.Route, &v1alpha1.AssetId{}) - if err := m.Route[len(m.Route)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Input == nil { + m.Input = &v1alpha1.Value{} + } + if err := m.Input.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Phi", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Output", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8941,94 +8903,10 @@ func (m *Path) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Phi == nil { - m.Phi = &BareTradingFunction{} - } - if err := m.Phi.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipDex(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthDex - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if m.Output == nil { + m.Output = &v1alpha1.Value{} } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *SwapExecution) 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 ErrIntOverflowDex - } - 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: SwapExecution: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: SwapExecution: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Traces", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowDex - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthDex - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthDex - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Traces = append(m.Traces, &SwapExecution_Trace{}) - if err := m.Traces[len(m.Traces)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Output.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/relayer/chains/penumbra/msg.go b/relayer/chains/penumbra/msg.go index 689a3267d..951529b0a 100644 --- a/relayer/chains/penumbra/msg.go +++ b/relayer/chains/penumbra/msg.go @@ -5,10 +5,10 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/gogoproto/proto" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "github.com/cosmos/relayer/v2/relayer/provider" - "github.com/gogo/protobuf/proto" "go.uber.org/zap/zapcore" ) diff --git a/relayer/chains/penumbra/view/v1alpha1/view.pb.go b/relayer/chains/penumbra/view/v1alpha1/view.pb.go index 217129d5f..d8dcd6e9e 100644 --- a/relayer/chains/penumbra/view/v1alpha1/view.pb.go +++ b/relayer/chains/penumbra/view/v1alpha1/view.pb.go @@ -8,10 +8,11 @@ import ( fmt "fmt" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" - v1alpha13 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/chain/v1alpha1" + v1alpha14 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/chain/v1alpha1" v1alpha11 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/crypto/v1alpha1" - v1alpha14 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/dex/v1alpha1" + v1alpha15 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/dex/v1alpha1" v1alpha12 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/ibc/v1alpha1" + v1alpha13 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/stake/v1alpha1" v1alpha1 "github.com/cosmos/relayer/v2/relayer/chains/penumbra/core/transaction/v1alpha1" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" @@ -395,8 +396,8 @@ func (m *TransactionPlannerRequest_Swap) GetFee() *v1alpha11.Fee { } type TransactionPlannerRequest_Delegate struct { - Amount *v1alpha11.Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` - IdentityKey *v1alpha11.IdentityKey `protobuf:"bytes,2,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` + Amount *v1alpha11.Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + RateData *v1alpha13.RateData `protobuf:"bytes,3,opt,name=rate_data,json=rateData,proto3" json:"rate_data,omitempty"` } func (m *TransactionPlannerRequest_Delegate) Reset() { *m = TransactionPlannerRequest_Delegate{} } @@ -439,15 +440,16 @@ func (m *TransactionPlannerRequest_Delegate) GetAmount() *v1alpha11.Amount { return nil } -func (m *TransactionPlannerRequest_Delegate) GetIdentityKey() *v1alpha11.IdentityKey { +func (m *TransactionPlannerRequest_Delegate) GetRateData() *v1alpha13.RateData { if m != nil { - return m.IdentityKey + return m.RateData } return nil } type TransactionPlannerRequest_Undelegate struct { - Value *v1alpha11.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + Value *v1alpha11.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + RateData *v1alpha13.RateData `protobuf:"bytes,2,opt,name=rate_data,json=rateData,proto3" json:"rate_data,omitempty"` } func (m *TransactionPlannerRequest_Undelegate) Reset() { *m = TransactionPlannerRequest_Undelegate{} } @@ -490,6 +492,13 @@ func (m *TransactionPlannerRequest_Undelegate) GetValue() *v1alpha11.Value { return nil } +func (m *TransactionPlannerRequest_Undelegate) GetRateData() *v1alpha13.RateData { + if m != nil { + return m.RateData + } + return nil +} + type TransactionPlannerResponse struct { Plan *v1alpha1.TransactionPlan `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` } @@ -1847,7 +1856,7 @@ func (m *AssetsRequest) GetIncludeVotingReceiptTokens() bool { // Requests all assets known to the view service. type AssetsResponse struct { - Asset *v1alpha11.Asset `protobuf:"bytes,1,opt,name=asset,proto3" json:"asset,omitempty"` + DenomMetadata *v1alpha11.DenomMetadata `protobuf:"bytes,2,opt,name=denom_metadata,json=denomMetadata,proto3" json:"denom_metadata,omitempty"` } func (m *AssetsResponse) Reset() { *m = AssetsResponse{} } @@ -1883,9 +1892,9 @@ func (m *AssetsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_AssetsResponse proto.InternalMessageInfo -func (m *AssetsResponse) GetAsset() *v1alpha11.Asset { +func (m *AssetsResponse) GetDenomMetadata() *v1alpha11.DenomMetadata { if m != nil { - return m.Asset + return m.DenomMetadata } return nil } @@ -1928,7 +1937,7 @@ func (m *ChainParametersRequest) XXX_DiscardUnknown() { var xxx_messageInfo_ChainParametersRequest proto.InternalMessageInfo type ChainParametersResponse struct { - Parameters *v1alpha13.ChainParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` + Parameters *v1alpha14.ChainParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` } func (m *ChainParametersResponse) Reset() { *m = ChainParametersResponse{} } @@ -1964,7 +1973,7 @@ func (m *ChainParametersResponse) XXX_DiscardUnknown() { var xxx_messageInfo_ChainParametersResponse proto.InternalMessageInfo -func (m *ChainParametersResponse) GetParameters() *v1alpha13.ChainParameters { +func (m *ChainParametersResponse) GetParameters() *v1alpha14.ChainParameters { if m != nil { return m.Parameters } @@ -2009,7 +2018,7 @@ func (m *FMDParametersRequest) XXX_DiscardUnknown() { var xxx_messageInfo_FMDParametersRequest proto.InternalMessageInfo type FMDParametersResponse struct { - Parameters *v1alpha13.FmdParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` + Parameters *v1alpha14.FmdParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` } func (m *FMDParametersResponse) Reset() { *m = FMDParametersResponse{} } @@ -2045,7 +2054,7 @@ func (m *FMDParametersResponse) XXX_DiscardUnknown() { var xxx_messageInfo_FMDParametersResponse proto.InternalMessageInfo -func (m *FMDParametersResponse) GetParameters() *v1alpha13.FmdParameters { +func (m *FMDParametersResponse) GetParameters() *v1alpha14.FmdParameters { if m != nil { return m.Parameters } @@ -2903,7 +2912,7 @@ type SpendableNoteRecord struct { // The note position. Position uint64 `protobuf:"varint,7,opt,name=position,proto3" json:"position,omitempty"` // The source of the note (a tx hash or otherwise) - Source *v1alpha13.NoteSource `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` + Source *v1alpha14.NoteSource `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` } func (m *SpendableNoteRecord) Reset() { *m = SpendableNoteRecord{} } @@ -3007,7 +3016,7 @@ func (m *SpendableNoteRecord) GetPosition() uint64 { return 0 } -func (m *SpendableNoteRecord) GetSource() *v1alpha13.NoteSource { +func (m *SpendableNoteRecord) GetSource() *v1alpha14.NoteSource { if m != nil { return m.Source } @@ -3023,14 +3032,14 @@ func (*SpendableNoteRecord) XXX_OneofWrappers() []interface{} { type SwapRecord struct { SwapCommitment *v1alpha11.StateCommitment `protobuf:"bytes,1,opt,name=swap_commitment,json=swapCommitment,proto3" json:"swap_commitment,omitempty"` - Swap *v1alpha14.SwapPlaintext `protobuf:"bytes,2,opt,name=swap,proto3" json:"swap,omitempty"` + Swap *v1alpha15.SwapPlaintext `protobuf:"bytes,2,opt,name=swap,proto3" json:"swap,omitempty"` Position uint64 `protobuf:"varint,3,opt,name=position,proto3" json:"position,omitempty"` Nullifier *v1alpha11.Nullifier `protobuf:"bytes,4,opt,name=nullifier,proto3" json:"nullifier,omitempty"` - OutputData *v1alpha14.BatchSwapOutputData `protobuf:"bytes,5,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` + OutputData *v1alpha15.BatchSwapOutputData `protobuf:"bytes,5,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` // Types that are valid to be assigned to XHeightClaimed: // *SwapRecord_HeightClaimed XHeightClaimed isSwapRecord_XHeightClaimed `protobuf_oneof:"_height_claimed"` - Source *v1alpha13.NoteSource `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"` + Source *v1alpha14.NoteSource `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"` } func (m *SwapRecord) Reset() { *m = SwapRecord{} } @@ -3092,7 +3101,7 @@ func (m *SwapRecord) GetSwapCommitment() *v1alpha11.StateCommitment { return nil } -func (m *SwapRecord) GetSwap() *v1alpha14.SwapPlaintext { +func (m *SwapRecord) GetSwap() *v1alpha15.SwapPlaintext { if m != nil { return m.Swap } @@ -3113,7 +3122,7 @@ func (m *SwapRecord) GetNullifier() *v1alpha11.Nullifier { return nil } -func (m *SwapRecord) GetOutputData() *v1alpha14.BatchSwapOutputData { +func (m *SwapRecord) GetOutputData() *v1alpha15.BatchSwapOutputData { if m != nil { return m.OutputData } @@ -3127,7 +3136,7 @@ func (m *SwapRecord) GetHeightClaimed() uint64 { return 0 } -func (m *SwapRecord) GetSource() *v1alpha13.NoteSource { +func (m *SwapRecord) GetSource() *v1alpha14.NoteSource { if m != nil { return m.Source } @@ -3141,6 +3150,148 @@ func (*SwapRecord) XXX_OneofWrappers() []interface{} { } } +type OwnedPositionIdsRequest struct { + // Types that are valid to be assigned to XPositionState: + // *OwnedPositionIdsRequest_PositionState + XPositionState isOwnedPositionIdsRequest_XPositionState `protobuf_oneof:"_position_state"` + // Types that are valid to be assigned to XTradingPair: + // *OwnedPositionIdsRequest_TradingPair + XTradingPair isOwnedPositionIdsRequest_XTradingPair `protobuf_oneof:"_trading_pair"` +} + +func (m *OwnedPositionIdsRequest) Reset() { *m = OwnedPositionIdsRequest{} } +func (m *OwnedPositionIdsRequest) String() string { return proto.CompactTextString(m) } +func (*OwnedPositionIdsRequest) ProtoMessage() {} +func (*OwnedPositionIdsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{46} +} +func (m *OwnedPositionIdsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OwnedPositionIdsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OwnedPositionIdsRequest.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 *OwnedPositionIdsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_OwnedPositionIdsRequest.Merge(m, src) +} +func (m *OwnedPositionIdsRequest) XXX_Size() int { + return m.Size() +} +func (m *OwnedPositionIdsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_OwnedPositionIdsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_OwnedPositionIdsRequest proto.InternalMessageInfo + +type isOwnedPositionIdsRequest_XPositionState interface { + isOwnedPositionIdsRequest_XPositionState() + MarshalTo([]byte) (int, error) + Size() int +} +type isOwnedPositionIdsRequest_XTradingPair interface { + isOwnedPositionIdsRequest_XTradingPair() + MarshalTo([]byte) (int, error) + Size() int +} + +type OwnedPositionIdsRequest_PositionState struct { + PositionState *v1alpha15.PositionState `protobuf:"bytes,1,opt,name=position_state,json=positionState,proto3,oneof" json:"position_state,omitempty"` +} +type OwnedPositionIdsRequest_TradingPair struct { + TradingPair *v1alpha15.TradingPair `protobuf:"bytes,2,opt,name=trading_pair,json=tradingPair,proto3,oneof" json:"trading_pair,omitempty"` +} + +func (*OwnedPositionIdsRequest_PositionState) isOwnedPositionIdsRequest_XPositionState() {} +func (*OwnedPositionIdsRequest_TradingPair) isOwnedPositionIdsRequest_XTradingPair() {} + +func (m *OwnedPositionIdsRequest) GetXPositionState() isOwnedPositionIdsRequest_XPositionState { + if m != nil { + return m.XPositionState + } + return nil +} +func (m *OwnedPositionIdsRequest) GetXTradingPair() isOwnedPositionIdsRequest_XTradingPair { + if m != nil { + return m.XTradingPair + } + return nil +} + +func (m *OwnedPositionIdsRequest) GetPositionState() *v1alpha15.PositionState { + if x, ok := m.GetXPositionState().(*OwnedPositionIdsRequest_PositionState); ok { + return x.PositionState + } + return nil +} + +func (m *OwnedPositionIdsRequest) GetTradingPair() *v1alpha15.TradingPair { + if x, ok := m.GetXTradingPair().(*OwnedPositionIdsRequest_TradingPair); ok { + return x.TradingPair + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*OwnedPositionIdsRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*OwnedPositionIdsRequest_PositionState)(nil), + (*OwnedPositionIdsRequest_TradingPair)(nil), + } +} + +type OwnedPositionIdsResponse struct { + PositionIds []*v1alpha15.PositionId `protobuf:"bytes,1,rep,name=position_ids,json=positionIds,proto3" json:"position_ids,omitempty"` +} + +func (m *OwnedPositionIdsResponse) Reset() { *m = OwnedPositionIdsResponse{} } +func (m *OwnedPositionIdsResponse) String() string { return proto.CompactTextString(m) } +func (*OwnedPositionIdsResponse) ProtoMessage() {} +func (*OwnedPositionIdsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{47} +} +func (m *OwnedPositionIdsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *OwnedPositionIdsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_OwnedPositionIdsResponse.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 *OwnedPositionIdsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_OwnedPositionIdsResponse.Merge(m, src) +} +func (m *OwnedPositionIdsResponse) XXX_Size() int { + return m.Size() +} +func (m *OwnedPositionIdsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_OwnedPositionIdsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_OwnedPositionIdsResponse proto.InternalMessageInfo + +func (m *OwnedPositionIdsResponse) GetPositionIds() []*v1alpha15.PositionId { + if m != nil { + return m.PositionIds + } + return nil +} + func init() { proto.RegisterType((*BroadcastTransactionRequest)(nil), "penumbra.view.v1alpha1.BroadcastTransactionRequest") proto.RegisterType((*BroadcastTransactionResponse)(nil), "penumbra.view.v1alpha1.BroadcastTransactionResponse") @@ -3192,181 +3343,194 @@ func init() { proto.RegisterType((*NotesForVotingResponse)(nil), "penumbra.view.v1alpha1.NotesForVotingResponse") proto.RegisterType((*SpendableNoteRecord)(nil), "penumbra.view.v1alpha1.SpendableNoteRecord") proto.RegisterType((*SwapRecord)(nil), "penumbra.view.v1alpha1.SwapRecord") + proto.RegisterType((*OwnedPositionIdsRequest)(nil), "penumbra.view.v1alpha1.OwnedPositionIdsRequest") + proto.RegisterType((*OwnedPositionIdsResponse)(nil), "penumbra.view.v1alpha1.OwnedPositionIdsResponse") } func init() { proto.RegisterFile("penumbra/view/v1alpha1/view.proto", fileDescriptor_0aa947b204e6a7c2) } var fileDescriptor_0aa947b204e6a7c2 = []byte{ - // 2695 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcd, 0x73, 0x23, 0x47, - 0x15, 0xf7, 0x48, 0xfe, 0x7c, 0xb2, 0x24, 0x6f, 0xaf, 0x3f, 0x14, 0x25, 0x71, 0x96, 0xc9, 0x7e, - 0x38, 0x1b, 0x22, 0x6f, 0x9c, 0x4d, 0x08, 0x4e, 0x52, 0xc4, 0x8a, 0xf1, 0xda, 0x95, 0xdd, 0xc4, - 0x8c, 0xb3, 0x0e, 0x49, 0x1c, 0xa6, 0xda, 0x33, 0x6d, 0x6b, 0xf0, 0x68, 0x66, 0x32, 0xd3, 0xb2, - 0x6c, 0x38, 0x85, 0x4a, 0x51, 0x5b, 0x39, 0x50, 0xdc, 0x80, 0x2b, 0x47, 0x8a, 0x2b, 0x57, 0x2e, - 0x5c, 0x28, 0x4e, 0x39, 0x52, 0x45, 0x41, 0x51, 0x9b, 0xe2, 0x02, 0xff, 0x02, 0x55, 0x50, 0xfd, - 0x31, 0xa3, 0x99, 0x91, 0x66, 0x25, 0xd9, 0xde, 0x5a, 0x38, 0x49, 0xdd, 0xfd, 0xde, 0xef, 0xbd, - 0x7e, 0xdd, 0xfd, 0xfa, 0xbd, 0xd7, 0x03, 0xdf, 0xf0, 0x88, 0xd3, 0x6a, 0xee, 0xfb, 0x78, 0xf9, - 0xd8, 0x22, 0xed, 0xe5, 0xe3, 0x97, 0xb1, 0xed, 0x35, 0xf0, 0xcb, 0xbc, 0x55, 0xf3, 0x7c, 0x97, - 0xba, 0x68, 0x3e, 0x24, 0xa9, 0xf1, 0xce, 0x90, 0xa4, 0xba, 0x14, 0xb1, 0x1a, 0xae, 0x4f, 0x96, - 0x8d, 0x06, 0xb6, 0x9c, 0x0e, 0x00, 0x6f, 0x0a, 0x84, 0xea, 0xcd, 0x14, 0xa5, 0x7f, 0xea, 0x51, - 0x37, 0x46, 0xca, 0xdb, 0x92, 0xf6, 0x6a, 0x92, 0xd6, 0x24, 0x27, 0x1d, 0x42, 0x93, 0x9c, 0x48, - 0xaa, 0xdb, 0x49, 0x2a, 0xea, 0x63, 0x27, 0xc0, 0x06, 0xb5, 0xdc, 0x98, 0x06, 0xb1, 0xce, 0xde, - 0xd8, 0xd6, 0xbe, 0xd1, 0xa1, 0xb6, 0xf6, 0x0d, 0x41, 0xa5, 0xfe, 0x4a, 0x81, 0xa7, 0xeb, 0xbe, - 0x8b, 0x4d, 0x03, 0x07, 0xf4, 0x83, 0x0e, 0x88, 0x46, 0x3e, 0x6b, 0x91, 0x80, 0xa2, 0xef, 0x41, - 0x21, 0x06, 0x5d, 0x51, 0xae, 0x28, 0x4b, 0x85, 0x95, 0xe5, 0x5a, 0x64, 0x25, 0x86, 0x5d, 0x8b, - 0x0b, 0x0f, 0x65, 0xd4, 0xe2, 0x60, 0x71, 0x0c, 0x74, 0x03, 0xca, 0xb8, 0x8d, 0x2d, 0xaa, 0x9b, - 0x84, 0x12, 0x01, 0x9b, 0xbb, 0xa2, 0x2c, 0x4d, 0x6a, 0x25, 0xde, 0xbd, 0x1e, 0xf6, 0xaa, 0x9f, - 0x2b, 0xf0, 0x4c, 0x6f, 0xdd, 0x02, 0xcf, 0x75, 0x02, 0x82, 0x5e, 0x83, 0x9c, 0x65, 0x4a, 0x9d, - 0xae, 0x0f, 0xa2, 0xd3, 0x96, 0xa9, 0xe5, 0x2c, 0x13, 0xbd, 0x00, 0x33, 0x91, 0x6c, 0xbd, 0x41, - 0xac, 0xc3, 0x06, 0xe5, 0x2a, 0x8c, 0x6a, 0xe5, 0xa8, 0x7f, 0x93, 0x77, 0xab, 0x7f, 0x9d, 0x82, - 0xa7, 0x62, 0xa2, 0xb7, 0x6d, 0xec, 0x38, 0xc4, 0x0f, 0xad, 0xf3, 0x3c, 0x14, 0xc9, 0x89, 0x67, - 0xf9, 0xa7, 0x21, 0x8a, 0xc2, 0x51, 0xa6, 0x45, 0xa7, 0x80, 0x40, 0xb7, 0x21, 0x7f, 0x40, 0x08, - 0x17, 0x50, 0x58, 0x51, 0x53, 0x6a, 0xca, 0xed, 0x10, 0x69, 0xb8, 0x41, 0x88, 0xc6, 0xc8, 0x11, - 0x82, 0xd1, 0x26, 0x69, 0xba, 0x95, 0xfc, 0x15, 0x65, 0x69, 0x4a, 0xe3, 0xff, 0xd1, 0x1e, 0xcc, - 0x60, 0xc3, 0x70, 0x5b, 0x0e, 0xd5, 0x0f, 0x7d, 0xb7, 0xe5, 0xe9, 0x96, 0x59, 0x29, 0x71, 0xd8, - 0x97, 0xfa, 0xc0, 0xae, 0x09, 0xb6, 0x3b, 0x8c, 0x6b, 0xcb, 0xdc, 0x1c, 0xd1, 0x4a, 0x38, 0xd1, - 0xf3, 0x40, 0x51, 0x90, 0x06, 0x13, 0x6e, 0x8b, 0x7a, 0x2d, 0x1a, 0x54, 0x66, 0xaf, 0xe4, 0x97, - 0x0a, 0x2b, 0xaf, 0xd7, 0x7a, 0x1f, 0x86, 0x5a, 0xa6, 0x41, 0x6a, 0xef, 0x73, 0x00, 0x2d, 0x04, - 0x42, 0x77, 0x61, 0x2c, 0x68, 0x63, 0x2f, 0xa8, 0x2c, 0x72, 0xc4, 0xd7, 0x86, 0x47, 0xdc, 0x69, - 0x63, 0x4f, 0x13, 0x20, 0x68, 0x0f, 0x0a, 0x26, 0xb1, 0xc9, 0x21, 0x66, 0x74, 0x41, 0x65, 0x89, - 0x63, 0xae, 0x0e, 0x8f, 0xb9, 0x2e, 0x40, 0x88, 0x16, 0x87, 0x43, 0xfb, 0x50, 0x6c, 0x39, 0x71, - 0xfc, 0x15, 0x8e, 0xff, 0xe6, 0xf0, 0xf8, 0xf7, 0x43, 0x18, 0xa2, 0x25, 0x21, 0xd1, 0x06, 0x14, - 0xac, 0x7d, 0x43, 0x17, 0x5c, 0x41, 0xe5, 0x4d, 0x2e, 0xe1, 0x5a, 0x6a, 0xf1, 0xd8, 0xe9, 0xec, - 0x6c, 0xd9, 0x7d, 0x63, 0x4d, 0xec, 0x7a, 0xb0, 0xc2, 0xbf, 0x41, 0xf5, 0xa7, 0x0a, 0x8c, 0x0b, - 0x5b, 0xa3, 0x55, 0x18, 0x3b, 0xc6, 0x76, 0x8b, 0xc8, 0x73, 0x70, 0xb5, 0xcf, 0x4e, 0xd8, 0x65, - 0xb4, 0x9a, 0x60, 0x41, 0x6f, 0xc3, 0x04, 0x36, 0x4d, 0x9f, 0x04, 0x81, 0xdc, 0x9e, 0xd7, 0xfb, - 0xed, 0x23, 0x41, 0xad, 0x85, 0x6c, 0xd5, 0x3f, 0x28, 0x30, 0xca, 0x96, 0xe8, 0x5c, 0x6a, 0x6c, - 0xc1, 0x34, 0xc5, 0xfe, 0x21, 0xa1, 0x3a, 0x0e, 0x02, 0x42, 0x07, 0xd5, 0x85, 0xd1, 0x6e, 0x99, - 0x5a, 0x41, 0xf0, 0xf2, 0x66, 0x78, 0xd8, 0xf2, 0x43, 0x1d, 0xb6, 0xea, 0x2f, 0x15, 0x98, 0x0c, - 0x37, 0x05, 0x7a, 0x0b, 0xc6, 0x71, 0x93, 0x9d, 0x0d, 0x39, 0x95, 0x6b, 0xfd, 0xf4, 0xe0, 0xc4, - 0x9a, 0x64, 0x42, 0xf7, 0x60, 0xda, 0x32, 0x89, 0x43, 0x2d, 0x7a, 0xaa, 0x1f, 0x91, 0x53, 0x39, - 0x99, 0x9b, 0x7d, 0x40, 0xb6, 0x24, 0xcb, 0xbb, 0xe4, 0x54, 0x2b, 0x58, 0x9d, 0x46, 0x75, 0x13, - 0xa0, 0xb3, 0x9d, 0xce, 0x63, 0xe5, 0xfa, 0x65, 0xb8, 0xa4, 0xa7, 0xdd, 0x87, 0x4a, 0xa0, 0xda, - 0x6b, 0x1f, 0x4b, 0x07, 0x7b, 0x07, 0x46, 0x3d, 0x1b, 0x87, 0x6e, 0xff, 0x95, 0x21, 0xdd, 0x3e, - 0x43, 0xd3, 0x38, 0x80, 0x6a, 0xc1, 0x9c, 0xdc, 0x3a, 0xf5, 0xd3, 0x2d, 0xc7, 0x24, 0x27, 0xa1, - 0x07, 0xdd, 0x86, 0xa2, 0xdc, 0x4a, 0xba, 0xc5, 0xfa, 0xa5, 0xa8, 0x17, 0x07, 0xdb, 0x87, 0x02, - 0x6a, 0x1a, 0xc7, 0x5a, 0xea, 0xc7, 0x30, 0x9f, 0x16, 0x25, 0x67, 0x13, 0xdb, 0xed, 0xca, 0x99, - 0x76, 0xbb, 0xfa, 0x11, 0xcc, 0x71, 0xc8, 0xfa, 0x69, 0x38, 0x24, 0xa7, 0x71, 0x7e, 0xe8, 0xcf, - 0x15, 0x98, 0x4f, 0x63, 0x4b, 0xbd, 0xef, 0x9f, 0xdf, 0x46, 0x9b, 0x23, 0x49, 0x2b, 0x3d, 0x50, - 0x94, 0xfa, 0x0c, 0x94, 0xf4, 0x04, 0xae, 0x7a, 0x04, 0x0b, 0xdf, 0xf5, 0x1a, 0xa4, 0x49, 0x7c, - 0x6c, 0xa7, 0x26, 0x78, 0xf1, 0xeb, 0xb4, 0x07, 0x95, 0x6e, 0x61, 0x17, 0xb6, 0x52, 0x9f, 0xc0, - 0x42, 0x1d, 0xdb, 0xd8, 0x31, 0xc8, 0x63, 0x58, 0xab, 0x5f, 0x28, 0x50, 0xe9, 0x46, 0x97, 0xba, - 0xbf, 0x09, 0x63, 0xc2, 0x8b, 0x29, 0x43, 0x79, 0x31, 0xc1, 0x14, 0x73, 0x3e, 0xb9, 0x33, 0x38, - 0x1f, 0xf5, 0x1a, 0x14, 0x77, 0x2d, 0xd2, 0x5e, 0x6b, 0xd1, 0xc6, 0x07, 0xee, 0x11, 0x71, 0xd0, - 0x2c, 0x8c, 0x59, 0xec, 0x48, 0x73, 0x6d, 0xa6, 0x35, 0xd1, 0x50, 0x35, 0x28, 0x87, 0x64, 0xa1, - 0x55, 0xbe, 0x03, 0xf9, 0x83, 0xe3, 0x23, 0xa9, 0x74, 0xbf, 0x70, 0x62, 0xa3, 0x65, 0xdb, 0x0c, - 0xc0, 0x72, 0x0e, 0x99, 0xc3, 0x62, 0x9c, 0xea, 0xfb, 0x30, 0xd3, 0xc1, 0x94, 0xb6, 0x78, 0x03, - 0xc6, 0x28, 0x53, 0xa3, 0xdb, 0x93, 0x26, 0xaf, 0xd2, 0x84, 0xce, 0x9a, 0xe0, 0x51, 0x7f, 0xa2, - 0x40, 0x71, 0x87, 0x62, 0xda, 0x8a, 0x56, 0xee, 0xb1, 0xc6, 0x3f, 0xbd, 0xfd, 0xa3, 0x06, 0xa5, - 0x50, 0x07, 0x39, 0xa7, 0xe7, 0xa0, 0x10, 0x9c, 0x3a, 0x46, 0x32, 0xe2, 0x03, 0xd6, 0x25, 0xe3, - 0xbd, 0xe7, 0xa0, 0x60, 0x60, 0x6a, 0x34, 0x2c, 0xe7, 0x50, 0x6f, 0x79, 0x32, 0xb6, 0x85, 0xb0, - 0xeb, 0xbe, 0xa7, 0x3e, 0x50, 0xe0, 0xb2, 0x00, 0xdd, 0xa1, 0x3e, 0xc1, 0xcd, 0x27, 0x38, 0x3d, - 0x1f, 0x66, 0x93, 0x9a, 0xc8, 0x49, 0x7e, 0x1b, 0x9e, 0xb2, 0x31, 0x25, 0x01, 0xd5, 0x8f, 0x1c, - 0xb7, 0xed, 0xe8, 0xfb, 0xb6, 0x6b, 0x1c, 0x25, 0xa7, 0x3c, 0x2f, 0x08, 0xde, 0x65, 0xe3, 0x75, - 0x36, 0xdc, 0x99, 0x7e, 0xdc, 0x3e, 0xb9, 0xb4, 0x7d, 0xd4, 0x2f, 0xf3, 0x30, 0xfd, 0x9e, 0x4b, - 0x49, 0x10, 0x8b, 0xa2, 0x2d, 0xc7, 0xb0, 0x5b, 0x26, 0xd1, 0x03, 0x8f, 0xc8, 0xad, 0x3f, 0xa9, - 0x4d, 0xcb, 0xce, 0x1d, 0xd6, 0x87, 0xd6, 0x60, 0x92, 0x9f, 0x10, 0x66, 0x94, 0xfc, 0x50, 0x27, - 0x6b, 0x02, 0x8b, 0x3f, 0xdd, 0x3e, 0x6c, 0xf4, 0x9c, 0x3e, 0x0c, 0xdd, 0x83, 0xb2, 0x38, 0x78, - 0x3a, 0x75, 0xb9, 0xee, 0x66, 0x65, 0x7c, 0x98, 0x63, 0x5b, 0x14, 0xdc, 0x1f, 0xb8, 0x6c, 0x8e, - 0xe6, 0x93, 0xd8, 0x00, 0x0f, 0x72, 0x30, 0xc7, 0x17, 0x63, 0xc3, 0xf5, 0x77, 0x5d, 0x6a, 0x39, - 0x87, 0xe1, 0xaa, 0xdc, 0x84, 0x4b, 0xc7, 0x2e, 0xc5, 0xfb, 0x36, 0xd1, 0x31, 0x4d, 0x2e, 0x7d, - 0x59, 0x0e, 0xac, 0x51, 0xb9, 0xe6, 0x5d, 0x96, 0xcd, 0x9f, 0xd7, 0xb2, 0x4f, 0xc0, 0x14, 0xbf, - 0xcf, 0x41, 0xe9, 0x43, 0x8b, 0x3a, 0xb1, 0xab, 0xe2, 0x23, 0x98, 0x71, 0x5c, 0x4a, 0x74, 0xc3, - 0x6d, 0x36, 0x2d, 0xda, 0x24, 0x0e, 0x65, 0x81, 0x32, 0x8b, 0xd9, 0x6b, 0x7d, 0xb4, 0x60, 0xa7, - 0x8a, 0xbc, 0x13, 0xb1, 0x69, 0x65, 0x86, 0xd3, 0x69, 0x07, 0xe8, 0x07, 0x30, 0x13, 0x8b, 0x9f, - 0x74, 0x1e, 0x66, 0xe5, 0xcf, 0x1e, 0x66, 0x95, 0x69, 0xb2, 0xe3, 0x49, 0x18, 0x90, 0x40, 0x39, - 0xb2, 0x9f, 0xf4, 0x23, 0x1a, 0x4c, 0xb7, 0x45, 0x97, 0x6e, 0x62, 0x8a, 0x87, 0xa9, 0x1f, 0x48, - 0xa8, 0x75, 0x4c, 0xb1, 0x56, 0x68, 0x77, 0x1a, 0xea, 0xdf, 0x14, 0x98, 0x97, 0x83, 0x6b, 0x8e, - 0x59, 0x6f, 0x59, 0xb6, 0x19, 0xae, 0x57, 0x2f, 0xa3, 0x2a, 0x17, 0x68, 0x54, 0x13, 0x10, 0x6e, - 0xd1, 0x86, 0xeb, 0x5b, 0x3f, 0xe2, 0x09, 0x9d, 0x98, 0x94, 0xb8, 0xa9, 0x5f, 0x1d, 0x44, 0xc2, - 0x5a, 0x9c, 0x9b, 0x4f, 0xed, 0x12, 0x4e, 0x77, 0xa9, 0x36, 0x2c, 0x74, 0xcd, 0x4f, 0xda, 0xf3, - 0xe2, 0xcb, 0x31, 0xea, 0x6f, 0xf3, 0x50, 0xe4, 0xae, 0x32, 0xda, 0xf5, 0x55, 0x98, 0x3c, 0xb0, - 0x6c, 0x4a, 0x7c, 0x22, 0x8a, 0x2b, 0x93, 0x5a, 0xd4, 0x46, 0x3f, 0x84, 0xc5, 0x98, 0xaf, 0x36, - 0xac, 0x03, 0xcb, 0xd0, 0x4d, 0xe2, 0xb8, 0x4d, 0xcb, 0x91, 0x59, 0xb3, 0x38, 0x1f, 0xfd, 0x32, - 0x93, 0x75, 0xc6, 0xa3, 0x3d, 0xd3, 0x71, 0xf1, 0x1c, 0x6a, 0x3d, 0x8e, 0x84, 0x56, 0xe1, 0xa9, - 0x50, 0x56, 0x27, 0x87, 0xd6, 0x79, 0x70, 0x10, 0xf0, 0xb3, 0x32, 0xa9, 0x2d, 0x48, 0x82, 0xf5, - 0x68, 0x9c, 0x87, 0x10, 0x01, 0x7a, 0x1d, 0x2a, 0x21, 0x6f, 0xcb, 0xd9, 0x77, 0x1d, 0x93, 0xdd, - 0xc6, 0x92, 0x75, 0x94, 0xb3, 0xce, 0xcb, 0xf1, 0xfb, 0xe1, 0xb0, 0xe4, 0xbc, 0x0e, 0xe5, 0x90, - 0xd3, 0xf6, 0x74, 0xe7, 0x80, 0x06, 0x95, 0x31, 0xce, 0x10, 0x5e, 0x52, 0x77, 0xbd, 0xf7, 0x0e, - 0x68, 0x80, 0x56, 0x60, 0x2e, 0xa4, 0xf3, 0x7c, 0xd7, 0x73, 0x03, 0x6c, 0x0b, 0xea, 0x71, 0x4e, - 0x7d, 0x59, 0x0e, 0x6e, 0xcb, 0x31, 0xce, 0xb3, 0x06, 0xcf, 0x86, 0x3c, 0xc7, 0xdc, 0xd9, 0xea, - 0x3e, 0x31, 0x88, 0xe5, 0xd1, 0x50, 0xb5, 0x09, 0xce, 0x5b, 0x95, 0x44, 0xa1, 0x43, 0xe6, 0x24, - 0x42, 0x3d, 0xf5, 0x2e, 0x94, 0xc2, 0xd5, 0x92, 0x7b, 0x62, 0x35, 0x19, 0x70, 0x5e, 0x1d, 0xe4, - 0x5a, 0x94, 0xe1, 0xa6, 0x5a, 0x81, 0xf9, 0x77, 0x1a, 0xd8, 0x72, 0xb6, 0xb1, 0x8f, 0x9b, 0x84, - 0x12, 0x3f, 0xdc, 0x04, 0x6a, 0x03, 0x16, 0xba, 0x46, 0xa4, 0xc0, 0x7b, 0x00, 0x5e, 0xd4, 0x9b, - 0x15, 0x31, 0xf2, 0x8a, 0x68, 0x24, 0x34, 0x0d, 0x15, 0x03, 0x50, 0xe7, 0x61, 0x76, 0xe3, 0xde, - 0x7a, 0xb7, 0x06, 0x26, 0xcc, 0xa5, 0xfa, 0xa5, 0xfc, 0x77, 0x7b, 0xc8, 0x7f, 0xf1, 0xd1, 0xf2, - 0x37, 0x9a, 0x66, 0x86, 0xf4, 0x9f, 0xe5, 0x60, 0x81, 0x5d, 0x80, 0xf5, 0xd3, 0x98, 0xb7, 0x96, - 0x07, 0xe1, 0x43, 0x28, 0xa7, 0xdc, 0xbf, 0x3c, 0xeb, 0xc3, 0x7a, 0xff, 0x52, 0xd2, 0xfb, 0xf7, - 0x2a, 0x81, 0xe6, 0x7b, 0x95, 0x40, 0x9f, 0x84, 0x17, 0x77, 0xa0, 0xd2, 0x6d, 0x8f, 0xc8, 0x9d, - 0x97, 0x78, 0x94, 0xc3, 0xa3, 0x02, 0x36, 0xa7, 0x6e, 0xeb, 0x27, 0x03, 0xfb, 0x9d, 0x90, 0x9a, - 0x41, 0x6a, 0xc4, 0x70, 0x7d, 0x53, 0x2b, 0x06, 0xf1, 0x4e, 0xbe, 0x00, 0x3b, 0x6d, 0xec, 0x65, - 0x2c, 0x40, 0xd0, 0xc6, 0xde, 0x05, 0x2c, 0x00, 0x83, 0xf9, 0x3f, 0x59, 0x00, 0x0d, 0x2a, 0xdd, - 0xf6, 0x88, 0x2a, 0xde, 0xa3, 0x6c, 0x26, 0xd2, 0xec, 0x6a, 0xa6, 0xd9, 0xdb, 0xd8, 0x93, 0xd6, - 0xe6, 0xf4, 0xea, 0xbf, 0x15, 0x98, 0x7f, 0xaf, 0x65, 0xdb, 0xd6, 0x81, 0x45, 0xfc, 0x64, 0x52, - 0xb5, 0x01, 0x53, 0x4e, 0x38, 0x22, 0xad, 0xbb, 0xd4, 0x67, 0x6a, 0x11, 0x92, 0xd6, 0x61, 0xfd, - 0x9f, 0x36, 0xe9, 0x32, 0x2c, 0x74, 0xcd, 0x5e, 0x5a, 0x74, 0x16, 0xc6, 0x44, 0xd2, 0x21, 0x6e, - 0x3a, 0xd1, 0x50, 0x77, 0xe1, 0x99, 0xd8, 0x85, 0xb9, 0xe5, 0x1c, 0xb8, 0xf5, 0xd3, 0x4d, 0x1c, - 0x44, 0xd9, 0xb2, 0x78, 0x79, 0xc8, 0x0d, 0xfb, 0xf2, 0xa0, 0x7e, 0xa1, 0xc0, 0x7c, 0x0a, 0x38, - 0x84, 0xbc, 0x0e, 0xd3, 0x01, 0xc5, 0x7e, 0x32, 0xd4, 0xde, 0x1c, 0xd1, 0x0a, 0xbc, 0x57, 0x04, - 0xda, 0x0f, 0x14, 0x05, 0xa9, 0x00, 0xc4, 0x31, 0x13, 0xe9, 0xd5, 0xa6, 0xa2, 0x4d, 0x11, 0xc7, - 0x8c, 0x68, 0xea, 0x65, 0x28, 0xea, 0x71, 0xb0, 0x7a, 0x11, 0x0a, 0x7a, 0x87, 0x4b, 0xfd, 0x57, - 0x0e, 0xca, 0x29, 0x35, 0xd0, 0xd3, 0x30, 0x9e, 0x92, 0x2c, 0xdb, 0x4c, 0xe8, 0x19, 0xe7, 0x9b, - 0x8e, 0x57, 0xf2, 0x17, 0xf0, 0x7c, 0xb4, 0x07, 0x05, 0x8f, 0xf8, 0x2c, 0xf8, 0xa0, 0xd6, 0x31, - 0x91, 0x39, 0xdc, 0xea, 0xb0, 0xe1, 0x5d, 0x07, 0x41, 0x8b, 0xc3, 0xa1, 0x3b, 0x30, 0xca, 0x8e, - 0x12, 0xbf, 0xf2, 0x87, 0x8f, 0x1a, 0x77, 0x2d, 0xd2, 0xd6, 0x38, 0x40, 0x7d, 0x0a, 0x26, 0x42, - 0x6b, 0x7f, 0x02, 0x0b, 0x5d, 0x6b, 0xde, 0x29, 0x74, 0xd1, 0x13, 0xdd, 0x72, 0x0e, 0x5c, 0x79, - 0xa4, 0x6f, 0x0c, 0xf0, 0xda, 0xc0, 0x11, 0xc6, 0xe9, 0x09, 0xfb, 0x55, 0x31, 0x3c, 0x9b, 0xb1, - 0x53, 0x2f, 0x4c, 0xc4, 0xa7, 0x50, 0x94, 0xf9, 0xba, 0x84, 0xbc, 0x0b, 0x05, 0x7e, 0x2f, 0xfa, - 0xdc, 0xc5, 0x9c, 0xe5, 0x0e, 0x00, 0x27, 0xfa, 0xaf, 0xfe, 0x8e, 0xf9, 0xa6, 0x54, 0x0a, 0xfa, - 0x38, 0x04, 0x5d, 0x70, 0x65, 0x5e, 0xfd, 0x4f, 0x1e, 0x2e, 0xf7, 0x10, 0xd9, 0x2b, 0x6a, 0x50, - 0x2e, 0x24, 0x6a, 0xf8, 0x16, 0x8c, 0xf2, 0x3b, 0x57, 0xe8, 0xfd, 0x7c, 0x3f, 0x27, 0xcd, 0x34, - 0xe2, 0x0c, 0x8f, 0x21, 0x3d, 0x4f, 0x5c, 0x1a, 0xa3, 0x67, 0xbf, 0x34, 0xae, 0x41, 0x49, 0x1c, - 0x12, 0xdd, 0xf0, 0x09, 0xa6, 0xc4, 0xe4, 0x07, 0x6f, 0x54, 0x2b, 0x8a, 0xde, 0x77, 0x44, 0x27, - 0xf3, 0x8d, 0x92, 0x4c, 0xf8, 0xea, 0xf1, 0xd0, 0x37, 0x8a, 0x5e, 0x5e, 0x21, 0x62, 0x6e, 0xaa, - 0x0a, 0x93, 0x9e, 0x1b, 0x58, 0xdc, 0xd7, 0x4c, 0x70, 0xa0, 0xa8, 0x8d, 0xde, 0x86, 0xf1, 0xc0, - 0x6d, 0xf9, 0x06, 0xa9, 0x4c, 0xf6, 0xd6, 0x37, 0x19, 0x31, 0x32, 0xf3, 0xed, 0x70, 0x7a, 0x4d, - 0xf2, 0x71, 0xaf, 0x1a, 0x57, 0x43, 0xfd, 0x4b, 0x1e, 0xa0, 0x73, 0xd5, 0xf6, 0x8a, 0x56, 0x94, - 0x0b, 0x89, 0x56, 0xde, 0x92, 0xb7, 0xbe, 0x58, 0xf8, 0x17, 0x52, 0x68, 0x26, 0x39, 0x49, 0xde, - 0xfc, 0xdb, 0x36, 0xb6, 0x1c, 0x4a, 0x4e, 0xa8, 0xb8, 0xfc, 0x13, 0x56, 0xc9, 0xa7, 0xac, 0x72, - 0x51, 0x0b, 0xb9, 0x0d, 0x05, 0xf1, 0xe6, 0x2b, 0x52, 0xe2, 0xb1, 0x9e, 0x8e, 0x3e, 0xa1, 0x69, - 0x1d, 0x53, 0xa3, 0xc1, 0xd4, 0x15, 0xef, 0x98, 0x3c, 0x19, 0x06, 0x37, 0xfa, 0x8f, 0x6e, 0x76, - 0xb6, 0x86, 0x8d, 0xad, 0x26, 0x31, 0xa3, 0x55, 0x0f, 0x37, 0x87, 0xe8, 0x66, 0xeb, 0xde, 0x59, - 0xdb, 0x89, 0x33, 0xae, 0xed, 0x25, 0x28, 0xeb, 0x49, 0x71, 0x2b, 0xff, 0xb8, 0x04, 0x97, 0x99, - 0x43, 0xdf, 0xf6, 0x5d, 0xea, 0x1a, 0xae, 0xbd, 0x43, 0xfc, 0x63, 0xcb, 0x20, 0xe8, 0x43, 0x18, - 0x17, 0x31, 0x04, 0xca, 0xac, 0x67, 0x27, 0x22, 0xac, 0xea, 0xf5, 0x7e, 0x64, 0xd2, 0xdb, 0x1d, - 0xc1, 0x74, 0xbc, 0x18, 0x8b, 0x5e, 0x7c, 0x34, 0x5f, 0xa2, 0x78, 0x5c, 0xfd, 0xe6, 0x60, 0xc4, - 0x42, 0xd4, 0x2d, 0x05, 0xed, 0xc2, 0x18, 0x77, 0xba, 0xe8, 0x6a, 0x16, 0x63, 0xbc, 0x46, 0x5b, - 0xbd, 0xd6, 0x87, 0x2a, 0xc2, 0xfd, 0x0c, 0x4a, 0x49, 0x67, 0x8e, 0x5e, 0x7a, 0x24, 0x6b, 0xba, - 0xee, 0x58, 0xad, 0x0d, 0x4a, 0x1e, 0x89, 0xfc, 0x18, 0x26, 0x64, 0xbd, 0x04, 0x65, 0x9a, 0x3a, - 0x59, 0xd8, 0xab, 0xde, 0xe8, 0x4b, 0x27, 0xd7, 0xc4, 0x8f, 0x6a, 0x5a, 0x61, 0x2d, 0x06, 0xd5, - 0xfa, 0xf0, 0xa6, 0x8a, 0x52, 0xd5, 0xe5, 0x81, 0xe9, 0xa5, 0xcc, 0x8f, 0x60, 0x5c, 0xa4, 0xf8, - 0xd9, 0x1b, 0x2c, 0x51, 0xb0, 0xc9, 0xde, 0x60, 0xc9, 0x4a, 0xc1, 0x2d, 0x85, 0x4d, 0x27, 0x95, - 0x8a, 0x67, 0x4f, 0xa7, 0x77, 0x61, 0x20, 0x7b, 0x3a, 0x59, 0xe5, 0x02, 0x1b, 0x8a, 0x89, 0x3c, - 0x1e, 0x65, 0x6e, 0xd5, 0x5e, 0x65, 0x80, 0xea, 0x4b, 0x03, 0x52, 0x4b, 0x69, 0x2e, 0x94, 0x92, - 0xcf, 0xbf, 0xd9, 0xfb, 0xaf, 0xe7, 0x8b, 0x74, 0xf6, 0xfe, 0xcb, 0x78, 0x55, 0x76, 0xa1, 0x94, - 0x7c, 0xb7, 0xcd, 0x16, 0xd8, 0xf3, 0xed, 0x38, 0x5b, 0x60, 0xc6, 0x73, 0x70, 0x0b, 0x66, 0xd2, - 0x0f, 0xa7, 0x28, 0x73, 0x51, 0x32, 0xde, 0x73, 0xab, 0xb7, 0x06, 0x67, 0x90, 0x62, 0xdb, 0x30, - 0x93, 0x7e, 0xf3, 0xcc, 0x16, 0x9b, 0xf1, 0xf6, 0x9a, 0x2d, 0x36, 0xeb, 0x39, 0xf5, 0x96, 0xc2, - 0xe6, 0x9b, 0x2e, 0x48, 0x64, 0x0b, 0xce, 0x28, 0xe5, 0x64, 0x0b, 0xce, 0xac, 0x75, 0xb4, 0x60, - 0x26, 0x9d, 0x86, 0x67, 0x8b, 0xcd, 0x28, 0x60, 0x64, 0x8b, 0xcd, 0xcc, 0xf0, 0x7d, 0x28, 0xa7, - 0x52, 0xd5, 0xec, 0x13, 0xda, 0x3b, 0xa3, 0xcf, 0x3e, 0xa1, 0x59, 0x39, 0xf0, 0x17, 0x0a, 0xcc, - 0xf5, 0x4c, 0x22, 0xd0, 0xed, 0x01, 0x73, 0x85, 0x44, 0x76, 0x5c, 0x7d, 0x75, 0x48, 0x2e, 0xa9, - 0x06, 0xed, 0x4e, 0x4a, 0x6b, 0x83, 0xe6, 0x2a, 0xfd, 0xa6, 0x9e, 0x91, 0x80, 0xdd, 0x52, 0xd0, - 0x8f, 0x01, 0x75, 0x7f, 0x01, 0x83, 0x5e, 0x1e, 0xfa, 0xab, 0xaf, 0xea, 0xca, 0x30, 0x2c, 0x72, - 0xca, 0x9f, 0x2b, 0x30, 0xdb, 0xeb, 0x13, 0x47, 0xf4, 0x4a, 0xe6, 0x41, 0xc9, 0xfe, 0x58, 0xb3, - 0x7a, 0x7b, 0x38, 0x26, 0xa1, 0xc3, 0x8a, 0xd7, 0xf9, 0x18, 0x20, 0x0c, 0x71, 0x3e, 0x85, 0xc9, - 0xb0, 0x0b, 0xdd, 0xe8, 0xf7, 0x68, 0x1f, 0x4a, 0x5f, 0xea, 0x4f, 0x28, 0x24, 0xd6, 0xbf, 0xcc, - 0xfd, 0xf1, 0xe1, 0xa2, 0xf2, 0xd5, 0xc3, 0x45, 0xe5, 0xef, 0x0f, 0x17, 0x95, 0x9f, 0x7f, 0xbd, - 0x38, 0xf2, 0xd5, 0xd7, 0x8b, 0x23, 0x7f, 0xfe, 0x7a, 0x71, 0x04, 0xaa, 0x86, 0xdb, 0xcc, 0xc0, - 0xa9, 0x4f, 0x45, 0xd1, 0xd8, 0xb6, 0xf2, 0xf1, 0xfb, 0x87, 0x16, 0x6d, 0xb4, 0xf6, 0x6b, 0x86, - 0xdb, 0x5c, 0x36, 0xdc, 0xa0, 0xe9, 0x06, 0xcb, 0x3e, 0xb1, 0xf1, 0x29, 0xf1, 0x97, 0x8f, 0x57, - 0xa2, 0xbf, 0x3c, 0xf0, 0x0b, 0x96, 0x7b, 0x7f, 0xf7, 0xfb, 0x06, 0x6b, 0x85, 0x8d, 0x5f, 0xe7, - 0xf2, 0xdb, 0xbb, 0xdf, 0xff, 0x4d, 0x6e, 0x7e, 0x3b, 0x14, 0xce, 0xa4, 0xd5, 0x76, 0xe5, 0xf0, - 0x9f, 0x3a, 0x03, 0x7b, 0x6c, 0x60, 0x2f, 0x1c, 0x78, 0x98, 0x53, 0x7b, 0x0f, 0xec, 0xdd, 0xd9, - 0xae, 0xdf, 0x23, 0x14, 0xb3, 0x78, 0xf8, 0x9f, 0xb9, 0x4a, 0x48, 0xb4, 0xba, 0xca, 0xa8, 0x56, - 0x57, 0x43, 0xb2, 0xfd, 0x71, 0xfe, 0x21, 0xee, 0x2b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x30, - 0x99, 0x71, 0xd0, 0x9d, 0x2c, 0x00, 0x00, + // 2865 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xdd, 0x6f, 0x1b, 0xc7, + 0xb5, 0xf7, 0x92, 0xfa, 0xf2, 0xa1, 0x48, 0xca, 0x63, 0x5b, 0x62, 0x98, 0x44, 0xf1, 0xdd, 0xc4, + 0xb6, 0xe2, 0x24, 0x94, 0xa3, 0x38, 0xb9, 0xb9, 0x4a, 0x82, 0x1b, 0xd1, 0xba, 0xb2, 0x04, 0xc7, + 0x31, 0xef, 0xca, 0x56, 0x9a, 0x44, 0xe9, 0x62, 0xb4, 0x3b, 0x92, 0xb6, 0x22, 0x77, 0x37, 0xbb, + 0x43, 0x51, 0x6a, 0x9f, 0x52, 0x04, 0x85, 0x11, 0xa0, 0x41, 0xdf, 0x8a, 0xbc, 0xf6, 0xb1, 0xe8, + 0x6b, 0x5f, 0xfb, 0xd2, 0x97, 0xa2, 0x4f, 0x79, 0x2c, 0xd0, 0xa2, 0x28, 0x1c, 0xf4, 0xa5, 0xfd, + 0x17, 0x0a, 0xb4, 0x98, 0xaf, 0xe5, 0xee, 0x92, 0x6b, 0x92, 0xb2, 0x0c, 0xb7, 0x4f, 0xe4, 0xcc, + 0x9c, 0xf3, 0x3b, 0x67, 0xce, 0x9c, 0x39, 0x73, 0xe6, 0xcc, 0xc2, 0x7f, 0xf9, 0xc4, 0x6d, 0xb7, + 0x76, 0x02, 0xbc, 0x78, 0xe8, 0x90, 0xce, 0xe2, 0xe1, 0xeb, 0xb8, 0xe9, 0xef, 0xe3, 0xd7, 0x79, + 0xab, 0xe6, 0x07, 0x1e, 0xf5, 0xd0, 0xac, 0x22, 0xa9, 0xf1, 0x4e, 0x45, 0x52, 0x5d, 0x88, 0x58, + 0x2d, 0x2f, 0x20, 0x8b, 0xd6, 0x3e, 0x76, 0xdc, 0x2e, 0x00, 0x6f, 0x0a, 0x84, 0xea, 0xb5, 0x14, + 0x65, 0x70, 0xec, 0x53, 0x2f, 0x46, 0xca, 0xdb, 0x92, 0xf6, 0xa5, 0x24, 0xad, 0x4d, 0x8e, 0xba, + 0x84, 0x36, 0x39, 0x92, 0x54, 0x37, 0x92, 0x54, 0x34, 0xc0, 0x6e, 0x88, 0x2d, 0xea, 0x78, 0x31, + 0x0d, 0x62, 0x9d, 0xfd, 0xb1, 0x9d, 0x1d, 0xab, 0x4b, 0xed, 0xec, 0x58, 0x92, 0x2a, 0x35, 0xaf, + 0x90, 0xe2, 0x03, 0xd2, 0xa5, 0xe3, 0x4d, 0x41, 0xa9, 0x7f, 0xa3, 0xc1, 0xb3, 0xf5, 0xc0, 0xc3, + 0xb6, 0x85, 0x43, 0x7a, 0xaf, 0x2b, 0xce, 0x20, 0x9f, 0xb7, 0x49, 0x48, 0xd1, 0xff, 0x43, 0x21, + 0xa6, 0x44, 0x45, 0xbb, 0xa4, 0x2d, 0x14, 0x96, 0x16, 0x6b, 0x91, 0x3d, 0x19, 0x7e, 0x2d, 0xae, + 0xa6, 0x92, 0x52, 0x8b, 0x83, 0xc5, 0x31, 0xd0, 0x55, 0x28, 0xe3, 0x0e, 0x76, 0xa8, 0x69, 0x13, + 0x4a, 0x04, 0x6c, 0xee, 0x92, 0xb6, 0x30, 0x65, 0x94, 0x78, 0xf7, 0xaa, 0xea, 0xd5, 0xbf, 0xd0, + 0xe0, 0xb9, 0xfe, 0xba, 0x85, 0xbe, 0xe7, 0x86, 0x04, 0xbd, 0x05, 0x39, 0xc7, 0x96, 0x3a, 0x5d, + 0x19, 0x46, 0xa7, 0x0d, 0xdb, 0xc8, 0x39, 0x36, 0x7a, 0x19, 0x66, 0x22, 0xd9, 0xe6, 0x3e, 0x71, + 0xf6, 0xf6, 0x29, 0x57, 0x61, 0xcc, 0x28, 0x47, 0xfd, 0xeb, 0xbc, 0x5b, 0xff, 0x06, 0xe0, 0x99, + 0x98, 0xe8, 0x46, 0x13, 0xbb, 0x2e, 0x09, 0x94, 0x75, 0x5e, 0x84, 0x22, 0x39, 0xf2, 0x9d, 0xe0, + 0x58, 0xa1, 0x68, 0x1c, 0x65, 0x5a, 0x74, 0x0a, 0x08, 0x74, 0x03, 0xf2, 0xbb, 0x84, 0x70, 0x01, + 0x85, 0x25, 0x3d, 0xa5, 0xa6, 0x74, 0x9c, 0x48, 0xc3, 0x35, 0x42, 0x0c, 0x46, 0x8e, 0x10, 0x8c, + 0xb5, 0x48, 0xcb, 0xab, 0xe4, 0x2f, 0x69, 0x0b, 0x67, 0x0d, 0xfe, 0x1f, 0x6d, 0xc3, 0x0c, 0xb6, + 0x2c, 0xaf, 0xed, 0x52, 0x73, 0x2f, 0xf0, 0xda, 0xbe, 0xe9, 0xd8, 0x95, 0x12, 0x87, 0x7d, 0x6d, + 0x00, 0xec, 0x8a, 0x60, 0xbb, 0xc5, 0xb8, 0x36, 0xec, 0xf5, 0x33, 0x46, 0x09, 0x27, 0x7a, 0x1e, + 0x68, 0x1a, 0x32, 0x60, 0xd2, 0x6b, 0x53, 0xbf, 0x4d, 0xc3, 0xca, 0x85, 0x4b, 0xf9, 0x85, 0xc2, + 0xd2, 0xdb, 0xb5, 0xfe, 0xdb, 0xa6, 0x96, 0x69, 0x90, 0xda, 0x5d, 0x0e, 0x60, 0x28, 0x20, 0xf4, + 0x01, 0x8c, 0x87, 0x1d, 0xec, 0x87, 0x95, 0x79, 0x8e, 0xf8, 0xd6, 0xe8, 0x88, 0x9b, 0x1d, 0xec, + 0x1b, 0x02, 0x04, 0x6d, 0x43, 0xc1, 0x26, 0x4d, 0xb2, 0x87, 0x19, 0x5d, 0x58, 0x59, 0xe0, 0x98, + 0xcb, 0xa3, 0x63, 0xae, 0x0a, 0x10, 0x62, 0xc4, 0xe1, 0xd0, 0x0e, 0x14, 0xdb, 0x6e, 0x1c, 0x7f, + 0x89, 0xe3, 0xbf, 0x3b, 0x3a, 0xfe, 0x7d, 0x05, 0x43, 0x8c, 0x24, 0x24, 0x5a, 0x83, 0x82, 0xb3, + 0x63, 0x99, 0x82, 0x2b, 0xac, 0xbc, 0xcb, 0x25, 0x5c, 0x4e, 0x2d, 0x1e, 0xdb, 0xc7, 0x5d, 0x97, + 0xdd, 0xb1, 0x56, 0x84, 0xd7, 0x83, 0xa3, 0xfe, 0x86, 0xd5, 0x9f, 0x68, 0x30, 0x21, 0x6c, 0x8d, + 0x96, 0x61, 0xfc, 0x10, 0x37, 0xdb, 0x44, 0xee, 0x83, 0x97, 0x06, 0x78, 0xc2, 0x16, 0xa3, 0x35, + 0x04, 0x0b, 0x7a, 0x1f, 0x26, 0xb1, 0x6d, 0x07, 0x24, 0x0c, 0xa5, 0x7b, 0x5e, 0x19, 0xe4, 0x47, + 0x82, 0xda, 0x50, 0x6c, 0xd5, 0xdf, 0x6a, 0x30, 0xc6, 0x96, 0xe8, 0xb1, 0xd4, 0xd8, 0x80, 0x69, + 0x8a, 0x83, 0x3d, 0x42, 0x4d, 0x1c, 0x86, 0x84, 0x0e, 0xab, 0x0b, 0xa3, 0xdd, 0xb0, 0x8d, 0x82, + 0xe0, 0xe5, 0x4d, 0xb5, 0xd9, 0xf2, 0x23, 0x6d, 0xb6, 0xea, 0xd7, 0x1a, 0x4c, 0x29, 0xa7, 0x40, + 0xef, 0xc1, 0x04, 0x6e, 0xb1, 0xbd, 0x21, 0xa7, 0x72, 0x79, 0x90, 0x1e, 0x9c, 0xd8, 0x90, 0x4c, + 0xe8, 0x26, 0x9c, 0x0d, 0x30, 0x25, 0xa6, 0x8d, 0x29, 0x96, 0x7a, 0xa4, 0x67, 0x22, 0x02, 0x70, + 0x04, 0x60, 0x60, 0x4a, 0x56, 0x31, 0xc5, 0xc6, 0x54, 0x20, 0xff, 0x55, 0x7f, 0xaa, 0x01, 0x74, + 0xbd, 0xe8, 0xb1, 0x8c, 0x9b, 0xd0, 0x27, 0x77, 0x32, 0x7d, 0xea, 0xe7, 0xe1, 0x9c, 0x99, 0x0e, + 0x3d, 0x3a, 0x81, 0x6a, 0xbf, 0x3d, 0x20, 0x83, 0xf3, 0x2d, 0x18, 0xf3, 0x9b, 0x58, 0x1d, 0x19, + 0x6f, 0x8c, 0x78, 0x64, 0x30, 0x34, 0x83, 0x03, 0xe8, 0x0e, 0x5c, 0x94, 0x6e, 0x57, 0x3f, 0xde, + 0x70, 0x6d, 0x72, 0xa4, 0xa2, 0x6f, 0x03, 0x8a, 0xd2, 0x0d, 0x4d, 0x87, 0xf5, 0x4b, 0x51, 0xaf, + 0x0c, 0xe7, 0xc3, 0x02, 0x6a, 0x1a, 0xc7, 0x5a, 0xfa, 0x27, 0x30, 0x9b, 0x16, 0x25, 0x67, 0x13, + 0xdb, 0x29, 0xda, 0x89, 0x76, 0x8a, 0xfe, 0x31, 0x5c, 0xe4, 0x90, 0xf5, 0x63, 0x35, 0x24, 0xa7, + 0xf1, 0xf8, 0xd0, 0x5f, 0x68, 0x30, 0x9b, 0xc6, 0x96, 0x7a, 0xdf, 0x7f, 0x7c, 0x1b, 0xad, 0x9f, + 0x49, 0x5a, 0xe9, 0x81, 0xa6, 0xd5, 0x67, 0xa0, 0x64, 0x26, 0x70, 0xf5, 0x03, 0x98, 0xfb, 0x3f, + 0x7f, 0x9f, 0xb4, 0x48, 0x80, 0x9b, 0xa9, 0x09, 0x9e, 0xfe, 0x3a, 0x6d, 0x43, 0xa5, 0x57, 0xd8, + 0xa9, 0xad, 0xd4, 0xa7, 0x30, 0x57, 0xc7, 0x4d, 0xec, 0x5a, 0xe4, 0x09, 0xac, 0xd5, 0xcf, 0x35, + 0xa8, 0xf4, 0xa2, 0x4b, 0xdd, 0xdf, 0x85, 0x71, 0x11, 0x01, 0xb5, 0x91, 0x22, 0xa0, 0x60, 0x8a, + 0x05, 0xae, 0xdc, 0x09, 0x02, 0x97, 0x7e, 0x19, 0x8a, 0x5b, 0x0e, 0xe9, 0xac, 0xb4, 0xe9, 0xfe, + 0x3d, 0xef, 0x80, 0xb8, 0xe8, 0x02, 0x8c, 0x3b, 0x6c, 0x4b, 0x73, 0x6d, 0xa6, 0x0d, 0xd1, 0xd0, + 0x0d, 0x28, 0x2b, 0x32, 0x65, 0x95, 0xff, 0x85, 0xfc, 0xee, 0xe1, 0x81, 0x54, 0x7a, 0x50, 0x2a, + 0xb2, 0xd6, 0x6e, 0x36, 0x19, 0x80, 0xe3, 0xee, 0xdd, 0x26, 0xc7, 0x06, 0xe3, 0xd4, 0xef, 0xc2, + 0x4c, 0x17, 0x53, 0xda, 0xe2, 0x1d, 0x18, 0xa7, 0x4c, 0x8d, 0xde, 0x28, 0x9c, 0x3c, 0x86, 0x13, + 0x3a, 0x1b, 0x82, 0x47, 0xff, 0xb1, 0x06, 0xc5, 0x4d, 0x8a, 0x69, 0x3b, 0x5a, 0xb9, 0x27, 0x9a, + 0x3b, 0xf5, 0x8f, 0x8f, 0x06, 0x94, 0x94, 0x0e, 0x72, 0x4e, 0x2f, 0x40, 0x21, 0x3c, 0x76, 0xad, + 0x64, 0xb6, 0x08, 0xac, 0x4b, 0xe6, 0x8a, 0x2f, 0x40, 0xc1, 0xc2, 0xd4, 0xda, 0x77, 0xdc, 0x3d, + 0xb3, 0xed, 0xcb, 0xbc, 0x18, 0x54, 0xd7, 0x7d, 0x5f, 0x7f, 0xa0, 0xc1, 0x79, 0x01, 0xba, 0x49, + 0x03, 0x82, 0x5b, 0x4f, 0x71, 0x7a, 0x01, 0x5c, 0x48, 0x6a, 0x22, 0x27, 0xf9, 0x3f, 0xf0, 0x4c, + 0x13, 0x53, 0x12, 0x52, 0xf3, 0xc0, 0xf5, 0x3a, 0xae, 0xb9, 0xd3, 0xf4, 0xac, 0x83, 0xe4, 0x94, + 0x67, 0x05, 0xc1, 0x6d, 0x36, 0x5e, 0x67, 0xc3, 0xdd, 0xe9, 0xc7, 0xed, 0x93, 0x4b, 0xdb, 0x47, + 0xff, 0x2a, 0x0f, 0xd3, 0x1f, 0x7a, 0x94, 0x84, 0xb1, 0x0c, 0xdc, 0x71, 0xad, 0x66, 0xdb, 0x26, + 0x66, 0xe8, 0x13, 0xe9, 0xfa, 0x53, 0xc6, 0xb4, 0xec, 0xdc, 0x64, 0x7d, 0x68, 0x05, 0xa6, 0xf8, + 0x0e, 0x61, 0x46, 0xc9, 0x8f, 0xb4, 0xb3, 0x26, 0xb1, 0xf8, 0xd3, 0x1b, 0xc3, 0xc6, 0x1e, 0x33, + 0x86, 0xa1, 0x3b, 0x50, 0x16, 0x1b, 0xcf, 0xa4, 0x1e, 0xd7, 0xdd, 0xae, 0x4c, 0x8c, 0xb2, 0x6d, + 0x8b, 0x82, 0xfb, 0x9e, 0xc7, 0xe6, 0x68, 0x3f, 0x0d, 0x07, 0x78, 0x90, 0x83, 0x8b, 0x7c, 0x31, + 0xd6, 0xbc, 0x60, 0xcb, 0xa3, 0x8e, 0xbb, 0xa7, 0x56, 0xe5, 0x1a, 0x9c, 0x3b, 0xf4, 0x28, 0xde, + 0x69, 0x12, 0x13, 0xd3, 0xe4, 0xd2, 0x97, 0xe5, 0xc0, 0x0a, 0x95, 0x6b, 0xde, 0x63, 0xd9, 0xfc, + 0xe3, 0x5a, 0xf6, 0x29, 0x98, 0xe2, 0x37, 0x39, 0x28, 0x7d, 0xe4, 0x50, 0x37, 0x76, 0x54, 0x7c, + 0x0c, 0x33, 0xae, 0x47, 0x89, 0x69, 0x79, 0xad, 0x96, 0x43, 0x5b, 0xc4, 0xa5, 0x2c, 0xc9, 0x66, + 0xf9, 0x7e, 0x6d, 0x80, 0x16, 0x6c, 0x57, 0x91, 0x9b, 0x11, 0x9b, 0x51, 0x66, 0x38, 0xdd, 0x76, + 0x88, 0xbe, 0x0f, 0x33, 0xb1, 0xfc, 0xc9, 0xe4, 0x69, 0x56, 0xfe, 0xe4, 0x69, 0x56, 0x99, 0x26, + 0x3b, 0x9e, 0x86, 0x01, 0x09, 0x94, 0x23, 0xfb, 0xc9, 0x38, 0x62, 0xc0, 0x74, 0x47, 0x74, 0x89, + 0xdc, 0x75, 0x84, 0xda, 0x83, 0x84, 0xe2, 0x49, 0x6c, 0xa1, 0xd3, 0x6d, 0xe8, 0x7f, 0xd6, 0x60, + 0x56, 0x0e, 0xae, 0xb8, 0x76, 0xbd, 0xed, 0x34, 0x6d, 0xb5, 0x5e, 0xfd, 0x8c, 0xaa, 0x9d, 0xa2, + 0x51, 0x6d, 0x40, 0xb8, 0x4d, 0xf7, 0xbd, 0xc0, 0xf9, 0x21, 0xbf, 0x0c, 0xc6, 0x13, 0xf2, 0x37, + 0x87, 0x91, 0xb0, 0x12, 0xe7, 0xe6, 0x53, 0x3b, 0x87, 0xd3, 0x5d, 0x7a, 0x13, 0xe6, 0x7a, 0xe6, + 0x27, 0xed, 0x79, 0xfa, 0xa5, 0x1c, 0xfd, 0x57, 0x79, 0x28, 0xf2, 0x50, 0x19, 0x79, 0x7d, 0x15, + 0xa6, 0x76, 0x9d, 0x26, 0x25, 0x01, 0x11, 0x85, 0x99, 0x29, 0x23, 0x6a, 0xa3, 0x1f, 0xc0, 0x7c, + 0x2c, 0x56, 0x5b, 0xce, 0xae, 0x63, 0x99, 0x36, 0x71, 0xbd, 0x96, 0xe3, 0xca, 0x1b, 0xb7, 0xd8, + 0x1f, 0x83, 0xae, 0x37, 0xab, 0x8c, 0xc7, 0x78, 0xae, 0x1b, 0xe2, 0x39, 0xd4, 0x6a, 0x1c, 0x09, + 0x2d, 0xc3, 0x33, 0x4a, 0x56, 0xf7, 0xfe, 0x6d, 0xf2, 0xe4, 0x20, 0xe4, 0x7b, 0x65, 0xca, 0x98, + 0x93, 0x04, 0xab, 0xd1, 0x38, 0x4f, 0x21, 0x42, 0xf4, 0x36, 0x54, 0x14, 0x6f, 0xdb, 0xdd, 0xf1, + 0x5c, 0x9b, 0x9d, 0xc6, 0x92, 0x75, 0x8c, 0xb3, 0xce, 0xca, 0xf1, 0xfb, 0x6a, 0x58, 0x72, 0x5e, + 0x81, 0xb2, 0xe2, 0x6c, 0xfa, 0xa6, 0xbb, 0x4b, 0xc3, 0xca, 0x38, 0x67, 0x50, 0x87, 0xd4, 0x07, + 0xfe, 0x87, 0xbb, 0x34, 0x44, 0x4b, 0x70, 0x51, 0xd1, 0xf9, 0x81, 0xe7, 0x7b, 0x21, 0x6e, 0x0a, + 0xea, 0x09, 0x4e, 0x7d, 0x5e, 0x0e, 0x36, 0xe4, 0x18, 0xe7, 0x59, 0x81, 0xe7, 0x15, 0xcf, 0x21, + 0x0f, 0xb6, 0x66, 0x40, 0x2c, 0xe2, 0xf8, 0x54, 0xa9, 0x36, 0xc9, 0x79, 0xab, 0x92, 0x48, 0x05, + 0x64, 0x4e, 0x22, 0xd4, 0xd3, 0x09, 0x94, 0xd4, 0x6a, 0x49, 0x9f, 0xd8, 0x84, 0x12, 0x5f, 0x01, + 0xb3, 0x45, 0x28, 0x8e, 0x39, 0xe4, 0xab, 0xc3, 0x2c, 0xc1, 0x1d, 0xc9, 0x63, 0x14, 0xed, 0x78, + 0x53, 0xaf, 0xc0, 0xec, 0xcd, 0x7d, 0xec, 0xb8, 0x0d, 0x1c, 0xe0, 0x16, 0xa1, 0x24, 0x50, 0xde, + 0xa1, 0xef, 0xc3, 0x5c, 0xcf, 0x88, 0xd4, 0xe4, 0x0e, 0x80, 0x1f, 0xf5, 0x66, 0xa5, 0x92, 0xbc, + 0x20, 0x1b, 0x29, 0x91, 0x86, 0x8a, 0x01, 0xe8, 0xb3, 0x70, 0x61, 0xed, 0xce, 0x6a, 0xaf, 0x06, + 0x36, 0x5c, 0x4c, 0xf5, 0x4b, 0xf9, 0xb7, 0xfb, 0xc8, 0x7f, 0xe5, 0xd1, 0xf2, 0xd7, 0x5a, 0x76, + 0x86, 0xf4, 0xaf, 0x73, 0x30, 0xc7, 0x4e, 0xc6, 0xfa, 0x71, 0x2c, 0x8c, 0xcb, 0x1d, 0xf2, 0x11, + 0x94, 0x53, 0xe7, 0x82, 0xb4, 0xf9, 0xa8, 0xc7, 0x42, 0x29, 0x79, 0x2c, 0xf4, 0xab, 0xab, 0xe6, + 0xfb, 0xd5, 0x55, 0x9f, 0x46, 0x78, 0x77, 0xa1, 0xd2, 0x6b, 0x8f, 0x28, 0xce, 0x97, 0x78, 0xfa, + 0xc3, 0xd3, 0x05, 0x36, 0xa7, 0x5e, 0xeb, 0x27, 0x33, 0xfe, 0x4d, 0x45, 0xcd, 0x20, 0x0d, 0x62, + 0x79, 0x81, 0x6d, 0x14, 0xc3, 0x78, 0x27, 0x5f, 0x80, 0xcd, 0x0e, 0xf6, 0x33, 0x16, 0x20, 0xec, + 0x60, 0xff, 0x14, 0x16, 0x80, 0xc1, 0xfc, 0x87, 0x2c, 0x80, 0x01, 0x95, 0x5e, 0x7b, 0x44, 0x65, + 0xf4, 0x31, 0x36, 0x13, 0x69, 0x76, 0x3d, 0xd3, 0xec, 0x1d, 0xec, 0x4b, 0x6b, 0x73, 0x7a, 0xfd, + 0x1f, 0x1a, 0xcc, 0x7e, 0xd8, 0x6e, 0x36, 0x9d, 0x5d, 0x87, 0x04, 0xc9, 0xdb, 0xd6, 0x1a, 0x9c, + 0x75, 0xd5, 0x88, 0xb4, 0xee, 0xc2, 0x80, 0xa9, 0x45, 0x48, 0x46, 0x97, 0xf5, 0xdf, 0xda, 0xa4, + 0x8b, 0x30, 0xd7, 0x33, 0x7b, 0x69, 0xd1, 0x0b, 0x30, 0x2e, 0x6e, 0x23, 0xe2, 0x08, 0x14, 0x0d, + 0x7d, 0x0b, 0x9e, 0x8b, 0x9d, 0xa4, 0x1b, 0xee, 0xae, 0x57, 0x3f, 0x5e, 0xc7, 0x61, 0x74, 0x8d, + 0x16, 0xcf, 0x19, 0xb9, 0x51, 0x9f, 0x33, 0xf4, 0x2f, 0x35, 0x98, 0x4d, 0x01, 0x2b, 0xc8, 0x2b, + 0x30, 0x1d, 0x52, 0x1c, 0x24, 0x73, 0xf0, 0xf5, 0x33, 0x46, 0x81, 0xf7, 0x8a, 0x0c, 0xfc, 0x81, + 0xa6, 0x21, 0x1d, 0x80, 0xb8, 0x76, 0xe2, 0xde, 0xb5, 0xae, 0x19, 0x67, 0x89, 0x6b, 0x47, 0x34, + 0xf5, 0x32, 0x14, 0xcd, 0x38, 0x58, 0xbd, 0x08, 0x05, 0xb3, 0xcb, 0xa5, 0xff, 0x3d, 0x07, 0xe5, + 0x94, 0x1a, 0xe8, 0x59, 0x98, 0x48, 0x49, 0x96, 0x6d, 0x26, 0xf4, 0x84, 0xf3, 0x4d, 0x27, 0x32, + 0xf9, 0x53, 0x78, 0x93, 0xda, 0x86, 0x82, 0x4f, 0x02, 0x96, 0x95, 0x50, 0xe7, 0x90, 0xc8, 0xcb, + 0xdd, 0xf2, 0xa8, 0x79, 0x5f, 0x17, 0xc1, 0x88, 0xc3, 0xa1, 0x5b, 0x30, 0xc6, 0xb6, 0x12, 0xcf, + 0x05, 0x46, 0x4f, 0x27, 0xb7, 0x1c, 0xd2, 0x31, 0x38, 0x40, 0xfd, 0x2c, 0x4c, 0x2a, 0x6b, 0x7f, + 0x0a, 0x73, 0x3d, 0x6b, 0xde, 0xad, 0x80, 0xd1, 0x23, 0xd3, 0x71, 0x77, 0x3d, 0xb9, 0xa5, 0xaf, + 0x0e, 0xf1, 0x84, 0xc1, 0x11, 0x26, 0xe8, 0x11, 0xfb, 0xd5, 0x31, 0x3c, 0x9f, 0xe1, 0xa9, 0xa7, + 0x26, 0xe2, 0x33, 0x28, 0xca, 0x8b, 0xbc, 0x84, 0xfc, 0x00, 0x0a, 0xfc, 0x5c, 0x0c, 0x78, 0x88, + 0x39, 0xc9, 0x19, 0x00, 0x6e, 0xf4, 0x5f, 0xff, 0x35, 0x8b, 0x4d, 0xa9, 0xbb, 0xe9, 0x93, 0x10, + 0x84, 0xee, 0xc0, 0xb4, 0x63, 0x13, 0x97, 0x3a, 0xf4, 0xd8, 0x3c, 0x20, 0xc7, 0xd2, 0x9d, 0xaf, + 0x0d, 0x08, 0x3a, 0x1b, 0x92, 0xe5, 0x36, 0x39, 0x36, 0x0a, 0x4e, 0xb7, 0xa1, 0xff, 0x33, 0x0f, + 0xe7, 0xfb, 0x88, 0xec, 0x97, 0x35, 0x68, 0xa7, 0x92, 0x35, 0xfc, 0x37, 0x8c, 0xf1, 0x33, 0x57, + 0xe8, 0xfd, 0xe2, 0xa0, 0x20, 0xcd, 0x34, 0xe2, 0x0c, 0x4f, 0xe0, 0xde, 0x9e, 0x38, 0x34, 0xc6, + 0x4e, 0x7e, 0x68, 0x5c, 0x86, 0x92, 0xd8, 0x24, 0xa6, 0x15, 0x10, 0x4c, 0x89, 0xcd, 0x37, 0xde, + 0x98, 0x51, 0x14, 0xbd, 0x37, 0x45, 0x27, 0x8b, 0x8d, 0x92, 0x4c, 0xc4, 0xea, 0x09, 0x15, 0x1b, + 0x45, 0x2f, 0x2f, 0x1d, 0xb1, 0x30, 0x55, 0x85, 0x29, 0xdf, 0x0b, 0x1d, 0x1e, 0x6b, 0x26, 0x39, + 0x50, 0xd4, 0x46, 0xef, 0xc3, 0x44, 0xe8, 0xb5, 0x03, 0x8b, 0x54, 0xa6, 0xfa, 0xeb, 0x9b, 0xcc, + 0x18, 0x99, 0xf9, 0x36, 0x39, 0xbd, 0x21, 0xf9, 0x78, 0x54, 0x8d, 0xab, 0xa1, 0xff, 0x31, 0x0f, + 0xd0, 0x3d, 0x6a, 0xfb, 0x65, 0x2b, 0xda, 0xa9, 0x64, 0x2b, 0xef, 0xc9, 0x53, 0x5f, 0x2c, 0xfc, + 0xcb, 0x29, 0x34, 0x9b, 0x1c, 0x25, 0x4f, 0xfe, 0x46, 0x13, 0x3b, 0x2e, 0x25, 0x47, 0x54, 0x1c, + 0xfe, 0x09, 0xab, 0xe4, 0x53, 0x56, 0x39, 0xad, 0x85, 0x6c, 0x40, 0x41, 0x3c, 0x24, 0x8b, 0xbb, + 0xf2, 0x78, 0xdf, 0x40, 0x9f, 0xd0, 0xb4, 0x8e, 0xa9, 0xb5, 0xcf, 0xd4, 0x15, 0x8f, 0xa3, 0xfc, + 0x96, 0x0c, 0x5e, 0xf4, 0x1f, 0x5d, 0xeb, 0xba, 0x46, 0x13, 0x3b, 0x2d, 0x62, 0x47, 0xab, 0xae, + 0x9c, 0x43, 0x74, 0xb3, 0x75, 0xef, 0xae, 0xed, 0xe4, 0x09, 0xd7, 0xf6, 0x1c, 0x94, 0xcd, 0xa4, + 0x38, 0xfd, 0xaf, 0x1a, 0xcc, 0xdd, 0xed, 0xb8, 0xc4, 0x6e, 0x48, 0x63, 0x6d, 0xd8, 0x51, 0xd2, + 0x74, 0x1f, 0x4a, 0xca, 0x84, 0xec, 0xa0, 0x8d, 0x12, 0xe1, 0x47, 0xae, 0x8d, 0xc2, 0xe1, 0xcb, + 0xcd, 0xe6, 0xe1, 0xc7, 0x3b, 0xd8, 0x3c, 0xee, 0xc2, 0x34, 0x0d, 0x30, 0xbf, 0xc4, 0xfa, 0xd8, + 0x51, 0xe9, 0xd8, 0xd5, 0x47, 0x81, 0xde, 0x13, 0xf4, 0x0d, 0xec, 0x04, 0xeb, 0x1a, 0x3f, 0x29, + 0x55, 0x93, 0x25, 0x02, 0x6c, 0x5a, 0x49, 0x45, 0xb9, 0x17, 0xc7, 0x85, 0xe8, 0x04, 0x2a, 0xbd, + 0xd3, 0x94, 0x01, 0x78, 0x03, 0xa6, 0x23, 0x76, 0xc7, 0x66, 0x97, 0xad, 0x7c, 0x9f, 0x0c, 0xa0, + 0xef, 0x2c, 0x37, 0x6c, 0xa3, 0xe0, 0x77, 0x21, 0x97, 0xfe, 0x84, 0xe0, 0x3c, 0x3b, 0x1f, 0x1b, + 0x81, 0x47, 0x3d, 0xcb, 0x6b, 0x6e, 0x92, 0xe0, 0xd0, 0xb1, 0x08, 0xfa, 0x08, 0x26, 0x44, 0x4a, + 0x86, 0x32, 0xdf, 0x0d, 0x12, 0x09, 0x6b, 0xf5, 0xca, 0x20, 0x32, 0xa9, 0xfb, 0x01, 0x4c, 0xc7, + 0x8b, 0xde, 0xe8, 0x95, 0x47, 0xf3, 0x25, 0x8a, 0xf4, 0xd5, 0x57, 0x87, 0x23, 0x16, 0xa2, 0xae, + 0x6b, 0x68, 0x0b, 0xc6, 0xf9, 0x19, 0x86, 0x5e, 0xca, 0x62, 0x8c, 0xd7, 0xc2, 0xab, 0x97, 0x07, + 0x50, 0x45, 0xb8, 0x9f, 0x43, 0x29, 0x79, 0x36, 0xa2, 0xd7, 0x1e, 0xc9, 0x9a, 0xae, 0xef, 0x56, + 0x6b, 0xc3, 0x92, 0x47, 0x22, 0x3f, 0x81, 0x49, 0x59, 0x97, 0x42, 0x99, 0xa6, 0x4e, 0x16, 0x50, + 0xab, 0x57, 0x07, 0xd2, 0xc9, 0x35, 0x09, 0xa2, 0xda, 0xa1, 0xaa, 0x79, 0xa1, 0xda, 0x00, 0xde, + 0x54, 0xf1, 0xaf, 0xba, 0x38, 0x34, 0xbd, 0x94, 0xf9, 0x31, 0x4c, 0x88, 0x52, 0x4a, 0xb6, 0x83, + 0x25, 0x0a, 0x63, 0xd9, 0x0e, 0x96, 0xac, 0xc8, 0x5c, 0xd7, 0xd8, 0x74, 0x52, 0x95, 0x8d, 0xec, + 0xe9, 0xf4, 0xaf, 0xb3, 0x64, 0x4f, 0x27, 0xab, 0xfa, 0xd2, 0x84, 0x62, 0xa2, 0x2c, 0x82, 0x32, + 0x5d, 0xb5, 0x5f, 0x55, 0xa5, 0xfa, 0xda, 0x90, 0xd4, 0x52, 0x9a, 0x07, 0xa5, 0xe4, 0x33, 0x7b, + 0xb6, 0xff, 0xf5, 0x7d, 0xf9, 0xcf, 0xf6, 0xbf, 0x8c, 0xd7, 0x7b, 0x0f, 0x4a, 0xc9, 0xf7, 0xf1, + 0x6c, 0x81, 0x7d, 0xdf, 0xe8, 0xb3, 0x05, 0x66, 0x3c, 0xbb, 0xb7, 0x61, 0x26, 0xfd, 0x40, 0x8d, + 0x32, 0x17, 0x25, 0xe3, 0xdd, 0xbc, 0x7a, 0x7d, 0x78, 0x06, 0x29, 0xb6, 0x03, 0x33, 0xe9, 0xb7, + 0xe5, 0x6c, 0xb1, 0x19, 0x6f, 0xdc, 0xd9, 0x62, 0xb3, 0x9e, 0xad, 0xaf, 0x6b, 0x6c, 0xbe, 0xe9, + 0xfa, 0x4e, 0xb6, 0xe0, 0x8c, 0xca, 0x58, 0xb6, 0xe0, 0xcc, 0xd2, 0x51, 0x1b, 0x66, 0xd2, 0x55, + 0x8d, 0x6c, 0xb1, 0x19, 0xf5, 0xa0, 0x6c, 0xb1, 0x99, 0x05, 0x93, 0x00, 0xca, 0xa9, 0x9b, 0x7f, + 0xf6, 0x0e, 0xed, 0x5f, 0x20, 0xc9, 0xde, 0xa1, 0x59, 0x25, 0x85, 0x2f, 0x35, 0xb8, 0xd8, 0xf7, + 0x4e, 0x86, 0x6e, 0x0c, 0x79, 0xf5, 0x4a, 0x14, 0x1b, 0xaa, 0x6f, 0x8e, 0xc8, 0x25, 0xd5, 0xa0, + 0xbd, 0x77, 0xfc, 0xda, 0xb0, 0x57, 0xbf, 0x41, 0x53, 0xcf, 0xb8, 0xcf, 0x5e, 0xd7, 0xd0, 0x8f, + 0x00, 0xf5, 0x7e, 0x69, 0x84, 0x5e, 0x1f, 0xf9, 0xcb, 0xbc, 0xea, 0xd2, 0x28, 0x2c, 0x72, 0xca, + 0x5f, 0x68, 0x70, 0xa1, 0xdf, 0x67, 0xa8, 0xe8, 0x8d, 0xcc, 0x8d, 0x92, 0xfd, 0x41, 0x6d, 0xf5, + 0xc6, 0x68, 0x4c, 0x5d, 0x47, 0x4f, 0xa7, 0x53, 0xd9, 0x8e, 0x9e, 0x91, 0x5f, 0x66, 0x3b, 0x7a, + 0x56, 0xa6, 0xb6, 0xe4, 0x77, 0xbf, 0xf5, 0x50, 0x99, 0xd5, 0x67, 0x30, 0xa5, 0xba, 0xd0, 0xd5, + 0x41, 0xdf, 0x64, 0x28, 0xc9, 0x0b, 0x83, 0x09, 0x85, 0xc4, 0xfa, 0x57, 0xb9, 0xdf, 0x3d, 0x9c, + 0xd7, 0xbe, 0x7d, 0x38, 0xaf, 0xfd, 0xe5, 0xe1, 0xbc, 0xf6, 0xb3, 0xef, 0xe6, 0xcf, 0x7c, 0xfb, + 0xdd, 0xfc, 0x99, 0x3f, 0x7c, 0x37, 0x7f, 0x06, 0xaa, 0x96, 0xd7, 0xca, 0xc0, 0xa9, 0x9f, 0x8d, + 0x92, 0xc0, 0x86, 0xf6, 0xc9, 0xdd, 0x3d, 0x87, 0xee, 0xb7, 0x77, 0x6a, 0x96, 0xd7, 0x5a, 0xb4, + 0xbc, 0xb0, 0xe5, 0x85, 0x8b, 0x01, 0x69, 0xe2, 0x63, 0x12, 0x2c, 0x1e, 0x2e, 0x45, 0x7f, 0x79, + 0xfa, 0x1e, 0x2e, 0xf6, 0xff, 0x78, 0xfc, 0x1d, 0xd6, 0x52, 0x8d, 0x5f, 0xe4, 0xf2, 0x8d, 0xad, + 0xef, 0xfd, 0x32, 0x37, 0xdb, 0x50, 0xc2, 0x99, 0xb4, 0xda, 0x96, 0x1c, 0xfe, 0x7d, 0x77, 0x60, + 0x9b, 0x0d, 0x6c, 0xab, 0x81, 0x87, 0x39, 0xbd, 0xff, 0xc0, 0xf6, 0xad, 0x46, 0x5d, 0xbd, 0x96, + 0xfc, 0x2d, 0x57, 0x51, 0x44, 0xcb, 0xcb, 0x8c, 0x6a, 0x79, 0x59, 0x91, 0xed, 0x4c, 0xf0, 0x6f, + 0xb4, 0xdf, 0xf8, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x91, 0xe9, 0x08, 0x47, 0xe2, 0x2e, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3424,6 +3588,8 @@ type ViewProtocolServiceClient interface { TransactionPlanner(ctx context.Context, in *TransactionPlannerRequest, opts ...grpc.CallOption) (*TransactionPlannerResponse, error) // Broadcast a transaction to the network, optionally waiting for full confirmation. BroadcastTransaction(ctx context.Context, in *BroadcastTransactionRequest, opts ...grpc.CallOption) (*BroadcastTransactionResponse, error) + // Query for owned position IDs for the given trading pair and in the given position state. + OwnedPositionIds(ctx context.Context, in *OwnedPositionIdsRequest, opts ...grpc.CallOption) (*OwnedPositionIdsResponse, error) } type viewProtocolServiceClient struct { @@ -3752,6 +3918,15 @@ func (c *viewProtocolServiceClient) BroadcastTransaction(ctx context.Context, in return out, nil } +func (c *viewProtocolServiceClient) OwnedPositionIds(ctx context.Context, in *OwnedPositionIdsRequest, opts ...grpc.CallOption) (*OwnedPositionIdsResponse, error) { + out := new(OwnedPositionIdsResponse) + err := c.cc.Invoke(ctx, "/penumbra.view.v1alpha1.ViewProtocolService/OwnedPositionIds", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ViewProtocolServiceServer is the server API for ViewProtocolService service. type ViewProtocolServiceServer interface { // Get current status of chain sync @@ -3797,6 +3972,8 @@ type ViewProtocolServiceServer interface { TransactionPlanner(context.Context, *TransactionPlannerRequest) (*TransactionPlannerResponse, error) // Broadcast a transaction to the network, optionally waiting for full confirmation. BroadcastTransaction(context.Context, *BroadcastTransactionRequest) (*BroadcastTransactionResponse, error) + // Query for owned position IDs for the given trading pair and in the given position state. + OwnedPositionIds(context.Context, *OwnedPositionIdsRequest) (*OwnedPositionIdsResponse, error) } // UnimplementedViewProtocolServiceServer can be embedded to have forward compatible implementations. @@ -3863,6 +4040,9 @@ func (*UnimplementedViewProtocolServiceServer) TransactionPlanner(ctx context.Co func (*UnimplementedViewProtocolServiceServer) BroadcastTransaction(ctx context.Context, req *BroadcastTransactionRequest) (*BroadcastTransactionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BroadcastTransaction not implemented") } +func (*UnimplementedViewProtocolServiceServer) OwnedPositionIds(ctx context.Context, req *OwnedPositionIdsRequest) (*OwnedPositionIdsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OwnedPositionIds not implemented") +} func RegisterViewProtocolServiceServer(s grpc1.Server, srv ViewProtocolServiceServer) { s.RegisterService(&_ViewProtocolService_serviceDesc, srv) @@ -4246,6 +4426,24 @@ func _ViewProtocolService_BroadcastTransaction_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } +func _ViewProtocolService_OwnedPositionIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OwnedPositionIdsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ViewProtocolServiceServer).OwnedPositionIds(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/penumbra.view.v1alpha1.ViewProtocolService/OwnedPositionIds", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ViewProtocolServiceServer).OwnedPositionIds(ctx, req.(*OwnedPositionIdsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ ServiceName: "penumbra.view.v1alpha1.ViewProtocolService", HandlerType: (*ViewProtocolServiceServer)(nil), @@ -4306,6 +4504,10 @@ var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ MethodName: "BroadcastTransaction", Handler: _ViewProtocolService_BroadcastTransaction_Handler, }, + { + MethodName: "OwnedPositionIds", + Handler: _ViewProtocolService_OwnedPositionIds_Handler, + }, }, Streams: []grpc.StreamDesc{ { @@ -4782,9 +4984,9 @@ func (m *TransactionPlannerRequest_Delegate) MarshalToSizedBuffer(dAtA []byte) ( _ = i var l int _ = l - if m.IdentityKey != nil { + if m.RateData != nil { { - size, err := m.IdentityKey.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.RateData.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -4792,7 +4994,7 @@ func (m *TransactionPlannerRequest_Delegate) MarshalToSizedBuffer(dAtA []byte) ( i = encodeVarintView(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1a } if m.Amount != nil { { @@ -4829,6 +5031,18 @@ func (m *TransactionPlannerRequest_Undelegate) MarshalToSizedBuffer(dAtA []byte) _ = i var l int _ = l + if m.RateData != nil { + { + size, err := m.RateData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } if m.Value != nil { { size, err := m.Value.MarshalToSizedBuffer(dAtA[:i]) @@ -5948,9 +6162,9 @@ func (m *AssetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.Asset != nil { + if m.DenomMetadata != nil { { - size, err := m.Asset.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.DenomMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5958,7 +6172,7 @@ func (m *AssetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintView(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 } return len(dAtA) - i, nil } @@ -6974,6 +7188,126 @@ func (m *SwapRecord_HeightClaimed) MarshalToSizedBuffer(dAtA []byte) (int, error dAtA[i] = 0x30 return len(dAtA) - i, nil } +func (m *OwnedPositionIdsRequest) 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 *OwnedPositionIdsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OwnedPositionIdsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XTradingPair != nil { + { + size := m.XTradingPair.Size() + i -= size + if _, err := m.XTradingPair.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + } + } + if m.XPositionState != nil { + { + size := m.XPositionState.Size() + i -= size + if _, err := m.XPositionState.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + } + } + return len(dAtA) - i, nil +} + +func (m *OwnedPositionIdsRequest_PositionState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OwnedPositionIdsRequest_PositionState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.PositionState != nil { + { + size, err := m.PositionState.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} +func (m *OwnedPositionIdsRequest_TradingPair) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OwnedPositionIdsRequest_TradingPair) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.TradingPair != nil { + { + size, err := m.TradingPair.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} +func (m *OwnedPositionIdsResponse) 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 *OwnedPositionIdsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OwnedPositionIdsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.PositionIds) > 0 { + for iNdEx := len(m.PositionIds) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.PositionIds[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func encodeVarintView(dAtA []byte, offset int, v uint64) int { offset -= sovView(v) base := offset @@ -7130,8 +7464,8 @@ func (m *TransactionPlannerRequest_Delegate) Size() (n int) { l = m.Amount.Size() n += 1 + l + sovView(uint64(l)) } - if m.IdentityKey != nil { - l = m.IdentityKey.Size() + if m.RateData != nil { + l = m.RateData.Size() n += 1 + l + sovView(uint64(l)) } return n @@ -7147,6 +7481,10 @@ func (m *TransactionPlannerRequest_Undelegate) Size() (n int) { l = m.Value.Size() n += 1 + l + sovView(uint64(l)) } + if m.RateData != nil { + l = m.RateData.Size() + n += 1 + l + sovView(uint64(l)) + } return n } @@ -7585,8 +7923,8 @@ func (m *AssetsResponse) Size() (n int) { } var l int _ = l - if m.Asset != nil { - l = m.Asset.Size() + if m.DenomMetadata != nil { + l = m.DenomMetadata.Size() n += 1 + l + sovView(uint64(l)) } return n @@ -7997,6 +8335,59 @@ func (m *SwapRecord_HeightClaimed) Size() (n int) { n += 1 + sovView(uint64(m.HeightClaimed)) return n } +func (m *OwnedPositionIdsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.XPositionState != nil { + n += m.XPositionState.Size() + } + if m.XTradingPair != nil { + n += m.XTradingPair.Size() + } + return n +} + +func (m *OwnedPositionIdsRequest_PositionState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PositionState != nil { + l = m.PositionState.Size() + n += 1 + l + sovView(uint64(l)) + } + return n +} +func (m *OwnedPositionIdsRequest_TradingPair) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TradingPair != nil { + l = m.TradingPair.Size() + n += 1 + l + sovView(uint64(l)) + } + return n +} +func (m *OwnedPositionIdsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.PositionIds) > 0 { + for _, e := range m.PositionIds { + l = e.Size() + n += 1 + l + sovView(uint64(l)) + } + } + return n +} func sovView(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 @@ -8902,9 +9293,9 @@ func (m *TransactionPlannerRequest_Delegate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field IdentityKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RateData", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8931,10 +9322,10 @@ func (m *TransactionPlannerRequest_Delegate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.IdentityKey == nil { - m.IdentityKey = &v1alpha11.IdentityKey{} + if m.RateData == nil { + m.RateData = &v1alpha13.RateData{} } - if err := m.IdentityKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.RateData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9024,6 +9415,42 @@ func (m *TransactionPlannerRequest_Undelegate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RateData", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RateData == nil { + m.RateData = &v1alpha13.RateData{} + } + if err := m.RateData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -11492,9 +11919,9 @@ func (m *AssetsResponse) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: AssetsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Asset", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DenomMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11521,10 +11948,10 @@ func (m *AssetsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Asset == nil { - m.Asset = &v1alpha11.Asset{} + if m.DenomMetadata == nil { + m.DenomMetadata = &v1alpha11.DenomMetadata{} } - if err := m.Asset.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.DenomMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11658,7 +12085,7 @@ func (m *ChainParametersResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Parameters == nil { - m.Parameters = &v1alpha13.ChainParameters{} + m.Parameters = &v1alpha14.ChainParameters{} } if err := m.Parameters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11794,7 +12221,7 @@ func (m *FMDParametersResponse) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Parameters == nil { - m.Parameters = &v1alpha13.FmdParameters{} + m.Parameters = &v1alpha14.FmdParameters{} } if err := m.Parameters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13517,7 +13944,7 @@ func (m *SpendableNoteRecord) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Source == nil { - m.Source = &v1alpha13.NoteSource{} + m.Source = &v1alpha14.NoteSource{} } if err := m.Source.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13639,7 +14066,7 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Swap == nil { - m.Swap = &v1alpha14.SwapPlaintext{} + m.Swap = &v1alpha15.SwapPlaintext{} } if err := m.Swap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13730,7 +14157,7 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.OutputData == nil { - m.OutputData = &v1alpha14.BatchSwapOutputData{} + m.OutputData = &v1alpha15.BatchSwapOutputData{} } if err := m.OutputData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13786,7 +14213,7 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Source == nil { - m.Source = &v1alpha13.NoteSource{} + m.Source = &v1alpha14.NoteSource{} } if err := m.Source.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -13813,6 +14240,210 @@ func (m *SwapRecord) Unmarshal(dAtA []byte) error { } return nil } +func (m *OwnedPositionIdsRequest) 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 ErrIntOverflowView + } + 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: OwnedPositionIdsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OwnedPositionIdsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionState", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &v1alpha15.PositionState{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.XPositionState = &OwnedPositionIdsRequest_PositionState{v} + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TradingPair", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := &v1alpha15.TradingPair{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.XTradingPair = &OwnedPositionIdsRequest_TradingPair{v} + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthView + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *OwnedPositionIdsResponse) 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 ErrIntOverflowView + } + 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: OwnedPositionIdsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OwnedPositionIdsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionIds", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PositionIds = append(m.PositionIds, &v1alpha15.PositionId{}) + if err := m.PositionIds[len(m.PositionIds)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthView + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipView(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/relayer/codecs/ethermint/account.pb.go b/relayer/codecs/ethermint/account.pb.go index 6d275445f..de39dc307 100644 --- a/relayer/codecs/ethermint/account.pb.go +++ b/relayer/codecs/ethermint/account.pb.go @@ -6,8 +6,8 @@ package ethermint import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/x/auth/types" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - _ "github.com/gogo/protobuf/gogoproto" io "io" math "math" math_bits "math/bits" diff --git a/relayer/codecs/ethermint/codec.go b/relayer/codecs/ethermint/codec.go index df398a823..afb1a7ece 100644 --- a/relayer/codecs/ethermint/codec.go +++ b/relayer/codecs/ethermint/codec.go @@ -5,6 +5,7 @@ import ( cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/types/tx" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/cosmos/relayer/v2/relayer/ethermint" ) // RegisterInterfaces register the Ethermint key concrete types. @@ -23,6 +24,6 @@ func RegisterInterfaces(registry codectypes.InterfaceRegistry) { registry.RegisterImplementations( (*tx.ExtensionOptionI)(nil), &ExtensionOptionsWeb3Tx{}, - &ExtensionOptionDynamicFeeTx{}, + ðermint.ExtensionOptionDynamicFeeTx{}, ) } diff --git a/relayer/codecs/ethermint/dynamic_fee.pb.go b/relayer/codecs/ethermint/dynamic_fee.pb.go deleted file mode 100644 index 721600b94..000000000 --- a/relayer/codecs/ethermint/dynamic_fee.pb.go +++ /dev/null @@ -1,325 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: ethermint/types/v1/dynamic_fee.proto - -package ethermint - -import ( - fmt "fmt" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - proto "github.com/cosmos/gogoproto/proto" - _ "github.com/gogo/protobuf/gogoproto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -// ExtensionOptionDynamicFeeTx is an extension option that specifies the -// maxPrioPrice for cosmos tx -type ExtensionOptionDynamicFeeTx struct { - // max_priority_price is the same as `max_priority_fee_per_gas` in eip-1559 - // spec - MaxPriorityPrice github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,1,opt,name=max_priority_price,json=maxPriorityPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"max_priority_price"` -} - -func (m *ExtensionOptionDynamicFeeTx) Reset() { *m = ExtensionOptionDynamicFeeTx{} } -func (m *ExtensionOptionDynamicFeeTx) String() string { return proto.CompactTextString(m) } -func (*ExtensionOptionDynamicFeeTx) ProtoMessage() {} -func (*ExtensionOptionDynamicFeeTx) Descriptor() ([]byte, []int) { - return fileDescriptor_9d7cf05c9992c480, []int{0} -} -func (m *ExtensionOptionDynamicFeeTx) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ExtensionOptionDynamicFeeTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ExtensionOptionDynamicFeeTx.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 *ExtensionOptionDynamicFeeTx) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExtensionOptionDynamicFeeTx.Merge(m, src) -} -func (m *ExtensionOptionDynamicFeeTx) XXX_Size() int { - return m.Size() -} -func (m *ExtensionOptionDynamicFeeTx) XXX_DiscardUnknown() { - xxx_messageInfo_ExtensionOptionDynamicFeeTx.DiscardUnknown(m) -} - -var xxx_messageInfo_ExtensionOptionDynamicFeeTx proto.InternalMessageInfo - -func init() { - proto.RegisterType((*ExtensionOptionDynamicFeeTx)(nil), "ethermint.types.v1.ExtensionOptionDynamicFeeTx") -} - -func init() { - proto.RegisterFile("ethermint/types/v1/dynamic_fee.proto", fileDescriptor_9d7cf05c9992c480) -} - -var fileDescriptor_9d7cf05c9992c480 = []byte{ - // 263 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0x41, 0x4b, 0xf3, 0x40, - 0x10, 0x86, 0x93, 0xcb, 0x07, 0x5f, 0x4e, 0x12, 0x3c, 0x88, 0xc2, 0x56, 0x44, 0xc4, 0x4b, 0x77, - 0x29, 0x5e, 0x3d, 0x15, 0x15, 0x3c, 0x59, 0x44, 0x3c, 0x88, 0x50, 0xd2, 0xcd, 0x98, 0x2e, 0x66, - 0x67, 0xc2, 0xee, 0x34, 0x24, 0xf8, 0x27, 0xfc, 0x59, 0x3d, 0xf6, 0x28, 0x1e, 0x8a, 0x24, 0x7f, - 0x44, 0x92, 0x94, 0xe2, 0x69, 0x5e, 0x98, 0x87, 0x87, 0xf7, 0x8d, 0xce, 0x81, 0x97, 0xe0, 0xac, - 0x41, 0x56, 0x5c, 0x17, 0xe0, 0x55, 0x39, 0x51, 0x69, 0x8d, 0x89, 0x35, 0x7a, 0xfe, 0x06, 0x20, - 0x0b, 0x47, 0x4c, 0x71, 0xbc, 0xa7, 0x64, 0x4f, 0xc9, 0x72, 0x72, 0x7c, 0x98, 0x51, 0x46, 0xfd, - 0x5b, 0x75, 0x69, 0x20, 0xcf, 0x3e, 0xa2, 0x93, 0xdb, 0x8a, 0x01, 0xbd, 0x21, 0x7c, 0x28, 0xd8, - 0x10, 0xde, 0x0c, 0xb6, 0x3b, 0x80, 0xa7, 0x2a, 0x7e, 0x8d, 0x62, 0x9b, 0x54, 0xf3, 0xc2, 0x19, - 0x72, 0x86, 0xeb, 0x2e, 0x68, 0x38, 0x0a, 0x4f, 0xc3, 0xcb, 0xff, 0x53, 0xb9, 0xde, 0x8e, 0x82, - 0xef, 0xed, 0xe8, 0x22, 0x33, 0xbc, 0x5c, 0x2d, 0xa4, 0x26, 0xab, 0x34, 0x79, 0x4b, 0x7e, 0x77, - 0xc6, 0x3e, 0x7d, 0x1f, 0x5a, 0xca, 0x7b, 0xe4, 0xc7, 0x03, 0x9b, 0x54, 0xb3, 0x9d, 0x68, 0xd6, - 0x79, 0xa6, 0xcf, 0xeb, 0x46, 0x84, 0x9b, 0x46, 0x84, 0x3f, 0x8d, 0x08, 0x3f, 0x5b, 0x11, 0x6c, - 0x5a, 0x11, 0x7c, 0xb5, 0x22, 0x78, 0xb9, 0xfe, 0xe3, 0xf4, 0xec, 0x12, 0xcc, 0x20, 0xa7, 0x12, - 0xc6, 0x25, 0x20, 0xaf, 0x1c, 0x78, 0x95, 0x03, 0x7a, 0xa5, 0x73, 0x03, 0xc8, 0x4a, 0x53, 0x0a, - 0xda, 0xab, 0xfd, 0xe6, 0xc5, 0xbf, 0x7e, 0xdb, 0xd5, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7e, - 0x31, 0x52, 0x1f, 0x2d, 0x01, 0x00, 0x00, -} - -func (m *ExtensionOptionDynamicFeeTx) 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 *ExtensionOptionDynamicFeeTx) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *ExtensionOptionDynamicFeeTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size := m.MaxPriorityPrice.Size() - i -= size - if _, err := m.MaxPriorityPrice.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintDynamicFee(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func encodeVarintDynamicFee(dAtA []byte, offset int, v uint64) int { - offset -= sovDynamicFee(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *ExtensionOptionDynamicFeeTx) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.MaxPriorityPrice.Size() - n += 1 + l + sovDynamicFee(uint64(l)) - return n -} - -func sovDynamicFee(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozDynamicFee(x uint64) (n int) { - return sovDynamicFee(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *ExtensionOptionDynamicFeeTx) 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 ErrIntOverflowDynamicFee - } - 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: ExtensionOptionDynamicFeeTx: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ExtensionOptionDynamicFeeTx: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MaxPriorityPrice", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowDynamicFee - } - 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 ErrInvalidLengthDynamicFee - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthDynamicFee - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.MaxPriorityPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipDynamicFee(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthDynamicFee - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipDynamicFee(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, ErrIntOverflowDynamicFee - } - 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, ErrIntOverflowDynamicFee - } - 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, ErrIntOverflowDynamicFee - } - 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, ErrInvalidLengthDynamicFee - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupDynamicFee - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthDynamicFee - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthDynamicFee = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowDynamicFee = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupDynamicFee = fmt.Errorf("proto: unexpected end of group") -) diff --git a/relayer/codecs/ethermint/keys.pb.go b/relayer/codecs/ethermint/keys.pb.go index 9b94bf2d0..d29638520 100644 --- a/relayer/codecs/ethermint/keys.pb.go +++ b/relayer/codecs/ethermint/keys.pb.go @@ -7,8 +7,8 @@ package ethermint import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - _ "github.com/gogo/protobuf/gogoproto" io "io" math "math" math_bits "math/bits" diff --git a/relayer/codecs/injective/account.pb.go b/relayer/codecs/injective/account.pb.go index 2f5d1ced9..3b7d6a22e 100644 --- a/relayer/codecs/injective/account.pb.go +++ b/relayer/codecs/injective/account.pb.go @@ -6,8 +6,8 @@ package injective import ( fmt "fmt" types "github.com/cosmos/cosmos-sdk/x/auth/types" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - _ "github.com/gogo/protobuf/gogoproto" io "io" math "math" math_bits "math/bits" diff --git a/relayer/codecs/injective/keys.pb.go b/relayer/codecs/injective/keys.pb.go index c799acd04..25c30f0c1 100644 --- a/relayer/codecs/injective/keys.pb.go +++ b/relayer/codecs/injective/keys.pb.go @@ -7,8 +7,8 @@ package injective import ( fmt "fmt" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - _ "github.com/gogo/protobuf/gogoproto" io "io" math "math" math_bits "math/bits" diff --git a/relayer/ethermint/dynamic_fee.pb.go b/relayer/ethermint/dynamic_fee.pb.go index fa2e28c60..3238cd863 100644 --- a/relayer/ethermint/dynamic_fee.pb.go +++ b/relayer/ethermint/dynamic_fee.pb.go @@ -6,8 +6,8 @@ package ethermint import ( fmt "fmt" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" - _ "github.com/gogo/protobuf/gogoproto" io "io" math "math" math_bits "math/bits" diff --git a/scripts/protocgen.sh b/scripts/protocgen.sh index 725d881a7..ae4f20240 100755 --- a/scripts/protocgen.sh +++ b/scripts/protocgen.sh @@ -24,4 +24,5 @@ buf generate --template proto/buf.gen.penumbra.yaml buf.build/penumbra-zone/penu rm -r github.com/cosmos/relayer/v2/relayer/chains/penumbra/client rm -r github.com/cosmos/relayer/v2/relayer/chains/penumbra/narsil cp -r github.com/cosmos/relayer/v2/* ./ +cp -r github.com/cosmos/relayer/relayer/* relayer/ rm -rf github.com From 049b5b4dc5385ebf52e7787432aebeca3a4acc60 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 30 Jun 2023 04:09:29 +0800 Subject: [PATCH 09/58] feat: add extension_options parameter in chain configs (#1179) * support extension options for build tx * add test * add change doc * rm dup pb * update mod * point to v0.47.3 --- CHANGELOG.md | 1 + cregistry/chain_info.go | 7 +- go.mod | 28 +- go.sum | 65 +- go.work.sum | 1176 +++------------------------ relayer/chains/cosmos/provider.go | 45 +- relayer/chains/cosmos/tx.go | 35 + relayer/chains/cosmos/tx_test.go | 94 ++- relayer/chains/penumbra/provider.go | 43 +- relayer/codecs/ethermint/codec.go | 2 +- relayer/provider/provider.go | 9 +- 11 files changed, 356 insertions(+), 1149 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddee8de7c..7b7e44543 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ * [\#1178](https://github.com/cosmos/relayer/pull/1178) Add max-gas-amount parameter in chain configs. * [\#1180](https://github.com/cosmos/relayer/pull/1180) Update SDK from v0.47.0 to v0.47.2. * [\#1205](https://github.com/cosmos/relayer/pull/1205) Update ibc-go to v7.0.1. +* [\#1179](https://github.com/cosmos/relayer/pull/1179) Add extension-options parameter in chain configs and update SDK to v0.47.3. * [\#1208](https://github.com/cosmos/relayer/pull/1208) Replace gogo/protobuf to cosmos/gogoproto. ## v0.9.3 diff --git a/cregistry/chain_info.go b/cregistry/chain_info.go index 6d2d8dea3..4d49017f0 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -12,6 +12,7 @@ import ( "time" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" + "github.com/cosmos/relayer/v2/relayer/provider" "github.com/spf13/viper" "go.uber.org/zap" "golang.org/x/sync/errgroup" @@ -83,8 +84,9 @@ type ChainInfo struct { Provider string `json:"provider"` } `json:"rest"` } `json:"apis"` - ExtraCodecs []string `json:"extra_codecs"` - MaxGasAmount uint64 `json:"max_gas_amount"` + MaxGasAmount uint64 `json:"max_gas_amount"` + ExtraCodecs []string `json:"extra_codecs"` + ExtensionOptions []provider.ExtensionOption `json:"extension_options"` } // NewChainInfo returns a ChainInfo that is uninitialized other than the provided zap.Logger. @@ -270,5 +272,6 @@ func (c ChainInfo) GetChainConfig(ctx context.Context) (*cosmos.CosmosProviderCo SigningAlgorithm: c.SigningAlgorithm, ExtraCodecs: c.ExtraCodecs, MaxGasAmount: c.MaxGasAmount, + ExtensionOptions: c.ExtensionOptions, }, nil } diff --git a/go.mod b/go.mod index a2d1be2ce..06932bf3f 100644 --- a/go.mod +++ b/go.mod @@ -5,15 +5,15 @@ go 1.20 require ( cosmossdk.io/api v0.3.1 cosmossdk.io/errors v1.0.0-beta.7 - cosmossdk.io/math v1.0.0 + cosmossdk.io/math v1.0.1 github.com/avast/retry-go/v4 v4.3.2 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcutil v1.1.3 github.com/cometbft/cometbft v0.37.1 github.com/cosmos/cosmos-proto v1.0.0-beta.2 - github.com/cosmos/cosmos-sdk v0.47.2 + github.com/cosmos/cosmos-sdk v0.47.3 github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/gogoproto v1.4.8 + github.com/cosmos/gogoproto v1.4.10 github.com/cosmos/ibc-go/v7 v7.1.0-rc0 github.com/cosmos/ics23/go v0.10.0 github.com/ethereum/go-ethereum v1.10.26 @@ -32,7 +32,7 @@ require ( golang.org/x/mod v0.8.0 golang.org/x/sync v0.1.0 golang.org/x/text v0.9.0 - google.golang.org/grpc v1.54.0 + google.golang.org/grpc v1.55.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 ) @@ -45,6 +45,7 @@ require ( cloud.google.com/go/storage v1.29.0 // indirect cosmossdk.io/core v0.5.1 // indirect cosmossdk.io/depinject v1.0.0-alpha.3 // indirect + cosmossdk.io/log v1.1.0 // indirect cosmossdk.io/tools/rosetta v0.2.1 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -121,13 +122,13 @@ require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.16.3 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect - github.com/mattn/go-isatty v0.0.17 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.18 // indirect github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect @@ -135,19 +136,18 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mtibben/percent v0.2.1 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect - github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d // indirect + github.com/pelletier/go-toml/v2 v2.0.7 // indirect + github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.40.0 // indirect + github.com/prometheus/common v0.42.0 // indirect github.com/prometheus/procfs v0.9.0 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/rs/cors v1.8.3 // indirect + github.com/rs/zerolog v1.29.1 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect @@ -166,15 +166,15 @@ require ( go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect golang.org/x/crypto v0.8.0 // indirect - golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect + golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc // indirect golang.org/x/net v0.9.0 // indirect - golang.org/x/oauth2 v0.5.0 // indirect + golang.org/x/oauth2 v0.6.0 // indirect golang.org/x/sys v0.7.0 // indirect golang.org/x/term v0.7.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.110.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 // indirect + google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect nhooyr.io/websocket v1.8.6 // indirect diff --git a/go.sum b/go.sum index a7ed4def2..aac82b47b 100644 --- a/go.sum +++ b/go.sum @@ -117,7 +117,7 @@ cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= +cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= @@ -196,8 +196,10 @@ cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= -cosmossdk.io/math v1.0.0 h1:ro9w7eKx23om2tZz/VM2Pf+z2WAbGX1yDQQOJ6iGeJw= -cosmossdk.io/math v1.0.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= +cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= +cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg= +cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -287,6 +289,7 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -339,21 +342,22 @@ github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= -github.com/cosmos/cosmos-sdk v0.47.2 h1:9rSriCoiJD+4F+tEDobyM8V7HF5BtY5Ef4VYNig96s0= -github.com/cosmos/cosmos-sdk v0.47.2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= +github.com/cosmos/cosmos-sdk v0.47.3 h1:r0hGmZoAzP2D+MaPaFGHwAaTdFQq3pNpHaUp1BsffbM= +github.com/cosmos/cosmos-sdk v0.47.3/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.8 h1:BrHKc6WFZt8+jRV71vKSQE+JrfF+JAnzrKo2VP7wIZ4= -github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= +github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= +github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= github.com/cosmos/ibc-go/v7 v7.1.0-rc0 h1:b78+/74AJDp0Sc7utMO1l4nI/u4ERnyta1nqooqQrGI= @@ -476,6 +480,7 @@ github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= @@ -692,7 +697,7 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= +github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -709,7 +714,6 @@ github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsternberg/zap-logfmt v1.3.0 h1:z1n1AOHVVydOOVuyphbOKyR4NICDQFiJMn1IK5hVQ5Y= @@ -752,11 +756,16 @@ github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3v github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= @@ -789,7 +798,6 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -845,12 +853,12 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.0.7 h1:muncTPStnKRos5dpVKULv2FVd4bMOhNePj9CjgDb8Us= +github.com/pelletier/go-toml/v2 v2.0.7/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d h1:htwtWgtQo8YS6JFWWi2DNgY0RwSGJ1ruMoxY6CUUclk= -github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -884,8 +892,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2 github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.40.0 h1:Afz7EVRqGg2Mqqf4JuF9vdvp1pi220m55Pi9T2JnO4Q= -github.com/prometheus/common v0.40.0/go.mod h1:L65ZJPSmfn/UBWLQIHV7dBrKFidB/wPlF1y5TlSt9OE= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= @@ -910,6 +918,9 @@ github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZV github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= +github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -1072,8 +1083,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= +golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1191,8 +1202,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.5.0 h1:HuArIo48skDwlrvM3sEdHXElYslAMsf3KwRkkW4MC4s= -golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1284,6 +1295,7 @@ golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1306,6 +1318,7 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1570,8 +1583,8 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 h1:EfLuoKW5WfkgVdDy7dTK8qSbH37AX5mj/MFh+bGPz14= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1613,8 +1626,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/go.work.sum b/go.work.sum index ddbf0b26a..6dc7e5ff5 100644 --- a/go.work.sum +++ b/go.work.sum @@ -2,640 +2,267 @@ 4d63.com/gochecknoglobals v0.1.0/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512 h1:SRsZGA7aFnCZETmov57jwPrWuTmaZK6+4R4v5FUe1/c= bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= +cloud.google.com/go v0.0.0-20170206221025-ce650573d812/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go/accessapproval v1.5.0 h1:/nTivgnV/n1CaAeo+ekGexTYUsKEU9jUVkoY5359+3Q= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= -cloud.google.com/go/accesscontextmanager v1.4.0 h1:CFhNhU7pcD11cuDkQdrE6PQJgv0EXNKNv06jIzbLlCU= -cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= -cloud.google.com/go/aiplatform v1.27.0 h1:DBi3Jk9XjCJ4pkkLM4NqKgj3ozUL1wq4l+d3/jTGXAI= -cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= -cloud.google.com/go/analytics v0.12.0 h1:NKw6PpQi6V1O+KsjuTd+bhip9d0REYu4NevC45vtGp8= -cloud.google.com/go/apigateway v1.4.0 h1:IIoXKR7FKrEAQhMTz5hK2wiDz2WNFHS7eVr/L1lE/rM= -cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= -cloud.google.com/go/apigeeconnect v1.4.0 h1:AONoTYJviyv1vS4IkvWzq69gEVdvHx35wKXc+e6wjZQ= -cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= -cloud.google.com/go/apigeeregistry v0.4.0 h1:Av+wedLP6pM8NsLruknv/RFCE/5VVavOhZ8j722vBxg= -cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= -cloud.google.com/go/apikeys v0.4.0 h1:d+t1B9U1Ze3LmiRYdSVhNrcRlU6coLvPzNDkqYVuHoc= -cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= -cloud.google.com/go/appengine v1.5.0 h1:lmG+O5oaR9xNwaRBwE2XoMhwQHsHql5IoiGr1ptdDwU= -cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= -cloud.google.com/go/area120 v0.6.0 h1:TCMhwWEWhCn8d44/Zs7UCICTWje9j3HuV6nVGMjdpYw= -cloud.google.com/go/artifactregistry v1.9.0 h1:3d0LRAU1K6vfqCahhl9fx2oGHcq+s5gftdix4v8Ibrc= -cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= -cloud.google.com/go/asset v1.10.0 h1:aCrlaLGJWTODJX4G56ZYzJefITKEWNfbjjtHSzWpxW0= -cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= -cloud.google.com/go/assuredworkloads v1.9.0 h1:hhIdCOowsT1GG5eMCIA0OwK6USRuYTou/1ZeNxCSRtA= -cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= -cloud.google.com/go/automl v1.8.0 h1:BMioyXSbg7d7xLibn47cs0elW6RT780IUWr42W8rp2Q= -cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= -cloud.google.com/go/baremetalsolution v0.4.0 h1:g9KO6SkakcYPcc/XjAzeuUrEOXlYPnMpuiaywYaGrmQ= -cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= -cloud.google.com/go/batch v0.4.0 h1:1jvEBY55OH4Sd2FxEXQfxGExFWov1A/IaRe+Z5Z71Fw= -cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= -cloud.google.com/go/beyondcorp v0.3.0 h1:w+4kThysgl0JiKshi2MKDCg2NZgOyqOI0wq2eBZyrzA= -cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= -cloud.google.com/go/bigquery v1.44.0 h1:Wi4dITi+cf9VYp4VH2T9O41w0kCW0uQTELq2Z6tukN0= -cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= -cloud.google.com/go/billing v1.7.0 h1:Xkii76HWELHwBtkQVZvqmSo9GTr0O+tIbRNnMcGdlg4= -cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= -cloud.google.com/go/binaryauthorization v1.4.0 h1:pL70vXWn9TitQYXBWTK2abHl2JHLwkFRjYw6VflRqEA= -cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= -cloud.google.com/go/certificatemanager v1.4.0 h1:tzbR4UHBbgsewMWUD93JHi8EBi/gHBoSAcY1/sThFGk= -cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= -cloud.google.com/go/channel v1.9.0 h1:pNuUlZx0Jb0Ts9P312bmNMuH5IiFWIR4RUtLb70Ke5s= -cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= -cloud.google.com/go/cloudbuild v1.4.0 h1:TAAmCmAlOJ4uNBu6zwAjwhyl/7fLHHxIEazVhr3QBbQ= -cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= -cloud.google.com/go/clouddms v1.4.0 h1:UhzHIlgFfMr6luVYVNydw/pl9/U5kgtjCMJHnSvoVws= -cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= -cloud.google.com/go/cloudtasks v1.8.0 h1:faUiUgXjW8yVZ7XMnKHKm1WE4OldPBUWWfIRN/3z1dc= -cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= -cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -cloud.google.com/go/contactcenterinsights v1.4.0 h1:tTQLI/ZvguUf9Hv+36BkG2+/PeC8Ol1q4pBW+tgCx0A= -cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= -cloud.google.com/go/container v1.7.0 h1:nbEK/59GyDRKKlo1SqpohY1TK8LmJ2XNcvS9Gyom2A0= -cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= -cloud.google.com/go/containeranalysis v0.6.0 h1:2824iym832ljKdVpCBnpqm5K94YT/uHTVhNF+dRTXPI= -cloud.google.com/go/datacatalog v1.8.0 h1:6kZ4RIOW/uT7QWC5SfPfq/G8sYzr/v+UOmOAxy4Z1TE= -cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= -cloud.google.com/go/dataflow v0.7.0 h1:CW3541Fm7KPTyZjJdnX6NtaGXYFn5XbFC5UcjgALKvU= -cloud.google.com/go/dataform v0.5.0 h1:vLwowLF2ZB5J5gqiZCzv076lDI/Rd7zYQQFu5XO1PSg= -cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= -cloud.google.com/go/datafusion v1.5.0 h1:j5m2hjWovTZDTQak4MJeXAR9yN7O+zMfULnjGw/OOLg= -cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= -cloud.google.com/go/datalabeling v0.6.0 h1:dp8jOF21n/7jwgo/uuA0RN8hvLcKO4q6s/yvwevs2ZM= -cloud.google.com/go/dataplex v1.4.0 h1:cNxeA2DiWliQGi21kPRqnVeQ5xFhNoEjPRt1400Pm8Y= -cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= -cloud.google.com/go/dataproc v1.8.0 h1:gVOqNmElfa6n/ccG/QDlfurMWwrK3ezvy2b2eDoCmS0= -cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataqna v0.6.0 h1:gx9jr41ytcA3dXkbbd409euEaWtofCVXYBvJz3iYm18= -cloud.google.com/go/datastore v1.10.0 h1:4siQRf4zTiAVt/oeH4GureGkApgb2vtPQAtOmhpqQwE= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= -cloud.google.com/go/datastream v1.5.0 h1:PgIgbhedBtYBU6POGXFMn2uSl9vpqubc3ewTNdcU8Mk= -cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= -cloud.google.com/go/deploy v1.5.0 h1:kI6dxt8Ml0is/x7YZjLveTvR7YPzXAUD/8wQZ2nH5zA= -cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= -cloud.google.com/go/dialogflow v1.29.0 h1:Opy6fM2IV9ecQOXkce0JByjBVg8+4X+1AbTAQLbgrCg= -cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= -cloud.google.com/go/dlp v1.7.0 h1:9I4BYeJSVKoSKgjr70fLdRDumqcUeVmHV4fd5f9LR6Y= -cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= -cloud.google.com/go/documentai v1.10.0 h1:jfq09Fdjtnpnmt/MLyf6A3DM3ynb8B2na0K+vSXvpFM= -cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= -cloud.google.com/go/domains v0.7.0 h1:pu3JIgC1rswIqi5romW0JgNO6CTUydLYX8zyjiAvO1c= -cloud.google.com/go/edgecontainer v0.2.0 h1:hd6J2n5dBBRuAqnNUEsKWrp6XNPKsaxwwIyzOPZTokk= -cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= -cloud.google.com/go/essentialcontacts v1.4.0 h1:b6csrQXCHKQmfo9h3dG/pHyoEh+fQG1Yg78a53LAviY= -cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= -cloud.google.com/go/eventarc v1.8.0 h1:AgCqrmMMIcel5WWKkzz5EkCUKC3Rl5LNMMYsS+LvsI0= -cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= -cloud.google.com/go/filestore v1.4.0 h1:yjKOpzvqtDmL5AXbKttLc8j0hL20kuC1qPdy5HPcxp0= -cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.9.0 h1:IBlRyxgGySXu5VuW0RgGFlTtLukSnNkpDiEOMkQkmpA= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= -cloud.google.com/go/functions v1.9.0 h1:35tgv1fQOtvKqH/uxJMzX3w6usneJ0zXpsFr9KAVhNE= -cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= -cloud.google.com/go/gaming v1.8.0 h1:97OAEQtDazAJD7yh/kvQdSCQuTKdR0O+qWAJBZJ4xiA= -cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= -cloud.google.com/go/gkebackup v0.3.0 h1:4K+jiv4ocqt1niN8q5Imd8imRoXBHTrdnJVt/uFFxF4= -cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= -cloud.google.com/go/gkeconnect v0.6.0 h1:zAcvDa04tTnGdu6TEZewaLN2tdMtUOJJ7fEceULjguA= -cloud.google.com/go/gkehub v0.10.0 h1:JTcTaYQRGsVm+qkah7WzHb6e9sf1C0laYdRPn9aN+vg= -cloud.google.com/go/gkemulticloud v0.4.0 h1:8F1NhJj8ucNj7lK51UZMtAjSWTgP1zO18XF6vkfiPPU= -cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= -cloud.google.com/go/grafeas v0.2.0 h1:CYjC+xzdPvbV65gi6Dr4YowKcmLo045pm18L0DhdELM= -cloud.google.com/go/gsuiteaddons v1.4.0 h1:TGT2oGmO5q3VH6SjcrlgPUWI0njhYv4kywLm6jag0to= -cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= -cloud.google.com/go/iap v1.5.0 h1:BGEXovwejOCt1zDk8hXq0bOhhRu9haXKWXXXp2B4wBM= -cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= -cloud.google.com/go/ids v1.2.0 h1:LncHK4HHucb5Du310X8XH9/ICtMwZ2PCfK0ScjWiJoY= -cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= -cloud.google.com/go/iot v1.4.0 h1:Y9+oZT9jD4GUZzORXTU45XsnQrhxmDT+TFbPil6pRVQ= -cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= -cloud.google.com/go/kms v1.6.0 h1:OWRZzrPmOZUzurjI2FBGtgY2mB1WaJkqhw6oIwSj0Yg= -cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= -cloud.google.com/go/language v1.8.0 h1:3Wa+IUMamL4JH3Zd3cDZUHpwyqplTACt6UZKRD2eCL4= -cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= -cloud.google.com/go/lifesciences v0.6.0 h1:tIqhivE2LMVYkX0BLgG7xL64oNpDaFFI7teunglt1tI= -cloud.google.com/go/logging v1.6.1 h1:ZBsZK+JG+oCDT+vaxwqF2egKNRjz8soXiS6Xv79benI= -cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= -cloud.google.com/go/managedidentities v1.4.0 h1:3Kdajn6X25yWQFhFCErmKSYTSvkEd3chJROny//F1A0= -cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= -cloud.google.com/go/maps v0.1.0 h1:kLReRbclTgJefw2fcCbdLPLhPj0U6UUWN10ldG8sdOU= -cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= -cloud.google.com/go/mediatranslation v0.6.0 h1:qAJzpxmEX+SeND10Y/4868L5wfZpo4Y3BIEnIieP4dk= -cloud.google.com/go/memcache v1.7.0 h1:yLxUzJkZVSH2kPaHut7k+7sbIBFpvSh1LW9qjM2JDjA= -cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= -cloud.google.com/go/metastore v1.8.0 h1:3KcShzqWdqxrDEXIBWpYJpOOrgpDj+HlBi07Grot49Y= -cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= -cloud.google.com/go/monitoring v1.8.0 h1:c9riaGSPQ4dUKWB+M1Fl0N+iLxstMbCktdEwYSPGDvA= -cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= -cloud.google.com/go/networkconnectivity v1.7.0 h1:BVdIKaI68bihnXGdCVL89Jsg9kq2kg+II30fjVqo62E= -cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= -cloud.google.com/go/networkmanagement v1.5.0 h1:mDHA3CDW00imTvC5RW6aMGsD1bH+FtKwZm/52BxaiMg= -cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= -cloud.google.com/go/networksecurity v0.6.0 h1:qDEX/3sipg9dS5JYsAY+YvgTjPR63cozzAWop8oZS94= -cloud.google.com/go/notebooks v1.5.0 h1:AC8RPjNvel3ExgXjO1YOAz+teg9+j+89TNxa7pIZfww= -cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= -cloud.google.com/go/optimization v1.2.0 h1:7PxOq9VTT7TMib/6dMoWpMvWS2E4dJEvtYzjvBreaec= -cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= -cloud.google.com/go/orchestration v1.4.0 h1:39d6tqvNjd/wsSub1Bn4cEmrYcet5Ur6xpaN+SxOxtY= -cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= -cloud.google.com/go/orgpolicy v1.5.0 h1:erF5PHqDZb6FeFrUHiYj2JK2BMhsk8CyAg4V4amJ3rE= -cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= -cloud.google.com/go/osconfig v1.10.0 h1:NO0RouqCOM7M2S85Eal6urMSSipWwHU8evzwS+siqUI= -cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= -cloud.google.com/go/oslogin v1.7.0 h1:pKGDPfeZHDybtw48WsnVLjoIPMi9Kw62kUE5TXCLCN4= -cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= -cloud.google.com/go/phishingprotection v0.6.0 h1:OrwHLSRSZyaiOt3tnY33dsKSedxbMzsXvqB21okItNQ= -cloud.google.com/go/policytroubleshooter v1.4.0 h1:NQklJuOUoz1BPP+Epjw81COx7IISWslkZubz/1i0UN8= -cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= -cloud.google.com/go/privatecatalog v0.6.0 h1:Vz86uiHCtNGm1DeC32HeG2VXmOq5JRYA3VRPf8ZEcSg= -cloud.google.com/go/pubsub v1.27.1 h1:q+J/Nfr6Qx4RQeu3rJcnN48SNC0qzlYzSeqkPq93VHs= -cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= -cloud.google.com/go/pubsublite v1.5.0 h1:iqrD8vp3giTb7hI1q4TQQGj77cj8zzgmMPsTZtLnprM= -cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= -cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ= -cloud.google.com/go/recaptchaenterprise/v2 v2.5.0 h1:UqzFfb/WvhwXGDF1eQtdHLrmni+iByZXY4h3w9Kdyv8= -cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= -cloud.google.com/go/recommendationengine v0.6.0 h1:6w+WxPf2LmUEqX0YyvfCoYb8aBYOcbIV25Vg6R0FLGw= -cloud.google.com/go/recommender v1.8.0 h1:9kMZQGeYfcOD/RtZfcNKGKtoex3DdoB4zRgYU/WaIwE= -cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= -cloud.google.com/go/redis v1.10.0 h1:/zTwwBKIAD2DEWTrXZp8WD9yD/gntReF/HkPssVYd0U= -cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= -cloud.google.com/go/resourcemanager v1.4.0 h1:NDao6CHMwEZIaNsdWy+tuvHaavNeGP06o1tgrR0kLvU= -cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= -cloud.google.com/go/resourcesettings v1.4.0 h1:eTzOwB13WrfF0kuzG2ZXCfB3TLunSHBur4s+HFU6uSM= -cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= -cloud.google.com/go/retail v1.11.0 h1:N9fa//ecFUOEPsW/6mJHfcapPV0wBSwIUwpVZB7MQ3o= -cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= -cloud.google.com/go/run v0.3.0 h1:AWPuzU7Xtaj3Jf+QarDWIs6AJ5hM1VFQ+F6Q+VZ6OT4= -cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= -cloud.google.com/go/scheduler v1.7.0 h1:K/mxOewgHGeKuATUJNGylT75Mhtjmx1TOkKukATqMT8= -cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= -cloud.google.com/go/secretmanager v1.9.0 h1:xE6uXljAC1kCR8iadt9+/blg1fvSbmenlsDN4fT9gqw= -cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= -cloud.google.com/go/security v1.10.0 h1:KSKzzJMyUoMRQzcz7azIgqAUqxo7rmQ5rYvimMhikqg= -cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= -cloud.google.com/go/securitycenter v1.16.0 h1:QTVtk/Reqnx2bVIZtJKm1+mpfmwRwymmNvlaFez7fQY= -cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= -cloud.google.com/go/servicecontrol v1.5.0 h1:ImIzbOu6y4jL6ob65I++QzvqgFaoAKgHOG+RU9/c4y8= -cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= -cloud.google.com/go/servicedirectory v1.7.0 h1:f7M8IMcVzO3T425AqlZbP3yLzeipsBHtRza8vVFYMhQ= -cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= -cloud.google.com/go/servicemanagement v1.5.0 h1:TpkCO5M7dhKSy1bKUD9o/sSEW/U1Gtx7opA1fsiMx0c= -cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= -cloud.google.com/go/serviceusage v1.4.0 h1:b0EwJxPJLpavSljMQh0RcdHsUrr5DQ+Nelt/3BAs5ro= -cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= -cloud.google.com/go/shell v1.4.0 h1:b1LFhFBgKsG252inyhtmsUUZwchqSz3WTvAIf3JFo4g= -cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= -cloud.google.com/go/spanner v1.41.0 h1:NvdTpRwf7DTegbfFdPjAWyD7bOVu0VeMqcvR9aCQCAc= -cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= -cloud.google.com/go/speech v1.9.0 h1:yK0ocnFH4Wsf0cMdUyndJQ/hPv02oTJOxzi6AgpBy4s= -cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= -cloud.google.com/go/storagetransfer v1.6.0 h1:fUe3OydbbvHcAYp07xY+2UpH4AermGbmnm7qdEj3tGE= -cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= -cloud.google.com/go/talent v1.4.0 h1:MrekAGxLqAeAol4Sc0allOVqUGO8j+Iim8NMvpiD7tM= -cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= -cloud.google.com/go/texttospeech v1.5.0 h1:ccPiHgTewxgyAeCWgQWvZvrLmbfQSFABTMAfrSPLPyY= -cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= -cloud.google.com/go/tpu v1.4.0 h1:ztIdKoma1Xob2qm6QwNh4Xi9/e7N3IfvtwG5AcNsj1g= -cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= -cloud.google.com/go/trace v1.4.0 h1:qO9eLn2esajC9sxpqp1YKX37nXC3L4BfGnPS0Cx9dYo= -cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= -cloud.google.com/go/translate v1.4.0 h1:AOYOH3MspzJ/bH1YXzB+xTE8fMpn3mwhLjugwGXvMPI= -cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= -cloud.google.com/go/video v1.9.0 h1:ttlvO4J5c1VGq6FkHqWPD/aH6PfdxujHt+muTJlW1Zk= -cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= -cloud.google.com/go/videointelligence v1.9.0 h1:RPFgVVXbI2b5vnrciZjtsUgpNKVtHO/WIyXUhEfuMhA= -cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= -cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= -cloud.google.com/go/vision/v2 v2.5.0 h1:TQHxRqvLMi19azwm3qYuDbEzZWmiKJNTpGbkNsfRCik= -cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= -cloud.google.com/go/vmmigration v1.3.0 h1:A2Tl2ZmwMRpvEmhV2ibISY85fmQR+Y5w9a0PlRz5P3s= -cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= -cloud.google.com/go/vmwareengine v0.1.0 h1:JMPZaOT/gIUxVlTqSl/QQ32Y2k+r0stNeM1NSqhVP9o= -cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= -cloud.google.com/go/vpcaccess v1.5.0 h1:woHXXtnW8b9gLFdWO9HLPalAddBQ9V4LT+1vjKwR3W8= -cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= -cloud.google.com/go/webrisk v1.7.0 h1:ypSnpGlJnZSXbN9a13PDmAYvVekBLnGKxQ3Q9SMwnYY= -cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= -cloud.google.com/go/websecurityscanner v1.4.0 h1:y7yIFg/h/mO+5Y5aCOtVAnpGUOgqCH5rXQ2Oc8Oq2+g= -cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= -cloud.google.com/go/workflows v1.9.0 h1:7Chpin9p50NTU8Tb7qk+I11U/IwVXmDhEoSsdccvInE= -cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= -cosmossdk.io/api v0.2.6/go.mod h1:u/d+GAxil0nWpl1XnQL8nkziQDIWuBDhv8VnDm/s6dI= -cosmossdk.io/core v0.3.2/go.mod h1:CO7vbe+evrBvHc0setFHL/u7nlY7HJGzdRSBkT/sirc= -cosmossdk.io/math v1.0.0-beta.4/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM= -cosmossdk.io/math v1.0.0-rc.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff h1:P1ialzTepD1oxdNPYc5N8Eggq3RdejZq3cJs8YYMs9Y= cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff/go.mod h1:AKzx6Mb544LjJ9RHmGFHjY9rEOLiUAi8I0F727TR0dY= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= -github.com/Abirdcfly/dupword v0.0.7 h1:z14n0yytA3wNO2gpCD/jVtp/acEXPGmYu0esewpBt6Q= github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= -github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8 h1:V8krnnfGj4pV65YLUm3C0/8bl7V5Nry2Pwvy3ru/wLc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= -github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= -github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M= -github.com/Antonboom/errname v0.1.7 h1:mBBDKvEYwPl4WFFNwec1CZO096G6vzK9vvDQzAwkako= github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= -github.com/Antonboom/nilnil v0.1.1 h1:PHhrh5ANKFWRBh7TdYmyyq2gyT2lotnvFvvFbylF81Q= github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= -github.com/Azure/azure-sdk-for-go v16.2.1+incompatible h1:KnPIugL51v3N3WwvaSmZbxukD1WuWXOiE9fRdu32f2I= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1 h1:qoVeMsc9/fh/yhxVaA0obYjVH/oI/ihrOoMwsLS9KSA= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3 h1:E+m3SkZCN0Bf5q7YdTs5lSm2CYY3CK4spn5OmUIiQtk= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 h1:Px2UA+2RvSSvv+RvJNuUB6n7rs5Wsel4dXLe90Um2n4= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= -github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.9.13 h1:Mp5hbtOePIzM8pJVRa3YLrWWmZtoxRXqUEzCfJt3+/Q= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= -github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= -github.com/Azure/go-autorest/logger v0.2.1 h1:IG7i4p/mDa2Ce4TRyAO8IHnVhAVF3RFU+ZtXWSmf4Tg= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0 h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= -github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= -github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= -github.com/CloudyKit/jet v2.1.3-0.20180809161101-62edd43e4f88+incompatible/go.mod h1:HPYO+50pSWkPoj9Q/eq0aRGByCL6ScRlUmiEX5Zgm+w= -github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= -github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= -github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= -github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= -github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= -github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= -github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= -github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= -github.com/Joker/jade v1.0.1-0.20190614124447-d475f43051e7/go.mod h1:6E6s8o2AE4KhCrqr6GRJjdC/gNfTdxkIXvuGZZda2VM= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= -github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3 h1:4FA+QBaydEHlwxg0lMN3rhwoDaQy6LKhVWR4qvq4BuA= -github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= -github.com/OpenPeeDeeP/depguard v1.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= -github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= -github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s= -github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= -github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= -github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= -github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af h1:wVe6/Ea46ZMeNkQjjBW6xcqyQA/j5e0D6GytH95g0gQ= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= -github.com/alexflint/go-filemutex v1.1.0 h1:IAWuUuRYL2hETx5b8vCgwnD+xSdlsTQY6s2JjBsqLdg= +github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= -github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= -github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= -github.com/apache/thrift v0.13.0 h1:5hryIiq9gtn+MiLVn0wP37kb/uTeRZgN08WoCsAhIhI= -github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2 h1:7Ip0wMmLHLRJdrloDxZfhMm0xrLXZS8+COSu2bXmEQs= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a h1:pv34s756C4pEXnjgPfGYgdhg/ZdajGhyOvzx8k+23nw= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA= -github.com/ashanbrown/forbidigo v1.3.0 h1:VkYIwb/xxdireGAdJNZoo24O4lmnEWkactplBlWTShc= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= -github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= -github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= -github.com/aws/aws-lambda-go v1.13.3 h1:SuCy7H3NLyp+1Mrfp+m80jcbi9KYWAs9/BXwppwRDzY= -github.com/aws/aws-sdk-go-v2 v1.9.1 h1:ZbovGV/qo40nrOJ4q8G33AGICzaPI45FHQWJ9650pF4= -github.com/aws/aws-sdk-go-v2/config v1.1.1 h1:ZAoq32boMzcaTW9bcUacBswAmHTbvlvDJICgHFZuECo= -github.com/aws/aws-sdk-go-v2/credentials v1.1.1 h1:NbvWIM1Mx6sNPTxowHgS2ewXCRp+NGTzUYb/96FZJbY= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2 h1:EtEU7WRaWliitZh2nmuxEXrN0Cb8EgPUFGIoTMeqbzI= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1 h1:w/fPGB0t5rWwA43mux4e9ozFSH5zF1moQemlA131PWc= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2 h1:4AH9fFjUlVktQMznF+YN33aWNXaR4VgDXyP28qokJC0= -github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1 h1:cKr6St+CtC3/dl/rEBJvlk7A/IN5D5F02GNkGzfbtVU= -github.com/aws/aws-sdk-go-v2/service/sso v1.1.1 h1:37QubsarExl5ZuCBlnRP+7l1tNwZPBSTqpTBrPH98RU= -github.com/aws/aws-sdk-go-v2/service/sts v1.1.1 h1:TJoIfnIFubCX0ACVeJ0w46HEH5MwjwYN4iFhuYIhfIY= -github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= -github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= -github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= -github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= -github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= -github.com/bombsimon/wsl/v3 v3.3.0 h1:Mka/+kRLoQJq7g2rggtgQsjuI/K5Efd87WX96EWFxjM= github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= -github.com/bradleyfalzon/ghinstallation/v2 v2.0.4 h1:tXKVfhE7FcSkhkv0UwkLvPDeZ4kz6OXd0PKPlFqf81M= -github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI= github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= -github.com/breml/errchkjson v0.3.0 h1:YdDqhfqMT+I1vIxPSas44P+9Z9HzJwCeAzjB8PxP1xw= github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= -github.com/bshuster-repo/logrus-logstash-hook v0.4.1 h1:pgAtgj+A31JBVtEHu2uHuEx0n+2ukqUJnS2vVe5pQNA= -github.com/btcsuite/btcd v0.23.0 h1:V2/ZgjfDFIygAX3ZapeigkVBoVUtOJKSwrhZdlpSvaA= -github.com/btcsuite/btcd/btcec/v2 v2.1.1/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= -github.com/btcsuite/btcd/btcutil v1.1.1 h1:hDcDaXiP0uEzR8Biqo2weECKqEw0uHDZ9ixIWevVQqY= -github.com/btcsuite/btcd/btcutil v1.1.1/go.mod h1:nbKlBMNm9FGsdvKvu0essceubPiAcI57pYBNnsLAa34= github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= -github.com/btcsuite/goleveldb v1.0.0 h1:Tvd0BfvqX9o823q1j2UZ/epQo09eJh6dTcRp79ilIN4= -github.com/btcsuite/snappy-go v1.0.0 h1:ZxaA6lo2EpxGddsA8JwWOcxlzRybb444sgmeJQMJGQE= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= -github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk= -github.com/bufbuild/buf v1.7.0 h1:uWRjhIXcrWkzIkA5TqXGyJbF51VW54QJsQZ3nwaes5Q= github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= -github.com/bufbuild/connect-go v1.0.0 h1:htSflKUT8y1jxhoPhPYTZMrsY3ipUXjjrbcZR5O2cVo= github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= -github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= -github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd h1:rFt+Y/IK1aEZkEHchZRSq9OQbsSzIT/OrI8YFFmRIng= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= -github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o= -github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= -github.com/bwesterb/go-ristretto v1.2.0 h1:xxWOVbN5m8NNKiSDZXE1jtZvZnC6JSJ9cYFADiZcWtw= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/casbin/casbin/v2 v2.37.0 h1:/poEwPSovi4bTOcP752/CsTQiRz2xycyVKFG7GUhbDw= github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5PW5zdZ39xEwfS9an067BirqA+P4QaLI= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy6EEutYk= github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= -github.com/chavacava/garif v0.0.0-20220630083739-93517212f375 h1:E7LT642ysztPWE0dfz43cWOvMiF42DyTRC+eZIaO4yI= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= -github.com/checkpoint-restore/go-criu/v4 v4.1.0 h1:WW2B2uxx9KWF6bGlHqhm8Okiafwwx7Y2kcpn8lCpjgo= -github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8= -github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= -github.com/cheggaaa/pb v1.0.27 h1:wIkZHkNfC7R6GI5w7l/PdAdzXzlrbcI3p8OAlnkTsnc= -github.com/cilium/ebpf v0.7.0 h1:1k/q3ATgxSXRdrmPfH8d7YK0GfqVsEKZAX9dQZvs56k= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= -github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= -github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec h1:EdRZT3IeKQmfCSrgo8SZ8V3MEnskuJP0wCYNpe+aiXo= -github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= -github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= -github.com/cloudflare/cloudflare-go v0.14.0 h1:gFqGlGl/5f9UGXAaKapCGUfaTCgRKKnzu2VvzMZlOFA= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b h1:ACGZRIr7HsgBKHsueQ1yM4WaVaXh21ynwqsF8M8tXhA= -github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5 h1:xD/lrqdvwsc+O2bjSSi3YqY73Ke3LAiSCx49aCesA0E= +github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= -github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/errors v1.6.1/go.mod h1:tm6FTP5G81vwJ5lC0SizQo374JNCOPrHyXGitRJoDqM= -github.com/cockroachdb/errors v1.8.1/go.mod h1:qGwQn6JmZ+oMjuLwjWzUNqblqk0xl4CVV3SQbGwK7Ac= -github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8= -github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= -github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= -github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= -github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 h1:qbb/AE938DFhOajUYh9+OXELpSF9KZw2ZivtmW6eX1Q= -github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677/go.mod h1:890yq1fUb9b6dGNwssgeUO5vQV9qfXnCPxAJhBQfXw0= -github.com/cockroachdb/redact v1.0.8/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= -github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= -github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f h1:C43yEtQ6NIf4ftFXD/V55gnGFgPbMQobd//YlnLjUJ8= -github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= -github.com/containerd/btrfs v1.0.0 h1:osn1exbzdub9L5SouXO5swW4ea/xVdJZ3wokxN5GrnA= github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= -github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= -github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= -github.com/containerd/fuse-overlayfs-snapshotter v1.0.2 h1:Xy9Tkx0tk/SsMfLDFc69wzqSrxQHYEFELHBO/Z8XO3M= github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= -github.com/containerd/go-cni v1.1.6 h1:el5WPymG5nRRLQF1EfB97FWob4Tdc8INg8RZMaXWZlo= github.com/containerd/go-cni v1.1.6/go.mod h1:BWtoWl5ghVymxu6MBjg79W9NZrCRyHIdUtk4cauMe34= -github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= -github.com/containerd/imgcrypt v1.1.4 h1:iKTstFebwy3Ak5UF0RHSeuCTahC5OIrPJa6vjMAM81s= github.com/containerd/imgcrypt v1.1.4/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO8j/tSUpgxvo= -github.com/containerd/nri v0.1.0 h1:6QioHRlThlKh2RkRTR4kIT3PKAcrLo3gIWnjkM4dQmQ= -github.com/containerd/stargz-snapshotter v0.11.3 h1:D3PoF563XmOBdtfx2G6AkhbHueqwIVPBFn2mrsWLa3w= -github.com/containerd/stargz-snapshotter/estargz v0.11.3 h1:k2kN16Px6LYuv++qFqK+JTcYqc8bEVxzGpf8/gFBL5M= -github.com/containerd/ttrpc v1.1.0 h1:GbtyLRxb0gOLR0TYQWt3O6B0NvT8tMdorEHqIQo/lWI= -github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= -github.com/containerd/zfs v1.0.0 h1:cXLJbx+4Jj7rNsTiqVfm6i+RNLx6FFA2fMmDlEf+Wm8= github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= -github.com/containernetworking/cni v1.1.1 h1:ky20T7c0MvKvbMOwS/FrlbNwjEoqJEUUYfsL4b0mc4k= github.com/containernetworking/cni v1.1.1/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= -github.com/containernetworking/plugins v1.1.1 h1:+AGfFigZ5TiQH00vhR8qPeSatj53eNGz0C1d3wVYlHE= github.com/containernetworking/plugins v1.1.1/go.mod h1:Sr5TH/eBsGLXK/h71HeLfX19sZPp3ry5uHSkI4LPxV8= github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= -github.com/containers/ocicrypt v1.1.3 h1:uMxn2wTb4nDR7GqG3rnZSfpJXqWURfzZ7nKydzIeKpA= github.com/containers/ocicrypt v1.1.3/go.mod h1:xpdkbVAuaH3WzbEabUd5yDsl9SwJA5pABH85425Es2g= -github.com/coreos/bbolt v1.3.2 h1:wZwiHHUieZCquLkDL0B8UhzreNWsPHooDAG3q34zk0s= -github.com/coreos/etcd v3.3.13+incompatible h1:8F3hqu9fGYLBifCmRCJsicFqDx/D68Rt3q1JMazcgBQ= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= -github.com/coreos/go-iptables v0.6.0 h1:is9qnZMPYjLd8LYqmm/qlE+wwEgJIkTYdhV3rfZo4jk= github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= -github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM= -github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= -github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534 h1:rtAn27wIbmOGUs7RIbVgPEjb31ehTVniDwPGXyMxm5U= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= -github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32 h1:zlCp9n3uwQieELltZWHRmwPmPaZ8+XoL2Sj+A2YJlr8= -github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32/go.mod h1:kwMlEC4wWvB48zAShGKVqboJL6w4zCLesaNQ3YLU2BQ= -github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= github.com/cosmos/cosmos-sdk v0.47.0/go.mod h1:FTtZbqiHCZ2vun9WrPq6qLQafNKkAuIhLAxzLjr2TiI= -github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a h1:2humuGPw3O5riJVFq/E2FRjF57UrO97W1qJcGVmK+6k= +github.com/cosmos/cosmos-sdk v0.47.2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= +github.com/cosmos/cosmos-sdk v0.47.3 h1:r0hGmZoAzP2D+MaPaFGHwAaTdFQq3pNpHaUp1BsffbM= +github.com/cosmos/cosmos-sdk v0.47.3/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= -github.com/cosmos/gogoproto v1.4.4/go.mod h1:/yl6/nLwsZcZ2JY3OrqjRqvqCG9InUMcXRfRjQiF9DU= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= +github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= -github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= -github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cristalhq/acmd v0.8.1 h1:mtFp/cbeJNY5jokF9zPz5mRllGHropRrOkOVxeGS6FI= github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= -github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= -github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= -github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c h1:Xo2rK1pzOm0jO6abTPIQwbAmqBIOj132otexc1mmzFc= -github.com/d2g/dhcp4client v1.0.0 h1:suYBsYZIkSlUMEz4TAYCczKf62IA2UWC+O8+KtdOhCo= -github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5 h1:+CpLbZIeUn94m02LdEKPcgErLJ347NUwxPKs5u8ieiY= -github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4 h1:itqmmf1PFpC4n5JW+j4BU7X4MTfVurhYRTjODoPb2Y8= -github.com/daixiang0/gci v0.8.1 h1:T4xpSC+hmsi4CSyuYfIJdMZAr9o7xZmHpQVygMghGZ4= github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= -github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= -github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= -github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU= -github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= -github.com/denisenkom/go-mssqldb v0.12.0 h1:VtrkII767ttSPNRfFekePK3sctr+joXgO58stqQbtUA= -github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba h1:p6poVbjHDkKa+wtC8frBMwQtT3BmqGYBjzMwJ63tuR4= -github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= -github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8= -github.com/dgraph-io/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= -github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= -github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 h1:Izz0+t1Z5nI16/II7vuEo/nHjodOg0p7+OiDpjX5t1E= -github.com/dnaeon/go-vcr v1.0.1 h1:r8L/HqC0Hje5AXMu1ooW8oyQyOFv4GxqpL0nRP7SLLY= -github.com/docker/cli v20.10.17+incompatible h1:eO2KS7ZFeov5UJeaDmIs1NFEDRf32PaqRpvoEkKBy5M= github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.6.4 h1:axCks+yV+2MR3/kZhAmy07yC56WZ2Pwu/fKWtKuZB0o= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= -github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= -github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arXfYcAtECDFgAgHklGI8CxgjHnXKJ4= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= -github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf h1:Yt+4K30SdjOkRoRRm3vYNQgR+/ZIy0RmeUDZo7Y8zeQ= -github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= -github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= -github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc= -github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= -github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/envoyproxy/go-control-plane v0.10.3 h1:xdCVXxEe0Y3FQith+0cj2irwZudqGYvecuLB1HtdexY= -github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= -github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= -github.com/envoyproxy/protoc-gen-validate v0.9.1 h1:PS7VIOgmSVhWUEeZwTe7z7zouA22Cr590PzXKbZHOVY= -github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= -github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= +github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= +github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= -github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= -github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= -github.com/evanphx/json-patch v4.11.0+incompatible h1:glyUF9yIYtMHzn8xaKw5rMhdWcwsYV8dZHIq5567/xs= github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= -github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= -github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c h1:CndMRAH4JIwxbW8KYq6Q+cGWcGHz0FjGR3QqcInWcW0= -github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= -github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= -github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90 h1:WXb3TSNmHp2vHoCroCIB1foO/yQ36swABL8aOVeDpgg= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db h1:gb2Z18BhTPJPpLQWj4T+rfKHYCHxRHCtRxhKKjRidVw= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8 h1:a9ENSRDFBUPkJ5lCgVZh26+ZbGyoVJG7yb5SSzF5H54= -github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= -github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61 h1:IZqZOB2fydHte3kUgxrzK5E1fW7RQGeDwE8F/ZZnUYc= -github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7 h1:LofdAjjjqCSXMwLGgOgnE+rdPuvX9DxCqaHwKy7i/ko= -github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= -github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= -github.com/gdamore/tcell/v2 v2.6.0 h1:OKbluoP9VYmJwZwq/iLb4BxwKcwGthaa1YNBJIyCySg= -github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= -github.com/getsentry/sentry-go v0.17.0 h1:UustVWnOoDFHBS7IJUB2QK/nB5pap748ZEp0swnQJak= -github.com/getsentry/sentry-go v0.17.0/go.mod h1:B82dxtBvxG0KaPD8/hfSV+VcHD+Lg/xUS4JuQn1P4cM= -github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= -github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= -github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= -github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= -github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= -github.com/go-critic/go-critic v0.6.5 h1:fDaR/5GWURljXwF8Eh31T2GZNz9X4jeboS912mWF8Uo= github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= -github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= -github.com/go-git/go-git-fixtures/v4 v4.3.1 h1:y5z6dd3qi8Hl+stezc8p3JxDkoTRqMAlKnXHuzrfjTQ= github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= -github.com/go-git/go-git/v5 v5.5.2 h1:v8lgZa5k9ylUw+OR/roJHTxR4QItsNFI5nKtAXFuynw= github.com/go-git/go-git/v5 v5.5.2/go.mod h1:BE5hUJ5yaV2YMxhmaP4l6RBQ08kMxKSPD4BlxtH7OjI= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= -github.com/go-ini/ini v1.25.4 h1:Mujh4R/dH6YL8bxuISne3xX2+qcQ9p0IxKAP6ExWoUo= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= @@ -643,505 +270,187 @@ github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTg github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc= -github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= -github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= -github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= -github.com/go-toolsmith/astcopy v1.0.2 h1:YnWf5Rnh1hUudj11kei53kI57quN/VH6Hp1n+erozn0= github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= -github.com/go-toolsmith/astequal v1.0.3 h1:+LVdyRatFS+XO78SGV4I3TCEA0AC7fKEGma+fH+674o= github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= -github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= -github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= -github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5 h1:eD9POs68PHkwrx7hAB78z1cb6PfGq/jyWn3wJywsH1o= github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3NAwwmD4uY/yggRxoEjk/S00MIV3A+H7rrE3i87eYxM= -github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= -github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= -github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= -github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188 h1:+eHOFJl1BaXrQxKX+T06f78590z4qA2ZzBTqahsKSE4= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= -github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= -github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= -github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY= github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= -github.com/golangci/golangci-lint v1.50.1 h1:C829clMcZXEORakZlwpk7M4iDw2XiwxxKaG504SZ9zY= github.com/golangci/golangci-lint v1.50.1/go.mod h1:AQjHBopYS//oB8xs0y0M/dtxdKHkdhl0RvmjUct0/4w= -github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= -github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= -github.com/golangci/misspell v0.3.5 h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo= github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= -github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ= github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= -github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/flatbuffers v2.0.0+incompatible h1:dicJ2oXwypfwUGnB2/TYWYEKiuk9eYQlQO/AnOHl5mI= -github.com/google/go-containerregistry v0.5.1 h1:/+mFTs4AlwsJ/mJe8NDtKb7BxLtbZFpcn8vDsneEkwQ= -github.com/google/go-github/v41 v41.0.0 h1:HseJrM2JFf2vfiZJ8anY2hqBjdfY1Vlj/K27ueww4gg= -github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= -github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4= -github.com/gookit/color v1.5.1 h1:Vjg2VEcdHpwq+oY63s/ksHrgJYCTo0bwWvmmYWdE9fQ= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= -github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 h1:PVRE9d4AQKmbelZ7emNig1+NT27DUmKZn5qXxfio54U= github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= -github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= -github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= -github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q= github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= -github.com/gostaticanalysis/forcetypeassert v0.1.0 h1:6eUflI3DiGusXGK6X7cCcIgVCpZ2CiZ1Q7jl6ZxNV70= github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= -github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk= github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= -github.com/gostaticanalysis/testutil v0.4.0 h1:nhdCmubdmDF6VEatUNjgUZBJKWRqugoISdUv3PPQgHY= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/graph-gophers/graphql-go v1.3.0 h1:Eb9x/q6MFpCLz7jBCiP/WTxjSDrYLR1QY41SORZyNJ0= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 h1:pdN6V1QBWetyv/0+wjACpqVH+eVULgEjkurDLq3goeM= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= -github.com/hanwen/go-fuse/v2 v2.1.1-0.20220112183258-f57e95bda82d h1:ibbzF2InxMOS+lLCphY9PHNKPURDUBNKaG6ErSq8gJQ= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.18.0 h1:R7PPNzTCeN6VuQNDwwhZWJvzCtGSrNpJqfb22h3yH9g= github.com/hashicorp/consul/api v1.18.0/go.mod h1:owRRGJ9M5xReDC5nfT8FTJrNAPbT4NM6p/k+d03q2v4= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.13.0 h1:lce3nFlpv8humJL8rNrrGHYSKc3q+Kxfeg3Ii1m6ZWU= github.com/hashicorp/consul/sdk v0.13.0/go.mod h1:0hs/l5fOVhJy/VdcoaNqUSi2AUs95eF5WKtv+EYIQqE= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-retryablehttp v0.7.0 h1:eu1EI/mbirUgP5C8hVsTNaGZreBDlYiwC1FZWkvQPQ4= github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= -github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= -github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= -github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= -github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= -github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= -github.com/hudl/fargo v1.4.0 h1:ZDDILMbB37UlAVLlWcJ2Iz1XuahZZTDZfdCKeclfq2s= -github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= -github.com/hydrogen18/memlistener v0.0.0-20141126152155-54553eb933fb/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= -github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= -github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639 h1:mV02weKRL81bEnm8A0HT1/CAelMQDBuQIfLw8n+d6xI= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= -github.com/influxdata/influxdb v1.8.3 h1:WEypI1BQFTT4teLM+1qkEcvUi0dAvopAI/ir0vAiBg8= -github.com/influxdata/influxdb-client-go/v2 v2.4.0 h1:HGBfZYStlx3Kqvsv1h2pJixbCl/jhnFtxpKFAv9Tu5k= -github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab h1:HqW4xhhynfjrtEiiSGcQUd6vrK23iMam1FO8rI7mwig= -github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 h1:vilfsDSy7TDxedi9gyBkMvAirat/oRcL0lFdJBf6tdM= -github.com/informalsystems/tm-load-test v1.3.0 h1:FGjKy7vBw6mXNakt+wmNWKggQZRsKkEYpaFk/zR64VA= github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= -github.com/intel/goresctrl v0.2.0 h1:JyZjdMQu9Kl/wLXe9xA6s1X+tF6BWsQPFGJMEeCfWzE= github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= -github.com/ipfs/go-datastore v0.5.1 h1:WkRhLuISI+XPD0uk3OskB0fYFSyqK8Ob5ZYew9Qa1nQ= -github.com/ipfs/go-ds-badger v0.3.0 h1:xREL3V0EH9S219kFFueOYJJTcjgNSZ2HY1iSvN7U1Ro= -github.com/ipfs/go-ds-leveldb v0.5.0 h1:s++MEBbD3ZKc9/8/njrn4flZLnCuY9I79v94gBUNumo= -github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= -github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= -github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= -github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0/go.mod h1:pMCz62A0xJL6I+umB2YTlFRwWXaDFA0jy+5HzGiJjqI= -github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= -github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= -github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= -github.com/j-keck/arping v1.0.2 h1:hlLhuXgQkzIJTZuhMigvG/CuSkaspeaD9hRDk2zuiMI= github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= -github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= -github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= -github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a h1:d4+I1YEKVmWZrgkt6jpXBnLgV2ZjO0YxEtLDdfIZfH4= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e h1:UvSe12bq+Uj2hWd8aOlwPmoZ+CITRFrdit+sDGfAg8U= -github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= -github.com/jhump/gopoet v0.1.0 h1:gYjOPnzHd2nzB37xYQZxj4EIQNpBrBskRqQQ3q4ZgSg= github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= -github.com/jhump/goprotoc v0.5.0 h1:Y1UgUX+txUznfqcGdDef8ZOVlyQvnV0pKWZH08RmZuo= github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= -github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f h1:BNuUg9k2EiJmlMwjoef3e8vZLHplbVw6DrjGFjLL+Yo= github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= -github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= -github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= -github.com/jmoiron/sqlx v1.2.0 h1:41Ip0zITnmWNR/vHV+S4m+VoUivnWY5E4OJfLZjCJMA= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/joefitzgerald/rainbow-reporter v0.1.0 h1:AuMG652zjdzI0YCCnXAqATtRBpGXMcAnrajcaTrSeuo= -github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= -github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= -github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= -github.com/karalabe/usb v0.0.2 h1:M6QQBNxF+CQ8OFvxrT90BA0qBOXymndZnk5q235mFc4= -github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= -github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= -github.com/kataras/iris/v12 v12.0.1/go.mod h1:udK4vLQKkdDqMGJJVd/msuMtN6hpYJhg/lSzuxjhO+U= -github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE= -github.com/kataras/neffos v0.0.10/go.mod h1:ZYmJC07hQPW67eKuzlfY7SO3bC0mw83A3j6im82hfqw= -github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE= -github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d/go.mod h1:NV88laa9UiiDuX9AhMbDPkGYSPugBOV6yTZB1l2K9Z0= -github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= -github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= -github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kisielk/errcheck v1.6.2 h1:uGQ9xI8/pgc9iOoCe7kWQgRE6SBTrCGmTSf0LrEtY7c= github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= -github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= -github.com/kkHAIKE/contextcheck v1.1.3 h1:l4pNvrb8JSwRd51ojtcOxOeHJzHek+MtOyXbaR0uvmw= github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE= -github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.9.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/cpuid v1.2.1 h1:vJi+O/nMdFt0vqm8NZBI6wzALWdA2X+egi0ogNyrC/w= -github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/koron/go-ssdp v0.0.3 h1:JivLMY45N76b4p/vsWGOKewBQu6uf39y8l+AQ7sDKx8= -github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.5 h1:hyz3dwM5QLc1Rfoz4FuWJQG5BN7tc6K1MndAUnGpQr4= -github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= -github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoaGS+Ugg8g= github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= -github.com/labstack/echo/v4 v4.1.11/go.mod h1:i541M3Fj6f76NZtHSj7TXnyM8n2gaodfvfxNnFqi74g= -github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= -github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= -github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= -github.com/ldez/tagliatelle v0.3.1 h1:3BqVVlReVUZwafJUwQ+oxbx2BEX2vUG4Yu/NOfMiKiM= github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= -github.com/leonklingele/grouper v1.1.0 h1:tC2y/ygPbMFSBOs3DcyaEMKnnwH7eYKzohOtRrf0SAg= github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= -github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= -github.com/libp2p/go-libp2p-asn-util v0.2.0 h1:rg3+Os8jbnO5DxkC7K/Utdi+DkY3q/d1/1q+8WeNAsw= -github.com/libp2p/go-libp2p-testing v0.11.0 h1:+R7FRl/U3Y00neyBSM2qgDzqz3HkWH24U9nMlascHL4= -github.com/libp2p/go-mplex v0.7.0 h1:BDhFZdlk5tbr0oyFq/xv/NPGfjbnrsDam1EvutpBDbY= -github.com/libp2p/go-msgio v0.2.0 h1:W6shmB+FeynDrUVl2dgFQvzfBZcXiyqY4VmpQLu9FqU= -github.com/libp2p/go-nat v0.1.0 h1:MfVsH6DLcpa04Xr+p8hmVRG4juse0s3J8HyNWYHffXg= -github.com/libp2p/go-netroute v0.2.0 h1:0FpsbsvuSnAhXFnCY0VLFbJOzaK0VnP0r1QT/o4nWRE= -github.com/libp2p/go-reuseport v0.2.0 h1:18PRvIMlpY6ZK85nIAicSBuXXvrYoSw3dsBAR7zc560= -github.com/libp2p/go-yamux/v3 v3.1.2 h1:lNEy28MBk1HavUAlzKgShp+F6mn/ea1nDYWftZhFW9Q= -github.com/libp2p/zeroconf/v2 v2.2.0 h1:Cup06Jv6u81HLhIj1KasuNM/RHHrJ8T7wOTS4+Tv53Q= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= -github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= -github.com/linxGnu/grocksdb v1.7.10 h1:dz7RY7GnFUA+GJO6jodyxgkUeGMEkPp3ikt9hAcNGEw= -github.com/linxGnu/grocksdb v1.7.10/go.mod h1:0hTf+iA+GOr0jDX4CgIYyJZxqOH9XlBh6KVj8+zmF34= -github.com/lucas-clemente/quic-go v0.28.1 h1:Uo0lvVxWg5la9gflIF9lwa39ONq85Xq2D91YNEIslzU= -github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= -github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= -github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= -github.com/lyft/protoc-gen-star v0.6.1 h1:erE0rdztuaDq3bpGifD95wfoPrSZc95nGA6tbiNYh6M= -github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= -github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= -github.com/maratori/testpackage v1.1.0 h1:GJY4wlzQhuBusMF1oahQCBtUV/AQ/k69IZ68vxaac2Q= github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= -github.com/marstr/guid v1.1.0 h1:/M4H/1G4avsieL6BbUwCOBzulmoeKVP5ux/3mQNnbyI= -github.com/marten-seemann/qtls-go1-16 v0.1.5 h1:o9JrYPPco/Nukd/HpOHMHZoBDXQqoNtUCmny98/1uqQ= -github.com/marten-seemann/qtls-go1-17 v0.1.2 h1:JADBlm0LYiVbuSySCHeY863dNkcpMmDR7s0bLKJeYlQ= -github.com/marten-seemann/qtls-go1-18 v0.1.2 h1:JH6jmzbduz0ITVQ7ShevK10Av5+jBEKAHMntXmIV7kM= -github.com/marten-seemann/qtls-go1-19 v0.1.0 h1:rLFKD/9mp/uq1SYGYuVZhm83wkmU95pK5df3GufyYYU= -github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= -github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= -github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= -github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2 h1:g+4J5sZg6osfvEfkRZxJ1em0VT95/UOZgi/l7zi1/oE= -github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= -github.com/mediocregopher/mediocre-go-lib v0.0.0-20181029021733-cb65787f37ed/go.mod h1:dSsfyI2zABAdhcbvkXqgxOxrCsbYeHCPgrZkku60dSg= -github.com/mediocregopher/radix/v3 v3.3.0/go.mod h1:EmfVyvspXz1uZEyPBMyGK+kjWiKQGvsUt6O3Pj+LDCQ= -github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= -github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517 h1:zpIH83+oKzcpryru8ceC6BxnoG8TBrhgAvRg8obzup0= -github.com/mgechev/revive v1.2.4 h1:+2Hd/S8oO2H0Ikq2+egtNwQsVhAeELHjxjIUFX5ajLI= github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= -github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= -github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= -github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= -github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible h1:aKW/4cBs+yK6gpqU3K/oIwk9Q/XICqd3zOX/UFuvqmk= -github.com/mitchellh/cli v1.1.0 h1:tEElEatulEHDeedTxwckzyYMA5c86fbmNIUL1hBIiTg= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= -github.com/mitchellh/go-wordwrap v1.0.0 h1:6GlHJ/LTGMrIJbwgdqdl2eEH8o+Exx/0m8ir9Gns0u4= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= -github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= -github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f h1:2+myh5ml7lgEU/51gbeLHfKGNfgEQQIWrlbdaOsidbQ= -github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= -github.com/moby/buildkit v0.10.4 h1:FvC+buO8isGpUFZ1abdSLdGHZVqg9sqI4BbFL8tlzP4= github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= -github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/signal v0.6.0 h1:aDpY94H8VlhTGa9sNYUFCFsMZIUh5wm0B6XkIoJj/iY= github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= -github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= -github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= -github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5 h1:0KqC6/sLy7fDpBdybhVkkv4Yz+PmB7c9Dz9z3dLW804= -github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4= -github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= -github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= -github.com/multiformats/go-multistream v0.3.3 h1:d5PZpjwRgVlbwfdTDjife7XszfZd8KYWfROYFlGcR8o= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= -github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76 h1:0xuRacu/Zr+jX+KyLLPPktbwXqyOvnOPUQmMLzX1jxU= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= -github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= -github.com/naoina/go-stringutil v0.1.0 h1:rCUeRUHjBjGTSHl0VC00jUPLz8/F9dDzYI70Hzifhks= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416 h1:shk/vn9oCoOTmwcouEdwIeOtOGA/ELRUw/GwvxwfT+0= -github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= -github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI= -github.com/nats-io/nats-server/v2 v2.5.0 h1:wsnVaaXH9VRSg+A2MVg5Q727/CqxnmPLGFQ3YZYKTQg= -github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= -github.com/nats-io/nats.go v1.12.1 h1:+0ndxwUPz3CmQ2vjbXdkC1fo3FdiOQDim4gl3Mge8Qo= -github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= -github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8= -github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= -github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= -github.com/ncw/swift v1.0.47 h1:4DQRPj35Y41WogBxyhOXlrI37nzGlyEcsforeudyYPQ= -github.com/networkplumbing/go-nft v0.2.0 h1:eKapmyVUt/3VGfhYaDos5yeprm+LPt881UeksmKKZHY= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/nishanths/exhaustive v0.8.3 h1:pw5O09vwg8ZaditDp/nQRqVnrMczSJDxRDJMowvhsrM= github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= -github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= -github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid/v2 v2.1.0 h1:+9lhoxAP56we25tyYETBBY1YLA2SaoLvUFgrP2miPJU= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= -github.com/onsi/ginkgo/v2 v2.1.4 h1:GNapqRSid3zijZ9H77KrgVG4/8KqiyRsxcSxe+7ApXY= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88= github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= -github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39 h1:H7DMc6FAjgwZZi8BRqjrAAHWoqEr5e5L6pS4V0ezet4= -github.com/opencontainers/selinux v1.10.1 h1:09LIPVRP3uuZGQvgR+SgMSNBd1Eb3vlRbGqQpoHsF8w= github.com/opencontainers/selinux v1.10.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= -github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= -github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU= -github.com/openzipkin/zipkin-go v0.2.5 h1:UwtQQx2pyPIgWYHRg+epgdx1/HnBQTgN3/oIYEJTQzU= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= -github.com/ory/dockertest/v3 v3.9.1 h1:v4dkG+dlu76goxMiTT2j8zV7s4oPPEppKT8K8p2f1kY= -github.com/otiai10/copy v1.2.0 h1:HvG945u96iNadPoG2/Ja2+AUJeW5YuFQMixq9yirC+k= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v1.0.0 h1:TJIWdbX0B+kpNagQrjgq8bCMrbhiuX73M2XwgtDMoOI= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= -github.com/otiai10/mint v1.3.1 h1:BCmzIS3n71sGfHB5NMNDB3lHYPz8fWSkCAErHed//qc= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/pact-foundation/pact-go v1.0.4 h1:OYkFijGHoZAYbOIb1LWXrwKQbMMRUv1oQ89blD2Mh2Q= -github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= -github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= -github.com/performancecopilot/speed v3.0.0+incompatible h1:2WnRzIquHa5QxaJKShDkLM+sc0JPuwhXzK8OYOyt3Vg= -github.com/performancecopilot/speed/v4 v4.0.0 h1:VxEDCmdkfbQYDlcr/GC9YoN9PQ6p8ulk9xVsepYy9ZY= -github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 h1:oYW+YCJ1pachXTQmzR3rNLYGGz4g/UgFcjb28p/viDM= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= -github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= -github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= -github.com/pjbgf/sha1cd v0.2.3 h1:uKQP/7QOzNtKYH7UTohZLcjF5/55EnTw0jO/Ru4jZwI= github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/profile v1.6.0 h1:hUDfIISABYI59DyeB3OTay/HxSRwTQ8rB/H83k6r5dM= github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= -github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3 h1:hUmXhbljNFtrH5hzV9kiRoddZ5nfPTq3K0Sb2hYYiqE= github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3/go.mod h1:q5NXNGzqj5uPnVuhGkZfmgHqNUhf15VLi6L9kW0VEc0= -github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4 h1:RHHRCZeaNyBXdYPMjZNH8/XHDBH38TZzw8izrW7dmBE= github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4/go.mod h1:RdR1j20Aj5pB6+fw6Y9Ur7lMHpegTEjY1vc19hEZL40= -github.com/pointlander/peg v1.0.1 h1:mgA/GQE8TeS9MdkU6Xn6iEzBmQUQCNuWD7rHCK6Mjs0= github.com/pointlander/peg v1.0.1/go.mod h1:5hsGDQR2oZI4QoWz0/Kdg3VSVEC31iJw/b7WjqCBGRI= -github.com/polyfloyd/go-errorlint v1.0.5 h1:AHB5JRCjlmelh9RrLxT9sgzpalIwwq4hqE8EkwIwKdY= github.com/polyfloyd/go-errorlint v1.0.5/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= -github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021 h1:0XM1XL/OFFJjXsYXlG30spTkV/E9+gmd5GD1w2HE8xM= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= @@ -1152,292 +461,140 @@ github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= -github.com/quasilyte/go-ruleguard v0.3.18 h1:sd+abO1PEI9fkYennwzHn9kl3nqP6M5vE7FiOzZ+5CE= github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/dsl v0.3.21 h1:vNkC6fC6qMLzCOGbnIHOd5ixUGgTbp3Z4fGnUgULlDA= github.com/quasilyte/go-ruleguard/dsl v0.3.21/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71 h1:CNooiryw5aisadVfzneSZPswRWvnVW8hF1bS/vo8ReI= github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= -github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f h1:6Gtn2i04RD0gVyYf2/IUMTIs+qYleBt4zxDqkLTcu4U= github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= -github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= -github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= -github.com/remyoudompheng/go-dbus v0.0.0-20121104212943-b7232d34b1d5 h1:CvqZS4QYHBRvx7AeFdimd16HCbLlYsvQMcKDACpJW/c= -github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 h1:J8J/cgLDRuqXJnwIrRDBvtl+LLsdg7De74znW/BRRq4= -github.com/remyoudompheng/go-misc v0.0.0-20190427085024-2d6ac652a50e h1:eTWZyPUnHcuGRDiryS/l2I7FfKjbU3IBx3IjqHPxuKU= -github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 h1:xe+mmCnDN82KhC010l3NfYlA8ZbOuzbXAzSYBa6wbMc= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE= -github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= -github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= -github.com/ryancurrah/gomodguard v1.2.4 h1:CpMSDKan0LtNGGhPrvupAoLeObRFjND8/tU1rEOtBp4= github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= -github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= -github.com/ryanuber/columnize v2.1.0+incompatible h1:j1Wcmh8OrK4Q7GXY+V7SVSY8nUWQxHW5TkBe7YUl+2s= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1 h1:ZFfeKAhIQiiOrQaI3/znw0gOmYpO28Tcu1YaqMa/jtQ= github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/sagikazarmark/crypt v0.9.0 h1:fipzMFW34hFUEc4D7fsLQFtE7yElkpgyS2zruedRdZk= github.com/sagikazarmark/crypt v0.9.0/go.mod h1:RnH7sEhxfdnPm1z+XMgSLjWTEIjyK4z2dw6+4vHTMuo= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCLY7gIfzeQaUJ+kppEO5WQG3cL8iE8tGHU= -github.com/sanposhiho/wastedassign/v2 v2.0.6 h1:+6/hQIHKNJAUixEj6EmOngGIisyeI+T3335lYTyxRoA= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= -github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= -github.com/sashamelentyev/usestdlibvars v1.20.0 h1:K6CXjqqtSYSsuyRDDC7Sjn6vTMLiSJa4ZmDkiokoqtw= github.com/sashamelentyev/usestdlibvars v1.20.0/go.mod h1:0GaP+ecfZMXShS0A94CJn6aEuPRILv8h/VuWI9n1ygg= -github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= -github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= -github.com/sclevine/agouti v3.0.0+incompatible h1:8IBJS6PWz3uTlMP3YBIR5f+KAldcGuOeFkFbUWfBgK4= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= -github.com/sclevine/spec v1.2.0 h1:1Jwdf9jSfDl9NVmt8ndHqbTZ7XCCPbh1jI3hkDBHVYA= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= -github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= -github.com/securego/gosec/v2 v2.13.1 h1:7mU32qn2dyC81MH9L2kefnQyRMUarfDER3iQyMHcjYM= github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/serialx/hashring v0.0.0-20190422032157-8b2912629002 h1:ka9QPuQg2u4LGipiZGsgkg3rJCo4iIUCy75FddM0GRQ= -github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= -github.com/shirou/gopsutil/v3 v3.22.9 h1:yibtJhIVEMcdw+tCTbOPiF1VcsuDeTE4utJ8Dm4c5eA= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e h1:MZM7FHLqUHYI0Y/mQAt3d2aYa0SiNms/hFqC9qJYolM= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041 h1:llrF3Fs4018ePo4+G/HV/uQUqEI1HMDjCeOf2V6puPc= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= -github.com/sivchari/containedctx v1.0.2 h1:0hLQKpgC53OVF1VT7CeoFHk9YKstur1XOgfYIc1yrHI= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= -github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= -github.com/sivchari/tenv v1.7.0 h1:d4laZMBK6jpe5PWepxlV9S+LC0yXqvYHiq8E6ceoVVE= github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= -github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= -github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa h1:YJfZp12Z3AFhSBeXOlv4BO55RMwPn2NoQeDsrdWnBtY= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= -github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ= -github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= -github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4 h1:Gb2Tyox57NRNuZ2d3rmvB3pcmbu7O1RS3m8WRx7ilrg= -github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= -github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/streadway/amqp v1.0.0 h1:kuuDrUJFZL1QYL9hUNuCxNObNzB0bV/ZG5jV3RWAQgo= -github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e h1:mOtuXaRAbVZsxAHVdPR3IjfmN8T1h2iczJLynhLybf8= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344 h1:m+8fKfQwCAy1QjzINvKe/pYtLjo2dl59x2w9YSEJxuY= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= -github.com/tchap/go-patricia v2.2.6+incompatible h1:JvoDL7JSoIP2HDE8AbDH3zC8QBPxmzYe32HHy5yQ+Ck= -github.com/tdakkota/asciicheck v0.1.1 h1:PKzG7JUTUmVspQTDqtkX9eSiLGossXTybutHwTXuO0A= github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= -github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= -github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= -github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw= github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= -github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 h1:kl4KhGNsJIbDHS9/4U9yQo1UcPQM0kOMJHn29EoH/Ro= github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= -github.com/timonwong/loggercheck v0.9.3 h1:ecACo9fNiHxX4/Bc02rW2+kaJIAMAes7qJ7JKxt0EZI= github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tomarrell/wrapcheck/v2 v2.7.0 h1:J/F8DbSKJC83bAvC6FoZaRjZiZ/iKoueSdrEkmGeacA= github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= -github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= -github.com/tonistiigi/fsutil v0.0.0-20220115021204-b19f7f9cb274 h1:wbyZxD6IPFp0sl5uscMOJRsz5UKGFiNiD16e+MVfKZY= -github.com/tonistiigi/go-actions-cache v0.0.0-20220404170428-0bdeb6e1eac7 h1:8eY6m1mjgyB8XySUR7WvebTM8D/Vs86jLJzD/Tw7zkc= -github.com/tonistiigi/go-archvariant v1.0.0 h1:5LC1eDWiBNflnTF1prCiX09yfNHIxDC/aukdhCdTyb0= -github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/v/cCndK0AMpt1wiVFb/YYmqB3/QG0= -github.com/tonistiigi/vt100 v0.0.0-20210615222946-8066bb97264f h1:DLpt6B5oaaS8jyXHa9VA4rrZloBVPVXeCtrOsrFauxc= -github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c h1:u6SKchux2yDvFQnDHS3lPnIRmfVJ5Sxy3ao2SIdysLQ= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= -github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= -github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= -github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI= github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= -github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= -github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= -github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= -github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= -github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/valyala/quicktemplate v1.7.0 h1:LUPTJmlVcb46OOUY3IeD9DojFpAVbsG+5WFTcjMJzCM= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= -github.com/vbatts/tar-split v0.11.2 h1:Via6XqJr0hceW4wff3QRzD5gAk/tatMw/4ZA7cTlIME= -github.com/vektra/mockery/v2 v2.14.0 h1:KZ1p5Hrn8tiY+LErRMr14HHle6khxo+JKOXLBW/yfqs= github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= -github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA= github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= -github.com/willf/bitset v1.1.11 h1:N7Z7E9UvjW+sGsEl7k/SJrvY2reP1A07MrGuCjIOjRE= -github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= -github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= +github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= -github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= -github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= -github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= -github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= -github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= -github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= -github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI= -github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE= -github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1:ERexzlUfuTvpE74urLSbIQW0Z/6hF9t8U4NsJLaioAY= github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= -gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= -go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489 h1:1JFLBqwIgdyHN1ZtgjTBwO+blA6gVOmZurpiMEsETKo= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.6 h1:Cy2qx3npLcYqTKqGJzMypnMv2tiRyifZJ17BlWIWA7A= go.etcd.io/etcd/api/v3 v3.5.6/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.6 h1:TXQWYceBKqLp4sa87rcPs11SXxUA/mHwH975v+BDvLU= go.etcd.io/etcd/client/pkg/v3 v3.5.6/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v2 v2.305.6 h1:fIDR0p4KMjw01MJMfUIDWdQbjo06PD6CeYM5z4EHLi0= go.etcd.io/etcd/client/v2 v2.305.6/go.mod h1:BHha8XJGe8vCIBfWBpbBLVZ4QjOIlfoouvOwydu63E0= go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/client/v3 v3.5.6 h1:coLs69PWCXE9G4FKquzNaSHrRyMCAXwF+IX1tAPVO8E= go.etcd.io/etcd/client/v3 v3.5.6/go.mod h1:f6GRinRMCsFVv9Ht42EyY7nfsVGwrNO0WEoS2pRKzQk= -go.etcd.io/etcd/pkg/v3 v3.5.0 h1:ntrg6vvKRW26JRmHTE0iNlDgYK6JX3hg/4cD62X0ixk= go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0 h1:kw2TmO3yFTgE+F0mdKkG7xMxkit2duBDa2Hu6D/HMlw= go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0 h1:jk8D/lwGEDlQU9kZXUFMSANkE22Sg5+mW27ip8xcF9E= go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.etcd.io/gofail v0.1.0 h1:XItAMIhOojXFQMgrxjnd2EIIHun/d5qL0Pf7FzVTkFg= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= -go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 h1:syAz40OyelLZo42+3U68Phisvrx4qh+4wpdZw7eUUdY= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= -go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.29.0 h1:Wjp9vsVSIEyvdiaECfqxY9xBqQ7JaSCGtvHgR4doXZk= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0 h1:SLme4Porm+UwX0DdHMxlwRt7FzPSE0sys81bet2o0pU= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= -go.opentelemetry.io/otel v1.11.0 h1:kfToEGMDq6TrVrJ9Vht84Y8y9enykSZzDDZglV0kIEk= go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= -go.opentelemetry.io/otel/exporters/jaeger v1.4.1 h1:VHCK+2yTZDqDaVXj7JH2Z/khptuydo6C0ttBh2bxAbc= -go.opentelemetry.io/otel/exporters/otlp v0.20.0 h1:PTNgq9MRmQqqJY0REVbZFvwkYOA85vbdQU/nVfxDyqg= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.4.1 h1:imIM3vRDMyZK1ypQlQlO+brE22I9lRhJsBDXpDWjlz8= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.4.1/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.4.1 h1:WPpPsAAs8I2rA47v5u0558meKmmwm1Dj99ZbqCV8sZ8= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.4.1/go.mod h1:o5RW5o2pKpJLD5dNTCmjF1DorYwMeFJmb/rKr5sLaa8= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1 h1:AxqDiGk8CorEXStMDZF5Hz9vo9Z7ZZ+I5m8JRl/ko40= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1/go.mod h1:c6E4V3/U+miqjs/8l950wggHGL1qzlp0Ypj9xoGrPqo= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1 h1:8qOago/OqoFclMUUj/184tZyRdDZFpcejSjbk5Jrl6Y= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1/go.mod h1:VwYo0Hak6Efuy0TXsZs8o1hnV3dHDPNtDbycG0hI8+M= -go.opentelemetry.io/otel/internal/metric v0.27.0 h1:9dAVGAfFiiEq5NVB9FUJ5et+btbDQAUIJehJ+ikyryk= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/metric v0.27.0 h1:HhJPsGhJoKRSegPQILFbODU56NS/L1UE4fS1sC5kIwQ= -go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= -go.opentelemetry.io/otel/sdk v1.4.1 h1:J7EaW71E0v87qflB4cDolaqq3AcujGrtyIPGQoZOB0Y= go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0 h1:c5VRjxCXdQlx1HjzwGdQHzZaVI82b5EbBgOu2ljD92g= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0 h1:7ao1wpzHRVKf0OQ7GIxiQJA6X7DLX9o14gmVon7mMK8= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= -go.opentelemetry.io/otel/trace v1.11.0 h1:20U/Vj42SX+mASlXLmSGBg6jpI1jQtv682lZtTAOVFI= go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= go.opentelemetry.io/proto/otlp v0.12.0/go.mod h1:TsIjwGWIx5VFYv9KGVlOpxoBl5Dy+63SUguV7GGvlSQ= -go.opentelemetry.io/proto/otlp v0.15.0 h1:h0bKrvdrT/9sBwEJ6iWUqT/N/xPcS66bL4u3isneJ6w= -go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= @@ -1451,31 +608,20 @@ golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20200513190911-00229845015e/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= -golang.org/x/exp v0.0.0-20221019170559-20944726eadf/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= golang.org/x/exp v0.0.0-20221205204356-47842c84f3db/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= -golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91 h1:Ic/qN6TEifvObMGQy72k0n1LlJr7DjWWEi+MOsDOiSk= golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= -golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -1483,14 +629,10 @@ golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/oauth2 v0.3.0/go.mod h1:rQrIauxkUhJ6CuwEXwymO2/eh4xz2ZWF1nBkcxS+tGk= -golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1499,11 +641,8 @@ golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210909193231-528a39cd75f3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1523,20 +662,16 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190916130336-e45ffcd953cc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1566,103 +701,52 @@ golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4 golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b h1:Qh4dB5D/WpoUUp3lSod7qgoyEHbDGPUWjIbnqdqqe1k= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8 h1:Cpp2P6TPjujNoC5M2KHY6g7wfyLYfIWRZaSdIKfDasA= -google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20220329172620-7be39ac1afc7/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230202175211-008b39050e57/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/airbrake/gobrake.v2 v2.0.9 h1:7z2uVWwn7oVeeugY1DtlPAy5H+KYgB1KeKTnqjNatLo= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= +google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.27 h1:kJdccidYzt3CaHD1crCFTS1hxyhSi059NhOFUf03YFo= -gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= -gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 h1:OAj3g0cR6Dx/R07QgQe8wkA9RNjB2u4i700xBkIT4e0= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= -gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= -gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= -gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA= honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= -k8s.io/api v0.22.5 h1:xk7C+rMjF/EGELiD560jdmwzrB788mfcHiNbMQLIVI8= k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= -k8s.io/apimachinery v0.22.5 h1:cIPwldOYm1Slq9VLBRPtEYpyhjIm1C6aAMAoENuvN9s= k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= -k8s.io/apiserver v0.22.5 h1:71krQxCUz218ecb+nPhfDsNB6QgP1/4EMvi1a2uYBlg= k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= -k8s.io/client-go v0.22.5 h1:I8Zn/UqIdi2r02aZmhaJ1hqMxcpfJ3t5VqvHtctHYFo= k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= -k8s.io/code-generator v0.19.7 h1:kM/68Y26Z/u//TFc1ggVVcg62te8A2yQh57jBfD0FWQ= -k8s.io/component-base v0.22.5 h1:U0eHqZm7mAFE42hFwYhY6ze/MmVaW00JpMrzVsQmzYE= k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= -k8s.io/cri-api v0.25.0 h1:INwdXsCDSA/0hGNdPxdE2dQD6ft/5K1EaKXZixvSQxg= k8s.io/cri-api v0.25.0/go.mod h1:J1rAyQkSJ2Q6I+aBMOVgg2/cbbebso6FNa0UagiR0kc= -k8s.io/gengo v0.0.0-20201113003025-83324d819ded h1:JApXBKYyB7l9xx+DK7/+mFjC7A9Bt5A93FPvFD0HIFE= k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= -k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c h1:jvamsI1tn9V0S8jicyX82qaFC0H/NKxv2e5mbqsgR80= k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= -k8s.io/kubernetes v1.13.0 h1:qTfB+u5M92k2fCCCVP2iuhgwwSOv1EkAkvQY1tQODD8= k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b h1:wxEMGetGMur3J1xuGLQY7GEQYg9bZxKn3tKo5k/eYcs= k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= -mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= -mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= -mvdan.cc/unparam v0.0.0-20220706161116-678bad134442 h1:seuXWbRB1qPrS3NQnHmFKLJLtskWyueeIzmLXghMGgk= mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= -rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= -rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= -rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22 h1:fmRfl9WJ4ApJn7LxNuED4m0t18qivVQOxP6aAYG9J6c= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2 h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3nu+sPzynno= sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= diff --git a/relayer/chains/cosmos/provider.go b/relayer/chains/cosmos/provider.go index 4fbea4d0e..505b26782 100644 --- a/relayer/chains/cosmos/provider.go +++ b/relayer/chains/cosmos/provider.go @@ -35,28 +35,29 @@ var ( const cometEncodingThreshold = "v0.37.0-alpha" type CosmosProviderConfig struct { - KeyDirectory string `json:"key-directory" yaml:"key-directory"` - Key string `json:"key" yaml:"key"` - ChainName string `json:"-" yaml:"-"` - ChainID string `json:"chain-id" yaml:"chain-id"` - RPCAddr string `json:"rpc-addr" yaml:"rpc-addr"` - AccountPrefix string `json:"account-prefix" yaml:"account-prefix"` - KeyringBackend string `json:"keyring-backend" yaml:"keyring-backend"` - GasAdjustment float64 `json:"gas-adjustment" yaml:"gas-adjustment"` - GasPrices string `json:"gas-prices" yaml:"gas-prices"` - MinGasAmount uint64 `json:"min-gas-amount" yaml:"min-gas-amount"` - MaxGasAmount uint64 `json:"max-gas-amount" yaml:"max-gas-amount"` - Debug bool `json:"debug" yaml:"debug"` - Timeout string `json:"timeout" yaml:"timeout"` - BlockTimeout string `json:"block-timeout" yaml:"block-timeout"` - OutputFormat string `json:"output-format" yaml:"output-format"` - SignModeStr string `json:"sign-mode" yaml:"sign-mode"` - ExtraCodecs []string `json:"extra-codecs" yaml:"extra-codecs"` - Modules []module.AppModuleBasic `json:"-" yaml:"-"` - Slip44 *int `json:"coin-type" yaml:"coin-type"` - SigningAlgorithm string `json:"signing-algorithm" yaml:"signing-algorithm"` - Broadcast provider.BroadcastMode `json:"broadcast-mode" yaml:"broadcast-mode"` - MinLoopDuration time.Duration `json:"min-loop-duration" yaml:"min-loop-duration"` + KeyDirectory string `json:"key-directory" yaml:"key-directory"` + Key string `json:"key" yaml:"key"` + ChainName string `json:"-" yaml:"-"` + ChainID string `json:"chain-id" yaml:"chain-id"` + RPCAddr string `json:"rpc-addr" yaml:"rpc-addr"` + AccountPrefix string `json:"account-prefix" yaml:"account-prefix"` + KeyringBackend string `json:"keyring-backend" yaml:"keyring-backend"` + GasAdjustment float64 `json:"gas-adjustment" yaml:"gas-adjustment"` + GasPrices string `json:"gas-prices" yaml:"gas-prices"` + MinGasAmount uint64 `json:"min-gas-amount" yaml:"min-gas-amount"` + MaxGasAmount uint64 `json:"max-gas-amount" yaml:"max-gas-amount"` + Debug bool `json:"debug" yaml:"debug"` + Timeout string `json:"timeout" yaml:"timeout"` + BlockTimeout string `json:"block-timeout" yaml:"block-timeout"` + OutputFormat string `json:"output-format" yaml:"output-format"` + SignModeStr string `json:"sign-mode" yaml:"sign-mode"` + ExtraCodecs []string `json:"extra-codecs" yaml:"extra-codecs"` + Modules []module.AppModuleBasic `json:"-" yaml:"-"` + Slip44 *int `json:"coin-type" yaml:"coin-type"` + SigningAlgorithm string `json:"signing-algorithm" yaml:"signing-algorithm"` + Broadcast provider.BroadcastMode `json:"broadcast-mode" yaml:"broadcast-mode"` + MinLoopDuration time.Duration `json:"min-loop-duration" yaml:"min-loop-duration"` + ExtensionOptions []provider.ExtensionOption `json:"extension-options" yaml:"extension-options"` } func (pc CosmosProviderConfig) Validate() error { diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index d8caf3665..e10af47ee 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -20,6 +20,7 @@ import ( tmtypes "github.com/cometbft/cometbft/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" @@ -38,6 +39,7 @@ import ( ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" strideicqtypes "github.com/cosmos/relayer/v2/relayer/chains/cosmos/stride" + "github.com/cosmos/relayer/v2/relayer/ethermint" "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "google.golang.org/grpc/codes" @@ -1346,6 +1348,10 @@ func (cc *CosmosProvider) PrepareFactory(txf tx.Factory) (tx.Factory, error) { txf = txf.WithGas(cc.PCfg.MinGasAmount) } + txf, err = cc.SetWithExtensionOptions(txf) + if err != nil { + return tx.Factory{}, err + } return txf, nil } @@ -1368,6 +1374,35 @@ func (cc *CosmosProvider) AdjustEstimatedGas(gasUsed uint64) (uint64, error) { return uint64(gas), nil } +// SetWithExtensionOptions sets the dynamic fee extension options on the given +// transaction factory using the configuration options from the CosmosProvider. +// The function creates an extension option for each configuration option and +// serializes it into a byte slice before adding it to the list of extension +// options. The function returns the updated transaction factory with the new +// extension options or an error if the serialization fails or an invalid option +// value is encountered. +func (cc *CosmosProvider) SetWithExtensionOptions(txf tx.Factory) (tx.Factory, error) { + extOpts := make([]*types.Any, 0, len(cc.PCfg.ExtensionOptions)) + for _, opt := range cc.PCfg.ExtensionOptions { + max, ok := sdk.NewIntFromString(opt.Value) + if !ok { + return txf, fmt.Errorf("invalid opt value") + } + extensionOption := ethermint.ExtensionOptionDynamicFeeTx{ + MaxPriorityPrice: max, + } + extBytes, err := extensionOption.Marshal() + if err != nil { + return txf, err + } + extOpts = append(extOpts, &types.Any{ + TypeUrl: "/ethermint.types.v1.ExtensionOptionDynamicFeeTx", + Value: extBytes, + }) + } + return txf.WithExtensionOptions(extOpts...), nil +} + // CalculateGas simulates a tx to generate the appropriate gas settings before broadcasting a tx. func (cc *CosmosProvider) CalculateGas(ctx context.Context, txf tx.Factory, msgs ...sdk.Msg) (txtypes.SimulateResponse, uint64, error) { keyInfo, err := cc.Keybase.Key(cc.PCfg.Key) diff --git a/relayer/chains/cosmos/tx_test.go b/relayer/chains/cosmos/tx_test.go index 198622619..a582adc54 100644 --- a/relayer/chains/cosmos/tx_test.go +++ b/relayer/chains/cosmos/tx_test.go @@ -5,24 +5,16 @@ import ( "math" "testing" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" + "github.com/cosmos/relayer/v2/relayer/ethermint" + "github.com/cosmos/relayer/v2/relayer/provider" "github.com/stretchr/testify/require" ) -type mockAccountSequenceMismatchError struct { - Expected uint64 - Actual uint64 -} - -func (err mockAccountSequenceMismatchError) Error() string { - return fmt.Sprintf("account sequence mismatch, expected %d, got %d: incorrect account sequence", err.Expected, err.Actual) -} - -func TestHandleAccountSequenceMismatchError(t *testing.T) { - p := &CosmosProvider{} - p.handleAccountSequenceMismatchError(mockAccountSequenceMismatchError{Actual: 9, Expected: 10}) - require.Equal(t, p.nextAccountSeq, uint64(10)) -} - func TestCosmosProvider_AdjustEstimatedGas(t *testing.T) { testCases := []struct { name string @@ -82,3 +74,75 @@ func TestCosmosProvider_AdjustEstimatedGas(t *testing.T) { }) } } + +type mockAccountSequenceMismatchError struct { + Expected uint64 + Actual uint64 +} + +func (err mockAccountSequenceMismatchError) Error() string { + return fmt.Sprintf("account sequence mismatch, expected %d, got %d: incorrect account sequence", err.Expected, err.Actual) +} + +func TestHandleAccountSequenceMismatchError(t *testing.T) { + p := &CosmosProvider{} + p.handleAccountSequenceMismatchError(mockAccountSequenceMismatchError{Actual: 9, Expected: 10}) + require.Equal(t, p.nextAccountSeq, uint64(10)) +} + +type mockTxConfig struct { + legacytx.StdTxConfig + txBuilder *mockTxBuilder +} + +func (cfg mockTxConfig) NewTxBuilder() client.TxBuilder { + if cfg.txBuilder == nil { + cfg.txBuilder = &mockTxBuilder{ + TxBuilder: cfg.StdTxConfig.NewTxBuilder(), + } + } + return cfg.txBuilder +} + +type mockTxBuilder struct { + client.TxBuilder + extOptions []*types.Any +} + +func (b *mockTxBuilder) SetExtensionOptions(extOpts ...*types.Any) { + b.extOptions = extOpts +} + +func TestSetWithExtensionOptions(t *testing.T) { + cc := &CosmosProvider{PCfg: CosmosProviderConfig{ + ExtensionOptions: []provider.ExtensionOption{ + {Value: "1000000000"}, + {Value: "2000000000"}, + }, + }} + txf := tx.Factory{}. + WithChainID("chainID"). + WithTxConfig(mockTxConfig{}) + updatedTxf, err := cc.SetWithExtensionOptions(txf) + require.NoError(t, err) + txb, err := updatedTxf.BuildUnsignedTx() + require.NoError(t, err) + extOptions := txb.(*mockTxBuilder).extOptions + actualNumExtOptions := len(extOptions) + expectedNumExtOptions := len(cc.PCfg.ExtensionOptions) + require.Equal(t, expectedNumExtOptions, actualNumExtOptions) + // Check that each extension option was added with the correct type URL and value + for i, opt := range cc.PCfg.ExtensionOptions { + expectedTypeURL := "/ethermint.types.v1.ExtensionOptionDynamicFeeTx" + max, ok := sdk.NewIntFromString(opt.Value) + require.True(t, ok) + expectedValue, err := (ðermint.ExtensionOptionDynamicFeeTx{ + MaxPriorityPrice: max, + }).Marshal() + require.NoError(t, err) + actualTypeURL := extOptions[i].TypeUrl + actualValue := extOptions[i].Value + require.Equal(t, expectedTypeURL, actualTypeURL) + require.Equal(t, expectedValue, actualValue) + } +} diff --git a/relayer/chains/penumbra/provider.go b/relayer/chains/penumbra/provider.go index 036d059f2..92918b3d0 100644 --- a/relayer/chains/penumbra/provider.go +++ b/relayer/chains/penumbra/provider.go @@ -37,27 +37,28 @@ var ( const cometEncodingThreshold = "v0.37.0-alpha" type PenumbraProviderConfig struct { - KeyDirectory string `json:"key-directory" yaml:"key-directory"` - Key string `json:"key" yaml:"key"` - ChainName string `json:"-" yaml:"-"` - ChainID string `json:"chain-id" yaml:"chain-id"` - RPCAddr string `json:"rpc-addr" yaml:"rpc-addr"` - AccountPrefix string `json:"account-prefix" yaml:"account-prefix"` - KeyringBackend string `json:"keyring-backend" yaml:"keyring-backend"` - GasAdjustment float64 `json:"gas-adjustment" yaml:"gas-adjustment"` - GasPrices string `json:"gas-prices" yaml:"gas-prices"` - MinGasAmount uint64 `json:"min-gas-amount" yaml:"min-gas-amount"` - MaxGasAmount uint64 `json:"max-gas-amount" yaml:"max-gas-amount"` - Debug bool `json:"debug" yaml:"debug"` - Timeout string `json:"timeout" yaml:"timeout"` - BlockTimeout string `json:"block-timeout" yaml:"block-timeout"` - OutputFormat string `json:"output-format" yaml:"output-format"` - SignModeStr string `json:"sign-mode" yaml:"sign-mode"` - ExtraCodecs []string `json:"extra-codecs" yaml:"extra-codecs"` - Modules []module.AppModuleBasic `json:"-" yaml:"-"` - Slip44 int `json:"coin-type" yaml:"coin-type"` - Broadcast provider.BroadcastMode `json:"broadcast-mode" yaml:"broadcast-mode"` - MinLoopDuration time.Duration `json:"min-loop-duration" yaml:"min-loop-duration"` + KeyDirectory string `json:"key-directory" yaml:"key-directory"` + Key string `json:"key" yaml:"key"` + ChainName string `json:"-" yaml:"-"` + ChainID string `json:"chain-id" yaml:"chain-id"` + RPCAddr string `json:"rpc-addr" yaml:"rpc-addr"` + AccountPrefix string `json:"account-prefix" yaml:"account-prefix"` + KeyringBackend string `json:"keyring-backend" yaml:"keyring-backend"` + GasAdjustment float64 `json:"gas-adjustment" yaml:"gas-adjustment"` + GasPrices string `json:"gas-prices" yaml:"gas-prices"` + MinGasAmount uint64 `json:"min-gas-amount" yaml:"min-gas-amount"` + MaxGasAmount uint64 `json:"max-gas-amount" yaml:"max-gas-amount"` + Debug bool `json:"debug" yaml:"debug"` + Timeout string `json:"timeout" yaml:"timeout"` + BlockTimeout string `json:"block-timeout" yaml:"block-timeout"` + OutputFormat string `json:"output-format" yaml:"output-format"` + SignModeStr string `json:"sign-mode" yaml:"sign-mode"` + ExtraCodecs []string `json:"extra-codecs" yaml:"extra-codecs"` + Modules []module.AppModuleBasic `json:"-" yaml:"-"` + Slip44 int `json:"coin-type" yaml:"coin-type"` + Broadcast provider.BroadcastMode `json:"broadcast-mode" yaml:"broadcast-mode"` + MinLoopDuration time.Duration `json:"min-loop-duration" yaml:"min-loop-duration"` + ExtensionOptions []provider.ExtensionOption `json:"extension-options" yaml:"extension-options"` } func (pc PenumbraProviderConfig) Validate() error { diff --git a/relayer/codecs/ethermint/codec.go b/relayer/codecs/ethermint/codec.go index afb1a7ece..65f4df8b9 100644 --- a/relayer/codecs/ethermint/codec.go +++ b/relayer/codecs/ethermint/codec.go @@ -22,7 +22,7 @@ func RegisterInterfaces(registry codectypes.InterfaceRegistry) { &EthAccount{}, ) registry.RegisterImplementations( - (*tx.ExtensionOptionI)(nil), + (*tx.TxExtensionOptionI)(nil), &ExtensionOptionsWeb3Tx{}, ðermint.ExtensionOptionDynamicFeeTx{}, ) diff --git a/relayer/provider/provider.go b/relayer/provider/provider.go index ec6239c8c..0c3bf3d79 100644 --- a/relayer/provider/provider.go +++ b/relayer/provider/provider.go @@ -394,8 +394,8 @@ type ChainProvider interface { asyncCallback func(*RelayerTxResponse, error), ) error - MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayeeAddr string) (RelayerMessage,error) - + MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayeeAddr string) (RelayerMessage, error) + ChainName() string ChainId() string @@ -566,3 +566,8 @@ func (h TendermintIBCHeader) TMHeader() (*tendermint.Header, error) { TrustedValidators: trustedVals, }, nil } + +type ExtensionOption struct { + Type string `json:"type"` + Value string `json:"value"` +} From b4653ddf77a6d1c07c14db9d13af9c6e3bc4ebfe Mon Sep 17 00:00:00 2001 From: Justin Tieri <37750742+jtieri@users.noreply.github.com> Date: Thu, 29 Jun 2023 16:12:14 -0500 Subject: [PATCH 10/58] feat: support localhost ibc (#1191) * WIP: testing localhost ibc client * WIP: localhost ibc support * WIP: debugging channel handshake correlation bug * WIP: debugging localhost IBC * debugging failed ibc transfers * chore: remove debug output * fix: get acks working + cleanup localhost data handling * test: add additional assertions, debug failing timeouts * fix: remove redundant chankey assignment * fix: update to latest interchaintest commit + fix test * fix: hack to get ordered channels working on localhost * test: implement ica test case for localhost * fix: update reverted Go version * test: fix flaky scenario e2e test * fix: address suggestions from code review --- go.work.sum | 200 +++++- interchaintest/go.mod | 95 ++- interchaintest/go.sum | 676 ++++-------------- interchaintest/localhost_client_test.go | 472 ++++++++++++ interchaintest/misbehaviour_test.go | 27 +- interchaintest/relayer.go | 17 +- interchaintest/relayer_factory.go | 5 - .../chains/cosmos/cosmos_chain_processor.go | 31 +- relayer/chains/cosmos/msg.go | 3 +- relayer/chains/cosmos/tx.go | 25 +- relayer/processor/message_processor.go | 77 +- relayer/processor/path_end_runtime.go | 35 + relayer/processor/path_processor.go | 136 ++++ relayer/processor/path_processor_internal.go | 5 +- relayer/processor/types_internal.go | 10 + relayer/provider/provider.go | 1 - 16 files changed, 1155 insertions(+), 660 deletions(-) create mode 100644 interchaintest/localhost_client_test.go diff --git a/go.work.sum b/go.work.sum index 6dc7e5ff5..c9bb32c60 100644 --- a/go.work.sum +++ b/go.work.sum @@ -131,19 +131,25 @@ cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27 cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= -cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff h1:P1ialzTepD1oxdNPYc5N8Eggq3RdejZq3cJs8YYMs9Y= -cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff/go.mod h1:AKzx6Mb544LjJ9RHmGFHjY9rEOLiUAi8I0F727TR0dY= github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= +github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/CosmWasm/wasmd v0.40.0-rc.1/go.mod h1:uacdue6EGn9JA1TqBNHB3iCe4PCIChuFT23AzIl2VME= +github.com/CosmWasm/wasmvm v1.2.3/go.mod h1:vW/E3h8j9xBQs9bCoijDuawKo9kCtxOaS8N8J7KFtkc= +github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= @@ -151,65 +157,105 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim v0.9.4/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= +github.com/alecthomas/participle/v2 v2.0.0-alpha7/go.mod h1:NumScqsC42o9x+dGj8/YqsIfhrIQjFEOFovxotbBirA= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= +github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= +github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= +github.com/bradleyfalzon/ghinstallation/v2 v2.0.4/go.mod h1:B40qPqJxWE0jDZgOR1JmaMy+4AY1eBP+IByOvqyAKp0= github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= +github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= +github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd/v3 v3.1.0/go.mod h1:6qgPBMXjATAdD/VefbRP9NoSLKjbB4LCoA7gN4LpHs4= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677/go.mod h1:890yq1fUb9b6dGNwssgeUO5vQV9qfXnCPxAJhBQfXw0= +github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= +github.com/containerd/cgroups v1.0.4/go.mod h1:nLNQtsF7Sl2HxNebu77i1R0oDlhiTG+kO4JTrUzo6IA= github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= -github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= github.com/containerd/go-cni v1.1.6/go.mod h1:BWtoWl5ghVymxu6MBjg79W9NZrCRyHIdUtk4cauMe34= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= github.com/containerd/imgcrypt v1.1.4/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO8j/tSUpgxvo= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= github.com/containernetworking/cni v1.1.1/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= @@ -218,24 +264,37 @@ github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B github.com/containers/ocicrypt v1.1.3/go.mod h1:xpdkbVAuaH3WzbEabUd5yDsl9SwJA5pABH85425Es2g= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32/go.mod h1:kwMlEC4wWvB48zAShGKVqboJL6w4zCLesaNQ3YLU2BQ= github.com/cosmos/cosmos-sdk v0.47.0/go.mod h1:FTtZbqiHCZ2vun9WrPq6qLQafNKkAuIhLAxzLjr2TiI= -github.com/cosmos/cosmos-sdk v0.47.2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= -github.com/cosmos/cosmos-sdk v0.47.3 h1:r0hGmZoAzP2D+MaPaFGHwAaTdFQq3pNpHaUp1BsffbM= -github.com/cosmos/cosmos-sdk v0.47.3/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= +github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= +github.com/cucumber/common/gherkin/go/v22 v22.0.0/go.mod h1:3mJT10B2GGn3MvVPd3FwR7m2u4tLhSRhWUqJU4KN4Fg= +github.com/cucumber/common/messages/go/v17 v17.1.1/go.mod h1:bpGxb57tDE385Rb2EohgUadLkAbhoC4IyCFi89u/JQI= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= +github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= +github.com/dgraph-io/badger v1.6.2/go.mod h1:JW2yswe3V058sS0kZ2h/AXeDSqFjxnZcRrVH//y2UQE= +github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= +github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= @@ -249,11 +308,21 @@ github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= +github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/flynn/noise v1.0.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61/go.mod h1:Q0X6pkwTILDlzrGEckF6HKjXe48EgsY/l7K7vhY4MW8= +github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= +github.com/gdamore/tcell/v2 v2.6.0/go.mod h1:be9omFATkdr0D9qewWW3d+MEvl5dha+Etb5y65J2H8Y= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/getsentry/sentry-go v0.17.0/go.mod h1:B82dxtBvxG0KaPD8/hfSV+VcHD+Lg/xUS4JuQn1P4cM= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= @@ -273,12 +342,14 @@ github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= @@ -290,10 +361,12 @@ github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3 github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= @@ -307,8 +380,12 @@ github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPP github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/go-github/v41 v41.0.0/go.mod h1:XgmCA5H323A9rtgExdTcnDkcqp6S30AVACCBDOonIxg= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= @@ -324,6 +401,7 @@ github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3 github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= @@ -331,6 +409,7 @@ github.com/hashicorp/consul/api v1.18.0/go.mod h1:owRRGJ9M5xReDC5nfT8FTJrNAPbT4N github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.13.0/go.mod h1:0hs/l5fOVhJy/VdcoaNqUSi2AUs95eF5WKtv+EYIQqE= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= @@ -346,12 +425,28 @@ github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/ github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= +github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= +github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= +github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/ipfs/go-datastore v0.5.1/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= +github.com/ipfs/go-ds-badger v0.3.0/go.mod h1:1ke6mXNqeV8K3y5Ak2bAA0osoTfmxUdupVCGm4QUIek= +github.com/ipfs/go-ds-leveldb v0.5.0/go.mod h1:d3XG9RUDzQ6V4SHi8+Xgj9j1XuEk1z82lquxrVbml/Q= +github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= +github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= +github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= @@ -367,28 +462,55 @@ github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhB github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/koron/go-ssdp v0.0.3/go.mod h1:b2MxI6yh02pKrsyNoQUsk4+YNikaGhe4894J+Q5lDvA= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= +github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= +github.com/libp2p/go-libp2p-asn-util v0.2.0/go.mod h1:WoaWxbHKBymSN41hWSq/lGKJEca7TNm58+gGJi2WsLI= +github.com/libp2p/go-libp2p-testing v0.11.0/go.mod h1:qG4sF27dfKFoK9KlVzK2y52LQKhp0VEmLjV5aDqr1Hg= +github.com/libp2p/go-mplex v0.7.0/go.mod h1:rW8ThnRcYWft/Jb2jeORBmPd6xuG3dGxWN/W168L9EU= +github.com/libp2p/go-msgio v0.2.0/go.mod h1:dBVM1gW3Jk9XqHkU4eKdGvVHdLa51hoGfll6jMJMSlY= +github.com/libp2p/go-nat v0.1.0/go.mod h1:X7teVkwRHNInVNWQiO/tAiAVRwSr5zoRz4YSTC3uRBM= +github.com/libp2p/go-netroute v0.2.0/go.mod h1:Vio7LTzZ+6hoT4CMZi5/6CpY3Snzh2vgZhWgxMNwlQI= +github.com/libp2p/go-reuseport v0.2.0/go.mod h1:bvVho6eLMm6Bz5hmU0LYN3ixd3nPPvtIlaURZZgOY4k= +github.com/libp2p/go-yamux/v3 v3.1.2/go.mod h1:jeLEQgLXqE2YqX1ilAClIfCMDY+0uXQUKmmb/qp0gT4= +github.com/libp2p/zeroconf/v2 v2.2.0/go.mod h1:fuJqLnUwZTshS3U/bMRJ3+ow/v9oid1n0DmyYyNO1Xs= +github.com/linxGnu/grocksdb v1.7.10/go.mod h1:0hTf+iA+GOr0jDX4CgIYyJZxqOH9XlBh6KVj8+zmF34= +github.com/lucas-clemente/quic-go v0.28.1/go.mod h1:oGz5DKK41cJt5+773+BSO9BXDsREY4HLf7+0odGAPO0= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= +github.com/marten-seemann/qtls-go1-16 v0.1.5/go.mod h1:gNpI2Ol+lRS3WwSOtIUUtRwZEQMXjYK+dQSBFbethAk= +github.com/marten-seemann/qtls-go1-17 v0.1.2/go.mod h1:C2ekUKcDdz9SDWxec1N/MvcXBpaX9l3Nx67XaR84L5s= +github.com/marten-seemann/qtls-go1-18 v0.1.2/go.mod h1:mJttiymBAByA49mhlNZZGrH5u1uXYZJ+RW28Py7f4m4= +github.com/marten-seemann/qtls-go1-19 v0.1.0/go.mod h1:5HTDWtVudo/WFsHKRNuOhWlbdjrfs5JHrYb0wIJqGpI= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= @@ -402,22 +524,43 @@ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b/go.mod h1:lxPUiZwKoFL8DUUmalo2yJJUCxbPKtm8OKfqr2/FTNU= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc/go.mod h1:cGKTAVKx4SxOuR/czcZ/E2RSJ3sfHs8FpHhQ5CWMf9s= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk= +github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo= +github.com/multiformats/go-multistream v0.3.3/go.mod h1:ODRoqamLUsETKS9BNcII4gcRsJBU5VAwRIv7O39cEXg= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= +github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= +github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= +github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= +github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= +github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= +github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= @@ -431,17 +574,23 @@ github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zM github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= -github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/opencontainers/selinux v1.10.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM= +github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= @@ -458,8 +607,10 @@ github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9 github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= @@ -469,7 +620,11 @@ github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mo github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= +github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= +github.com/regen-network/gocuke v0.6.2/go.mod h1:zYaqIHZobHyd0xOrHGPQjbhGJsuZ1oElx150u2o1xuk= +github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8/go.mod h1:WIfMkQNY+oq/mWwtsjOYHIZBuwthioY2srOmljJkTnk= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= @@ -485,11 +640,13 @@ github.com/sagikazarmark/crypt v0.9.0/go.mod h1:RnH7sEhxfdnPm1z+XMgSLjWTEIjyK4z2 github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= github.com/sashamelentyev/usestdlibvars v1.20.0/go.mod h1:0GaP+ecfZMXShS0A94CJn6aEuPRILv8h/VuWI9n1ygg= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= @@ -507,19 +664,28 @@ github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5q github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= +github.com/tendermint/tendermint v0.37.0-rc2/go.mod h1:uYQO9DRNPeZROa9X3hJOZpYcVREDC2/HST+EiU5g2+A= +github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= +github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= @@ -528,18 +694,24 @@ github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6 github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= @@ -554,6 +726,7 @@ go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3M go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= @@ -605,6 +778,7 @@ golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -631,6 +805,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -663,6 +839,7 @@ golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -713,6 +890,7 @@ google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= @@ -723,9 +901,12 @@ google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= @@ -743,6 +924,10 @@ k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2R k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/tcl v1.15.2/go.mod h1:3+k/ZaEbKrC8ePv8zJWPtBSW0V7Gg9g8rkmhI1Kfs3c= +modernc.org/z v1.7.3/go.mod h1:Ipv4tsdxZRbQyLq9Q1M6gdbkxYzdlrciF2Hi/lS7nWE= mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= @@ -750,3 +935,4 @@ mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2Yj rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/interchaintest/go.mod b/interchaintest/go.mod index 58fc82bef..3da832231 100644 --- a/interchaintest/go.mod +++ b/interchaintest/go.mod @@ -3,18 +3,18 @@ module github.com/cosmos/relayer/v2/interchaintest go 1.20 require ( - cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 - github.com/cometbft/cometbft v0.37.0 - github.com/cosmos/cosmos-sdk v0.47.1 - github.com/cosmos/ibc-go/v7 v7.0.0 - github.com/cosmos/relayer/v2 v2.0.0 - github.com/docker/docker v20.10.24+incompatible + cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff + github.com/cometbft/cometbft v0.37.1 + github.com/cosmos/cosmos-sdk v0.47.2 + github.com/cosmos/ibc-go/v7 v7.1.0-rc0 + github.com/cosmos/relayer/v2 v2.0.0-00010101000000-000000000000 + github.com/docker/docker v24.0.1+incompatible github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 - github.com/moby/moby v20.10.22+incompatible - github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230405184655-2e6d60073e71 - github.com/stretchr/testify v1.8.2 + github.com/moby/moby v24.0.2+incompatible + github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230608002938-79172615eed0 + github.com/stretchr/testify v1.8.4 go.uber.org/zap v1.24.0 - golang.org/x/sync v0.1.0 + golang.org/x/sync v0.2.0 ) require ( @@ -32,25 +32,26 @@ require ( filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.2 // indirect - github.com/BurntSushi/toml v1.2.1 // indirect + github.com/BurntSushi/toml v1.3.0 // indirect github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect github.com/ChainSafe/go-schnorrkel/1 v0.0.0-00010101000000-000000000000 // indirect + github.com/ComposableFi/go-subkey/v2 v2.0.0-tm03420 // indirect + github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e // indirect + github.com/FactomProject/btcutilecc v0.0.0-20130527213604-d3a63a5752ec // indirect github.com/Microsoft/go-winio v0.6.0 // indirect - github.com/Microsoft/hcsshim v0.9.6 // indirect github.com/StirlingMarketingGroup/go-namecase v1.0.0 // indirect github.com/armon/go-metrics v0.4.1 // indirect - github.com/avast/retry-go/v4 v4.3.3 // indirect + github.com/avast/retry-go/v4 v4.3.4 // indirect github.com/aws/aws-sdk-go v1.44.203 // indirect github.com/benbjohnson/clock v1.3.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 // indirect - github.com/btcsuite/btcd v0.22.3 // indirect + github.com/btcsuite/btcd v0.23.4 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect + github.com/btcsuite/btcd/btcutil v1.1.3 // indirect github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect - github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect - github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.12 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chzyer/readline v1.5.1 // indirect @@ -58,15 +59,14 @@ require ( github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect github.com/cometbft/cometbft-db v0.7.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect - github.com/containerd/cgroups v1.0.4 // indirect - github.com/containerd/containerd v1.6.18 // indirect + github.com/containerd/containerd v1.6.8 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.6 // indirect + github.com/cosmos/gogoproto v1.4.10 // indirect github.com/cosmos/iavl v0.20.0 // indirect - github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab // indirect + github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect github.com/creachadair/taskgroup v0.4.2 // indirect @@ -81,7 +81,7 @@ require ( github.com/dgraph-io/badger/v2 v2.2007.4 // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/docker/distribution v2.8.1+incompatible // indirect + github.com/docker/distribution v2.8.2+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect @@ -92,7 +92,6 @@ require ( github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-stack/stack v1.8.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gofrs/flock v0.8.1 // indirect @@ -120,7 +119,7 @@ require ( github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-getter v1.7.0 // indirect + github.com/hashicorp/go-getter v1.7.1 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-version v1.6.0 // indirect @@ -134,7 +133,6 @@ require ( github.com/ipfs/go-cid v0.2.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect github.com/jsternberg/zap-logfmt v1.3.0 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/klauspost/compress v1.16.3 // indirect @@ -142,7 +140,6 @@ require ( github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/libp2p/go-libp2p v0.22.0 // indirect - github.com/libp2p/go-libp2p-core v0.20.1 // indirect github.com/libp2p/go-openssl v0.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect @@ -152,13 +149,12 @@ require ( github.com/mimoo/StrobeGo v0.0.0-20220103164710-9a04d6ca976b // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/minio/sha256-simd v1.0.0 // indirect + github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230413215336-5bd2aea337ae // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moby/sys/mount v0.3.3 // indirect - github.com/moby/sys/mountinfo v0.6.2 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/moby/patternmatcher v0.5.0 // indirect + github.com/moby/sys/sequential v0.5.0 // indirect github.com/mr-tron/base58 v1.2.0 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/multiformats/go-base32 v0.0.4 // indirect @@ -170,16 +166,16 @@ require ( github.com/multiformats/go-varint v0.0.6 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0-rc2 // indirect - github.com/opencontainers/runc v1.1.5 // indirect + github.com/opencontainers/runc v1.1.3 // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d // indirect github.com/pierrec/xxHash v0.1.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_golang v1.15.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.40.0 // indirect + github.com/prometheus/common v0.42.0 // indirect github.com/prometheus/procfs v0.9.0 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect @@ -191,7 +187,7 @@ require ( github.com/spaolacci/murmur3 v1.1.0 // indirect github.com/spf13/afero v1.9.3 // indirect github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect + github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.15.0 // indirect @@ -200,31 +196,30 @@ require ( github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/tidwall/btree v1.6.0 // indirect - github.com/tklauser/go-sysconf v0.3.10 // indirect + github.com/tyler-smith/go-bip32 v1.0.0 // indirect github.com/tyler-smith/go-bip39 v1.1.0 // indirect github.com/ulikunitz/xz v0.5.11 // indirect - github.com/vedhavyas/go-subkey v1.0.3 // indirect github.com/zondax/hid v0.9.1 // indirect github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect - go.uber.org/multierr v1.8.0 // indirect - golang.org/x/crypto v0.7.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/crypto v0.9.0 // indirect golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect - golang.org/x/mod v0.9.0 // indirect - golang.org/x/net v0.8.0 // indirect - golang.org/x/oauth2 v0.5.0 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/term v0.6.0 // indirect - golang.org/x/text v0.8.0 // indirect - golang.org/x/tools v0.7.0 // indirect + golang.org/x/mod v0.10.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/oauth2 v0.6.0 // indirect + golang.org/x/sys v0.8.0 // indirect + golang.org/x/term v0.8.0 // indirect + golang.org/x/text v0.9.0 // indirect + golang.org/x/tools v0.9.3 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.110.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 // indirect - google.golang.org/grpc v1.54.0 // indirect - google.golang.org/protobuf v1.29.1 // indirect + google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect + google.golang.org/grpc v1.55.0 // indirect + google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/yaml.v2 v2.4.0 // indirect @@ -233,11 +228,11 @@ require ( lukechampine.com/uint128 v1.2.0 // indirect modernc.org/cc/v3 v3.40.0 // indirect modernc.org/ccgo/v3 v3.16.13 // indirect - modernc.org/libc v1.22.3 // indirect + modernc.org/libc v1.22.5 // indirect modernc.org/mathutil v1.5.0 // indirect modernc.org/memory v1.5.0 // indirect modernc.org/opt v0.1.3 // indirect - modernc.org/sqlite v1.21.1 // indirect + modernc.org/sqlite v1.23.0 // indirect modernc.org/strutil v1.1.3 // indirect modernc.org/token v1.0.1 // indirect nhooyr.io/websocket v1.8.6 // indirect diff --git a/interchaintest/go.sum b/interchaintest/go.sum index f64f4e541..8308d8f9e 100644 --- a/interchaintest/go.sum +++ b/interchaintest/go.sum @@ -1,4 +1,3 @@ -bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -118,7 +117,7 @@ cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= +cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= @@ -199,8 +198,8 @@ cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= cosmossdk.io/math v1.0.0 h1:ro9w7eKx23om2tZz/VM2Pf+z2WAbGX1yDQQOJ6iGeJw= cosmossdk.io/math v1.0.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= -cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 h1:g8muUHnXL8vhld2Sjilyhb1UQObc+x9GVuDK43TYZns= -cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462/go.mod h1:4Dd3NLoLYoN90kZ0uyHoTHzVVk9+J0v4HhZRBNTAq2c= +cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff h1:P1ialzTepD1oxdNPYc5N8Eggq3RdejZq3cJs8YYMs9Y= +cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff/go.mod h1:AKzx6Mb544LjJ9RHmGFHjY9rEOLiUAi8I0F727TR0dY= cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -210,60 +209,30 @@ github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMb github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XBn0= github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= -github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8 h1:V8krnnfGj4pV65YLUm3C0/8bl7V5Nry2Pwvy3ru/wLc= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= -github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= -github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= -github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.3.0 h1:Ws8e5YmnrGEHzZEzg0YvK/7COGYtTC5PbaH9oSSbgfA= +github.com/BurntSushi/toml v1.3.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= github.com/ChainSafe/go-schnorrkel v1.0.0 h1:3aDA67lAykLaG1y3AOjs88dMxC88PgUuHRrLeDnvGIM= github.com/ChainSafe/go-schnorrkel v1.0.0/go.mod h1:dpzHYVxLZcp8pjlV+O+UR8K0Hp/z7vcchBSbMBEhCw4= +github.com/ComposableFi/go-subkey/v2 v2.0.0-tm03420 h1:oknQF/iIhf5lVjbwjsVDzDByupRhga8nhA3NAmwyHDA= +github.com/ComposableFi/go-subkey/v2 v2.0.0-tm03420/go.mod h1:KYkiMX5AbOlXXYfxkrYPrRPV6EbVUALTQh5ptUOJzu8= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e h1:ahyvB3q25YnZWly5Gq1ekg6jcmWaGj/vG/MhF4aisoc= +github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e/go.mod h1:kGUqhHd//musdITWjFvNTHn90WG9bMLBEPQZ17Cmlpw= +github.com/FactomProject/btcutilecc v0.0.0-20130527213604-d3a63a5752ec h1:1Qb69mGp/UtRPn422BH4/Y4Q3SLUrD9KHuDkm8iodFc= +github.com/FactomProject/btcutilecc v0.0.0-20130527213604-d3a63a5752ec/go.mod h1:CD8UlnlLDiqb36L110uqiP2iSflVjx9g/3U9hCI4q2U= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= -github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= -github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= -github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= -github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= -github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= -github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= -github.com/Microsoft/hcsshim v0.9.6 h1:VwnDOgLeoi2du6dAznfmspNqTiwczvjv4K7NxuY9jsY= -github.com/Microsoft/hcsshim v0.9.6/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= -github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= -github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/Microsoft/hcsshim v0.9.4 h1:mnUj0ivWy6UzbB1uLFqKR6F+ZyiDc7j4iGgHTpO+5+I= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= @@ -281,7 +250,6 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -292,11 +260,9 @@ github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJ github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/avast/retry-go/v4 v4.3.3 h1:G56Bp6mU0b5HE1SkaoVjscZjlQb0oy4mezwY/cGH19w= -github.com/avast/retry-go/v4 v4.3.3/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8oEF1jpWiU= +github.com/avast/retry-go/v4 v4.3.4 h1:pHLkL7jvCvP317I8Ge+Km2Yhntv3SdkJm7uekkqbKhM= +github.com/avast/retry-go/v4 v4.3.4/go.mod h1:rv+Nla6Vk3/ilU0H51VHddWHiwimzX66yZ0JT6T+UvE= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.203 h1:pcsP805b9acL3wUqa4JR2vg1k2wnItkDYNvfmcy6F+U= @@ -304,7 +270,6 @@ github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8 github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -314,33 +279,32 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816 h1:41iFGWnSlI2gVpmOtVTJZNodLdLQLn/KsJqFvXwnd/s= github.com/bgentry/speakeasy v0.1.1-0.20220910012023-760eaf8b6816/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.22.3 h1:kYNaWFvOw6xvqP0vR20RP1Zq1DVMBxEO8QN5d1/EfNg= -github.com/btcsuite/btcd v0.22.3/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= +github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= +github.com/btcsuite/btcd v0.23.4 h1:IzV6qqkfwbItOS/sg/aDfPDsjPP8twrCOE2R93hxMlQ= +github.com/btcsuite/btcd v0.23.4/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= +github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= +github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= -github.com/btcsuite/btcd/btcutil v1.1.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ= +github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= +github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= +github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= +github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= +github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= -github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= -github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -348,15 +312,11 @@ github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.12 h1:DCYWIBOalB0mKKfUg2HhtGgIkBbMA1fnlnkZp7fHB18= -github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.12/go.mod h1:5g1oM4Zu3BOaLpsKQ+O8PAv2kNuq+kPcA1VzFbsSqxE= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= -github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -368,16 +328,13 @@ github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObk github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= -github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= -github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= -github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= -github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cmars/basen v0.0.0-20150613233007-fe3947df716e h1:0XBUw73chJ1VYSsfvcPvVT7auykAJce9FpRr10L6Qhw= +github.com/cmars/basen v0.0.0-20150613233007-fe3947df716e/go.mod h1:P13beTBKr5Q18lJe1rIoLUqjM+CB1zYrRg44ZqGuQSA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -394,158 +351,55 @@ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:z github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= -github.com/cometbft/cometbft v0.37.0 h1:M005vBaSaugvYYmNZwJOopynQSjwLoDTwflnQ/I/eYk= -github.com/cometbft/cometbft v0.37.0/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= +github.com/cometbft/cometbft v0.37.1 h1:KLxkQTK2hICXYq21U2hn1W5hOVYUdQgDQ1uB+90xPIg= +github.com/cometbft/cometbft v0.37.1/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= -github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= -github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= -github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= -github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= -github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= -github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= -github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= -github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= -github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= -github.com/containerd/cgroups v1.0.4 h1:jN/mbWBEaz+T1pi5OFtnkQ+8qnmEbAr1Oo1FRm5B0dA= -github.com/containerd/cgroups v1.0.4/go.mod h1:nLNQtsF7Sl2HxNebu77i1R0oDlhiTG+kO4JTrUzo6IA= -github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= -github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= -github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= -github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= -github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= -github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= -github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= -github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= -github.com/containerd/containerd v1.6.18 h1:qZbsLvmyu+Vlty0/Ex5xc0z2YtKpIsb5n45mAMI+2Ns= -github.com/containerd/containerd v1.6.18/go.mod h1:1RdCUu95+gc2v9t3IL+zIlpClSmew7/0YS8O5eQZrOw= -github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= -github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= -github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= -github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/containerd v1.6.8 h1:h4dOFDwzHmqFEP754PgfgTeVXFnLiRc6kiqC7tplDJs= +github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= -github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= -github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= -github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= -github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= -github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= -github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= -github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= -github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= -github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= -github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= -github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= -github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= -github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= -github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= -github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= -github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= -github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= -github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= -github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= -github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= -github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= -github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= -github.com/cosmos/cosmos-sdk v0.47.1 h1:HnaCYtaAMWZp1SdlwwE1mPJ8kFlZ/TuEJ/ciNXH6Uno= -github.com/cosmos/cosmos-sdk v0.47.1/go.mod h1:14tO5KQaTrl2q3OxBnDRfue7TRN9zkXS0cLutrSqkOo= +github.com/cosmos/cosmos-sdk v0.47.2 h1:9rSriCoiJD+4F+tEDobyM8V7HF5BtY5Ef4VYNig96s0= +github.com/cosmos/cosmos-sdk v0.47.2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.6 h1:Ee7z15dWJaGlgM2rWrK8N2IX7PQcuccu8oG68jp5RL4= -github.com/cosmos/gogoproto v1.4.6/go.mod h1:VS/ASYmPgv6zkPKLjR9EB91lwbLHOzaGCirmKKhncfI= +github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI= +github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= -github.com/cosmos/ibc-go/v7 v7.0.0 h1:j4kyywlG0hhDmT9FmSaR5iCIka7Pz7kJTxGWY1nlV9Q= -github.com/cosmos/ibc-go/v7 v7.0.0/go.mod h1:BFh8nKWjr5zeR2OZfhkzdgDzj1+KjRn3aJLpwapStj8= -github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab h1:I9ialKTQo7248V827Bba4OuKPmk+FPzmTVHsLXaIJWw= -github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab/go.mod h1:2CwqasX5dSD7Hbp/9b6lhK6BwoBDCBldx7gPKRukR60= +github.com/cosmos/ibc-go/v7 v7.1.0-rc0 h1:b78+/74AJDp0Sc7utMO1l4nI/u4ERnyta1nqooqQrGI= +github.com/cosmos/ibc-go/v7 v7.1.0-rc0/go.mod h1:7MptlWeIyqmDiuJeRAFqBvXKY8Hybd+rF8vMSmGd2zg= +github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= +github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= github.com/cosmos/rosetta-sdk-go v0.10.0 h1:E5RhTruuoA7KTIXUcMicL76cffyeoyvNybzUGSKFTcM= github.com/cosmos/rosetta-sdk-go v0.10.0/go.mod h1:SImAZkb96YbwvoRkzSMQB6noNJXFgWl/ENIznEoYQI4= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= -github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= -github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= -github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= -github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -562,9 +416,10 @@ github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 h1:3GIJYXQDAKpLEFriGFN8SbSffak10UXHGdIcFaMPykY= github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0/go.mod h1:3s92l0paYkZoIHuj4X93Teg/HB7eGM9x/zokGw+u4mY= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= -github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= +github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= @@ -572,35 +427,19 @@ github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= -github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= -github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= -github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPaAiuPgIfVyI3dYE= -github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v24.0.1+incompatible h1:NxN81beIxDlUaVt46iUQrYHD9/W3u9EGl52r86O/IGw= +github.com/docker/docker v24.0.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= @@ -611,9 +450,6 @@ github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5m github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -627,7 +463,6 @@ github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go. github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ethereum/go-ethereum v1.10.26 h1:i/7d9RBBwiXCEuyduBQzJw/mKmnvzsN14jqBmytw72s= github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= -github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= @@ -635,7 +470,6 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= @@ -646,9 +480,6 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= -github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= @@ -657,7 +488,6 @@ github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= @@ -670,26 +500,12 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= @@ -704,20 +520,14 @@ github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6Wezm github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= -github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= -github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= @@ -725,7 +535,6 @@ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfU github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -785,14 +594,12 @@ github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= github.com/google/go-github/v43 v43.0.0 h1:y+GL7LIsAIF2NZlJ46ZoC/D1W1ivZasT0lnWHMYPZ+U= github.com/google/go-github/v43 v43.0.0/go.mod h1:ZkTvvmCXBvsfPpTHXnH/d2hP9Y0cTbvN9kr5xqyXOIc= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= @@ -821,9 +628,7 @@ github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= @@ -842,33 +647,25 @@ github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqE github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= -github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= @@ -881,19 +678,17 @@ github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uM github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-getter v1.7.0 h1:bzrYP+qu/gMrL1au7/aDvkoOVGUJpeKBgbqRHACAFDY= -github.com/hashicorp/go-getter v1.7.0/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= +github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= @@ -933,25 +728,17 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 h1:H+uM0Bv88eur3ZSsd2NGKg3YIiuXxwxtlN7HjE66UTU= github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845/go.mod h1:c1tRKs5Tx7E2+uHGSyyncziFjvGpgv4H2HrqXeUQ/Uk= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/go-cid v0.2.0 h1:01JTiihFq9en9Vz0lc0VDWvZe/uBonGpzo4THP0vcQ0= github.com/ipfs/go-cid v0.2.0/go.mod h1:P+HXFDF4CVhaVayiEb4wkAy7zBHxBwsJyt0Y5U6MLro= -github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -959,7 +746,6 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGw github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= -github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= @@ -969,7 +755,6 @@ github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsternberg/zap-logfmt v1.3.0 h1:z1n1AOHVVydOOVuyphbOKyR4NICDQFiJMn1IK5hVQ5Y= @@ -983,9 +768,7 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= @@ -995,45 +778,33 @@ github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02 github.com/klauspost/cpuid/v2 v2.2.3 h1:sxCkb+qR91z4vsqw4vGGZlDgPz3G7gjaLyK3V8y70BU= github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/libp2p/go-libp2p v0.22.0 h1:2Tce0kHOp5zASFKJbNzRElvh0iZwdtG5uZheNW8chIw= github.com/libp2p/go-libp2p v0.22.0/go.mod h1:UDolmweypBSjQb2f7xutPnwZ/fxioLbMBxSjRksxxU4= -github.com/libp2p/go-libp2p-core v0.20.1 h1:fQz4BJyIFmSZAiTbKV8qoYhEH5Dtv/cVhZbG3Ib/+Cw= -github.com/libp2p/go-libp2p-core v0.20.1/go.mod h1:6zR8H7CvQWgYLsbG4on6oLNSGcyKaYFSEYyDt51+bIY= github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+Ooo= github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= -github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -1045,16 +816,11 @@ github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnU github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= -github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= -github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/mimoo/StrobeGo v0.0.0-20220103164710-9a04d6ca976b h1:QrHweqAtyJ9EwCaGHBu1fghwxIPiopAHV06JlXrMHjk= github.com/mimoo/StrobeGo v0.0.0-20220103164710-9a04d6ca976b/go.mod h1:xxLb2ip6sSUts3g1irPVHyk/DGslwQsNOo9I7smJfNU= @@ -1062,7 +828,8 @@ github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= +github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230413215336-5bd2aea337ae h1:ZYbJh4TLwfSuSQe6DT/1982SfNNBcmvzrX5FycfSrmo= +github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230413215336-5bd2aea337ae/go.mod h1:XexEkZgpnQ3sqUYz84DFoVUcDake6G/tYHrwdbdERhM= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= @@ -1076,19 +843,15 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/moby v20.10.22+incompatible h1:KHnFMlxjgGizH7+3fQj8+PjmrwEnilKgahf/TgTQIxI= github.com/moby/moby v20.10.22+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= -github.com/moby/sys/mount v0.3.3 h1:fX1SVkXFJ47XWDoeFW4Sq7PdQJnV2QIDZAqjNqgEjUs= -github.com/moby/sys/mount v0.3.3/go.mod h1:PBaEorSNTLG5t/+4EgukEQVlAvVEc6ZjTySwKdqp5K0= -github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/moby v24.0.2+incompatible h1:yH+5dRHH1x3XRKzl1THA2aGTy6CHYnkt5N924ADMax8= +github.com/moby/moby v24.0.2+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/patternmatcher v0.5.0 h1:YCZgJOeULcxLw1Q+sVR636pmS7sPEn1Qo2iAN6M7DBo= +github.com/moby/patternmatcher v0.5.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= -github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= -github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= -github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= -github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= +github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= @@ -1096,9 +859,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= @@ -1118,13 +879,10 @@ github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc= github.com/multiformats/go-varint v0.0.6 h1:gk85QWKxh3TazbLxED/NlDVv8+q+ReFJk7Y2W/KhfNY= github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -1132,71 +890,37 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= -github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= -github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= -github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= -github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= -github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= -github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= -github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= -github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= @@ -1213,13 +937,11 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d h1:htwtWgtQo8YS6JFWWi2DNgY0RwSGJ1ruMoxY6CUUclk= github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= @@ -1228,7 +950,6 @@ github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi github.com/pierrec/xxHash v0.1.5 h1:n/jBpwTHiER4xYvK3/CdPVnLDPchj8eTJFFLUb4QHBo= github.com/pierrec/xxHash v0.1.5/go.mod h1:w2waW5Zoa/Wc4Yqe0wgrIYAGKqRMf7czn2HNKXmuL+I= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1237,19 +958,14 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= -github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_golang v1.15.0 h1:5fCgGYogn0hFdhyhLbw7hEsWxufKtY9klyvdNfFlFhM= +github.com/prometheus/client_golang v1.15.0/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -1258,35 +974,23 @@ github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6T github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.40.0 h1:Afz7EVRqGg2Mqqf4JuF9vdvp1pi220m55Pi9T2JnO4Q= -github.com/prometheus/common v0.40.0/go.mod h1:L65ZJPSmfn/UBWLQIHV7dBrKFidB/wPlF1y5TlSt9OE= -github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -1310,21 +1014,14 @@ github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= @@ -1332,7 +1029,6 @@ github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= @@ -1342,47 +1038,36 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= -github.com/strangelove-ventures/go-subkey v1.0.7 h1:cOP/Lajg3uxV/tvspu0m6+0Cu+DJgygkEAbx/s+f35I= -github.com/strangelove-ventures/go-subkey v1.0.7/go.mod h1:E34izOIEm+sZ1YmYawYRquqBQWeZBjVB4pF7bMuhc1c= -github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230405184655-2e6d60073e71 h1:bbhg6Iol/5UR65+4kPaki+3mNUgyvcQe+ZHrleorKKY= -github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230405184655-2e6d60073e71/go.mod h1:tkBlI3o0Z1jgkZIkckOLIHJuR+S0LbGoBEGg4NQ4Aa8= +github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230608002938-79172615eed0 h1:WoRj3il7OqGknKxf3IRwGTY65AVbTnDjKAgezpEHM3E= +github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230608002938-79172615eed0/go.mod h1:RG6EsHW08mfwJQmZykqzkAQwAmVojcrqujjFBFPIHcY= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= -github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.1.5-0.20170601210322-f6abca593680/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1393,16 +1078,16 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= -github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= @@ -1410,38 +1095,25 @@ github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= -github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= -github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tyler-smith/go-bip32 v1.0.0 h1:sDR9juArbUgX+bO/iblgZnMPeWY1KZMUC2AFUJdv5KE= +github.com/tyler-smith/go-bip32 v1.0.0/go.mod h1:onot+eHknzV4BVPwrzqY5OoVpyCvnwD7lMawL5aQupE= github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8= github.com/tyler-smith/go-bip39 v1.1.0/go.mod h1:gUYDtqQw1JS3ZJ8UWVcGTGqqr6YIN3CWg+kkNaLt55U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= -github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= -github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= -github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -1450,22 +1122,14 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= -github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= -github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= github.com/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -1481,42 +1145,36 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= +golang.org/x/crypto v0.0.0-20170613210332-850760c427c5/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1556,12 +1214,12 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1573,16 +1231,12 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1598,8 +1252,8 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -1612,7 +1266,6 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1625,8 +1278,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1652,8 +1305,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.5.0 h1:HuArIo48skDwlrvM3sEdHXElYslAMsf3KwRkkW4MC4s= -golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1668,8 +1321,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1686,39 +1339,27 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1727,24 +1368,16 @@ golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1754,11 +1387,9 @@ golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1797,13 +1428,13 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1814,18 +1445,15 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1836,11 +1464,8 @@ golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1866,17 +1491,14 @@ golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjs golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1891,8 +1513,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= +golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1902,7 +1524,6 @@ golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNq golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1963,14 +1584,12 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= @@ -1980,7 +1599,6 @@ google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1996,14 +1614,12 @@ google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -2077,9 +1693,8 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 h1:EfLuoKW5WfkgVdDy7dTK8qSbH37AX5mj/MFh+bGPz14= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= -google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -2089,7 +1704,6 @@ google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -2122,8 +1736,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -2140,15 +1754,12 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.29.1 h1:7QBf+IK2gx70Ap/hDsOmam3GE0v9HicjfEdAxE62UoM= -google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= @@ -2156,17 +1767,11 @@ gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= @@ -2185,9 +1790,6 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -2197,36 +1799,8 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= -k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= -k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= -k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= -k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= -k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= -k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= -k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= -k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= -k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= -k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= -k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= -k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= -k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= -k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= -k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= -k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= -k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= -k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= -k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= -k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= -k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +launchpad.net/gocheck v0.0.0-20140225173054-000000000087 h1:Izowp2XBH6Ya6rv+hqbceQyw/gSGoXfH/UPoTGduL54= +launchpad.net/gocheck v0.0.0-20140225173054-000000000087/go.mod h1:hj7XX3B/0A+80Vse0e+BUHsHMTEhd0O4cpUHr/e/BUM= lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0= lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= @@ -2237,22 +1811,22 @@ modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= -modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY= -modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw= +modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE= +modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/sqlite v1.21.1 h1:GyDFqNnESLOhwwDRaHGdp2jKLDzpyT/rNLglX3ZkMSU= -modernc.org/sqlite v1.21.1/go.mod h1:XwQ0wZPIh1iKb5mkvCJ3szzbhk+tykC8ZWqTRTgYRwI= +modernc.org/sqlite v1.23.0 h1:MWTFBI5H1WLnXpNBh/BTruBVqzzoh28DA0iOnlkkRaM= +modernc.org/sqlite v1.23.0/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk= modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= -modernc.org/tcl v1.15.1 h1:mOQwiEK4p7HruMZcwKTZPw/aqtGM4aY00uzWhlKKYws= +modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY= modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg= modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE= +modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= @@ -2260,13 +1834,7 @@ pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/interchaintest/localhost_client_test.go b/interchaintest/localhost_client_test.go new file mode 100644 index 000000000..24a9ec11d --- /dev/null +++ b/interchaintest/localhost_client_test.go @@ -0,0 +1,472 @@ +package interchaintest_test + +import ( + "context" + "encoding/json" + "fmt" + "strconv" + "testing" + + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" + relayertest "github.com/cosmos/relayer/v2/interchaintest" + "github.com/strangelove-ventures/interchaintest/v7" + "github.com/strangelove-ventures/interchaintest/v7/chain/cosmos" + "github.com/strangelove-ventures/interchaintest/v7/ibc" + "github.com/strangelove-ventures/interchaintest/v7/testreporter" + "github.com/strangelove-ventures/interchaintest/v7/testutil" + "github.com/stretchr/testify/require" + "go.uber.org/zap/zaptest" +) + +func TestLocalhost_TokenTransfers(t *testing.T) { + if testing.Short() { + t.Skip() + } + + t.Parallel() + + numVals := 1 + numFullNodes := 0 + image := ibc.DockerImage{ + Repository: "ghcr.io/cosmos/ibc-go-simd", + Version: "v7.1.0-rc0", + UidGid: "", + } + cdc := cosmos.DefaultEncoding() + cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{ + { + Name: "ibc-go-simd", + ChainName: "simd", + Version: "main", + NumValidators: &numVals, + NumFullNodes: &numFullNodes, + ChainConfig: ibc.ChainConfig{ + Type: "cosmos", + Name: "simd", + ChainID: "chain-a", + Images: []ibc.DockerImage{image}, + Bin: "simd", + Bech32Prefix: "cosmos", + Denom: "stake", + CoinType: "118", + GasPrices: "0.0stake", + GasAdjustment: 1.1, + EncodingConfig: &cdc, + UsingNewGenesisCommand: true, + }}}, + ) + + chains, err := cf.Chains(t.Name()) + require.NoError(t, err) + chainA := chains[0].(*cosmos.CosmosChain) + + ctx := context.Background() + client, network := interchaintest.DockerSetup(t) + + rf := relayertest.NewRelayerFactory(relayertest.RelayerConfig{InitialBlockHistory: 50}) + r := rf.Build(t, client, network) + + const pathLocalhost = "chainA-localhost" + + ic := interchaintest.NewInterchain(). + AddChain(chainA). + AddRelayer(r, "relayer") + + rep := testreporter.NewNopReporter() + eRep := rep.RelayerExecReporter(t) + + require.NoError(t, ic.Build(ctx, eRep, interchaintest.InterchainBuildOptions{ + TestName: t.Name(), + Client: client, + NetworkID: network, + BlockDatabaseFile: interchaintest.DefaultBlockDatabaseFilepath(), + SkipPathCreation: true, + })) + + t.Cleanup(func() { + _ = ic.Close() + }) + + const relayerKey = "relayer-key" + const mnemonic = "all unit ordinary card sword document left illegal frog chuckle assume gift south settle can explain wagon beef story praise gorilla arch close good" + + // initialize a new acc for the relayer along with a couple user accs + initBal := int64(10_000_000) + _, err = interchaintest.GetAndFundTestUserWithMnemonic(ctx, relayerKey, mnemonic, initBal, chainA) + require.NoError(t, err) + + users := interchaintest.GetAndFundTestUsers(t, ctx, "test-key", initBal, chainA, chainA) + err = testutil.WaitForBlocks(ctx, 5, chainA) + require.NoError(t, err) + + userA, userB := users[0], users[1] + + // assert initial balances are correct + userABal, err := chainA.GetBalance(ctx, userA.FormattedAddress(), chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, initBal, userABal) + + userBBal, err := chainA.GetBalance(ctx, userB.FormattedAddress(), chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, initBal, userBBal) + + // configure the relayer for a localhost connection + err = r.AddChainConfiguration(ctx, eRep, chainA.Config(), relayerKey, chainA.GetHostRPCAddress(), chainA.GetHostGRPCAddress()) + require.NoError(t, err) + + err = r.RestoreKey(ctx, eRep, chainA.Config(), relayerKey, mnemonic) + require.NoError(t, err) + + err = r.GeneratePath(ctx, eRep, chainA.Config().ChainID, chainA.Config().ChainID, pathLocalhost) + require.NoError(t, err) + + updateCmd := []string{ + "paths", "update", pathLocalhost, + "--src-client-id", ibcexported.LocalhostClientID, + "--src-connection-id", ibcexported.LocalhostConnectionID, + "--dst-client-id", ibcexported.LocalhostClientID, + "--dst-connection-id", ibcexported.LocalhostConnectionID, + } + res := r.Exec(ctx, eRep, updateCmd, nil) + require.NoError(t, res.Err) + + // initialize new channels + err = r.CreateChannel(ctx, eRep, pathLocalhost, ibc.DefaultChannelOpts()) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 10, chainA) + require.NoError(t, err) + + channels, err := r.GetChannels(ctx, eRep, chainA.Config().ChainID) + require.NoError(t, err) + require.Equal(t, 2, len(channels)) + + channel := channels[0] + + // compose the ibc denom for balance assertions + denom := transfertypes.GetPrefixedDenom(channel.Counterparty.PortID, channel.Counterparty.ChannelID, chainA.Config().Denom) + trace := transfertypes.ParseDenomTrace(denom) + + // start the relayer + require.NoError(t, r.StartRelayer(ctx, eRep, pathLocalhost)) + + t.Cleanup( + func() { + err := r.StopRelayer(ctx, eRep) + if err != nil { + panic(fmt.Errorf("an error occured while stopping the relayer: %s", err)) + } + }, + ) + + // compose and send a localhost IBC transfer which should be successful + const transferAmount = int64(1_000) + transfer := ibc.WalletAmount{ + Address: userB.FormattedAddress(), + Denom: chainA.Config().Denom, + Amount: transferAmount, + } + + cmd := []string{ + chainA.Config().Bin, "tx", "ibc-transfer", "transfer", "transfer", + channel.ChannelID, + transfer.Address, + fmt.Sprintf("%d%s", transfer.Amount, transfer.Denom), + "--from", userA.FormattedAddress(), + "--gas-prices", "0.0stake", + "--gas-adjustment", "1.2", + "--keyring-backend", "test", + "--absolute-timeouts", + "--packet-timeout-timestamp", "9999999999999999999", + "--output", "json", + "-y", + "--home", chainA.HomeDir(), + "--node", chainA.GetRPCAddress(), + "--chain-id", chainA.Config().ChainID, + } + _, _, err = chainA.Exec(ctx, cmd, nil) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 5, chainA) + require.NoError(t, err) + + // assert that the updated balances are correct + newBalA, err := chainA.GetBalance(ctx, userA.FormattedAddress(), chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, userABal-transferAmount, newBalA) + + newBalB, err := chainA.GetBalance(ctx, userB.FormattedAddress(), trace.IBCDenom()) + require.NoError(t, err) + require.Equal(t, transferAmount, newBalB) + + // compose and send another localhost IBC transfer which should succeed + cmd = []string{ + chainA.Config().Bin, "tx", "ibc-transfer", "transfer", "transfer", + channel.ChannelID, + transfer.Address, + fmt.Sprintf("%d%s", transfer.Amount, transfer.Denom), + "--from", userA.FormattedAddress(), + "--gas-prices", "0.0stake", + "--gas-adjustment", "1.2", + "--keyring-backend", "test", + "--absolute-timeouts", + "--packet-timeout-timestamp", "9999999999999999999", + "--output", "json", + "-y", + "--home", chainA.HomeDir(), + "--node", chainA.GetRPCAddress(), + "--chain-id", chainA.Config().ChainID, + } + _, _, err = chainA.Exec(ctx, cmd, nil) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 5, chainA) + require.NoError(t, err) + + // assert that the balances are updated + tmpBalA := newBalA + newBalA, err = chainA.GetBalance(ctx, userA.FormattedAddress(), chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, tmpBalA-transferAmount, newBalA) + + tmpBalB := newBalB + newBalB, err = chainA.GetBalance(ctx, userB.FormattedAddress(), trace.IBCDenom()) + require.NoError(t, err) + require.Equal(t, tmpBalB+transferAmount, newBalB) +} + +func TestLocalhost_InterchainAccounts(t *testing.T) { + if testing.Short() { + t.Skip() + } + + t.Parallel() + + numVals := 1 + numFullNodes := 0 + image := ibc.DockerImage{ + Repository: "ghcr.io/cosmos/ibc-go-simd", + Version: "v7.1.0-rc0", + UidGid: "", + } + cdc := cosmos.DefaultEncoding() + cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{ + { + Name: "ibc-go-simd", + ChainName: "simd", + Version: "main", + NumValidators: &numVals, + NumFullNodes: &numFullNodes, + ChainConfig: ibc.ChainConfig{ + Type: "cosmos", + Name: "simd", + ChainID: "chain-a", + Images: []ibc.DockerImage{image}, + Bin: "simd", + Bech32Prefix: "cosmos", + Denom: "stake", + CoinType: "118", + GasPrices: "0.0stake", + GasAdjustment: 1.1, + EncodingConfig: &cdc, + UsingNewGenesisCommand: true, + }}}, + ) + + chains, err := cf.Chains(t.Name()) + require.NoError(t, err) + chainA := chains[0].(*cosmos.CosmosChain) + + ctx := context.Background() + client, network := interchaintest.DockerSetup(t) + + rf := relayertest.NewRelayerFactory(relayertest.RelayerConfig{InitialBlockHistory: 50}) + r := rf.Build(t, client, network) + + const pathLocalhost = "chainA-localhost" + + ic := interchaintest.NewInterchain(). + AddChain(chainA). + AddRelayer(r, "relayer") + + rep := testreporter.NewNopReporter() + eRep := rep.RelayerExecReporter(t) + + require.NoError(t, ic.Build(ctx, eRep, interchaintest.InterchainBuildOptions{ + TestName: t.Name(), + Client: client, + NetworkID: network, + BlockDatabaseFile: interchaintest.DefaultBlockDatabaseFilepath(), + SkipPathCreation: true, + })) + + t.Cleanup(func() { + _ = ic.Close() + }) + + const ( + relayerKey = "relayer-key" + mnemonic = "all unit ordinary card sword document left illegal frog chuckle assume gift south settle can explain wagon beef story praise gorilla arch close good" + ) + + // initialize a new acc for the relayer along with a new user acc + const initBal = int64(10_000_000) + _, err = interchaintest.GetAndFundTestUserWithMnemonic(ctx, relayerKey, mnemonic, initBal, chainA) + require.NoError(t, err) + + users := interchaintest.GetAndFundTestUsers(t, ctx, "test-key", initBal, chainA) + userA := users[0] + + err = testutil.WaitForBlocks(ctx, 5, chainA) + require.NoError(t, err) + + // assert initial balance is correct + userABal, err := chainA.GetBalance(ctx, userA.FormattedAddress(), chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, initBal, userABal) + + // configure the relayer for a localhost connection + err = r.AddChainConfiguration(ctx, eRep, chainA.Config(), relayerKey, chainA.GetHostRPCAddress(), chainA.GetHostGRPCAddress()) + require.NoError(t, err) + + err = r.RestoreKey(ctx, eRep, chainA.Config(), relayerKey, mnemonic) + require.NoError(t, err) + + err = r.GeneratePath(ctx, eRep, chainA.Config().ChainID, chainA.Config().ChainID, pathLocalhost) + require.NoError(t, err) + + updateCmd := []string{ + "paths", "update", pathLocalhost, + "--src-client-id", ibcexported.LocalhostClientID, + "--src-connection-id", ibcexported.LocalhostConnectionID, + "--dst-client-id", ibcexported.LocalhostClientID, + "--dst-connection-id", ibcexported.LocalhostConnectionID, + } + res := r.Exec(ctx, eRep, updateCmd, nil) + require.NoError(t, res.Err) + + // start the relayer + require.NoError(t, r.StartRelayer(ctx, eRep, pathLocalhost)) + + t.Cleanup( + func() { + err := r.StopRelayer(ctx, eRep) + if err != nil { + panic(fmt.Errorf("an error occured while stopping the relayer: %s", err)) + } + }, + ) + + // register a new interchain account + registerCmd := []string{ + chainA.Config().Bin, "tx", "interchain-accounts", "controller", "register", ibcexported.LocalhostConnectionID, + "--from", userA.FormattedAddress(), + "--gas-prices", "0.0stake", + "--gas-adjustment", "1.2", + "--keyring-backend", "test", + "--output", "json", + "-y", + "--home", chainA.HomeDir(), + "--node", chainA.GetRPCAddress(), + "--chain-id", chainA.Config().ChainID, + } + + _, _, err = chainA.Exec(ctx, registerCmd, nil) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 10, chainA) + require.NoError(t, err) + + channels, err := r.GetChannels(ctx, eRep, chainA.Config().ChainID) + require.NoError(t, err) + require.Equal(t, 2, len(channels)) + + // query for the newly created ica + queryCmd := []string{ + chainA.Config().Bin, "q", "interchain-accounts", "controller", "interchain-account", + userA.FormattedAddress(), ibcexported.LocalhostConnectionID, + "--home", chainA.HomeDir(), + "--node", chainA.GetRPCAddress(), + "--chain-id", chainA.Config().ChainID, + } + stdout, _, err := chainA.Exec(ctx, queryCmd, nil) + require.NoError(t, err) + + icaAddr := parseInterchainAccountField(stdout) + require.NotEmpty(t, icaAddr) + + // asser the ICA balance, send some funds to the ICA, then re-assert balances + icaBal, err := chainA.GetBalance(ctx, icaAddr, chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, int64(0), icaBal) + + const transferAmount = 1000 + transfer := ibc.WalletAmount{ + Address: icaAddr, + Denom: chainA.Config().Denom, + Amount: transferAmount, + } + err = chainA.SendFunds(ctx, userA.KeyName(), transfer) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 5, chainA) + require.NoError(t, err) + + newBalICA, err := chainA.GetBalance(ctx, icaAddr, chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, int64(transferAmount), newBalICA) + + newBalA, err := chainA.GetBalance(ctx, userA.FormattedAddress(), chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, userABal-transferAmount, newBalA) + + // compose msg to send to ICA + rawMsg, err := json.Marshal(map[string]any{ + "@type": "/cosmos.bank.v1beta1.MsgSend", + "from_address": icaAddr, + "to_address": userA.FormattedAddress(), + "amount": []map[string]any{ + { + "denom": chainA.Config().Denom, + "amount": strconv.Itoa(transferAmount), + }, + }, + }) + require.NoError(t, err) + + generateCmd := []string{ + chainA.Config().Bin, "tx", "interchain-accounts", "host", "generate-packet-data", string(rawMsg), + } + msgBz, _, err := chainA.Exec(ctx, generateCmd, nil) + require.NoError(t, err) + + // send tx to our ICA + sendCmd := []string{ + chainA.Config().Bin, "tx", "interchain-accounts", "controller", "send-tx", + ibcexported.LocalhostConnectionID, string(msgBz), + "--from", userA.FormattedAddress(), + "--gas-prices", "0.0stake", + "--gas-adjustment", "1.2", + "--keyring-backend", "test", + "--output", "json", + "-y", + "--home", chainA.HomeDir(), + "--node", chainA.GetRPCAddress(), + "--chain-id", chainA.Config().ChainID, + } + _, _, err = chainA.Exec(ctx, sendCmd, nil) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 5, chainA) + require.NoError(t, err) + + // assert updated balances are correct + finalBalICA, err := chainA.GetBalance(ctx, icaAddr, chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, newBalICA-transferAmount, finalBalICA) + + finalBalA, err := chainA.GetBalance(ctx, userA.FormattedAddress(), chainA.Config().Denom) + require.NoError(t, err) + require.Equal(t, newBalA+int64(transferAmount), finalBalA) +} diff --git a/interchaintest/misbehaviour_test.go b/interchaintest/misbehaviour_test.go index 6d10003e9..7ce55196e 100644 --- a/interchaintest/misbehaviour_test.go +++ b/interchaintest/misbehaviour_test.go @@ -14,12 +14,15 @@ import ( cometprotoversion "github.com/cometbft/cometbft/proto/tendermint/version" comettypes "github.com/cometbft/cometbft/types" cometversion "github.com/cometbft/cometbft/version" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdked25519 "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" "github.com/cosmos/cosmos-sdk/std" sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/gogoproto/proto" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v7/modules/core/exported" ibctypes "github.com/cosmos/ibc-go/v7/modules/core/types" ibccomettypes "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" ibctesting "github.com/cosmos/ibc-go/v7/testing" @@ -90,6 +93,7 @@ func TestScenarioMisbehaviourDetection(t *testing.T) { // create a new user account and wait a few blocks for it to be created on chain user := interchaintest.GetAndFundTestUsers(t, ctx, "user-1", 10_000_000, chainA)[0] err = testutil.WaitForBlocks(ctx, 5, chainA) + require.NoError(t, err) // Start the relayer require.NoError(t, r.StartRelayer(ctx, eRep, pathChainAChainB)) @@ -171,9 +175,18 @@ func TestScenarioMisbehaviourDetection(t *testing.T) { // attempt to update client with duplicate header b := cosmos.NewBroadcaster(t, chainA) - msg, err := clienttypes.NewMsgUpdateClient(clientID, newHeader, user.FormattedAddress()) + m, ok := newHeader.(proto.Message) + require.True(t, ok) + + protoAny, err := codectypes.NewAnyWithValue(m) require.NoError(t, err) + msg := &clienttypes.MsgUpdateClient{ + ClientId: clientID, + ClientMessage: protoAny, + Signer: user.FormattedAddress(), + } + resp, err := cosmos.BroadcastTx(ctx, b, user, msg) require.NoError(t, err) assertTransactionIsValid(t, resp) @@ -200,6 +213,7 @@ func TestScenarioMisbehaviourDetection(t *testing.T) { } func assertTransactionIsValid(t *testing.T, resp sdk.TxResponse) { + t.Helper() require.NotNil(t, resp) require.NotEqual(t, 0, resp.GasUsed) require.NotEqual(t, 0, resp.GasWanted) @@ -209,7 +223,13 @@ func assertTransactionIsValid(t *testing.T, resp sdk.TxResponse) { require.NotEmpty(t, resp.Events) } -func queryHeaderAtHeight(ctx context.Context, t *testing.T, height int64, chain *cosmos.CosmosChain) (*ibccomettypes.Header, error) { +func queryHeaderAtHeight( + ctx context.Context, + t *testing.T, + height int64, + chain *cosmos.CosmosChain, +) (*ibccomettypes.Header, error) { + t.Helper() var ( page = 1 perPage = 100000 @@ -239,7 +259,8 @@ func createTMClientHeader( tmValSet, tmTrustedVals *comettypes.ValidatorSet, signers []comettypes.PrivValidator, oldHeader *ibccomettypes.Header, -) *ibccomettypes.Header { +) exported.ClientMessage { + t.Helper() var ( valSet *cometproto.ValidatorSet trustedVals *cometproto.ValidatorSet diff --git a/interchaintest/relayer.go b/interchaintest/relayer.go index 1283ac9a8..d06c0e1b8 100644 --- a/interchaintest/relayer.go +++ b/interchaintest/relayer.go @@ -84,13 +84,13 @@ func (r *Relayer) AddChainConfiguration(ctx context.Context, _ ibc.RelayerExecRe return nil } -func (r *Relayer) AddKey(ctx context.Context, _ ibc.RelayerExecReporter, chainID, keyName, coinType, signingAlgorithm string) (ibc.Wallet, error) { - res := r.sys().RunC(ctx, r.log(), "keys", "add", chainID, keyName, "--coin-type", coinType, "--signing-algorithm", signingAlgorithm) +func (r *Relayer) AddKey(ctx context.Context, _ ibc.RelayerExecReporter, chainID, keyName, coinType string) (ibc.Wallet, error) { + res := r.sys().RunC(ctx, r.log(), "keys", "add", chainID, keyName, "--coin-type", coinType) if res.Err != nil { return nil, res.Err } - var w ibc.Wallet + var w *interchaintestcosmos.CosmosWallet if err := json.Unmarshal(res.Stdout.Bytes(), &w); err != nil { return nil, err } @@ -98,8 +98,8 @@ func (r *Relayer) AddKey(ctx context.Context, _ ibc.RelayerExecReporter, chainID return w, nil } -func (r *Relayer) RestoreKey(ctx context.Context, _ ibc.RelayerExecReporter, chainID, keyName, coinType, signingAlgorithm, mnemonic string) error { - res := r.sys().RunC(ctx, r.log(), "keys", "restore", chainID, keyName, mnemonic, "--coin-type", coinType, "--signing-algorithm", signingAlgorithm) +func (r *Relayer) RestoreKey(ctx context.Context, _ ibc.RelayerExecReporter, cfg ibc.ChainConfig, keyName, mnemonic string) error { + res := r.sys().RunC(ctx, r.log(), "keys", "restore", cfg.ChainID, keyName, mnemonic, "--coin-type", cfg.CoinType) if res.Err != nil { return res.Err } @@ -348,3 +348,10 @@ func (r *Relayer) GetWallet(chainID string) (ibc.Wallet, bool) { } return rly.NewWallet(keyName, address, ""), true } + +// SetClientContractHash sets the wasm client contract hash in the chain's config if the counterparty chain in a path used 08-wasm +// to instantiate the client. +func (r *Relayer) SetClientContractHash(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, hash string) error { + //TODO implement me + panic("implement me") +} diff --git a/interchaintest/relayer_factory.go b/interchaintest/relayer_factory.go index 9349a72a3..c833591bc 100644 --- a/interchaintest/relayer_factory.go +++ b/interchaintest/relayer_factory.go @@ -5,7 +5,6 @@ import ( "github.com/docker/docker/client" "github.com/strangelove-ventures/interchaintest/v7/ibc" - "github.com/strangelove-ventures/interchaintest/v7/label" interchaintestrelayer "github.com/strangelove-ventures/interchaintest/v7/relayer" ) @@ -41,8 +40,4 @@ func (RelayerFactory) Capabilities() map[interchaintestrelayer.Capability]bool { return interchaintestrelayer.FullCapabilities() } -func (RelayerFactory) Labels() []label.Relayer { - return []label.Relayer{label.Rly} -} - func (RelayerFactory) Name() string { return "github.com/cosmos/relayer" } diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index 6a428d55c..b4bef6d47 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -12,6 +12,7 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" "github.com/cosmos/relayer/v2/relayer/processor" "github.com/cosmos/relayer/v2/relayer/provider" @@ -166,15 +167,29 @@ func (ccp *CosmosChainProcessor) clientState(ctx context.Context, clientID strin if state, ok := ccp.latestClientState[clientID]; ok && state.TrustingPeriod > 0 { return state, nil } - cs, err := ccp.chainProvider.queryTMClientState(ctx, int64(ccp.latestBlock.Height), clientID) - if err != nil { - return provider.ClientState{}, err - } - clientState := provider.ClientState{ - ClientID: clientID, - ConsensusHeight: cs.GetLatestHeight().(clienttypes.Height), - TrustingPeriod: cs.TrustingPeriod, + + var clientState provider.ClientState + if clientID == ibcexported.LocalhostClientID { + cs, err := ccp.chainProvider.queryLocalhostClientState(ctx, int64(ccp.latestBlock.Height)) + if err != nil { + return provider.ClientState{}, err + } + clientState = provider.ClientState{ + ClientID: clientID, + ConsensusHeight: cs.GetLatestHeight().(clienttypes.Height), + } + } else { + cs, err := ccp.chainProvider.queryTMClientState(ctx, int64(ccp.latestBlock.Height), clientID) + if err != nil { + return provider.ClientState{}, err + } + clientState = provider.ClientState{ + ClientID: clientID, + ConsensusHeight: cs.GetLatestHeight().(clienttypes.Height), + TrustingPeriod: cs.TrustingPeriod, + } } + ccp.latestClientState[clientID] = clientState return clientState, nil } diff --git a/relayer/chains/cosmos/msg.go b/relayer/chains/cosmos/msg.go index 85621e95c..6f0dfeb14 100644 --- a/relayer/chains/cosmos/msg.go +++ b/relayer/chains/cosmos/msg.go @@ -10,7 +10,6 @@ import ( "go.uber.org/zap/zapcore" ) - type CosmosMessage struct { Msg sdk.Msg } @@ -34,7 +33,7 @@ func CosmosMsgs(rm ...provider.RelayerMessage) []sdk.Msg { sdkMsgs := make([]sdk.Msg, 0) for _, rMsg := range rm { if val, ok := rMsg.(CosmosMessage); !ok { - fmt.Printf("got data of type %T but wanted provider.CosmosMessage \n", val) + fmt.Printf("got data of type %T but wanted provider.CosmosMessage \n", rMsg) return nil } else { sdkMsgs = append(sdkMsgs, val.Msg) diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index e10af47ee..e4c06714d 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -38,6 +38,7 @@ import ( host "github.com/cosmos/ibc-go/v7/modules/core/24-host" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" tmclient "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" + localhost "github.com/cosmos/ibc-go/v7/modules/light-clients/09-localhost" strideicqtypes "github.com/cosmos/relayer/v2/relayer/chains/cosmos/stride" "github.com/cosmos/relayer/v2/relayer/ethermint" "github.com/cosmos/relayer/v2/relayer/provider" @@ -1226,7 +1227,29 @@ func (cc *CosmosProvider) queryTMClientState(ctx context.Context, srch int64, sr clientState, ok := clientStateExported.(*tmclient.ClientState) if !ok { return &tmclient.ClientState{}, - fmt.Errorf("error when casting exported clientstate to tendermint type") + fmt.Errorf("error when casting exported clientstate to tendermint type, got(%T)", clientStateExported) + } + + return clientState, nil +} + +// queryLocalhostClientState retrieves the latest consensus state for a client in state at a given height +// and unpacks/cast it to localhost client state. +func (cc *CosmosProvider) queryLocalhostClientState(ctx context.Context, srch int64) (*localhost.ClientState, error) { + clientStateRes, err := cc.QueryClientStateResponse(ctx, srch, ibcexported.LocalhostClientID) + if err != nil { + return &localhost.ClientState{}, err + } + + clientStateExported, err := clienttypes.UnpackClientState(clientStateRes.ClientState) + if err != nil { + return &localhost.ClientState{}, err + } + + clientState, ok := clientStateExported.(*localhost.ClientState) + if !ok { + return &localhost.ClientState{}, + fmt.Errorf("error when casting exported clientstate to localhost client type, got(%T)", clientStateExported) } return clientState, nil diff --git a/relayer/processor/message_processor.go b/relayer/processor/message_processor.go index 7a4f3fe1c..bb0f66b12 100644 --- a/relayer/processor/message_processor.go +++ b/relayer/processor/message_processor.go @@ -9,6 +9,7 @@ import ( "time" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -28,6 +29,8 @@ type messageProcessor struct { connMsgs []connectionMessageToTrack chanMsgs []channelMessageToTrack clientICQMsgs []clientICQMessageToTrack + + isLocalhost bool } // trackMessage stores the message tracker in the correct slice and index based on the type. @@ -66,12 +69,14 @@ func newMessageProcessor( metrics *PrometheusMetrics, memo string, clientUpdateThresholdTime time.Duration, + isLocalhost bool, ) *messageProcessor { return &messageProcessor{ log: log, metrics: metrics, memo: memo, clientUpdateThresholdTime: clientUpdateThresholdTime, + isLocalhost: isLocalhost, } } @@ -82,13 +87,19 @@ func (mp *messageProcessor) processMessages( messages pathEndMessages, src, dst *pathEndRuntime, ) error { - needsClientUpdate, err := mp.shouldUpdateClientNow(ctx, src, dst) - if err != nil { - return err - } + var needsClientUpdate bool + + // Localhost IBC does not permit client updates + if src.clientState.ClientID != ibcexported.LocalhostClientID && dst.clientState.ClientID != ibcexported.LocalhostConnectionID { + var err error + needsClientUpdate, err = mp.shouldUpdateClientNow(ctx, src, dst) + if err != nil { + return err + } - if err := mp.assembleMsgUpdateClient(ctx, src, dst); err != nil { - return err + if err := mp.assembleMsgUpdateClient(ctx, src, dst); err != nil { + return err + } } mp.assembleMessages(ctx, messages, src, dst) @@ -147,10 +158,12 @@ func (mp *messageProcessor) shouldUpdateClientNow(ctx context.Context, src, dst func (mp *messageProcessor) assembleMessages(ctx context.Context, messages pathEndMessages, src, dst *pathEndRuntime) { var wg sync.WaitGroup - mp.connMsgs = make([]connectionMessageToTrack, len(messages.connectionMessages)) - for i, msg := range messages.connectionMessages { - wg.Add(1) - go mp.assembleMessage(ctx, msg, src, dst, i, &wg) + if !mp.isLocalhost { + mp.connMsgs = make([]connectionMessageToTrack, len(messages.connectionMessages)) + for i, msg := range messages.connectionMessages { + wg.Add(1) + go mp.assembleMessage(ctx, msg, src, dst, i, &wg) + } } mp.chanMsgs = make([]channelMessageToTrack, len(messages.channelMessages)) @@ -159,10 +172,12 @@ func (mp *messageProcessor) assembleMessages(ctx context.Context, messages pathE go mp.assembleMessage(ctx, msg, src, dst, i, &wg) } - mp.clientICQMsgs = make([]clientICQMessageToTrack, len(messages.clientICQMessages)) - for i, msg := range messages.clientICQMessages { - wg.Add(1) - go mp.assembleMessage(ctx, msg, src, dst, i, &wg) + if !mp.isLocalhost { + mp.clientICQMsgs = make([]clientICQMessageToTrack, len(messages.clientICQMessages)) + for i, msg := range messages.clientICQMessages { + wg.Add(1) + go mp.assembleMessage(ctx, msg, src, dst, i, &wg) + } } mp.pktMsgs = make([]packetMessageToTrack, len(messages.packetMessages)) @@ -354,13 +369,25 @@ func (mp *messageProcessor) sendBatchMessages( broadcastCtx, cancel := context.WithTimeout(ctx, messageSendTimeout) defer cancel() - // messages are batch with appended MsgUpdateClient - msgs := make([]provider.RelayerMessage, 1+len(batch)) - msgs[0] = mp.msgUpdateClient - fields := []zapcore.Field{} - for i, t := range batch { - msgs[i+1] = t.assembledMsg() - fields = append(fields, zap.Object(fmt.Sprintf("msg_%d", i), t)) + var ( + msgs []provider.RelayerMessage + fields []zapcore.Field + ) + + if mp.isLocalhost { + msgs = make([]provider.RelayerMessage, len(batch)) + for i, t := range batch { + msgs[i] = t.assembledMsg() + fields = append(fields, zap.Object(fmt.Sprintf("msg_%d", i), t)) + } + } else { + // messages are batch with appended MsgUpdateClient + msgs = make([]provider.RelayerMessage, 1+len(batch)) + msgs[0] = mp.msgUpdateClient + for i, t := range batch { + msgs[i+1] = t.assembledMsg() + fields = append(fields, zap.Object(fmt.Sprintf("msg_%d", i), t)) + } } dst.log.Debug("Will relay messages", fields...) @@ -412,7 +439,13 @@ func (mp *messageProcessor) sendSingleMessage( src, dst *pathEndRuntime, tracker messageToTrack, ) { - msgs := []provider.RelayerMessage{mp.msgUpdateClient, tracker.assembledMsg()} + var msgs []provider.RelayerMessage + + if mp.isLocalhost { + msgs = []provider.RelayerMessage{tracker.assembledMsg()} + } else { + msgs = []provider.RelayerMessage{mp.msgUpdateClient, tracker.assembledMsg()} + } broadcastCtx, cancel := context.WithTimeout(ctx, messageSendTimeout) defer cancel() diff --git a/relayer/processor/path_end_runtime.go b/relayer/processor/path_end_runtime.go index f7c9ffa3f..031ea60bb 100644 --- a/relayer/processor/path_end_runtime.go +++ b/relayer/processor/path_end_runtime.go @@ -5,8 +5,10 @@ import ( "sync" "time" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" ) @@ -28,6 +30,7 @@ type pathEndRuntime struct { clientTrustedState provider.ClientTrustedState connectionStateCache ConnectionStateCache channelStateCache ChannelStateCache + channelOrderCache map[string]chantypes.Order latestHeader provider.IBCHeader ibcHeaderCache IBCHeaderCache @@ -69,6 +72,7 @@ func newPathEndRuntime(log *zap.Logger, pathEnd PathEnd, metrics *PrometheusMetr packetProcessing: make(packetProcessingCache), connProcessing: make(connectionProcessingCache), channelProcessing: make(channelProcessingCache), + channelOrderCache: make(map[string]chantypes.Order), clientICQProcessing: make(clientICQProcessingCache), connSubscribers: make(map[string][]func(provider.ConnectionInfo)), metrics: metrics, @@ -603,6 +607,13 @@ func (pathEnd *pathEndRuntime) shouldSendChannelMessage(message channelIBCMessag if eventType != chantypes.EventTypeChannelOpenInit { channelKey = channelKey.Counterparty() } + + // For localhost cache the channel order on OpenInit so that we can access it during the other channel handshake steps + if pathEnd.info.ClientID == ibcexported.LocalhostClientID && eventType == chantypes.EventTypeChannelOpenInit { + pathEnd.channelOrderCache[channelKey.ChannelID] = message.info.Order + counterparty.channelOrderCache[channelKey.CounterpartyChannelID] = message.info.Order + } + if message.info.Height >= counterparty.latestBlock.Height { pathEnd.log.Debug("Waiting to relay channel message until counterparty height has incremented", zap.Inline(channelKey), @@ -839,3 +850,27 @@ func (pathEnd *pathEndRuntime) trackProcessingMessage(tracker messageToTrack) ui return retryCount } + +func (pathEnd *pathEndRuntime) localhostSentinelProofPacket( + _ context.Context, + _ provider.PacketInfo, + height uint64, +) (provider.PacketProof, error) { + return provider.PacketProof{ + Proof: []byte{0x01}, + ProofHeight: clienttypes.NewHeight(clienttypes.ParseChainID(pathEnd.info.ChainID), height), + }, nil +} + +func (pathEnd *pathEndRuntime) localhostSentinelProofChannel( + _ context.Context, + info provider.ChannelInfo, + height uint64, +) (provider.ChannelProof, error) { + return provider.ChannelProof{ + Proof: []byte{0x01}, + ProofHeight: clienttypes.NewHeight(clienttypes.ParseChainID(pathEnd.info.ChainID), height), + Ordering: info.Order, + Version: info.Version, + }, nil +} diff --git a/relayer/processor/path_processor.go b/relayer/processor/path_processor.go index d6df17eea..d41296a4f 100644 --- a/relayer/processor/path_processor.go +++ b/relayer/processor/path_processor.go @@ -5,6 +5,8 @@ import ( "fmt" "time" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" ) @@ -74,6 +76,9 @@ type PathProcessor struct { sentInitialMsg bool + // true if this is a localhost IBC connection + isLocalhost bool + maxMsgs uint64 metrics *PrometheusMetrics @@ -101,6 +106,8 @@ func NewPathProcessor( flushInterval time.Duration, maxMsgs uint64, ) *PathProcessor { + isLocalhost := pathEnd1.ClientID == ibcexported.LocalhostClientID + pp := &PathProcessor{ log: log, pathEnd1: newPathEndRuntime(log, pathEnd1, metrics), @@ -110,6 +117,7 @@ func NewPathProcessor( clientUpdateThresholdTime: clientUpdateThresholdTime, flushInterval: flushInterval, metrics: metrics, + isLocalhost: isLocalhost, maxMsgs: maxMsgs, } if flushInterval == 0 { @@ -205,9 +213,19 @@ func (pp *PathProcessor) SetChainProviderIfApplicable(chainProvider provider.Cha } if pp.pathEnd1.info.ChainID == chainProvider.ChainId() { pp.pathEnd1.chainProvider = chainProvider + + if pp.isLocalhost { + pp.pathEnd2.chainProvider = chainProvider + } + return true } else if pp.pathEnd2.info.ChainID == chainProvider.ChainId() { pp.pathEnd2.chainProvider = chainProvider + + if pp.isLocalhost { + pp.pathEnd1.chainProvider = chainProvider + } + return true } return false @@ -264,6 +282,11 @@ func (pp *PathProcessor) ProcessBacklogIfReady() { // ChainProcessors call this method when they have new IBC messages func (pp *PathProcessor) HandleNewData(chainID string, cacheData ChainProcessorCacheData) { + if pp.isLocalhost { + pp.handleLocalhostData(cacheData) + return + } + if pp.pathEnd1.info.ChainID == chainID { pp.pathEnd1.incomingCacheData <- cacheData } else if pp.pathEnd2.info.ChainID == chainID { @@ -354,3 +377,116 @@ func (pp *PathProcessor) Run(ctx context.Context, cancel func()) { } } } + +func (pp *PathProcessor) handleLocalhostData(cacheData ChainProcessorCacheData) { + pathEnd1Cache := ChainProcessorCacheData{ + IBCMessagesCache: NewIBCMessagesCache(), + InSync: cacheData.InSync, + ClientState: cacheData.ClientState, + ConnectionStateCache: cacheData.ConnectionStateCache, + ChannelStateCache: cacheData.ChannelStateCache, + LatestBlock: cacheData.LatestBlock, + LatestHeader: cacheData.LatestHeader, + IBCHeaderCache: cacheData.IBCHeaderCache, + } + pathEnd2Cache := ChainProcessorCacheData{ + IBCMessagesCache: NewIBCMessagesCache(), + InSync: cacheData.InSync, + ClientState: cacheData.ClientState, + ConnectionStateCache: cacheData.ConnectionStateCache, + ChannelStateCache: cacheData.ChannelStateCache, + LatestBlock: cacheData.LatestBlock, + LatestHeader: cacheData.LatestHeader, + IBCHeaderCache: cacheData.IBCHeaderCache, + } + + // split up data and send lower channel-id data to pathEnd1 and higher channel-id data to pathEnd2. + for k, v := range cacheData.IBCMessagesCache.PacketFlow { + chan1, err := chantypes.ParseChannelSequence(k.ChannelID) + if err != nil { + pp.log.Error("Failed to parse channel ID int from string", zap.Error(err)) + continue + } + + chan2, err := chantypes.ParseChannelSequence(k.CounterpartyChannelID) + if err != nil { + pp.log.Error("Failed to parse channel ID int from string", zap.Error(err)) + continue + } + + if chan1 < chan2 { + pathEnd1Cache.IBCMessagesCache.PacketFlow[k] = v + } else { + pathEnd2Cache.IBCMessagesCache.PacketFlow[k] = v + } + } + + for eventType, c := range cacheData.IBCMessagesCache.ChannelHandshake { + for k, v := range c { + switch eventType { + case chantypes.EventTypeChannelOpenInit, chantypes.EventTypeChannelOpenAck, chantypes.EventTypeChannelCloseInit: + if _, ok := pathEnd1Cache.IBCMessagesCache.ChannelHandshake[eventType]; !ok { + pathEnd1Cache.IBCMessagesCache.ChannelHandshake[eventType] = make(ChannelMessageCache) + } + if order, ok := pp.pathEnd1.channelOrderCache[k.ChannelID]; ok { + v.Order = order + } + if order, ok := pp.pathEnd2.channelOrderCache[k.CounterpartyChannelID]; ok { + v.Order = order + } + // TODO this is insanely hacky, need to figure out how to handle the ordering dilemma on ordered chans + if v.Order == chantypes.NONE { + v.Order = chantypes.ORDERED + } + pathEnd1Cache.IBCMessagesCache.ChannelHandshake[eventType][k] = v + case chantypes.EventTypeChannelOpenTry, chantypes.EventTypeChannelOpenConfirm, chantypes.EventTypeChannelCloseConfirm: + if _, ok := pathEnd2Cache.IBCMessagesCache.ChannelHandshake[eventType]; !ok { + pathEnd2Cache.IBCMessagesCache.ChannelHandshake[eventType] = make(ChannelMessageCache) + } + if order, ok := pp.pathEnd2.channelOrderCache[k.ChannelID]; ok { + v.Order = order + } + if order, ok := pp.pathEnd1.channelOrderCache[k.CounterpartyChannelID]; ok { + v.Order = order + } + + pathEnd2Cache.IBCMessagesCache.ChannelHandshake[eventType][k] = v + default: + pp.log.Error("Invalid IBC channel event type", zap.String("event_type", eventType)) + } + } + } + + channelStateCache1 := make(map[ChannelKey]bool) + channelStateCache2 := make(map[ChannelKey]bool) + + // split up data and send lower channel-id data to pathEnd2 and higher channel-id data to pathEnd1. + for k, v := range cacheData.ChannelStateCache { + chan1, err := chantypes.ParseChannelSequence(k.ChannelID) + chan2, secErr := chantypes.ParseChannelSequence(k.CounterpartyChannelID) + + if err != nil && secErr != nil { + continue + } + + // error parsing counterparty chan ID so write chan state to src cache. + // this should indicate that the chan handshake has not progressed past the TRY so, + // counterparty chan id has not been initialized yet. + if secErr != nil && err == nil { + channelStateCache1[k] = v + continue + } + + if chan1 > chan2 { + channelStateCache2[k] = v + } else { + channelStateCache1[k] = v + } + } + + pathEnd1Cache.ChannelStateCache = channelStateCache1 + pathEnd2Cache.ChannelStateCache = channelStateCache2 + + pp.pathEnd1.incomingCacheData <- pathEnd1Cache + pp.pathEnd2.incomingCacheData <- pathEnd2Cache +} diff --git a/relayer/processor/path_processor_internal.go b/relayer/processor/path_processor_internal.go index 79d1740c5..7a1aa2037 100644 --- a/relayer/processor/path_processor_internal.go +++ b/relayer/processor/path_processor_internal.go @@ -499,6 +499,7 @@ func (pp *PathProcessor) unrelayedChannelHandshakeMessages( eventType: chantypes.EventTypeChannelOpenTry, info: info, } + if pathEndChannelHandshakeMessages.Dst.shouldSendChannelMessage( msgOpenTry, pathEndChannelHandshakeMessages.Src, ) { @@ -1005,11 +1006,11 @@ func (pp *PathProcessor) processLatestMessages(ctx context.Context, cancel func( // if sending messages fails to one pathEnd, we don't need to halt sending to the other pathEnd. var eg errgroup.Group eg.Go(func() error { - mp := newMessageProcessor(pp.log, pp.metrics, pp.memo, pp.clientUpdateThresholdTime) + mp := newMessageProcessor(pp.log, pp.metrics, pp.memo, pp.clientUpdateThresholdTime, pp.isLocalhost) return mp.processMessages(ctx, pathEnd1Messages, pp.pathEnd2, pp.pathEnd1) }) eg.Go(func() error { - mp := newMessageProcessor(pp.log, pp.metrics, pp.memo, pp.clientUpdateThresholdTime) + mp := newMessageProcessor(pp.log, pp.metrics, pp.memo, pp.clientUpdateThresholdTime, pp.isLocalhost) return mp.processMessages(ctx, pathEnd2Messages, pp.pathEnd1, pp.pathEnd2) }) return eg.Wait() diff --git a/relayer/processor/types_internal.go b/relayer/processor/types_internal.go index 5bb403429..d135f123c 100644 --- a/relayer/processor/types_internal.go +++ b/relayer/processor/types_internal.go @@ -8,6 +8,7 @@ import ( conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap/zapcore" ) @@ -82,6 +83,9 @@ func (msg packetIBCMessage) assemble( default: return nil, fmt.Errorf("unexepected packet message eventType for message assembly: %s", msg.eventType) } + if src.clientState.ClientID == ibcexported.LocalhostClientID { + packetProof = src.localhostSentinelProofPacket + } ctx, cancel := context.WithTimeout(ctx, packetProofQueryTimeout) defer cancel() @@ -171,6 +175,10 @@ func (msg channelIBCMessage) assemble( default: return nil, fmt.Errorf("unexepected channel message eventType for message assembly: %s", msg.eventType) } + if src.clientState.ClientID == ibcexported.LocalhostClientID { + chanProof = src.localhostSentinelProofChannel + } + var proof provider.ChannelProof var err error if chanProof != nil { @@ -243,6 +251,7 @@ func (msg connectionIBCMessage) assemble( default: return nil, fmt.Errorf("unexepected connection message eventType for message assembly: %s", msg.eventType) } + var proof provider.ConnectionProof var err error if connProof != nil { @@ -251,6 +260,7 @@ func (msg connectionIBCMessage) assemble( return nil, fmt.Errorf("error querying connection proof: %w", err) } } + return assembleMessage(msg.info, proof) } diff --git a/relayer/provider/provider.go b/relayer/provider/provider.go index 0c3bf3d79..a740dd845 100644 --- a/relayer/provider/provider.go +++ b/relayer/provider/provider.go @@ -396,7 +396,6 @@ type ChainProvider interface { MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayeeAddr string) (RelayerMessage, error) - ChainName() string ChainId() string Type() string From 253a641eb5134751d445577f8ca176a60cc12b35 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Thu, 6 Jul 2023 03:30:57 +0800 Subject: [PATCH 11/58] dep: bump cometbft and ibc-go (#1221) * bump cometbft to v0.37.2 * bump ibc-go to v7.2.0 * add change doc --- CHANGELOG.md | 1 + go.mod | 41 ++-- go.sum | 94 ++++---- go.work.sum | 538 ++++++++---------------------------------- interchaintest/go.mod | 42 ++-- interchaintest/go.sum | 102 ++++---- 6 files changed, 248 insertions(+), 570 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b7e44543..dddbca7fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ * [\#1205](https://github.com/cosmos/relayer/pull/1205) Update ibc-go to v7.0.1. * [\#1179](https://github.com/cosmos/relayer/pull/1179) Add extension-options parameter in chain configs and update SDK to v0.47.3. * [\#1208](https://github.com/cosmos/relayer/pull/1208) Replace gogo/protobuf to cosmos/gogoproto. +* [\#1221](https://github.com/cosmos/relayer/pull/1221) Update cometbft to v0.37.2 and ibc-go to v7.2.0. ## v0.9.3 diff --git a/go.mod b/go.mod index 06932bf3f..a25a99b52 100644 --- a/go.mod +++ b/go.mod @@ -9,12 +9,12 @@ require ( github.com/avast/retry-go/v4 v4.3.2 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcutil v1.1.3 - github.com/cometbft/cometbft v0.37.1 + github.com/cometbft/cometbft v0.37.2 github.com/cosmos/cosmos-proto v1.0.0-beta.2 github.com/cosmos/cosmos-sdk v0.47.3 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.4.10 - github.com/cosmos/ibc-go/v7 v7.1.0-rc0 + github.com/cosmos/ibc-go/v7 v7.2.0 github.com/cosmos/ics23/go v0.10.0 github.com/ethereum/go-ethereum v1.10.26 github.com/gofrs/flock v0.8.1 @@ -23,9 +23,9 @@ require ( github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/jsternberg/zap-logfmt v1.3.0 github.com/prometheus/client_golang v1.14.0 - github.com/spf13/cobra v1.6.1 - github.com/spf13/viper v1.15.0 - github.com/stretchr/testify v1.8.2 + github.com/spf13/cobra v1.7.0 + github.com/spf13/viper v1.16.0 + github.com/stretchr/testify v1.8.4 github.com/tyler-smith/go-bip39 v1.1.0 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.24.0 @@ -39,9 +39,9 @@ require ( require ( cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.18.0 // indirect + cloud.google.com/go/compute v1.19.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.12.0 // indirect + cloud.google.com/go/iam v0.13.0 // indirect cloud.google.com/go/storage v1.29.0 // indirect cosmossdk.io/core v0.5.1 // indirect cosmossdk.io/depinject v1.0.0-alpha.3 // indirect @@ -64,7 +64,7 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chzyer/readline v1.5.1 // indirect github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect - github.com/cometbft/cometbft-db v0.7.0 // indirect + github.com/cometbft/cometbft-db v0.8.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect @@ -98,9 +98,10 @@ require ( github.com/google/btree v1.1.2 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/orderedcode v0.0.1 // indirect + github.com/google/s2a-go v0.1.3 // indirect github.com/google/uuid v1.3.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.7.0 // indirect + github.com/googleapis/gax-go/v2 v2.8.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -125,6 +126,7 @@ require ( github.com/klauspost/compress v1.16.3 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect + github.com/linxGnu/grocksdb v1.7.16 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect @@ -137,7 +139,7 @@ require ( github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect - github.com/pelletier/go-toml/v2 v2.0.7 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect @@ -149,13 +151,12 @@ require ( github.com/rs/cors v1.8.3 // indirect github.com/rs/zerolog v1.29.1 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect - github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect - github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/tidwall/btree v1.6.0 // indirect github.com/tklauser/numcpus v0.4.0 // indirect @@ -165,16 +166,16 @@ require ( go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect - golang.org/x/crypto v0.8.0 // indirect + golang.org/x/crypto v0.9.0 // indirect golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc // indirect - golang.org/x/net v0.9.0 // indirect - golang.org/x/oauth2 v0.6.0 // indirect - golang.org/x/sys v0.7.0 // indirect - golang.org/x/term v0.7.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/oauth2 v0.7.0 // indirect + golang.org/x/sys v0.8.0 // indirect + golang.org/x/term v0.8.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.110.0 // indirect + google.golang.org/api v0.122.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect nhooyr.io/websocket v1.8.6 // indirect diff --git a/go.sum b/go.sum index aac82b47b..8ef18b6f2 100644 --- a/go.sum +++ b/go.sum @@ -70,8 +70,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.18.0 h1:FEigFqoDbys2cvFkZ9Fjq4gnHBP55anJ0yQyau2f9oY= -cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0 h1:+9zda3WGgW1ZSTlVppLCYFIr48Pa35q1uG2N1itbCEQ= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -111,8 +111,8 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.12.0 h1:DRtTY29b75ciH6Ov1PHb4/iat2CLCvrOm40Q0a6DFpE= -cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= @@ -331,10 +331,10 @@ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:z github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= -github.com/cometbft/cometbft v0.37.1 h1:KLxkQTK2hICXYq21U2hn1W5hOVYUdQgDQ1uB+90xPIg= -github.com/cometbft/cometbft v0.37.1/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= -github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= -github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= +github.com/cometbft/cometbft v0.37.2 h1:XB0yyHGT0lwmJlFmM4+rsRnczPlHoAKFX6K8Zgc2/Jc= +github.com/cometbft/cometbft v0.37.2/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= +github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= +github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= @@ -360,8 +360,8 @@ github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoK github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= -github.com/cosmos/ibc-go/v7 v7.1.0-rc0 h1:b78+/74AJDp0Sc7utMO1l4nI/u4ERnyta1nqooqQrGI= -github.com/cosmos/ibc-go/v7 v7.1.0-rc0/go.mod h1:7MptlWeIyqmDiuJeRAFqBvXKY8Hybd+rF8vMSmGd2zg= +github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= +github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= @@ -424,9 +424,6 @@ github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go. github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ethereum/go-ethereum v1.10.26 h1:i/7d9RBBwiXCEuyduBQzJw/mKmnvzsN14jqBmytw72s= github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= @@ -434,7 +431,7 @@ github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= @@ -589,6 +586,8 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE= +github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -607,8 +606,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= -github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.8.0 h1:UBtEZqx1bjXtOQ5BVTkuYghXrr3N4V123VKJK67vJZc= +github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -691,7 +690,6 @@ github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1: github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= @@ -749,6 +747,8 @@ github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linxGnu/grocksdb v1.7.16 h1:Q2co1xrpdkr5Hx3Fp+f+f7fRGhQFQhvi/+226dtLmA8= +github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -853,8 +853,8 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml/v2 v2.0.7 h1:muncTPStnKRos5dpVKULv2FVd4bMOhNePj9CjgDb8Us= -github.com/pelletier/go-toml/v2 v2.0.7/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= @@ -944,15 +944,15 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -961,8 +961,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -981,15 +981,14 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= @@ -1069,9 +1068,10 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ= -golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1163,6 +1163,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1175,8 +1176,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1202,8 +1203,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw= -golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1319,13 +1320,13 @@ golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1335,6 +1336,7 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= @@ -1464,8 +1466,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.110.0 h1:l+rh0KYUooe9JGbGVx71tbFo4SMbMTXK3I3ia2QSEeU= -google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.122.0 h1:zDobeejm3E7pEG1mNHvdxvjs5XJoCMzyNH+CmwL94Es= +google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1583,8 +1585,8 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= diff --git a/go.work.sum b/go.work.sum index c9bb32c60..2767b9f8c 100644 --- a/go.work.sum +++ b/go.work.sum @@ -9,298 +9,196 @@ cloud.google.com/go/accessapproval v1.5.0 h1:/nTivgnV/n1CaAeo+ekGexTYUsKEU9jUVko cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= -cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= -cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= +cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= -cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= -cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= -cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= -cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= -cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= -cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= -cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= -cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= +cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= -cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= -cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= -cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= -cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= -cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= -cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= +cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= -cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= -cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= -cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= -cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= -cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= -cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= -cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= -cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= -cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= -cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= -cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= -cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= -cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= -cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= -cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= -cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= -cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= -cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= +cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= -cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= -cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= +cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= -cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= -cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= -cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= -cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= -cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= -cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= -cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= -cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= -cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= -cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= -cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= -cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= -cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= -cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= -cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= -cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= -cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= -cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= -cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= -cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= -cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= -cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= -cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= -github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= -github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= -github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/CosmWasm/wasmd v0.40.0-rc.1/go.mod h1:uacdue6EGn9JA1TqBNHB3iCe4PCIChuFT23AzIl2VME= -github.com/CosmWasm/wasmvm v1.2.3/go.mod h1:vW/E3h8j9xBQs9bCoijDuawKo9kCtxOaS8N8J7KFtkc= -github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= -github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= -github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= -github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= -github.com/Microsoft/hcsshim v0.9.4/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= -github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= -github.com/alecthomas/participle/v2 v2.0.0-alpha7/go.mod h1:NumScqsC42o9x+dGj8/YqsIfhrIQjFEOFovxotbBirA= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= -github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= -github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= -github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= -github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= -github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= -github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= -github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= -github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= -github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= -github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= -github.com/bradleyfalzon/ghinstallation/v2 v2.0.4/go.mod h1:B40qPqJxWE0jDZgOR1JmaMy+4AY1eBP+IByOvqyAKp0= github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= -github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= -github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= -github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= -github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= -github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/apd/v3 v3.1.0/go.mod h1:6qgPBMXjATAdD/VefbRP9NoSLKjbB4LCoA7gN4LpHs4= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= -github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677/go.mod h1:890yq1fUb9b6dGNwssgeUO5vQV9qfXnCPxAJhBQfXw0= -github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= -github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= -github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= -github.com/containerd/cgroups v1.0.4/go.mod h1:nLNQtsF7Sl2HxNebu77i1R0oDlhiTG+kO4JTrUzo6IA= -github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= -github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= -github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= -github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= -github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= -github.com/containerd/go-cni v1.1.6/go.mod h1:BWtoWl5ghVymxu6MBjg79W9NZrCRyHIdUtk4cauMe34= -github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= -github.com/containerd/imgcrypt v1.1.4/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO8j/tSUpgxvo= -github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= -github.com/containernetworking/cni v1.1.1/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= -github.com/containernetworking/plugins v1.1.1/go.mod h1:Sr5TH/eBsGLXK/h71HeLfX19sZPp3ry5uHSkI4LPxV8= -github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= -github.com/containers/ocicrypt v1.1.3/go.mod h1:xpdkbVAuaH3WzbEabUd5yDsl9SwJA5pABH85425Es2g= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32/go.mod h1:kwMlEC4wWvB48zAShGKVqboJL6w4zCLesaNQ3YLU2BQ= -github.com/cosmos/cosmos-sdk v0.47.0/go.mod h1:FTtZbqiHCZ2vun9WrPq6qLQafNKkAuIhLAxzLjr2TiI= github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= -github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= -github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= -github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= -github.com/cucumber/common/gherkin/go/v22 v22.0.0/go.mod h1:3mJT10B2GGn3MvVPd3FwR7m2u4tLhSRhWUqJU4KN4Fg= -github.com/cucumber/common/messages/go/v17 v17.1.1/go.mod h1:bpGxb57tDE385Rb2EohgUadLkAbhoC4IyCFi89u/JQI= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= -github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= -github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= -github.com/dgraph-io/badger v1.6.2/go.mod h1:JW2yswe3V058sS0kZ2h/AXeDSqFjxnZcRrVH//y2UQE= -github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= -github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= -github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= -github.com/elastic/gosigar v0.14.2/go.mod h1:iXRIGg2tLnu7LBdpqzyQfGDEidKCfWcCMS0WKyPWoMs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= -github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= @@ -308,22 +206,10 @@ github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= -github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= -github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= -github.com/flynn/noise v1.0.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61/go.mod h1:Q0X6pkwTILDlzrGEckF6HKjXe48EgsY/l7K7vhY4MW8= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= -github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= -github.com/gdamore/tcell/v2 v2.6.0/go.mod h1:be9omFATkdr0D9qewWW3d+MEvl5dha+Etb5y65J2H8Y= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/getsentry/sentry-go v0.17.0/go.mod h1:B82dxtBvxG0KaPD8/hfSV+VcHD+Lg/xUS4JuQn1P4cM= -github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= @@ -335,21 +221,11 @@ github.com/go-git/go-git/v5 v5.5.2/go.mod h1:BE5hUJ5yaV2YMxhmaP4l6RBQ08kMxKSPD4B github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= -github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= @@ -361,14 +237,11 @@ github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3 github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= -github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= @@ -379,16 +252,10 @@ github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZ github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-github/v41 v41.0.0/go.mod h1:XgmCA5H323A9rtgExdTcnDkcqp6S30AVACCBDOonIxg= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= @@ -401,23 +268,14 @@ github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3 github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.18.0/go.mod h1:owRRGJ9M5xReDC5nfT8FTJrNAPbT4NM6p/k+d03q2v4= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.13.0/go.mod h1:0hs/l5fOVhJy/VdcoaNqUSi2AUs95eF5WKtv+EYIQqE= +github.com/hashicorp/consul/api v1.20.0/go.mod h1:nR64eD44KQ59Of/ECwt2vUmIK2DKsDzAwTmwmLl8Wpo= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= @@ -425,28 +283,11 @@ github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/ github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= -github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= -github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= -github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= -github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= -github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= -github.com/ipfs/go-datastore v0.5.1/go.mod h1:9zhEApYMTl17C8YDp7JmU7sQZi2/wqiYh73hakZ90Bk= -github.com/ipfs/go-ds-badger v0.3.0/go.mod h1:1ke6mXNqeV8K3y5Ak2bAA0osoTfmxUdupVCGm4QUIek= -github.com/ipfs/go-ds-leveldb v0.5.0/go.mod h1:d3XG9RUDzQ6V4SHi8+Xgj9j1XuEk1z82lquxrVbml/Q= -github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= -github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= -github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= -github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= @@ -459,58 +300,28 @@ github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gav github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= -github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/koron/go-ssdp v0.0.3/go.mod h1:b2MxI6yh02pKrsyNoQUsk4+YNikaGhe4894J+Q5lDvA= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= -github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= -github.com/libp2p/go-libp2p-asn-util v0.2.0/go.mod h1:WoaWxbHKBymSN41hWSq/lGKJEca7TNm58+gGJi2WsLI= -github.com/libp2p/go-libp2p-testing v0.11.0/go.mod h1:qG4sF27dfKFoK9KlVzK2y52LQKhp0VEmLjV5aDqr1Hg= -github.com/libp2p/go-mplex v0.7.0/go.mod h1:rW8ThnRcYWft/Jb2jeORBmPd6xuG3dGxWN/W168L9EU= -github.com/libp2p/go-msgio v0.2.0/go.mod h1:dBVM1gW3Jk9XqHkU4eKdGvVHdLa51hoGfll6jMJMSlY= -github.com/libp2p/go-nat v0.1.0/go.mod h1:X7teVkwRHNInVNWQiO/tAiAVRwSr5zoRz4YSTC3uRBM= -github.com/libp2p/go-netroute v0.2.0/go.mod h1:Vio7LTzZ+6hoT4CMZi5/6CpY3Snzh2vgZhWgxMNwlQI= -github.com/libp2p/go-reuseport v0.2.0/go.mod h1:bvVho6eLMm6Bz5hmU0LYN3ixd3nPPvtIlaURZZgOY4k= -github.com/libp2p/go-yamux/v3 v3.1.2/go.mod h1:jeLEQgLXqE2YqX1ilAClIfCMDY+0uXQUKmmb/qp0gT4= -github.com/libp2p/zeroconf/v2 v2.2.0/go.mod h1:fuJqLnUwZTshS3U/bMRJ3+ow/v9oid1n0DmyYyNO1Xs= -github.com/linxGnu/grocksdb v1.7.10/go.mod h1:0hTf+iA+GOr0jDX4CgIYyJZxqOH9XlBh6KVj8+zmF34= -github.com/lucas-clemente/quic-go v0.28.1/go.mod h1:oGz5DKK41cJt5+773+BSO9BXDsREY4HLf7+0odGAPO0= -github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= -github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= -github.com/marten-seemann/qtls-go1-16 v0.1.5/go.mod h1:gNpI2Ol+lRS3WwSOtIUUtRwZEQMXjYK+dQSBFbethAk= -github.com/marten-seemann/qtls-go1-17 v0.1.2/go.mod h1:C2ekUKcDdz9SDWxec1N/MvcXBpaX9l3Nx67XaR84L5s= -github.com/marten-seemann/qtls-go1-18 v0.1.2/go.mod h1:mJttiymBAByA49mhlNZZGrH5u1uXYZJ+RW28Py7f4m4= -github.com/marten-seemann/qtls-go1-19 v0.1.0/go.mod h1:5HTDWtVudo/WFsHKRNuOhWlbdjrfs5JHrYb0wIJqGpI= -github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= @@ -522,75 +333,34 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= -github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b/go.mod h1:lxPUiZwKoFL8DUUmalo2yJJUCxbPKtm8OKfqr2/FTNU= -github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc/go.mod h1:cGKTAVKx4SxOuR/czcZ/E2RSJ3sfHs8FpHhQ5CWMf9s= -github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= -github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= -github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= -github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= -github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/multiformats/go-multiaddr-dns v0.3.1/go.mod h1:G/245BRQ6FJGmryJCrOuTdB37AMA5AMOVuO6NY3JwTk= -github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo= -github.com/multiformats/go-multistream v0.3.3/go.mod h1:ODRoqamLUsETKS9BNcII4gcRsJBU5VAwRIv7O39cEXg= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= -github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= -github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= -github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= -github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= -github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= -github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= -github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= -github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= -github.com/opencontainers/selinux v1.10.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= -github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= +github.com/pelletier/go-toml/v2 v2.0.7/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= -github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= @@ -601,16 +371,13 @@ github.com/pointlander/peg v1.0.1/go.mod h1:5hsGDQR2oZI4QoWz0/Kdg3VSVEC31iJw/b7W github.com/polyfloyd/go-errorlint v1.0.5/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= @@ -620,33 +387,21 @@ github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mo github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= -github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU= -github.com/regen-network/gocuke v0.6.2/go.mod h1:zYaqIHZobHyd0xOrHGPQjbhGJsuZ1oElx150u2o1xuk= -github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8/go.mod h1:WIfMkQNY+oq/mWwtsjOYHIZBuwthioY2srOmljJkTnk= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= -github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= -github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/sagikazarmark/crypt v0.9.0/go.mod h1:RnH7sEhxfdnPm1z+XMgSLjWTEIjyK4z2dw6+4vHTMuo= +github.com/sagikazarmark/crypt v0.10.0/go.mod h1:gwTNHQVoOS3xp9Xvz5LLR+1AauC5M6880z5NWzdhOyQ= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= github.com/sashamelentyev/usestdlibvars v1.20.0/go.mod h1:0GaP+ecfZMXShS0A94CJn6aEuPRILv8h/VuWI9n1ygg= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= -github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= -github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= @@ -654,131 +409,65 @@ github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvR github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= -github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= -github.com/tendermint/tendermint v0.37.0-rc2/go.mod h1:uYQO9DRNPeZROa9X3hJOZpYcVREDC2/HST+EiU5g2+A= -github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= -github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= -github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= -github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= -github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.6/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.6/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v2 v2.305.6/go.mod h1:BHha8XJGe8vCIBfWBpbBLVZ4QjOIlfoouvOwydu63E0= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/client/v3 v3.5.6/go.mod h1:f6GRinRMCsFVv9Ht42EyY7nfsVGwrNO0WEoS2pRKzQk= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= +go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= +go.etcd.io/etcd/client/v2 v2.305.7/go.mod h1:GQGT5Z3TBuAQGvgPfhR7VPySu/SudxmEkRq9BgzFU6s= +go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= -go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.4.1/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.4.1/go.mod h1:o5RW5o2pKpJLD5dNTCmjF1DorYwMeFJmb/rKr5sLaa8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1/go.mod h1:c6E4V3/U+miqjs/8l950wggHGL1qzlp0Ypj9xoGrPqo= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1/go.mod h1:VwYo0Hak6Efuy0TXsZs8o1hnV3dHDPNtDbycG0hI8+M= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= -go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= -go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= -go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= -go.opentelemetry.io/proto/otlp v0.12.0/go.mod h1:TsIjwGWIx5VFYv9KGVlOpxoBl5Dy+63SUguV7GGvlSQ= -go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -792,33 +481,26 @@ golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -830,30 +512,28 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190916130336-e45ffcd953cc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= @@ -882,57 +562,33 @@ gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= -google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= -k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= -k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= -k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= -k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= -k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= -k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= -k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= -k8s.io/cri-api v0.25.0/go.mod h1:J1rAyQkSJ2Q6I+aBMOVgg2/cbbebso6FNa0UagiR0kc= -k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= -k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= -k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= -modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= -modernc.org/tcl v1.15.2/go.mod h1:3+k/ZaEbKrC8ePv8zJWPtBSW0V7Gg9g8rkmhI1Kfs3c= -modernc.org/z v1.7.3/go.mod h1:Ipv4tsdxZRbQyLq9Q1M6gdbkxYzdlrciF2Hi/lS7nWE= mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/interchaintest/go.mod b/interchaintest/go.mod index 3da832231..6d4e1f484 100644 --- a/interchaintest/go.mod +++ b/interchaintest/go.mod @@ -4,9 +4,10 @@ go 1.20 require ( cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff - github.com/cometbft/cometbft v0.37.1 - github.com/cosmos/cosmos-sdk v0.47.2 - github.com/cosmos/ibc-go/v7 v7.1.0-rc0 + github.com/cometbft/cometbft v0.37.2 + github.com/cosmos/cosmos-sdk v0.47.3 + github.com/cosmos/gogoproto v1.4.10 + github.com/cosmos/ibc-go/v7 v7.2.0 github.com/cosmos/relayer/v2 v2.0.0-00010101000000-000000000000 github.com/docker/docker v24.0.1+incompatible github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 @@ -19,15 +20,16 @@ require ( require ( cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.18.0 // indirect + cloud.google.com/go/compute v1.19.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.12.0 // indirect + cloud.google.com/go/iam v0.13.0 // indirect cloud.google.com/go/storage v1.29.0 // indirect cosmossdk.io/api v0.3.1 // indirect cosmossdk.io/core v0.5.1 // indirect cosmossdk.io/depinject v1.0.0-alpha.3 // indirect cosmossdk.io/errors v1.0.0-beta.7 // indirect - cosmossdk.io/math v1.0.0 // indirect + cosmossdk.io/log v1.1.0 // indirect + cosmossdk.io/math v1.0.1 // indirect cosmossdk.io/tools/rosetta v0.2.1 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -57,14 +59,13 @@ require ( github.com/chzyer/readline v1.5.1 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect - github.com/cometbft/cometbft-db v0.7.0 // indirect + github.com/cometbft/cometbft-db v0.8.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect github.com/containerd/containerd v1.6.8 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.10 // indirect github.com/cosmos/iavl v0.20.0 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect @@ -107,9 +108,10 @@ require ( github.com/google/go-github/v43 v43.0.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/orderedcode v0.0.1 // indirect + github.com/google/s2a-go v0.1.3 // indirect github.com/google/uuid v1.3.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.7.0 // indirect + github.com/googleapis/gax-go/v2 v2.8.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -141,9 +143,11 @@ require ( github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/libp2p/go-libp2p v0.22.0 // indirect github.com/libp2p/go-openssl v0.1.0 // indirect + github.com/linxGnu/grocksdb v1.7.16 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect - github.com/mattn/go-isatty v0.0.17 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.18 // indirect github.com/mattn/go-pointer v0.0.1 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20220103164710-9a04d6ca976b // indirect @@ -169,7 +173,7 @@ require ( github.com/opencontainers/runc v1.1.3 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.8 // indirect - github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d // indirect + github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pierrec/xxHash v0.1.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect @@ -181,19 +185,19 @@ require ( github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/rs/cors v1.8.3 // indirect + github.com/rs/zerolog v1.29.1 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.15.0 // indirect + github.com/spf13/viper v1.16.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect - github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/tidwall/btree v1.6.0 // indirect github.com/tyler-smith/go-bip32 v1.0.0 // indirect @@ -206,18 +210,18 @@ require ( go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.9.0 // indirect - golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect + golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc // indirect golang.org/x/mod v0.10.0 // indirect golang.org/x/net v0.10.0 // indirect - golang.org/x/oauth2 v0.6.0 // indirect + golang.org/x/oauth2 v0.7.0 // indirect golang.org/x/sys v0.8.0 // indirect golang.org/x/term v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect golang.org/x/tools v0.9.3 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.110.0 // indirect + google.golang.org/api v0.122.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect google.golang.org/grpc v1.55.0 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/interchaintest/go.sum b/interchaintest/go.sum index 8308d8f9e..37d2d6154 100644 --- a/interchaintest/go.sum +++ b/interchaintest/go.sum @@ -70,8 +70,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.18.0 h1:FEigFqoDbys2cvFkZ9Fjq4gnHBP55anJ0yQyau2f9oY= -cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0 h1:+9zda3WGgW1ZSTlVppLCYFIr48Pa35q1uG2N1itbCEQ= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -111,8 +111,8 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.12.0 h1:DRtTY29b75ciH6Ov1PHb4/iat2CLCvrOm40Q0a6DFpE= -cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= @@ -196,8 +196,10 @@ cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= -cosmossdk.io/math v1.0.0 h1:ro9w7eKx23om2tZz/VM2Pf+z2WAbGX1yDQQOJ6iGeJw= -cosmossdk.io/math v1.0.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= +cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= +cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg= +cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff h1:P1ialzTepD1oxdNPYc5N8Eggq3RdejZq3cJs8YYMs9Y= cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff/go.mod h1:AKzx6Mb544LjJ9RHmGFHjY9rEOLiUAi8I0F727TR0dY= cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= @@ -305,6 +307,7 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -351,10 +354,10 @@ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:z github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= -github.com/cometbft/cometbft v0.37.1 h1:KLxkQTK2hICXYq21U2hn1W5hOVYUdQgDQ1uB+90xPIg= -github.com/cometbft/cometbft v0.37.1/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= -github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= -github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= +github.com/cometbft/cometbft v0.37.2 h1:XB0yyHGT0lwmJlFmM4+rsRnczPlHoAKFX6K8Zgc2/Jc= +github.com/cometbft/cometbft v0.37.2/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= +github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= +github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= @@ -366,13 +369,14 @@ github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8Nz github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= -github.com/cosmos/cosmos-sdk v0.47.2 h1:9rSriCoiJD+4F+tEDobyM8V7HF5BtY5Ef4VYNig96s0= -github.com/cosmos/cosmos-sdk v0.47.2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= +github.com/cosmos/cosmos-sdk v0.47.3 h1:r0hGmZoAzP2D+MaPaFGHwAaTdFQq3pNpHaUp1BsffbM= +github.com/cosmos/cosmos-sdk v0.47.3/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -383,8 +387,8 @@ github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoK github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= -github.com/cosmos/ibc-go/v7 v7.1.0-rc0 h1:b78+/74AJDp0Sc7utMO1l4nI/u4ERnyta1nqooqQrGI= -github.com/cosmos/ibc-go/v7 v7.1.0-rc0/go.mod h1:7MptlWeIyqmDiuJeRAFqBvXKY8Hybd+rF8vMSmGd2zg= +github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= +github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= @@ -463,9 +467,6 @@ github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go. github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ethereum/go-ethereum v1.10.26 h1:i/7d9RBBwiXCEuyduBQzJw/mKmnvzsN14jqBmytw72s= github.com/ethereum/go-ethereum v1.10.26/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= @@ -474,7 +475,7 @@ github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8 github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= @@ -627,6 +628,8 @@ github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE= +github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -645,8 +648,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= -github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.8.0 h1:UBtEZqx1bjXtOQ5BVTkuYghXrr3N4V123VKJK67vJZc= +github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -738,7 +741,7 @@ github.com/ipfs/go-cid v0.2.0 h1:01JTiihFq9en9Vz0lc0VDWvZe/uBonGpzo4THP0vcQ0= github.com/ipfs/go-cid v0.2.0/go.mod h1:P+HXFDF4CVhaVayiEb4wkAy7zBHxBwsJyt0Y5U6MLro= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= +github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -799,6 +802,8 @@ github.com/libp2p/go-openssl v0.1.0 h1:LBkKEcUv6vtZIQLVTegAil8jbNpJErQ9AnT+bWV+O github.com/libp2p/go-openssl v0.1.0/go.mod h1:OiOxwPpL3n4xlenjx2h7AwSGaFSC/KZvf6gNdOBQMtc= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linxGnu/grocksdb v1.7.16 h1:Q2co1xrpdkr5Hx3Fp+f+f7fRGhQFQhvi/+226dtLmA8= +github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -806,11 +811,16 @@ github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3v github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -843,8 +853,6 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/moby v20.10.22+incompatible h1:KHnFMlxjgGizH7+3fQj8+PjmrwEnilKgahf/TgTQIxI= -github.com/moby/moby v20.10.22+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/moby v24.0.2+incompatible h1:yH+5dRHH1x3XRKzl1THA2aGTy6CHYnkt5N924ADMax8= github.com/moby/moby v24.0.2+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/patternmatcher v0.5.0 h1:YCZgJOeULcxLw1Q+sVR636pmS7sPEn1Qo2iAN6M7DBo= @@ -943,8 +951,8 @@ github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZ github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d h1:htwtWgtQo8YS6JFWWi2DNgY0RwSGJ1ruMoxY6CUUclk= -github.com/petermattis/goid v0.0.0-20221215004737-a150e88a970d/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/xxHash v0.1.5 h1:n/jBpwTHiER4xYvK3/CdPVnLDPchj8eTJFFLUb4QHBo= @@ -1010,6 +1018,9 @@ github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZV github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= +github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -1038,11 +1049,11 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= @@ -1055,8 +1066,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230608002938-79172615eed0 h1:WoRj3il7OqGknKxf3IRwGTY65AVbTnDjKAgezpEHM3E= github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230608002938-79172615eed0/go.mod h1:RG6EsHW08mfwJQmZykqzkAQwAmVojcrqujjFBFPIHcY= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -1088,8 +1099,6 @@ github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= @@ -1172,7 +1181,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1186,8 +1196,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= +golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1266,6 +1276,7 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1305,8 +1316,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw= -golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1402,6 +1413,7 @@ golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1428,6 +1440,7 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -1444,6 +1457,7 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= @@ -1573,8 +1587,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.110.0 h1:l+rh0KYUooe9JGbGVx71tbFo4SMbMTXK3I3ia2QSEeU= -google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.122.0 h1:zDobeejm3E7pEG1mNHvdxvjs5XJoCMzyNH+CmwL94Es= +google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1693,8 +1707,8 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= From d0a4010167412e93994b6b5188823be8511615de Mon Sep 17 00:00:00 2001 From: mmsqe Date: Thu, 6 Jul 2023 05:25:20 +0800 Subject: [PATCH 12/58] add missing stop relayer to avoid log after test complete (#1229) Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- interchaintest/path_filter_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/interchaintest/path_filter_test.go b/interchaintest/path_filter_test.go index 7889587d2..1ec706a80 100644 --- a/interchaintest/path_filter_test.go +++ b/interchaintest/path_filter_test.go @@ -89,6 +89,14 @@ func TestScenarioPathFilterAllow(t *testing.T) { gaiaUser, osmosisUser := users[0].(*cosmos.CosmosWallet), users[1].(*cosmos.CosmosWallet) r.StartRelayer(ctx, eRep, ibcPath) + t.Cleanup( + func() { + err := r.StopRelayer(ctx, eRep) + if err != nil { + t.Logf("an error occured while stopping the relayer: %s", err) + } + }, + ) // Send Transaction amountToSend := int64(1_000_000) @@ -226,6 +234,14 @@ func TestScenarioPathFilterDeny(t *testing.T) { gaiaUser, osmosisUser := users[0].(*cosmos.CosmosWallet), users[1].(*cosmos.CosmosWallet) r.StartRelayer(ctx, eRep, ibcPath) + t.Cleanup( + func() { + err := r.StopRelayer(ctx, eRep) + if err != nil { + t.Logf("an error occured while stopping the relayer: %s", err) + } + }, + ) // Send Transaction amountToSend := int64(1_000_000) From ea035d5b5881aaeac1408edeabda2aff91c3ce70 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 7 Jul 2023 02:18:12 +0800 Subject: [PATCH 13/58] fix: avoid invalid Bech32 prefix in scenario test (#1226) * avoid invalid Bech32 prefix due to singleton GetConfig * add change doc * separate process in ci * separate fee middleware test for juno --- .github/workflows/interchaintest.yml | 44 +++++++++++++++++++++++++++ CHANGELOG.md | 1 + Makefile | 6 ++++ interchaintest/fee_middleware_test.go | 2 +- interchaintest/misbehaviour_test.go | 2 +- 5 files changed, 53 insertions(+), 2 deletions(-) diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index 402e55bda..814b44289 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -73,6 +73,50 @@ jobs: - name: interchaintest run: make interchaintest-multiple + misbehaviour: + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.20 + uses: actions/setup-go@v1 + with: + go-version: 1.20 + id: go + + - name: checkout relayer + uses: actions/checkout@v2 + + - uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + + - name: interchaintest + run: make interchaintest-misbehaviour + + fee-middleware: + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.20 + uses: actions/setup-go@v1 + with: + go-version: 1.20 + id: go + + - name: checkout relayer + uses: actions/checkout@v2 + + - uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + + - name: interchaintest + run: make interchaintest-fee-middleware + scenarios: runs-on: ubuntu-latest steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index dddbca7fb..4d46967e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ * [\#1179](https://github.com/cosmos/relayer/pull/1179) Add extension-options parameter in chain configs and update SDK to v0.47.3. * [\#1208](https://github.com/cosmos/relayer/pull/1208) Replace gogo/protobuf to cosmos/gogoproto. * [\#1221](https://github.com/cosmos/relayer/pull/1221) Update cometbft to v0.37.2 and ibc-go to v7.2.0. +* [\#1226](https://github.com/cosmos/relayer/pull/1226) Avoid invalid Bech32 prefix error in parallel tests when sdk Config get overwritten by each other in single process. ## v0.9.3 diff --git a/Makefile b/Makefile index 2d2c71a57..66f67961d 100644 --- a/Makefile +++ b/Makefile @@ -82,6 +82,12 @@ interchaintest-legacy: interchaintest-multiple: cd interchaintest && go test -race -v -run TestRelayerMultiplePathsSingleProcess . +interchaintest-misbehaviour: + cd interchaintest && go test -race -v -run TestRelayerMisbehaviourDetection . + +interchaintest-fee-middleware: + cd interchaintest && go test -race -v -run TestRelayerFeeMiddleware . + interchaintest-scenario: ## Scenario tests are suitable for simple networks of 1 validator and no full nodes. They test specific functionality. cd interchaintest && go test -timeout 30m -race -v -run TestScenario ./... diff --git a/interchaintest/fee_middleware_test.go b/interchaintest/fee_middleware_test.go index 71d65d616..32554cf2a 100644 --- a/interchaintest/fee_middleware_test.go +++ b/interchaintest/fee_middleware_test.go @@ -16,7 +16,7 @@ import ( "go.uber.org/zap/zaptest" ) -func TestScenarioFeeMiddleware(t *testing.T) { +func TestRelayerFeeMiddleware(t *testing.T) { if testing.Short() { t.Skip() } diff --git a/interchaintest/misbehaviour_test.go b/interchaintest/misbehaviour_test.go index 7ce55196e..2dc8b4656 100644 --- a/interchaintest/misbehaviour_test.go +++ b/interchaintest/misbehaviour_test.go @@ -38,7 +38,7 @@ import ( "go.uber.org/zap/zaptest" ) -func TestScenarioMisbehaviourDetection(t *testing.T) { +func TestRelayerMisbehaviourDetection(t *testing.T) { if testing.Short() { t.Skip() } From 1bfe06cdec3bdd1e0ba64fafac2b6f39cf495e70 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 7 Jul 2023 04:35:55 +0800 Subject: [PATCH 14/58] wait more blks for ack (#1222) --- interchaintest/fee_middleware_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interchaintest/fee_middleware_test.go b/interchaintest/fee_middleware_test.go index 32554cf2a..93caad39e 100644 --- a/interchaintest/fee_middleware_test.go +++ b/interchaintest/fee_middleware_test.go @@ -180,7 +180,7 @@ func TestRelayerFeeMiddleware(t *testing.T) { ) // Wait for relayer to run - err = testutil.WaitForBlocks(ctx, 5, chainA, chainB) + err = testutil.WaitForBlocks(ctx, 10, chainA, chainB) require.NoError(t, err) // Assigning denom From 91f910512e770a58ce2cf152aaa1445e97125377 Mon Sep 17 00:00:00 2001 From: Ava Howell Date: Fri, 7 Jul 2023 12:51:59 -0700 Subject: [PATCH 15/58] penumbra provider: update proof spec (#1232) --- relayer/chains/penumbra/tx.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/relayer/chains/penumbra/tx.go b/relayer/chains/penumbra/tx.go index 0069f6151..5f0827957 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -1941,12 +1941,13 @@ var JmtSpec = &ics23.ProofSpec{ Hash: ics23.HashOp_SHA256, ChildOrder: []int32{0, 1}, MinPrefixLength: 16, - MaxPrefixLength: 48, + MaxPrefixLength: 16, ChildSize: 32, - EmptyChild: nil, + EmptyChild: []byte("SPARSE_MERKLE_PLACEHOLDER_HASH__"), }, - MinDepth: 0, - MaxDepth: 64, + MinDepth: 0, + MaxDepth: 64, + PrehashKeyBeforeComparison: true, } var ApphashSpec = &ics23.ProofSpec{ @@ -1965,8 +1966,9 @@ var ApphashSpec = &ics23.ProofSpec{ ChildSize: 32, EmptyChild: nil, }, - MinDepth: 0, - MaxDepth: 1, + MinDepth: 0, + MaxDepth: 1, + PrehashKeyBeforeComparison: true, } var PenumbraProofSpecs = []*ics23.ProofSpec{JmtSpec, ApphashSpec} From 4a3237ddc3296104eb843a13830373e13d6a0079 Mon Sep 17 00:00:00 2001 From: mindcarver <32150062+mindcarver@users.noreply.github.com> Date: Thu, 13 Jul 2023 05:06:43 +0800 Subject: [PATCH 16/58] fix: flag accessed but not defined: flush-interval (#1238) --- cmd/tx.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cmd/tx.go b/cmd/tx.go index e1b5e124a..de83c177e 100644 --- a/cmd/tx.go +++ b/cmd/tx.go @@ -723,6 +723,7 @@ $ %s tx link-then-start demo-path --timeout 5s`, appName, appName)), cmd = initBlockFlag(a.viper, cmd) cmd = processorFlag(a.viper, cmd) cmd = updateTimeFlags(a.viper, cmd) + cmd = flushIntervalFlag(a.viper, cmd) return cmd } From af734164d32953a81f9e259566839f7c360aedce Mon Sep 17 00:00:00 2001 From: Ava Howell Date: Fri, 21 Jul 2023 20:14:04 -0700 Subject: [PATCH 17/58] penumbra provider: update protos (#1245) --- proto/cosmos/crypto/sr25519/keys.proto | 9 +- .../core/crypto/v1alpha1/crypto.pb.go | 253 ++- .../penumbra/core/dex/v1alpha1/dex.pb.go | 707 +++---- .../core/governance/v1alpha1/governance.pb.go | 302 ++- .../penumbra/core/stake/v1alpha1/stake.pb.go | 299 ++- .../transaction/v1alpha1/transaction.pb.go | 1636 ++++++++++++----- relayer/chains/penumbra/tx.go | 6 +- .../chains/penumbra/view/v1alpha1/view.pb.go | 1374 ++++++++++---- 8 files changed, 3176 insertions(+), 1410 deletions(-) diff --git a/proto/cosmos/crypto/sr25519/keys.proto b/proto/cosmos/crypto/sr25519/keys.proto index eed481375..384cafe3a 100644 --- a/proto/cosmos/crypto/sr25519/keys.proto +++ b/proto/cosmos/crypto/sr25519/keys.proto @@ -8,13 +8,14 @@ import "gogoproto/gogo.proto"; // Originally github.com/cosmos/cosmos-sdk/crypto/keys/sr25519 option go_package = "github.com/cosmos/relayer/v2/relayer/chains/cosmos/keys/sr25519"; -option (gogoproto.messagename_all) = true; +option (gogoproto.messagename_all) = true; option (gogoproto.goproto_stringer_all) = false; -option (gogoproto.goproto_getters_all) = false; +option (gogoproto.goproto_getters_all) = false; // PubKey defines a sr25519 ECDSA public key. message PubKey { - option (gogoproto.goproto_stringer) = false; + option (gogoproto.goproto_stringer) = false; - bytes key = 1 [(gogoproto.casttype) = "github.com/cometbft/cometbft/crypto/sr25519.PubKey"]; + bytes key = 1 [ (gogoproto.casttype) = + "github.com/cometbft/cometbft/crypto/sr25519.PubKey" ]; } diff --git a/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go b/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go index f15473c9f..088785c8e 100644 --- a/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go +++ b/relayer/chains/penumbra/core/crypto/v1alpha1/crypto.pb.go @@ -78,9 +78,11 @@ func (m *Fee) GetAssetId() *AssetId { return nil } -// A Penumbra address. +// A Penumbra address. An address in Penumbra is a Bech32m-encoded +// string, with the human-readable prefix (HRP) `penumbrav2t`. type Address struct { - // The bytes of the address. + // The bytes of the address. Must be represented as a series of + // `uint8` (i.e. values 0 through 255), with a length of 80 elements. Inner []byte `protobuf:"bytes,1,opt,name=inner,proto3" json:"inner,omitempty"` // Alternatively, a Bech32m-encoded string representation of the `inner` // bytes. @@ -697,10 +699,17 @@ type AssetId struct { // bytes. // // NOTE: implementations are not required to support parsing this field. - // Implementations should prefer to encode the bytes in all messages they + // Implementations should prefer to encode the `inner` bytes in all messages they // produce. Implementations must not accept messages with both `inner` and - // `alt_bech32m` set. + // `alt_bech32m` set. This field exists for convenience of RPC users. AltBech32M string `protobuf:"bytes,2,opt,name=alt_bech32m,json=altBech32m,proto3" json:"alt_bech32m,omitempty"` + // Alternatively, a base denomination string which should be hashed to obtain the asset ID. + // + // NOTE: implementations are not required to support parsing this field. + // Implementations should prefer to encode the bytes in all messages they + // produce. Implementations must not accept messages with both `inner` and + // `alt_base_denom` set. This field exists for convenience of RPC users. + AltBaseDenom string `protobuf:"bytes,3,opt,name=alt_base_denom,json=altBaseDenom,proto3" json:"alt_base_denom,omitempty"` } func (m *AssetId) Reset() { *m = AssetId{} } @@ -750,6 +759,18 @@ func (m *AssetId) GetAltBech32M() string { return "" } +func (m *AssetId) GetAltBaseDenom() string { + if m != nil { + return m.AltBaseDenom + } + return "" +} + +// The quantity of a particular Asset. Represented as a 128-bit unsigned integer, +// split over two fields, `lo` and `hi`, representing the low- and high-order bytes +// of the 128-bit value, respectively. Clients must assemble these bits in their +// implementation into a `uint128` or comparable data structure, in order to model +// the Amount accurately. type Amount struct { Lo uint64 `protobuf:"varint,1,opt,name=lo,proto3" json:"lo,omitempty"` Hi uint64 `protobuf:"varint,2,opt,name=hi,proto3" json:"hi,omitempty"` @@ -2407,96 +2428,97 @@ func init() { } var fileDescriptor_5c23a0b4440af102 = []byte{ - // 1420 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcf, 0x6f, 0x1b, 0xc5, - 0x17, 0xcf, 0xda, 0xf9, 0x61, 0x3f, 0x3b, 0x4e, 0xba, 0x8a, 0x2a, 0x7f, 0xf3, 0x25, 0x69, 0xba, - 0x6d, 0x43, 0x5a, 0x8a, 0xa3, 0x38, 0xe2, 0x12, 0x04, 0x6a, 0xec, 0xd0, 0x26, 0x58, 0x6d, 0xad, - 0x0d, 0x4d, 0x51, 0x14, 0xc9, 0x1a, 0xef, 0x4e, 0xbc, 0x23, 0xef, 0xce, 0x2c, 0xbb, 0xb3, 0x4e, - 0xcd, 0x3f, 0x80, 0x38, 0xd1, 0x33, 0x47, 0x0e, 0x1c, 0xf8, 0x0f, 0xb8, 0x71, 0x44, 0x9c, 0x7a, - 0xec, 0x11, 0xd2, 0x03, 0x12, 0x27, 0x0e, 0xfc, 0x01, 0x68, 0x66, 0x67, 0x1d, 0x27, 0x8a, 0x7f, - 0xb4, 0x15, 0x82, 0xdb, 0xbc, 0xf7, 0x3e, 0xef, 0xcd, 0x67, 0xde, 0x7b, 0xb3, 0x6f, 0x6c, 0xb8, - 0xe3, 0x63, 0x1a, 0x79, 0xcd, 0x00, 0xad, 0x5b, 0x2c, 0xc0, 0xeb, 0x56, 0xd0, 0xf5, 0x39, 0x5b, - 0xef, 0x6c, 0x20, 0xd7, 0x77, 0xd0, 0x86, 0x92, 0x4b, 0x7e, 0xc0, 0x38, 0xd3, 0x97, 0x12, 0x6c, - 0x49, 0x60, 0x4b, 0xca, 0x96, 0x60, 0x8d, 0xaf, 0x34, 0x48, 0xdf, 0xc7, 0x58, 0xff, 0x08, 0xa6, - 0x91, 0xc7, 0x22, 0xca, 0x8b, 0xda, 0x8a, 0xb6, 0x96, 0x2b, 0xdf, 0x2a, 0x0d, 0xf5, 0x2b, 0x6d, - 0x4b, 0xb0, 0xa9, 0x9c, 0xf4, 0x6d, 0xc8, 0xa0, 0x30, 0xc4, 0xbc, 0x41, 0xec, 0x62, 0x4a, 0x06, - 0x58, 0x1d, 0x15, 0x40, 0xc0, 0xf7, 0x6c, 0x73, 0x06, 0xc5, 0x0b, 0xe3, 0x1e, 0xcc, 0x6c, 0xdb, - 0x76, 0x80, 0xc3, 0x50, 0x5f, 0x80, 0x29, 0x42, 0x29, 0x0e, 0x24, 0x97, 0xbc, 0x19, 0x0b, 0xfa, - 0x35, 0xc8, 0x21, 0x97, 0x37, 0x9a, 0xd8, 0x72, 0x36, 0xcb, 0x9e, 0xdc, 0x26, 0x6b, 0x02, 0x72, - 0x79, 0x25, 0xd6, 0x18, 0x7f, 0xa6, 0x21, 0xa7, 0x42, 0x1c, 0x10, 0x7c, 0xa2, 0x3f, 0x82, 0x99, - 0x0e, 0x09, 0x49, 0xd3, 0xc5, 0xea, 0x50, 0xe5, 0x51, 0x9c, 0xce, 0x9c, 0x4b, 0x07, 0xb1, 0xe7, - 0xee, 0x84, 0x99, 0x04, 0xd1, 0x6b, 0x30, 0xcd, 0x7c, 0xf4, 0x45, 0x84, 0xd5, 0x11, 0x37, 0x5e, - 0x23, 0xdc, 0x63, 0xe9, 0xb8, 0x3b, 0x61, 0xaa, 0x10, 0x8b, 0xbf, 0x6b, 0x30, 0xa3, 0xf6, 0xd0, - 0xef, 0xc1, 0x0c, 0x8a, 0xb1, 0x8a, 0xe8, 0xea, 0x78, 0x91, 0xcd, 0xc4, 0x4d, 0xdf, 0x16, 0x19, - 0xb3, 0xf1, 0x33, 0xc5, 0xec, 0xbd, 0xf1, 0xfc, 0xf7, 0x84, 0x8b, 0x19, 0x7b, 0xea, 0x4f, 0x61, - 0x1e, 0x59, 0x96, 0xa8, 0x66, 0xa3, 0x15, 0xb0, 0xc8, 0x17, 0xa5, 0x4c, 0xcb, 0x68, 0xef, 0x8f, - 0x8a, 0x16, 0xbb, 0x3d, 0x10, 0x5e, 0x7b, 0xb6, 0x59, 0x40, 0xe7, 0xe4, 0xc5, 0x4f, 0x61, 0x3a, - 0x3e, 0xfd, 0xdb, 0x9f, 0xb3, 0x52, 0x80, 0xbc, 0x5a, 0x36, 0x3a, 0x04, 0x9f, 0x18, 0x2b, 0x90, - 0xd9, 0xf7, 0x31, 0xb5, 0x6b, 0xb8, 0x7b, 0x79, 0xd7, 0x18, 0x77, 0x61, 0x41, 0x22, 0x0e, 0x70, - 0x40, 0x8e, 0x89, 0x85, 0x38, 0x61, 0x74, 0x30, 0x7a, 0x15, 0x0a, 0xf7, 0x23, 0xd7, 0x15, 0x25, - 0x23, 0xb4, 0x35, 0x14, 0x77, 0xfe, 0xd4, 0x03, 0x70, 0x37, 0x20, 0xb7, 0x43, 0x3a, 0x38, 0x08, - 0xc9, 0x31, 0xc1, 0xc1, 0x00, 0xd0, 0x2e, 0xe4, 0xfb, 0x0b, 0xa2, 0x17, 0x61, 0x46, 0xa5, 0x50, - 0x96, 0x73, 0xd6, 0x4c, 0x44, 0x7d, 0x19, 0x20, 0x40, 0xd4, 0x66, 0x1e, 0xf9, 0x12, 0x07, 0xb2, - 0x3a, 0x79, 0xb3, 0x4f, 0x63, 0xbc, 0x0b, 0x73, 0xfb, 0x1c, 0x71, 0x5c, 0x65, 0x9e, 0x47, 0xb8, - 0x87, 0x29, 0x1f, 0xb0, 0xe5, 0x6d, 0xb8, 0x52, 0x41, 0x2e, 0xa2, 0xd6, 0x68, 0xa8, 0xb8, 0x97, - 0xf1, 0x15, 0x7d, 0xd3, 0x7b, 0xb9, 0x06, 0xd3, 0xf1, 0xe7, 0x42, 0x2f, 0x40, 0xca, 0x65, 0xd2, - 0x7b, 0xd2, 0x4c, 0xb9, 0x4c, 0xc8, 0x0e, 0x91, 0x1e, 0x93, 0x66, 0xca, 0x21, 0xc6, 0x12, 0x4c, - 0xed, 0x60, 0xca, 0x3c, 0xb1, 0x93, 0x2d, 0x16, 0x12, 0x9b, 0x35, 0x63, 0xc1, 0x78, 0x99, 0x82, - 0x59, 0x69, 0x7f, 0x88, 0x39, 0xb2, 0x11, 0x47, 0xfa, 0x0a, 0xe4, 0x6c, 0x1c, 0x5a, 0x01, 0xf1, - 0x45, 0x5d, 0x15, 0xba, 0x5f, 0xa5, 0xef, 0x09, 0x04, 0x65, 0x5e, 0x23, 0xa2, 0x84, 0x87, 0xc5, - 0xd4, 0x4a, 0x7a, 0x2d, 0x57, 0x5e, 0x1b, 0xd1, 0x77, 0x72, 0x93, 0x27, 0x94, 0x70, 0x13, 0xec, - 0x64, 0x19, 0xea, 0x3a, 0x4c, 0x36, 0x51, 0x88, 0x65, 0xde, 0xb3, 0xa6, 0x5c, 0x8b, 0x5a, 0xd9, - 0x24, 0xf4, 0x5d, 0xd4, 0x2d, 0x4e, 0x4a, 0x75, 0x22, 0x0a, 0x34, 0x45, 0x1e, 0x2e, 0x4e, 0xc5, - 0x68, 0xb1, 0xd6, 0xaf, 0xc2, 0x74, 0xd8, 0xf5, 0x9a, 0xcc, 0x2d, 0x4e, 0x4b, 0xad, 0x92, 0xf4, - 0x79, 0x48, 0x47, 0x01, 0x29, 0xce, 0x48, 0xa5, 0x58, 0xea, 0xff, 0x83, 0x4c, 0x14, 0x90, 0x86, - 0x83, 0x42, 0xa7, 0x98, 0x89, 0x03, 0x47, 0x01, 0xd9, 0x45, 0xa1, 0xa3, 0xef, 0xc3, 0x95, 0x84, - 0x7d, 0xa3, 0xf7, 0xd1, 0xfd, 0x69, 0xee, 0xb5, 0xbe, 0xba, 0x73, 0x09, 0x4c, 0x29, 0x8c, 0xa7, - 0x90, 0xed, 0x1d, 0xfa, 0xf2, 0xec, 0xeb, 0x8b, 0x90, 0xc1, 0xcf, 0x7c, 0x46, 0x71, 0xaf, 0x2f, - 0x7b, 0xb2, 0x6c, 0x59, 0x97, 0xa0, 0x10, 0x87, 0xc5, 0xf4, 0x4a, 0x5a, 0xb0, 0x55, 0xa2, 0xf1, - 0xb5, 0x06, 0x53, 0x07, 0xc8, 0x8d, 0xfe, 0x0b, 0x23, 0xe6, 0xaf, 0x34, 0x64, 0x25, 0x17, 0x39, - 0x1e, 0x0e, 0x20, 0xd7, 0xa6, 0xec, 0x84, 0x36, 0xce, 0xce, 0x9a, 0x2b, 0x6f, 0x8e, 0x88, 0xd9, - 0x73, 0x2f, 0xd5, 0x84, 0xaf, 0xcc, 0xd9, 0xee, 0x84, 0x09, 0xed, 0x9e, 0xa4, 0x1f, 0xc1, 0x6c, - 0x44, 0xfb, 0x23, 0xc7, 0x6c, 0x3f, 0x18, 0x3b, 0xf2, 0x13, 0xda, 0xee, 0x8f, 0x9d, 0x8f, 0xfa, - 0xe4, 0xc5, 0x6f, 0x34, 0x80, 0xb3, 0xad, 0xdf, 0x36, 0xa9, 0x95, 0xa4, 0xd2, 0x31, 0xc7, 0xbb, - 0xe3, 0xdc, 0x8b, 0xe4, 0xf2, 0xa9, 0xbe, 0x58, 0x7c, 0xae, 0x41, 0xbe, 0x9f, 0xf2, 0xbf, 0x5f, - 0xe8, 0x4a, 0x1e, 0xa0, 0x23, 0xd2, 0x19, 0x0f, 0x09, 0x03, 0xe0, 0x21, 0x0e, 0xda, 0x2e, 0x36, - 0x19, 0x1b, 0xf4, 0x95, 0x5b, 0x82, 0xdc, 0x9e, 0x8d, 0x29, 0x27, 0xbc, 0x2b, 0xbe, 0xfa, 0x05, - 0x48, 0x91, 0xb6, 0x42, 0xa4, 0x48, 0xdb, 0xb8, 0x06, 0xb3, 0x0f, 0x58, 0x07, 0x07, 0x54, 0x7c, - 0x32, 0x15, 0xa0, 0xd5, 0x03, 0xb4, 0xda, 0xc6, 0x4d, 0xc8, 0x57, 0x19, 0x0d, 0x31, 0x0d, 0xa3, - 0x70, 0xf0, 0xd8, 0xf8, 0x56, 0x83, 0xc9, 0x47, 0x8c, 0x63, 0x7d, 0x0b, 0xa6, 0x24, 0x41, 0x95, - 0xa1, 0x9b, 0xe3, 0xf4, 0x86, 0x19, 0xbb, 0x88, 0xd0, 0x41, 0x88, 0x71, 0x9c, 0x9c, 0xbc, 0x19, - 0x0b, 0xfd, 0xb3, 0x35, 0xfd, 0x46, 0xb3, 0xd5, 0xf8, 0x5e, 0x83, 0x8c, 0x20, 0x27, 0x2f, 0xc7, - 0xc7, 0xe7, 0x09, 0xae, 0x8d, 0xdb, 0xbc, 0xc3, 0x49, 0xee, 0x5c, 0x24, 0x79, 0x67, 0xfc, 0x27, - 0xd4, 0x19, 0xd1, 0x55, 0x28, 0x08, 0x9e, 0x55, 0xe2, 0x3b, 0x38, 0xe0, 0xf8, 0xd9, 0xa0, 0x9a, - 0x5e, 0x87, 0xec, 0xa3, 0xc8, 0x75, 0x87, 0x8d, 0xde, 0x3b, 0xa0, 0xcb, 0xd7, 0xc1, 0x76, 0xc4, - 0x9d, 0x7d, 0xd2, 0xa2, 0x88, 0x47, 0x01, 0x1e, 0x80, 0x5d, 0x83, 0xf9, 0x0a, 0xa1, 0x36, 0xa1, - 0xad, 0x51, 0xc8, 0xdf, 0x34, 0xc8, 0x09, 0x86, 0x75, 0xd4, 0x75, 0x19, 0xb2, 0xf5, 0xa7, 0x30, - 0x47, 0x19, 0xc7, 0x0d, 0xab, 0x37, 0x6b, 0x55, 0x5a, 0x4b, 0x23, 0x8e, 0x7f, 0x61, 0x98, 0x9b, - 0x05, 0x11, 0xa6, 0x6f, 0x62, 0xdf, 0x80, 0x59, 0xec, 0x3b, 0xd8, 0xc3, 0x01, 0x72, 0x1b, 0x6d, - 0xdc, 0x55, 0xd9, 0xce, 0xf7, 0x94, 0xa2, 0x15, 0x3f, 0x83, 0x02, 0xa6, 0x32, 0x32, 0xb6, 0x1b, - 0x22, 0xc0, 0x98, 0xcf, 0xba, 0xf3, 0x39, 0x36, 0x67, 0x7b, 0x41, 0x84, 0xc1, 0x78, 0xa9, 0xc1, - 0xc2, 0x05, 0x7a, 0xf5, 0x80, 0xb1, 0xe3, 0x7f, 0xee, 0xb0, 0x8b, 0x90, 0xf1, 0x59, 0x48, 0xe4, - 0xa0, 0x8f, 0x9f, 0x0c, 0x3d, 0x59, 0xaf, 0x41, 0x16, 0x45, 0xdc, 0x69, 0xf8, 0x88, 0x3b, 0x72, - 0x02, 0x8d, 0xde, 0x2e, 0xfe, 0x24, 0xd4, 0x11, 0x77, 0xaa, 0x4e, 0x44, 0xdb, 0x66, 0x46, 0x04, - 0x10, 0xa2, 0xe1, 0xc0, 0xdc, 0x05, 0xa3, 0xfe, 0x7f, 0xc8, 0x8a, 0xa7, 0x3a, 0xa1, 0xad, 0xc6, - 0x86, 0xaa, 0x75, 0x46, 0x29, 0x36, 0xfa, 0x8d, 0x65, 0x55, 0x81, 0xc4, 0x58, 0xee, 0x37, 0x6e, - 0xaa, 0x17, 0x5b, 0x62, 0xdc, 0x34, 0xde, 0x81, 0xc9, 0xaa, 0xba, 0x2d, 0x97, 0xb4, 0x91, 0x01, - 0xf0, 0xc9, 0xf1, 0x31, 0xb6, 0xb8, 0x1c, 0xfb, 0x97, 0x63, 0x6e, 0xc1, 0xec, 0x61, 0xed, 0x71, - 0xc4, 0xfd, 0x48, 0xa5, 0xff, 0x72, 0xd8, 0x4d, 0xc8, 0x1f, 0xd6, 0x64, 0xa7, 0x0f, 0x43, 0xdd, - 0x80, 0xdc, 0x61, 0x6d, 0xff, 0x04, 0xf9, 0xc3, 0x40, 0x6b, 0x30, 0x1f, 0x83, 0xaa, 0x2e, 0x22, - 0xde, 0x30, 0x64, 0x09, 0xae, 0x1e, 0xd6, 0x9e, 0x50, 0x1b, 0xbb, 0xb8, 0x25, 0x4a, 0x3b, 0x0a, - 0x7f, 0x17, 0x16, 0x0e, 0x6b, 0x3b, 0x31, 0x9a, 0x05, 0x07, 0xe2, 0x02, 0x0d, 0x41, 0x97, 0x61, - 0xf1, 0xb0, 0xd6, 0xbb, 0xdf, 0x3b, 0x38, 0x20, 0x1d, 0xf9, 0xb8, 0x1f, 0xe2, 0x53, 0xf9, 0x31, - 0xf5, 0xf3, 0xe9, 0xb2, 0xf6, 0xe2, 0x74, 0x59, 0xfb, 0xf5, 0x74, 0x59, 0x7b, 0xfe, 0x6a, 0x79, - 0xe2, 0xc5, 0xab, 0xe5, 0x89, 0x97, 0xaf, 0x96, 0x27, 0xe0, 0xba, 0xc5, 0xbc, 0xe1, 0x1d, 0x53, - 0xc9, 0x55, 0xa5, 0xa2, 0x2e, 0x7e, 0x57, 0xd7, 0xb5, 0xc3, 0xcf, 0x5b, 0x84, 0x3b, 0x51, 0xb3, - 0x64, 0x31, 0x6f, 0xdd, 0x62, 0xa1, 0xc7, 0xc2, 0xf5, 0x00, 0xbb, 0xa8, 0x8b, 0x83, 0xf5, 0x4e, - 0xb9, 0xb7, 0xb4, 0x1c, 0x44, 0x68, 0xb8, 0x3e, 0xf4, 0x17, 0xfb, 0x87, 0xb1, 0x9c, 0x88, 0xdf, - 0xa5, 0xd2, 0xf5, 0x6a, 0xf5, 0x87, 0xd4, 0x52, 0x3d, 0xa1, 0x53, 0x15, 0x74, 0xe2, 0xdd, 0x4b, - 0x07, 0x0a, 0xf5, 0xcb, 0x99, 0xfd, 0x48, 0xd8, 0x8f, 0x62, 0xfb, 0x51, 0x62, 0x3f, 0x4d, 0xdd, - 0x1e, 0x6a, 0x3f, 0x7a, 0x50, 0xaf, 0x24, 0xa3, 0xfc, 0x8f, 0xd4, 0x4a, 0x82, 0xdd, 0xda, 0x12, - 0xe0, 0xad, 0xad, 0x18, 0xbd, 0xb5, 0x95, 0xc0, 0x9b, 0xd3, 0xf2, 0xff, 0x84, 0xcd, 0xbf, 0x03, - 0x00, 0x00, 0xff, 0xff, 0xd9, 0xd1, 0xde, 0xc4, 0x7d, 0x10, 0x00, 0x00, + // 1437 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcd, 0x6e, 0x1b, 0xb7, + 0x16, 0xf6, 0x48, 0xb6, 0x25, 0x1f, 0xc9, 0xb2, 0x43, 0x18, 0x81, 0xae, 0xef, 0xb5, 0xe3, 0x4c, + 0x1c, 0x5f, 0x27, 0x37, 0x57, 0x86, 0x65, 0x74, 0xe3, 0xa2, 0x45, 0x2c, 0xb9, 0x89, 0x5d, 0x21, + 0x89, 0x30, 0x6e, 0x9c, 0x42, 0x30, 0x20, 0xd0, 0x33, 0xb4, 0x86, 0xd0, 0x0c, 0x39, 0x9d, 0x1f, + 0x39, 0xea, 0x0b, 0x14, 0x5d, 0x35, 0xeb, 0x2e, 0xbb, 0xe8, 0xa2, 0x6f, 0xd0, 0x5d, 0x97, 0x45, + 0x57, 0x59, 0x66, 0xd9, 0x3a, 0x8b, 0x02, 0x5d, 0x75, 0xd1, 0x07, 0x28, 0xc8, 0xe1, 0xc8, 0xb2, + 0x61, 0xfd, 0x24, 0x41, 0xd1, 0xee, 0x78, 0x78, 0xbe, 0xf3, 0xf1, 0xe3, 0x39, 0xe4, 0x1c, 0x4a, + 0x70, 0xd7, 0x23, 0x2c, 0x72, 0x8f, 0x7d, 0xbc, 0x61, 0x72, 0x9f, 0x6c, 0x98, 0x7e, 0xd7, 0x0b, + 0xf9, 0x46, 0x67, 0x13, 0x3b, 0x9e, 0x8d, 0x37, 0x95, 0x5d, 0xf2, 0x7c, 0x1e, 0x72, 0xb4, 0x94, + 0x60, 0x4b, 0x02, 0x5b, 0x52, 0xbe, 0x04, 0xab, 0x7f, 0xa1, 0x41, 0xfa, 0x01, 0x21, 0xe8, 0x03, + 0x98, 0xc6, 0x2e, 0x8f, 0x58, 0x58, 0xd4, 0x56, 0xb4, 0xf5, 0x5c, 0xf9, 0x76, 0x69, 0x68, 0x5c, + 0x69, 0x47, 0x82, 0x0d, 0x15, 0x84, 0x76, 0x20, 0x8b, 0x83, 0x80, 0x84, 0x4d, 0x6a, 0x15, 0x53, + 0x92, 0x60, 0x6d, 0x14, 0x81, 0x80, 0xef, 0x5b, 0x46, 0x06, 0xc7, 0x03, 0xfd, 0x3e, 0x64, 0x76, + 0x2c, 0xcb, 0x27, 0x41, 0x80, 0x16, 0x60, 0x8a, 0x32, 0x46, 0x7c, 0xa9, 0x25, 0x6f, 0xc4, 0x06, + 0xba, 0x01, 0x39, 0xec, 0x84, 0xcd, 0x63, 0x62, 0xda, 0x5b, 0x65, 0x57, 0x2e, 0x33, 0x63, 0x00, + 0x76, 0xc2, 0x4a, 0x3c, 0xa3, 0xff, 0x9e, 0x86, 0x9c, 0xa2, 0x38, 0xa4, 0xe4, 0x14, 0x3d, 0x86, + 0x4c, 0x87, 0x06, 0xf4, 0xd8, 0x21, 0x6a, 0x53, 0xe5, 0x51, 0x9a, 0xce, 0x83, 0x4b, 0x87, 0x71, + 0xe4, 0xde, 0x84, 0x91, 0x90, 0xa0, 0x1a, 0x4c, 0x73, 0x0f, 0x7f, 0x16, 0x11, 0xb5, 0xc5, 0xcd, + 0x37, 0xa0, 0x7b, 0x22, 0x03, 0xf7, 0x26, 0x0c, 0x45, 0xb1, 0xf8, 0xab, 0x06, 0x19, 0xb5, 0x06, + 0xba, 0x0f, 0x19, 0x1c, 0x63, 0x95, 0xd0, 0xb5, 0xf1, 0x98, 0x8d, 0x24, 0x0c, 0xed, 0x88, 0x8c, + 0x59, 0xe4, 0xb9, 0x52, 0xf6, 0xbf, 0xf1, 0xe2, 0xf7, 0x45, 0x88, 0x11, 0x47, 0xa2, 0x67, 0x30, + 0x8f, 0x4d, 0x53, 0x54, 0xb3, 0xd9, 0xf2, 0x79, 0xe4, 0x89, 0x52, 0xa6, 0x25, 0xdb, 0xff, 0x47, + 0xb1, 0xc5, 0x61, 0x0f, 0x45, 0xd4, 0xbe, 0x65, 0x14, 0xf0, 0x05, 0x7b, 0xf1, 0x63, 0x98, 0x8e, + 0x77, 0xff, 0xee, 0xfb, 0xac, 0x14, 0x20, 0xaf, 0x86, 0xcd, 0x0e, 0x25, 0xa7, 0xfa, 0x0a, 0x64, + 0x0f, 0x3c, 0xc2, 0xac, 0x1a, 0xe9, 0x5e, 0x7d, 0x6a, 0xf4, 0x7b, 0xb0, 0x20, 0x11, 0x87, 0xc4, + 0xa7, 0x27, 0xd4, 0xc4, 0x21, 0xe5, 0x6c, 0x30, 0x7a, 0x0d, 0x0a, 0x0f, 0x22, 0xc7, 0x11, 0x25, + 0xa3, 0xac, 0x35, 0x14, 0x77, 0x71, 0xd7, 0x03, 0x70, 0xb7, 0x20, 0xb7, 0x4b, 0x3b, 0xc4, 0x0f, + 0xe8, 0x09, 0x25, 0xfe, 0x00, 0xd0, 0x1e, 0xe4, 0xfb, 0x0b, 0x82, 0x8a, 0x90, 0x51, 0x29, 0x94, + 0xe5, 0x9c, 0x35, 0x12, 0x13, 0x2d, 0x03, 0xf8, 0x98, 0x59, 0xdc, 0xa5, 0x9f, 0x13, 0x5f, 0x56, + 0x27, 0x6f, 0xf4, 0xcd, 0xe8, 0xff, 0x85, 0xb9, 0x83, 0x10, 0x87, 0xa4, 0xca, 0x5d, 0x97, 0x86, + 0x2e, 0x61, 0xe1, 0x80, 0x25, 0xef, 0xc0, 0xb5, 0x0a, 0x76, 0x30, 0x33, 0x47, 0x43, 0x4f, 0x20, + 0xa3, 0xee, 0xea, 0x5b, 0xde, 0x4b, 0xb4, 0x0a, 0x05, 0x09, 0xc0, 0x01, 0x69, 0x5a, 0x84, 0x71, + 0x57, 0x2a, 0x9f, 0x31, 0xf2, 0x02, 0x83, 0x03, 0xb2, 0x2b, 0xe6, 0xf4, 0x75, 0x98, 0x8e, 0x3f, + 0x2a, 0xa8, 0x00, 0x29, 0x87, 0xcb, 0x35, 0x26, 0x8d, 0x94, 0xc3, 0x85, 0x6d, 0x53, 0xc9, 0x3b, + 0x69, 0xa4, 0x6c, 0xaa, 0x2f, 0xc1, 0x94, 0x0c, 0x11, 0x7a, 0x62, 0x3e, 0x4d, 0xf2, 0xc5, 0x86, + 0xfe, 0x2a, 0x05, 0xb3, 0xd2, 0xff, 0x88, 0x84, 0xd8, 0xc2, 0x21, 0x46, 0x2b, 0x90, 0xb3, 0x48, + 0x60, 0xfa, 0xd4, 0x13, 0xd5, 0x57, 0xe8, 0xfe, 0x29, 0xb4, 0x2f, 0x10, 0x8c, 0xbb, 0xcd, 0x88, + 0xd1, 0x30, 0x28, 0xa6, 0x56, 0xd2, 0xeb, 0xb9, 0xf2, 0xfa, 0x88, 0xd3, 0x29, 0x17, 0x79, 0xca, + 0x68, 0x68, 0x80, 0x95, 0x0c, 0x03, 0x84, 0x60, 0x52, 0xec, 0x54, 0xed, 0x51, 0x8e, 0x45, 0x45, + 0x2d, 0x1a, 0x78, 0x0e, 0xee, 0x16, 0x27, 0xe5, 0x74, 0x62, 0x0a, 0x34, 0xc3, 0x2e, 0x29, 0x4e, + 0xc5, 0x68, 0x31, 0x46, 0xd7, 0x61, 0x3a, 0xe8, 0xba, 0xc7, 0xdc, 0x29, 0x4e, 0xcb, 0x59, 0x65, + 0xa1, 0x79, 0x48, 0x47, 0x3e, 0x2d, 0x66, 0xe4, 0xa4, 0x18, 0xa2, 0x7f, 0x41, 0x36, 0xf2, 0x69, + 0xd3, 0xc6, 0x81, 0x5d, 0xcc, 0xc6, 0xc4, 0x91, 0x4f, 0xf7, 0x70, 0x60, 0xa3, 0x03, 0xb8, 0x96, + 0xa8, 0x6f, 0xf6, 0x3e, 0xcd, 0x3f, 0xcc, 0xbd, 0xd1, 0xb7, 0x79, 0x2e, 0x81, 0xa9, 0x09, 0xfd, + 0x19, 0xcc, 0xf4, 0x36, 0x7d, 0x75, 0xf6, 0xd1, 0x22, 0x64, 0xc9, 0x73, 0x8f, 0x33, 0xd2, 0x3b, + 0xbd, 0x3d, 0x5b, 0x1e, 0x6c, 0x87, 0xe2, 0x80, 0x04, 0xc5, 0xf4, 0x4a, 0x5a, 0xa8, 0x55, 0xa6, + 0xfe, 0xa5, 0x06, 0x53, 0x87, 0xd8, 0x89, 0xfe, 0x09, 0x8d, 0xe8, 0x8f, 0x34, 0xcc, 0x48, 0x2d, + 0xb2, 0x89, 0x1c, 0x42, 0xae, 0xcd, 0xf8, 0x29, 0x6b, 0x9e, 0xef, 0x35, 0x57, 0xde, 0x1a, 0xc1, + 0xd9, 0x0b, 0x2f, 0xd5, 0x44, 0xac, 0xcc, 0xd9, 0xde, 0x84, 0x01, 0xed, 0x9e, 0x85, 0x8e, 0x60, + 0x36, 0x62, 0xfd, 0xcc, 0xb1, 0xda, 0xf7, 0xc6, 0x66, 0x7e, 0xca, 0xda, 0xfd, 0xdc, 0xf9, 0xa8, + 0xcf, 0x5e, 0xfc, 0x4a, 0x03, 0x38, 0x5f, 0xfa, 0x5d, 0x93, 0x5a, 0x49, 0x2a, 0x1d, 0x6b, 0xbc, + 0x37, 0xce, 0xbd, 0x48, 0x2e, 0x9f, 0x3a, 0x17, 0x8b, 0x2f, 0x34, 0xc8, 0xf7, 0x4b, 0xfe, 0xfb, + 0x0b, 0x5d, 0xc9, 0x03, 0x74, 0x44, 0x3a, 0xe3, 0x56, 0xa2, 0x03, 0x3c, 0x22, 0x7e, 0xdb, 0x21, + 0x06, 0xe7, 0x83, 0xbe, 0x85, 0x4b, 0x90, 0xdb, 0xb7, 0x08, 0x0b, 0x69, 0xd8, 0x15, 0xbd, 0xa1, + 0x00, 0x29, 0xda, 0x56, 0x88, 0x14, 0x6d, 0xeb, 0x37, 0x60, 0xf6, 0x21, 0xef, 0x10, 0x9f, 0x89, + 0x0f, 0xab, 0x02, 0xb4, 0x7a, 0x80, 0x56, 0x5b, 0x5f, 0x85, 0x7c, 0x95, 0xb3, 0x80, 0xb0, 0x20, + 0x0a, 0x06, 0x37, 0x97, 0xaf, 0x35, 0x98, 0x7c, 0xcc, 0x43, 0x82, 0xb6, 0x61, 0x4a, 0x0a, 0x54, + 0x19, 0x5a, 0x1d, 0xe7, 0x6c, 0x18, 0x71, 0x88, 0xa0, 0xf6, 0x03, 0x42, 0xe2, 0xe4, 0xe4, 0x8d, + 0xd8, 0xe8, 0xef, 0xc0, 0xe9, 0xb7, 0xea, 0xc0, 0xfa, 0xb7, 0x1a, 0x64, 0x85, 0x38, 0x79, 0x39, + 0x3e, 0xbc, 0x28, 0x70, 0x7d, 0xdc, 0xc3, 0x3b, 0x5c, 0xe4, 0xee, 0x65, 0x91, 0x77, 0xc7, 0x7f, + 0x68, 0x9d, 0x0b, 0x5d, 0x83, 0x82, 0xd0, 0x59, 0xa5, 0x9e, 0x4d, 0xfc, 0x90, 0x3c, 0x1f, 0x54, + 0xd3, 0x9b, 0x30, 0xf3, 0x38, 0x72, 0x9c, 0x61, 0x0d, 0xfa, 0x2e, 0x20, 0xf9, 0x86, 0xd8, 0x89, + 0x42, 0xfb, 0x80, 0xb6, 0x18, 0x0e, 0x23, 0x9f, 0x0c, 0xc0, 0xae, 0xc3, 0x7c, 0x85, 0x32, 0x8b, + 0xb2, 0xd6, 0x28, 0xe4, 0x2f, 0x1a, 0xe4, 0x84, 0xc2, 0x3a, 0xee, 0x3a, 0x1c, 0x5b, 0xe8, 0x19, + 0xcc, 0x31, 0x1e, 0x92, 0xa6, 0xd9, 0xeb, 0xc8, 0x2a, 0xad, 0xa5, 0x11, 0xdb, 0xbf, 0xd4, 0xf2, + 0x8d, 0x82, 0xa0, 0xe9, 0xeb, 0xeb, 0xb7, 0x60, 0x96, 0x78, 0x36, 0x71, 0x89, 0x8f, 0x9d, 0x66, + 0x9b, 0x74, 0x55, 0xb6, 0xf3, 0xbd, 0x49, 0x71, 0x14, 0x3f, 0x81, 0x02, 0x61, 0x92, 0x99, 0x58, + 0x4d, 0x41, 0x30, 0xe6, 0xe3, 0xef, 0x62, 0x8e, 0x8d, 0xd9, 0x1e, 0x89, 0x70, 0xe8, 0xaf, 0x34, + 0x58, 0xb8, 0x24, 0xaf, 0xee, 0x73, 0x7e, 0xf2, 0xd7, 0x6d, 0x76, 0x11, 0xb2, 0x1e, 0x0f, 0xa8, + 0x6c, 0xf4, 0xf1, 0x93, 0xa1, 0x67, 0xa3, 0x1a, 0xcc, 0xe0, 0x28, 0xb4, 0x9b, 0x1e, 0x0e, 0x6d, + 0xd9, 0x81, 0x46, 0x2f, 0x17, 0x7f, 0x12, 0xea, 0x38, 0xb4, 0xab, 0x76, 0xc4, 0xda, 0x46, 0x56, + 0x10, 0x08, 0x53, 0xb7, 0x61, 0xee, 0x92, 0x13, 0xfd, 0x1b, 0x66, 0xc4, 0x83, 0x9e, 0xb2, 0x56, + 0x73, 0x53, 0xd5, 0x3a, 0xab, 0x26, 0x36, 0xfb, 0x9d, 0x65, 0x55, 0x81, 0xc4, 0x59, 0xee, 0x77, + 0x6e, 0xa9, 0x77, 0x5d, 0xe2, 0xdc, 0xd2, 0xff, 0x03, 0x93, 0x55, 0x75, 0x5b, 0xae, 0x38, 0x46, + 0x3a, 0xc0, 0x47, 0x27, 0x27, 0xc4, 0x0c, 0x65, 0xdb, 0xbf, 0x1a, 0x73, 0x1b, 0x66, 0x1b, 0xb5, + 0x27, 0x51, 0xe8, 0x45, 0x2a, 0xfd, 0x57, 0xc3, 0x56, 0x21, 0xdf, 0xa8, 0xc9, 0x93, 0x3e, 0x0c, + 0x75, 0x0b, 0x72, 0x8d, 0xda, 0xc1, 0x29, 0xf6, 0x86, 0x81, 0xd6, 0x61, 0x3e, 0x06, 0x55, 0x1d, + 0x4c, 0xdd, 0x61, 0xc8, 0x12, 0x5c, 0x6f, 0xd4, 0x9e, 0x32, 0x8b, 0x38, 0xa4, 0x25, 0x4a, 0x3b, + 0x0a, 0x7f, 0x0f, 0x16, 0x1a, 0xb5, 0xdd, 0x18, 0xcd, 0xfd, 0x43, 0x71, 0x81, 0x86, 0xa0, 0xcb, + 0xb0, 0xd8, 0xa8, 0xf5, 0xee, 0xf7, 0x2e, 0xf1, 0x69, 0x47, 0xfe, 0x04, 0x18, 0x12, 0x53, 0xf9, + 0x3e, 0xf5, 0xe3, 0xd9, 0xb2, 0xf6, 0xf2, 0x6c, 0x59, 0xfb, 0xf9, 0x6c, 0x59, 0x7b, 0xf1, 0x7a, + 0x79, 0xe2, 0xe5, 0xeb, 0xe5, 0x89, 0x57, 0xaf, 0x97, 0x27, 0xe0, 0xa6, 0xc9, 0xdd, 0xe1, 0x27, + 0xa6, 0x92, 0xab, 0xca, 0x89, 0xba, 0xf8, 0xf5, 0x5d, 0xd7, 0x1a, 0x9f, 0xb6, 0x68, 0x68, 0x47, + 0xc7, 0x25, 0x93, 0xbb, 0x1b, 0x26, 0x0f, 0x5c, 0x1e, 0x6c, 0xf8, 0xc4, 0xc1, 0x5d, 0xe2, 0x6f, + 0x74, 0xca, 0xbd, 0xa1, 0x69, 0x63, 0xca, 0x82, 0x8d, 0xa1, 0xbf, 0xeb, 0xdf, 0x8f, 0xed, 0xc4, + 0xfc, 0x26, 0x95, 0xae, 0x57, 0xab, 0xdf, 0xa5, 0x96, 0xea, 0x89, 0x9c, 0xaa, 0x90, 0x13, 0xaf, + 0x5e, 0x3a, 0x54, 0xa8, 0x9f, 0xce, 0xfd, 0x47, 0xc2, 0x7f, 0x14, 0xfb, 0x8f, 0x12, 0xff, 0x59, + 0xea, 0xce, 0x50, 0xff, 0xd1, 0xc3, 0x7a, 0x25, 0x69, 0xe5, 0xbf, 0xa5, 0x56, 0x12, 0xec, 0xf6, + 0xb6, 0x00, 0x6f, 0x6f, 0xc7, 0xe8, 0xed, 0xed, 0x04, 0x7e, 0x3c, 0x2d, 0xff, 0x75, 0xd8, 0xfa, + 0x33, 0x00, 0x00, 0xff, 0xff, 0x88, 0xb9, 0x8c, 0xd5, 0xa3, 0x10, 0x00, 0x00, } func (m *Fee) Marshal() (dAtA []byte, err error) { @@ -3016,6 +3038,13 @@ func (m *AssetId) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.AltBaseDenom) > 0 { + i -= len(m.AltBaseDenom) + copy(dAtA[i:], m.AltBaseDenom) + i = encodeVarintCrypto(dAtA, i, uint64(len(m.AltBaseDenom))) + i-- + dAtA[i] = 0x1a + } if len(m.AltBech32M) > 0 { i -= len(m.AltBech32M) copy(dAtA[i:], m.AltBech32M) @@ -4461,6 +4490,10 @@ func (m *AssetId) Size() (n int) { if l > 0 { n += 1 + l + sovCrypto(uint64(l)) } + l = len(m.AltBaseDenom) + if l > 0 { + n += 1 + l + sovCrypto(uint64(l)) + } return n } @@ -6369,6 +6402,38 @@ func (m *AssetId) Unmarshal(dAtA []byte) error { } m.AltBech32M = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AltBaseDenom", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCrypto + } + 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 ErrInvalidLengthCrypto + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCrypto + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AltBaseDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipCrypto(dAtA[iNdEx:]) diff --git a/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go b/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go index 45a51020b..9456bbbb2 100644 --- a/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go +++ b/relayer/chains/penumbra/core/dex/v1alpha1/dex.pb.go @@ -62,18 +62,13 @@ func (x PositionState_PositionStateEnum) String() string { } func (PositionState_PositionStateEnum) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{19, 0} + return fileDescriptor_d1eba752ca2f0d70, []int{18, 0} } // A transaction action that submits a swap to the dex. type Swap struct { // Contains the Swap proof. Proof *v1alpha1.ZKSwapProof `protobuf:"bytes,1,opt,name=proof,proto3" json:"proof,omitempty"` - // MockFlowCiphertext dropped until flow encryption/ABCI++ available - // // Encrypted amount of asset 1 of the trading pair. - // MockFlowCiphertext enc_amount_1 = 2; - // // Encrypted amount of asset 2 of the trading pair. - // MockFlowCiphertext enc_amount_2 = 3; // Encapsulates the authorized fields of the Swap action, used in signing. Body *SwapBody `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"` } @@ -501,63 +496,22 @@ func (m *SwapPlaintext) GetRseed() []byte { return nil } -type MockFlowCiphertext struct { - // Represents this transaction's contribution to flow's value. - Value *v1alpha1.Amount `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` -} - -func (m *MockFlowCiphertext) Reset() { *m = MockFlowCiphertext{} } -func (m *MockFlowCiphertext) String() string { return proto.CompactTextString(m) } -func (*MockFlowCiphertext) ProtoMessage() {} -func (*MockFlowCiphertext) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{6} -} -func (m *MockFlowCiphertext) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MockFlowCiphertext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MockFlowCiphertext.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 *MockFlowCiphertext) XXX_Merge(src proto.Message) { - xxx_messageInfo_MockFlowCiphertext.Merge(m, src) -} -func (m *MockFlowCiphertext) XXX_Size() int { - return m.Size() -} -func (m *MockFlowCiphertext) XXX_DiscardUnknown() { - xxx_messageInfo_MockFlowCiphertext.DiscardUnknown(m) -} - -var xxx_messageInfo_MockFlowCiphertext proto.InternalMessageInfo - -func (m *MockFlowCiphertext) GetValue() *v1alpha1.Amount { - if m != nil { - return m.Value - } - return nil -} - type SwapPlan struct { // The plaintext version of the swap to be performed. SwapPlaintext *SwapPlaintext `protobuf:"bytes,1,opt,name=swap_plaintext,json=swapPlaintext,proto3" json:"swap_plaintext,omitempty"` // The blinding factor for the fee commitment. The fee in the SwapPlan is private to prevent linkability with the SwapClaim. FeeBlinding []byte `protobuf:"bytes,2,opt,name=fee_blinding,json=feeBlinding,proto3" json:"fee_blinding,omitempty"` + // The first blinding factor to use for the ZK swap proof. + ProofBlindingR []byte `protobuf:"bytes,3,opt,name=proof_blinding_r,json=proofBlindingR,proto3" json:"proof_blinding_r,omitempty"` + // The second blinding factor to use for the ZK swap proof. + ProofBlindingS []byte `protobuf:"bytes,4,opt,name=proof_blinding_s,json=proofBlindingS,proto3" json:"proof_blinding_s,omitempty"` } func (m *SwapPlan) Reset() { *m = SwapPlan{} } func (m *SwapPlan) String() string { return proto.CompactTextString(m) } func (*SwapPlan) ProtoMessage() {} func (*SwapPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{7} + return fileDescriptor_d1eba752ca2f0d70, []int{6} } func (m *SwapPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -600,6 +554,20 @@ func (m *SwapPlan) GetFeeBlinding() []byte { return nil } +func (m *SwapPlan) GetProofBlindingR() []byte { + if m != nil { + return m.ProofBlindingR + } + return nil +} + +func (m *SwapPlan) GetProofBlindingS() []byte { + if m != nil { + return m.ProofBlindingS + } + return nil +} + type SwapClaimPlan struct { // The plaintext version of the swap to be performed. SwapPlaintext *SwapPlaintext `protobuf:"bytes,1,opt,name=swap_plaintext,json=swapPlaintext,proto3" json:"swap_plaintext,omitempty"` @@ -609,13 +577,17 @@ type SwapClaimPlan struct { OutputData *BatchSwapOutputData `protobuf:"bytes,3,opt,name=output_data,json=outputData,proto3" json:"output_data,omitempty"` // The epoch duration, used in proving. EpochDuration uint64 `protobuf:"varint,4,opt,name=epoch_duration,json=epochDuration,proto3" json:"epoch_duration,omitempty"` + // The first blinding factor to use for the ZK swap claim proof. + ProofBlindingR []byte `protobuf:"bytes,5,opt,name=proof_blinding_r,json=proofBlindingR,proto3" json:"proof_blinding_r,omitempty"` + // The second blinding factor to use for the ZK swap claim proof. + ProofBlindingS []byte `protobuf:"bytes,6,opt,name=proof_blinding_s,json=proofBlindingS,proto3" json:"proof_blinding_s,omitempty"` } func (m *SwapClaimPlan) Reset() { *m = SwapClaimPlan{} } func (m *SwapClaimPlan) String() string { return proto.CompactTextString(m) } func (*SwapClaimPlan) ProtoMessage() {} func (*SwapClaimPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{8} + return fileDescriptor_d1eba752ca2f0d70, []int{7} } func (m *SwapClaimPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -672,8 +644,23 @@ func (m *SwapClaimPlan) GetEpochDuration() uint64 { return 0 } +func (m *SwapClaimPlan) GetProofBlindingR() []byte { + if m != nil { + return m.ProofBlindingR + } + return nil +} + +func (m *SwapClaimPlan) GetProofBlindingS() []byte { + if m != nil { + return m.ProofBlindingS + } + return nil +} + type SwapView struct { // Types that are valid to be assigned to SwapView: + // // *SwapView_Visible_ // *SwapView_Opaque_ SwapView isSwapView_SwapView `protobuf_oneof:"swap_view"` @@ -683,7 +670,7 @@ func (m *SwapView) Reset() { *m = SwapView{} } func (m *SwapView) String() string { return proto.CompactTextString(m) } func (*SwapView) ProtoMessage() {} func (*SwapView) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{9} + return fileDescriptor_d1eba752ca2f0d70, []int{8} } func (m *SwapView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -766,7 +753,7 @@ func (m *SwapView_Visible) Reset() { *m = SwapView_Visible{} } func (m *SwapView_Visible) String() string { return proto.CompactTextString(m) } func (*SwapView_Visible) ProtoMessage() {} func (*SwapView_Visible) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{9, 0} + return fileDescriptor_d1eba752ca2f0d70, []int{8, 0} } func (m *SwapView_Visible) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -817,7 +804,7 @@ func (m *SwapView_Opaque) Reset() { *m = SwapView_Opaque{} } func (m *SwapView_Opaque) String() string { return proto.CompactTextString(m) } func (*SwapView_Opaque) ProtoMessage() {} func (*SwapView_Opaque) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{9, 1} + return fileDescriptor_d1eba752ca2f0d70, []int{8, 1} } func (m *SwapView_Opaque) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -865,7 +852,7 @@ func (m *SwapClaimView) Reset() { *m = SwapClaimView{} } func (m *SwapClaimView) String() string { return proto.CompactTextString(m) } func (*SwapClaimView) ProtoMessage() {} func (*SwapClaimView) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{10} + return fileDescriptor_d1eba752ca2f0d70, []int{9} } func (m *SwapClaimView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -949,7 +936,7 @@ func (m *SwapClaimView_Visible) Reset() { *m = SwapClaimView_Visible{} } func (m *SwapClaimView_Visible) String() string { return proto.CompactTextString(m) } func (*SwapClaimView_Visible) ProtoMessage() {} func (*SwapClaimView_Visible) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{10, 0} + return fileDescriptor_d1eba752ca2f0d70, []int{9, 0} } func (m *SwapClaimView_Visible) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1007,7 +994,7 @@ func (m *SwapClaimView_Opaque) Reset() { *m = SwapClaimView_Opaque{} } func (m *SwapClaimView_Opaque) String() string { return proto.CompactTextString(m) } func (*SwapClaimView_Opaque) ProtoMessage() {} func (*SwapClaimView_Opaque) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{10, 1} + return fileDescriptor_d1eba752ca2f0d70, []int{9, 1} } func (m *SwapClaimView_Opaque) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1057,7 +1044,7 @@ func (m *TradingPair) Reset() { *m = TradingPair{} } func (m *TradingPair) String() string { return proto.CompactTextString(m) } func (*TradingPair) ProtoMessage() {} func (*TradingPair) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{11} + return fileDescriptor_d1eba752ca2f0d70, []int{10} } func (m *TradingPair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1113,7 +1100,7 @@ func (m *DirectedTradingPair) Reset() { *m = DirectedTradingPair{} } func (m *DirectedTradingPair) String() string { return proto.CompactTextString(m) } func (*DirectedTradingPair) ProtoMessage() {} func (*DirectedTradingPair) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{12} + return fileDescriptor_d1eba752ca2f0d70, []int{11} } func (m *DirectedTradingPair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1178,14 +1165,14 @@ type BatchSwapOutputData struct { // The trading pair associated with the batch swap. TradingPair *TradingPair `protobuf:"bytes,8,opt,name=trading_pair,json=tradingPair,proto3" json:"trading_pair,omitempty"` // The starting block height of the epoch for which the batch swap data is valid. - EpochHeight uint64 `protobuf:"varint,9,opt,name=epoch_height,json=epochHeight,proto3" json:"epoch_height,omitempty"` + EpochStartingHeight uint64 `protobuf:"varint,9,opt,name=epoch_starting_height,json=epochStartingHeight,proto3" json:"epoch_starting_height,omitempty"` } func (m *BatchSwapOutputData) Reset() { *m = BatchSwapOutputData{} } func (m *BatchSwapOutputData) String() string { return proto.CompactTextString(m) } func (*BatchSwapOutputData) ProtoMessage() {} func (*BatchSwapOutputData) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{13} + return fileDescriptor_d1eba752ca2f0d70, []int{12} } func (m *BatchSwapOutputData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1270,9 +1257,9 @@ func (m *BatchSwapOutputData) GetTradingPair() *TradingPair { return nil } -func (m *BatchSwapOutputData) GetEpochHeight() uint64 { +func (m *BatchSwapOutputData) GetEpochStartingHeight() uint64 { if m != nil { - return m.EpochHeight + return m.EpochStartingHeight } return 0 } @@ -1290,7 +1277,7 @@ func (m *TradingFunction) Reset() { *m = TradingFunction{} } func (m *TradingFunction) String() string { return proto.CompactTextString(m) } func (*TradingFunction) ProtoMessage() {} func (*TradingFunction) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{14} + return fileDescriptor_d1eba752ca2f0d70, []int{13} } func (m *TradingFunction) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1350,7 +1337,7 @@ func (m *BareTradingFunction) Reset() { *m = BareTradingFunction{} } func (m *BareTradingFunction) String() string { return proto.CompactTextString(m) } func (*BareTradingFunction) ProtoMessage() {} func (*BareTradingFunction) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{15} + return fileDescriptor_d1eba752ca2f0d70, []int{14} } func (m *BareTradingFunction) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1415,7 +1402,7 @@ func (m *Reserves) Reset() { *m = Reserves{} } func (m *Reserves) String() string { return proto.CompactTextString(m) } func (*Reserves) ProtoMessage() {} func (*Reserves) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{16} + return fileDescriptor_d1eba752ca2f0d70, []int{15} } func (m *Reserves) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1469,13 +1456,16 @@ type Position struct { Nonce []byte `protobuf:"bytes,2,opt,name=nonce,proto3" json:"nonce,omitempty"` State *PositionState `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` Reserves *Reserves `protobuf:"bytes,4,opt,name=reserves,proto3" json:"reserves,omitempty"` + // / If set to true, the position is a limit-order and will be closed + // / immediately after being filled. + CloseOnFill bool `protobuf:"varint,5,opt,name=close_on_fill,json=closeOnFill,proto3" json:"close_on_fill,omitempty"` } func (m *Position) Reset() { *m = Position{} } func (m *Position) String() string { return proto.CompactTextString(m) } func (*Position) ProtoMessage() {} func (*Position) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{17} + return fileDescriptor_d1eba752ca2f0d70, []int{16} } func (m *Position) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1532,6 +1522,13 @@ func (m *Position) GetReserves() *Reserves { return nil } +func (m *Position) GetCloseOnFill() bool { + if m != nil { + return m.CloseOnFill + } + return false +} + // A hash of a `Position`. type PositionId struct { // The bytes of the position ID. @@ -1550,7 +1547,7 @@ func (m *PositionId) Reset() { *m = PositionId{} } func (m *PositionId) String() string { return proto.CompactTextString(m) } func (*PositionId) ProtoMessage() {} func (*PositionId) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{18} + return fileDescriptor_d1eba752ca2f0d70, []int{17} } func (m *PositionId) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1602,7 +1599,7 @@ func (m *PositionState) Reset() { *m = PositionState{} } func (m *PositionState) String() string { return proto.CompactTextString(m) } func (*PositionState) ProtoMessage() {} func (*PositionState) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{19} + return fileDescriptor_d1eba752ca2f0d70, []int{18} } func (m *PositionState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1662,7 +1659,7 @@ func (m *LpNft) Reset() { *m = LpNft{} } func (m *LpNft) String() string { return proto.CompactTextString(m) } func (*LpNft) ProtoMessage() {} func (*LpNft) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{20} + return fileDescriptor_d1eba752ca2f0d70, []int{19} } func (m *LpNft) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1721,7 +1718,7 @@ func (m *PositionOpen) Reset() { *m = PositionOpen{} } func (m *PositionOpen) String() string { return proto.CompactTextString(m) } func (*PositionOpen) ProtoMessage() {} func (*PositionOpen) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{21} + return fileDescriptor_d1eba752ca2f0d70, []int{20} } func (m *PositionOpen) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1774,7 +1771,7 @@ func (m *PositionClose) Reset() { *m = PositionClose{} } func (m *PositionClose) String() string { return proto.CompactTextString(m) } func (*PositionClose) ProtoMessage() {} func (*PositionClose) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{22} + return fileDescriptor_d1eba752ca2f0d70, []int{21} } func (m *PositionClose) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1827,7 +1824,7 @@ func (m *PositionWithdraw) Reset() { *m = PositionWithdraw{} } func (m *PositionWithdraw) String() string { return proto.CompactTextString(m) } func (*PositionWithdraw) ProtoMessage() {} func (*PositionWithdraw) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{23} + return fileDescriptor_d1eba752ca2f0d70, []int{22} } func (m *PositionWithdraw) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1887,7 +1884,7 @@ func (m *PositionRewardClaim) Reset() { *m = PositionRewardClaim{} } func (m *PositionRewardClaim) String() string { return proto.CompactTextString(m) } func (*PositionRewardClaim) ProtoMessage() {} func (*PositionRewardClaim) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{24} + return fileDescriptor_d1eba752ca2f0d70, []int{23} } func (m *PositionRewardClaim) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1943,7 +1940,7 @@ func (m *SwapExecution) Reset() { *m = SwapExecution{} } func (m *SwapExecution) String() string { return proto.CompactTextString(m) } func (*SwapExecution) ProtoMessage() {} func (*SwapExecution) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{25} + return fileDescriptor_d1eba752ca2f0d70, []int{24} } func (m *SwapExecution) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2003,7 +2000,7 @@ func (m *SwapExecution_Trace) Reset() { *m = SwapExecution_Trace{} } func (m *SwapExecution_Trace) String() string { return proto.CompactTextString(m) } func (*SwapExecution_Trace) ProtoMessage() {} func (*SwapExecution_Trace) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{25, 0} + return fileDescriptor_d1eba752ca2f0d70, []int{24, 0} } func (m *SwapExecution_Trace) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2050,7 +2047,7 @@ func (m *PositionWithdrawPlan) Reset() { *m = PositionWithdrawPlan{} } func (m *PositionWithdrawPlan) String() string { return proto.CompactTextString(m) } func (*PositionWithdrawPlan) ProtoMessage() {} func (*PositionWithdrawPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{26} + return fileDescriptor_d1eba752ca2f0d70, []int{25} } func (m *PositionWithdrawPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2109,7 +2106,7 @@ func (m *PositionRewardClaimPlan) Reset() { *m = PositionRewardClaimPlan func (m *PositionRewardClaimPlan) String() string { return proto.CompactTextString(m) } func (*PositionRewardClaimPlan) ProtoMessage() {} func (*PositionRewardClaimPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_d1eba752ca2f0d70, []int{27} + return fileDescriptor_d1eba752ca2f0d70, []int{26} } func (m *PositionRewardClaimPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2153,7 +2150,6 @@ func init() { proto.RegisterType((*SwapBody)(nil), "penumbra.core.dex.v1alpha1.SwapBody") proto.RegisterType((*SwapPayload)(nil), "penumbra.core.dex.v1alpha1.SwapPayload") proto.RegisterType((*SwapPlaintext)(nil), "penumbra.core.dex.v1alpha1.SwapPlaintext") - proto.RegisterType((*MockFlowCiphertext)(nil), "penumbra.core.dex.v1alpha1.MockFlowCiphertext") proto.RegisterType((*SwapPlan)(nil), "penumbra.core.dex.v1alpha1.SwapPlan") proto.RegisterType((*SwapClaimPlan)(nil), "penumbra.core.dex.v1alpha1.SwapClaimPlan") proto.RegisterType((*SwapView)(nil), "penumbra.core.dex.v1alpha1.SwapView") @@ -2187,119 +2183,121 @@ func init() { } var fileDescriptor_d1eba752ca2f0d70 = []byte{ - // 1786 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x4f, 0x6f, 0x1b, 0xc7, - 0x15, 0xd7, 0x2e, 0x29, 0x8a, 0x7c, 0xa4, 0x1c, 0x79, 0x14, 0xb4, 0x02, 0x8b, 0xc8, 0xf6, 0xd6, - 0x49, 0xdc, 0xa4, 0xa0, 0xc2, 0x75, 0x0a, 0x04, 0x72, 0x12, 0x47, 0xfc, 0x23, 0x8b, 0x49, 0x44, - 0x31, 0x2b, 0xc5, 0x2e, 0x52, 0xa3, 0x8b, 0xd1, 0xee, 0xc8, 0x5c, 0x74, 0xb9, 0xbb, 0xde, 0x1d, - 0x4a, 0xd4, 0xa9, 0x40, 0xd1, 0xa2, 0xa7, 0xa2, 0xcd, 0xa9, 0xa7, 0xa2, 0x48, 0x8f, 0x45, 0x3f, - 0x42, 0xd1, 0x5e, 0x8b, 0x9e, 0x7c, 0x6b, 0x4f, 0x45, 0x21, 0x1f, 0x0a, 0xf4, 0x03, 0x14, 0x3d, - 0xf4, 0x50, 0xcc, 0x3f, 0x72, 0x25, 0x51, 0x26, 0x29, 0xab, 0x97, 0xde, 0x38, 0x33, 0xef, 0xf7, - 0xdb, 0xf7, 0xe6, 0xbd, 0x79, 0xef, 0xcd, 0x10, 0x6e, 0x47, 0x24, 0xe8, 0xf7, 0xf6, 0x63, 0xbc, - 0xe6, 0x84, 0x31, 0x59, 0x73, 0xc9, 0x60, 0xed, 0xb0, 0x8a, 0xfd, 0xa8, 0x8b, 0xab, 0x6c, 0x50, - 0x89, 0xe2, 0x90, 0x86, 0xa8, 0xac, 0xa4, 0x2a, 0x4c, 0xaa, 0xc2, 0x16, 0x94, 0x54, 0xf9, 0xad, - 0xd3, 0x0c, 0x4e, 0x7c, 0x1c, 0xd1, 0x70, 0x44, 0x22, 0xc6, 0x82, 0xc7, 0xf8, 0x91, 0x06, 0xd9, - 0xdd, 0x23, 0x1c, 0xa1, 0x8f, 0x60, 0x3e, 0x8a, 0xc3, 0xf0, 0x60, 0x45, 0xbb, 0xa9, 0xdd, 0x29, - 0x9a, 0x6f, 0x55, 0x4e, 0x7f, 0x40, 0x82, 0x14, 0x49, 0xe5, 0x8b, 0x4f, 0x18, 0xaa, 0xc3, 0x10, - 0x96, 0x00, 0xa2, 0xf7, 0x20, 0xbb, 0x1f, 0xba, 0xc7, 0x2b, 0x59, 0x4e, 0x70, 0xbb, 0x72, 0xb1, - 0x86, 0x15, 0x86, 0xad, 0x85, 0xee, 0xb1, 0xc5, 0x11, 0xc6, 0x4f, 0x35, 0x28, 0xb0, 0xa9, 0xba, - 0x8f, 0xbd, 0x1e, 0x7a, 0x35, 0xad, 0x49, 0x49, 0xb1, 0x7f, 0x20, 0xd9, 0x75, 0xce, 0xfe, 0xad, - 0x49, 0xec, 0x9c, 0x6a, 0xf4, 0x09, 0xf4, 0x3a, 0x5c, 0x23, 0x51, 0xe8, 0x74, 0x6d, 0xb7, 0x1f, - 0x63, 0xea, 0x85, 0xc1, 0xca, 0xc2, 0x4d, 0xed, 0x4e, 0xd6, 0x5a, 0xe4, 0xb3, 0x0d, 0x39, 0x69, - 0xfc, 0x3a, 0x03, 0x8b, 0xa7, 0xe0, 0x68, 0x13, 0x0a, 0x41, 0xdf, 0xf7, 0xbd, 0x03, 0x8f, 0xc4, - 0x72, 0x6f, 0xee, 0x4c, 0xd8, 0x9b, 0xb6, 0x92, 0xb7, 0x46, 0x50, 0xf4, 0x2e, 0x64, 0x0e, 0x08, - 0x91, 0xea, 0x1b, 0x13, 0x18, 0x36, 0x09, 0xb1, 0x98, 0x38, 0xfa, 0x3e, 0x2c, 0x87, 0x7d, 0x1a, - 0xf5, 0xa9, 0x5d, 0xb5, 0x9d, 0xb0, 0xd7, 0xf3, 0x68, 0x8f, 0x04, 0x74, 0x25, 0xc3, 0x59, 0x2a, - 0x13, 0x58, 0x76, 0x29, 0xa6, 0xa4, 0x3e, 0x44, 0x59, 0xd7, 0x05, 0x55, 0x75, 0x34, 0x95, 0xe2, - 0x37, 0xd3, 0xfc, 0xd9, 0x97, 0xe1, 0x37, 0x53, 0xfc, 0x1d, 0x28, 0x4a, 0x7e, 0x17, 0x53, 0xbc, - 0x92, 0xe3, 0xbc, 0x6b, 0x2f, 0x72, 0x5e, 0x0d, 0x53, 0xa7, 0xcb, 0x5c, 0xb0, 0xc3, 0x71, 0x0d, - 0x4c, 0xb1, 0x05, 0xe1, 0xf0, 0xb7, 0xf1, 0x6f, 0x1d, 0xf2, 0x2a, 0x7c, 0xd0, 0xc7, 0x50, 0xa2, - 0x31, 0x76, 0xbd, 0xe0, 0x89, 0x1d, 0x61, 0x4f, 0xf9, 0xe7, 0xcd, 0x17, 0xf1, 0xef, 0x09, 0xf9, - 0x0e, 0xf6, 0x62, 0xab, 0x48, 0x47, 0x03, 0xb4, 0x01, 0x05, 0x97, 0xf8, 0x14, 0xdb, 0x55, 0xdb, - 0x93, 0x6e, 0x7a, 0x7d, 0xc2, 0x06, 0x6c, 0xf4, 0xc2, 0x7e, 0x40, 0xad, 0x05, 0x8e, 0xab, 0xb6, - 0x46, 0x14, 0xa6, 0xed, 0x49, 0x1f, 0xcd, 0x44, 0x61, 0xb6, 0xd0, 0x23, 0xb8, 0x76, 0x40, 0xc8, - 0x79, 0x5f, 0xbc, 0x33, 0x81, 0xa7, 0x86, 0x7d, 0x1c, 0x38, 0x69, 0x6f, 0x2c, 0x1e, 0x90, 0xd4, - 0x10, 0x6d, 0xc0, 0x42, 0x84, 0x8f, 0xfd, 0x10, 0xbb, 0x2b, 0xf3, 0x93, 0x77, 0x89, 0x1f, 0x6e, - 0x21, 0x6e, 0x29, 0x9c, 0xf1, 0x63, 0x0d, 0x8a, 0xa9, 0x05, 0xd4, 0x06, 0x48, 0xe9, 0xa9, 0x5d, - 0x2a, 0x66, 0x52, 0x0c, 0xfc, 0x8c, 0x06, 0x1c, 0x40, 0x5c, 0x3b, 0x39, 0xc2, 0x11, 0x77, 0x43, - 0xc9, 0x5a, 0x1c, 0xce, 0xb2, 0xaf, 0x1b, 0x3f, 0x91, 0x67, 0xb4, 0xe3, 0x63, 0x2f, 0xa0, 0x64, - 0x40, 0xff, 0x0f, 0xc3, 0xe0, 0x3e, 0x14, 0x1c, 0x96, 0x82, 0x6c, 0x96, 0x33, 0xb2, 0x53, 0xe7, - 0x8c, 0x3c, 0x07, 0x6d, 0x12, 0x82, 0x3e, 0x81, 0x45, 0x41, 0x80, 0x5d, 0x37, 0x26, 0x49, 0x22, - 0x9d, 0xfe, 0xc6, 0x24, 0x3d, 0x84, 0xb4, 0x55, 0xe2, 0x60, 0x39, 0x62, 0x19, 0x39, 0x4e, 0x08, - 0x71, 0xf9, 0xf9, 0x2d, 0x59, 0x62, 0x60, 0x7c, 0x06, 0x68, 0x3b, 0x74, 0x7e, 0xb0, 0xe9, 0x87, - 0x47, 0x75, 0x2f, 0xea, 0x92, 0x98, 0xfb, 0xe2, 0x1e, 0xcc, 0x1f, 0x62, 0xbf, 0x4f, 0xa4, 0x13, - 0xa6, 0x34, 0x5c, 0x60, 0x8c, 0x1f, 0x8a, 0xb3, 0xdd, 0xf1, 0x71, 0x80, 0x3a, 0x70, 0x8d, 0xc5, - 0x80, 0x1d, 0x29, 0x37, 0x4b, 0xc6, 0x89, 0xa9, 0x7f, 0x18, 0x17, 0xd6, 0x62, 0x72, 0x2a, 0x4c, - 0x6e, 0x41, 0x89, 0x9d, 0xad, 0x7d, 0xdf, 0x0b, 0x98, 0xbb, 0x65, 0x74, 0x15, 0x0f, 0x08, 0xa9, - 0xc9, 0x29, 0xe3, 0x5f, 0x5a, 0x2a, 0xff, 0xff, 0x8f, 0xd4, 0x28, 0x43, 0x3e, 0x0a, 0x13, 0x8f, - 0x17, 0x21, 0x9d, 0x17, 0xa1, 0xe1, 0xf8, 0x6c, 0xbe, 0xcc, 0xbc, 0x74, 0xbe, 0x1c, 0x53, 0xf8, - 0xb2, 0xe3, 0x0a, 0xdf, 0x7f, 0x64, 0x5a, 0x7d, 0xe8, 0x91, 0x23, 0xb4, 0x05, 0x0b, 0x87, 0x5e, - 0xe2, 0xed, 0xfb, 0xca, 0x8b, 0xdf, 0x9e, 0x64, 0x2c, 0x83, 0x55, 0x1e, 0x0a, 0xcc, 0xd6, 0x9c, - 0xa5, 0xe0, 0xa8, 0x09, 0xb9, 0x30, 0xc2, 0x4f, 0xfb, 0xaa, 0xf0, 0xbd, 0x3d, 0x15, 0xd1, 0x0e, - 0x87, 0x6c, 0xcd, 0x59, 0x12, 0x5c, 0xfe, 0x52, 0x83, 0x05, 0xc9, 0x8e, 0xde, 0x85, 0x2c, 0xcf, - 0x0d, 0x42, 0xb3, 0x9b, 0x93, 0x08, 0x2d, 0x2e, 0x3d, 0xc6, 0x8d, 0x99, 0x97, 0x73, 0x63, 0xf9, - 0x43, 0xc8, 0x09, 0x3d, 0x2f, 0xa7, 0x51, 0xad, 0x08, 0x05, 0xae, 0xd1, 0xa1, 0x47, 0x8e, 0x8c, - 0x7f, 0xa4, 0xfb, 0x0e, 0xee, 0x83, 0xed, 0xb3, 0x3e, 0xa8, 0x4e, 0xd5, 0xf2, 0x5c, 0xe4, 0x88, - 0x8f, 0xcf, 0x38, 0xe2, 0x9d, 0xe9, 0xd9, 0xce, 0x79, 0xe3, 0x2f, 0x29, 0x6f, 0x34, 0x00, 0xb8, - 0x15, 0x3c, 0x5f, 0x5c, 0x70, 0xe6, 0xc7, 0x73, 0x5b, 0xdc, 0x7c, 0xd1, 0xf2, 0xd5, 0x20, 0xaf, - 0xda, 0x1c, 0xa9, 0xdf, 0x9b, 0x93, 0x7a, 0xac, 0x90, 0x12, 0xa6, 0x9d, 0xb5, 0x20, 0x9b, 0x9a, - 0x14, 0x87, 0x29, 0x7d, 0x3b, 0x2b, 0x87, 0x59, 0x6e, 0x0f, 0x7d, 0x7a, 0x25, 0x76, 0xd5, 0xae, - 0xc3, 0x2b, 0x23, 0x16, 0xe1, 0xe9, 0x9f, 0x6b, 0x50, 0x4c, 0x15, 0x1f, 0x74, 0x1f, 0x16, 0x70, - 0x92, 0x10, 0x66, 0xb9, 0x36, 0x5d, 0x8a, 0x66, 0xd2, 0x2d, 0xd7, 0xca, 0x71, 0x58, 0x75, 0x44, - 0x60, 0xca, 0xad, 0x9b, 0x8d, 0xc0, 0x34, 0x7e, 0xa6, 0xc1, 0x72, 0xc3, 0x8b, 0x89, 0x43, 0x89, - 0x9b, 0xd6, 0xec, 0x7d, 0x98, 0x4f, 0x28, 0x8e, 0xe9, 0x8c, 0x7a, 0x09, 0x10, 0x7a, 0x0f, 0x32, - 0x24, 0x70, 0x67, 0x54, 0x89, 0x41, 0x8c, 0xdf, 0x65, 0x61, 0x79, 0x4c, 0x56, 0x43, 0x1f, 0xc2, - 0x82, 0xac, 0xcc, 0xb3, 0xd5, 0x96, 0x9c, 0xa8, 0xcb, 0x23, 0xbc, 0x39, 0x5b, 0x5d, 0x17, 0x78, - 0x13, 0x7d, 0x04, 0x79, 0x1f, 0xf7, 0xf6, 0x5d, 0xa6, 0xc0, 0x6c, 0x55, 0x5d, 0xc0, 0xaa, 0x29, - 0x06, 0x53, 0x16, 0xf5, 0xd9, 0x18, 0x4c, 0x16, 0x96, 0xfd, 0xe0, 0xc0, 0xf3, 0x7d, 0xe2, 0xda, - 0x55, 0x59, 0xd3, 0xa7, 0xe4, 0x28, 0x28, 0x60, 0xf5, 0x14, 0x8b, 0x29, 0x9b, 0xf2, 0x59, 0x59, - 0x4c, 0xf4, 0x35, 0xc8, 0x75, 0x89, 0xf7, 0xa4, 0x4b, 0xe5, 0x55, 0x4a, 0x8e, 0xce, 0x75, 0x63, - 0xf9, 0x97, 0xe8, 0xc6, 0x6e, 0x41, 0x49, 0x54, 0x2f, 0xf9, 0xa5, 0x02, 0xff, 0x52, 0x91, 0xcf, - 0x6d, 0xf1, 0x29, 0xe3, 0x57, 0x1a, 0xbc, 0x22, 0xf1, 0x9b, 0xfd, 0xc0, 0xe1, 0x65, 0x74, 0x1b, - 0x0a, 0x4e, 0xd8, 0x8b, 0xc2, 0x60, 0xd4, 0x98, 0x4e, 0x28, 0xa2, 0x31, 0x39, 0xc3, 0x61, 0x8d, - 0x18, 0xd0, 0x3d, 0xc8, 0x72, 0x4b, 0xf4, 0xd9, 0x2c, 0xe1, 0x20, 0xe3, 0x4b, 0x8d, 0x85, 0xf3, - 0x39, 0x7e, 0xb4, 0x24, 0x2e, 0x84, 0x4c, 0xbb, 0x45, 0x71, 0xd9, 0xbb, 0x0b, 0x5a, 0x34, 0x5b, - 0x68, 0x6a, 0x11, 0x03, 0x3d, 0x9d, 0x2d, 0x1c, 0xb5, 0xa7, 0xc6, 0x00, 0xf2, 0x16, 0x49, 0x48, - 0x7c, 0x48, 0x12, 0xf4, 0x1d, 0xd0, 0xe3, 0x19, 0x4f, 0x94, 0x1e, 0x57, 0x39, 0x6c, 0xc6, 0x83, - 0xa4, 0xc7, 0xa6, 0x71, 0xa2, 0x41, 0xbe, 0xa3, 0xba, 0x9d, 0x0f, 0x20, 0x13, 0x75, 0x3d, 0xf9, - 0xed, 0xb7, 0xa7, 0xd8, 0xd6, 0xa1, 0x73, 0x18, 0x8e, 0xb5, 0xa5, 0x41, 0x18, 0x38, 0x44, 0x36, - 0x72, 0x62, 0x80, 0xee, 0xf3, 0xb4, 0x45, 0xc9, 0x34, 0x05, 0x5e, 0x69, 0xc2, 0x6f, 0x25, 0x96, - 0xc0, 0xb1, 0x53, 0x1a, 0xcb, 0xcd, 0x99, 0xe6, 0x2d, 0x43, 0x6d, 0xa4, 0x35, 0x44, 0x19, 0x75, - 0x00, 0xc5, 0xdc, 0x72, 0x99, 0x9a, 0x5e, 0x10, 0xc8, 0xd7, 0x83, 0x92, 0x25, 0x06, 0xe8, 0x06, - 0x14, 0xb1, 0x4f, 0xed, 0x7d, 0xe2, 0x74, 0xef, 0x9a, 0x3d, 0x6e, 0x42, 0xc1, 0x02, 0xec, 0xd3, - 0x9a, 0x98, 0x31, 0xbe, 0xd2, 0x61, 0xf1, 0x94, 0x7e, 0xe8, 0x33, 0x65, 0x19, 0x23, 0xba, 0x66, - 0xde, 0x9b, 0xda, 0xb2, 0xd3, 0xa3, 0x66, 0xd0, 0xef, 0x49, 0x5b, 0x8d, 0xdf, 0x6b, 0x70, 0xfd, - 0xdc, 0x22, 0xfa, 0x26, 0xdc, 0xe8, 0xec, 0xec, 0xb6, 0xf6, 0x5a, 0x3b, 0x6d, 0x7b, 0x77, 0x6f, - 0x63, 0xaf, 0x69, 0x37, 0xdb, 0x9f, 0x6f, 0xdb, 0x9f, 0xb7, 0x77, 0x3b, 0xcd, 0x7a, 0x6b, 0xb3, - 0xd5, 0x6c, 0x2c, 0xcd, 0xa1, 0x55, 0x28, 0x8f, 0x13, 0xda, 0xe9, 0x34, 0xdb, 0xcd, 0xc6, 0x92, - 0x76, 0xd1, 0x7a, 0xfd, 0xd3, 0x9d, 0xdd, 0x66, 0x63, 0x49, 0x47, 0xb7, 0xe0, 0xb5, 0x71, 0xeb, - 0x8f, 0x5a, 0x7b, 0x5b, 0x0d, 0x6b, 0xe3, 0x51, 0x7b, 0x29, 0x83, 0x6e, 0xc0, 0x37, 0xc6, 0x53, - 0x6c, 0xb4, 0xb6, 0x9b, 0x8d, 0xa5, 0x2c, 0x3b, 0x5b, 0xf3, 0x9f, 0x46, 0xed, 0x03, 0x8a, 0x1e, - 0x40, 0x51, 0x35, 0xd1, 0xb6, 0xe7, 0x5e, 0x50, 0xb2, 0xc6, 0xee, 0x50, 0xcb, 0xb5, 0x20, 0x1a, - 0x79, 0x6b, 0x18, 0x3e, 0xfa, 0xe5, 0xc2, 0xc7, 0xe8, 0x40, 0x49, 0xcd, 0xef, 0x44, 0x24, 0x60, - 0xe1, 0x34, 0x6c, 0xf7, 0xb5, 0xc9, 0xe1, 0xa4, 0xb0, 0xa3, 0x4b, 0x81, 0xf1, 0xdd, 0x51, 0x20, - 0xd4, 0xfd, 0x30, 0x21, 0x57, 0x66, 0xac, 0xf1, 0x07, 0x0d, 0x96, 0xd4, 0xd2, 0x23, 0x8f, 0x76, - 0xdd, 0x18, 0x1f, 0x5d, 0xdd, 0x56, 0x62, 0x58, 0x56, 0x47, 0x22, 0xfd, 0xa0, 0xa1, 0x5f, 0xf2, - 0x41, 0x03, 0x29, 0xb2, 0xd1, 0x9c, 0xf1, 0x47, 0x0d, 0x96, 0x87, 0x3b, 0x46, 0x8e, 0x70, 0xec, - 0x8a, 0x86, 0xf2, 0xca, 0x6c, 0xb0, 0x01, 0xc5, 0x9c, 0xf7, 0x4a, 0x4c, 0xb8, 0x2e, 0xb9, 0x52, - 0x16, 0xfc, 0x52, 0x17, 0x9d, 0x7f, 0x73, 0x40, 0x9c, 0x3e, 0xcf, 0x8a, 0x0f, 0x20, 0x47, 0x63, - 0xec, 0x90, 0x64, 0x45, 0xbb, 0x99, 0x99, 0x54, 0xb9, 0x4e, 0x41, 0x59, 0x9a, 0x74, 0x88, 0x25, - 0xe1, 0x68, 0x9d, 0x25, 0x9e, 0xa8, 0xaf, 0xd4, 0xbd, 0x3d, 0x41, 0xdd, 0x87, 0xec, 0x0a, 0x6e, - 0x09, 0x08, 0x7a, 0x1f, 0x72, 0xa2, 0x29, 0x96, 0x69, 0x74, 0x3a, 0xb0, 0xc4, 0x94, 0xeb, 0x30, - 0xcf, 0x55, 0x61, 0x2a, 0xa8, 0xd7, 0x80, 0xcc, 0xf4, 0x2a, 0x88, 0xc7, 0x80, 0xbf, 0x69, 0xf0, - 0xea, 0xd9, 0xe0, 0xe4, 0x57, 0xf2, 0x74, 0x82, 0xd6, 0x2e, 0x93, 0xa0, 0xcf, 0x86, 0x87, 0x7e, - 0xe9, 0xf0, 0x50, 0x9d, 0x41, 0xe6, 0x32, 0x9d, 0xc1, 0xf7, 0xe0, 0xeb, 0x63, 0x62, 0xf7, 0x6a, - 0x4c, 0xac, 0x7d, 0xa5, 0xff, 0xe9, 0x64, 0x55, 0x7b, 0x76, 0xb2, 0xaa, 0xfd, 0xfd, 0x64, 0x55, - 0xfb, 0xc5, 0xf3, 0xd5, 0xb9, 0x67, 0xcf, 0x57, 0xe7, 0xfe, 0xfa, 0x7c, 0x75, 0x0e, 0x56, 0x9d, - 0xb0, 0xf7, 0x02, 0xb6, 0x5a, 0xbe, 0x41, 0x06, 0x9d, 0x38, 0xa4, 0x61, 0x47, 0xfb, 0xc2, 0x7a, - 0xe2, 0xd1, 0x6e, 0x7f, 0xbf, 0xe2, 0x84, 0xbd, 0x35, 0x27, 0x4c, 0x7a, 0x61, 0xb2, 0x16, 0x13, - 0x1f, 0x1f, 0x93, 0x78, 0xed, 0xd0, 0x1c, 0xfe, 0x74, 0xba, 0xd8, 0x0b, 0x92, 0xb5, 0x8b, 0xff, - 0xb9, 0xb8, 0xe7, 0x92, 0x81, 0xfa, 0xfd, 0x1b, 0x3d, 0xd3, 0xa9, 0x37, 0x7e, 0xab, 0x97, 0x3b, - 0x4a, 0x85, 0x3a, 0x53, 0xa1, 0x41, 0x06, 0x95, 0x87, 0x52, 0xe4, 0xcf, 0xa3, 0xc5, 0xc7, 0x6c, - 0xf1, 0x71, 0x83, 0x0c, 0x1e, 0xab, 0xc5, 0x13, 0xfd, 0x8d, 0x8b, 0x17, 0x1f, 0x3f, 0xe8, 0xd4, - 0xb6, 0x09, 0xc5, 0x2e, 0xa6, 0xf8, 0x9f, 0xfa, 0x6b, 0x4a, 0x70, 0x7d, 0x9d, 0x49, 0xae, 0xaf, - 0x37, 0xc8, 0x60, 0x7d, 0x5d, 0xc9, 0xee, 0xe7, 0xf8, 0x7f, 0x20, 0x77, 0xff, 0x1b, 0x00, 0x00, - 0xff, 0xff, 0xd6, 0xd7, 0x3e, 0x19, 0x73, 0x19, 0x00, 0x00, + // 1824 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xd7, 0x2e, 0x29, 0x8a, 0x7c, 0xa4, 0x14, 0x79, 0x94, 0xb6, 0x02, 0x8b, 0xc8, 0xce, 0xd6, + 0x4e, 0xdc, 0xa4, 0xa0, 0xc2, 0x75, 0x0a, 0x04, 0x72, 0x12, 0x47, 0xfc, 0x90, 0xc5, 0x24, 0xa2, + 0xd8, 0x91, 0x62, 0x17, 0xa9, 0xd1, 0xc5, 0x68, 0x77, 0x64, 0x2e, 0xb0, 0xdc, 0x5d, 0xef, 0x0e, + 0x25, 0xea, 0x5a, 0xf4, 0xe3, 0x54, 0xb4, 0x39, 0xf5, 0x54, 0x14, 0xe9, 0xb1, 0x7f, 0x43, 0x3f, + 0xae, 0x45, 0x4e, 0x06, 0x7a, 0x68, 0x4f, 0x45, 0x61, 0x1f, 0x0a, 0xf4, 0x2f, 0xe8, 0xa1, 0x87, + 0x62, 0x66, 0x67, 0xc8, 0x95, 0x44, 0x99, 0xa4, 0xac, 0x5e, 0x7a, 0xe3, 0xcc, 0xbc, 0xdf, 0x6f, + 0xdf, 0xd7, 0xbc, 0xf7, 0x76, 0x09, 0x37, 0x43, 0xea, 0xf7, 0x7b, 0x07, 0x11, 0x59, 0xb7, 0x83, + 0x88, 0xae, 0x3b, 0x74, 0xb0, 0x7e, 0x54, 0x25, 0x5e, 0xd8, 0x25, 0x55, 0xbe, 0xa8, 0x84, 0x51, + 0xc0, 0x02, 0x54, 0x56, 0x52, 0x15, 0x2e, 0x55, 0xe1, 0x07, 0x4a, 0xaa, 0xfc, 0xd6, 0x69, 0x06, + 0x3b, 0x3a, 0x09, 0x59, 0x30, 0x22, 0x49, 0xd6, 0x09, 0x8f, 0xf1, 0x23, 0x0d, 0xb2, 0x7b, 0xc7, + 0x24, 0x44, 0x1f, 0xc1, 0x7c, 0x18, 0x05, 0xc1, 0xe1, 0xaa, 0x76, 0x43, 0xbb, 0x5d, 0x34, 0xdf, + 0xaa, 0x9c, 0x7e, 0x80, 0x04, 0x29, 0x92, 0xca, 0xe7, 0x9f, 0x70, 0x54, 0x87, 0x23, 0x70, 0x02, + 0x44, 0xef, 0x41, 0xf6, 0x20, 0x70, 0x4e, 0x56, 0xb3, 0x82, 0xe0, 0x66, 0xe5, 0x62, 0x0d, 0x2b, + 0x1c, 0x5b, 0x0b, 0x9c, 0x13, 0x2c, 0x10, 0xc6, 0xcf, 0x34, 0x28, 0xf0, 0xad, 0xba, 0x47, 0xdc, + 0x1e, 0x7a, 0x35, 0xad, 0x49, 0x49, 0xb1, 0x7f, 0x20, 0xd9, 0x75, 0xc1, 0xfe, 0xed, 0x49, 0xec, + 0x82, 0x6a, 0xf4, 0x08, 0x74, 0x0b, 0x96, 0x68, 0x18, 0xd8, 0x5d, 0xcb, 0xe9, 0x47, 0x84, 0xb9, + 0x81, 0xbf, 0xba, 0x70, 0x43, 0xbb, 0x9d, 0xc5, 0x8b, 0x62, 0xb7, 0x21, 0x37, 0x8d, 0xdf, 0x64, + 0x60, 0xf1, 0x14, 0x1c, 0x6d, 0x41, 0xc1, 0xef, 0x7b, 0x9e, 0x7b, 0xe8, 0xd2, 0x48, 0xfa, 0xe6, + 0xf6, 0x04, 0xdf, 0xb4, 0x95, 0x3c, 0x1e, 0x41, 0xd1, 0xbb, 0x90, 0x39, 0xa4, 0x54, 0xaa, 0x6f, + 0x4c, 0x60, 0xd8, 0xa2, 0x14, 0x73, 0x71, 0xf4, 0x43, 0x58, 0x09, 0xfa, 0x2c, 0xec, 0x33, 0xab, + 0x6a, 0xd9, 0x41, 0xaf, 0xe7, 0xb2, 0x1e, 0xf5, 0xd9, 0x6a, 0x46, 0xb0, 0x54, 0x26, 0xb0, 0xec, + 0x31, 0xc2, 0x68, 0x7d, 0x88, 0xc2, 0xd7, 0x12, 0xaa, 0xea, 0x68, 0x2b, 0xc5, 0x6f, 0xa6, 0xf9, + 0xb3, 0x2f, 0xc3, 0x6f, 0xa6, 0xf8, 0x3b, 0x50, 0x94, 0xfc, 0x0e, 0x61, 0x64, 0x35, 0x27, 0x78, + 0xd7, 0x5f, 0x14, 0xbc, 0x1a, 0x61, 0x76, 0x97, 0x87, 0x60, 0x57, 0xe0, 0x1a, 0x84, 0x11, 0x0c, + 0xc1, 0xf0, 0xb7, 0xf1, 0x6f, 0x1d, 0xf2, 0x2a, 0x7d, 0xd0, 0xc7, 0x50, 0x62, 0x11, 0x71, 0x5c, + 0xff, 0xb1, 0x15, 0x12, 0x57, 0xc5, 0xe7, 0xcd, 0x17, 0xf1, 0xef, 0x27, 0xf2, 0x1d, 0xe2, 0x46, + 0xb8, 0xc8, 0x46, 0x0b, 0xb4, 0x09, 0x05, 0x87, 0x7a, 0x8c, 0x58, 0x55, 0xcb, 0x95, 0x61, 0xba, + 0x35, 0xc1, 0x01, 0x9b, 0xbd, 0xa0, 0xef, 0x33, 0xbc, 0x20, 0x70, 0xd5, 0xd6, 0x88, 0xc2, 0xb4, + 0x5c, 0x19, 0xa3, 0x99, 0x28, 0xcc, 0x16, 0x7a, 0x08, 0x4b, 0x87, 0x94, 0x9e, 0x8f, 0xc5, 0x3b, + 0x13, 0x78, 0x6a, 0xc4, 0x23, 0xbe, 0x9d, 0x8e, 0xc6, 0xe2, 0x21, 0x4d, 0x2d, 0xd1, 0x26, 0x2c, + 0x84, 0xe4, 0xc4, 0x0b, 0x88, 0xb3, 0x3a, 0x3f, 0xd9, 0x4b, 0xe2, 0x72, 0x27, 0xe2, 0x58, 0xe1, + 0x8c, 0x1f, 0x6b, 0x50, 0x4c, 0x1d, 0xa0, 0x36, 0x40, 0x4a, 0x4f, 0xed, 0x52, 0x39, 0x93, 0x62, + 0x10, 0x77, 0xd4, 0x17, 0x00, 0xea, 0x58, 0xf1, 0x31, 0x09, 0x45, 0x18, 0x4a, 0x78, 0x71, 0xb8, + 0xcb, 0x9f, 0x6e, 0xfc, 0x44, 0xde, 0xd1, 0x8e, 0x47, 0x5c, 0x9f, 0xd1, 0x01, 0xfb, 0x3f, 0x4c, + 0x83, 0x7b, 0x50, 0xb0, 0x79, 0x09, 0xb2, 0x78, 0xcd, 0xc8, 0x4e, 0x5d, 0x33, 0xf2, 0x02, 0xb4, + 0x45, 0x29, 0xfa, 0x04, 0x16, 0x13, 0x02, 0xe2, 0x38, 0x11, 0x8d, 0x63, 0x19, 0xf4, 0x37, 0x26, + 0xe9, 0x91, 0x48, 0xe3, 0x92, 0x00, 0xcb, 0x15, 0xaf, 0xc8, 0x51, 0x4c, 0xa9, 0x23, 0xee, 0x6f, + 0x09, 0x27, 0x0b, 0xe3, 0x2f, 0x5a, 0x72, 0x13, 0x3b, 0x1e, 0xf1, 0x51, 0x07, 0x96, 0x78, 0xc4, + 0xac, 0x50, 0x05, 0x45, 0x06, 0x61, 0x62, 0xa1, 0x1e, 0x46, 0x11, 0x2f, 0xc6, 0xa7, 0x82, 0xfa, + 0x3a, 0x94, 0xf8, 0x4d, 0x38, 0xf0, 0x5c, 0x9f, 0x07, 0x47, 0xe6, 0x42, 0xf1, 0x90, 0xd2, 0x9a, + 0xdc, 0x42, 0xb7, 0x61, 0x59, 0x34, 0x87, 0xa1, 0x90, 0x15, 0x09, 0x7f, 0x97, 0xf0, 0x92, 0xd8, + 0x57, 0x82, 0x78, 0x8c, 0x64, 0x2c, 0xdc, 0x7a, 0x56, 0x72, 0xcf, 0xf8, 0x4a, 0x4f, 0x75, 0x80, + 0xff, 0x91, 0x69, 0x65, 0xc8, 0x87, 0x41, 0xec, 0x8a, 0x36, 0xa4, 0x8b, 0x36, 0x34, 0x5c, 0x9f, + 0xad, 0x98, 0x99, 0x97, 0xae, 0x98, 0x63, 0x5a, 0x5f, 0x76, 0x4c, 0xeb, 0x1b, 0xeb, 0xcc, 0xf9, + 0xa9, 0x9d, 0x99, 0x1b, 0xeb, 0xcc, 0xff, 0xc8, 0x62, 0xfd, 0xc0, 0xa5, 0xc7, 0x68, 0x1b, 0x16, + 0x8e, 0xdc, 0xd8, 0x3d, 0xf0, 0xa8, 0x74, 0xe0, 0x77, 0x26, 0x39, 0x90, 0xc3, 0x2a, 0x0f, 0x12, + 0xcc, 0xf6, 0x1c, 0x56, 0x70, 0xd4, 0x84, 0x5c, 0x10, 0x92, 0x27, 0x7d, 0xd5, 0x4e, 0xdf, 0x9e, + 0x8a, 0x68, 0x57, 0x40, 0xb6, 0xe7, 0xb0, 0x04, 0x97, 0xbf, 0xd0, 0x60, 0x41, 0xb2, 0xa3, 0x77, + 0x21, 0x2b, 0x2a, 0x4e, 0xa2, 0xd9, 0x8d, 0x49, 0x84, 0x58, 0x48, 0x8f, 0x49, 0x8d, 0xcc, 0xcb, + 0xa5, 0x46, 0xf9, 0x43, 0xc8, 0x25, 0x7a, 0x5e, 0x4e, 0xa3, 0x5a, 0x11, 0x0a, 0x42, 0xa3, 0x23, + 0x97, 0x1e, 0x1b, 0xff, 0x4c, 0x4f, 0x33, 0x22, 0x06, 0x3b, 0x67, 0x63, 0x50, 0x9d, 0x6a, 0x90, + 0xba, 0x28, 0x10, 0x1f, 0x9f, 0x09, 0xc4, 0x3b, 0xd3, 0xb3, 0x9d, 0x8b, 0xc6, 0x5f, 0x53, 0xd1, + 0x68, 0x00, 0x08, 0x2b, 0x44, 0x15, 0x92, 0x9a, 0xde, 0x9a, 0x8a, 0x1b, 0x0b, 0xf3, 0x93, 0x41, + 0xb2, 0x06, 0x79, 0x35, 0x3c, 0x49, 0xfd, 0xde, 0x9c, 0x34, 0xb9, 0x05, 0x8c, 0x72, 0xed, 0xf0, + 0x82, 0x1c, 0x95, 0x52, 0x1c, 0xa6, 0x8c, 0xed, 0xac, 0x1c, 0x66, 0xb9, 0x3d, 0x8c, 0xe9, 0x95, + 0xd8, 0x55, 0xbb, 0x06, 0xaf, 0x8c, 0x58, 0x92, 0x48, 0xff, 0x42, 0x83, 0x62, 0xaa, 0xa5, 0xa1, + 0x7b, 0xb0, 0x40, 0xe2, 0x98, 0x72, 0xcb, 0xb5, 0xe9, 0x0a, 0x3f, 0x97, 0x6e, 0x39, 0x38, 0x27, + 0x60, 0xd5, 0x11, 0x81, 0x29, 0x5d, 0x37, 0x1b, 0x81, 0x69, 0xfc, 0x5c, 0x83, 0x95, 0x86, 0x1b, + 0x51, 0x9b, 0x51, 0x27, 0xad, 0xd9, 0xfb, 0x30, 0x1f, 0x33, 0x12, 0xb1, 0x19, 0xf5, 0x4a, 0x40, + 0xe8, 0x3d, 0xc8, 0x50, 0xdf, 0x99, 0x51, 0x25, 0x0e, 0x31, 0xfe, 0x90, 0x85, 0x95, 0x31, 0x95, + 0x12, 0x7d, 0x08, 0x0b, 0xb2, 0xdf, 0x5f, 0x10, 0x8f, 0x0b, 0x5a, 0x75, 0x2e, 0xe9, 0xf6, 0x23, + 0xbc, 0x39, 0xdb, 0xb4, 0x90, 0xe0, 0x4d, 0xf4, 0x11, 0xe4, 0x3d, 0xd2, 0x3b, 0x70, 0xb8, 0x02, + 0xb3, 0xcd, 0x0a, 0x09, 0xac, 0x9a, 0x62, 0x30, 0xe5, 0xa8, 0x30, 0x1b, 0x83, 0xc9, 0xd3, 0xb2, + 0xef, 0x1f, 0xba, 0x9e, 0x47, 0x1d, 0xab, 0x2a, 0x27, 0x85, 0x29, 0x39, 0x0a, 0x0a, 0x58, 0x3d, + 0xc5, 0x62, 0xca, 0x51, 0x7f, 0x56, 0x16, 0x13, 0x7d, 0x1d, 0x72, 0x5d, 0xea, 0x3e, 0xee, 0x32, + 0xf9, 0x82, 0x26, 0x57, 0xe7, 0x66, 0xbc, 0xfc, 0x4b, 0xcc, 0x78, 0x26, 0x7c, 0x2d, 0xe9, 0x88, + 0x22, 0xa9, 0x38, 0xa5, 0x7c, 0x64, 0x41, 0x3c, 0x72, 0x45, 0x1c, 0xee, 0xc9, 0xb3, 0x6d, 0x71, + 0x64, 0xfc, 0x5a, 0x83, 0x57, 0x24, 0xe1, 0x56, 0xdf, 0xb7, 0x45, 0xcb, 0xdc, 0x81, 0x82, 0x1d, + 0xf4, 0xc2, 0xc0, 0x1f, 0xcd, 0xbf, 0x13, 0x3a, 0x75, 0x44, 0xcf, 0x70, 0xe0, 0x11, 0x03, 0xba, + 0x0b, 0x59, 0x61, 0x9a, 0x3e, 0x9b, 0x69, 0x02, 0x64, 0x7c, 0xa1, 0xf1, 0xfc, 0x3e, 0xc7, 0x8f, + 0x96, 0x93, 0xf7, 0x4e, 0xae, 0xdd, 0x62, 0xf2, 0x4e, 0x79, 0x07, 0xb4, 0x70, 0xb6, 0x5c, 0xd5, + 0x42, 0x0e, 0x7a, 0x32, 0x5b, 0x7e, 0x6a, 0x4f, 0x8c, 0x01, 0xe4, 0x31, 0x8d, 0x69, 0x74, 0x44, + 0x63, 0xf4, 0x5d, 0xd0, 0xa3, 0x19, 0xaf, 0x98, 0x1e, 0x55, 0x05, 0x6c, 0xc6, 0x9b, 0xa5, 0x47, + 0xa6, 0xf1, 0x53, 0x1d, 0xf2, 0x1d, 0x35, 0x52, 0x7d, 0x00, 0x99, 0xb0, 0xeb, 0xca, 0x67, 0xbf, + 0x3d, 0x85, 0x5b, 0x87, 0xc1, 0xe1, 0x38, 0x3e, 0xfd, 0xfa, 0x81, 0x6f, 0x53, 0x39, 0x81, 0x26, + 0x0b, 0x74, 0x4f, 0xd4, 0x31, 0x46, 0xa7, 0xe9, 0xf8, 0x4a, 0x13, 0xf1, 0xf2, 0x83, 0x13, 0x1c, + 0xbf, 0xb6, 0x91, 0x74, 0xce, 0x34, 0x9f, 0x4c, 0x94, 0x23, 0xf1, 0x10, 0x85, 0x0c, 0x3e, 0xe3, + 0x07, 0x31, 0xb5, 0x02, 0xdf, 0xe2, 0xd7, 0x47, 0xdc, 0xdc, 0x3c, 0x2e, 0x8a, 0xcd, 0x5d, 0x7f, + 0xcb, 0xf5, 0x3c, 0xa3, 0x0e, 0xa0, 0x9e, 0xde, 0x72, 0xb8, 0x29, 0xae, 0xef, 0xcb, 0x0f, 0x19, + 0x25, 0x9c, 0x2c, 0xd0, 0x75, 0x28, 0x12, 0x8f, 0x59, 0x07, 0xd4, 0xee, 0xde, 0x31, 0x7b, 0xc2, + 0xcc, 0x02, 0x06, 0xe2, 0xb1, 0x5a, 0xb2, 0x63, 0x7c, 0xa9, 0xc3, 0xe2, 0x29, 0x1b, 0xd0, 0xf7, + 0x94, 0xf5, 0x9c, 0x68, 0xc9, 0xbc, 0x3b, 0xb5, 0xf5, 0xa7, 0x57, 0x4d, 0xbf, 0xdf, 0x93, 0xfe, + 0x30, 0x7e, 0xaf, 0xc1, 0xb5, 0x73, 0x87, 0xe8, 0x5b, 0x70, 0xbd, 0xb3, 0xbb, 0xd7, 0xda, 0x6f, + 0xed, 0xb6, 0xad, 0xbd, 0xfd, 0xcd, 0xfd, 0xa6, 0xd5, 0x6c, 0x7f, 0xb6, 0x63, 0x7d, 0xd6, 0xde, + 0xeb, 0x34, 0xeb, 0xad, 0xad, 0x56, 0xb3, 0xb1, 0x3c, 0x87, 0xd6, 0xa0, 0x3c, 0x4e, 0x68, 0xb7, + 0xd3, 0x6c, 0x37, 0x1b, 0xcb, 0xda, 0x45, 0xe7, 0xf5, 0x4f, 0x77, 0xf7, 0x9a, 0x8d, 0x65, 0x1d, + 0xbd, 0x0e, 0xaf, 0x8d, 0x3b, 0x7f, 0xd8, 0xda, 0xdf, 0x6e, 0xe0, 0xcd, 0x87, 0xed, 0xe5, 0x0c, + 0xba, 0x0e, 0xdf, 0x1c, 0x4f, 0xb1, 0xd9, 0xda, 0x69, 0x36, 0x96, 0xb3, 0xfc, 0xfe, 0xcd, 0x7f, + 0x1a, 0xb6, 0x0f, 0x19, 0xba, 0x0f, 0x45, 0x35, 0xcd, 0x5b, 0xae, 0x73, 0x41, 0x9f, 0x1b, 0xeb, + 0xa1, 0x96, 0x83, 0x21, 0x1c, 0x45, 0x6b, 0x98, 0x62, 0xfa, 0xe5, 0x52, 0xcc, 0xe8, 0x40, 0x49, + 0xed, 0xef, 0x86, 0xd4, 0xe7, 0x29, 0x37, 0x7c, 0xef, 0xd0, 0x26, 0xa7, 0x9c, 0xc2, 0x8e, 0xde, + 0x4e, 0x8c, 0xef, 0x8f, 0x12, 0xa1, 0xce, 0xb3, 0xec, 0xca, 0x8c, 0x35, 0xfe, 0xa8, 0xc1, 0xb2, + 0x3a, 0x7a, 0xe8, 0xb2, 0xae, 0x13, 0x91, 0xe3, 0xab, 0x73, 0x25, 0x81, 0x15, 0x75, 0x6d, 0xd2, + 0xdf, 0x56, 0xf4, 0x4b, 0x7e, 0x5b, 0x41, 0x8a, 0x6c, 0xb4, 0x67, 0xfc, 0x49, 0x83, 0x95, 0xa1, + 0xc7, 0xe8, 0x31, 0x89, 0x9c, 0x64, 0x0a, 0xbd, 0x32, 0x1b, 0x2c, 0x40, 0x91, 0xe0, 0xbd, 0x12, + 0x13, 0xae, 0x49, 0xae, 0x94, 0x05, 0xbf, 0x92, 0xaf, 0xbe, 0xcd, 0x01, 0xb5, 0xfb, 0xa2, 0x72, + 0xde, 0x87, 0x1c, 0x8b, 0x88, 0x4d, 0xe3, 0x55, 0xed, 0x46, 0x66, 0x52, 0x77, 0x3b, 0x05, 0xe5, + 0xa5, 0xd4, 0xa6, 0x58, 0xc2, 0xd1, 0x06, 0x2f, 0x3c, 0x61, 0x5f, 0xa9, 0x7b, 0x73, 0x82, 0xba, + 0x0f, 0x88, 0xd7, 0xa7, 0x38, 0x81, 0xa0, 0xf7, 0x21, 0x97, 0x4c, 0xd2, 0xb2, 0xd4, 0x4e, 0x07, + 0x96, 0x98, 0x72, 0x1d, 0xe6, 0x85, 0x2a, 0x5c, 0x85, 0x23, 0x7e, 0x22, 0x4d, 0x99, 0x52, 0x05, + 0x01, 0x31, 0xfe, 0xae, 0xc1, 0xab, 0x67, 0x93, 0x53, 0x7c, 0x1b, 0x48, 0x17, 0x71, 0xed, 0x52, + 0x45, 0xfc, 0x4c, 0x7a, 0xe8, 0x97, 0x4e, 0x0f, 0x35, 0x3d, 0x64, 0x2e, 0x33, 0x3d, 0xfc, 0x00, + 0xbe, 0x31, 0x26, 0x77, 0xaf, 0xc6, 0xc4, 0xda, 0x97, 0xfa, 0x9f, 0x9f, 0xad, 0x69, 0x4f, 0x9f, + 0xad, 0x69, 0xff, 0x78, 0xb6, 0xa6, 0xfd, 0xf2, 0xf9, 0xda, 0xdc, 0xd3, 0xe7, 0x6b, 0x73, 0x7f, + 0x7b, 0xbe, 0x36, 0x07, 0x6b, 0x76, 0xd0, 0x7b, 0x01, 0x5b, 0x2d, 0xdf, 0xa0, 0x83, 0x4e, 0x14, + 0xb0, 0xa0, 0xa3, 0x7d, 0x8e, 0x1f, 0xbb, 0xac, 0xdb, 0x3f, 0xa8, 0xd8, 0x41, 0x6f, 0xdd, 0x0e, + 0xe2, 0x5e, 0x10, 0xaf, 0x47, 0xd4, 0x23, 0x27, 0x34, 0x5a, 0x3f, 0x32, 0x87, 0x3f, 0xed, 0x2e, + 0x71, 0xfd, 0x78, 0xfd, 0xe2, 0x3f, 0x51, 0xee, 0x3a, 0x74, 0xa0, 0x7e, 0xff, 0x56, 0xcf, 0x74, + 0xea, 0x8d, 0xdf, 0xe9, 0xe5, 0x8e, 0x52, 0xa1, 0xce, 0x55, 0x68, 0xd0, 0x41, 0xe5, 0x81, 0x14, + 0xf9, 0x6a, 0x74, 0xf8, 0x88, 0x1f, 0x3e, 0x6a, 0xd0, 0xc1, 0x23, 0x75, 0xf8, 0x4c, 0x7f, 0xe3, + 0xe2, 0xc3, 0x47, 0xf7, 0x3b, 0xb5, 0x1d, 0xca, 0x88, 0x43, 0x18, 0xf9, 0x97, 0xfe, 0x9a, 0x12, + 0xdc, 0xd8, 0xe0, 0x92, 0x1b, 0x1b, 0x0d, 0x3a, 0xd8, 0xd8, 0x50, 0xb2, 0x07, 0x39, 0xf1, 0x77, + 0xcc, 0x9d, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x37, 0xdb, 0x43, 0xeb, 0xfe, 0x19, 0x00, 0x00, } func (m *Swap) Marshal() (dAtA []byte, err error) { @@ -2694,41 +2692,6 @@ func (m *SwapPlaintext) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MockFlowCiphertext) 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 *MockFlowCiphertext) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MockFlowCiphertext) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.Value != nil { - { - size, err := m.Value.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintDex(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *SwapPlan) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2749,6 +2712,20 @@ func (m *SwapPlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ProofBlindingS) > 0 { + i -= len(m.ProofBlindingS) + copy(dAtA[i:], m.ProofBlindingS) + i = encodeVarintDex(dAtA, i, uint64(len(m.ProofBlindingS))) + i-- + dAtA[i] = 0x22 + } + if len(m.ProofBlindingR) > 0 { + i -= len(m.ProofBlindingR) + copy(dAtA[i:], m.ProofBlindingR) + i = encodeVarintDex(dAtA, i, uint64(len(m.ProofBlindingR))) + i-- + dAtA[i] = 0x1a + } if len(m.FeeBlinding) > 0 { i -= len(m.FeeBlinding) copy(dAtA[i:], m.FeeBlinding) @@ -2791,6 +2768,20 @@ func (m *SwapClaimPlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ProofBlindingS) > 0 { + i -= len(m.ProofBlindingS) + copy(dAtA[i:], m.ProofBlindingS) + i = encodeVarintDex(dAtA, i, uint64(len(m.ProofBlindingS))) + i-- + dAtA[i] = 0x32 + } + if len(m.ProofBlindingR) > 0 { + i -= len(m.ProofBlindingR) + copy(dAtA[i:], m.ProofBlindingR) + i = encodeVarintDex(dAtA, i, uint64(len(m.ProofBlindingR))) + i-- + dAtA[i] = 0x2a + } if m.EpochDuration != 0 { i = encodeVarintDex(dAtA, i, uint64(m.EpochDuration)) i-- @@ -3266,8 +3257,8 @@ func (m *BatchSwapOutputData) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.EpochHeight != 0 { - i = encodeVarintDex(dAtA, i, uint64(m.EpochHeight)) + if m.EpochStartingHeight != 0 { + i = encodeVarintDex(dAtA, i, uint64(m.EpochStartingHeight)) i-- dAtA[i] = 0x48 } @@ -3529,6 +3520,16 @@ func (m *Position) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.CloseOnFill { + i-- + if m.CloseOnFill { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } if m.Reserves != nil { { size, err := m.Reserves.MarshalToSizedBuffer(dAtA[:i]) @@ -4199,19 +4200,6 @@ func (m *SwapPlaintext) Size() (n int) { return n } -func (m *MockFlowCiphertext) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Value != nil { - l = m.Value.Size() - n += 1 + l + sovDex(uint64(l)) - } - return n -} - func (m *SwapPlan) Size() (n int) { if m == nil { return 0 @@ -4226,6 +4214,14 @@ func (m *SwapPlan) Size() (n int) { if l > 0 { n += 1 + l + sovDex(uint64(l)) } + l = len(m.ProofBlindingR) + if l > 0 { + n += 1 + l + sovDex(uint64(l)) + } + l = len(m.ProofBlindingS) + if l > 0 { + n += 1 + l + sovDex(uint64(l)) + } return n } @@ -4249,6 +4245,14 @@ func (m *SwapClaimPlan) Size() (n int) { if m.EpochDuration != 0 { n += 1 + sovDex(uint64(m.EpochDuration)) } + l = len(m.ProofBlindingR) + if l > 0 { + n += 1 + l + sovDex(uint64(l)) + } + l = len(m.ProofBlindingS) + if l > 0 { + n += 1 + l + sovDex(uint64(l)) + } return n } @@ -4459,8 +4463,8 @@ func (m *BatchSwapOutputData) Size() (n int) { l = m.TradingPair.Size() n += 1 + l + sovDex(uint64(l)) } - if m.EpochHeight != 0 { - n += 1 + sovDex(uint64(m.EpochHeight)) + if m.EpochStartingHeight != 0 { + n += 1 + sovDex(uint64(m.EpochStartingHeight)) } return n } @@ -4541,6 +4545,9 @@ func (m *Position) Size() (n int) { l = m.Reserves.Size() n += 1 + l + sovDex(uint64(l)) } + if m.CloseOnFill { + n += 2 + } return n } @@ -5833,7 +5840,7 @@ func (m *SwapPlaintext) Unmarshal(dAtA []byte) error { } return nil } -func (m *MockFlowCiphertext) Unmarshal(dAtA []byte) error { +func (m *SwapPlan) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5856,15 +5863,15 @@ func (m *MockFlowCiphertext) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MockFlowCiphertext: wiretype end group for non-group") + return fmt.Errorf("proto: SwapPlan: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MockFlowCiphertext: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SwapPlan: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SwapPlaintext", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5891,68 +5898,52 @@ func (m *MockFlowCiphertext) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Value == nil { - m.Value = &v1alpha1.Amount{} + if m.SwapPlaintext == nil { + m.SwapPlaintext = &SwapPlaintext{} } - if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.SwapPlaintext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipDex(dAtA[iNdEx:]) - if err != nil { - return err + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FeeBlinding", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthDex + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDex + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if byteLen < 0 { + return ErrInvalidLengthDex } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *SwapPlan) 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 ErrIntOverflowDex + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthDex } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.FeeBlinding = append(m.FeeBlinding[:0], dAtA[iNdEx:postIndex]...) + if m.FeeBlinding == nil { + m.FeeBlinding = []byte{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: SwapPlan: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: SwapPlan: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SwapPlaintext", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingR", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowDex @@ -5962,31 +5953,29 @@ func (m *SwapPlan) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return ErrInvalidLengthDex } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthDex } if postIndex > l { return io.ErrUnexpectedEOF } - if m.SwapPlaintext == nil { - m.SwapPlaintext = &SwapPlaintext{} - } - if err := m.SwapPlaintext.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.ProofBlindingR = append(m.ProofBlindingR[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingR == nil { + m.ProofBlindingR = []byte{} } iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FeeBlinding", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingS", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -6013,9 +6002,9 @@ func (m *SwapPlan) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.FeeBlinding = append(m.FeeBlinding[:0], dAtA[iNdEx:postIndex]...) - if m.FeeBlinding == nil { - m.FeeBlinding = []byte{} + m.ProofBlindingS = append(m.ProofBlindingS[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingS == nil { + m.ProofBlindingS = []byte{} } iNdEx = postIndex default: @@ -6178,6 +6167,74 @@ func (m *SwapClaimPlan) Unmarshal(dAtA []byte) error { break } } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingR", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDex + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthDex + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthDex + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingR = append(m.ProofBlindingR[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingR == nil { + m.ProofBlindingR = []byte{} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingS", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDex + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthDex + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthDex + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingS = append(m.ProofBlindingS[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingS == nil { + m.ProofBlindingS = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipDex(dAtA[iNdEx:]) @@ -7437,9 +7494,9 @@ func (m *BatchSwapOutputData) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 9: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EpochHeight", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field EpochStartingHeight", wireType) } - m.EpochHeight = 0 + m.EpochStartingHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowDex @@ -7449,7 +7506,7 @@ func (m *BatchSwapOutputData) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.EpochHeight |= uint64(b&0x7F) << shift + m.EpochStartingHeight |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8031,6 +8088,26 @@ func (m *Position) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CloseOnFill", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowDex + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CloseOnFill = bool(v != 0) default: iNdEx = preIndex skippy, err := skipDex(dAtA[iNdEx:]) diff --git a/relayer/chains/penumbra/core/governance/v1alpha1/governance.pb.go b/relayer/chains/penumbra/core/governance/v1alpha1/governance.pb.go index 51a916c78..80977b8d4 100644 --- a/relayer/chains/penumbra/core/governance/v1alpha1/governance.pb.go +++ b/relayer/chains/penumbra/core/governance/v1alpha1/governance.pb.go @@ -531,6 +531,10 @@ type DelegatorVotePlan struct { UnbondedAmount *v1alpha1.Amount `protobuf:"bytes,6,opt,name=unbonded_amount,json=unbondedAmount,proto3" json:"unbonded_amount,omitempty"` // The randomizer to use for the proof of spend capability. Randomizer []byte `protobuf:"bytes,7,opt,name=randomizer,proto3" json:"randomizer,omitempty"` + // The first blinding factor to use for the ZK delegator vote proof. + ProofBlindingR []byte `protobuf:"bytes,8,opt,name=proof_blinding_r,json=proofBlindingR,proto3" json:"proof_blinding_r,omitempty"` + // The second blinding factor to use for the ZK delegator vote proof. + ProofBlindingS []byte `protobuf:"bytes,9,opt,name=proof_blinding_s,json=proofBlindingS,proto3" json:"proof_blinding_s,omitempty"` } func (m *DelegatorVotePlan) Reset() { *m = DelegatorVotePlan{} } @@ -615,6 +619,20 @@ func (m *DelegatorVotePlan) GetRandomizer() []byte { return nil } +func (m *DelegatorVotePlan) GetProofBlindingR() []byte { + if m != nil { + return m.ProofBlindingR + } + return nil +} + +func (m *DelegatorVotePlan) GetProofBlindingS() []byte { + if m != nil { + return m.ProofBlindingS + } + return nil +} + type DaoDeposit struct { // The value to deposit into the DAO. Value *v1alpha1.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` @@ -1811,102 +1829,104 @@ func init() { } var fileDescriptor_1bc89f5bf0aed114 = []byte{ - // 1512 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0x3a, 0x8e, 0x3f, 0x5e, 0x12, 0xc7, 0x1d, 0x42, 0x65, 0x0c, 0x44, 0xe9, 0xb6, 0x85, - 0xa8, 0x50, 0x9b, 0xa6, 0xa0, 0x52, 0xf7, 0x40, 0x63, 0xe7, 0x53, 0x6d, 0x13, 0x77, 0x1d, 0x52, - 0x28, 0x91, 0x96, 0xb1, 0x77, 0x62, 0xaf, 0xb2, 0x9e, 0x59, 0xed, 0x8e, 0x13, 0x99, 0xbf, 0x00, - 0x6e, 0x95, 0xf8, 0x0f, 0x90, 0x10, 0x12, 0xff, 0x03, 0x77, 0x84, 0x04, 0xea, 0xb1, 0xdc, 0x50, - 0x72, 0xe3, 0xc8, 0x95, 0x0b, 0x9a, 0xdd, 0xd9, 0x8f, 0x24, 0xa5, 0xae, 0x13, 0x2a, 0x6e, 0xfb, - 0xde, 0xbe, 0xdf, 0xef, 0x7d, 0xcc, 0x9b, 0x99, 0xb7, 0x0b, 0x0b, 0x36, 0xa1, 0xfd, 0x5e, 0xcb, - 0xc1, 0x95, 0x36, 0x73, 0x48, 0xa5, 0xc3, 0xf6, 0x89, 0x43, 0x31, 0x6d, 0x93, 0xca, 0xfe, 0x0d, - 0x6c, 0xd9, 0x5d, 0x7c, 0x23, 0xa6, 0x2b, 0xdb, 0x0e, 0xe3, 0x0c, 0x5d, 0x0a, 0x30, 0x65, 0x81, - 0x29, 0xc7, 0xde, 0x07, 0x98, 0xd2, 0x1b, 0x1d, 0xc6, 0x3a, 0x16, 0xa9, 0x78, 0x80, 0x56, 0x7f, - 0xb7, 0x82, 0xe9, 0xc0, 0x47, 0x97, 0xae, 0x1d, 0xf7, 0xd8, 0x76, 0x06, 0x36, 0x67, 0x91, 0x37, - 0x5f, 0x96, 0xb6, 0xf3, 0x27, 0x6c, 0xbb, 0xd8, 0xa4, 0x31, 0x53, 0x21, 0xfa, 0x96, 0xea, 0x0f, - 0x0a, 0xe4, 0x1b, 0x0e, 0xb3, 0x99, 0x8b, 0xad, 0x66, 0xbf, 0xd5, 0x33, 0x39, 0x5a, 0x85, 0xac, - 0x2d, 0x35, 0x45, 0x65, 0x4e, 0x99, 0x9f, 0x58, 0x78, 0xaf, 0x3c, 0x34, 0xf2, 0x72, 0x40, 0xa2, - 0x85, 0x60, 0x74, 0x1f, 0xf2, 0x06, 0xb1, 0x99, 0x6b, 0x72, 0x1d, 0xf7, 0x58, 0x9f, 0xf2, 0xe2, - 0x98, 0x47, 0x77, 0xf5, 0x04, 0x9d, 0x0c, 0x3d, 0xa4, 0x5a, 0xf4, 0x8c, 0xb5, 0x29, 0x09, 0xf6, - 0x45, 0x75, 0x05, 0x0a, 0x81, 0x8f, 0x47, 0x26, 0xef, 0x1a, 0x0e, 0x3e, 0x40, 0xa5, 0x13, 0xa1, - 0xa6, 0x62, 0xde, 0x2f, 0x42, 0xda, 0x21, 0xd8, 0x65, 0xb4, 0x98, 0x9c, 0x53, 0xe6, 0x73, 0x9a, - 0x94, 0xd4, 0xdf, 0x14, 0x98, 0x09, 0x88, 0x96, 0x7c, 0x0f, 0x75, 0x0b, 0x9b, 0xbd, 0x17, 0x92, - 0x9d, 0x4e, 0x25, 0x79, 0xf6, 0x54, 0xd0, 0x7d, 0xc8, 0xb0, 0x3e, 0x6f, 0xb3, 0x1e, 0x91, 0x15, - 0x59, 0x18, 0xa1, 0xc0, 0x9b, 0x3e, 0x52, 0x0b, 0x28, 0xc4, 0x12, 0x4e, 0x6d, 0x63, 0xcb, 0x34, - 0x30, 0x67, 0xce, 0x36, 0xe3, 0x04, 0xad, 0x41, 0xaa, 0xc5, 0x8c, 0x81, 0x5c, 0xbd, 0x0f, 0x5f, - 0x82, 0xfc, 0x18, 0xbe, 0xc6, 0x8c, 0x81, 0xe6, 0x31, 0xa0, 0xfb, 0x90, 0xc5, 0x7d, 0xde, 0xd5, - 0x5d, 0xb3, 0x23, 0x33, 0xbe, 0x31, 0x24, 0xe3, 0xa6, 0x4d, 0xa8, 0xb1, 0xd8, 0xe7, 0xdd, 0xa6, - 0xd9, 0xa1, 0x98, 0xf7, 0x1d, 0xa2, 0x65, 0xb0, 0x2f, 0xaa, 0x4f, 0x92, 0x70, 0xe1, 0x94, 0xa7, - 0x17, 0xd6, 0xfd, 0x0e, 0xa4, 0xf6, 0x19, 0x27, 0xd2, 0xf7, 0xbb, 0x2f, 0x93, 0x09, 0xe3, 0x44, - 0xf3, 0x40, 0xe8, 0x01, 0x4c, 0x9a, 0x06, 0xa1, 0xdc, 0xe4, 0x03, 0x7d, 0x8f, 0x0c, 0x64, 0xad, - 0xaf, 0x0d, 0x49, 0x60, 0x5d, 0x42, 0xee, 0x91, 0x81, 0x36, 0x61, 0x46, 0x02, 0x6a, 0x42, 0x3e, - 0x72, 0xe8, 0x11, 0xa6, 0x3c, 0xc2, 0xf7, 0x87, 0x10, 0xae, 0x86, 0x20, 0x41, 0x39, 0xd5, 0x89, - 0x8b, 0xea, 0x5f, 0x0a, 0x4c, 0x2d, 0x11, 0x8b, 0x74, 0xce, 0xb1, 0x78, 0xc7, 0xf0, 0xaf, 0x6a, - 0xf1, 0xd0, 0x3a, 0x8c, 0xdb, 0x0e, 0x63, 0xbb, 0xb2, 0x8c, 0x37, 0x87, 0x50, 0x3d, 0xbe, 0x77, - 0x2c, 0xac, 0x86, 0x80, 0x6a, 0x3e, 0x83, 0xfa, 0x6b, 0x12, 0x2e, 0x9c, 0x0a, 0xfa, 0x85, 0x7d, - 0x70, 0x15, 0xf2, 0x2e, 0xc7, 0x0e, 0xd7, 0xbd, 0x6d, 0x64, 0xca, 0x4d, 0x9d, 0xd2, 0xa6, 0x3c, - 0x6d, 0x43, 0x2a, 0xc3, 0x76, 0x19, 0x3b, 0x4b, 0xbb, 0x54, 0x61, 0x7c, 0x1f, 0x5b, 0x7d, 0x22, - 0x97, 0xf5, 0xca, 0x90, 0x04, 0xb7, 0x85, 0xad, 0xe6, 0x43, 0xd0, 0x06, 0x4c, 0xf7, 0x69, 0x8b, - 0x51, 0x83, 0x18, 0xc1, 0x01, 0x31, 0x3e, 0xca, 0x01, 0x91, 0x0f, 0xd0, 0xf2, 0x84, 0x78, 0x0b, - 0x72, 0xb4, 0x6f, 0x59, 0xe6, 0xae, 0x49, 0x9c, 0x62, 0x7a, 0x4e, 0x99, 0x9f, 0xd4, 0x22, 0x05, - 0xca, 0x43, 0xd2, 0xd9, 0x2b, 0x66, 0x3c, 0x75, 0xd2, 0xd9, 0x53, 0xff, 0x3e, 0x59, 0xcf, 0x86, - 0x85, 0xe9, 0xff, 0x5e, 0xcf, 0x25, 0x98, 0x70, 0x39, 0xde, 0x23, 0x86, 0x4e, 0x05, 0x87, 0x5f, - 0xd5, 0xcb, 0x43, 0xea, 0xb1, 0x21, 0xf0, 0xe0, 0xe3, 0xc4, 0x33, 0xfa, 0x00, 0x66, 0x62, 0x2c, - 0x51, 0xbc, 0xe3, 0x5e, 0xbc, 0x28, 0xb2, 0x0c, 0x83, 0x7e, 0xce, 0x5a, 0xa4, 0xcf, 0xb3, 0x16, - 0xb3, 0x00, 0x0e, 0xa6, 0x06, 0xeb, 0x99, 0x5f, 0x11, 0x47, 0x56, 0x3d, 0xa6, 0x51, 0xd7, 0x00, - 0x96, 0x30, 0x93, 0x57, 0x49, 0xd4, 0x45, 0xca, 0xc8, 0x5d, 0xa4, 0xae, 0x40, 0x76, 0x09, 0x33, - 0x6f, 0x13, 0x9e, 0x8b, 0xe7, 0x1b, 0x05, 0x72, 0x4b, 0x98, 0x6d, 0xf6, 0xb9, 0xdd, 0x3f, 0x57, - 0x44, 0xe8, 0x2e, 0x64, 0xb0, 0x61, 0x38, 0xc4, 0x75, 0xe5, 0x09, 0xf2, 0xce, 0xb0, 0x1a, 0xfa, - 0xd6, 0x5a, 0x00, 0x53, 0xbf, 0x55, 0x20, 0xe5, 0x9d, 0x6b, 0x77, 0x65, 0x2f, 0x89, 0x28, 0xf2, - 0xa7, 0x0e, 0xcd, 0x7f, 0xeb, 0xa5, 0x58, 0x43, 0xa9, 0xeb, 0x92, 0x69, 0x06, 0x0a, 0xdb, 0x9b, - 0x5b, 0xcb, 0xfa, 0xa7, 0x1b, 0xcd, 0xc6, 0x72, 0x7d, 0x7d, 0x65, 0x7d, 0x79, 0xa9, 0x90, 0x40, - 0x05, 0x98, 0xf4, 0xb4, 0x8b, 0xb5, 0xe6, 0xd6, 0xe2, 0xfa, 0x46, 0x41, 0x41, 0x93, 0x90, 0xf5, - 0x34, 0x9f, 0x2f, 0x37, 0x0b, 0x49, 0x34, 0x01, 0x19, 0x4f, 0xda, 0xd8, 0x2c, 0x8c, 0xa9, 0xcf, - 0x52, 0x30, 0x15, 0x8e, 0x3d, 0x1c, 0x73, 0x82, 0x1e, 0x42, 0x7a, 0x9f, 0x71, 0x93, 0x06, 0x47, - 0xe5, 0xad, 0x11, 0xae, 0x64, 0x8f, 0x41, 0x44, 0x6a, 0xd2, 0xce, 0x5a, 0x42, 0x93, 0x44, 0xe8, - 0x31, 0xe4, 0x0e, 0xe4, 0xa4, 0x42, 0xe5, 0x16, 0xaa, 0x8e, 0xcc, 0x1a, 0xcc, 0x3a, 0x74, 0x2d, - 0xa1, 0x45, 0x74, 0xe8, 0x11, 0x64, 0x77, 0x4d, 0x6a, 0xba, 0x5d, 0x62, 0xc8, 0x9d, 0x75, 0x7b, - 0x64, 0xea, 0x15, 0x49, 0xb0, 0x96, 0xd0, 0x42, 0x32, 0xb4, 0x05, 0x99, 0xb6, 0x18, 0x87, 0x88, - 0x21, 0x4f, 0xb0, 0x8f, 0x47, 0xe6, 0xad, 0xfb, 0xf8, 0xb5, 0x84, 0x16, 0x50, 0x95, 0xb2, 0x90, - 0xf6, 0xcb, 0x53, 0xba, 0x0c, 0xb9, 0x30, 0xa5, 0xd8, 0x8c, 0xa6, 0xc4, 0x67, 0xb4, 0xd2, 0x67, - 0x90, 0x0d, 0x82, 0x8b, 0x0f, 0x4b, 0xca, 0xb9, 0x87, 0xa5, 0xd2, 0x23, 0xc8, 0xc8, 0xf0, 0xfe, - 0x5b, 0xe2, 0x5a, 0x06, 0xc6, 0x5d, 0x91, 0xbd, 0x7a, 0x34, 0x06, 0xd3, 0x27, 0xac, 0x50, 0x13, - 0xd2, 0x36, 0x76, 0x5d, 0x62, 0x48, 0x4f, 0xb7, 0x47, 0xf7, 0x54, 0x6e, 0x78, 0x04, 0xa2, 0xbd, - 0x7c, 0x2a, 0x41, 0xba, 0x8b, 0x4d, 0x8b, 0x18, 0xb2, 0x63, 0xcf, 0x42, 0xba, 0xe2, 0x11, 0x08, - 0x52, 0x9f, 0x0a, 0x6d, 0x43, 0xc6, 0xb5, 0xb0, 0xd7, 0x56, 0xa3, 0x77, 0x6c, 0xc0, 0xda, 0xf4, - 0x19, 0x44, 0x03, 0x48, 0x32, 0xd1, 0x00, 0x7e, 0x02, 0xa5, 0x2f, 0x20, 0xed, 0x7b, 0x45, 0xb7, - 0xe0, 0xf5, 0xb0, 0xa1, 0x75, 0xf1, 0xa4, 0xc7, 0x9b, 0x61, 0x2d, 0xa1, 0xbd, 0x16, 0xbe, 0x16, - 0x2d, 0xa3, 0x79, 0x2f, 0xbf, 0x56, 0x94, 0x5a, 0x11, 0x2e, 0xea, 0xcf, 0x45, 0x96, 0x76, 0x20, - 0x23, 0x9d, 0xbf, 0x02, 0xf6, 0x5a, 0x2e, 0xec, 0x18, 0xb5, 0x0e, 0xe3, 0x5b, 0xd8, 0xb2, 0x06, - 0xa8, 0x00, 0x63, 0x03, 0xe2, 0xca, 0x0b, 0x56, 0x3c, 0x8a, 0xdb, 0x99, 0x32, 0x79, 0x9f, 0x26, - 0x29, 0x43, 0x45, 0xc8, 0xe0, 0x96, 0xcb, 0xb1, 0xe9, 0x1f, 0x02, 0x29, 0x2d, 0x10, 0xd5, 0xef, - 0xd3, 0x90, 0x0d, 0x6a, 0x27, 0x60, 0xa6, 0xbf, 0x97, 0x53, 0x5a, 0xd2, 0x34, 0xd0, 0x0c, 0x8c, - 0x73, 0x93, 0x5b, 0x44, 0x6e, 0x0d, 0x5f, 0x40, 0x73, 0x30, 0x61, 0x10, 0xb7, 0xed, 0x98, 0x76, - 0x78, 0x6b, 0xe7, 0xb4, 0xb8, 0x0a, 0x35, 0x21, 0xe7, 0x8a, 0xe9, 0xcd, 0x12, 0x67, 0x99, 0xbf, - 0x85, 0x3f, 0x1a, 0x61, 0x0d, 0xcb, 0xcd, 0x00, 0xac, 0x45, 0x3c, 0x82, 0x94, 0xf4, 0x88, 0xd3, - 0x21, 0xb4, 0x3d, 0x90, 0xb7, 0xe9, 0x48, 0xa4, 0xcb, 0x01, 0x58, 0x8b, 0x78, 0xd0, 0x2e, 0x14, - 0x6c, 0xec, 0xe0, 0x1e, 0xe1, 0xc4, 0xd1, 0xdb, 0x5d, 0x4c, 0x3b, 0xc4, 0xbb, 0x5e, 0x27, 0x16, - 0xee, 0x8c, 0xc2, 0xdd, 0x08, 0x38, 0xea, 0x1e, 0x85, 0x36, 0x6d, 0x1f, 0x57, 0xa0, 0x87, 0x90, - 0x33, 0x30, 0xd3, 0x5d, 0x71, 0xaf, 0x16, 0xb3, 0x2f, 0x3d, 0x56, 0x87, 0x0e, 0x82, 0x3b, 0x59, - 0xcb, 0x1a, 0xf2, 0xa9, 0x74, 0x13, 0x72, 0x61, 0x9d, 0xd0, 0x9b, 0x90, 0x6e, 0xb3, 0x5e, 0xcf, - 0xe4, 0x61, 0x6b, 0x49, 0x59, 0x74, 0x53, 0x0e, 0x32, 0xba, 0x2f, 0x95, 0xae, 0x41, 0x2e, 0xac, - 0x03, 0x7a, 0x1b, 0xa0, 0x8b, 0x2d, 0xae, 0x7b, 0x1f, 0xe3, 0x1e, 0x30, 0xab, 0xe5, 0x84, 0xa6, - 0x2e, 0x14, 0xa5, 0x9f, 0x14, 0x98, 0x3e, 0x91, 0x18, 0xda, 0x82, 0x3c, 0xb3, 0x0c, 0x3d, 0x4c, - 0xcf, 0x95, 0xa7, 0xc9, 0xf5, 0x93, 0x77, 0xb2, 0xf7, 0x7d, 0x1f, 0xe6, 0xe1, 0x11, 0x86, 0x5c, - 0xae, 0x36, 0xc5, 0x2c, 0x23, 0x12, 0x05, 0x2b, 0x25, 0x07, 0x71, 0xd6, 0xe4, 0x99, 0x58, 0x29, - 0x39, 0x88, 0xc4, 0xd2, 0xbd, 0xd8, 0x28, 0xf3, 0x09, 0x14, 0xb8, 0x83, 0xa9, 0x8b, 0xdb, 0xa2, - 0x41, 0x75, 0xdb, 0xc2, 0x54, 0xfa, 0x98, 0x29, 0xfb, 0xff, 0x3b, 0xca, 0xc1, 0xff, 0x8e, 0xf2, - 0x22, 0x1d, 0x68, 0xd3, 0x31, 0x6b, 0x31, 0xc9, 0xd6, 0x7e, 0x4f, 0xfe, 0x7c, 0x38, 0xab, 0x3c, - 0x3d, 0x9c, 0x55, 0xfe, 0x38, 0x9c, 0x55, 0x9e, 0x1c, 0xcd, 0x26, 0x9e, 0x1e, 0xcd, 0x26, 0x9e, - 0x1d, 0xcd, 0x26, 0xe0, 0x6a, 0x9b, 0xf5, 0x86, 0xaf, 0x65, 0x6d, 0x3a, 0xfa, 0x08, 0x6b, 0x08, - 0x57, 0x0d, 0xe5, 0xf1, 0x97, 0x1d, 0x93, 0x77, 0xfb, 0xad, 0x72, 0x9b, 0xf5, 0x2a, 0x6d, 0xe6, - 0xf6, 0x98, 0x5b, 0x71, 0x88, 0x85, 0x07, 0xc4, 0xa9, 0xec, 0x2f, 0x84, 0x8f, 0x5e, 0xd6, 0x6e, - 0x65, 0xe8, 0xdf, 0x9e, 0x3b, 0x91, 0x2e, 0x50, 0x7d, 0x97, 0x1c, 0x6b, 0xd4, 0x57, 0x7f, 0x4c, - 0x5e, 0x6a, 0x04, 0xe1, 0xd5, 0x45, 0x78, 0x51, 0x24, 0xe5, 0x6d, 0x69, 0xf9, 0x4b, 0x64, 0xb3, - 0x23, 0x6c, 0x76, 0x22, 0x9b, 0x9d, 0xc0, 0xe6, 0x30, 0x79, 0x7d, 0xa8, 0xcd, 0xce, 0x6a, 0xa3, - 0xf6, 0x80, 0x70, 0x6c, 0x60, 0x8e, 0xff, 0x4c, 0x5e, 0x09, 0xec, 0xab, 0x55, 0x01, 0xa8, 0x56, - 0x23, 0x44, 0xb5, 0x1a, 0x40, 0x5a, 0x69, 0xaf, 0xf4, 0x37, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, - 0x57, 0x45, 0x3e, 0x65, 0xd1, 0x12, 0x00, 0x00, + // 1546 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0x5d, 0x6f, 0x1b, 0x45, + 0x17, 0xf6, 0x3a, 0x8e, 0x3f, 0x4e, 0x12, 0xc7, 0x9d, 0x37, 0x6f, 0xe5, 0xd7, 0x2f, 0x44, 0xa9, + 0xdb, 0x42, 0x54, 0xa8, 0x4d, 0x53, 0x50, 0xa9, 0x7b, 0x41, 0x63, 0xe7, 0x53, 0x6d, 0x13, 0x77, + 0x1d, 0x52, 0x28, 0x91, 0x96, 0xb1, 0x77, 0x62, 0xaf, 0xb2, 0x9e, 0xb1, 0x76, 0xc7, 0x89, 0xcc, + 0x2f, 0x80, 0xbb, 0x4a, 0xfc, 0x03, 0x24, 0x84, 0xc4, 0x7f, 0xe0, 0x1e, 0x21, 0x01, 0xbd, 0x2c, + 0x77, 0x28, 0xb9, 0xe3, 0x92, 0x5f, 0x80, 0x66, 0x76, 0xf6, 0x23, 0x1f, 0xd4, 0x75, 0x42, 0xc5, + 0xdd, 0x9c, 0xe3, 0xf3, 0x3c, 0xe7, 0x63, 0xce, 0xcc, 0x1c, 0x2f, 0x2c, 0xf4, 0x08, 0xed, 0x77, + 0x9b, 0x0e, 0x2e, 0xb7, 0x98, 0x43, 0xca, 0x6d, 0xb6, 0x4f, 0x1c, 0x8a, 0x69, 0x8b, 0x94, 0xf7, + 0x6f, 0x61, 0xbb, 0xd7, 0xc1, 0xb7, 0x22, 0xba, 0x52, 0xcf, 0x61, 0x9c, 0xa1, 0x2b, 0x3e, 0xa6, + 0x24, 0x30, 0xa5, 0xc8, 0xef, 0x3e, 0xa6, 0xf0, 0xbf, 0x36, 0x63, 0x6d, 0x9b, 0x94, 0x25, 0xa0, + 0xd9, 0xdf, 0x2d, 0x63, 0x3a, 0xf0, 0xd0, 0x85, 0x1b, 0xc7, 0x3d, 0xb6, 0x9c, 0x41, 0x8f, 0xb3, + 0xd0, 0x9b, 0x27, 0x2b, 0xdb, 0xf9, 0x13, 0xb6, 0x1d, 0x6c, 0xd1, 0x88, 0xa9, 0x10, 0x3d, 0xcb, + 0xe2, 0x77, 0x1a, 0x64, 0xeb, 0x0e, 0xeb, 0x31, 0x17, 0xdb, 0x8d, 0x7e, 0xb3, 0x6b, 0x71, 0xb4, + 0x0a, 0xe9, 0x9e, 0xd2, 0xe4, 0xb5, 0x39, 0x6d, 0x7e, 0x62, 0xe1, 0x9d, 0xd2, 0xd0, 0xc8, 0x4b, + 0x3e, 0x89, 0x1e, 0x80, 0xd1, 0x43, 0xc8, 0x9a, 0xa4, 0xc7, 0x5c, 0x8b, 0x1b, 0xb8, 0xcb, 0xfa, + 0x94, 0xe7, 0xc7, 0x24, 0xdd, 0xf5, 0x13, 0x74, 0x2a, 0xf4, 0x80, 0x6a, 0x51, 0x1a, 0xeb, 0x53, + 0x0a, 0xec, 0x89, 0xc5, 0x15, 0xc8, 0xf9, 0x3e, 0x9e, 0x58, 0xbc, 0x63, 0x3a, 0xf8, 0x00, 0x15, + 0x4e, 0x84, 0x9a, 0x88, 0x78, 0xbf, 0x0c, 0x49, 0x87, 0x60, 0x97, 0xd1, 0x7c, 0x7c, 0x4e, 0x9b, + 0xcf, 0xe8, 0x4a, 0x2a, 0xfe, 0xa2, 0xc1, 0x8c, 0x4f, 0xb4, 0xe4, 0x79, 0xa8, 0xd9, 0xd8, 0xea, + 0xbe, 0x94, 0xec, 0x74, 0x2a, 0xf1, 0xf3, 0xa7, 0x82, 0x1e, 0x42, 0x8a, 0xf5, 0x79, 0x8b, 0x75, + 0x89, 0xaa, 0xc8, 0xc2, 0x08, 0x05, 0xde, 0xf4, 0x90, 0xba, 0x4f, 0x21, 0xb6, 0x70, 0x6a, 0x1b, + 0xdb, 0x96, 0x89, 0x39, 0x73, 0xb6, 0x19, 0x27, 0x68, 0x0d, 0x12, 0x4d, 0x66, 0x0e, 0xd4, 0xee, + 0xbd, 0xff, 0x0a, 0xe4, 0xc7, 0xf0, 0x55, 0x66, 0x0e, 0x74, 0xc9, 0x80, 0x1e, 0x42, 0x1a, 0xf7, + 0x79, 0xc7, 0x70, 0xad, 0xb6, 0xca, 0xf8, 0xd6, 0x90, 0x8c, 0x1b, 0x3d, 0x42, 0xcd, 0xc5, 0x3e, + 0xef, 0x34, 0xac, 0x36, 0xc5, 0xbc, 0xef, 0x10, 0x3d, 0x85, 0x3d, 0xb1, 0xf8, 0x2c, 0x0e, 0x97, + 0x4e, 0x79, 0x7a, 0x69, 0xdd, 0xef, 0x41, 0x62, 0x9f, 0x71, 0xa2, 0x7c, 0xbf, 0xfd, 0x2a, 0x99, + 0x30, 0x4e, 0x74, 0x09, 0x42, 0x8f, 0x60, 0xd2, 0x32, 0x09, 0xe5, 0x16, 0x1f, 0x18, 0x7b, 0x64, + 0xa0, 0x6a, 0x7d, 0x63, 0x48, 0x02, 0xeb, 0x0a, 0xf2, 0x80, 0x0c, 0xf4, 0x09, 0x2b, 0x14, 0x50, + 0x03, 0xb2, 0xa1, 0x43, 0x49, 0x98, 0x90, 0x84, 0xef, 0x0e, 0x21, 0x5c, 0x0d, 0x40, 0x82, 0x72, + 0xaa, 0x1d, 0x15, 0x8b, 0x7f, 0x6a, 0x30, 0xb5, 0x44, 0x6c, 0xd2, 0xbe, 0xc0, 0xe6, 0x1d, 0xc3, + 0xbf, 0xae, 0xcd, 0x43, 0xeb, 0x30, 0xde, 0x73, 0x18, 0xdb, 0x55, 0x65, 0xbc, 0x3d, 0x84, 0xea, + 0xe9, 0x83, 0x63, 0x61, 0xd5, 0x05, 0x54, 0xf7, 0x18, 0x8a, 0x3f, 0xc7, 0xe1, 0xd2, 0xa9, 0xa0, + 0x5f, 0xda, 0x07, 0xd7, 0x21, 0xeb, 0x72, 0xec, 0x70, 0x43, 0x1e, 0x23, 0x4b, 0x1d, 0xea, 0x84, + 0x3e, 0x25, 0xb5, 0x75, 0xa5, 0x0c, 0xda, 0x65, 0xec, 0x3c, 0xed, 0x52, 0x81, 0xf1, 0x7d, 0x6c, + 0xf7, 0x89, 0xda, 0xd6, 0x6b, 0x43, 0x12, 0xdc, 0x16, 0xb6, 0xba, 0x07, 0x41, 0x1b, 0x30, 0xdd, + 0xa7, 0x4d, 0x46, 0x4d, 0x62, 0xfa, 0x17, 0xc4, 0xf8, 0x28, 0x17, 0x44, 0xd6, 0x47, 0xab, 0x1b, + 0xe2, 0x0d, 0xc8, 0xd0, 0xbe, 0x6d, 0x5b, 0xbb, 0x16, 0x71, 0xf2, 0xc9, 0x39, 0x6d, 0x7e, 0x52, + 0x0f, 0x15, 0x28, 0x0b, 0x71, 0x67, 0x2f, 0x9f, 0x92, 0xea, 0xb8, 0xb3, 0x57, 0xfc, 0x75, 0xec, + 0x44, 0x3d, 0xeb, 0x36, 0xa6, 0xff, 0x7a, 0x3d, 0x97, 0x60, 0xc2, 0xe5, 0x78, 0x8f, 0x98, 0x06, + 0x15, 0x1c, 0x5e, 0x55, 0xaf, 0x0e, 0xa9, 0xc7, 0x86, 0xc0, 0x83, 0x87, 0x13, 0x6b, 0xf4, 0x1e, + 0xcc, 0x44, 0x58, 0xc2, 0x78, 0xc7, 0x65, 0xbc, 0x28, 0xb4, 0x0c, 0x82, 0x3e, 0x63, 0x2f, 0x92, + 0x17, 0xd9, 0x8b, 0x59, 0x00, 0x07, 0x53, 0x93, 0x75, 0xad, 0x2f, 0x88, 0xa3, 0xaa, 0x1e, 0xd1, + 0xa0, 0x79, 0xc8, 0xc9, 0xb6, 0x36, 0x9a, 0xb6, 0x45, 0x4d, 0x8b, 0xb6, 0x0d, 0x27, 0x9f, 0x96, + 0x56, 0x59, 0xa9, 0xaf, 0x2a, 0xb5, 0x7e, 0x86, 0xa5, 0x9b, 0xcf, 0x9c, 0x61, 0xd9, 0x28, 0xae, + 0x01, 0x2c, 0x61, 0xa6, 0x9e, 0xa7, 0xb0, 0x33, 0xb5, 0x91, 0x3b, 0xb3, 0xb8, 0x02, 0xe9, 0x25, + 0xcc, 0xe4, 0xc1, 0xbe, 0x10, 0xcf, 0x57, 0x1a, 0x64, 0x96, 0x30, 0xdb, 0xec, 0xf3, 0x5e, 0xff, + 0x42, 0x11, 0xa1, 0xfb, 0x90, 0xc2, 0xa6, 0xe9, 0x10, 0xd7, 0x55, 0xb7, 0xd2, 0x5b, 0xc3, 0xf6, + 0xc5, 0xb3, 0xd6, 0x7d, 0x58, 0xf1, 0x6b, 0x0d, 0x12, 0xf2, 0xae, 0xbc, 0xaf, 0xfa, 0x53, 0x44, + 0x91, 0x3d, 0x75, 0x11, 0xff, 0x5d, 0x7f, 0x46, 0x9a, 0xb4, 0xb8, 0xae, 0x98, 0x66, 0x20, 0xb7, + 0xbd, 0xb9, 0xb5, 0x6c, 0x7c, 0xbc, 0xd1, 0xa8, 0x2f, 0xd7, 0xd6, 0x57, 0xd6, 0x97, 0x97, 0x72, + 0x31, 0x94, 0x83, 0x49, 0xa9, 0x5d, 0xac, 0x36, 0xb6, 0x16, 0xd7, 0x37, 0x72, 0x1a, 0x9a, 0x84, + 0xb4, 0xd4, 0x7c, 0xba, 0xdc, 0xc8, 0xc5, 0xd1, 0x04, 0xa4, 0xa4, 0xb4, 0xb1, 0x99, 0x1b, 0x2b, + 0xbe, 0x48, 0xc0, 0x54, 0x30, 0x4a, 0x71, 0xcc, 0x09, 0x7a, 0x0c, 0xc9, 0x7d, 0xc6, 0x2d, 0xea, + 0x5f, 0xbf, 0x77, 0x46, 0x78, 0xe6, 0x25, 0x83, 0x88, 0xd4, 0xa2, 0xed, 0xb5, 0x98, 0xae, 0x88, + 0xd0, 0x53, 0xc8, 0x1c, 0xa8, 0xe9, 0x87, 0xaa, 0x63, 0x59, 0x19, 0x99, 0xd5, 0x9f, 0x9f, 0xe8, + 0x5a, 0x4c, 0x0f, 0xe9, 0xd0, 0x13, 0x48, 0xef, 0x5a, 0xd4, 0x72, 0x3b, 0xc4, 0x54, 0xa7, 0xf5, + 0xee, 0xc8, 0xd4, 0x2b, 0x8a, 0x60, 0x2d, 0xa6, 0x07, 0x64, 0x68, 0x0b, 0x52, 0x2d, 0x31, 0x62, + 0x11, 0x53, 0xdd, 0x8a, 0x1f, 0x8e, 0xcc, 0x5b, 0xf3, 0xf0, 0x6b, 0x31, 0xdd, 0xa7, 0x2a, 0xa4, + 0x21, 0xe9, 0x95, 0xa7, 0x70, 0x15, 0x32, 0x41, 0x4a, 0x91, 0xb9, 0x4f, 0x8b, 0xce, 0x7d, 0x85, + 0x4f, 0x20, 0xed, 0x07, 0x17, 0x1d, 0xc0, 0xb4, 0x0b, 0x0f, 0x60, 0x85, 0x27, 0x90, 0x52, 0xe1, + 0xfd, 0xb3, 0xc4, 0xd5, 0x14, 0x8c, 0xbb, 0x22, 0xfb, 0xe2, 0xd1, 0x18, 0x4c, 0x9f, 0xb0, 0x42, + 0x0d, 0x48, 0xf6, 0xb0, 0xeb, 0x12, 0x53, 0x79, 0xba, 0x3b, 0xba, 0xa7, 0x52, 0x5d, 0x12, 0x88, + 0xf6, 0xf2, 0xa8, 0x04, 0xe9, 0x2e, 0xb6, 0x6c, 0x62, 0xaa, 0x8e, 0x3d, 0x0f, 0xe9, 0x8a, 0x24, + 0x10, 0xa4, 0x1e, 0x15, 0xda, 0x86, 0x94, 0x6b, 0x63, 0xd9, 0x56, 0xa3, 0x77, 0xac, 0xcf, 0xda, + 0xf0, 0x18, 0x44, 0x03, 0x28, 0x32, 0xd1, 0x00, 0x5e, 0x02, 0x85, 0xcf, 0x20, 0xe9, 0x79, 0x45, + 0x77, 0xe0, 0xbf, 0x41, 0x43, 0x1b, 0x62, 0x65, 0x44, 0x9b, 0x61, 0x2d, 0xa6, 0xff, 0x27, 0xf8, + 0x59, 0xb4, 0x8c, 0x2e, 0x7f, 0xfc, 0x52, 0xd3, 0xaa, 0x79, 0xb8, 0x6c, 0x9c, 0x89, 0x2c, 0xec, + 0x40, 0x4a, 0x39, 0x7f, 0x0d, 0xec, 0xd5, 0x4c, 0xd0, 0x31, 0xc5, 0x1a, 0x8c, 0x6f, 0x61, 0xdb, + 0x1e, 0xa0, 0x1c, 0x8c, 0x0d, 0x88, 0xab, 0x1e, 0x6d, 0xb1, 0x14, 0x2f, 0x3e, 0x65, 0xea, 0x8d, + 0x8e, 0x53, 0x86, 0xf2, 0x90, 0xc2, 0x4d, 0x97, 0x63, 0xcb, 0xbb, 0x04, 0x12, 0xba, 0x2f, 0x16, + 0xbf, 0x4d, 0x42, 0xda, 0xaf, 0x9d, 0x80, 0x59, 0xde, 0x59, 0x4e, 0xe8, 0x71, 0xcb, 0x44, 0x33, + 0x30, 0xce, 0x2d, 0x6e, 0x13, 0x75, 0x34, 0x3c, 0x01, 0xcd, 0xc1, 0x84, 0x49, 0xdc, 0x96, 0x63, + 0xf5, 0x82, 0x49, 0x20, 0xa3, 0x47, 0x55, 0xa8, 0x01, 0x19, 0x57, 0x4c, 0x84, 0xb6, 0xb8, 0xcb, + 0xbc, 0x23, 0xfc, 0xc1, 0x08, 0x7b, 0x58, 0x6a, 0xf8, 0x60, 0x3d, 0xe4, 0x11, 0xa4, 0xa4, 0x4b, + 0x9c, 0x36, 0xa1, 0xad, 0x81, 0x7a, 0xa1, 0x47, 0x22, 0x5d, 0xf6, 0xc1, 0x7a, 0xc8, 0x83, 0x76, + 0x21, 0xd7, 0xc3, 0x0e, 0xee, 0x12, 0x4e, 0x1c, 0xa3, 0xd5, 0xc1, 0xb4, 0x4d, 0xe4, 0x93, 0x3d, + 0xb1, 0x70, 0x6f, 0x14, 0xee, 0xba, 0xcf, 0x51, 0x93, 0x14, 0xfa, 0x74, 0xef, 0xb8, 0x02, 0x3d, + 0x86, 0x8c, 0x89, 0x99, 0xe1, 0x8a, 0x77, 0x55, 0xbe, 0xf6, 0xaf, 0x36, 0xaa, 0x07, 0x0e, 0xfc, + 0x37, 0x59, 0x4f, 0x9b, 0x6a, 0x55, 0xb8, 0x0d, 0x99, 0xa0, 0x4e, 0xe8, 0xff, 0x90, 0x6c, 0xb1, + 0x6e, 0xd7, 0xe2, 0x41, 0x6b, 0x29, 0x59, 0x74, 0x53, 0x06, 0x52, 0x86, 0x27, 0x15, 0x6e, 0x40, + 0x26, 0xa8, 0x03, 0x7a, 0x13, 0xa0, 0x83, 0x6d, 0x6e, 0xc8, 0x3f, 0xf8, 0x12, 0x98, 0xd6, 0x33, + 0x42, 0x53, 0x13, 0x8a, 0xc2, 0x0f, 0x1a, 0x4c, 0x9f, 0x48, 0x0c, 0x6d, 0x41, 0x96, 0xd9, 0xa6, + 0x11, 0xa4, 0xe7, 0xaa, 0xdb, 0xe4, 0xe6, 0xc9, 0x37, 0x59, 0x7e, 0x33, 0x08, 0xf2, 0x90, 0x84, + 0x01, 0x97, 0xab, 0x4f, 0x31, 0xdb, 0x0c, 0x45, 0xc1, 0x4a, 0xc9, 0x41, 0x94, 0x35, 0x7e, 0x2e, + 0x56, 0x4a, 0x0e, 0x42, 0xb1, 0xf0, 0x20, 0x32, 0xca, 0x7c, 0x04, 0x39, 0xee, 0x60, 0xea, 0xe2, + 0x96, 0x68, 0x50, 0xa3, 0x67, 0x63, 0xaa, 0x7c, 0xcc, 0x94, 0xbc, 0x6f, 0x28, 0x25, 0xff, 0x1b, + 0x4a, 0x69, 0x91, 0x0e, 0xf4, 0xe9, 0x88, 0xb5, 0x98, 0x8e, 0xab, 0xbf, 0xc5, 0x7f, 0x3c, 0x9c, + 0xd5, 0x9e, 0x1f, 0xce, 0x6a, 0xbf, 0x1f, 0xce, 0x6a, 0xcf, 0x8e, 0x66, 0x63, 0xcf, 0x8f, 0x66, + 0x63, 0x2f, 0x8e, 0x66, 0x63, 0x70, 0xbd, 0xc5, 0xba, 0xc3, 0xf7, 0xb2, 0x3a, 0x1d, 0xfe, 0xb1, + 0xab, 0x0b, 0x57, 0x75, 0xed, 0xe9, 0xe7, 0x6d, 0x8b, 0x77, 0xfa, 0xcd, 0x52, 0x8b, 0x75, 0xcb, + 0x2d, 0xe6, 0x76, 0x99, 0x5b, 0x76, 0x88, 0x8d, 0x07, 0xc4, 0x29, 0xef, 0x2f, 0x04, 0x4b, 0x99, + 0xb5, 0x5b, 0x1e, 0xfa, 0x05, 0xe9, 0x5e, 0xa8, 0xf3, 0x55, 0xdf, 0xc4, 0xc7, 0xea, 0xb5, 0xd5, + 0xef, 0xe3, 0x57, 0xea, 0x7e, 0x78, 0x35, 0x11, 0x5e, 0x18, 0x49, 0x69, 0x5b, 0x59, 0xfe, 0x14, + 0xda, 0xec, 0x08, 0x9b, 0x9d, 0xd0, 0x66, 0xc7, 0xb7, 0x39, 0x8c, 0xdf, 0x1c, 0x6a, 0xb3, 0xb3, + 0x5a, 0xaf, 0x3e, 0x22, 0x1c, 0x9b, 0x98, 0xe3, 0x3f, 0xe2, 0xd7, 0x7c, 0xfb, 0x4a, 0x45, 0x00, + 0x2a, 0x95, 0x10, 0x51, 0xa9, 0xf8, 0x90, 0x66, 0x52, 0x96, 0xfe, 0xf6, 0x5f, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x07, 0xf0, 0xab, 0xae, 0x25, 0x13, 0x00, 0x00, } func (m *ProposalSubmit) Marshal() (dAtA []byte, err error) { @@ -2316,6 +2336,20 @@ func (m *DelegatorVotePlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ProofBlindingS) > 0 { + i -= len(m.ProofBlindingS) + copy(dAtA[i:], m.ProofBlindingS) + i = encodeVarintGovernance(dAtA, i, uint64(len(m.ProofBlindingS))) + i-- + dAtA[i] = 0x4a + } + if len(m.ProofBlindingR) > 0 { + i -= len(m.ProofBlindingR) + copy(dAtA[i:], m.ProofBlindingR) + i = encodeVarintGovernance(dAtA, i, uint64(len(m.ProofBlindingR))) + i-- + dAtA[i] = 0x42 + } if len(m.Randomizer) > 0 { i -= len(m.Randomizer) copy(dAtA[i:], m.Randomizer) @@ -3452,6 +3486,14 @@ func (m *DelegatorVotePlan) Size() (n int) { if l > 0 { n += 1 + l + sovGovernance(uint64(l)) } + l = len(m.ProofBlindingR) + if l > 0 { + n += 1 + l + sovGovernance(uint64(l)) + } + l = len(m.ProofBlindingS) + if l > 0 { + n += 1 + l + sovGovernance(uint64(l)) + } return n } @@ -5156,6 +5198,74 @@ func (m *DelegatorVotePlan) Unmarshal(dAtA []byte) error { m.Randomizer = []byte{} } iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingR", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGovernance + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGovernance + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthGovernance + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingR = append(m.ProofBlindingR[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingR == nil { + m.ProofBlindingR = []byte{} + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingS", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGovernance + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGovernance + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthGovernance + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingS = append(m.ProofBlindingS[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingS == nil { + m.ProofBlindingS = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGovernance(dAtA[iNdEx:]) diff --git a/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go b/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go index 2228a0a81..690e79f23 100644 --- a/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go +++ b/relayer/chains/penumbra/core/stake/v1alpha1/stake.pb.go @@ -1184,6 +1184,10 @@ type UndelegateClaimPlan struct { UnbondingAmount *v1alpha1.Amount `protobuf:"bytes,5,opt,name=unbonding_amount,json=unbondingAmount,proto3" json:"unbonding_amount,omitempty"` // The blinding factor to use for the balance commitment. BalanceBlinding []byte `protobuf:"bytes,6,opt,name=balance_blinding,json=balanceBlinding,proto3" json:"balance_blinding,omitempty"` + // The first blinding factor to use for the ZK undelegate claim proof. + ProofBlindingR []byte `protobuf:"bytes,7,opt,name=proof_blinding_r,json=proofBlindingR,proto3" json:"proof_blinding_r,omitempty"` + // The second blinding factor to use for the ZK undelegate claim proof. + ProofBlindingS []byte `protobuf:"bytes,8,opt,name=proof_blinding_s,json=proofBlindingS,proto3" json:"proof_blinding_s,omitempty"` } func (m *UndelegateClaimPlan) Reset() { *m = UndelegateClaimPlan{} } @@ -1254,6 +1258,20 @@ func (m *UndelegateClaimPlan) GetBalanceBlinding() []byte { return nil } +func (m *UndelegateClaimPlan) GetProofBlindingR() []byte { + if m != nil { + return m.ProofBlindingR + } + return nil +} + +func (m *UndelegateClaimPlan) GetProofBlindingS() []byte { + if m != nil { + return m.ProofBlindingS + } + return nil +} + // A list of pending delegations and undelegations. type DelegationChanges struct { Delegations []*Delegate `protobuf:"bytes,1,rep,name=delegations,proto3" json:"delegations,omitempty"` @@ -1490,105 +1508,106 @@ func init() { } var fileDescriptor_022d012c8e7b3ca5 = []byte{ - // 1554 bytes of a gzipped FileDescriptorProto + // 1578 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcd, 0x6f, 0x23, 0x49, 0x15, 0x4f, 0x3b, 0x76, 0x12, 0x3f, 0x7f, 0xa6, 0x66, 0x01, 0xcf, 0x30, 0x93, 0x78, 0x7b, 0x81, 0x35, 0x33, 0x83, 0xc3, 0x04, 0xc1, 0x21, 0x7b, 0x58, 0xdc, 0xb6, 0x77, 0xe2, 0xdd, 0xc4, 0xf1, 0xb6, 0x9d, 0x48, 0xa0, 0x48, 0xad, 0xb2, 0xbb, 0x62, 0x37, 0x63, 0x57, 0x99, 0xae, 0x72, 0xb2, - 0xfe, 0x0b, 0xe0, 0xc8, 0x71, 0xcf, 0x1c, 0x38, 0xac, 0xc4, 0x81, 0x13, 0x27, 0x38, 0x23, 0x4e, - 0xcb, 0x0d, 0x71, 0x42, 0x19, 0x09, 0x24, 0xfe, 0x0a, 0x54, 0xd5, 0x5d, 0xed, 0x8f, 0x7c, 0x4d, - 0x56, 0x23, 0xb4, 0xdc, 0xfa, 0x7d, 0xfd, 0xea, 0xbd, 0xdf, 0xab, 0x57, 0x5d, 0xdd, 0x50, 0x1a, - 0x13, 0x3a, 0x19, 0x75, 0x7d, 0xbc, 0xd3, 0x63, 0x3e, 0xd9, 0xe1, 0x02, 0xbf, 0x22, 0x3b, 0xe7, - 0x2f, 0xf0, 0x70, 0x3c, 0xc0, 0x2f, 0x02, 0xb1, 0x3c, 0xf6, 0x99, 0x60, 0xe8, 0xb1, 0xf6, 0x2c, - 0x4b, 0xcf, 0x72, 0x60, 0xd2, 0x9e, 0x8f, 0x9e, 0x2e, 0xe2, 0xf4, 0xfc, 0xe9, 0x58, 0xb0, 0x19, - 0x50, 0x20, 0x07, 0x48, 0xe6, 0x9f, 0x56, 0x21, 0x79, 0x82, 0x87, 0x9e, 0x8b, 0x05, 0xf3, 0xd1, - 0x21, 0xa4, 0x3d, 0x97, 0x50, 0xe1, 0x89, 0xa9, 0xf3, 0x8a, 0x4c, 0x0b, 0x46, 0xd1, 0x28, 0xa5, - 0x76, 0x9f, 0x96, 0x17, 0x97, 0x0b, 0x01, 0x34, 0x60, 0xb9, 0x11, 0x86, 0x7c, 0x42, 0xa6, 0x76, - 0xca, 0x9b, 0x09, 0xe8, 0x3d, 0xc8, 0xf4, 0x18, 0xe5, 0x84, 0xf2, 0x09, 0x57, 0x78, 0xb1, 0xa2, - 0x51, 0x4a, 0xdb, 0xe9, 0x48, 0x29, 0x9d, 0x10, 0xc4, 0x29, 0x1e, 0x91, 0xc2, 0x6a, 0xd1, 0x28, - 0x25, 0x6d, 0xf5, 0x8c, 0x0a, 0xb0, 0x7e, 0x41, 0xba, 0xdc, 0x13, 0xa4, 0x10, 0x57, 0x6a, 0x2d, - 0xa2, 0x22, 0xa4, 0x5c, 0xc2, 0x7b, 0xbe, 0x37, 0x16, 0x1e, 0xa3, 0x85, 0x84, 0xb2, 0xce, 0xab, - 0x64, 0x2c, 0xa1, 0xb8, 0x3b, 0x24, 0x6e, 0x61, 0xa3, 0x68, 0x94, 0x36, 0x6c, 0x2d, 0xa2, 0x0e, - 0xe4, 0xce, 0x26, 0xd4, 0xf5, 0x68, 0xdf, 0xe1, 0xc2, 0x27, 0x78, 0xc4, 0x0b, 0x6b, 0xc5, 0xd5, - 0x52, 0x6a, 0xf7, 0x59, 0xf9, 0x36, 0x3e, 0xcb, 0x1f, 0x05, 0x41, 0x6d, 0x15, 0x63, 0x67, 0xcf, - 0xe6, 0x45, 0x8e, 0xde, 0x87, 0x1c, 0x27, 0xbf, 0x9c, 0x10, 0xda, 0x23, 0x8e, 0x04, 0x21, 0x7e, - 0x61, 0xbd, 0x68, 0x94, 0x32, 0x76, 0x56, 0xab, 0x9b, 0x4a, 0x8b, 0xda, 0x90, 0xed, 0xb3, 0x73, - 0xe2, 0x53, 0x2c, 0x5d, 0x25, 0x1d, 0x49, 0x45, 0xef, 0xf3, 0x3b, 0xe8, 0x7d, 0x19, 0x05, 0x49, - 0x82, 0x33, 0xfd, 0x79, 0xd1, 0xec, 0x42, 0x26, 0x6a, 0xdf, 0x81, 0xc7, 0x05, 0xfa, 0x14, 0xb2, - 0xe7, 0x5a, 0x21, 0x17, 0xe1, 0x05, 0x43, 0xd5, 0x78, 0x9f, 0x26, 0x66, 0x22, 0x84, 0x4f, 0xc8, - 0x94, 0x9b, 0xbf, 0x8b, 0x41, 0x66, 0x81, 0x03, 0x74, 0x02, 0x20, 0x98, 0x83, 0x5d, 0xd7, 0x27, - 0x9c, 0x87, 0xbb, 0xe4, 0xc7, 0xf7, 0x20, 0xb1, 0xdc, 0x61, 0x95, 0x20, 0x78, 0x7f, 0xc5, 0x4e, - 0x0a, 0x2d, 0xa0, 0x8f, 0x61, 0x4d, 0x30, 0xc7, 0xc5, 0x4c, 0xed, 0x94, 0xd4, 0xee, 0x8b, 0xfb, - 0x61, 0xd6, 0x30, 0xdb, 0x5f, 0xb1, 0x13, 0x42, 0x3e, 0x3c, 0xfa, 0x29, 0x24, 0xa3, 0x55, 0xe4, - 0xa6, 0x98, 0xcf, 0x36, 0x69, 0x6b, 0x11, 0x3d, 0x84, 0x0d, 0x1f, 0x0b, 0xe2, 0x74, 0xc7, 0x5c, - 0x2d, 0x9a, 0xb1, 0xd7, 0xa5, 0x6c, 0x8d, 0xf9, 0x23, 0x13, 0x12, 0x0a, 0xf3, 0x16, 0x1f, 0x2b, - 0x05, 0x49, 0x9f, 0xf4, 0xbc, 0xb1, 0x47, 0xa8, 0x30, 0xff, 0x65, 0xc0, 0x86, 0x8d, 0x05, 0xa9, - 0x61, 0x81, 0xdf, 0xf6, 0x2c, 0x6d, 0x43, 0x8a, 0x8c, 0x59, 0x6f, 0xe0, 0x78, 0xd4, 0x25, 0x9f, - 0xa9, 0x34, 0xe2, 0x36, 0x28, 0x55, 0x43, 0x6a, 0xd0, 0x2e, 0x7c, 0x63, 0xd6, 0x78, 0x9f, 0x5c, - 0x60, 0xdf, 0x75, 0x64, 0x96, 0x6a, 0x82, 0xe2, 0xf6, 0x83, 0xc8, 0x68, 0x2b, 0x9b, 0xcc, 0x13, - 0xfd, 0x04, 0xbe, 0x35, 0x8b, 0x21, 0x9f, 0xf5, 0x06, 0x98, 0xf6, 0x49, 0x10, 0x95, 0x50, 0x51, - 0x33, 0xc8, 0x7a, 0x68, 0x95, 0x71, 0xe6, 0xaf, 0x0c, 0x48, 0x5b, 0x98, 0x93, 0xa8, 0xd8, 0xa5, - 0xec, 0x8c, 0x2b, 0xd9, 0x95, 0x20, 0xdf, 0xc5, 0x9c, 0x2c, 0x24, 0x16, 0xd4, 0x90, 0x95, 0xfa, - 0xb9, 0x9c, 0x9e, 0x03, 0x52, 0x9e, 0x8b, 0xe9, 0xac, 0x2a, 0x5f, 0x85, 0xb1, 0x90, 0xc9, 0xe7, - 0x31, 0xc8, 0x45, 0x03, 0xd0, 0x16, 0x58, 0x4c, 0xf8, 0xdb, 0x66, 0xde, 0x82, 0x04, 0x17, 0x3a, - 0xdf, 0xab, 0xe3, 0xba, 0xb4, 0x27, 0x17, 0x92, 0x21, 0x76, 0x10, 0x8a, 0xde, 0x85, 0xf4, 0x39, - 0x13, 0xf2, 0xe4, 0x19, 0xb3, 0x0b, 0xe2, 0x87, 0xe5, 0xa4, 0x02, 0x5d, 0x4b, 0xaa, 0xd0, 0x11, - 0x64, 0xba, 0x4c, 0x9f, 0x4e, 0xba, 0x6f, 0x57, 0xd3, 0x5e, 0x5a, 0xce, 0x62, 0xe1, 0x08, 0xc8, - 0xc5, 0xd2, 0xdd, 0x39, 0xc9, 0xfc, 0x73, 0x0c, 0xd2, 0xf3, 0x66, 0xf4, 0xa9, 0x2e, 0x44, 0x12, - 0x92, 0xdd, 0xfd, 0xe0, 0xcd, 0x91, 0x17, 0x84, 0x3a, 0x9d, 0x8c, 0x74, 0x5d, 0xcf, 0x21, 0x37, - 0xa1, 0x3a, 0x6d, 0xd5, 0xee, 0xa0, 0xab, 0xfb, 0x2b, 0x76, 0x36, 0x32, 0xd4, 0xa5, 0xfe, 0xd7, - 0x86, 0x61, 0x7e, 0x6e, 0x40, 0x7e, 0x19, 0x09, 0x99, 0xb0, 0x65, 0x1d, 0x35, 0x6b, 0x8d, 0xe6, - 0x4b, 0xa7, 0xdd, 0xa9, 0x74, 0xea, 0x4e, 0xbd, 0x79, 0x7c, 0xe8, 0x1c, 0x37, 0xdb, 0xad, 0x7a, - 0xb5, 0xf1, 0x51, 0xa3, 0x5e, 0xcb, 0xaf, 0xa0, 0x27, 0xf0, 0xf0, 0x1a, 0x1f, 0xa9, 0xaa, 0xd7, - 0xf2, 0x06, 0x2a, 0xc2, 0xe3, 0x6b, 0x21, 0x42, 0x65, 0x3e, 0x86, 0xb6, 0xe1, 0xdb, 0x37, 0x7a, - 0xd4, 0x6b, 0xf9, 0x55, 0x0b, 0x41, 0xde, 0x59, 0xaa, 0xc4, 0xfc, 0x5b, 0x0c, 0xb2, 0x8b, 0xed, - 0x44, 0xc7, 0x8b, 0x14, 0x7e, 0x78, 0x9f, 0xbd, 0xb0, 0x24, 0xce, 0xd1, 0x68, 0xfe, 0xdb, 0x00, - 0x74, 0xd5, 0x8a, 0xbe, 0x03, 0xc5, 0x93, 0xca, 0x41, 0xa3, 0x56, 0xe9, 0x1c, 0xd9, 0x37, 0x93, - 0xf3, 0x2e, 0x3c, 0xb9, 0xd6, 0xab, 0xd1, 0xac, 0x54, 0x3b, 0x8d, 0x93, 0x7a, 0xde, 0x90, 0xe5, - 0x5f, 0xeb, 0x12, 0x3a, 0xc4, 0x6e, 0x74, 0xf8, 0xb8, 0xd2, 0x38, 0x90, 0xfc, 0xa0, 0xf7, 0x60, - 0xfb, 0x5a, 0x87, 0xce, 0xd1, 0xa1, 0xd5, 0xee, 0x1c, 0x35, 0xeb, 0xb5, 0x7c, 0xfc, 0xc6, 0x4c, - 0x6a, 0x8d, 0x76, 0xc5, 0x92, 0x38, 0x09, 0xf3, 0xd2, 0x98, 0x7b, 0x61, 0x35, 0xe8, 0x19, 0x43, - 0x75, 0x48, 0x46, 0x87, 0x4c, 0x38, 0xaa, 0xef, 0xbf, 0x21, 0xad, 0xf6, 0x2c, 0x12, 0xd5, 0x61, - 0x8d, 0xab, 0xf1, 0x0f, 0xc7, 0xf4, 0x07, 0xf7, 0x68, 0xcd, 0x84, 0xdb, 0x61, 0x30, 0xaa, 0x42, - 0x52, 0x1d, 0xf5, 0x2e, 0x16, 0x58, 0x4d, 0x69, 0x6a, 0xf7, 0x7b, 0xb7, 0x23, 0xe9, 0x33, 0xd0, - 0x56, 0xef, 0x08, 0xf9, 0x64, 0x5e, 0xc0, 0x83, 0x08, 0xbf, 0x46, 0xce, 0x3c, 0xea, 0xa9, 0x9b, - 0xc9, 0x5b, 0xaa, 0xf4, 0x21, 0x6c, 0xe0, 0x89, 0x18, 0x38, 0xdc, 0xeb, 0x87, 0x17, 0xaa, 0x75, - 0x29, 0xb7, 0xbd, 0xbe, 0xf9, 0x45, 0x0c, 0x36, 0x6a, 0x64, 0x48, 0xfa, 0x72, 0xaf, 0xfe, 0x0c, - 0xd0, 0xec, 0x70, 0xd7, 0x07, 0xda, 0x57, 0x38, 0x0c, 0x37, 0x23, 0x14, 0xad, 0xbd, 0xfb, 0x65, - 0xd4, 0xd4, 0xe7, 0x02, 0x71, 0x1d, 0x3c, 0x62, 0x13, 0x2a, 0x42, 0x32, 0xbf, 0x7b, 0xc7, 0xc2, - 0x15, 0xe5, 0xac, 0x0f, 0x0f, 0xe2, 0x06, 0x32, 0xb2, 0x61, 0xd3, 0x0d, 0xea, 0xf2, 0x18, 0xd5, - 0x88, 0xf1, 0xfb, 0x20, 0xe6, 0x67, 0xf1, 0x81, 0xc6, 0xfc, 0x63, 0x0c, 0xe0, 0x98, 0xba, 0xff, - 0x03, 0xba, 0x9e, 0xc2, 0x26, 0x17, 0xd8, 0x17, 0xce, 0x55, 0xd2, 0x72, 0xca, 0x50, 0xff, 0xff, - 0x62, 0x8e, 0x42, 0x6e, 0x46, 0x5c, 0x75, 0x88, 0xbd, 0x11, 0xaa, 0x43, 0xbc, 0xcb, 0x5c, 0xcd, - 0xd7, 0x1d, 0xf7, 0xb6, 0xa5, 0x60, 0x8b, 0xb9, 0x53, 0x5b, 0x85, 0xa3, 0x77, 0x20, 0x31, 0xf6, - 0x19, 0x3b, 0x0b, 0x37, 0x76, 0x20, 0xc8, 0x37, 0xd9, 0x83, 0x6b, 0x62, 0xbe, 0x2e, 0x2d, 0xfb, - 0x10, 0xd6, 0xc7, 0x84, 0xe2, 0xa1, 0x98, 0xde, 0xd0, 0xaa, 0xa5, 0xf2, 0x5b, 0x81, 0xb3, 0xad, - 0xa3, 0x90, 0x23, 0xaf, 0x3c, 0x43, 0xf5, 0x59, 0xd0, 0x63, 0xa3, 0x91, 0x27, 0x46, 0x24, 0x6a, - 0xd2, 0x0f, 0xef, 0xa8, 0xc3, 0x0a, 0x02, 0xab, 0x51, 0x9c, 0xbd, 0xd9, 0x5d, 0x56, 0x99, 0xff, - 0xb8, 0x4a, 0x60, 0x6b, 0x88, 0xe9, 0xd7, 0x90, 0xc0, 0xf8, 0x57, 0x22, 0xb0, 0x05, 0xf9, 0xd9, - 0xcb, 0x3b, 0xdc, 0xe3, 0x89, 0xfb, 0xec, 0xf1, 0xd9, 0x2d, 0x26, 0x1c, 0x9b, 0xef, 0xcb, 0xfb, - 0x6a, 0xd0, 0x92, 0xee, 0xd0, 0x53, 0x96, 0xc2, 0x9a, 0xda, 0x93, 0xb9, 0x50, 0x6f, 0x85, 0x6a, - 0xf3, 0xf7, 0x06, 0x6c, 0xd6, 0xa2, 0x11, 0xa9, 0xaa, 0xbb, 0x29, 0x47, 0xfb, 0xf2, 0x43, 0x55, - 0x2b, 0xf5, 0x47, 0xd8, 0x1d, 0xaf, 0x12, 0x7d, 0x74, 0xdb, 0xf3, 0xa1, 0xa8, 0x09, 0x99, 0x09, - 0x9d, 0xc7, 0x8a, 0x29, 0xac, 0xd2, 0x9b, 0xce, 0x98, 0xbd, 0x18, 0x6e, 0x0e, 0x61, 0xed, 0x78, - 0x2c, 0xbc, 0x11, 0x41, 0xcf, 0x00, 0x61, 0xee, 0xb0, 0x33, 0xa7, 0x3b, 0x64, 0xbd, 0x57, 0xce, - 0x80, 0x78, 0xfd, 0x81, 0x08, 0x2f, 0xef, 0x39, 0xcc, 0x8f, 0xce, 0x2c, 0xa9, 0xdf, 0x57, 0x6a, - 0xf4, 0x04, 0xe0, 0xc2, 0xa3, 0x2e, 0xbb, 0x70, 0x86, 0x84, 0x86, 0x9f, 0x41, 0xc9, 0x40, 0x73, - 0x40, 0x28, 0xfa, 0x26, 0xac, 0x75, 0x3d, 0x71, 0x4e, 0x7a, 0x6a, 0x06, 0xd2, 0x76, 0x28, 0x99, - 0xbf, 0x80, 0x77, 0xaa, 0x13, 0xdf, 0x27, 0x54, 0x54, 0xe7, 0xbe, 0xfa, 0x39, 0xb2, 0x21, 0xbb, - 0xf0, 0x6f, 0x40, 0x53, 0xf4, 0xec, 0x8e, 0x86, 0xcd, 0xa3, 0xd8, 0x99, 0xf9, 0x3f, 0x09, 0xdc, - 0xdc, 0x86, 0xf5, 0x70, 0x6b, 0xc8, 0x83, 0xc4, 0xa3, 0x94, 0xf8, 0x61, 0x35, 0x81, 0x60, 0xfd, - 0x21, 0xf6, 0x97, 0xcb, 0x2d, 0xe3, 0xcb, 0xcb, 0x2d, 0xe3, 0x9f, 0x97, 0x5b, 0xc6, 0x6f, 0x5e, - 0x6f, 0xad, 0x7c, 0xf9, 0x7a, 0x6b, 0xe5, 0xef, 0xaf, 0xb7, 0x56, 0xa0, 0xd8, 0x63, 0xa3, 0x5b, - 0x19, 0xb5, 0xa0, 0x2d, 0xe5, 0x96, 0xcf, 0x04, 0x6b, 0x19, 0x3f, 0x3f, 0xe9, 0x7b, 0x62, 0x30, - 0xe9, 0x96, 0x7b, 0x6c, 0xb4, 0xd3, 0x63, 0x7c, 0xc4, 0xf8, 0x8e, 0x4f, 0x86, 0x78, 0x4a, 0xfc, - 0x9d, 0xf3, 0xdd, 0xe8, 0xb1, 0x37, 0xc0, 0x1e, 0xe5, 0x3b, 0xb7, 0xfd, 0xd8, 0xf9, 0x40, 0x89, - 0x5a, 0xfa, 0x6d, 0x6c, 0xb5, 0x55, 0x6d, 0x7f, 0x11, 0x7b, 0xdc, 0xd2, 0xa9, 0x54, 0x65, 0x2a, - 0x6a, 0xe9, 0xf2, 0x49, 0xe8, 0xf4, 0xd7, 0x99, 0xf9, 0x54, 0x9a, 0x4f, 0x95, 0xf9, 0x54, 0x9b, - 0x2f, 0x63, 0xa5, 0xdb, 0xcc, 0xa7, 0x2f, 0x5b, 0xd6, 0x21, 0x11, 0x58, 0x5e, 0x71, 0xfe, 0x13, - 0xdb, 0xd6, 0xae, 0x7b, 0x7b, 0xd2, 0x77, 0x6f, 0x4f, 0x39, 0xef, 0xed, 0x69, 0xef, 0xee, 0x9a, - 0xfa, 0x51, 0xf4, 0xa3, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xba, 0x77, 0x8b, 0xfc, 0x9e, 0x12, - 0x00, 0x00, + 0xfe, 0x0b, 0xe0, 0xc8, 0x71, 0xcf, 0x1c, 0x38, 0xac, 0x04, 0x12, 0x27, 0x4e, 0x70, 0x46, 0x9c, + 0x96, 0x1b, 0x47, 0x94, 0x91, 0x40, 0xe2, 0xaf, 0x40, 0x55, 0xdd, 0xd5, 0xfe, 0xc8, 0xd7, 0x64, + 0x35, 0x42, 0xcb, 0xad, 0xdf, 0x7b, 0xbf, 0xf7, 0xea, 0xbd, 0x5f, 0xd5, 0xab, 0x8f, 0x86, 0xd2, + 0x98, 0xd0, 0xc9, 0xa8, 0xeb, 0xe3, 0x9d, 0x1e, 0xf3, 0xc9, 0x0e, 0x17, 0xf8, 0x15, 0xd9, 0x39, + 0x7f, 0x81, 0x87, 0xe3, 0x01, 0x7e, 0x11, 0x88, 0xe5, 0xb1, 0xcf, 0x04, 0x43, 0x8f, 0x35, 0xb2, + 0x2c, 0x91, 0xe5, 0xc0, 0xa4, 0x91, 0x8f, 0x9e, 0x2e, 0xc6, 0xe9, 0xf9, 0xd3, 0xb1, 0x60, 0xb3, + 0x40, 0x81, 0x1c, 0x44, 0x32, 0xff, 0xbc, 0x0a, 0xc9, 0x13, 0x3c, 0xf4, 0x5c, 0x2c, 0x98, 0x8f, + 0x0e, 0x21, 0xed, 0xb9, 0x84, 0x0a, 0x4f, 0x4c, 0x9d, 0x57, 0x64, 0x5a, 0x30, 0x8a, 0x46, 0x29, + 0xb5, 0xfb, 0xb4, 0xbc, 0x38, 0x5c, 0x18, 0x40, 0x07, 0x2c, 0x37, 0x42, 0x97, 0x4f, 0xc8, 0xd4, + 0x4e, 0x79, 0x33, 0x01, 0xbd, 0x07, 0x99, 0x1e, 0xa3, 0x9c, 0x50, 0x3e, 0xe1, 0x2a, 0x5e, 0xac, + 0x68, 0x94, 0xd2, 0x76, 0x3a, 0x52, 0x4a, 0x10, 0x82, 0x38, 0xc5, 0x23, 0x52, 0x58, 0x2d, 0x1a, + 0xa5, 0xa4, 0xad, 0xbe, 0x51, 0x01, 0xd6, 0x2f, 0x48, 0x97, 0x7b, 0x82, 0x14, 0xe2, 0x4a, 0xad, + 0x45, 0x54, 0x84, 0x94, 0x4b, 0x78, 0xcf, 0xf7, 0xc6, 0xc2, 0x63, 0xb4, 0x90, 0x50, 0xd6, 0x79, + 0x95, 0xf4, 0x25, 0x14, 0x77, 0x87, 0xc4, 0x2d, 0x6c, 0x14, 0x8d, 0xd2, 0x86, 0xad, 0x45, 0xd4, + 0x81, 0xdc, 0xd9, 0x84, 0xba, 0x1e, 0xed, 0x3b, 0x5c, 0xf8, 0x04, 0x8f, 0x78, 0x61, 0xad, 0xb8, + 0x5a, 0x4a, 0xed, 0x3e, 0x2b, 0xdf, 0xc6, 0x67, 0xf9, 0xa3, 0xc0, 0xa9, 0xad, 0x7c, 0xec, 0xec, + 0xd9, 0xbc, 0xc8, 0xd1, 0xfb, 0x90, 0xe3, 0xe4, 0x97, 0x13, 0x42, 0x7b, 0xc4, 0x91, 0x41, 0x88, + 0x5f, 0x58, 0x2f, 0x1a, 0xa5, 0x8c, 0x9d, 0xd5, 0xea, 0xa6, 0xd2, 0xa2, 0x36, 0x64, 0xfb, 0xec, + 0x9c, 0xf8, 0x14, 0x4b, 0xa8, 0xa4, 0x23, 0xa9, 0xe8, 0x7d, 0x7e, 0x07, 0xbd, 0x2f, 0x23, 0x27, + 0x49, 0x70, 0xa6, 0x3f, 0x2f, 0x9a, 0x5d, 0xc8, 0x44, 0xd3, 0x77, 0xe0, 0x71, 0x81, 0x3e, 0x85, + 0xec, 0xb9, 0x56, 0xc8, 0x41, 0x78, 0xc1, 0x50, 0x35, 0xde, 0x67, 0x12, 0x33, 0x51, 0x84, 0x4f, + 0xc8, 0x94, 0x9b, 0xbf, 0x8b, 0x41, 0x66, 0x81, 0x03, 0x74, 0x02, 0x20, 0x98, 0x83, 0x5d, 0xd7, + 0x27, 0x9c, 0x87, 0xab, 0xe4, 0xc7, 0xf7, 0x20, 0xb1, 0xdc, 0x61, 0x95, 0xc0, 0x79, 0x7f, 0xc5, + 0x4e, 0x0a, 0x2d, 0xa0, 0x8f, 0x61, 0x4d, 0x30, 0xc7, 0xc5, 0x4c, 0xad, 0x94, 0xd4, 0xee, 0x8b, + 0xfb, 0xc5, 0xac, 0x61, 0xb6, 0xbf, 0x62, 0x27, 0x84, 0xfc, 0x78, 0xf4, 0x53, 0x48, 0x46, 0xa3, + 0xc8, 0x45, 0x31, 0x9f, 0x6d, 0xd2, 0xd6, 0x22, 0x7a, 0x08, 0x1b, 0x3e, 0x16, 0xc4, 0xe9, 0x8e, + 0xb9, 0x1a, 0x34, 0x63, 0xaf, 0x4b, 0xd9, 0x1a, 0xf3, 0x47, 0x26, 0x24, 0x54, 0xcc, 0x5b, 0x30, + 0x56, 0x0a, 0x92, 0x3e, 0xe9, 0x79, 0x63, 0x8f, 0x50, 0x61, 0xfe, 0xcb, 0x80, 0x0d, 0x1b, 0x0b, + 0x52, 0xc3, 0x02, 0xbf, 0xed, 0x5e, 0xda, 0x86, 0x14, 0x19, 0xb3, 0xde, 0xc0, 0xf1, 0xa8, 0x4b, + 0x3e, 0x53, 0x69, 0xc4, 0x6d, 0x50, 0xaa, 0x86, 0xd4, 0xa0, 0x5d, 0xf8, 0xc6, 0x6c, 0xe2, 0x7d, + 0x72, 0x81, 0x7d, 0xd7, 0x91, 0x59, 0xaa, 0x0e, 0x8a, 0xdb, 0x0f, 0x22, 0xa3, 0xad, 0x6c, 0x32, + 0x4f, 0xf4, 0x13, 0xf8, 0xd6, 0xcc, 0x87, 0x7c, 0xd6, 0x1b, 0x60, 0xda, 0x27, 0x81, 0x57, 0x42, + 0x79, 0xcd, 0x42, 0xd6, 0x43, 0xab, 0xf4, 0x33, 0x7f, 0x65, 0x40, 0xda, 0xc2, 0x9c, 0x44, 0xc5, + 0x2e, 0x65, 0x67, 0x5c, 0xc9, 0xae, 0x04, 0xf9, 0x2e, 0xe6, 0x64, 0x21, 0xb1, 0xa0, 0x86, 0xac, + 0xd4, 0xcf, 0xe5, 0xf4, 0x1c, 0x90, 0x42, 0x2e, 0xa6, 0xb3, 0xaa, 0xb0, 0x2a, 0xc6, 0x42, 0x26, + 0x9f, 0xc7, 0x20, 0x17, 0x35, 0x40, 0x5b, 0x60, 0x31, 0xe1, 0x6f, 0x9b, 0x79, 0x0b, 0x12, 0x5c, + 0xe8, 0x7c, 0xaf, 0xb6, 0xeb, 0xd2, 0x9a, 0x5c, 0x48, 0x86, 0xd8, 0x81, 0x2b, 0x7a, 0x17, 0xd2, + 0xe7, 0x4c, 0xc8, 0x9d, 0x67, 0xcc, 0x2e, 0x88, 0x1f, 0x96, 0x93, 0x0a, 0x74, 0x2d, 0xa9, 0x42, + 0x47, 0x90, 0xe9, 0x32, 0xbd, 0x3b, 0xe9, 0x79, 0xbb, 0x9a, 0xf6, 0xd2, 0x70, 0x16, 0x0b, 0x5b, + 0x40, 0x0e, 0x96, 0xee, 0xce, 0x49, 0xe6, 0x5f, 0x62, 0x90, 0x9e, 0x37, 0xa3, 0x4f, 0x75, 0x21, + 0x92, 0x90, 0xec, 0xee, 0x07, 0x6f, 0x1e, 0x79, 0x41, 0xa8, 0xd3, 0xc9, 0x48, 0xd7, 0xf5, 0x1c, + 0x72, 0x13, 0xaa, 0xd3, 0x56, 0xd3, 0x1d, 0xcc, 0xea, 0xfe, 0x8a, 0x9d, 0x8d, 0x0c, 0x75, 0xa9, + 0xff, 0xb5, 0x61, 0x98, 0x9f, 0x1b, 0x90, 0x5f, 0x8e, 0x84, 0x4c, 0xd8, 0xb2, 0x8e, 0x9a, 0xb5, + 0x46, 0xf3, 0xa5, 0xd3, 0xee, 0x54, 0x3a, 0x75, 0xa7, 0xde, 0x3c, 0x3e, 0x74, 0x8e, 0x9b, 0xed, + 0x56, 0xbd, 0xda, 0xf8, 0xa8, 0x51, 0xaf, 0xe5, 0x57, 0xd0, 0x13, 0x78, 0x78, 0x0d, 0x46, 0xaa, + 0xea, 0xb5, 0xbc, 0x81, 0x8a, 0xf0, 0xf8, 0xda, 0x10, 0xa1, 0x32, 0x1f, 0x43, 0xdb, 0xf0, 0xed, + 0x1b, 0x11, 0xf5, 0x5a, 0x7e, 0xd5, 0x42, 0x90, 0x77, 0x96, 0x2a, 0x31, 0xff, 0x1e, 0x83, 0xec, + 0xe2, 0x74, 0xa2, 0xe3, 0x45, 0x0a, 0x3f, 0xbc, 0xcf, 0x5a, 0x58, 0x12, 0xe7, 0x68, 0x34, 0xff, + 0x6d, 0x00, 0xba, 0x6a, 0x45, 0xdf, 0x81, 0xe2, 0x49, 0xe5, 0xa0, 0x51, 0xab, 0x74, 0x8e, 0xec, + 0x9b, 0xc9, 0x79, 0x17, 0x9e, 0x5c, 0x8b, 0x6a, 0x34, 0x2b, 0xd5, 0x4e, 0xe3, 0xa4, 0x9e, 0x37, + 0x64, 0xf9, 0xd7, 0x42, 0x42, 0x40, 0xec, 0x46, 0xc0, 0xc7, 0x95, 0xc6, 0x81, 0xe4, 0x07, 0xbd, + 0x07, 0xdb, 0xd7, 0x02, 0x3a, 0x47, 0x87, 0x56, 0xbb, 0x73, 0xd4, 0xac, 0xd7, 0xf2, 0xf1, 0x1b, + 0x33, 0xa9, 0x35, 0xda, 0x15, 0x4b, 0xc6, 0x49, 0x98, 0x97, 0xc6, 0xdc, 0x81, 0xd5, 0xa0, 0x67, + 0x0c, 0xd5, 0x21, 0x19, 0x6d, 0x32, 0x61, 0xab, 0xbe, 0xff, 0x86, 0xb4, 0xda, 0x33, 0x4f, 0x54, + 0x87, 0x35, 0xae, 0xda, 0x3f, 0x6c, 0xd3, 0x1f, 0xdc, 0x63, 0x6a, 0x26, 0xdc, 0x0e, 0x9d, 0x51, + 0x15, 0x92, 0x6a, 0xab, 0x77, 0xb1, 0xc0, 0xaa, 0x4b, 0x53, 0xbb, 0xdf, 0xbb, 0x3d, 0x92, 0xde, + 0x03, 0x6d, 0x75, 0x46, 0xc8, 0x2f, 0xf3, 0x02, 0x1e, 0x44, 0xf1, 0x6b, 0xe4, 0xcc, 0xa3, 0x9e, + 0xba, 0x99, 0xbc, 0xa5, 0x4a, 0x1f, 0xc2, 0x06, 0x9e, 0x88, 0x81, 0xc3, 0xbd, 0x7e, 0x78, 0xa1, + 0x5a, 0x97, 0x72, 0xdb, 0xeb, 0x9b, 0x5f, 0xc4, 0x60, 0xa3, 0x46, 0x86, 0xa4, 0x2f, 0xd7, 0xea, + 0xcf, 0x00, 0xcd, 0x36, 0x77, 0xbd, 0xa1, 0x7d, 0x85, 0xcd, 0x70, 0x33, 0x8a, 0xa2, 0xb5, 0x77, + 0x1f, 0x46, 0x4d, 0xbd, 0x2f, 0x10, 0xd7, 0xc1, 0x23, 0x36, 0xa1, 0x22, 0x24, 0xf3, 0xbb, 0x77, + 0x0c, 0x5c, 0x51, 0x60, 0xbd, 0x79, 0x10, 0x37, 0x90, 0x91, 0x0d, 0x9b, 0x6e, 0x50, 0x97, 0xc7, + 0xa8, 0x8e, 0x18, 0xbf, 0x4f, 0xc4, 0xfc, 0xcc, 0x3f, 0xd0, 0x98, 0x7f, 0x8a, 0x01, 0x1c, 0x53, + 0xf7, 0x7f, 0x40, 0xd7, 0x53, 0xd8, 0xe4, 0x02, 0xfb, 0xc2, 0xb9, 0x4a, 0x5a, 0x4e, 0x19, 0xea, + 0xff, 0x5f, 0xcc, 0x51, 0xc8, 0xcd, 0x88, 0xab, 0x0e, 0xb1, 0x37, 0x42, 0x75, 0x88, 0x77, 0x99, + 0xab, 0xf9, 0xba, 0xe3, 0xde, 0xb6, 0xe4, 0x6c, 0x31, 0x77, 0x6a, 0x2b, 0x77, 0xf4, 0x0e, 0x24, + 0xc6, 0x3e, 0x63, 0x67, 0xe1, 0xc2, 0x0e, 0x04, 0x79, 0x92, 0x3d, 0xb8, 0xc6, 0xe7, 0xeb, 0x32, + 0x65, 0x1f, 0xc2, 0xfa, 0x98, 0x50, 0x3c, 0x14, 0xd3, 0x1b, 0xa6, 0x6a, 0xa9, 0xfc, 0x56, 0x00, + 0xb6, 0xb5, 0x17, 0x72, 0xe4, 0x95, 0x67, 0xa8, 0x9e, 0x05, 0x3d, 0x36, 0x1a, 0x79, 0x62, 0x44, + 0xa2, 0x49, 0xfa, 0xe1, 0x1d, 0x75, 0x58, 0x81, 0x63, 0x35, 0xf2, 0xb3, 0x37, 0xbb, 0xcb, 0x2a, + 0xf3, 0x0f, 0xab, 0x57, 0x08, 0x6c, 0x0d, 0x31, 0xfd, 0x1a, 0x12, 0x18, 0xff, 0x4a, 0x04, 0xb6, + 0x20, 0x3f, 0x3b, 0xbc, 0xc3, 0x35, 0x9e, 0xb8, 0xcf, 0x1a, 0x9f, 0xdd, 0x62, 0xc2, 0xb6, 0xf9, + 0xbe, 0xbc, 0xaf, 0x06, 0x53, 0xd2, 0x1d, 0x7a, 0xca, 0x52, 0x58, 0x53, 0x6b, 0x32, 0x17, 0xea, + 0xad, 0x50, 0x2d, 0xaf, 0xb6, 0x6a, 0x99, 0x46, 0x40, 0x27, 0x78, 0x01, 0xa6, 0xed, 0xac, 0xd2, + 0x6b, 0xa0, 0x7d, 0x0d, 0x92, 0xab, 0x37, 0xea, 0x32, 0xb2, 0x6d, 0xfe, 0xde, 0x80, 0xcd, 0x5a, + 0xd4, 0x76, 0x55, 0x75, 0xdf, 0xe5, 0x68, 0x5f, 0x3e, 0x7e, 0xb5, 0x52, 0x3f, 0xec, 0xee, 0x38, + 0x9e, 0xf4, 0x71, 0x60, 0xcf, 0xbb, 0xa2, 0x26, 0x64, 0x26, 0x74, 0x3e, 0x56, 0x4c, 0xc5, 0x2a, + 0xbd, 0x69, 0xdf, 0xda, 0x8b, 0xee, 0xe6, 0x10, 0xd6, 0x8e, 0xc7, 0xc2, 0x1b, 0x11, 0xf4, 0x0c, + 0x10, 0xe6, 0x8e, 0xaa, 0x91, 0xf5, 0x5e, 0x39, 0x03, 0xe2, 0xf5, 0x07, 0x22, 0x7c, 0x10, 0xe4, + 0x30, 0x3f, 0x3a, 0xb3, 0xa4, 0x7e, 0x5f, 0xa9, 0xd1, 0x13, 0x80, 0x0b, 0x8f, 0xba, 0xec, 0xc2, + 0x19, 0x12, 0x1a, 0x3e, 0xad, 0x92, 0x81, 0xe6, 0x80, 0x50, 0xf4, 0x4d, 0x58, 0xeb, 0x7a, 0xe2, + 0x9c, 0xf4, 0x54, 0x5f, 0xa5, 0xed, 0x50, 0x32, 0x7f, 0x01, 0xef, 0x54, 0x27, 0xbe, 0x4f, 0xa8, + 0xa8, 0xce, 0xfd, 0x49, 0xe0, 0xc8, 0x86, 0xec, 0xc2, 0xff, 0x06, 0x4d, 0xd1, 0xb3, 0x3b, 0x16, + 0xc1, 0x7c, 0x14, 0x3b, 0x33, 0xff, 0x77, 0x82, 0x9b, 0xdb, 0xb0, 0x1e, 0x2e, 0x37, 0xb9, 0x39, + 0x79, 0x94, 0x12, 0x3f, 0xac, 0x26, 0x10, 0xac, 0x3f, 0xc6, 0xfe, 0x7a, 0xb9, 0x65, 0x7c, 0x79, + 0xb9, 0x65, 0xfc, 0xf3, 0x72, 0xcb, 0xf8, 0xcd, 0xeb, 0xad, 0x95, 0x2f, 0x5f, 0x6f, 0xad, 0xfc, + 0xe3, 0xf5, 0xd6, 0x0a, 0x14, 0x7b, 0x6c, 0x74, 0x2b, 0xa3, 0x16, 0xb4, 0xa5, 0xdc, 0xf2, 0x99, + 0x60, 0x2d, 0xe3, 0xe7, 0x27, 0x7d, 0x4f, 0x0c, 0x26, 0xdd, 0x72, 0x8f, 0x8d, 0x76, 0x7a, 0x8c, + 0x8f, 0x18, 0xdf, 0xf1, 0xc9, 0x10, 0x4f, 0x89, 0xbf, 0x73, 0xbe, 0x1b, 0x7d, 0xf6, 0x06, 0xd8, + 0xa3, 0x7c, 0xe7, 0xb6, 0x9f, 0x45, 0x1f, 0x28, 0x51, 0x4b, 0xbf, 0x8d, 0xad, 0xb6, 0xaa, 0xed, + 0x2f, 0x62, 0x8f, 0x5b, 0x3a, 0x95, 0xaa, 0x4c, 0x45, 0x0d, 0x5d, 0x3e, 0x09, 0x41, 0x7f, 0x9b, + 0x99, 0x4f, 0xa5, 0xf9, 0x54, 0x99, 0x4f, 0xb5, 0xf9, 0x32, 0x56, 0xba, 0xcd, 0x7c, 0xfa, 0xb2, + 0x65, 0x1d, 0x12, 0x81, 0xe5, 0xb5, 0xe9, 0x3f, 0xb1, 0x6d, 0x0d, 0xdd, 0xdb, 0x93, 0xd8, 0xbd, + 0x3d, 0x05, 0xde, 0xdb, 0xd3, 0xe8, 0xee, 0x9a, 0xfa, 0xf9, 0xf4, 0xa3, 0xff, 0x06, 0x00, 0x00, + 0xff, 0xff, 0x34, 0xe3, 0xd1, 0x50, 0xf2, 0x12, 0x00, 0x00, } func (m *Validator) Marshal() (dAtA []byte, err error) { @@ -2453,6 +2472,20 @@ func (m *UndelegateClaimPlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ProofBlindingS) > 0 { + i -= len(m.ProofBlindingS) + copy(dAtA[i:], m.ProofBlindingS) + i = encodeVarintStake(dAtA, i, uint64(len(m.ProofBlindingS))) + i-- + dAtA[i] = 0x42 + } + if len(m.ProofBlindingR) > 0 { + i -= len(m.ProofBlindingR) + copy(dAtA[i:], m.ProofBlindingR) + i = encodeVarintStake(dAtA, i, uint64(len(m.ProofBlindingR))) + i-- + dAtA[i] = 0x3a + } if len(m.BalanceBlinding) > 0 { i -= len(m.BalanceBlinding) copy(dAtA[i:], m.BalanceBlinding) @@ -3047,6 +3080,14 @@ func (m *UndelegateClaimPlan) Size() (n int) { if l > 0 { n += 1 + l + sovStake(uint64(l)) } + l = len(m.ProofBlindingR) + if l > 0 { + n += 1 + l + sovStake(uint64(l)) + } + l = len(m.ProofBlindingS) + if l > 0 { + n += 1 + l + sovStake(uint64(l)) + } return n } @@ -5526,6 +5567,74 @@ func (m *UndelegateClaimPlan) Unmarshal(dAtA []byte) error { m.BalanceBlinding = []byte{} } iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingR", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStake + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthStake + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthStake + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingR = append(m.ProofBlindingR[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingR == nil { + m.ProofBlindingR = []byte{} + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingS", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStake + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthStake + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthStake + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingS = append(m.ProofBlindingS[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingS == nil { + m.ProofBlindingS = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipStake(dAtA[iNdEx:]) diff --git a/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go b/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go index 027751ff9..bb0efd7c7 100644 --- a/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go +++ b/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go @@ -184,20 +184,14 @@ func (m *EffectHash) GetInner() []byte { type TransactionBody struct { // A list of actions (state changes) performed by this transaction. Actions []*Action `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` - // The maximum height that this transaction can be included in the chain. - // - // If zero, there is no maximum. - ExpiryHeight uint64 `protobuf:"varint,2,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` - // The chain this transaction is intended for. Including this prevents - // replaying a transaction on one chain onto a different chain. - ChainId string `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + // Parameters determining if a transaction should be accepted by this chain. + TransactionParameters *TransactionParameters `protobuf:"bytes,2,opt,name=transaction_parameters,json=transactionParameters,proto3" json:"transaction_parameters,omitempty"` // The transaction fee. - Fee *v1alpha1.Fee `protobuf:"bytes,4,opt,name=fee,proto3" json:"fee,omitempty"` - // A list of clues for use with Fuzzy Message Detection. - FmdClues []*v1alpha1.Clue `protobuf:"bytes,5,rep,name=fmd_clues,json=fmdClues,proto3" json:"fmd_clues,omitempty"` - // Types that are valid to be assigned to XEncryptedMemo: - // *TransactionBody_EncryptedMemo - XEncryptedMemo isTransactionBody_XEncryptedMemo `protobuf_oneof:"_encrypted_memo"` + Fee *v1alpha1.Fee `protobuf:"bytes,3,opt,name=fee,proto3" json:"fee,omitempty"` + // Detection data for use with Fuzzy Message Detection + DetectionData *DetectionData `protobuf:"bytes,4,opt,name=detection_data,json=detectionData,proto3" json:"detection_data,omitempty"` + // Sub-message containing memo ciphertext if a memo was added to the transaction. + MemoData *MemoData `protobuf:"bytes,5,opt,name=memo_data,json=memoData,proto3" json:"memo_data,omitempty"` } func (m *TransactionBody) Reset() { *m = TransactionBody{} } @@ -233,72 +227,216 @@ func (m *TransactionBody) XXX_DiscardUnknown() { var xxx_messageInfo_TransactionBody proto.InternalMessageInfo -type isTransactionBody_XEncryptedMemo interface { - isTransactionBody_XEncryptedMemo() - MarshalTo([]byte) (int, error) - Size() int -} - -type TransactionBody_EncryptedMemo struct { - EncryptedMemo []byte `protobuf:"bytes,6,opt,name=encrypted_memo,json=encryptedMemo,proto3,oneof" json:"encrypted_memo,omitempty"` -} - -func (*TransactionBody_EncryptedMemo) isTransactionBody_XEncryptedMemo() {} - -func (m *TransactionBody) GetXEncryptedMemo() isTransactionBody_XEncryptedMemo { +func (m *TransactionBody) GetActions() []*Action { if m != nil { - return m.XEncryptedMemo + return m.Actions } return nil } -func (m *TransactionBody) GetActions() []*Action { +func (m *TransactionBody) GetTransactionParameters() *TransactionParameters { if m != nil { - return m.Actions + return m.TransactionParameters } return nil } -func (m *TransactionBody) GetExpiryHeight() uint64 { +func (m *TransactionBody) GetFee() *v1alpha1.Fee { if m != nil { - return m.ExpiryHeight + return m.Fee } - return 0 + return nil } -func (m *TransactionBody) GetChainId() string { +func (m *TransactionBody) GetDetectionData() *DetectionData { if m != nil { - return m.ChainId + return m.DetectionData } - return "" + return nil } -func (m *TransactionBody) GetFee() *v1alpha1.Fee { +func (m *TransactionBody) GetMemoData() *MemoData { if m != nil { - return m.Fee + return m.MemoData } return nil } -func (m *TransactionBody) GetFmdClues() []*v1alpha1.Clue { +// Represents the encrypted memo data. +type MemoData struct { + // Types that are valid to be assigned to XEncryptedMemo: + // *MemoData_EncryptedMemo + XEncryptedMemo isMemoData_XEncryptedMemo `protobuf_oneof:"_encrypted_memo"` +} + +func (m *MemoData) Reset() { *m = MemoData{} } +func (m *MemoData) String() string { return proto.CompactTextString(m) } +func (*MemoData) ProtoMessage() {} +func (*MemoData) Descriptor() ([]byte, []int) { + return fileDescriptor_cd20ea79758052c4, []int{4} +} +func (m *MemoData) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MemoData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MemoData.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 *MemoData) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemoData.Merge(m, src) +} +func (m *MemoData) XXX_Size() int { + return m.Size() +} +func (m *MemoData) XXX_DiscardUnknown() { + xxx_messageInfo_MemoData.DiscardUnknown(m) +} + +var xxx_messageInfo_MemoData proto.InternalMessageInfo + +type isMemoData_XEncryptedMemo interface { + isMemoData_XEncryptedMemo() + MarshalTo([]byte) (int, error) + Size() int +} + +type MemoData_EncryptedMemo struct { + EncryptedMemo []byte `protobuf:"bytes,1,opt,name=encrypted_memo,json=encryptedMemo,proto3,oneof" json:"encrypted_memo,omitempty"` +} + +func (*MemoData_EncryptedMemo) isMemoData_XEncryptedMemo() {} + +func (m *MemoData) GetXEncryptedMemo() isMemoData_XEncryptedMemo { if m != nil { - return m.FmdClues + return m.XEncryptedMemo } return nil } -func (m *TransactionBody) GetEncryptedMemo() []byte { - if x, ok := m.GetXEncryptedMemo().(*TransactionBody_EncryptedMemo); ok { +func (m *MemoData) GetEncryptedMemo() []byte { + if x, ok := m.GetXEncryptedMemo().(*MemoData_EncryptedMemo); ok { return x.EncryptedMemo } return nil } // XXX_OneofWrappers is for the internal use of the proto package. -func (*TransactionBody) XXX_OneofWrappers() []interface{} { +func (*MemoData) XXX_OneofWrappers() []interface{} { return []interface{}{ - (*TransactionBody_EncryptedMemo)(nil), + (*MemoData_EncryptedMemo)(nil), + } +} + +// The parameters determining if a transaction should be accepted by the chain. +type TransactionParameters struct { + // The maximum height that this transaction can be included in the chain. + // + // If zero, there is no maximum. + ExpiryHeight uint64 `protobuf:"varint,1,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` + // The chain this transaction is intended for. Including this prevents + // replaying a transaction on one chain onto a different chain. + ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` +} + +func (m *TransactionParameters) Reset() { *m = TransactionParameters{} } +func (m *TransactionParameters) String() string { return proto.CompactTextString(m) } +func (*TransactionParameters) ProtoMessage() {} +func (*TransactionParameters) Descriptor() ([]byte, []int) { + return fileDescriptor_cd20ea79758052c4, []int{5} +} +func (m *TransactionParameters) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TransactionParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TransactionParameters.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 *TransactionParameters) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionParameters.Merge(m, src) +} +func (m *TransactionParameters) XXX_Size() int { + return m.Size() +} +func (m *TransactionParameters) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionParameters.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionParameters proto.InternalMessageInfo + +func (m *TransactionParameters) GetExpiryHeight() uint64 { + if m != nil { + return m.ExpiryHeight + } + return 0 +} + +func (m *TransactionParameters) GetChainId() string { + if m != nil { + return m.ChainId + } + return "" +} + +// Detection data used by a detection server performing Fuzzy Message Detection. +type DetectionData struct { + // A list of clues for use with Fuzzy Message Detection. + FmdClues []*v1alpha1.Clue `protobuf:"bytes,4,rep,name=fmd_clues,json=fmdClues,proto3" json:"fmd_clues,omitempty"` +} + +func (m *DetectionData) Reset() { *m = DetectionData{} } +func (m *DetectionData) String() string { return proto.CompactTextString(m) } +func (*DetectionData) ProtoMessage() {} +func (*DetectionData) Descriptor() ([]byte, []int) { + return fileDescriptor_cd20ea79758052c4, []int{6} +} +func (m *DetectionData) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *DetectionData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_DetectionData.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 *DetectionData) XXX_Merge(src proto.Message) { + xxx_messageInfo_DetectionData.Merge(m, src) +} +func (m *DetectionData) XXX_Size() int { + return m.Size() +} +func (m *DetectionData) XXX_DiscardUnknown() { + xxx_messageInfo_DetectionData.DiscardUnknown(m) +} + +var xxx_messageInfo_DetectionData proto.InternalMessageInfo + +func (m *DetectionData) GetFmdClues() []*v1alpha1.Clue { + if m != nil { + return m.FmdClues } + return nil } // A state change performed by a transaction. @@ -333,7 +471,7 @@ func (m *Action) Reset() { *m = Action{} } func (m *Action) String() string { return proto.CompactTextString(m) } func (*Action) ProtoMessage() {} func (*Action) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{4} + return fileDescriptor_cd20ea79758052c4, []int{7} } func (m *Action) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -667,7 +805,7 @@ func (m *TransactionPerspective) Reset() { *m = TransactionPerspective{} func (m *TransactionPerspective) String() string { return proto.CompactTextString(m) } func (*TransactionPerspective) ProtoMessage() {} func (*TransactionPerspective) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{5} + return fileDescriptor_cd20ea79758052c4, []int{8} } func (m *TransactionPerspective) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -746,7 +884,7 @@ func (m *PayloadKey) Reset() { *m = PayloadKey{} } func (m *PayloadKey) String() string { return proto.CompactTextString(m) } func (*PayloadKey) ProtoMessage() {} func (*PayloadKey) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{6} + return fileDescriptor_cd20ea79758052c4, []int{9} } func (m *PayloadKey) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -791,7 +929,7 @@ func (m *PayloadKeyWithCommitment) Reset() { *m = PayloadKeyWithCommitme func (m *PayloadKeyWithCommitment) String() string { return proto.CompactTextString(m) } func (*PayloadKeyWithCommitment) ProtoMessage() {} func (*PayloadKeyWithCommitment) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{7} + return fileDescriptor_cd20ea79758052c4, []int{10} } func (m *PayloadKeyWithCommitment) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -843,7 +981,7 @@ func (m *NullifierWithNote) Reset() { *m = NullifierWithNote{} } func (m *NullifierWithNote) String() string { return proto.CompactTextString(m) } func (*NullifierWithNote) ProtoMessage() {} func (*NullifierWithNote) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{8} + return fileDescriptor_cd20ea79758052c4, []int{11} } func (m *NullifierWithNote) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -901,7 +1039,7 @@ func (m *TransactionView) Reset() { *m = TransactionView{} } func (m *TransactionView) String() string { return proto.CompactTextString(m) } func (*TransactionView) ProtoMessage() {} func (*TransactionView) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{9} + return fileDescriptor_cd20ea79758052c4, []int{12} } func (m *TransactionView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -954,17 +1092,14 @@ func (m *TransactionView) GetAnchor() *v1alpha1.MerkleRoot { type TransactionBodyView struct { // A list views into of actions (state changes) performed by this transaction. ActionViews []*ActionView `protobuf:"bytes,1,rep,name=action_views,json=actionViews,proto3" json:"action_views,omitempty"` - // The maximum height that this transaction can be included in the chain. - // - // If zero, there is no maximum. - ExpiryHeight uint64 `protobuf:"varint,2,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` - // The chain this transaction is intended for. Including this prevents - // replaying a transaction on one chain onto a different chain. - ChainId string `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + // Transaction parameters. + TransactionParameters *TransactionParameters `protobuf:"bytes,2,opt,name=transaction_parameters,json=transactionParameters,proto3" json:"transaction_parameters,omitempty"` // The transaction fee. - Fee *v1alpha1.Fee `protobuf:"bytes,4,opt,name=fee,proto3" json:"fee,omitempty"` - // A list of clues for use with Fuzzy Message Detection. - FmdClues []*v1alpha1.Clue `protobuf:"bytes,5,rep,name=fmd_clues,json=fmdClues,proto3" json:"fmd_clues,omitempty"` + Fee *v1alpha1.Fee `protobuf:"bytes,3,opt,name=fee,proto3" json:"fee,omitempty"` + // Types that are valid to be assigned to XDetectionData: + // + // *TransactionBodyView_DetectionData + XDetectionData isTransactionBodyView_XDetectionData `protobuf_oneof:"_detection_data"` // Types that are valid to be assigned to XMemoView: // // *TransactionBodyView_MemoView @@ -975,7 +1110,7 @@ func (m *TransactionBodyView) Reset() { *m = TransactionBodyView{} } func (m *TransactionBodyView) String() string { return proto.CompactTextString(m) } func (*TransactionBodyView) ProtoMessage() {} func (*TransactionBodyView) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{10} + return fileDescriptor_cd20ea79758052c4, []int{13} } func (m *TransactionBodyView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1004,18 +1139,33 @@ func (m *TransactionBodyView) XXX_DiscardUnknown() { var xxx_messageInfo_TransactionBodyView proto.InternalMessageInfo +type isTransactionBodyView_XDetectionData interface { + isTransactionBodyView_XDetectionData() + MarshalTo([]byte) (int, error) + Size() int +} type isTransactionBodyView_XMemoView interface { isTransactionBodyView_XMemoView() MarshalTo([]byte) (int, error) Size() int } +type TransactionBodyView_DetectionData struct { + DetectionData *DetectionData `protobuf:"bytes,4,opt,name=detection_data,json=detectionData,proto3,oneof" json:"detection_data,omitempty"` +} type TransactionBodyView_MemoView struct { - MemoView *MemoView `protobuf:"bytes,6,opt,name=memo_view,json=memoView,proto3,oneof" json:"memo_view,omitempty"` + MemoView *MemoView `protobuf:"bytes,5,opt,name=memo_view,json=memoView,proto3,oneof" json:"memo_view,omitempty"` } -func (*TransactionBodyView_MemoView) isTransactionBodyView_XMemoView() {} +func (*TransactionBodyView_DetectionData) isTransactionBodyView_XDetectionData() {} +func (*TransactionBodyView_MemoView) isTransactionBodyView_XMemoView() {} +func (m *TransactionBodyView) GetXDetectionData() isTransactionBodyView_XDetectionData { + if m != nil { + return m.XDetectionData + } + return nil +} func (m *TransactionBodyView) GetXMemoView() isTransactionBodyView_XMemoView { if m != nil { return m.XMemoView @@ -1030,18 +1180,11 @@ func (m *TransactionBodyView) GetActionViews() []*ActionView { return nil } -func (m *TransactionBodyView) GetExpiryHeight() uint64 { - if m != nil { - return m.ExpiryHeight - } - return 0 -} - -func (m *TransactionBodyView) GetChainId() string { +func (m *TransactionBodyView) GetTransactionParameters() *TransactionParameters { if m != nil { - return m.ChainId + return m.TransactionParameters } - return "" + return nil } func (m *TransactionBodyView) GetFee() *v1alpha1.Fee { @@ -1051,9 +1194,9 @@ func (m *TransactionBodyView) GetFee() *v1alpha1.Fee { return nil } -func (m *TransactionBodyView) GetFmdClues() []*v1alpha1.Clue { - if m != nil { - return m.FmdClues +func (m *TransactionBodyView) GetDetectionData() *DetectionData { + if x, ok := m.GetXDetectionData().(*TransactionBodyView_DetectionData); ok { + return x.DetectionData } return nil } @@ -1068,6 +1211,7 @@ func (m *TransactionBodyView) GetMemoView() *MemoView { // XXX_OneofWrappers is for the internal use of the proto package. func (*TransactionBodyView) XXX_OneofWrappers() []interface{} { return []interface{}{ + (*TransactionBodyView_DetectionData)(nil), (*TransactionBodyView_MemoView)(nil), } } @@ -1105,7 +1249,7 @@ func (m *ActionView) Reset() { *m = ActionView{} } func (m *ActionView) String() string { return proto.CompactTextString(m) } func (*ActionView) ProtoMessage() {} func (*ActionView) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{11} + return fileDescriptor_cd20ea79758052c4, []int{14} } func (m *ActionView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1431,7 +1575,7 @@ func (m *SpendView) Reset() { *m = SpendView{} } func (m *SpendView) String() string { return proto.CompactTextString(m) } func (*SpendView) ProtoMessage() {} func (*SpendView) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{12} + return fileDescriptor_cd20ea79758052c4, []int{15} } func (m *SpendView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1514,7 +1658,7 @@ func (m *SpendView_Visible) Reset() { *m = SpendView_Visible{} } func (m *SpendView_Visible) String() string { return proto.CompactTextString(m) } func (*SpendView_Visible) ProtoMessage() {} func (*SpendView_Visible) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{12, 0} + return fileDescriptor_cd20ea79758052c4, []int{15, 0} } func (m *SpendView_Visible) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1565,7 +1709,7 @@ func (m *SpendView_Opaque) Reset() { *m = SpendView_Opaque{} } func (m *SpendView_Opaque) String() string { return proto.CompactTextString(m) } func (*SpendView_Opaque) ProtoMessage() {} func (*SpendView_Opaque) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{12, 1} + return fileDescriptor_cd20ea79758052c4, []int{15, 1} } func (m *SpendView_Opaque) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1613,7 +1757,7 @@ func (m *DelegatorVoteView) Reset() { *m = DelegatorVoteView{} } func (m *DelegatorVoteView) String() string { return proto.CompactTextString(m) } func (*DelegatorVoteView) ProtoMessage() {} func (*DelegatorVoteView) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{13} + return fileDescriptor_cd20ea79758052c4, []int{16} } func (m *DelegatorVoteView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1696,7 +1840,7 @@ func (m *DelegatorVoteView_Visible) Reset() { *m = DelegatorVoteView_Vis func (m *DelegatorVoteView_Visible) String() string { return proto.CompactTextString(m) } func (*DelegatorVoteView_Visible) ProtoMessage() {} func (*DelegatorVoteView_Visible) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{13, 0} + return fileDescriptor_cd20ea79758052c4, []int{16, 0} } func (m *DelegatorVoteView_Visible) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1747,7 +1891,7 @@ func (m *DelegatorVoteView_Opaque) Reset() { *m = DelegatorVoteView_Opaq func (m *DelegatorVoteView_Opaque) String() string { return proto.CompactTextString(m) } func (*DelegatorVoteView_Opaque) ProtoMessage() {} func (*DelegatorVoteView_Opaque) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{13, 1} + return fileDescriptor_cd20ea79758052c4, []int{16, 1} } func (m *DelegatorVoteView_Opaque) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1795,7 +1939,7 @@ func (m *OutputView) Reset() { *m = OutputView{} } func (m *OutputView) String() string { return proto.CompactTextString(m) } func (*OutputView) ProtoMessage() {} func (*OutputView) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{14} + return fileDescriptor_cd20ea79758052c4, []int{17} } func (m *OutputView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1879,7 +2023,7 @@ func (m *OutputView_Visible) Reset() { *m = OutputView_Visible{} } func (m *OutputView_Visible) String() string { return proto.CompactTextString(m) } func (*OutputView_Visible) ProtoMessage() {} func (*OutputView_Visible) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{14, 0} + return fileDescriptor_cd20ea79758052c4, []int{17, 0} } func (m *OutputView_Visible) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1937,7 +2081,7 @@ func (m *OutputView_Opaque) Reset() { *m = OutputView_Opaque{} } func (m *OutputView_Opaque) String() string { return proto.CompactTextString(m) } func (*OutputView_Opaque) ProtoMessage() {} func (*OutputView_Opaque) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{14, 1} + return fileDescriptor_cd20ea79758052c4, []int{17, 1} } func (m *OutputView_Opaque) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1987,7 +2131,7 @@ func (m *Spend) Reset() { *m = Spend{} } func (m *Spend) String() string { return proto.CompactTextString(m) } func (*Spend) ProtoMessage() {} func (*Spend) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{15} + return fileDescriptor_cd20ea79758052c4, []int{18} } func (m *Spend) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2053,7 +2197,7 @@ func (m *SpendBody) Reset() { *m = SpendBody{} } func (m *SpendBody) String() string { return proto.CompactTextString(m) } func (*SpendBody) ProtoMessage() {} func (*SpendBody) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{16} + return fileDescriptor_cd20ea79758052c4, []int{19} } func (m *SpendBody) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2115,7 +2259,7 @@ func (m *Output) Reset() { *m = Output{} } func (m *Output) String() string { return proto.CompactTextString(m) } func (*Output) ProtoMessage() {} func (*Output) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{17} + return fileDescriptor_cd20ea79758052c4, []int{20} } func (m *Output) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2177,7 +2321,7 @@ func (m *OutputBody) Reset() { *m = OutputBody{} } func (m *OutputBody) String() string { return proto.CompactTextString(m) } func (*OutputBody) ProtoMessage() {} func (*OutputBody) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{18} + return fileDescriptor_cd20ea79758052c4, []int{21} } func (m *OutputBody) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2250,7 +2394,7 @@ func (m *AuthorizationData) Reset() { *m = AuthorizationData{} } func (m *AuthorizationData) String() string { return proto.CompactTextString(m) } func (*AuthorizationData) ProtoMessage() {} func (*AuthorizationData) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{19} + return fileDescriptor_cd20ea79758052c4, []int{22} } func (m *AuthorizationData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2313,7 +2457,7 @@ func (m *WitnessData) Reset() { *m = WitnessData{} } func (m *WitnessData) String() string { return proto.CompactTextString(m) } func (*WitnessData) ProtoMessage() {} func (*WitnessData) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{20} + return fileDescriptor_cd20ea79758052c4, []int{23} } func (m *WitnessData) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2370,7 +2514,7 @@ func (m *TransactionPlan) Reset() { *m = TransactionPlan{} } func (m *TransactionPlan) String() string { return proto.CompactTextString(m) } func (*TransactionPlan) ProtoMessage() {} func (*TransactionPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{21} + return fileDescriptor_cd20ea79758052c4, []int{24} } func (m *TransactionPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2477,7 +2621,7 @@ func (m *ActionPlan) Reset() { *m = ActionPlan{} } func (m *ActionPlan) String() string { return proto.CompactTextString(m) } func (*ActionPlan) ProtoMessage() {} func (*ActionPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{22} + return fileDescriptor_cd20ea79758052c4, []int{25} } func (m *ActionPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2805,7 +2949,7 @@ func (m *CluePlan) Reset() { *m = CluePlan{} } func (m *CluePlan) String() string { return proto.CompactTextString(m) } func (*CluePlan) ProtoMessage() {} func (*CluePlan) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{23} + return fileDescriptor_cd20ea79758052c4, []int{26} } func (m *CluePlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2867,7 +3011,7 @@ func (m *MemoPlan) Reset() { *m = MemoPlan{} } func (m *MemoPlan) String() string { return proto.CompactTextString(m) } func (*MemoPlan) ProtoMessage() {} func (*MemoPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{24} + return fileDescriptor_cd20ea79758052c4, []int{27} } func (m *MemoPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2918,7 +3062,7 @@ func (m *MemoCiphertext) Reset() { *m = MemoCiphertext{} } func (m *MemoCiphertext) String() string { return proto.CompactTextString(m) } func (*MemoCiphertext) ProtoMessage() {} func (*MemoCiphertext) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{25} + return fileDescriptor_cd20ea79758052c4, []int{28} } func (m *MemoCiphertext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2963,7 +3107,7 @@ func (m *MemoPlaintext) Reset() { *m = MemoPlaintext{} } func (m *MemoPlaintext) String() string { return proto.CompactTextString(m) } func (*MemoPlaintext) ProtoMessage() {} func (*MemoPlaintext) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{26} + return fileDescriptor_cd20ea79758052c4, []int{29} } func (m *MemoPlaintext) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3018,7 +3162,7 @@ func (m *MemoView) Reset() { *m = MemoView{} } func (m *MemoView) String() string { return proto.CompactTextString(m) } func (*MemoView) ProtoMessage() {} func (*MemoView) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{27} + return fileDescriptor_cd20ea79758052c4, []int{30} } func (m *MemoView) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3101,7 +3245,7 @@ func (m *MemoView_Visible) Reset() { *m = MemoView_Visible{} } func (m *MemoView_Visible) String() string { return proto.CompactTextString(m) } func (*MemoView_Visible) ProtoMessage() {} func (*MemoView_Visible) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{27, 0} + return fileDescriptor_cd20ea79758052c4, []int{30, 0} } func (m *MemoView_Visible) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3152,7 +3296,7 @@ func (m *MemoView_Opaque) Reset() { *m = MemoView_Opaque{} } func (m *MemoView_Opaque) String() string { return proto.CompactTextString(m) } func (*MemoView_Opaque) ProtoMessage() {} func (*MemoView_Opaque) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{27, 1} + return fileDescriptor_cd20ea79758052c4, []int{30, 1} } func (m *MemoView_Opaque) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3197,13 +3341,17 @@ type SpendPlan struct { Randomizer []byte `protobuf:"bytes,3,opt,name=randomizer,proto3" json:"randomizer,omitempty"` // The blinding factor to use for the value commitment. ValueBlinding []byte `protobuf:"bytes,4,opt,name=value_blinding,json=valueBlinding,proto3" json:"value_blinding,omitempty"` + // The first blinding factor to use for the ZK spend proof. + ProofBlindingR []byte `protobuf:"bytes,5,opt,name=proof_blinding_r,json=proofBlindingR,proto3" json:"proof_blinding_r,omitempty"` + // The second blinding factor to use for the ZK spend proof. + ProofBlindingS []byte `protobuf:"bytes,6,opt,name=proof_blinding_s,json=proofBlindingS,proto3" json:"proof_blinding_s,omitempty"` } func (m *SpendPlan) Reset() { *m = SpendPlan{} } func (m *SpendPlan) String() string { return proto.CompactTextString(m) } func (*SpendPlan) ProtoMessage() {} func (*SpendPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{28} + return fileDescriptor_cd20ea79758052c4, []int{31} } func (m *SpendPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3260,6 +3408,20 @@ func (m *SpendPlan) GetValueBlinding() []byte { return nil } +func (m *SpendPlan) GetProofBlindingR() []byte { + if m != nil { + return m.ProofBlindingR + } + return nil +} + +func (m *SpendPlan) GetProofBlindingS() []byte { + if m != nil { + return m.ProofBlindingS + } + return nil +} + type OutputPlan struct { // The value to send to this output. Value *v1alpha1.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` @@ -3269,13 +3431,17 @@ type OutputPlan struct { Rseed []byte `protobuf:"bytes,3,opt,name=rseed,proto3" json:"rseed,omitempty"` // The blinding factor to use for the value commitment. ValueBlinding []byte `protobuf:"bytes,4,opt,name=value_blinding,json=valueBlinding,proto3" json:"value_blinding,omitempty"` + // The first blinding factor to use for the ZK output proof. + ProofBlindingR []byte `protobuf:"bytes,5,opt,name=proof_blinding_r,json=proofBlindingR,proto3" json:"proof_blinding_r,omitempty"` + // The second blinding factor to use for the ZK output proof. + ProofBlindingS []byte `protobuf:"bytes,6,opt,name=proof_blinding_s,json=proofBlindingS,proto3" json:"proof_blinding_s,omitempty"` } func (m *OutputPlan) Reset() { *m = OutputPlan{} } func (m *OutputPlan) String() string { return proto.CompactTextString(m) } func (*OutputPlan) ProtoMessage() {} func (*OutputPlan) Descriptor() ([]byte, []int) { - return fileDescriptor_cd20ea79758052c4, []int{29} + return fileDescriptor_cd20ea79758052c4, []int{32} } func (m *OutputPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3332,11 +3498,28 @@ func (m *OutputPlan) GetValueBlinding() []byte { return nil } +func (m *OutputPlan) GetProofBlindingR() []byte { + if m != nil { + return m.ProofBlindingR + } + return nil +} + +func (m *OutputPlan) GetProofBlindingS() []byte { + if m != nil { + return m.ProofBlindingS + } + return nil +} + func init() { proto.RegisterType((*Transaction)(nil), "penumbra.core.transaction.v1alpha1.Transaction") proto.RegisterType((*Id)(nil), "penumbra.core.transaction.v1alpha1.Id") proto.RegisterType((*EffectHash)(nil), "penumbra.core.transaction.v1alpha1.EffectHash") proto.RegisterType((*TransactionBody)(nil), "penumbra.core.transaction.v1alpha1.TransactionBody") + proto.RegisterType((*MemoData)(nil), "penumbra.core.transaction.v1alpha1.MemoData") + proto.RegisterType((*TransactionParameters)(nil), "penumbra.core.transaction.v1alpha1.TransactionParameters") + proto.RegisterType((*DetectionData)(nil), "penumbra.core.transaction.v1alpha1.DetectionData") proto.RegisterType((*Action)(nil), "penumbra.core.transaction.v1alpha1.Action") proto.RegisterType((*TransactionPerspective)(nil), "penumbra.core.transaction.v1alpha1.TransactionPerspective") proto.RegisterType((*PayloadKey)(nil), "penumbra.core.transaction.v1alpha1.PayloadKey") @@ -3378,173 +3561,182 @@ func init() { } var fileDescriptor_cd20ea79758052c4 = []byte{ - // 2656 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0x4f, 0x6f, 0x1c, 0x49, - 0x15, 0x9f, 0x9e, 0xb1, 0xc7, 0xf6, 0x9b, 0xf1, 0xbf, 0x8a, 0x93, 0x1d, 0x2c, 0xe4, 0x8d, 0x7a, - 0x93, 0xe0, 0x24, 0xbb, 0xe3, 0xc4, 0x76, 0x36, 0x92, 0x77, 0x81, 0xf5, 0xd8, 0x9b, 0x1d, 0x27, - 0xeb, 0x78, 0xb6, 0x13, 0x1c, 0x25, 0x98, 0x6d, 0x6a, 0xba, 0xcb, 0x9e, 0x96, 0x7b, 0xba, 0x9b, - 0xee, 0x9e, 0x71, 0xbc, 0x5f, 0x00, 0xb8, 0xa0, 0x45, 0xe2, 0x80, 0xb8, 0x20, 0x71, 0x41, 0xe2, - 0xc0, 0x07, 0x00, 0x71, 0x66, 0x05, 0x12, 0x8a, 0xc4, 0x05, 0x69, 0x85, 0x04, 0xc9, 0x89, 0x3f, - 0x17, 0xbe, 0x00, 0x42, 0x55, 0x5d, 0xfd, 0x77, 0xda, 0x99, 0x1e, 0x3b, 0x61, 0x95, 0x4d, 0x4e, - 0xae, 0x7a, 0xf3, 0xde, 0xaf, 0xaa, 0xde, 0x7b, 0x55, 0xf5, 0xde, 0xab, 0x36, 0x2c, 0x5b, 0xc4, - 0xe8, 0xb4, 0x9b, 0x36, 0x5e, 0x50, 0x4c, 0x9b, 0x2c, 0xb8, 0x36, 0x36, 0x1c, 0xac, 0xb8, 0x9a, - 0x69, 0x2c, 0x74, 0xaf, 0x62, 0xdd, 0x6a, 0xe1, 0xab, 0x51, 0x62, 0xd5, 0xb2, 0x4d, 0xd7, 0x44, - 0xa2, 0x2f, 0x55, 0xa5, 0x52, 0xd5, 0x28, 0x83, 0x2f, 0x35, 0x7b, 0x29, 0x8e, 0xac, 0xd8, 0x87, - 0x96, 0x6b, 0x86, 0xa0, 0x5e, 0xdf, 0xc3, 0x9b, 0x9d, 0x8f, 0xf3, 0x3a, 0x2e, 0xde, 0x27, 0x21, - 0x2b, 0xeb, 0x72, 0xce, 0x73, 0x71, 0x4e, 0xad, 0xa9, 0x84, 0x7c, 0x5a, 0x53, 0x49, 0xe7, 0x52, - 0xc9, 0xc3, 0x90, 0x4b, 0x25, 0x0f, 0x39, 0xd7, 0x62, 0x9c, 0x6b, 0xcf, 0xec, 0x12, 0xdb, 0xc0, - 0x86, 0x12, 0x19, 0x3a, 0xa4, 0x79, 0x32, 0xe2, 0x6f, 0x04, 0x28, 0xdd, 0x0d, 0x97, 0x8b, 0x3e, - 0x80, 0xa1, 0xa6, 0xa9, 0x1e, 0x56, 0x84, 0xb3, 0xc2, 0x7c, 0x69, 0x71, 0xa9, 0xda, 0x5f, 0x31, - 0xd5, 0x88, 0x78, 0xcd, 0x54, 0x0f, 0x25, 0x06, 0x80, 0x5e, 0x87, 0x52, 0x53, 0x33, 0x54, 0xcd, - 0xd8, 0x93, 0x1d, 0x6d, 0xaf, 0x92, 0x3f, 0x2b, 0xcc, 0x97, 0x25, 0xe0, 0xa4, 0x3b, 0xda, 0x1e, - 0x5a, 0x85, 0x22, 0x36, 0x94, 0x96, 0x69, 0x57, 0x0a, 0x6c, 0xac, 0x8b, 0x89, 0xb1, 0xb8, 0x42, - 0x83, 0x61, 0x36, 0x89, 0xbd, 0xaf, 0x13, 0xc9, 0x34, 0x5d, 0x89, 0x0b, 0x8a, 0x15, 0xc8, 0x6f, - 0xa8, 0x08, 0xc1, 0x50, 0x0b, 0x3b, 0x2d, 0x36, 0xe5, 0xb2, 0xc4, 0xda, 0xa2, 0x08, 0xf0, 0xfe, - 0xee, 0x2e, 0x51, 0xdc, 0x3a, 0x76, 0x5a, 0x68, 0x06, 0x86, 0x35, 0xc3, 0x20, 0x36, 0x67, 0xf1, - 0x3a, 0xe2, 0x9f, 0xf2, 0x30, 0x99, 0x98, 0x3b, 0x5a, 0x87, 0x11, 0xaf, 0xe7, 0x54, 0x84, 0xb3, - 0x85, 0xf9, 0xd2, 0xe2, 0xa5, 0x2c, 0x1a, 0x58, 0x65, 0x7d, 0xc9, 0x17, 0x45, 0x6f, 0xc0, 0x38, - 0x79, 0x68, 0x69, 0xf6, 0xa1, 0xdc, 0x22, 0xda, 0x5e, 0xcb, 0x65, 0xab, 0x1f, 0x92, 0xca, 0x1e, - 0xb1, 0xce, 0x68, 0xe8, 0x2b, 0x30, 0xaa, 0xb4, 0xb0, 0x66, 0xc8, 0x9a, 0xca, 0x34, 0x30, 0x26, - 0x8d, 0xb0, 0xfe, 0x86, 0x8a, 0x96, 0xa1, 0xb0, 0x4b, 0x48, 0x65, 0x88, 0xe9, 0x45, 0xec, 0xa3, - 0x97, 0x1b, 0x84, 0x48, 0x94, 0x1d, 0xbd, 0x07, 0x63, 0xbb, 0x6d, 0x55, 0x56, 0xf4, 0x0e, 0x71, - 0x2a, 0xc3, 0x6c, 0xf6, 0x6f, 0xf4, 0x91, 0x5d, 0xd3, 0x3b, 0x44, 0x1a, 0xdd, 0x6d, 0xab, 0xb4, - 0xe1, 0xa0, 0x4b, 0x30, 0x41, 0x0c, 0xc6, 0x43, 0x54, 0xb9, 0x4d, 0xda, 0x66, 0xa5, 0x48, 0x15, - 0x56, 0xcf, 0x49, 0xe3, 0x01, 0x7d, 0x93, 0xb4, 0xcd, 0x1f, 0x08, 0x42, 0x6d, 0x1a, 0x26, 0xe5, - 0x38, 0xb3, 0xf8, 0xe7, 0x09, 0x28, 0x7a, 0xaa, 0x40, 0xab, 0x30, 0xec, 0x58, 0xc4, 0x50, 0xb9, - 0x1f, 0x5d, 0xcc, 0xa2, 0xc5, 0x3b, 0x54, 0xa0, 0x9e, 0x93, 0x3c, 0x49, 0xb4, 0x0e, 0x45, 0xb3, - 0xe3, 0x5a, 0x1d, 0x4f, 0x7b, 0x19, 0x2d, 0xb1, 0xc5, 0x24, 0xea, 0x39, 0x89, 0xcb, 0xa2, 0xb7, - 0x61, 0xc8, 0x39, 0xc0, 0x16, 0xf7, 0xb1, 0xb3, 0x09, 0x0c, 0xba, 0x77, 0xc2, 0xf1, 0x0f, 0xb0, - 0x55, 0xcf, 0x49, 0x8c, 0x1f, 0xdd, 0x00, 0xa0, 0x7f, 0x65, 0x45, 0xc7, 0x5a, 0x9b, 0x5b, 0xe2, - 0x7c, 0x3f, 0xe9, 0x35, 0xca, 0x5c, 0xcf, 0x49, 0x63, 0x8e, 0xdf, 0x41, 0xbb, 0x30, 0xd3, 0xc5, - 0xba, 0xa6, 0x62, 0xd7, 0xb4, 0x65, 0x95, 0xec, 0x6a, 0x86, 0x46, 0x67, 0x5c, 0x99, 0x62, 0x88, - 0x57, 0x13, 0x88, 0xde, 0xc9, 0x10, 0x60, 0x6e, 0xfb, 0x92, 0xeb, 0x81, 0x60, 0x3d, 0x27, 0x9d, - 0xea, 0xf6, 0x92, 0xe9, 0x7c, 0xb5, 0xa6, 0x22, 0x7b, 0xfa, 0xa8, 0x4c, 0xa7, 0xce, 0x97, 0x9e, - 0x27, 0x01, 0xf6, 0x46, 0x53, 0xf1, 0x6c, 0x45, 0xe7, 0xab, 0xf9, 0x1d, 0xb4, 0x03, 0x93, 0x96, - 0x6d, 0x5a, 0xa6, 0x83, 0x75, 0xd9, 0xe9, 0x34, 0xdb, 0x9a, 0x5b, 0x41, 0xa9, 0x53, 0x8d, 0x9c, - 0x24, 0x01, 0x66, 0x83, 0x4b, 0xde, 0x61, 0x82, 0xf5, 0x9c, 0x34, 0x61, 0xc5, 0x28, 0xa8, 0x09, - 0xd3, 0x01, 0xfa, 0x81, 0xe6, 0xb6, 0x54, 0x1b, 0x1f, 0x54, 0x4e, 0xa5, 0x1e, 0x35, 0x4f, 0xc3, - 0xbf, 0xc7, 0x45, 0xeb, 0x39, 0x69, 0xca, 0x4a, 0xd0, 0xd0, 0x7d, 0x98, 0x08, 0x35, 0xde, 0x35, - 0x5d, 0x52, 0x99, 0x61, 0x03, 0x5c, 0xc9, 0x30, 0x40, 0xa0, 0xf0, 0x6d, 0xd3, 0x25, 0xd4, 0xed, - 0xbb, 0x51, 0x02, 0x85, 0x56, 0x89, 0x4e, 0xf6, 0x42, 0xe8, 0xd3, 0x99, 0xa1, 0xd7, 0x7d, 0x41, - 0x1f, 0x5a, 0x8d, 0x12, 0x90, 0x09, 0x67, 0x02, 0xcd, 0xa8, 0xc4, 0x32, 0x1d, 0xcd, 0xe5, 0xbe, - 0x77, 0x86, 0x0d, 0x71, 0x7d, 0x00, 0xf5, 0xac, 0x7b, 0xf2, 0xbe, 0x37, 0xce, 0x58, 0x29, 0x74, - 0xb4, 0x05, 0xe3, 0xac, 0xa7, 0x99, 0x86, 0x6c, 0x5a, 0xc4, 0xa8, 0xcc, 0xb1, 0x71, 0xe6, 0x9f, - 0xe6, 0xe3, 0x0d, 0x2e, 0xb0, 0x65, 0x11, 0xea, 0x36, 0x65, 0x2b, 0xd2, 0x47, 0x12, 0x4c, 0x04, - 0x80, 0x8a, 0x6e, 0x3a, 0xa4, 0xf2, 0x7a, 0xea, 0xde, 0x4f, 0x45, 0x5c, 0xa3, 0x02, 0x54, 0x2b, - 0x56, 0x94, 0x80, 0xbe, 0x0d, 0xd3, 0x01, 0x66, 0xe0, 0x2f, 0x67, 0x19, 0xec, 0x9b, 0x59, 0x60, - 0x63, 0x8e, 0x92, 0xa0, 0x21, 0x02, 0xa7, 0x03, 0x70, 0x9b, 0x1c, 0x60, 0x5b, 0xe5, 0x1a, 0x17, - 0xd9, 0x00, 0x0b, 0x59, 0x06, 0x90, 0x98, 0x9c, 0xaf, 0xe9, 0x53, 0x56, 0x2f, 0x19, 0xad, 0xc3, - 0x28, 0x37, 0x35, 0xa9, 0xcc, 0x33, 0xe4, 0x0b, 0x4f, 0xdf, 0xf5, 0xdc, 0x53, 0xa8, 0x3a, 0x02, - 0x49, 0x74, 0x13, 0xa0, 0x63, 0x04, 0x38, 0x17, 0x53, 0x6d, 0x95, 0xc0, 0xf9, 0x56, 0xc0, 0x5f, - 0xcf, 0x49, 0x11, 0x69, 0xf4, 0x00, 0xa6, 0xc2, 0x1e, 0x5f, 0xf3, 0x25, 0x86, 0xf8, 0x56, 0x56, - 0x44, 0x7f, 0xc5, 0x93, 0x9d, 0x38, 0x09, 0xdd, 0x84, 0x31, 0x15, 0x9b, 0xb2, 0x77, 0xf8, 0x2f, - 0x32, 0xd0, 0xcb, 0x59, 0x76, 0x07, 0x36, 0xfd, 0xe3, 0x7f, 0x54, 0xe5, 0x6d, 0xb4, 0x09, 0x40, - 0xb1, 0xf8, 0x2d, 0xb0, 0x94, 0x6a, 0xf6, 0x23, 0xc0, 0x82, 0x7b, 0x80, 0xce, 0xc6, 0xeb, 0xa0, - 0x06, 0x94, 0x28, 0x1c, 0xdf, 0x5d, 0x95, 0xe5, 0xd4, 0x15, 0x1f, 0x81, 0xc7, 0xb7, 0x0e, 0x55, - 0xa4, 0x1a, 0xf4, 0xd0, 0x7d, 0x98, 0xd2, 0x14, 0x67, 0xf1, 0x4a, 0xe0, 0x9b, 0x58, 0xaf, 0x7c, - 0x26, 0xa4, 0x2e, 0x3a, 0x7e, 0xf6, 0x52, 0xa1, 0x7b, 0x81, 0x0c, 0xd5, 0xa3, 0x16, 0x27, 0xd5, - 0x46, 0xa1, 0xe8, 0x9d, 0xe5, 0xe2, 0x0f, 0x87, 0xe0, 0x4c, 0x24, 0x4c, 0x69, 0x10, 0xdb, 0xb1, - 0x88, 0xe2, 0x6a, 0x5d, 0x82, 0x64, 0x28, 0x5b, 0xf8, 0x50, 0x37, 0xb1, 0x2a, 0xef, 0x93, 0x43, - 0x3f, 0x64, 0x79, 0x37, 0xcb, 0x45, 0xd9, 0xf0, 0xe4, 0x6e, 0x91, 0x43, 0x3a, 0xe8, 0x9a, 0xd9, - 0x6e, 0x6b, 0x6e, 0x9b, 0x18, 0xae, 0x54, 0xb2, 0x82, 0x5f, 0x1c, 0xf4, 0x5d, 0x98, 0x62, 0x96, - 0x94, 0x8d, 0x8e, 0xae, 0x6b, 0xbb, 0x1a, 0xb1, 0x9d, 0x4a, 0x9e, 0x0d, 0x72, 0x2d, 0xcb, 0x20, - 0xb7, 0x7d, 0x29, 0x3a, 0xc6, 0x6d, 0xd3, 0x25, 0xd2, 0x24, 0x83, 0x0b, 0xe8, 0x0e, 0xba, 0x01, - 0x65, 0xac, 0x76, 0x35, 0x85, 0xc8, 0x86, 0xe9, 0x12, 0xa7, 0x52, 0xc8, 0x14, 0xb7, 0x30, 0xac, - 0x92, 0x27, 0x48, 0xdb, 0x0e, 0x3d, 0xce, 0xb0, 0xaa, 0xda, 0xc4, 0x71, 0xe4, 0xae, 0x46, 0x0e, - 0x9c, 0xca, 0x50, 0x6a, 0xf8, 0x96, 0x04, 0x5a, 0xf5, 0x64, 0xb6, 0x35, 0x72, 0x20, 0x95, 0x71, - 0xd8, 0x71, 0x68, 0xf8, 0xa1, 0x12, 0xc3, 0x6c, 0xfb, 0xa1, 0xd4, 0x9b, 0x7d, 0x90, 0xd6, 0x29, - 0xf3, 0x26, 0x71, 0xb1, 0x8a, 0x5d, 0x2c, 0x71, 0x59, 0xb4, 0x09, 0x13, 0x11, 0xcd, 0xd0, 0x50, - 0xaf, 0x98, 0x7a, 0x04, 0xa4, 0xaa, 0x6f, 0x43, 0x95, 0xc6, 0x23, 0x3f, 0x6c, 0xa8, 0x34, 0xac, - 0x0d, 0x0d, 0x77, 0x44, 0x58, 0xfb, 0x5b, 0x01, 0x2a, 0x47, 0x59, 0x17, 0x6d, 0x41, 0x29, 0xe2, - 0x31, 0x3c, 0x3a, 0xab, 0x0e, 0xe6, 0x30, 0x12, 0x84, 0x2e, 0x82, 0x6e, 0x03, 0x28, 0x01, 0x3c, - 0x8f, 0xd4, 0xaa, 0x7d, 0x54, 0x75, 0xc7, 0xa5, 0xc7, 0x45, 0xe8, 0x72, 0x11, 0x04, 0xf1, 0x27, - 0x02, 0x4c, 0xf7, 0xb8, 0x0d, 0xba, 0x01, 0x63, 0x81, 0x07, 0xf2, 0x49, 0xcf, 0xf7, 0x73, 0x11, - 0x9f, 0x5f, 0x0a, 0x45, 0xd1, 0x75, 0x18, 0xa2, 0x6e, 0xc6, 0xe7, 0x99, 0xc9, 0xcb, 0x98, 0x80, - 0xf8, 0x47, 0x21, 0x96, 0x2b, 0x50, 0x17, 0x41, 0x77, 0x61, 0x8c, 0x66, 0x3a, 0xcc, 0xdf, 0xf8, - 0xa4, 0xae, 0x1f, 0x23, 0x5f, 0x62, 0xbe, 0x37, 0xda, 0xe4, 0xad, 0xff, 0x4b, 0xde, 0xf4, 0xdf, - 0x3c, 0x9c, 0x4a, 0x99, 0x05, 0xfa, 0x08, 0xca, 0xdc, 0x51, 0xbd, 0x3d, 0xe4, 0x9d, 0x27, 0xd5, - 0xec, 0x29, 0x10, 0x5b, 0x4b, 0x29, 0xd4, 0xd1, 0x8b, 0x9b, 0x0a, 0xdd, 0x86, 0x31, 0x9a, 0xd3, - 0x78, 0xc6, 0x2d, 0xa6, 0x5e, 0x3d, 0xa9, 0x7a, 0xa0, 0xe9, 0x11, 0x5d, 0x39, 0xbd, 0xc8, 0xda, - 0xbc, 0x4d, 0xd3, 0xa5, 0x32, 0x80, 0x1c, 0x00, 0x8a, 0xff, 0x99, 0x00, 0x08, 0x35, 0x86, 0xde, - 0x8f, 0x67, 0x4b, 0x6f, 0x65, 0xce, 0x96, 0xf8, 0x48, 0x3c, 0x63, 0xaa, 0x27, 0x32, 0xa6, 0x6a, - 0xf6, 0x8c, 0x89, 0x03, 0xf9, 0x59, 0xd3, 0x4a, 0x2c, 0x6b, 0x3a, 0xd7, 0x2f, 0xef, 0xe1, 0xd2, - 0x5e, 0xe6, 0x74, 0x33, 0x25, 0x73, 0xba, 0x98, 0x29, 0x73, 0xe2, 0x30, 0xaf, 0xb2, 0xa7, 0x2f, - 0x67, 0xf6, 0xf4, 0xf1, 0x11, 0xd9, 0x53, 0xa6, 0x50, 0x22, 0x96, 0x3e, 0x71, 0x47, 0x79, 0x95, - 0x42, 0xbd, 0x84, 0x29, 0xd4, 0xc5, 0x67, 0x94, 0x42, 0x5d, 0x3a, 0x51, 0x0a, 0xf5, 0x52, 0xa5, - 0x39, 0x69, 0xf9, 0xe2, 0xe5, 0x67, 0x94, 0x2f, 0x3e, 0xc7, 0x14, 0x6a, 0x1c, 0x4a, 0x91, 0x68, - 0x46, 0xfc, 0x71, 0x01, 0xc6, 0x82, 0x4b, 0x13, 0x7d, 0x04, 0x23, 0x5d, 0xcd, 0xd1, 0x9a, 0x3a, - 0xe1, 0x97, 0xee, 0xb5, 0x81, 0x2e, 0xdd, 0xea, 0xb6, 0x27, 0x5c, 0xcf, 0x49, 0x3e, 0x0e, 0xba, - 0x0d, 0x45, 0xd3, 0xc2, 0xdf, 0xeb, 0xf8, 0xe1, 0xe5, 0xf2, 0x60, 0x88, 0x5b, 0x4c, 0x96, 0x5d, - 0xc2, 0xac, 0x35, 0xfb, 0x7d, 0x01, 0x46, 0xf8, 0x30, 0xe8, 0x9b, 0xc7, 0xad, 0xa7, 0xfa, 0xb1, - 0xc1, 0x3b, 0xb1, 0xc8, 0xf7, 0x6b, 0x19, 0x22, 0x5f, 0x16, 0xcb, 0x31, 0xa1, 0xd9, 0x0d, 0x28, - 0x7a, 0xb3, 0x3b, 0xf1, 0x3c, 0x68, 0x1c, 0xe4, 0x65, 0x94, 0xcc, 0x26, 0x7f, 0x2d, 0xc0, 0x74, - 0xcf, 0xc9, 0x8e, 0xee, 0x27, 0x6d, 0xf3, 0xf5, 0x63, 0xdd, 0x10, 0x69, 0x36, 0xda, 0x4e, 0xd8, - 0xe8, 0xdd, 0xe3, 0x21, 0xf7, 0xd8, 0xea, 0xe7, 0x11, 0x5b, 0xdd, 0xeb, 0xb9, 0xe7, 0x84, 0xe3, - 0x55, 0x09, 0x93, 0x17, 0xdc, 0x89, 0x6c, 0x88, 0x03, 0x1b, 0x3e, 0xaf, 0xf9, 0xd5, 0xa6, 0x92, - 0xc0, 0xe2, 0xbf, 0x0b, 0x00, 0x61, 0x80, 0x89, 0xa4, 0xa4, 0x61, 0xdf, 0x1e, 0x2c, 0x42, 0x4d, - 0xb3, 0xe8, 0x56, 0xc2, 0xa2, 0xd7, 0x06, 0x84, 0xec, 0x31, 0xe5, 0xe7, 0x11, 0x53, 0xd6, 0x82, - 0x88, 0x5a, 0x18, 0xf4, 0x0d, 0x22, 0x88, 0xa5, 0x4f, 0x62, 0xb5, 0x64, 0xbe, 0x5e, 0x38, 0x69, - 0xbe, 0x3e, 0xfb, 0x61, 0xe0, 0x06, 0xcf, 0x60, 0x6d, 0xf4, 0x88, 0xf5, 0x5a, 0xde, 0x76, 0xfe, - 0x5c, 0x80, 0x61, 0xef, 0x4e, 0x5b, 0x8d, 0x3d, 0x23, 0x66, 0x4f, 0x68, 0x22, 0x0f, 0x88, 0x1f, - 0xc2, 0x28, 0xee, 0xb8, 0xad, 0x20, 0x0b, 0xee, 0x0d, 0xa2, 0x7b, 0xea, 0x0a, 0x14, 0x61, 0xb5, - 0xe3, 0xb6, 0xee, 0x68, 0x7b, 0x06, 0x76, 0x3b, 0x36, 0x91, 0x46, 0xb0, 0xd7, 0x45, 0xab, 0x30, - 0x6c, 0xd9, 0xa6, 0xb9, 0xcb, 0x55, 0x78, 0xb9, 0x0f, 0xd4, 0x83, 0x5b, 0x0c, 0xac, 0x41, 0x45, - 0x24, 0x4f, 0x52, 0xfc, 0x99, 0xc0, 0x2f, 0x10, 0xf6, 0x52, 0x28, 0x03, 0x6a, 0x62, 0x9d, 0xee, - 0x0e, 0x39, 0x52, 0x00, 0x49, 0xdf, 0x49, 0x49, 0xf4, 0x9a, 0x27, 0x18, 0x29, 0x81, 0x4c, 0x37, - 0x93, 0x24, 0xf4, 0xd5, 0x68, 0xcd, 0xa3, 0xc0, 0xca, 0x00, 0x91, 0x4a, 0xc6, 0x04, 0xe4, 0xed, - 0x7d, 0x96, 0x5d, 0x95, 0xa5, 0xbc, 0xbd, 0x2f, 0x7e, 0x2a, 0x40, 0x91, 0x07, 0x00, 0xb5, 0x98, - 0xee, 0x07, 0x48, 0x02, 0x23, 0xca, 0xaf, 0xf9, 0xea, 0xca, 0xa7, 0x86, 0x23, 0xbd, 0xea, 0xf2, - 0x10, 0x62, 0xfa, 0xfa, 0x51, 0xde, 0xdf, 0xfc, 0x4c, 0x61, 0x9b, 0x50, 0xa6, 0x2e, 0x2d, 0x73, - 0x67, 0x3c, 0xc2, 0xeb, 0xd2, 0xf6, 0x03, 0x77, 0x65, 0xa9, 0x64, 0x84, 0x9d, 0x23, 0xf4, 0x9f, - 0x7f, 0x76, 0xfa, 0x9f, 0x87, 0xa9, 0x03, 0x1b, 0x5b, 0x16, 0x7f, 0xdd, 0x0c, 0xf6, 0x5f, 0x59, - 0x9a, 0xe0, 0x74, 0x9a, 0xeb, 0xdf, 0x22, 0x87, 0xe8, 0x02, 0x4c, 0x9a, 0xdd, 0x7d, 0xd9, 0xe7, - 0xa6, 0x8c, 0x9e, 0x61, 0xc6, 0xcd, 0xee, 0xfe, 0x3d, 0x8f, 0x7a, 0x8b, 0x1c, 0x8a, 0x3f, 0xcd, - 0xc3, 0x34, 0x75, 0x4f, 0xd3, 0xd6, 0x3e, 0xc1, 0xd4, 0x00, 0xeb, 0xd8, 0xc5, 0xe8, 0x26, 0x94, - 0x08, 0x7b, 0xaa, 0x96, 0x83, 0x57, 0xec, 0xfe, 0x45, 0x9d, 0xf0, 0x71, 0x5b, 0x02, 0x12, 0x3e, - 0x74, 0x4b, 0x50, 0xf2, 0x6e, 0x57, 0xea, 0xf6, 0x7e, 0xa9, 0xf6, 0x18, 0xdb, 0xc6, 0xbb, 0xa3, - 0x29, 0xcd, 0x41, 0x0a, 0xcc, 0xc4, 0x4f, 0x75, 0x0e, 0x5e, 0x38, 0x2e, 0x38, 0x8a, 0xdd, 0x1a, - 0x6c, 0x10, 0xf1, 0x77, 0x02, 0x94, 0xee, 0x69, 0xae, 0x41, 0x1c, 0x87, 0x29, 0x25, 0x2c, 0x72, - 0x09, 0xc7, 0x2c, 0x72, 0xa1, 0x7d, 0x78, 0xcd, 0x71, 0x59, 0xc0, 0x1a, 0xd8, 0x54, 0x66, 0x8e, - 0xe9, 0xeb, 0x65, 0x69, 0xb0, 0x32, 0xa5, 0xe7, 0xdb, 0xa7, 0x9d, 0x14, 0xaa, 0x23, 0xfe, 0x23, - 0xfe, 0x2d, 0x41, 0x43, 0xc7, 0x06, 0xaa, 0x27, 0xbf, 0x25, 0x18, 0xa0, 0x90, 0x46, 0x01, 0xbe, - 0xe8, 0xef, 0x09, 0x6e, 0x01, 0x28, 0x7a, 0x87, 0xc8, 0x96, 0x8e, 0x8d, 0xa3, 0xaa, 0xe0, 0xa9, - 0x4b, 0x58, 0xd3, 0x3b, 0x84, 0x2d, 0x60, 0x4c, 0xe1, 0x2d, 0x07, 0x6d, 0xf0, 0x7a, 0x1a, 0x05, - 0x1b, 0xb4, 0x9e, 0xc6, 0xb0, 0x58, 0x35, 0x8d, 0xb6, 0xc4, 0x7f, 0x05, 0xc5, 0x33, 0xa6, 0xe6, - 0x63, 0x17, 0xcf, 0xa8, 0xf4, 0x33, 0x29, 0x9e, 0x71, 0xa0, 0x63, 0x16, 0xcf, 0xb8, 0xf4, 0x49, - 0x8b, 0x67, 0x1c, 0xe6, 0x55, 0xf1, 0xec, 0xcb, 0x59, 0x3c, 0xfb, 0xce, 0x11, 0xc5, 0xb3, 0xe5, - 0x41, 0x83, 0x76, 0xee, 0x27, 0x5f, 0x74, 0xed, 0x6c, 0x13, 0x20, 0x92, 0xf1, 0xbf, 0x76, 0x9c, - 0x84, 0x3f, 0x02, 0xf0, 0x62, 0x94, 0xe2, 0xe4, 0xa3, 0x4b, 0x71, 0x57, 0x06, 0x29, 0xc5, 0x71, - 0x13, 0xf6, 0x96, 0xe3, 0xb4, 0xa7, 0x97, 0xe3, 0x96, 0x06, 0x2c, 0xc7, 0xf1, 0x71, 0x5e, 0x90, - 0xaf, 0x1a, 0x3e, 0x3e, 0xf2, 0xab, 0x86, 0xab, 0x03, 0x55, 0xa9, 0xf8, 0xaa, 0x5f, 0xea, 0x2f, - 0x1b, 0xa2, 0x9f, 0x1f, 0x08, 0x30, 0xea, 0x5f, 0xe8, 0xe8, 0x3d, 0x18, 0xe1, 0x8f, 0xe4, 0xfc, - 0xb6, 0xbd, 0x90, 0xed, 0x7d, 0x5d, 0xf2, 0xc5, 0xd0, 0x0c, 0x0c, 0xdb, 0x0e, 0x21, 0x2a, 0x7f, - 0xd8, 0xf4, 0x3a, 0xe8, 0x3c, 0x4c, 0x58, 0x36, 0x51, 0x34, 0x87, 0x7a, 0x6e, 0x53, 0x73, 0x1d, - 0x76, 0x79, 0x0e, 0x49, 0xe3, 0x01, 0xb5, 0xa6, 0xb9, 0x8e, 0xd8, 0x86, 0x51, 0x3f, 0x1e, 0x40, - 0x5b, 0x30, 0x66, 0xe9, 0x58, 0x33, 0x5c, 0xf2, 0xd0, 0x4f, 0xbb, 0xae, 0x0e, 0x10, 0x50, 0x78, - 0x82, 0x52, 0x88, 0x81, 0xa6, 0xa0, 0x40, 0x23, 0x77, 0x6f, 0x5e, 0xb4, 0x29, 0x5e, 0x80, 0x09, - 0xca, 0xbd, 0xa6, 0x59, 0x2d, 0x62, 0x33, 0x9e, 0xf4, 0x17, 0x77, 0x05, 0xc6, 0x63, 0xa8, 0xe8, - 0x1b, 0x50, 0x74, 0x88, 0xa1, 0x06, 0x6f, 0xd5, 0x59, 0xb5, 0xc4, 0xa5, 0x10, 0x82, 0x21, 0xb6, - 0xac, 0x3c, 0x0b, 0xe3, 0x58, 0x5b, 0xfc, 0x7d, 0xc1, 0x5b, 0x3c, 0x2b, 0xa4, 0x34, 0x92, 0x85, - 0x94, 0xe5, 0x41, 0xde, 0x26, 0xd3, 0xca, 0x28, 0x9b, 0x89, 0x32, 0xca, 0xd2, 0x40, 0x80, 0x3d, - 0x45, 0x94, 0x5f, 0x47, 0x8a, 0x28, 0x12, 0x80, 0x12, 0xa8, 0x90, 0xcf, 0x77, 0x31, 0x2b, 0x7c, - 0xa8, 0x7c, 0x29, 0x82, 0x12, 0xb7, 0x7e, 0xfe, 0xe4, 0xd6, 0x9f, 0xdd, 0x09, 0xea, 0x22, 0xcf, - 0x61, 0xba, 0xb5, 0x52, 0xe4, 0x35, 0x59, 0xfc, 0xa5, 0x5f, 0x47, 0x60, 0x7e, 0xec, 0x7f, 0x92, - 0x20, 0x0c, 0xf8, 0x49, 0x02, 0x9a, 0x85, 0x51, 0xff, 0x60, 0xe6, 0xf9, 0x40, 0xd0, 0x47, 0x73, - 0x00, 0x36, 0x36, 0x54, 0xb3, 0xad, 0x7d, 0x12, 0x14, 0x0f, 0x22, 0x14, 0xba, 0xdf, 0xba, 0x98, - 0xc6, 0xf6, 0x4d, 0xdd, 0xfb, 0xb0, 0xc0, 0x4f, 0x58, 0x19, 0xb5, 0xc6, 0x89, 0xe2, 0x23, 0xc1, - 0xcf, 0xe0, 0xd9, 0x54, 0x57, 0x60, 0x98, 0xfd, 0xce, 0xe7, 0x7a, 0xae, 0xcf, 0x5c, 0xb7, 0x29, - 0xaf, 0xe4, 0x89, 0xa0, 0x0d, 0x28, 0xab, 0xc4, 0x71, 0x65, 0xff, 0xf8, 0xc8, 0x0f, 0xb4, 0x31, - 0x4a, 0x54, 0x76, 0x35, 0x79, 0x84, 0x14, 0x12, 0x47, 0x48, 0x86, 0x25, 0xd5, 0xfe, 0x9e, 0xff, - 0xec, 0xf1, 0x9c, 0xf0, 0xe8, 0xf1, 0x9c, 0xf0, 0xb7, 0xc7, 0x73, 0xc2, 0xa7, 0x4f, 0xe6, 0x72, - 0x8f, 0x9e, 0xcc, 0xe5, 0xfe, 0xf2, 0x64, 0x2e, 0x07, 0x17, 0x14, 0xb3, 0x9d, 0xc1, 0xce, 0xb5, - 0xa9, 0x68, 0xa2, 0x67, 0x9b, 0xae, 0xd9, 0x10, 0x1e, 0x34, 0xf7, 0x34, 0xb7, 0xd5, 0x69, 0x56, - 0x15, 0xb3, 0xbd, 0xa0, 0x98, 0x4e, 0xdb, 0x74, 0x16, 0x6c, 0xa2, 0xe3, 0x43, 0x62, 0x2f, 0x74, - 0x17, 0x83, 0x26, 0xcb, 0xc7, 0x9c, 0x85, 0xfe, 0xff, 0xa2, 0xf0, 0x4e, 0x84, 0xe8, 0xd3, 0x7e, - 0x91, 0x2f, 0x34, 0xd6, 0xee, 0xfe, 0x2a, 0x2f, 0x36, 0xfc, 0x29, 0xae, 0xd1, 0x29, 0x46, 0x26, - 0x53, 0xdd, 0xe6, 0xac, 0x7f, 0x08, 0x99, 0x76, 0x28, 0xd3, 0x4e, 0x84, 0x69, 0xc7, 0x67, 0x7a, - 0x9c, 0xaf, 0xf6, 0x67, 0xda, 0xf9, 0xa0, 0x51, 0xf3, 0x3f, 0x6a, 0xfa, 0x67, 0xfe, 0xbc, 0x2f, - 0xb0, 0xb2, 0x42, 0x25, 0x56, 0x56, 0x22, 0x22, 0x2b, 0x2b, 0xbe, 0x4c, 0xb3, 0xc8, 0xfe, 0xb5, - 0x60, 0xe9, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x83, 0x14, 0xde, 0x8c, 0x31, 0x00, 0x00, + // 2795 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcf, 0x6f, 0xe3, 0xc6, + 0xf5, 0x17, 0x25, 0xdb, 0x6b, 0x3f, 0xc9, 0x5a, 0x7b, 0xf6, 0x47, 0xf4, 0x35, 0xbe, 0x70, 0x16, + 0x4c, 0xb2, 0xf5, 0x6e, 0x12, 0x39, 0xeb, 0xdd, 0x4d, 0x50, 0x27, 0x6d, 0x63, 0xd9, 0xd9, 0xc8, + 0xbb, 0xf1, 0x5a, 0xa1, 0x53, 0xbb, 0x49, 0x9d, 0xb0, 0x23, 0x72, 0x6c, 0x11, 0x96, 0x48, 0x96, + 0xa4, 0xe4, 0x75, 0xfe, 0x81, 0xa6, 0x97, 0x22, 0x05, 0x7a, 0x28, 0x7a, 0x29, 0x50, 0xe4, 0xd4, + 0x43, 0xff, 0x80, 0x16, 0x3d, 0x37, 0x68, 0x2f, 0x01, 0x7a, 0x29, 0x10, 0x14, 0x48, 0x37, 0xa7, + 0xfe, 0xb8, 0xf4, 0xdc, 0x4b, 0x31, 0x3f, 0x38, 0x24, 0x25, 0x7a, 0x45, 0xd9, 0x4e, 0x83, 0xfc, + 0x38, 0x99, 0xf3, 0xfc, 0xde, 0x67, 0x66, 0xde, 0x7b, 0x33, 0xf3, 0xde, 0x9b, 0x11, 0xdc, 0x72, + 0x89, 0xdd, 0xed, 0x34, 0x3d, 0xbc, 0x68, 0x38, 0x1e, 0x59, 0x0c, 0x3c, 0x6c, 0xfb, 0xd8, 0x08, + 0x2c, 0xc7, 0x5e, 0xec, 0xdd, 0xc0, 0x6d, 0xb7, 0x85, 0x6f, 0xc4, 0x89, 0x55, 0xd7, 0x73, 0x02, + 0x07, 0xa9, 0xa1, 0x54, 0x95, 0x4a, 0x55, 0xe3, 0x0c, 0xa1, 0xd4, 0xdc, 0xf5, 0x24, 0xb2, 0xe1, + 0x1d, 0xb9, 0x81, 0x13, 0x81, 0xf2, 0x36, 0xc7, 0x9b, 0x5b, 0x48, 0xf2, 0xfa, 0x01, 0x3e, 0x20, + 0x11, 0x2b, 0x6b, 0x0a, 0xce, 0x27, 0x93, 0x9c, 0x56, 0xd3, 0x88, 0xf8, 0xac, 0xa6, 0x91, 0xce, + 0x65, 0x92, 0x07, 0x11, 0x97, 0x49, 0x1e, 0x08, 0xae, 0xa5, 0x24, 0xd7, 0xbe, 0xd3, 0x23, 0x9e, + 0x8d, 0x6d, 0x23, 0xd6, 0x75, 0x44, 0xe3, 0x32, 0xea, 0x6f, 0x15, 0x28, 0xbe, 0x11, 0x4d, 0x17, + 0xbd, 0x0a, 0x63, 0x4d, 0xc7, 0x3c, 0xaa, 0x28, 0x57, 0x94, 0x85, 0xe2, 0xd2, 0xcd, 0xea, 0x70, + 0xc5, 0x54, 0x63, 0xe2, 0x35, 0xc7, 0x3c, 0xd2, 0x18, 0x00, 0x7a, 0x1c, 0x8a, 0x4d, 0xcb, 0x36, + 0x2d, 0x7b, 0x5f, 0xf7, 0xad, 0xfd, 0x4a, 0xfe, 0x8a, 0xb2, 0x50, 0xd2, 0x40, 0x90, 0xb6, 0xac, + 0x7d, 0xb4, 0x02, 0x13, 0xd8, 0x36, 0x5a, 0x8e, 0x57, 0x29, 0xb0, 0xbe, 0xae, 0xf5, 0xf5, 0x25, + 0x14, 0x2a, 0xbb, 0xd9, 0x20, 0xde, 0x41, 0x9b, 0x68, 0x8e, 0x13, 0x68, 0x42, 0x50, 0xad, 0x40, + 0x7e, 0xdd, 0x44, 0x08, 0xc6, 0x5a, 0xd8, 0x6f, 0xb1, 0x21, 0x97, 0x34, 0xf6, 0xad, 0xaa, 0x00, + 0xaf, 0xec, 0xed, 0x11, 0x23, 0xa8, 0x63, 0xbf, 0x85, 0x2e, 0xc2, 0xb8, 0x65, 0xdb, 0xc4, 0x13, + 0x2c, 0xbc, 0xa1, 0x7e, 0x50, 0x80, 0xf3, 0x7d, 0x63, 0x47, 0x6b, 0x70, 0x8e, 0xb7, 0xfc, 0x8a, + 0x72, 0xa5, 0xb0, 0x50, 0x5c, 0xba, 0x9e, 0x45, 0x03, 0x2b, 0xac, 0xad, 0x85, 0xa2, 0xc8, 0x85, + 0xcb, 0x31, 0x3e, 0xdd, 0xc5, 0x1e, 0xee, 0x90, 0x80, 0x78, 0x3e, 0x53, 0x43, 0x71, 0xe9, 0x9b, + 0x23, 0xaa, 0xb5, 0x21, 0x01, 0xb4, 0x4b, 0x41, 0x1a, 0x19, 0xdd, 0x82, 0xc2, 0x1e, 0x21, 0x42, + 0x93, 0xea, 0x10, 0x4d, 0xde, 0x21, 0x44, 0xa3, 0xec, 0xe8, 0x7b, 0x50, 0x36, 0x49, 0x40, 0xf8, + 0x28, 0x4d, 0x1c, 0xe0, 0xca, 0x18, 0x03, 0xb8, 0x91, 0x65, 0x7c, 0x6b, 0xa1, 0xe4, 0x1a, 0x0e, + 0xb0, 0x36, 0x6d, 0xc6, 0x9b, 0x68, 0x1d, 0xa6, 0x3a, 0xa4, 0xe3, 0x70, 0xd0, 0x71, 0x06, 0xfa, + 0x4c, 0x16, 0xd0, 0x0d, 0xd2, 0x71, 0x18, 0xde, 0x64, 0x47, 0x7c, 0xa9, 0xeb, 0x30, 0x19, 0x52, + 0xd1, 0x75, 0x28, 0x13, 0x9b, 0x4d, 0x87, 0x98, 0x3a, 0xe5, 0xe0, 0x16, 0xad, 0xe7, 0xb4, 0x69, + 0x49, 0xa7, 0xcc, 0xef, 0x29, 0x4a, 0x6d, 0x16, 0xce, 0xeb, 0x49, 0x66, 0x75, 0x07, 0x2e, 0xa5, + 0x6a, 0x15, 0x3d, 0x01, 0xd3, 0xe4, 0x81, 0x6b, 0x79, 0x47, 0x7a, 0x8b, 0x58, 0xfb, 0xad, 0x80, + 0xc1, 0x8e, 0x69, 0x25, 0x4e, 0xac, 0x33, 0x1a, 0xfa, 0x3f, 0x98, 0x34, 0x5a, 0xd8, 0xb2, 0x75, + 0xcb, 0x64, 0x76, 0x9c, 0xd2, 0xce, 0xb1, 0xf6, 0xba, 0xa9, 0xbe, 0x0e, 0xd3, 0x09, 0x75, 0xa0, + 0x97, 0x61, 0x6a, 0xaf, 0x63, 0xea, 0x46, 0xbb, 0x4b, 0xfc, 0xca, 0x18, 0xf3, 0xa4, 0x27, 0x86, + 0x58, 0x65, 0xb5, 0xdd, 0x25, 0xda, 0xe4, 0x5e, 0xc7, 0xa4, 0x1f, 0xbe, 0xfa, 0xe7, 0x32, 0x4c, + 0x70, 0xbf, 0x42, 0x2b, 0x30, 0xee, 0xbb, 0xc4, 0x36, 0xc5, 0xa2, 0xbc, 0x96, 0x45, 0x91, 0x5b, + 0x54, 0xa0, 0x9e, 0xd3, 0xb8, 0x24, 0x5a, 0x83, 0x09, 0xa7, 0x1b, 0xb8, 0xdd, 0x40, 0x78, 0x60, + 0x26, 0xb7, 0xde, 0x64, 0x12, 0xf5, 0x9c, 0x26, 0x64, 0xd1, 0xf3, 0x30, 0xe6, 0x1f, 0x62, 0x57, + 0xb8, 0xd9, 0x95, 0x3e, 0x0c, 0xba, 0x11, 0x45, 0xfd, 0x1f, 0x62, 0xb7, 0x9e, 0xd3, 0x18, 0x3f, + 0xba, 0x03, 0x40, 0xff, 0xea, 0x46, 0x1b, 0x5b, 0x1d, 0xe1, 0x63, 0x4f, 0x0d, 0x93, 0x5e, 0xa5, + 0xcc, 0xf5, 0x9c, 0x36, 0xe5, 0x87, 0x0d, 0xb4, 0x07, 0x17, 0x7b, 0xb8, 0x6d, 0x99, 0x38, 0x70, + 0x3c, 0xdd, 0x24, 0x7b, 0x96, 0x6d, 0xd1, 0x11, 0x57, 0x66, 0x52, 0xbd, 0x96, 0x6f, 0xb3, 0x12, + 0x73, 0x3b, 0x94, 0x5c, 0x93, 0x82, 0xf5, 0x9c, 0x76, 0xa1, 0x37, 0x48, 0xa6, 0xe3, 0xb5, 0x9a, + 0x86, 0xce, 0xf5, 0x51, 0x99, 0x4d, 0x1d, 0x2f, 0xdd, 0x9c, 0x25, 0xf6, 0x7a, 0xd3, 0xe0, 0xb6, + 0xa2, 0xe3, 0xb5, 0xc2, 0x06, 0xda, 0x85, 0xf3, 0xae, 0xe7, 0xb8, 0x8e, 0x8f, 0xdb, 0xba, 0xdf, + 0x6d, 0x76, 0xac, 0xa0, 0x82, 0x52, 0x87, 0x1a, 0xdb, 0x96, 0x25, 0x66, 0x43, 0x48, 0x6e, 0x31, + 0xc1, 0x7a, 0x4e, 0x2b, 0xbb, 0x09, 0x0a, 0x6a, 0xc2, 0xac, 0x44, 0x3f, 0xb4, 0x82, 0x96, 0xe9, + 0xe1, 0xc3, 0xca, 0x85, 0xd4, 0x7d, 0xfb, 0x51, 0xf8, 0x3b, 0x42, 0xb4, 0x9e, 0xd3, 0x66, 0xdc, + 0x3e, 0x1a, 0x7a, 0x13, 0xca, 0x91, 0xc6, 0x7b, 0x4e, 0x40, 0x2a, 0x17, 0x59, 0x07, 0xcf, 0x65, + 0xe8, 0x40, 0x2a, 0x7c, 0xdb, 0x09, 0x08, 0x5d, 0xa2, 0xbd, 0x38, 0x81, 0x42, 0x9b, 0xa4, 0x4d, + 0xf6, 0x23, 0xe8, 0x4b, 0x99, 0xa1, 0xd7, 0x42, 0xc1, 0x10, 0xda, 0x8c, 0x13, 0x90, 0x03, 0x97, + 0xa5, 0x66, 0x4c, 0xe2, 0x3a, 0xbe, 0x15, 0x08, 0xdf, 0xbb, 0xcc, 0xba, 0x78, 0x61, 0x04, 0xf5, + 0xac, 0x71, 0xf9, 0xd0, 0x1b, 0x2f, 0xba, 0x29, 0x74, 0xb4, 0x09, 0xd3, 0xac, 0x45, 0xf7, 0x51, + 0xc7, 0x25, 0x76, 0x65, 0x9e, 0xf5, 0xb3, 0xf0, 0x28, 0x1f, 0x6f, 0x08, 0x81, 0x4d, 0x97, 0x50, + 0xb7, 0x29, 0xb9, 0xb1, 0x36, 0xd2, 0xa0, 0x2c, 0x01, 0x8d, 0xb6, 0xe3, 0x93, 0xca, 0xe3, 0xa9, + 0x6b, 0x3f, 0x15, 0x71, 0x95, 0x0a, 0x50, 0xad, 0xb8, 0x71, 0x02, 0xfa, 0x3e, 0xcc, 0x4a, 0x4c, + 0xe9, 0x2f, 0x57, 0x52, 0xf7, 0xe6, 0x54, 0xd8, 0x84, 0xa3, 0xf4, 0xd1, 0x10, 0x81, 0x4b, 0x12, + 0xdc, 0x23, 0x87, 0xd8, 0x33, 0x85, 0xc6, 0x55, 0xd6, 0xc1, 0x62, 0x96, 0x0e, 0x34, 0x26, 0x17, + 0x6a, 0xfa, 0x82, 0x3b, 0x48, 0x46, 0x6b, 0x30, 0x29, 0x4c, 0x4d, 0x2a, 0x0b, 0x0c, 0xf9, 0xea, + 0xa3, 0x57, 0xbd, 0xf0, 0x14, 0xaa, 0x0e, 0x29, 0x89, 0xee, 0x02, 0x74, 0x6d, 0x89, 0x73, 0x2d, + 0xd5, 0x56, 0x7d, 0x38, 0xdf, 0x95, 0xfc, 0xf5, 0x9c, 0x16, 0x93, 0x46, 0x6f, 0xc1, 0x4c, 0xd4, + 0x12, 0x73, 0xbe, 0xce, 0x10, 0x9f, 0xcd, 0x8a, 0x18, 0xce, 0xf8, 0x7c, 0x37, 0x49, 0x42, 0x77, + 0x61, 0xca, 0xc4, 0x8e, 0xce, 0x37, 0xff, 0x25, 0x06, 0xfa, 0x74, 0x96, 0xd5, 0x81, 0x9d, 0x70, + 0xfb, 0x9f, 0x34, 0xc5, 0x37, 0xda, 0x00, 0xa0, 0x58, 0xe2, 0x14, 0xb8, 0x99, 0x6a, 0xf6, 0x63, + 0xc0, 0xe4, 0x39, 0x40, 0x47, 0xc3, 0x1b, 0xa8, 0x01, 0x45, 0x0a, 0x27, 0x56, 0x57, 0xe5, 0x56, + 0xea, 0x8c, 0x8f, 0xc1, 0x13, 0x4b, 0x87, 0x2a, 0xd2, 0x94, 0x2d, 0xf4, 0x26, 0xcc, 0x58, 0x86, + 0xbf, 0xf4, 0x9c, 0xf4, 0x4d, 0xdc, 0xae, 0x7c, 0xa8, 0xa4, 0x4e, 0x3a, 0xb9, 0xf7, 0x52, 0xa1, + 0x1d, 0x29, 0x43, 0xf5, 0x68, 0x25, 0x49, 0xb5, 0x49, 0x98, 0xe0, 0x7b, 0xb9, 0xfa, 0xe3, 0x31, + 0xb8, 0x1c, 0x0f, 0x01, 0x88, 0xe7, 0xbb, 0xf4, 0xd8, 0xee, 0x11, 0xa4, 0x43, 0xc9, 0xc5, 0x47, + 0x6d, 0x07, 0x9b, 0xfa, 0x01, 0x39, 0x0a, 0xe3, 0xbf, 0x97, 0xb2, 0x1c, 0x94, 0x0d, 0x2e, 0x77, + 0x8f, 0x1c, 0xd1, 0x4e, 0x57, 0x9d, 0x4e, 0xc7, 0x0a, 0x3a, 0xc4, 0x0e, 0xb4, 0xa2, 0x2b, 0xff, + 0xe3, 0xa3, 0x1f, 0xc0, 0x0c, 0xb3, 0xa4, 0x6e, 0x77, 0xdb, 0x6d, 0x6b, 0xcf, 0xe2, 0xf1, 0x20, + 0xed, 0xe4, 0x76, 0x96, 0x4e, 0xee, 0x87, 0x52, 0xb4, 0x8f, 0xfb, 0x4e, 0x40, 0xb4, 0xf3, 0x0c, + 0x4e, 0xd2, 0x7d, 0x74, 0x07, 0x4a, 0xd8, 0xec, 0x59, 0x06, 0xd1, 0x6d, 0x27, 0x20, 0x7e, 0xa5, + 0x90, 0x29, 0xf0, 0x60, 0x58, 0x45, 0x2e, 0x48, 0xbf, 0x7d, 0xba, 0x9d, 0x61, 0xd3, 0xf4, 0x88, + 0xef, 0xeb, 0x3d, 0x8b, 0x1c, 0x86, 0x11, 0xcc, 0xf5, 0x21, 0x40, 0x2b, 0x5c, 0x66, 0xdb, 0x22, + 0x87, 0x5a, 0x09, 0x47, 0x0d, 0x9f, 0x86, 0x1f, 0x26, 0xb1, 0x9d, 0x8e, 0x5f, 0x19, 0x67, 0x48, + 0xcf, 0x0c, 0x41, 0x5a, 0xa3, 0xcc, 0x1b, 0x24, 0xc0, 0x34, 0x7e, 0xd4, 0x84, 0x2c, 0xda, 0x80, + 0x72, 0x3c, 0xac, 0xb6, 0xcc, 0xca, 0x44, 0xea, 0x16, 0x90, 0xaa, 0xbe, 0x75, 0x53, 0x9b, 0x8e, + 0xfd, 0x63, 0xdd, 0xa4, 0x39, 0x42, 0x64, 0xb8, 0x63, 0x72, 0x84, 0xdf, 0x29, 0x50, 0x39, 0xce, + 0xba, 0x68, 0x13, 0x8a, 0x31, 0x8f, 0x11, 0xd1, 0x59, 0x75, 0x34, 0x87, 0xd1, 0x20, 0x72, 0x11, + 0x74, 0x1f, 0xc0, 0x90, 0xf0, 0x22, 0x52, 0xab, 0x0e, 0x51, 0xd5, 0x56, 0x40, 0xb7, 0x8b, 0xc8, + 0xe5, 0x62, 0x08, 0xea, 0xcf, 0x14, 0x98, 0x1d, 0x70, 0x1b, 0x74, 0x07, 0xa6, 0xa4, 0x07, 0x8a, + 0x41, 0x2f, 0x0c, 0x73, 0x91, 0x90, 0x5f, 0x8b, 0x44, 0xd1, 0x0b, 0x30, 0x46, 0xdd, 0x4c, 0x8c, + 0x33, 0x93, 0x97, 0x31, 0x01, 0xf5, 0x4f, 0x4a, 0x22, 0xf1, 0xa2, 0x2e, 0x82, 0xde, 0x80, 0x29, + 0x9a, 0x36, 0x32, 0x7f, 0x13, 0x83, 0x7a, 0xe1, 0x04, 0xc9, 0x27, 0xf3, 0xbd, 0xc9, 0xa6, 0xf8, + 0xfa, 0x9f, 0x24, 0xa1, 0x9f, 0x14, 0xe0, 0x42, 0xca, 0x28, 0xd0, 0xeb, 0x50, 0x12, 0x8e, 0xca, + 0xd7, 0x10, 0xdf, 0x4f, 0xaa, 0xd9, 0xf3, 0x49, 0x36, 0x97, 0x62, 0xa4, 0xa3, 0x2f, 0x4e, 0x5e, + 0xf9, 0xf6, 0x99, 0xe5, 0x95, 0x3c, 0xb6, 0x8b, 0x11, 0xde, 0x53, 0x14, 0x74, 0x5f, 0x24, 0x97, + 0xcc, 0x57, 0x46, 0x4c, 0x2e, 0xa9, 0x22, 0xeb, 0x0a, 0x4f, 0x2f, 0xe9, 0x77, 0x98, 0x29, 0x26, + 0xc7, 0x5b, 0x2b, 0x01, 0xe8, 0xb2, 0x0f, 0xf5, 0xdf, 0x65, 0x80, 0xc8, 0x26, 0xe8, 0x95, 0x64, + 0x3e, 0xf6, 0x6c, 0xe6, 0x7c, 0x8c, 0x75, 0x2e, 0x73, 0xb2, 0x7a, 0x5f, 0x4e, 0x56, 0xcd, 0x9e, + 0x93, 0x09, 0xa0, 0x30, 0x2f, 0x5b, 0x4e, 0xe4, 0x65, 0x4f, 0x0e, 0xcb, 0xac, 0x84, 0x34, 0xcf, + 0xcd, 0xee, 0xa6, 0xe4, 0x66, 0xd7, 0x32, 0xe5, 0x66, 0x02, 0xe6, 0xeb, 0xfc, 0xec, 0xcb, 0x99, + 0x9f, 0xbd, 0x73, 0x4c, 0x7e, 0x76, 0x3b, 0xdb, 0x22, 0x8e, 0xe5, 0x63, 0xc2, 0x51, 0xbe, 0x4e, + 0xd2, 0xbe, 0x82, 0x49, 0xda, 0xb5, 0x33, 0x4a, 0xd2, 0xae, 0x9f, 0x2a, 0x49, 0xfb, 0x4a, 0x25, + 0x52, 0x69, 0x19, 0xe9, 0xd3, 0x67, 0x94, 0x91, 0x7e, 0x86, 0x49, 0xda, 0x34, 0x14, 0x63, 0xf1, + 0x92, 0xfa, 0xd3, 0x02, 0x4c, 0xc9, 0x43, 0x13, 0xbd, 0x0e, 0xe7, 0x7a, 0x96, 0x6f, 0x35, 0xdb, + 0x44, 0x1c, 0xba, 0xb7, 0x47, 0x3a, 0x74, 0xab, 0xdb, 0x5c, 0xb8, 0x9e, 0xd3, 0x42, 0x1c, 0x74, + 0x1f, 0x26, 0x1c, 0x17, 0xff, 0xb0, 0x1b, 0x06, 0xb0, 0xb7, 0x46, 0x43, 0xdc, 0x64, 0xb2, 0xec, + 0x10, 0x66, 0x5f, 0x73, 0x3f, 0x52, 0xe0, 0x9c, 0xe8, 0x06, 0x7d, 0xe7, 0xa4, 0x15, 0xdb, 0x30, + 0x36, 0x78, 0x31, 0x11, 0x5b, 0x7f, 0x23, 0x43, 0x6c, 0xcd, 0xa2, 0x45, 0x26, 0x34, 0xb7, 0x0e, + 0x13, 0x7c, 0x74, 0xa7, 0x1e, 0x07, 0x8d, 0x83, 0x78, 0xce, 0xca, 0x6c, 0xf2, 0xd7, 0x02, 0xcc, + 0x0e, 0xec, 0xec, 0xe8, 0xcd, 0x7e, 0xdb, 0x7c, 0xeb, 0x44, 0x27, 0x44, 0x9a, 0x8d, 0xb6, 0xfb, + 0x6c, 0xf4, 0xd2, 0xc9, 0x90, 0x07, 0x6c, 0xf5, 0xcb, 0x98, 0xad, 0x76, 0x06, 0xce, 0x39, 0xe5, + 0x64, 0x75, 0xc8, 0xfe, 0x03, 0xee, 0x54, 0x36, 0xc4, 0xd2, 0x86, 0x9f, 0xd5, 0xf8, 0x6a, 0x33, + 0xfd, 0xc0, 0xea, 0xbf, 0x0a, 0x00, 0x51, 0x80, 0x89, 0xb4, 0x7e, 0xc3, 0x3e, 0x3f, 0x5a, 0x84, + 0x9a, 0x66, 0xd1, 0xcd, 0x3e, 0x8b, 0xde, 0x1e, 0x11, 0x72, 0xc0, 0x94, 0x1f, 0xc7, 0x4c, 0x59, + 0x93, 0x11, 0xb5, 0x32, 0xea, 0x2d, 0x87, 0x8c, 0xa5, 0x4f, 0x63, 0xb5, 0xfe, 0x8a, 0x40, 0xe1, + 0xb4, 0x15, 0x81, 0xb9, 0xd7, 0xa4, 0x1b, 0x9c, 0xc1, 0xdc, 0xe8, 0x16, 0xcb, 0xbf, 0xf8, 0x72, + 0xfe, 0x58, 0x81, 0x71, 0x7e, 0xa6, 0xad, 0x24, 0x6e, 0x7d, 0xb3, 0x27, 0x34, 0xb1, 0xfb, 0xde, + 0xd7, 0x60, 0x12, 0x77, 0x83, 0x96, 0xcc, 0xb3, 0x07, 0x83, 0xe8, 0x81, 0xca, 0x05, 0x45, 0x58, + 0xe9, 0x06, 0xad, 0x2d, 0x6b, 0xdf, 0xc6, 0x41, 0xd7, 0x23, 0xda, 0x39, 0xcc, 0x9b, 0x68, 0x05, + 0xc6, 0x5d, 0xcf, 0x71, 0xf6, 0x84, 0x0a, 0x9f, 0x1e, 0x02, 0xf5, 0xd6, 0x3d, 0x06, 0xd6, 0xa0, + 0x22, 0x1a, 0x97, 0x54, 0x7f, 0xa1, 0x88, 0x03, 0x84, 0x5d, 0xec, 0xea, 0x80, 0x9a, 0xb8, 0x4d, + 0x57, 0x87, 0x1e, 0x2b, 0xb1, 0xa4, 0xaf, 0xa4, 0x7e, 0xf4, 0x1a, 0x17, 0x8c, 0x15, 0x59, 0x66, + 0x9b, 0xfd, 0x24, 0xf4, 0xff, 0xf1, 0xaa, 0x4a, 0x81, 0x15, 0x1a, 0x62, 0xb5, 0x92, 0x32, 0xe4, + 0xbd, 0x03, 0x96, 0x5d, 0x95, 0xb4, 0xbc, 0x77, 0xa0, 0xbe, 0xaf, 0xc0, 0x84, 0x08, 0x00, 0x6a, + 0x09, 0xdd, 0x8f, 0x90, 0x04, 0xc6, 0x94, 0x5f, 0x0b, 0xd5, 0x95, 0x4f, 0x0d, 0x47, 0x06, 0xd5, + 0xc5, 0x11, 0x12, 0xfa, 0xfa, 0x49, 0x3e, 0x5c, 0xfc, 0x4c, 0x61, 0x1b, 0x50, 0xa2, 0x2e, 0xad, + 0x0b, 0x67, 0x3c, 0xc6, 0xeb, 0xd2, 0xd6, 0x83, 0x70, 0x65, 0xad, 0x68, 0x47, 0x8d, 0x63, 0xf4, + 0x9f, 0x3f, 0x3b, 0xfd, 0x2f, 0xc0, 0xcc, 0xa1, 0x87, 0x5d, 0x57, 0xdc, 0xf5, 0xca, 0xf5, 0x57, + 0xd2, 0xca, 0x82, 0x4e, 0xd3, 0xff, 0x7b, 0xe4, 0x08, 0x5d, 0x85, 0xf3, 0x4e, 0xef, 0x40, 0x0f, + 0xb9, 0x29, 0x23, 0x37, 0xcc, 0xb4, 0xd3, 0x3b, 0xd8, 0xe1, 0xd4, 0x7b, 0xe4, 0x48, 0xfd, 0x79, + 0x1e, 0x66, 0xa9, 0x7b, 0x3a, 0x9e, 0xf5, 0x2e, 0x96, 0x37, 0xbb, 0x77, 0xa1, 0x48, 0xd8, 0xcb, + 0x02, 0x5d, 0x3e, 0x3a, 0x18, 0x5e, 0x36, 0x8a, 0xde, 0x22, 0x68, 0x40, 0xa2, 0x77, 0x09, 0x1a, + 0x14, 0xf9, 0xe9, 0x4a, 0xdd, 0x3e, 0x2c, 0x06, 0x9f, 0x60, 0xd9, 0xf0, 0x33, 0x9a, 0xd2, 0x7c, + 0x64, 0xc0, 0xc5, 0xe4, 0xae, 0x2e, 0xc0, 0x0b, 0x27, 0x05, 0x47, 0x89, 0x53, 0x83, 0x75, 0xa2, + 0xfe, 0x5e, 0x81, 0xe2, 0x8e, 0x15, 0xd8, 0xc4, 0xf7, 0x99, 0x52, 0xa2, 0x32, 0x9a, 0x72, 0xc2, + 0x32, 0x1a, 0x3a, 0x80, 0xc7, 0xfc, 0x80, 0x05, 0xac, 0xd2, 0xa6, 0x3a, 0x73, 0xcc, 0x50, 0x2f, + 0x37, 0x47, 0x2b, 0x84, 0x72, 0xdf, 0xbe, 0xe4, 0xa7, 0x50, 0x7d, 0xf5, 0xef, 0xf9, 0x44, 0x05, + 0xb2, 0xd1, 0xc6, 0x36, 0xaa, 0xf7, 0x3f, 0xfd, 0x18, 0xa1, 0x54, 0x47, 0x01, 0xa2, 0xe7, 0x1f, + 0x03, 0xaf, 0x09, 0xf2, 0x43, 0x5e, 0x13, 0x14, 0x12, 0xaf, 0x09, 0xc2, 0xa2, 0xdb, 0xd8, 0x68, + 0x45, 0xb7, 0x7b, 0x00, 0x46, 0xbb, 0x4b, 0x74, 0xb7, 0x8d, 0xed, 0xe3, 0xea, 0xec, 0xa9, 0x53, + 0x58, 0x6d, 0x77, 0x09, 0x9b, 0xc0, 0x94, 0x21, 0xbe, 0x7c, 0xf9, 0x7e, 0x83, 0x82, 0x89, 0x2a, + 0x7b, 0xe6, 0x12, 0x1b, 0xc3, 0x62, 0x05, 0x36, 0xfa, 0xa5, 0xfe, 0x53, 0x16, 0xcf, 0x98, 0x9a, + 0x4f, 0x5c, 0x3c, 0xa3, 0xd2, 0x67, 0x52, 0x3c, 0x13, 0x40, 0x27, 0x2c, 0x9e, 0x09, 0xe9, 0xd3, + 0x16, 0xcf, 0x04, 0xcc, 0xd7, 0xc5, 0xb3, 0x2f, 0x67, 0xf1, 0xec, 0xed, 0x63, 0x8a, 0x67, 0xb7, + 0x46, 0x0d, 0xda, 0x85, 0x9f, 0x7c, 0xde, 0xb5, 0xb3, 0x0d, 0x80, 0x58, 0xc6, 0xff, 0xd8, 0x49, + 0x12, 0xfe, 0x18, 0xc0, 0x17, 0xa3, 0x14, 0xa7, 0x1f, 0x5f, 0x8a, 0x7b, 0x6e, 0x94, 0x52, 0x9c, + 0x30, 0xe1, 0x60, 0x39, 0xce, 0x7a, 0x74, 0x39, 0xee, 0xe6, 0x88, 0xe5, 0x38, 0xd1, 0xcf, 0x17, + 0xe4, 0xdd, 0xc4, 0x3b, 0xc7, 0xbe, 0x9b, 0xb8, 0x31, 0x52, 0x95, 0x4a, 0xcc, 0xfa, 0x2b, 0xfd, + 0x76, 0x22, 0xfe, 0xc0, 0x41, 0x81, 0xc9, 0xf0, 0x40, 0x47, 0x2f, 0xc3, 0x39, 0x71, 0x0d, 0x2f, + 0x4e, 0xdb, 0xab, 0xd9, 0x6e, 0xf0, 0xb5, 0x50, 0x0c, 0x5d, 0x84, 0x71, 0xcf, 0x27, 0xc4, 0x14, + 0x57, 0xa7, 0xbc, 0x81, 0x9e, 0x82, 0xb2, 0xeb, 0x11, 0xc3, 0xf2, 0xa9, 0xe7, 0x36, 0xad, 0xc0, + 0x67, 0x87, 0xe7, 0x98, 0x36, 0x2d, 0xa9, 0x35, 0x2b, 0xf0, 0xd5, 0x0e, 0x7f, 0xb9, 0xc9, 0x86, + 0xb2, 0x09, 0x53, 0x6e, 0x1b, 0x5b, 0x76, 0x40, 0x1e, 0x84, 0x69, 0xd7, 0x8d, 0x11, 0x02, 0x0a, + 0x2e, 0xa8, 0x45, 0x18, 0x68, 0x06, 0x0a, 0x34, 0x72, 0xe7, 0xe3, 0xa2, 0x9f, 0xea, 0x55, 0x28, + 0x53, 0xee, 0x55, 0xcb, 0x6d, 0x11, 0x8f, 0xf1, 0xa4, 0xdf, 0xe9, 0x1b, 0x30, 0x9d, 0x40, 0x45, + 0xdf, 0x86, 0x09, 0x9f, 0xd8, 0xa6, 0xbc, 0x0d, 0xcf, 0xaa, 0x25, 0x21, 0x85, 0x10, 0x8c, 0xb1, + 0x69, 0xf1, 0x47, 0xa1, 0xec, 0x5b, 0xfd, 0x43, 0x81, 0x4f, 0x9e, 0x15, 0x52, 0x1a, 0xfd, 0x85, + 0x94, 0x5b, 0xa3, 0x5c, 0x57, 0xa6, 0x95, 0x51, 0x36, 0xfa, 0xca, 0x28, 0x37, 0x47, 0x02, 0x1c, + 0x28, 0xa2, 0xfc, 0x26, 0x56, 0x44, 0xd1, 0x00, 0x0c, 0xa9, 0x42, 0x31, 0xde, 0xa5, 0xac, 0xf0, + 0x91, 0xf2, 0xb5, 0x18, 0x4a, 0xd2, 0xfa, 0xf9, 0xd3, 0x5b, 0x7f, 0x6e, 0x57, 0xd6, 0x45, 0x3e, + 0x83, 0xe1, 0xd6, 0x8a, 0xb1, 0x0b, 0x66, 0xf5, 0x3f, 0x61, 0x1d, 0x81, 0xf9, 0x71, 0xf8, 0xe8, + 0x41, 0x19, 0xf1, 0xd1, 0x03, 0x9a, 0x83, 0xc9, 0x70, 0x63, 0x16, 0xf9, 0x80, 0x6c, 0xa3, 0x79, + 0x00, 0x0f, 0xdb, 0xa6, 0xd3, 0xb1, 0xde, 0x95, 0xc5, 0x83, 0x18, 0x85, 0xae, 0xb7, 0x1e, 0xa6, + 0xb1, 0x7d, 0xb3, 0xcd, 0x9f, 0x2e, 0x84, 0x09, 0x2b, 0xa3, 0xd6, 0x04, 0x91, 0xa6, 0xc0, 0x2c, + 0x63, 0x92, 0x6c, 0xba, 0xc7, 0xae, 0xc7, 0x4b, 0x2c, 0xba, 0x72, 0xf6, 0x42, 0x46, 0x2d, 0x85, + 0xd3, 0x67, 0x51, 0x7e, 0x3f, 0xe7, 0x96, 0xfa, 0x81, 0xac, 0x0a, 0xb0, 0xe9, 0x2f, 0xc3, 0x38, + 0xeb, 0x53, 0xcc, 0xff, 0xc9, 0x21, 0xf3, 0xdf, 0xa6, 0xbc, 0x1a, 0x17, 0x41, 0xeb, 0x50, 0x32, + 0x89, 0x1f, 0xe8, 0xe1, 0x96, 0x94, 0x1f, 0x69, 0xb1, 0x15, 0xa9, 0xec, 0x4a, 0xff, 0xb6, 0x54, + 0xe8, 0xdb, 0x96, 0x3e, 0x27, 0x35, 0xd5, 0xfe, 0x96, 0xff, 0xf0, 0xe1, 0xbc, 0xf2, 0xd1, 0xc3, + 0x79, 0xe5, 0x93, 0x87, 0xf3, 0xca, 0xfb, 0x9f, 0xce, 0xe7, 0x3e, 0xfa, 0x74, 0x3e, 0xf7, 0x97, + 0x4f, 0xe7, 0x73, 0x70, 0xd5, 0x70, 0x3a, 0x19, 0xfc, 0xb1, 0x36, 0x13, 0x4f, 0x48, 0x3d, 0x27, + 0x70, 0x1a, 0xca, 0x5b, 0xcd, 0x7d, 0x2b, 0x68, 0x75, 0x9b, 0x55, 0xc3, 0xe9, 0x2c, 0x1a, 0x8e, + 0xdf, 0x71, 0xfc, 0x45, 0x8f, 0xb4, 0xf1, 0x11, 0xf1, 0x16, 0x7b, 0x4b, 0xf2, 0x93, 0xe5, 0x8d, + 0xfe, 0xe2, 0xf0, 0x5f, 0xbe, 0xbc, 0x18, 0x23, 0x86, 0xb4, 0x5f, 0xe5, 0x0b, 0x8d, 0xd5, 0x37, + 0x7e, 0x9d, 0x57, 0x1b, 0xe1, 0x10, 0x57, 0xe9, 0x10, 0x63, 0x83, 0xa9, 0x6e, 0x0b, 0xd6, 0x3f, + 0x46, 0x4c, 0xbb, 0x94, 0x69, 0x37, 0xc6, 0xb4, 0x1b, 0x32, 0x3d, 0xcc, 0x57, 0x87, 0x33, 0xed, + 0xbe, 0xda, 0xa8, 0x85, 0xcf, 0xbb, 0xfe, 0x91, 0x7f, 0x2a, 0x14, 0x58, 0x5e, 0xa6, 0x12, 0xcb, + 0xcb, 0x31, 0x91, 0xe5, 0xe5, 0x50, 0xa6, 0x39, 0xc1, 0x7e, 0xb1, 0x72, 0xf3, 0xbf, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x96, 0xcf, 0xfa, 0xae, 0xe3, 0x33, 0x00, 0x00, } func (m *Transaction) Marshal() (dAtA []byte, err error) { @@ -3681,28 +3873,29 @@ func (m *TransactionBody) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.XEncryptedMemo != nil { + if m.MemoData != nil { { - size := m.XEncryptedMemo.Size() - i -= size - if _, err := m.XEncryptedMemo.MarshalTo(dAtA[i:]); err != nil { + size, err := m.MemoData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { return 0, err } + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x2a } - if len(m.FmdClues) > 0 { - for iNdEx := len(m.FmdClues) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.FmdClues[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTransaction(dAtA, i, uint64(size)) + if m.DetectionData != nil { + { + size, err := m.DetectionData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0x2a + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x22 } if m.Fee != nil { { @@ -3714,19 +3907,19 @@ func (m *TransactionBody) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintTransaction(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x22 + dAtA[i] = 0x1a } - if len(m.ChainId) > 0 { - i -= len(m.ChainId) - copy(dAtA[i:], m.ChainId) - i = encodeVarintTransaction(dAtA, i, uint64(len(m.ChainId))) - i-- - dAtA[i] = 0x1a - } - if m.ExpiryHeight != 0 { - i = encodeVarintTransaction(dAtA, i, uint64(m.ExpiryHeight)) + if m.TransactionParameters != nil { + { + size, err := m.TransactionParameters.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.Actions) > 0 { for iNdEx := len(m.Actions) - 1; iNdEx >= 0; iNdEx-- { @@ -3745,22 +3938,126 @@ func (m *TransactionBody) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *TransactionBody_EncryptedMemo) MarshalTo(dAtA []byte) (int, error) { +func (m *MemoData) 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 *MemoData) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionBody_EncryptedMemo) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MemoData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XEncryptedMemo != nil { + { + size := m.XEncryptedMemo.Size() + i -= size + if _, err := m.XEncryptedMemo.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + } + } + return len(dAtA) - i, nil +} + +func (m *MemoData_EncryptedMemo) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MemoData_EncryptedMemo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) if m.EncryptedMemo != nil { i -= len(m.EncryptedMemo) copy(dAtA[i:], m.EncryptedMemo) i = encodeVarintTransaction(dAtA, i, uint64(len(m.EncryptedMemo))) i-- - dAtA[i] = 0x32 + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} +func (m *TransactionParameters) 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 *TransactionParameters) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TransactionParameters) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ChainId) > 0 { + i -= len(m.ChainId) + copy(dAtA[i:], m.ChainId) + i = encodeVarintTransaction(dAtA, i, uint64(len(m.ChainId))) + i-- + dAtA[i] = 0x12 + } + if m.ExpiryHeight != 0 { + i = encodeVarintTransaction(dAtA, i, uint64(m.ExpiryHeight)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } + +func (m *DetectionData) 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 *DetectionData) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *DetectionData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.FmdClues) > 0 { + for iNdEx := len(m.FmdClues) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.FmdClues[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + return len(dAtA) - i, nil +} + func (m *Action) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -4603,18 +4900,13 @@ func (m *TransactionBodyView) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } } - if len(m.FmdClues) > 0 { - for iNdEx := len(m.FmdClues) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.FmdClues[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTransaction(dAtA, i, uint64(size)) + if m.XDetectionData != nil { + { + size := m.XDetectionData.Size() + i -= size + if _, err := m.XDetectionData.MarshalTo(dAtA[i:]); err != nil { + return 0, err } - i-- - dAtA[i] = 0x2a } } if m.Fee != nil { @@ -4627,19 +4919,19 @@ func (m *TransactionBodyView) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintTransaction(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x22 - } - if len(m.ChainId) > 0 { - i -= len(m.ChainId) - copy(dAtA[i:], m.ChainId) - i = encodeVarintTransaction(dAtA, i, uint64(len(m.ChainId))) - i-- dAtA[i] = 0x1a } - if m.ExpiryHeight != 0 { - i = encodeVarintTransaction(dAtA, i, uint64(m.ExpiryHeight)) + if m.TransactionParameters != nil { + { + size, err := m.TransactionParameters.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) + } i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } if len(m.ActionViews) > 0 { for iNdEx := len(m.ActionViews) - 1; iNdEx >= 0; iNdEx-- { @@ -4658,6 +4950,27 @@ func (m *TransactionBodyView) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *TransactionBodyView_DetectionData) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TransactionBodyView_DetectionData) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DetectionData != nil { + { + size, err := m.DetectionData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTransaction(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} func (m *TransactionBodyView_MemoView) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) @@ -4675,7 +4988,7 @@ func (m *TransactionBodyView_MemoView) MarshalToSizedBuffer(dAtA []byte) (int, e i = encodeVarintTransaction(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x32 + dAtA[i] = 0x2a } return len(dAtA) - i, nil } @@ -6971,6 +7284,20 @@ func (m *SpendPlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ProofBlindingS) > 0 { + i -= len(m.ProofBlindingS) + copy(dAtA[i:], m.ProofBlindingS) + i = encodeVarintTransaction(dAtA, i, uint64(len(m.ProofBlindingS))) + i-- + dAtA[i] = 0x32 + } + if len(m.ProofBlindingR) > 0 { + i -= len(m.ProofBlindingR) + copy(dAtA[i:], m.ProofBlindingR) + i = encodeVarintTransaction(dAtA, i, uint64(len(m.ProofBlindingR))) + i-- + dAtA[i] = 0x2a + } if len(m.ValueBlinding) > 0 { i -= len(m.ValueBlinding) copy(dAtA[i:], m.ValueBlinding) @@ -7025,6 +7352,20 @@ func (m *OutputPlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.ProofBlindingS) > 0 { + i -= len(m.ProofBlindingS) + copy(dAtA[i:], m.ProofBlindingS) + i = encodeVarintTransaction(dAtA, i, uint64(len(m.ProofBlindingS))) + i-- + dAtA[i] = 0x32 + } + if len(m.ProofBlindingR) > 0 { + i -= len(m.ProofBlindingR) + copy(dAtA[i:], m.ProofBlindingR) + i = encodeVarintTransaction(dAtA, i, uint64(len(m.ProofBlindingR))) + i-- + dAtA[i] = 0x2a + } if len(m.ValueBlinding) > 0 { i -= len(m.ValueBlinding) copy(dAtA[i:], m.ValueBlinding) @@ -7136,30 +7477,38 @@ func (m *TransactionBody) Size() (n int) { n += 1 + l + sovTransaction(uint64(l)) } } - if m.ExpiryHeight != 0 { - n += 1 + sovTransaction(uint64(m.ExpiryHeight)) - } - l = len(m.ChainId) - if l > 0 { + if m.TransactionParameters != nil { + l = m.TransactionParameters.Size() n += 1 + l + sovTransaction(uint64(l)) } if m.Fee != nil { l = m.Fee.Size() n += 1 + l + sovTransaction(uint64(l)) } - if len(m.FmdClues) > 0 { - for _, e := range m.FmdClues { - l = e.Size() - n += 1 + l + sovTransaction(uint64(l)) - } + if m.DetectionData != nil { + l = m.DetectionData.Size() + n += 1 + l + sovTransaction(uint64(l)) + } + if m.MemoData != nil { + l = m.MemoData.Size() + n += 1 + l + sovTransaction(uint64(l)) + } + return n +} + +func (m *MemoData) Size() (n int) { + if m == nil { + return 0 } + var l int + _ = l if m.XEncryptedMemo != nil { n += m.XEncryptedMemo.Size() } return n } -func (m *TransactionBody_EncryptedMemo) Size() (n int) { +func (m *MemoData_EncryptedMemo) Size() (n int) { if m == nil { return 0 } @@ -7171,6 +7520,37 @@ func (m *TransactionBody_EncryptedMemo) Size() (n int) { } return n } +func (m *TransactionParameters) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ExpiryHeight != 0 { + n += 1 + sovTransaction(uint64(m.ExpiryHeight)) + } + l = len(m.ChainId) + if l > 0 { + n += 1 + l + sovTransaction(uint64(l)) + } + return n +} + +func (m *DetectionData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.FmdClues) > 0 { + for _, e := range m.FmdClues { + l = e.Size() + n += 1 + l + sovTransaction(uint64(l)) + } + } + return n +} + func (m *Action) Size() (n int) { if m == nil { return 0 @@ -7570,22 +7950,16 @@ func (m *TransactionBodyView) Size() (n int) { n += 1 + l + sovTransaction(uint64(l)) } } - if m.ExpiryHeight != 0 { - n += 1 + sovTransaction(uint64(m.ExpiryHeight)) - } - l = len(m.ChainId) - if l > 0 { + if m.TransactionParameters != nil { + l = m.TransactionParameters.Size() n += 1 + l + sovTransaction(uint64(l)) } if m.Fee != nil { l = m.Fee.Size() n += 1 + l + sovTransaction(uint64(l)) } - if len(m.FmdClues) > 0 { - for _, e := range m.FmdClues { - l = e.Size() - n += 1 + l + sovTransaction(uint64(l)) - } + if m.XDetectionData != nil { + n += m.XDetectionData.Size() } if m.XMemoView != nil { n += m.XMemoView.Size() @@ -7593,6 +7967,18 @@ func (m *TransactionBodyView) Size() (n int) { return n } +func (m *TransactionBodyView_DetectionData) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DetectionData != nil { + l = m.DetectionData.Size() + n += 1 + l + sovTransaction(uint64(l)) + } + return n +} func (m *TransactionBodyView_MemoView) Size() (n int) { if m == nil { return 0 @@ -8677,6 +9063,14 @@ func (m *SpendPlan) Size() (n int) { if l > 0 { n += 1 + l + sovTransaction(uint64(l)) } + l = len(m.ProofBlindingR) + if l > 0 { + n += 1 + l + sovTransaction(uint64(l)) + } + l = len(m.ProofBlindingS) + if l > 0 { + n += 1 + l + sovTransaction(uint64(l)) + } return n } @@ -8702,6 +9096,14 @@ func (m *OutputPlan) Size() (n int) { if l > 0 { n += 1 + l + sovTransaction(uint64(l)) } + l = len(m.ProofBlindingR) + if l > 0 { + n += 1 + l + sovTransaction(uint64(l)) + } + l = len(m.ProofBlindingS) + if l > 0 { + n += 1 + l + sovTransaction(uint64(l)) + } return n } @@ -9099,10 +9501,10 @@ func (m *TransactionBody) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpiryHeight", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TransactionParameters", wireType) } - m.ExpiryHeight = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTransaction @@ -9112,16 +9514,33 @@ func (m *TransactionBody) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ExpiryHeight |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TransactionParameters == nil { + m.TransactionParameters = &TransactionParameters{} + } + if err := m.TransactionParameters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTransaction @@ -9131,27 +9550,31 @@ func (m *TransactionBody) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTransaction } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTransaction } if postIndex > l { return io.ErrUnexpectedEOF } - m.ChainId = string(dAtA[iNdEx:postIndex]) + if m.Fee == nil { + m.Fee = &v1alpha1.Fee{} + } + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DetectionData", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9163,29 +9586,299 @@ func (m *TransactionBody) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DetectionData == nil { + m.DetectionData = &DetectionData{} + } + if err := m.DetectionData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MemoData", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MemoData == nil { + m.MemoData = &MemoData{} + } + if err := m.MemoData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTransaction(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTransaction + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MemoData) 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 ErrIntOverflowTransaction + } + 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: MemoData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MemoData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptedMemo", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := make([]byte, postIndex-iNdEx) + copy(v, dAtA[iNdEx:postIndex]) + m.XEncryptedMemo = &MemoData_EncryptedMemo{v} + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTransaction(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTransaction + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TransactionParameters) 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 ErrIntOverflowTransaction + } + 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: TransactionParameters: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TransactionParameters: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpiryHeight", wireType) + } + m.ExpiryHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExpiryHeight |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTransaction } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTransaction } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Fee == nil { - m.Fee = &v1alpha1.Fee{} - } - if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.ChainId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTransaction(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex - case 5: + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTransaction + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DetectionData) 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 ErrIntOverflowTransaction + } + 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: DetectionData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DetectionData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field FmdClues", wireType) } @@ -9219,39 +9912,6 @@ func (m *TransactionBody) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EncryptedMemo", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTransaction - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTransaction - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTransaction - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - v := make([]byte, postIndex-iNdEx) - copy(v, dAtA[iNdEx:postIndex]) - m.XEncryptedMemo = &TransactionBody_EncryptedMemo{v} - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTransaction(dAtA[iNdEx:]) @@ -10897,29 +11557,10 @@ func (m *TransactionBodyView) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpiryHeight", wireType) - } - m.ExpiryHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTransaction - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ExpiryHeight |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChainId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TransactionParameters", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTransaction @@ -10929,25 +11570,29 @@ func (m *TransactionBodyView) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTransaction } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTransaction } if postIndex > l { return io.ErrUnexpectedEOF } - m.ChainId = string(dAtA[iNdEx:postIndex]) + if m.TransactionParameters == nil { + m.TransactionParameters = &TransactionParameters{} + } + if err := m.TransactionParameters.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 4: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) } @@ -10983,9 +11628,9 @@ func (m *TransactionBodyView) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 5: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FmdClues", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DetectionData", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11012,12 +11657,13 @@ func (m *TransactionBodyView) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.FmdClues = append(m.FmdClues, &v1alpha1.Clue{}) - if err := m.FmdClues[len(m.FmdClues)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + v := &DetectionData{} + if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } + m.XDetectionData = &TransactionBodyView_DetectionData{v} iNdEx = postIndex - case 6: + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field MemoView", wireType) } @@ -15813,6 +16459,74 @@ func (m *SpendPlan) Unmarshal(dAtA []byte) error { m.ValueBlinding = []byte{} } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingR", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingR = append(m.ProofBlindingR[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingR == nil { + m.ProofBlindingR = []byte{} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingS", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingS = append(m.ProofBlindingS[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingS == nil { + m.ProofBlindingS = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTransaction(dAtA[iNdEx:]) @@ -16003,6 +16717,74 @@ func (m *OutputPlan) Unmarshal(dAtA []byte) error { m.ValueBlinding = []byte{} } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingR", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingR = append(m.ProofBlindingR[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingR == nil { + m.ProofBlindingR = []byte{} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofBlindingS", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTransaction + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTransaction + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTransaction + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofBlindingS = append(m.ProofBlindingS[:0], dAtA[iNdEx:postIndex]...) + if m.ProofBlindingS == nil { + m.ProofBlindingS = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTransaction(dAtA[iNdEx:]) diff --git a/relayer/chains/penumbra/tx.go b/relayer/chains/penumbra/tx.go index 5f0827957..4ef4c8d30 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -313,8 +313,10 @@ func (cc *PenumbraProvider) sendMessagesInner(ctx context.Context, msgs []provid // will have a signing protocol for this. txBody := penumbratypes.TransactionBody{ - Actions: make([]*penumbratypes.Action, 0), - Fee: &penumbracrypto.Fee{Amount: &penumbracrypto.Amount{Lo: 0, Hi: 0}}, + Actions: make([]*penumbratypes.Action, 0), + Fee: &penumbracrypto.Fee{Amount: &penumbracrypto.Amount{Lo: 0, Hi: 0}}, + MemoData: &penumbratypes.MemoData{}, + TransactionParameters: &penumbratypes.TransactionParameters{}, } for _, msg := range PenumbraMsgs(msgs...) { diff --git a/relayer/chains/penumbra/view/v1alpha1/view.pb.go b/relayer/chains/penumbra/view/v1alpha1/view.pb.go index d8dcd6e9e..aacce5f7e 100644 --- a/relayer/chains/penumbra/view/v1alpha1/view.pb.go +++ b/relayer/chains/penumbra/view/v1alpha1/view.pb.go @@ -33,6 +33,105 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type AuthorizeAndBuildRequest struct { + // The transaction plan to authorize and build. + TransactionPlan *v1alpha1.TransactionPlan `protobuf:"bytes,1,opt,name=transaction_plan,json=transactionPlan,proto3" json:"transaction_plan,omitempty"` + // The authorization data to use to authorize the transaction plan. + AuthorizationData *v1alpha1.AuthorizationData `protobuf:"bytes,2,opt,name=authorization_data,json=authorizationData,proto3" json:"authorization_data,omitempty"` +} + +func (m *AuthorizeAndBuildRequest) Reset() { *m = AuthorizeAndBuildRequest{} } +func (m *AuthorizeAndBuildRequest) String() string { return proto.CompactTextString(m) } +func (*AuthorizeAndBuildRequest) ProtoMessage() {} +func (*AuthorizeAndBuildRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{0} +} +func (m *AuthorizeAndBuildRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AuthorizeAndBuildRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AuthorizeAndBuildRequest.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 *AuthorizeAndBuildRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_AuthorizeAndBuildRequest.Merge(m, src) +} +func (m *AuthorizeAndBuildRequest) XXX_Size() int { + return m.Size() +} +func (m *AuthorizeAndBuildRequest) XXX_DiscardUnknown() { + xxx_messageInfo_AuthorizeAndBuildRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_AuthorizeAndBuildRequest proto.InternalMessageInfo + +func (m *AuthorizeAndBuildRequest) GetTransactionPlan() *v1alpha1.TransactionPlan { + if m != nil { + return m.TransactionPlan + } + return nil +} + +func (m *AuthorizeAndBuildRequest) GetAuthorizationData() *v1alpha1.AuthorizationData { + if m != nil { + return m.AuthorizationData + } + return nil +} + +type AuthorizeAndBuildResponse struct { + // The transaction that was built. + Transaction *v1alpha1.Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` +} + +func (m *AuthorizeAndBuildResponse) Reset() { *m = AuthorizeAndBuildResponse{} } +func (m *AuthorizeAndBuildResponse) String() string { return proto.CompactTextString(m) } +func (*AuthorizeAndBuildResponse) ProtoMessage() {} +func (*AuthorizeAndBuildResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{1} +} +func (m *AuthorizeAndBuildResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *AuthorizeAndBuildResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_AuthorizeAndBuildResponse.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 *AuthorizeAndBuildResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_AuthorizeAndBuildResponse.Merge(m, src) +} +func (m *AuthorizeAndBuildResponse) XXX_Size() int { + return m.Size() +} +func (m *AuthorizeAndBuildResponse) XXX_DiscardUnknown() { + xxx_messageInfo_AuthorizeAndBuildResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_AuthorizeAndBuildResponse proto.InternalMessageInfo + +func (m *AuthorizeAndBuildResponse) GetTransaction() *v1alpha1.Transaction { + if m != nil { + return m.Transaction + } + return nil +} + type BroadcastTransactionRequest struct { // The transaction to broadcast. Transaction *v1alpha1.Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` @@ -44,7 +143,7 @@ func (m *BroadcastTransactionRequest) Reset() { *m = BroadcastTransactio func (m *BroadcastTransactionRequest) String() string { return proto.CompactTextString(m) } func (*BroadcastTransactionRequest) ProtoMessage() {} func (*BroadcastTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{0} + return fileDescriptor_0aa947b204e6a7c2, []int{2} } func (m *BroadcastTransactionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -99,7 +198,7 @@ func (m *BroadcastTransactionResponse) Reset() { *m = BroadcastTransacti func (m *BroadcastTransactionResponse) String() string { return proto.CompactTextString(m) } func (*BroadcastTransactionResponse) ProtoMessage() {} func (*BroadcastTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{1} + return fileDescriptor_0aa947b204e6a7c2, []int{3} } func (m *BroadcastTransactionResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -164,7 +263,7 @@ func (m *TransactionPlannerRequest) Reset() { *m = TransactionPlannerReq func (m *TransactionPlannerRequest) String() string { return proto.CompactTextString(m) } func (*TransactionPlannerRequest) ProtoMessage() {} func (*TransactionPlannerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{2} + return fileDescriptor_0aa947b204e6a7c2, []int{4} } func (m *TransactionPlannerRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -292,7 +391,7 @@ func (m *TransactionPlannerRequest_Output) Reset() { *m = TransactionPla func (m *TransactionPlannerRequest_Output) String() string { return proto.CompactTextString(m) } func (*TransactionPlannerRequest_Output) ProtoMessage() {} func (*TransactionPlannerRequest_Output) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{2, 0} + return fileDescriptor_0aa947b204e6a7c2, []int{4, 0} } func (m *TransactionPlannerRequest_Output) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -345,7 +444,7 @@ func (m *TransactionPlannerRequest_Swap) Reset() { *m = TransactionPlann func (m *TransactionPlannerRequest_Swap) String() string { return proto.CompactTextString(m) } func (*TransactionPlannerRequest_Swap) ProtoMessage() {} func (*TransactionPlannerRequest_Swap) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{2, 1} + return fileDescriptor_0aa947b204e6a7c2, []int{4, 1} } func (m *TransactionPlannerRequest_Swap) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -404,7 +503,7 @@ func (m *TransactionPlannerRequest_Delegate) Reset() { *m = TransactionP func (m *TransactionPlannerRequest_Delegate) String() string { return proto.CompactTextString(m) } func (*TransactionPlannerRequest_Delegate) ProtoMessage() {} func (*TransactionPlannerRequest_Delegate) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{2, 2} + return fileDescriptor_0aa947b204e6a7c2, []int{4, 2} } func (m *TransactionPlannerRequest_Delegate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -456,7 +555,7 @@ func (m *TransactionPlannerRequest_Undelegate) Reset() { *m = Transactio func (m *TransactionPlannerRequest_Undelegate) String() string { return proto.CompactTextString(m) } func (*TransactionPlannerRequest_Undelegate) ProtoMessage() {} func (*TransactionPlannerRequest_Undelegate) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{2, 3} + return fileDescriptor_0aa947b204e6a7c2, []int{4, 3} } func (m *TransactionPlannerRequest_Undelegate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -507,7 +606,7 @@ func (m *TransactionPlannerResponse) Reset() { *m = TransactionPlannerRe func (m *TransactionPlannerResponse) String() string { return proto.CompactTextString(m) } func (*TransactionPlannerResponse) ProtoMessage() {} func (*TransactionPlannerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{3} + return fileDescriptor_0aa947b204e6a7c2, []int{5} } func (m *TransactionPlannerResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -544,14 +643,15 @@ func (m *TransactionPlannerResponse) GetPlan() *v1alpha1.TransactionPlan { } type AddressByIndexRequest struct { - AddressIndex *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=address_index,json=addressIndex,proto3" json:"address_index,omitempty"` + AddressIndex *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=address_index,json=addressIndex,proto3" json:"address_index,omitempty"` + DisplayConfirm bool `protobuf:"varint,2,opt,name=display_confirm,json=displayConfirm,proto3" json:"display_confirm,omitempty"` } func (m *AddressByIndexRequest) Reset() { *m = AddressByIndexRequest{} } func (m *AddressByIndexRequest) String() string { return proto.CompactTextString(m) } func (*AddressByIndexRequest) ProtoMessage() {} func (*AddressByIndexRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{4} + return fileDescriptor_0aa947b204e6a7c2, []int{6} } func (m *AddressByIndexRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -587,6 +687,13 @@ func (m *AddressByIndexRequest) GetAddressIndex() *v1alpha11.AddressIndex { return nil } +func (m *AddressByIndexRequest) GetDisplayConfirm() bool { + if m != nil { + return m.DisplayConfirm + } + return false +} + type AddressByIndexResponse struct { Address *v1alpha11.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } @@ -595,7 +702,7 @@ func (m *AddressByIndexResponse) Reset() { *m = AddressByIndexResponse{} func (m *AddressByIndexResponse) String() string { return proto.CompactTextString(m) } func (*AddressByIndexResponse) ProtoMessage() {} func (*AddressByIndexResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{5} + return fileDescriptor_0aa947b204e6a7c2, []int{7} } func (m *AddressByIndexResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -639,7 +746,7 @@ func (m *IndexByAddressRequest) Reset() { *m = IndexByAddressRequest{} } func (m *IndexByAddressRequest) String() string { return proto.CompactTextString(m) } func (*IndexByAddressRequest) ProtoMessage() {} func (*IndexByAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{6} + return fileDescriptor_0aa947b204e6a7c2, []int{8} } func (m *IndexByAddressRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -685,7 +792,7 @@ func (m *IndexByAddressResponse) Reset() { *m = IndexByAddressResponse{} func (m *IndexByAddressResponse) String() string { return proto.CompactTextString(m) } func (*IndexByAddressResponse) ProtoMessage() {} func (*IndexByAddressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{7} + return fileDescriptor_0aa947b204e6a7c2, []int{9} } func (m *IndexByAddressResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -748,14 +855,15 @@ func (*IndexByAddressResponse) XXX_OneofWrappers() []interface{} { } type EphemeralAddressRequest struct { - AddressIndex *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=address_index,json=addressIndex,proto3" json:"address_index,omitempty"` + AddressIndex *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=address_index,json=addressIndex,proto3" json:"address_index,omitempty"` + DisplayConfirm bool `protobuf:"varint,2,opt,name=display_confirm,json=displayConfirm,proto3" json:"display_confirm,omitempty"` } func (m *EphemeralAddressRequest) Reset() { *m = EphemeralAddressRequest{} } func (m *EphemeralAddressRequest) String() string { return proto.CompactTextString(m) } func (*EphemeralAddressRequest) ProtoMessage() {} func (*EphemeralAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{8} + return fileDescriptor_0aa947b204e6a7c2, []int{10} } func (m *EphemeralAddressRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -791,6 +899,13 @@ func (m *EphemeralAddressRequest) GetAddressIndex() *v1alpha11.AddressIndex { return nil } +func (m *EphemeralAddressRequest) GetDisplayConfirm() bool { + if m != nil { + return m.DisplayConfirm + } + return false +} + type EphemeralAddressResponse struct { Address *v1alpha11.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` } @@ -799,7 +914,7 @@ func (m *EphemeralAddressResponse) Reset() { *m = EphemeralAddressRespon func (m *EphemeralAddressResponse) String() string { return proto.CompactTextString(m) } func (*EphemeralAddressResponse) ProtoMessage() {} func (*EphemeralAddressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{9} + return fileDescriptor_0aa947b204e6a7c2, []int{11} } func (m *EphemeralAddressResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -835,22 +950,25 @@ func (m *EphemeralAddressResponse) GetAddress() *v1alpha11.Address { return nil } -type BalanceByAddressRequest struct { - Address *v1alpha11.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` +type BalancesRequest struct { + // If present, filter balances to only include the account specified by the `AddressIndex`. + AccountFilter *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=account_filter,json=accountFilter,proto3" json:"account_filter,omitempty"` + // If present, filter balances to only include the specified asset ID. + AssetIdFilter *v1alpha11.AssetId `protobuf:"bytes,2,opt,name=asset_id_filter,json=assetIdFilter,proto3" json:"asset_id_filter,omitempty"` } -func (m *BalanceByAddressRequest) Reset() { *m = BalanceByAddressRequest{} } -func (m *BalanceByAddressRequest) String() string { return proto.CompactTextString(m) } -func (*BalanceByAddressRequest) ProtoMessage() {} -func (*BalanceByAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{10} +func (m *BalancesRequest) Reset() { *m = BalancesRequest{} } +func (m *BalancesRequest) String() string { return proto.CompactTextString(m) } +func (*BalancesRequest) ProtoMessage() {} +func (*BalancesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{12} } -func (m *BalanceByAddressRequest) XXX_Unmarshal(b []byte) error { +func (m *BalancesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *BalanceByAddressRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *BalancesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_BalanceByAddressRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_BalancesRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -860,42 +978,49 @@ func (m *BalanceByAddressRequest) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (m *BalanceByAddressRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_BalanceByAddressRequest.Merge(m, src) +func (m *BalancesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_BalancesRequest.Merge(m, src) } -func (m *BalanceByAddressRequest) XXX_Size() int { +func (m *BalancesRequest) XXX_Size() int { return m.Size() } -func (m *BalanceByAddressRequest) XXX_DiscardUnknown() { - xxx_messageInfo_BalanceByAddressRequest.DiscardUnknown(m) +func (m *BalancesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_BalancesRequest.DiscardUnknown(m) } -var xxx_messageInfo_BalanceByAddressRequest proto.InternalMessageInfo +var xxx_messageInfo_BalancesRequest proto.InternalMessageInfo -func (m *BalanceByAddressRequest) GetAddress() *v1alpha11.Address { +func (m *BalancesRequest) GetAccountFilter() *v1alpha11.AddressIndex { if m != nil { - return m.Address + return m.AccountFilter + } + return nil +} + +func (m *BalancesRequest) GetAssetIdFilter() *v1alpha11.AssetId { + if m != nil { + return m.AssetIdFilter } return nil } -type BalanceByAddressResponse struct { - Asset *v1alpha11.AssetId `protobuf:"bytes,1,opt,name=asset,proto3" json:"asset,omitempty"` - Amount *v1alpha11.Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +type BalancesResponse struct { + Account *v1alpha11.AddressIndex `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Balance *v1alpha11.Value `protobuf:"bytes,2,opt,name=balance,proto3" json:"balance,omitempty"` } -func (m *BalanceByAddressResponse) Reset() { *m = BalanceByAddressResponse{} } -func (m *BalanceByAddressResponse) String() string { return proto.CompactTextString(m) } -func (*BalanceByAddressResponse) ProtoMessage() {} -func (*BalanceByAddressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{11} +func (m *BalancesResponse) Reset() { *m = BalancesResponse{} } +func (m *BalancesResponse) String() string { return proto.CompactTextString(m) } +func (*BalancesResponse) ProtoMessage() {} +func (*BalancesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{13} } -func (m *BalanceByAddressResponse) XXX_Unmarshal(b []byte) error { +func (m *BalancesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *BalanceByAddressResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *BalancesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_BalanceByAddressResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_BalancesResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -905,28 +1030,28 @@ func (m *BalanceByAddressResponse) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *BalanceByAddressResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_BalanceByAddressResponse.Merge(m, src) +func (m *BalancesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_BalancesResponse.Merge(m, src) } -func (m *BalanceByAddressResponse) XXX_Size() int { +func (m *BalancesResponse) XXX_Size() int { return m.Size() } -func (m *BalanceByAddressResponse) XXX_DiscardUnknown() { - xxx_messageInfo_BalanceByAddressResponse.DiscardUnknown(m) +func (m *BalancesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_BalancesResponse.DiscardUnknown(m) } -var xxx_messageInfo_BalanceByAddressResponse proto.InternalMessageInfo +var xxx_messageInfo_BalancesResponse proto.InternalMessageInfo -func (m *BalanceByAddressResponse) GetAsset() *v1alpha11.AssetId { +func (m *BalancesResponse) GetAccount() *v1alpha11.AddressIndex { if m != nil { - return m.Asset + return m.Account } return nil } -func (m *BalanceByAddressResponse) GetAmount() *v1alpha11.Amount { +func (m *BalancesResponse) GetBalance() *v1alpha11.Value { if m != nil { - return m.Amount + return m.Balance } return nil } @@ -940,7 +1065,7 @@ func (m *ViewAuthToken) Reset() { *m = ViewAuthToken{} } func (m *ViewAuthToken) String() string { return proto.CompactTextString(m) } func (*ViewAuthToken) ProtoMessage() {} func (*ViewAuthToken) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{12} + return fileDescriptor_0aa947b204e6a7c2, []int{14} } func (m *ViewAuthToken) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -984,7 +1109,7 @@ func (m *ViewAuthRequest) Reset() { *m = ViewAuthRequest{} } func (m *ViewAuthRequest) String() string { return proto.CompactTextString(m) } func (*ViewAuthRequest) ProtoMessage() {} func (*ViewAuthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{13} + return fileDescriptor_0aa947b204e6a7c2, []int{15} } func (m *ViewAuthRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1028,7 +1153,7 @@ func (m *ViewAuthResponse) Reset() { *m = ViewAuthResponse{} } func (m *ViewAuthResponse) String() string { return proto.CompactTextString(m) } func (*ViewAuthResponse) ProtoMessage() {} func (*ViewAuthResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{14} + return fileDescriptor_0aa947b204e6a7c2, []int{16} } func (m *ViewAuthResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1075,7 +1200,7 @@ func (m *StatusRequest) Reset() { *m = StatusRequest{} } func (m *StatusRequest) String() string { return proto.CompactTextString(m) } func (*StatusRequest) ProtoMessage() {} func (*StatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{15} + return fileDescriptor_0aa947b204e6a7c2, []int{17} } func (m *StatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1149,7 +1274,7 @@ func (m *StatusResponse) Reset() { *m = StatusResponse{} } func (m *StatusResponse) String() string { return proto.CompactTextString(m) } func (*StatusResponse) ProtoMessage() {} func (*StatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{16} + return fileDescriptor_0aa947b204e6a7c2, []int{18} } func (m *StatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1203,7 +1328,7 @@ func (m *StatusStreamRequest) Reset() { *m = StatusStreamRequest{} } func (m *StatusStreamRequest) String() string { return proto.CompactTextString(m) } func (*StatusStreamRequest) ProtoMessage() {} func (*StatusStreamRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{17} + return fileDescriptor_0aa947b204e6a7c2, []int{19} } func (m *StatusStreamRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1275,7 +1400,7 @@ func (m *StatusStreamResponse) Reset() { *m = StatusStreamResponse{} } func (m *StatusStreamResponse) String() string { return proto.CompactTextString(m) } func (*StatusStreamResponse) ProtoMessage() {} func (*StatusStreamResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{18} + return fileDescriptor_0aa947b204e6a7c2, []int{20} } func (m *StatusStreamResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1342,7 +1467,7 @@ func (m *NotesRequest) Reset() { *m = NotesRequest{} } func (m *NotesRequest) String() string { return proto.CompactTextString(m) } func (*NotesRequest) ProtoMessage() {} func (*NotesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{19} + return fileDescriptor_0aa947b204e6a7c2, []int{21} } func (m *NotesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1447,7 +1572,7 @@ func (m *NotesForVotingRequest) Reset() { *m = NotesForVotingRequest{} } func (m *NotesForVotingRequest) String() string { return proto.CompactTextString(m) } func (*NotesForVotingRequest) ProtoMessage() {} func (*NotesForVotingRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{20} + return fileDescriptor_0aa947b204e6a7c2, []int{22} } func (m *NotesForVotingRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1537,7 +1662,7 @@ func (m *WitnessRequest) Reset() { *m = WitnessRequest{} } func (m *WitnessRequest) String() string { return proto.CompactTextString(m) } func (*WitnessRequest) ProtoMessage() {} func (*WitnessRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{21} + return fileDescriptor_0aa947b204e6a7c2, []int{23} } func (m *WitnessRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1621,7 +1746,7 @@ func (m *WitnessResponse) Reset() { *m = WitnessResponse{} } func (m *WitnessResponse) String() string { return proto.CompactTextString(m) } func (*WitnessResponse) ProtoMessage() {} func (*WitnessResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{22} + return fileDescriptor_0aa947b204e6a7c2, []int{24} } func (m *WitnessResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1666,7 +1791,7 @@ func (m *WitnessAndBuildRequest) Reset() { *m = WitnessAndBuildRequest{} func (m *WitnessAndBuildRequest) String() string { return proto.CompactTextString(m) } func (*WitnessAndBuildRequest) ProtoMessage() {} func (*WitnessAndBuildRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{23} + return fileDescriptor_0aa947b204e6a7c2, []int{25} } func (m *WitnessAndBuildRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1717,7 +1842,7 @@ func (m *WitnessAndBuildResponse) Reset() { *m = WitnessAndBuildResponse func (m *WitnessAndBuildResponse) String() string { return proto.CompactTextString(m) } func (*WitnessAndBuildResponse) ProtoMessage() {} func (*WitnessAndBuildResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{24} + return fileDescriptor_0aa947b204e6a7c2, []int{26} } func (m *WitnessAndBuildResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1776,7 +1901,7 @@ func (m *AssetsRequest) Reset() { *m = AssetsRequest{} } func (m *AssetsRequest) String() string { return proto.CompactTextString(m) } func (*AssetsRequest) ProtoMessage() {} func (*AssetsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{25} + return fileDescriptor_0aa947b204e6a7c2, []int{27} } func (m *AssetsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1863,7 +1988,7 @@ func (m *AssetsResponse) Reset() { *m = AssetsResponse{} } func (m *AssetsResponse) String() string { return proto.CompactTextString(m) } func (*AssetsResponse) ProtoMessage() {} func (*AssetsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{26} + return fileDescriptor_0aa947b204e6a7c2, []int{28} } func (m *AssetsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1907,7 +2032,7 @@ func (m *ChainParametersRequest) Reset() { *m = ChainParametersRequest{} func (m *ChainParametersRequest) String() string { return proto.CompactTextString(m) } func (*ChainParametersRequest) ProtoMessage() {} func (*ChainParametersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{27} + return fileDescriptor_0aa947b204e6a7c2, []int{29} } func (m *ChainParametersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1944,7 +2069,7 @@ func (m *ChainParametersResponse) Reset() { *m = ChainParametersResponse func (m *ChainParametersResponse) String() string { return proto.CompactTextString(m) } func (*ChainParametersResponse) ProtoMessage() {} func (*ChainParametersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{28} + return fileDescriptor_0aa947b204e6a7c2, []int{30} } func (m *ChainParametersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1988,7 +2113,7 @@ func (m *FMDParametersRequest) Reset() { *m = FMDParametersRequest{} } func (m *FMDParametersRequest) String() string { return proto.CompactTextString(m) } func (*FMDParametersRequest) ProtoMessage() {} func (*FMDParametersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{29} + return fileDescriptor_0aa947b204e6a7c2, []int{31} } func (m *FMDParametersRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2025,7 +2150,7 @@ func (m *FMDParametersResponse) Reset() { *m = FMDParametersResponse{} } func (m *FMDParametersResponse) String() string { return proto.CompactTextString(m) } func (*FMDParametersResponse) ProtoMessage() {} func (*FMDParametersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{30} + return fileDescriptor_0aa947b204e6a7c2, []int{32} } func (m *FMDParametersResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2074,7 +2199,7 @@ func (m *NoteByCommitmentRequest) Reset() { *m = NoteByCommitmentRequest func (m *NoteByCommitmentRequest) String() string { return proto.CompactTextString(m) } func (*NoteByCommitmentRequest) ProtoMessage() {} func (*NoteByCommitmentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{31} + return fileDescriptor_0aa947b204e6a7c2, []int{33} } func (m *NoteByCommitmentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2158,7 +2283,7 @@ func (m *NoteByCommitmentResponse) Reset() { *m = NoteByCommitmentRespon func (m *NoteByCommitmentResponse) String() string { return proto.CompactTextString(m) } func (*NoteByCommitmentResponse) ProtoMessage() {} func (*NoteByCommitmentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{32} + return fileDescriptor_0aa947b204e6a7c2, []int{34} } func (m *NoteByCommitmentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2207,7 +2332,7 @@ func (m *SwapByCommitmentRequest) Reset() { *m = SwapByCommitmentRequest func (m *SwapByCommitmentRequest) String() string { return proto.CompactTextString(m) } func (*SwapByCommitmentRequest) ProtoMessage() {} func (*SwapByCommitmentRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{33} + return fileDescriptor_0aa947b204e6a7c2, []int{35} } func (m *SwapByCommitmentRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2291,7 +2416,7 @@ func (m *SwapByCommitmentResponse) Reset() { *m = SwapByCommitmentRespon func (m *SwapByCommitmentResponse) String() string { return proto.CompactTextString(m) } func (*SwapByCommitmentResponse) ProtoMessage() {} func (*SwapByCommitmentResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{34} + return fileDescriptor_0aa947b204e6a7c2, []int{36} } func (m *SwapByCommitmentResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2339,7 +2464,7 @@ func (m *NullifierStatusRequest) Reset() { *m = NullifierStatusRequest{} func (m *NullifierStatusRequest) String() string { return proto.CompactTextString(m) } func (*NullifierStatusRequest) ProtoMessage() {} func (*NullifierStatusRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{35} + return fileDescriptor_0aa947b204e6a7c2, []int{37} } func (m *NullifierStatusRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2423,7 +2548,7 @@ func (m *NullifierStatusResponse) Reset() { *m = NullifierStatusResponse func (m *NullifierStatusResponse) String() string { return proto.CompactTextString(m) } func (*NullifierStatusResponse) ProtoMessage() {} func (*NullifierStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{36} + return fileDescriptor_0aa947b204e6a7c2, []int{38} } func (m *NullifierStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2468,7 +2593,7 @@ func (m *TransactionInfoByHashRequest) Reset() { *m = TransactionInfoByH func (m *TransactionInfoByHashRequest) String() string { return proto.CompactTextString(m) } func (*TransactionInfoByHashRequest) ProtoMessage() {} func (*TransactionInfoByHashRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{37} + return fileDescriptor_0aa947b204e6a7c2, []int{39} } func (m *TransactionInfoByHashRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2517,7 +2642,7 @@ func (m *TransactionInfoRequest) Reset() { *m = TransactionInfoRequest{} func (m *TransactionInfoRequest) String() string { return proto.CompactTextString(m) } func (*TransactionInfoRequest) ProtoMessage() {} func (*TransactionInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{38} + return fileDescriptor_0aa947b204e6a7c2, []int{40} } func (m *TransactionInfoRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2620,7 +2745,7 @@ func (m *TransactionInfo) Reset() { *m = TransactionInfo{} } func (m *TransactionInfo) String() string { return proto.CompactTextString(m) } func (*TransactionInfo) ProtoMessage() {} func (*TransactionInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{39} + return fileDescriptor_0aa947b204e6a7c2, []int{41} } func (m *TransactionInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2718,7 +2843,7 @@ func (m *TransactionInfoResponse) Reset() { *m = TransactionInfoResponse func (m *TransactionInfoResponse) String() string { return proto.CompactTextString(m) } func (*TransactionInfoResponse) ProtoMessage() {} func (*TransactionInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{40} + return fileDescriptor_0aa947b204e6a7c2, []int{42} } func (m *TransactionInfoResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2762,7 +2887,7 @@ func (m *TransactionInfoByHashResponse) Reset() { *m = TransactionInfoBy func (m *TransactionInfoByHashResponse) String() string { return proto.CompactTextString(m) } func (*TransactionInfoByHashResponse) ProtoMessage() {} func (*TransactionInfoByHashResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{41} + return fileDescriptor_0aa947b204e6a7c2, []int{43} } func (m *TransactionInfoByHashResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2806,7 +2931,7 @@ func (m *NotesResponse) Reset() { *m = NotesResponse{} } func (m *NotesResponse) String() string { return proto.CompactTextString(m) } func (*NotesResponse) ProtoMessage() {} func (*NotesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{42} + return fileDescriptor_0aa947b204e6a7c2, []int{44} } func (m *NotesResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2851,7 +2976,7 @@ func (m *NotesForVotingResponse) Reset() { *m = NotesForVotingResponse{} func (m *NotesForVotingResponse) String() string { return proto.CompactTextString(m) } func (*NotesForVotingResponse) ProtoMessage() {} func (*NotesForVotingResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{43} + return fileDescriptor_0aa947b204e6a7c2, []int{45} } func (m *NotesForVotingResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2919,7 +3044,7 @@ func (m *SpendableNoteRecord) Reset() { *m = SpendableNoteRecord{} } func (m *SpendableNoteRecord) String() string { return proto.CompactTextString(m) } func (*SpendableNoteRecord) ProtoMessage() {} func (*SpendableNoteRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{44} + return fileDescriptor_0aa947b204e6a7c2, []int{46} } func (m *SpendableNoteRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3046,7 +3171,7 @@ func (m *SwapRecord) Reset() { *m = SwapRecord{} } func (m *SwapRecord) String() string { return proto.CompactTextString(m) } func (*SwapRecord) ProtoMessage() {} func (*SwapRecord) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{45} + return fileDescriptor_0aa947b204e6a7c2, []int{47} } func (m *SwapRecord) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3163,7 +3288,7 @@ func (m *OwnedPositionIdsRequest) Reset() { *m = OwnedPositionIdsRequest func (m *OwnedPositionIdsRequest) String() string { return proto.CompactTextString(m) } func (*OwnedPositionIdsRequest) ProtoMessage() {} func (*OwnedPositionIdsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{46} + return fileDescriptor_0aa947b204e6a7c2, []int{48} } func (m *OwnedPositionIdsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3256,7 +3381,7 @@ func (m *OwnedPositionIdsResponse) Reset() { *m = OwnedPositionIdsRespon func (m *OwnedPositionIdsResponse) String() string { return proto.CompactTextString(m) } func (*OwnedPositionIdsResponse) ProtoMessage() {} func (*OwnedPositionIdsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{47} + return fileDescriptor_0aa947b204e6a7c2, []int{49} } func (m *OwnedPositionIdsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3293,6 +3418,8 @@ func (m *OwnedPositionIdsResponse) GetPositionIds() []*v1alpha15.PositionId { } func init() { + proto.RegisterType((*AuthorizeAndBuildRequest)(nil), "penumbra.view.v1alpha1.AuthorizeAndBuildRequest") + proto.RegisterType((*AuthorizeAndBuildResponse)(nil), "penumbra.view.v1alpha1.AuthorizeAndBuildResponse") proto.RegisterType((*BroadcastTransactionRequest)(nil), "penumbra.view.v1alpha1.BroadcastTransactionRequest") proto.RegisterType((*BroadcastTransactionResponse)(nil), "penumbra.view.v1alpha1.BroadcastTransactionResponse") proto.RegisterType((*TransactionPlannerRequest)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest") @@ -3307,8 +3434,8 @@ func init() { proto.RegisterType((*IndexByAddressResponse)(nil), "penumbra.view.v1alpha1.IndexByAddressResponse") proto.RegisterType((*EphemeralAddressRequest)(nil), "penumbra.view.v1alpha1.EphemeralAddressRequest") proto.RegisterType((*EphemeralAddressResponse)(nil), "penumbra.view.v1alpha1.EphemeralAddressResponse") - proto.RegisterType((*BalanceByAddressRequest)(nil), "penumbra.view.v1alpha1.BalanceByAddressRequest") - proto.RegisterType((*BalanceByAddressResponse)(nil), "penumbra.view.v1alpha1.BalanceByAddressResponse") + proto.RegisterType((*BalancesRequest)(nil), "penumbra.view.v1alpha1.BalancesRequest") + proto.RegisterType((*BalancesResponse)(nil), "penumbra.view.v1alpha1.BalancesResponse") proto.RegisterType((*ViewAuthToken)(nil), "penumbra.view.v1alpha1.ViewAuthToken") proto.RegisterType((*ViewAuthRequest)(nil), "penumbra.view.v1alpha1.ViewAuthRequest") proto.RegisterType((*ViewAuthResponse)(nil), "penumbra.view.v1alpha1.ViewAuthResponse") @@ -3350,187 +3477,192 @@ func init() { func init() { proto.RegisterFile("penumbra/view/v1alpha1/view.proto", fileDescriptor_0aa947b204e6a7c2) } var fileDescriptor_0aa947b204e6a7c2 = []byte{ - // 2865 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xdd, 0x6f, 0x1b, 0xc7, - 0xb5, 0xf7, 0x92, 0xfa, 0xf2, 0xa1, 0x48, 0xca, 0x63, 0x5b, 0x62, 0x98, 0x44, 0xf1, 0xdd, 0xc4, - 0xb6, 0xe2, 0x24, 0x94, 0xa3, 0x38, 0xb9, 0xb9, 0x4a, 0x82, 0x1b, 0xd1, 0xba, 0xb2, 0x04, 0xc7, - 0x31, 0xef, 0xca, 0x56, 0x9a, 0x44, 0xe9, 0x62, 0xb4, 0x3b, 0x92, 0xb6, 0x22, 0x77, 0x37, 0xbb, - 0x43, 0x51, 0x6a, 0x9f, 0x52, 0x04, 0x85, 0x11, 0xa0, 0x41, 0xdf, 0x8a, 0xbc, 0xf6, 0xb1, 0xe8, - 0x6b, 0x5f, 0xfb, 0xd2, 0x97, 0xa2, 0x4f, 0x79, 0x2c, 0xd0, 0xa2, 0x28, 0x1c, 0xf4, 0xa5, 0xfd, - 0x17, 0x0a, 0xb4, 0x98, 0xaf, 0xe5, 0xee, 0x92, 0x6b, 0x92, 0xb2, 0x0c, 0xb7, 0x4f, 0xe4, 0xcc, - 0x9c, 0xf3, 0x3b, 0x67, 0xce, 0x9c, 0x39, 0x73, 0xe6, 0xcc, 0xc2, 0x7f, 0xf9, 0xc4, 0x6d, 0xb7, - 0x76, 0x02, 0xbc, 0x78, 0xe8, 0x90, 0xce, 0xe2, 0xe1, 0xeb, 0xb8, 0xe9, 0xef, 0xe3, 0xd7, 0x79, - 0xab, 0xe6, 0x07, 0x1e, 0xf5, 0xd0, 0xac, 0x22, 0xa9, 0xf1, 0x4e, 0x45, 0x52, 0x5d, 0x88, 0x58, - 0x2d, 0x2f, 0x20, 0x8b, 0xd6, 0x3e, 0x76, 0xdc, 0x2e, 0x00, 0x6f, 0x0a, 0x84, 0xea, 0xb5, 0x14, - 0x65, 0x70, 0xec, 0x53, 0x2f, 0x46, 0xca, 0xdb, 0x92, 0xf6, 0xa5, 0x24, 0xad, 0x4d, 0x8e, 0xba, - 0x84, 0x36, 0x39, 0x92, 0x54, 0x37, 0x92, 0x54, 0x34, 0xc0, 0x6e, 0x88, 0x2d, 0xea, 0x78, 0x31, - 0x0d, 0x62, 0x9d, 0xfd, 0xb1, 0x9d, 0x1d, 0xab, 0x4b, 0xed, 0xec, 0x58, 0x92, 0x2a, 0x35, 0xaf, - 0x90, 0xe2, 0x03, 0xd2, 0xa5, 0xe3, 0x4d, 0x41, 0xa9, 0x7f, 0xa3, 0xc1, 0xb3, 0xf5, 0xc0, 0xc3, - 0xb6, 0x85, 0x43, 0x7a, 0xaf, 0x2b, 0xce, 0x20, 0x9f, 0xb7, 0x49, 0x48, 0xd1, 0xff, 0x43, 0x21, - 0xa6, 0x44, 0x45, 0xbb, 0xa4, 0x2d, 0x14, 0x96, 0x16, 0x6b, 0x91, 0x3d, 0x19, 0x7e, 0x2d, 0xae, - 0xa6, 0x92, 0x52, 0x8b, 0x83, 0xc5, 0x31, 0xd0, 0x55, 0x28, 0xe3, 0x0e, 0x76, 0xa8, 0x69, 0x13, - 0x4a, 0x04, 0x6c, 0xee, 0x92, 0xb6, 0x30, 0x65, 0x94, 0x78, 0xf7, 0xaa, 0xea, 0xd5, 0xbf, 0xd0, - 0xe0, 0xb9, 0xfe, 0xba, 0x85, 0xbe, 0xe7, 0x86, 0x04, 0xbd, 0x05, 0x39, 0xc7, 0x96, 0x3a, 0x5d, - 0x19, 0x46, 0xa7, 0x0d, 0xdb, 0xc8, 0x39, 0x36, 0x7a, 0x19, 0x66, 0x22, 0xd9, 0xe6, 0x3e, 0x71, - 0xf6, 0xf6, 0x29, 0x57, 0x61, 0xcc, 0x28, 0x47, 0xfd, 0xeb, 0xbc, 0x5b, 0xff, 0x06, 0xe0, 0x99, - 0x98, 0xe8, 0x46, 0x13, 0xbb, 0x2e, 0x09, 0x94, 0x75, 0x5e, 0x84, 0x22, 0x39, 0xf2, 0x9d, 0xe0, - 0x58, 0xa1, 0x68, 0x1c, 0x65, 0x5a, 0x74, 0x0a, 0x08, 0x74, 0x03, 0xf2, 0xbb, 0x84, 0x70, 0x01, - 0x85, 0x25, 0x3d, 0xa5, 0xa6, 0x74, 0x9c, 0x48, 0xc3, 0x35, 0x42, 0x0c, 0x46, 0x8e, 0x10, 0x8c, - 0xb5, 0x48, 0xcb, 0xab, 0xe4, 0x2f, 0x69, 0x0b, 0x67, 0x0d, 0xfe, 0x1f, 0x6d, 0xc3, 0x0c, 0xb6, - 0x2c, 0xaf, 0xed, 0x52, 0x73, 0x2f, 0xf0, 0xda, 0xbe, 0xe9, 0xd8, 0x95, 0x12, 0x87, 0x7d, 0x6d, - 0x00, 0xec, 0x8a, 0x60, 0xbb, 0xc5, 0xb8, 0x36, 0xec, 0xf5, 0x33, 0x46, 0x09, 0x27, 0x7a, 0x1e, - 0x68, 0x1a, 0x32, 0x60, 0xd2, 0x6b, 0x53, 0xbf, 0x4d, 0xc3, 0xca, 0x85, 0x4b, 0xf9, 0x85, 0xc2, - 0xd2, 0xdb, 0xb5, 0xfe, 0xdb, 0xa6, 0x96, 0x69, 0x90, 0xda, 0x5d, 0x0e, 0x60, 0x28, 0x20, 0xf4, - 0x01, 0x8c, 0x87, 0x1d, 0xec, 0x87, 0x95, 0x79, 0x8e, 0xf8, 0xd6, 0xe8, 0x88, 0x9b, 0x1d, 0xec, - 0x1b, 0x02, 0x04, 0x6d, 0x43, 0xc1, 0x26, 0x4d, 0xb2, 0x87, 0x19, 0x5d, 0x58, 0x59, 0xe0, 0x98, - 0xcb, 0xa3, 0x63, 0xae, 0x0a, 0x10, 0x62, 0xc4, 0xe1, 0xd0, 0x0e, 0x14, 0xdb, 0x6e, 0x1c, 0x7f, - 0x89, 0xe3, 0xbf, 0x3b, 0x3a, 0xfe, 0x7d, 0x05, 0x43, 0x8c, 0x24, 0x24, 0x5a, 0x83, 0x82, 0xb3, - 0x63, 0x99, 0x82, 0x2b, 0xac, 0xbc, 0xcb, 0x25, 0x5c, 0x4e, 0x2d, 0x1e, 0xdb, 0xc7, 0x5d, 0x97, - 0xdd, 0xb1, 0x56, 0x84, 0xd7, 0x83, 0xa3, 0xfe, 0x86, 0xd5, 0x9f, 0x68, 0x30, 0x21, 0x6c, 0x8d, - 0x96, 0x61, 0xfc, 0x10, 0x37, 0xdb, 0x44, 0xee, 0x83, 0x97, 0x06, 0x78, 0xc2, 0x16, 0xa3, 0x35, - 0x04, 0x0b, 0x7a, 0x1f, 0x26, 0xb1, 0x6d, 0x07, 0x24, 0x0c, 0xa5, 0x7b, 0x5e, 0x19, 0xe4, 0x47, - 0x82, 0xda, 0x50, 0x6c, 0xd5, 0xdf, 0x6a, 0x30, 0xc6, 0x96, 0xe8, 0xb1, 0xd4, 0xd8, 0x80, 0x69, - 0x8a, 0x83, 0x3d, 0x42, 0x4d, 0x1c, 0x86, 0x84, 0x0e, 0xab, 0x0b, 0xa3, 0xdd, 0xb0, 0x8d, 0x82, - 0xe0, 0xe5, 0x4d, 0xb5, 0xd9, 0xf2, 0x23, 0x6d, 0xb6, 0xea, 0xd7, 0x1a, 0x4c, 0x29, 0xa7, 0x40, - 0xef, 0xc1, 0x04, 0x6e, 0xb1, 0xbd, 0x21, 0xa7, 0x72, 0x79, 0x90, 0x1e, 0x9c, 0xd8, 0x90, 0x4c, - 0xe8, 0x26, 0x9c, 0x0d, 0x30, 0x25, 0xa6, 0x8d, 0x29, 0x96, 0x7a, 0xa4, 0x67, 0x22, 0x02, 0x70, - 0x04, 0x60, 0x60, 0x4a, 0x56, 0x31, 0xc5, 0xc6, 0x54, 0x20, 0xff, 0x55, 0x7f, 0xaa, 0x01, 0x74, - 0xbd, 0xe8, 0xb1, 0x8c, 0x9b, 0xd0, 0x27, 0x77, 0x32, 0x7d, 0xea, 0xe7, 0xe1, 0x9c, 0x99, 0x0e, - 0x3d, 0x3a, 0x81, 0x6a, 0xbf, 0x3d, 0x20, 0x83, 0xf3, 0x2d, 0x18, 0xf3, 0x9b, 0x58, 0x1d, 0x19, - 0x6f, 0x8c, 0x78, 0x64, 0x30, 0x34, 0x83, 0x03, 0xe8, 0x0e, 0x5c, 0x94, 0x6e, 0x57, 0x3f, 0xde, - 0x70, 0x6d, 0x72, 0xa4, 0xa2, 0x6f, 0x03, 0x8a, 0xd2, 0x0d, 0x4d, 0x87, 0xf5, 0x4b, 0x51, 0xaf, - 0x0c, 0xe7, 0xc3, 0x02, 0x6a, 0x1a, 0xc7, 0x5a, 0xfa, 0x27, 0x30, 0x9b, 0x16, 0x25, 0x67, 0x13, - 0xdb, 0x29, 0xda, 0x89, 0x76, 0x8a, 0xfe, 0x31, 0x5c, 0xe4, 0x90, 0xf5, 0x63, 0x35, 0x24, 0xa7, - 0xf1, 0xf8, 0xd0, 0x5f, 0x68, 0x30, 0x9b, 0xc6, 0x96, 0x7a, 0xdf, 0x7f, 0x7c, 0x1b, 0xad, 0x9f, - 0x49, 0x5a, 0xe9, 0x81, 0xa6, 0xd5, 0x67, 0xa0, 0x64, 0x26, 0x70, 0xf5, 0x03, 0x98, 0xfb, 0x3f, - 0x7f, 0x9f, 0xb4, 0x48, 0x80, 0x9b, 0xa9, 0x09, 0x9e, 0xfe, 0x3a, 0x6d, 0x43, 0xa5, 0x57, 0xd8, - 0xa9, 0xad, 0xd4, 0xa7, 0x30, 0x57, 0xc7, 0x4d, 0xec, 0x5a, 0xe4, 0x09, 0xac, 0xd5, 0xcf, 0x35, - 0xa8, 0xf4, 0xa2, 0x4b, 0xdd, 0xdf, 0x85, 0x71, 0x11, 0x01, 0xb5, 0x91, 0x22, 0xa0, 0x60, 0x8a, - 0x05, 0xae, 0xdc, 0x09, 0x02, 0x97, 0x7e, 0x19, 0x8a, 0x5b, 0x0e, 0xe9, 0xac, 0xb4, 0xe9, 0xfe, - 0x3d, 0xef, 0x80, 0xb8, 0xe8, 0x02, 0x8c, 0x3b, 0x6c, 0x4b, 0x73, 0x6d, 0xa6, 0x0d, 0xd1, 0xd0, - 0x0d, 0x28, 0x2b, 0x32, 0x65, 0x95, 0xff, 0x85, 0xfc, 0xee, 0xe1, 0x81, 0x54, 0x7a, 0x50, 0x2a, - 0xb2, 0xd6, 0x6e, 0x36, 0x19, 0x80, 0xe3, 0xee, 0xdd, 0x26, 0xc7, 0x06, 0xe3, 0xd4, 0xef, 0xc2, - 0x4c, 0x17, 0x53, 0xda, 0xe2, 0x1d, 0x18, 0xa7, 0x4c, 0x8d, 0xde, 0x28, 0x9c, 0x3c, 0x86, 0x13, - 0x3a, 0x1b, 0x82, 0x47, 0xff, 0xb1, 0x06, 0xc5, 0x4d, 0x8a, 0x69, 0x3b, 0x5a, 0xb9, 0x27, 0x9a, - 0x3b, 0xf5, 0x8f, 0x8f, 0x06, 0x94, 0x94, 0x0e, 0x72, 0x4e, 0x2f, 0x40, 0x21, 0x3c, 0x76, 0xad, - 0x64, 0xb6, 0x08, 0xac, 0x4b, 0xe6, 0x8a, 0x2f, 0x40, 0xc1, 0xc2, 0xd4, 0xda, 0x77, 0xdc, 0x3d, - 0xb3, 0xed, 0xcb, 0xbc, 0x18, 0x54, 0xd7, 0x7d, 0x5f, 0x7f, 0xa0, 0xc1, 0x79, 0x01, 0xba, 0x49, - 0x03, 0x82, 0x5b, 0x4f, 0x71, 0x7a, 0x01, 0x5c, 0x48, 0x6a, 0x22, 0x27, 0xf9, 0x3f, 0xf0, 0x4c, - 0x13, 0x53, 0x12, 0x52, 0xf3, 0xc0, 0xf5, 0x3a, 0xae, 0xb9, 0xd3, 0xf4, 0xac, 0x83, 0xe4, 0x94, - 0x67, 0x05, 0xc1, 0x6d, 0x36, 0x5e, 0x67, 0xc3, 0xdd, 0xe9, 0xc7, 0xed, 0x93, 0x4b, 0xdb, 0x47, - 0xff, 0x2a, 0x0f, 0xd3, 0x1f, 0x7a, 0x94, 0x84, 0xb1, 0x0c, 0xdc, 0x71, 0xad, 0x66, 0xdb, 0x26, - 0x66, 0xe8, 0x13, 0xe9, 0xfa, 0x53, 0xc6, 0xb4, 0xec, 0xdc, 0x64, 0x7d, 0x68, 0x05, 0xa6, 0xf8, - 0x0e, 0x61, 0x46, 0xc9, 0x8f, 0xb4, 0xb3, 0x26, 0xb1, 0xf8, 0xd3, 0x1b, 0xc3, 0xc6, 0x1e, 0x33, - 0x86, 0xa1, 0x3b, 0x50, 0x16, 0x1b, 0xcf, 0xa4, 0x1e, 0xd7, 0xdd, 0xae, 0x4c, 0x8c, 0xb2, 0x6d, - 0x8b, 0x82, 0xfb, 0x9e, 0xc7, 0xe6, 0x68, 0x3f, 0x0d, 0x07, 0x78, 0x90, 0x83, 0x8b, 0x7c, 0x31, - 0xd6, 0xbc, 0x60, 0xcb, 0xa3, 0x8e, 0xbb, 0xa7, 0x56, 0xe5, 0x1a, 0x9c, 0x3b, 0xf4, 0x28, 0xde, - 0x69, 0x12, 0x13, 0xd3, 0xe4, 0xd2, 0x97, 0xe5, 0xc0, 0x0a, 0x95, 0x6b, 0xde, 0x63, 0xd9, 0xfc, - 0xe3, 0x5a, 0xf6, 0x29, 0x98, 0xe2, 0x37, 0x39, 0x28, 0x7d, 0xe4, 0x50, 0x37, 0x76, 0x54, 0x7c, - 0x0c, 0x33, 0xae, 0x47, 0x89, 0x69, 0x79, 0xad, 0x96, 0x43, 0x5b, 0xc4, 0xa5, 0x2c, 0xc9, 0x66, - 0xf9, 0x7e, 0x6d, 0x80, 0x16, 0x6c, 0x57, 0x91, 0x9b, 0x11, 0x9b, 0x51, 0x66, 0x38, 0xdd, 0x76, - 0x88, 0xbe, 0x0f, 0x33, 0xb1, 0xfc, 0xc9, 0xe4, 0x69, 0x56, 0xfe, 0xe4, 0x69, 0x56, 0x99, 0x26, - 0x3b, 0x9e, 0x86, 0x01, 0x09, 0x94, 0x23, 0xfb, 0xc9, 0x38, 0x62, 0xc0, 0x74, 0x47, 0x74, 0x89, - 0xdc, 0x75, 0x84, 0xda, 0x83, 0x84, 0xe2, 0x49, 0x6c, 0xa1, 0xd3, 0x6d, 0xe8, 0x7f, 0xd6, 0x60, - 0x56, 0x0e, 0xae, 0xb8, 0x76, 0xbd, 0xed, 0x34, 0x6d, 0xb5, 0x5e, 0xfd, 0x8c, 0xaa, 0x9d, 0xa2, - 0x51, 0x6d, 0x40, 0xb8, 0x4d, 0xf7, 0xbd, 0xc0, 0xf9, 0x21, 0xbf, 0x0c, 0xc6, 0x13, 0xf2, 0x37, - 0x87, 0x91, 0xb0, 0x12, 0xe7, 0xe6, 0x53, 0x3b, 0x87, 0xd3, 0x5d, 0x7a, 0x13, 0xe6, 0x7a, 0xe6, - 0x27, 0xed, 0x79, 0xfa, 0xa5, 0x1c, 0xfd, 0x57, 0x79, 0x28, 0xf2, 0x50, 0x19, 0x79, 0x7d, 0x15, - 0xa6, 0x76, 0x9d, 0x26, 0x25, 0x01, 0x11, 0x85, 0x99, 0x29, 0x23, 0x6a, 0xa3, 0x1f, 0xc0, 0x7c, - 0x2c, 0x56, 0x5b, 0xce, 0xae, 0x63, 0x99, 0x36, 0x71, 0xbd, 0x96, 0xe3, 0xca, 0x1b, 0xb7, 0xd8, - 0x1f, 0x83, 0xae, 0x37, 0xab, 0x8c, 0xc7, 0x78, 0xae, 0x1b, 0xe2, 0x39, 0xd4, 0x6a, 0x1c, 0x09, - 0x2d, 0xc3, 0x33, 0x4a, 0x56, 0xf7, 0xfe, 0x6d, 0xf2, 0xe4, 0x20, 0xe4, 0x7b, 0x65, 0xca, 0x98, - 0x93, 0x04, 0xab, 0xd1, 0x38, 0x4f, 0x21, 0x42, 0xf4, 0x36, 0x54, 0x14, 0x6f, 0xdb, 0xdd, 0xf1, - 0x5c, 0x9b, 0x9d, 0xc6, 0x92, 0x75, 0x8c, 0xb3, 0xce, 0xca, 0xf1, 0xfb, 0x6a, 0x58, 0x72, 0x5e, - 0x81, 0xb2, 0xe2, 0x6c, 0xfa, 0xa6, 0xbb, 0x4b, 0xc3, 0xca, 0x38, 0x67, 0x50, 0x87, 0xd4, 0x07, - 0xfe, 0x87, 0xbb, 0x34, 0x44, 0x4b, 0x70, 0x51, 0xd1, 0xf9, 0x81, 0xe7, 0x7b, 0x21, 0x6e, 0x0a, - 0xea, 0x09, 0x4e, 0x7d, 0x5e, 0x0e, 0x36, 0xe4, 0x18, 0xe7, 0x59, 0x81, 0xe7, 0x15, 0xcf, 0x21, - 0x0f, 0xb6, 0x66, 0x40, 0x2c, 0xe2, 0xf8, 0x54, 0xa9, 0x36, 0xc9, 0x79, 0xab, 0x92, 0x48, 0x05, - 0x64, 0x4e, 0x22, 0xd4, 0xd3, 0x09, 0x94, 0xd4, 0x6a, 0x49, 0x9f, 0xd8, 0x84, 0x12, 0x5f, 0x01, - 0xb3, 0x45, 0x28, 0x8e, 0x39, 0xe4, 0xab, 0xc3, 0x2c, 0xc1, 0x1d, 0xc9, 0x63, 0x14, 0xed, 0x78, - 0x53, 0xaf, 0xc0, 0xec, 0xcd, 0x7d, 0xec, 0xb8, 0x0d, 0x1c, 0xe0, 0x16, 0xa1, 0x24, 0x50, 0xde, - 0xa1, 0xef, 0xc3, 0x5c, 0xcf, 0x88, 0xd4, 0xe4, 0x0e, 0x80, 0x1f, 0xf5, 0x66, 0xa5, 0x92, 0xbc, - 0x20, 0x1b, 0x29, 0x91, 0x86, 0x8a, 0x01, 0xe8, 0xb3, 0x70, 0x61, 0xed, 0xce, 0x6a, 0xaf, 0x06, - 0x36, 0x5c, 0x4c, 0xf5, 0x4b, 0xf9, 0xb7, 0xfb, 0xc8, 0x7f, 0xe5, 0xd1, 0xf2, 0xd7, 0x5a, 0x76, - 0x86, 0xf4, 0xaf, 0x73, 0x30, 0xc7, 0x4e, 0xc6, 0xfa, 0x71, 0x2c, 0x8c, 0xcb, 0x1d, 0xf2, 0x11, - 0x94, 0x53, 0xe7, 0x82, 0xb4, 0xf9, 0xa8, 0xc7, 0x42, 0x29, 0x79, 0x2c, 0xf4, 0xab, 0xab, 0xe6, - 0xfb, 0xd5, 0x55, 0x9f, 0x46, 0x78, 0x77, 0xa1, 0xd2, 0x6b, 0x8f, 0x28, 0xce, 0x97, 0x78, 0xfa, - 0xc3, 0xd3, 0x05, 0x36, 0xa7, 0x5e, 0xeb, 0x27, 0x33, 0xfe, 0x4d, 0x45, 0xcd, 0x20, 0x0d, 0x62, - 0x79, 0x81, 0x6d, 0x14, 0xc3, 0x78, 0x27, 0x5f, 0x80, 0xcd, 0x0e, 0xf6, 0x33, 0x16, 0x20, 0xec, - 0x60, 0xff, 0x14, 0x16, 0x80, 0xc1, 0xfc, 0x87, 0x2c, 0x80, 0x01, 0x95, 0x5e, 0x7b, 0x44, 0x65, - 0xf4, 0x31, 0x36, 0x13, 0x69, 0x76, 0x3d, 0xd3, 0xec, 0x1d, 0xec, 0x4b, 0x6b, 0x73, 0x7a, 0xfd, - 0x1f, 0x1a, 0xcc, 0x7e, 0xd8, 0x6e, 0x36, 0x9d, 0x5d, 0x87, 0x04, 0xc9, 0xdb, 0xd6, 0x1a, 0x9c, - 0x75, 0xd5, 0x88, 0xb4, 0xee, 0xc2, 0x80, 0xa9, 0x45, 0x48, 0x46, 0x97, 0xf5, 0xdf, 0xda, 0xa4, - 0x8b, 0x30, 0xd7, 0x33, 0x7b, 0x69, 0xd1, 0x0b, 0x30, 0x2e, 0x6e, 0x23, 0xe2, 0x08, 0x14, 0x0d, - 0x7d, 0x0b, 0x9e, 0x8b, 0x9d, 0xa4, 0x1b, 0xee, 0xae, 0x57, 0x3f, 0x5e, 0xc7, 0x61, 0x74, 0x8d, - 0x16, 0xcf, 0x19, 0xb9, 0x51, 0x9f, 0x33, 0xf4, 0x2f, 0x35, 0x98, 0x4d, 0x01, 0x2b, 0xc8, 0x2b, - 0x30, 0x1d, 0x52, 0x1c, 0x24, 0x73, 0xf0, 0xf5, 0x33, 0x46, 0x81, 0xf7, 0x8a, 0x0c, 0xfc, 0x81, - 0xa6, 0x21, 0x1d, 0x80, 0xb8, 0x76, 0xe2, 0xde, 0xb5, 0xae, 0x19, 0x67, 0x89, 0x6b, 0x47, 0x34, - 0xf5, 0x32, 0x14, 0xcd, 0x38, 0x58, 0xbd, 0x08, 0x05, 0xb3, 0xcb, 0xa5, 0xff, 0x3d, 0x07, 0xe5, - 0x94, 0x1a, 0xe8, 0x59, 0x98, 0x48, 0x49, 0x96, 0x6d, 0x26, 0xf4, 0x84, 0xf3, 0x4d, 0x27, 0x32, - 0xf9, 0x53, 0x78, 0x93, 0xda, 0x86, 0x82, 0x4f, 0x02, 0x96, 0x95, 0x50, 0xe7, 0x90, 0xc8, 0xcb, - 0xdd, 0xf2, 0xa8, 0x79, 0x5f, 0x17, 0xc1, 0x88, 0xc3, 0xa1, 0x5b, 0x30, 0xc6, 0xb6, 0x12, 0xcf, - 0x05, 0x46, 0x4f, 0x27, 0xb7, 0x1c, 0xd2, 0x31, 0x38, 0x40, 0xfd, 0x2c, 0x4c, 0x2a, 0x6b, 0x7f, - 0x0a, 0x73, 0x3d, 0x6b, 0xde, 0xad, 0x80, 0xd1, 0x23, 0xd3, 0x71, 0x77, 0x3d, 0xb9, 0xa5, 0xaf, - 0x0e, 0xf1, 0x84, 0xc1, 0x11, 0x26, 0xe8, 0x11, 0xfb, 0xd5, 0x31, 0x3c, 0x9f, 0xe1, 0xa9, 0xa7, - 0x26, 0xe2, 0x33, 0x28, 0xca, 0x8b, 0xbc, 0x84, 0xfc, 0x00, 0x0a, 0xfc, 0x5c, 0x0c, 0x78, 0x88, - 0x39, 0xc9, 0x19, 0x00, 0x6e, 0xf4, 0x5f, 0xff, 0x35, 0x8b, 0x4d, 0xa9, 0xbb, 0xe9, 0x93, 0x10, - 0x84, 0xee, 0xc0, 0xb4, 0x63, 0x13, 0x97, 0x3a, 0xf4, 0xd8, 0x3c, 0x20, 0xc7, 0xd2, 0x9d, 0xaf, - 0x0d, 0x08, 0x3a, 0x1b, 0x92, 0xe5, 0x36, 0x39, 0x36, 0x0a, 0x4e, 0xb7, 0xa1, 0xff, 0x33, 0x0f, - 0xe7, 0xfb, 0x88, 0xec, 0x97, 0x35, 0x68, 0xa7, 0x92, 0x35, 0xfc, 0x37, 0x8c, 0xf1, 0x33, 0x57, - 0xe8, 0xfd, 0xe2, 0xa0, 0x20, 0xcd, 0x34, 0xe2, 0x0c, 0x4f, 0xe0, 0xde, 0x9e, 0x38, 0x34, 0xc6, - 0x4e, 0x7e, 0x68, 0x5c, 0x86, 0x92, 0xd8, 0x24, 0xa6, 0x15, 0x10, 0x4c, 0x89, 0xcd, 0x37, 0xde, - 0x98, 0x51, 0x14, 0xbd, 0x37, 0x45, 0x27, 0x8b, 0x8d, 0x92, 0x4c, 0xc4, 0xea, 0x09, 0x15, 0x1b, - 0x45, 0x2f, 0x2f, 0x1d, 0xb1, 0x30, 0x55, 0x85, 0x29, 0xdf, 0x0b, 0x1d, 0x1e, 0x6b, 0x26, 0x39, - 0x50, 0xd4, 0x46, 0xef, 0xc3, 0x44, 0xe8, 0xb5, 0x03, 0x8b, 0x54, 0xa6, 0xfa, 0xeb, 0x9b, 0xcc, - 0x18, 0x99, 0xf9, 0x36, 0x39, 0xbd, 0x21, 0xf9, 0x78, 0x54, 0x8d, 0xab, 0xa1, 0xff, 0x31, 0x0f, - 0xd0, 0x3d, 0x6a, 0xfb, 0x65, 0x2b, 0xda, 0xa9, 0x64, 0x2b, 0xef, 0xc9, 0x53, 0x5f, 0x2c, 0xfc, - 0xcb, 0x29, 0x34, 0x9b, 0x1c, 0x25, 0x4f, 0xfe, 0x46, 0x13, 0x3b, 0x2e, 0x25, 0x47, 0x54, 0x1c, - 0xfe, 0x09, 0xab, 0xe4, 0x53, 0x56, 0x39, 0xad, 0x85, 0x6c, 0x40, 0x41, 0x3c, 0x24, 0x8b, 0xbb, - 0xf2, 0x78, 0xdf, 0x40, 0x9f, 0xd0, 0xb4, 0x8e, 0xa9, 0xb5, 0xcf, 0xd4, 0x15, 0x8f, 0xa3, 0xfc, - 0x96, 0x0c, 0x5e, 0xf4, 0x1f, 0x5d, 0xeb, 0xba, 0x46, 0x13, 0x3b, 0x2d, 0x62, 0x47, 0xab, 0xae, - 0x9c, 0x43, 0x74, 0xb3, 0x75, 0xef, 0xae, 0xed, 0xe4, 0x09, 0xd7, 0xf6, 0x1c, 0x94, 0xcd, 0xa4, - 0x38, 0xfd, 0xaf, 0x1a, 0xcc, 0xdd, 0xed, 0xb8, 0xc4, 0x6e, 0x48, 0x63, 0x6d, 0xd8, 0x51, 0xd2, - 0x74, 0x1f, 0x4a, 0xca, 0x84, 0xec, 0xa0, 0x8d, 0x12, 0xe1, 0x47, 0xae, 0x8d, 0xc2, 0xe1, 0xcb, - 0xcd, 0xe6, 0xe1, 0xc7, 0x3b, 0xd8, 0x3c, 0xee, 0xc2, 0x34, 0x0d, 0x30, 0xbf, 0xc4, 0xfa, 0xd8, - 0x51, 0xe9, 0xd8, 0xd5, 0x47, 0x81, 0xde, 0x13, 0xf4, 0x0d, 0xec, 0x04, 0xeb, 0x1a, 0x3f, 0x29, - 0x55, 0x93, 0x25, 0x02, 0x6c, 0x5a, 0x49, 0x45, 0xb9, 0x17, 0xc7, 0x85, 0xe8, 0x04, 0x2a, 0xbd, - 0xd3, 0x94, 0x01, 0x78, 0x03, 0xa6, 0x23, 0x76, 0xc7, 0x66, 0x97, 0xad, 0x7c, 0x9f, 0x0c, 0xa0, - 0xef, 0x2c, 0x37, 0x6c, 0xa3, 0xe0, 0x77, 0x21, 0x97, 0xfe, 0x84, 0xe0, 0x3c, 0x3b, 0x1f, 0x1b, - 0x81, 0x47, 0x3d, 0xcb, 0x6b, 0x6e, 0x92, 0xe0, 0xd0, 0xb1, 0x08, 0xfa, 0x08, 0x26, 0x44, 0x4a, - 0x86, 0x32, 0xdf, 0x0d, 0x12, 0x09, 0x6b, 0xf5, 0xca, 0x20, 0x32, 0xa9, 0xfb, 0x01, 0x4c, 0xc7, - 0x8b, 0xde, 0xe8, 0x95, 0x47, 0xf3, 0x25, 0x8a, 0xf4, 0xd5, 0x57, 0x87, 0x23, 0x16, 0xa2, 0xae, - 0x6b, 0x68, 0x0b, 0xc6, 0xf9, 0x19, 0x86, 0x5e, 0xca, 0x62, 0x8c, 0xd7, 0xc2, 0xab, 0x97, 0x07, - 0x50, 0x45, 0xb8, 0x9f, 0x43, 0x29, 0x79, 0x36, 0xa2, 0xd7, 0x1e, 0xc9, 0x9a, 0xae, 0xef, 0x56, - 0x6b, 0xc3, 0x92, 0x47, 0x22, 0x3f, 0x81, 0x49, 0x59, 0x97, 0x42, 0x99, 0xa6, 0x4e, 0x16, 0x50, - 0xab, 0x57, 0x07, 0xd2, 0xc9, 0x35, 0x09, 0xa2, 0xda, 0xa1, 0xaa, 0x79, 0xa1, 0xda, 0x00, 0xde, - 0x54, 0xf1, 0xaf, 0xba, 0x38, 0x34, 0xbd, 0x94, 0xf9, 0x31, 0x4c, 0x88, 0x52, 0x4a, 0xb6, 0x83, - 0x25, 0x0a, 0x63, 0xd9, 0x0e, 0x96, 0xac, 0xc8, 0x5c, 0xd7, 0xd8, 0x74, 0x52, 0x95, 0x8d, 0xec, - 0xe9, 0xf4, 0xaf, 0xb3, 0x64, 0x4f, 0x27, 0xab, 0xfa, 0xd2, 0x84, 0x62, 0xa2, 0x2c, 0x82, 0x32, - 0x5d, 0xb5, 0x5f, 0x55, 0xa5, 0xfa, 0xda, 0x90, 0xd4, 0x52, 0x9a, 0x07, 0xa5, 0xe4, 0x33, 0x7b, - 0xb6, 0xff, 0xf5, 0x7d, 0xf9, 0xcf, 0xf6, 0xbf, 0x8c, 0xd7, 0x7b, 0x0f, 0x4a, 0xc9, 0xf7, 0xf1, - 0x6c, 0x81, 0x7d, 0xdf, 0xe8, 0xb3, 0x05, 0x66, 0x3c, 0xbb, 0xb7, 0x61, 0x26, 0xfd, 0x40, 0x8d, - 0x32, 0x17, 0x25, 0xe3, 0xdd, 0xbc, 0x7a, 0x7d, 0x78, 0x06, 0x29, 0xb6, 0x03, 0x33, 0xe9, 0xb7, - 0xe5, 0x6c, 0xb1, 0x19, 0x6f, 0xdc, 0xd9, 0x62, 0xb3, 0x9e, 0xad, 0xaf, 0x6b, 0x6c, 0xbe, 0xe9, - 0xfa, 0x4e, 0xb6, 0xe0, 0x8c, 0xca, 0x58, 0xb6, 0xe0, 0xcc, 0xd2, 0x51, 0x1b, 0x66, 0xd2, 0x55, - 0x8d, 0x6c, 0xb1, 0x19, 0xf5, 0xa0, 0x6c, 0xb1, 0x99, 0x05, 0x93, 0x00, 0xca, 0xa9, 0x9b, 0x7f, - 0xf6, 0x0e, 0xed, 0x5f, 0x20, 0xc9, 0xde, 0xa1, 0x59, 0x25, 0x85, 0x2f, 0x35, 0xb8, 0xd8, 0xf7, - 0x4e, 0x86, 0x6e, 0x0c, 0x79, 0xf5, 0x4a, 0x14, 0x1b, 0xaa, 0x6f, 0x8e, 0xc8, 0x25, 0xd5, 0xa0, - 0xbd, 0x77, 0xfc, 0xda, 0xb0, 0x57, 0xbf, 0x41, 0x53, 0xcf, 0xb8, 0xcf, 0x5e, 0xd7, 0xd0, 0x8f, - 0x00, 0xf5, 0x7e, 0x69, 0x84, 0x5e, 0x1f, 0xf9, 0xcb, 0xbc, 0xea, 0xd2, 0x28, 0x2c, 0x72, 0xca, - 0x5f, 0x68, 0x70, 0xa1, 0xdf, 0x67, 0xa8, 0xe8, 0x8d, 0xcc, 0x8d, 0x92, 0xfd, 0x41, 0x6d, 0xf5, - 0xc6, 0x68, 0x4c, 0x5d, 0x47, 0x4f, 0xa7, 0x53, 0xd9, 0x8e, 0x9e, 0x91, 0x5f, 0x66, 0x3b, 0x7a, - 0x56, 0xa6, 0xb6, 0xe4, 0x77, 0xbf, 0xf5, 0x50, 0x99, 0xd5, 0x67, 0x30, 0xa5, 0xba, 0xd0, 0xd5, - 0x41, 0xdf, 0x64, 0x28, 0xc9, 0x0b, 0x83, 0x09, 0x85, 0xc4, 0xfa, 0x57, 0xb9, 0xdf, 0x3d, 0x9c, - 0xd7, 0xbe, 0x7d, 0x38, 0xaf, 0xfd, 0xe5, 0xe1, 0xbc, 0xf6, 0xb3, 0xef, 0xe6, 0xcf, 0x7c, 0xfb, - 0xdd, 0xfc, 0x99, 0x3f, 0x7c, 0x37, 0x7f, 0x06, 0xaa, 0x96, 0xd7, 0xca, 0xc0, 0xa9, 0x9f, 0x8d, - 0x92, 0xc0, 0x86, 0xf6, 0xc9, 0xdd, 0x3d, 0x87, 0xee, 0xb7, 0x77, 0x6a, 0x96, 0xd7, 0x5a, 0xb4, - 0xbc, 0xb0, 0xe5, 0x85, 0x8b, 0x01, 0x69, 0xe2, 0x63, 0x12, 0x2c, 0x1e, 0x2e, 0x45, 0x7f, 0x79, - 0xfa, 0x1e, 0x2e, 0xf6, 0xff, 0x78, 0xfc, 0x1d, 0xd6, 0x52, 0x8d, 0x5f, 0xe4, 0xf2, 0x8d, 0xad, - 0xef, 0xfd, 0x32, 0x37, 0xdb, 0x50, 0xc2, 0x99, 0xb4, 0xda, 0x96, 0x1c, 0xfe, 0x7d, 0x77, 0x60, - 0x9b, 0x0d, 0x6c, 0xab, 0x81, 0x87, 0x39, 0xbd, 0xff, 0xc0, 0xf6, 0xad, 0x46, 0x5d, 0xbd, 0x96, - 0xfc, 0x2d, 0x57, 0x51, 0x44, 0xcb, 0xcb, 0x8c, 0x6a, 0x79, 0x59, 0x91, 0xed, 0x4c, 0xf0, 0x6f, - 0xb4, 0xdf, 0xf8, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x91, 0xe9, 0x08, 0x47, 0xe2, 0x2e, 0x00, - 0x00, + // 2954 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5b, 0xcd, 0x6f, 0xdc, 0xc6, + 0x15, 0x37, 0x77, 0xf5, 0xe5, 0xb7, 0xda, 0x5d, 0x99, 0xb6, 0xa5, 0xf5, 0x26, 0x51, 0x52, 0x26, + 0xb6, 0x15, 0x27, 0x59, 0xd9, 0x8a, 0x93, 0xa6, 0x4a, 0xd2, 0x46, 0x6b, 0x45, 0x96, 0xe0, 0xd8, + 0x56, 0x29, 0x5b, 0x69, 0x52, 0xa5, 0xc4, 0x88, 0x1c, 0x49, 0xac, 0x76, 0x49, 0x86, 0x9c, 0xd5, + 0x47, 0x7b, 0x4a, 0x11, 0x14, 0x46, 0x80, 0x06, 0x45, 0xd1, 0x4b, 0xae, 0x3d, 0x16, 0xbd, 0xe6, + 0x9a, 0x4b, 0x2f, 0x45, 0x4f, 0x39, 0x16, 0x28, 0x50, 0x04, 0x0e, 0x7a, 0x69, 0xff, 0x85, 0x02, + 0x2d, 0xe6, 0x8b, 0x5f, 0x4b, 0x7a, 0x77, 0x25, 0x19, 0x6e, 0x7b, 0xd2, 0xce, 0xf0, 0xbd, 0xdf, + 0xfb, 0x98, 0x37, 0x6f, 0xde, 0x3c, 0x52, 0xf0, 0x1d, 0x0f, 0x3b, 0x9d, 0xf6, 0xa6, 0x8f, 0x66, + 0xf7, 0x6c, 0xbc, 0x3f, 0xbb, 0x77, 0x0d, 0xb5, 0xbc, 0x1d, 0x74, 0x8d, 0x8d, 0x1a, 0x9e, 0xef, + 0x12, 0x57, 0x9d, 0x94, 0x24, 0x0d, 0x36, 0x29, 0x49, 0xea, 0x33, 0x21, 0xab, 0xe9, 0xfa, 0x78, + 0xd6, 0xdc, 0x41, 0xb6, 0x13, 0x01, 0xb0, 0x21, 0x47, 0xa8, 0x5f, 0x49, 0x51, 0xfa, 0x87, 0x1e, + 0x71, 0x63, 0xa4, 0x6c, 0x2c, 0x68, 0x5f, 0x48, 0xd2, 0x5a, 0xf8, 0x20, 0x22, 0xb4, 0xf0, 0x81, + 0xa0, 0xba, 0x9e, 0xa4, 0x22, 0x3e, 0x72, 0x02, 0x64, 0x12, 0xdb, 0x8d, 0x69, 0x10, 0x9b, 0xcc, + 0xc6, 0xb6, 0x37, 0xcd, 0x88, 0xda, 0xde, 0x34, 0x05, 0x55, 0xca, 0xae, 0x80, 0xa0, 0x5d, 0x1c, + 0xd1, 0xb1, 0x21, 0xa7, 0xd4, 0xbe, 0x51, 0xa0, 0xb6, 0xd0, 0x21, 0x3b, 0xae, 0x6f, 0xff, 0x0c, + 0x2f, 0x38, 0x56, 0xb3, 0x63, 0xb7, 0x2c, 0x1d, 0x7f, 0xdc, 0xc1, 0x01, 0x51, 0x7f, 0x02, 0x13, + 0x31, 0x0d, 0x0c, 0xaf, 0x85, 0x9c, 0x9a, 0xf2, 0x9c, 0x32, 0x53, 0x9a, 0x7b, 0xb5, 0x11, 0x7a, + 0x94, 0x4a, 0x68, 0xc4, 0x15, 0x95, 0x72, 0x1a, 0xf7, 0xa2, 0xc9, 0xd5, 0x16, 0x72, 0xf4, 0x2a, + 0x49, 0x4e, 0xa8, 0x16, 0xa8, 0x48, 0xc8, 0x46, 0x4c, 0x82, 0x85, 0x08, 0xaa, 0x15, 0x98, 0x84, + 0xd7, 0xfa, 0x91, 0xb0, 0x10, 0xe7, 0x5e, 0x44, 0x04, 0xe9, 0x67, 0x50, 0x7a, 0x4a, 0x73, 0xe0, + 0x42, 0x86, 0x85, 0x81, 0xe7, 0x3a, 0x01, 0x56, 0x7f, 0x08, 0xa5, 0x18, 0xb2, 0xb0, 0x6e, 0x76, + 0x40, 0xeb, 0xf4, 0x38, 0x86, 0xf6, 0x85, 0x02, 0x4f, 0x35, 0x7d, 0x17, 0x59, 0x26, 0x0a, 0x48, + 0x9c, 0x4a, 0x78, 0xf5, 0xe4, 0x45, 0xaa, 0x97, 0xa1, 0x8a, 0xf6, 0x91, 0x4d, 0x0c, 0x0b, 0x13, + 0xcc, 0x61, 0xa9, 0x17, 0xc7, 0xf4, 0x0a, 0x9b, 0x5e, 0x94, 0xb3, 0xda, 0x27, 0x0a, 0x3c, 0x9d, + 0xad, 0x9b, 0xf0, 0xc7, 0xeb, 0x50, 0xb0, 0x2d, 0xa1, 0xd3, 0xa5, 0x7e, 0x74, 0x5a, 0xb1, 0xf4, + 0x82, 0x6d, 0xa9, 0x2f, 0xc2, 0x44, 0x28, 0xdb, 0xd8, 0xc1, 0xf6, 0xf6, 0x0e, 0x61, 0x2a, 0x0c, + 0xe9, 0xd5, 0x70, 0x7e, 0x99, 0x4d, 0x6b, 0x5f, 0x00, 0x5c, 0x48, 0x85, 0x86, 0x83, 0x7d, 0xe9, + 0x9d, 0xe7, 0xa1, 0x8c, 0x0f, 0x3c, 0xdb, 0x3f, 0x94, 0x28, 0x0a, 0x43, 0x19, 0xe7, 0x93, 0x1c, + 0x42, 0xbd, 0x0e, 0xc5, 0x2d, 0x8c, 0x45, 0xa4, 0x68, 0x29, 0x35, 0xc5, 0x5e, 0x0c, 0x35, 0x5c, + 0xc2, 0x58, 0xa7, 0xe4, 0xaa, 0x0a, 0x43, 0x6d, 0xdc, 0x76, 0x6b, 0xc5, 0xe7, 0x94, 0x99, 0xd3, + 0x3a, 0xfb, 0xad, 0x6e, 0xc0, 0x04, 0x32, 0x4d, 0xb7, 0xe3, 0x10, 0x63, 0xdb, 0x77, 0x3b, 0x9e, + 0x61, 0x5b, 0xb5, 0x0a, 0x83, 0x7d, 0xa5, 0x07, 0xec, 0x02, 0x67, 0xbb, 0x49, 0xb9, 0x56, 0xac, + 0xe5, 0x53, 0x7a, 0x05, 0x25, 0x66, 0x1e, 0x28, 0x8a, 0xaa, 0xc3, 0xa8, 0xdb, 0x21, 0x5e, 0x87, + 0x04, 0xb5, 0x73, 0xcf, 0x15, 0x67, 0x4a, 0x73, 0x6f, 0x34, 0xb2, 0x33, 0x51, 0x23, 0xd7, 0x21, + 0x8d, 0xbb, 0x0c, 0x40, 0x97, 0x40, 0xea, 0x7b, 0x30, 0x1c, 0xec, 0x23, 0x2f, 0xa8, 0x4d, 0x33, + 0xc4, 0xd7, 0x07, 0x47, 0x5c, 0xdb, 0x47, 0x9e, 0xce, 0x41, 0xd4, 0x0d, 0x28, 0x59, 0xb8, 0x85, + 0xb7, 0xd9, 0x76, 0x09, 0x6a, 0x33, 0x0c, 0x73, 0x7e, 0x70, 0xcc, 0x45, 0x0e, 0x82, 0xf5, 0x38, + 0x9c, 0xba, 0x09, 0xe5, 0x8e, 0x13, 0xc7, 0x9f, 0x63, 0xf8, 0x6f, 0x0d, 0x8e, 0x7f, 0x5f, 0xc2, + 0x60, 0x3d, 0x09, 0xa9, 0x2e, 0x41, 0xc9, 0xde, 0x34, 0x0d, 0xce, 0x15, 0xd4, 0xde, 0x62, 0x12, + 0x2e, 0xa6, 0x16, 0x8f, 0xa6, 0xc6, 0x28, 0x64, 0x37, 0xcd, 0x05, 0x1e, 0xf5, 0x60, 0xcb, 0x9f, + 0x41, 0xfd, 0x97, 0x0a, 0x8c, 0x70, 0x5f, 0xab, 0xf3, 0x30, 0xbc, 0x87, 0x5a, 0x1d, 0x2c, 0xf6, + 0xc1, 0x0b, 0x3d, 0x22, 0x61, 0x9d, 0xd2, 0xea, 0x9c, 0x45, 0x7d, 0x07, 0x46, 0x91, 0x65, 0xf9, + 0x38, 0x08, 0x44, 0x78, 0x5e, 0xea, 0x15, 0x47, 0x9c, 0x5a, 0x97, 0x6c, 0xf5, 0x3f, 0x2a, 0x30, + 0x44, 0x97, 0xe8, 0x58, 0x6a, 0xac, 0xc0, 0x38, 0x41, 0xfe, 0x36, 0x26, 0x06, 0x0a, 0x02, 0x4c, + 0xfa, 0xd5, 0x85, 0xd2, 0xae, 0x58, 0x7a, 0x89, 0xf3, 0xb2, 0xa1, 0xdc, 0x6c, 0xc5, 0x81, 0x36, + 0x5b, 0xfd, 0x73, 0x05, 0xc6, 0x64, 0x50, 0xa8, 0x6f, 0xc3, 0x08, 0x6a, 0xd3, 0xbd, 0x21, 0x4c, + 0xb9, 0xd8, 0x4b, 0x0f, 0x46, 0xac, 0x0b, 0x26, 0xf5, 0x06, 0x9c, 0xf6, 0x11, 0xc1, 0xfc, 0x78, + 0x28, 0x66, 0x5a, 0xc2, 0xcf, 0xb4, 0x10, 0x40, 0x47, 0x04, 0xb3, 0xf3, 0x60, 0xcc, 0x17, 0xbf, + 0xea, 0xbf, 0x52, 0x00, 0xa2, 0x28, 0x3a, 0x96, 0x73, 0x13, 0xfa, 0x14, 0x8e, 0xa6, 0x4f, 0xf3, + 0x2c, 0x9c, 0x31, 0xd2, 0xa9, 0x47, 0xc3, 0x50, 0xcf, 0xda, 0x03, 0x22, 0x39, 0xdf, 0x84, 0xa1, + 0xe3, 0x9e, 0xc1, 0x0c, 0x40, 0xfb, 0x8d, 0x02, 0xe7, 0x45, 0xdc, 0x35, 0x0f, 0x57, 0x1c, 0x0b, + 0x1f, 0xc8, 0xf4, 0xbb, 0x0a, 0x65, 0x11, 0x87, 0x86, 0x4d, 0xe7, 0x85, 0xac, 0x97, 0xfa, 0x0b, + 0x62, 0x0e, 0x35, 0x8e, 0x62, 0x23, 0x7a, 0x36, 0x59, 0x76, 0xe0, 0xb5, 0xd0, 0xa1, 0x61, 0xba, + 0xce, 0x96, 0xed, 0xb7, 0xe5, 0xd9, 0x24, 0xa6, 0x6f, 0xf0, 0x59, 0xed, 0x43, 0x98, 0x4c, 0xeb, + 0x24, 0xec, 0x8e, 0xed, 0x29, 0xe5, 0x48, 0x7b, 0x4a, 0xfb, 0x00, 0xce, 0x33, 0xc8, 0xe6, 0xa1, + 0x7c, 0x24, 0xec, 0x3d, 0x3e, 0xf4, 0x27, 0x0a, 0x4c, 0xa6, 0xb1, 0x85, 0xde, 0xf7, 0x8f, 0xef, + 0xcc, 0xe5, 0x53, 0x49, 0x77, 0x3e, 0x50, 0x94, 0xe6, 0x04, 0x54, 0x8c, 0x04, 0xae, 0xf6, 0x5b, + 0x05, 0xa6, 0xde, 0xf5, 0x76, 0x70, 0x1b, 0xfb, 0xa8, 0x95, 0xb2, 0xf0, 0x09, 0xae, 0xe8, 0x06, + 0xd4, 0xba, 0xb5, 0x3a, 0xb1, 0x35, 0xfd, 0x52, 0x81, 0x6a, 0x13, 0xb5, 0x90, 0x63, 0xe2, 0xd0, + 0x58, 0x1d, 0xe4, 0x29, 0x6c, 0x6c, 0xd9, 0x2d, 0x82, 0xfd, 0xa3, 0x58, 0x5b, 0x16, 0x10, 0x4b, + 0x0c, 0x41, 0xbd, 0x03, 0x55, 0x96, 0x43, 0x0d, 0xdb, 0x92, 0xa0, 0x83, 0x65, 0xd3, 0x32, 0xe2, + 0x3f, 0x38, 0x1e, 0xad, 0x0f, 0x27, 0x22, 0xbd, 0x85, 0x3b, 0xde, 0x85, 0x51, 0x21, 0xf5, 0x28, + 0x1a, 0x4b, 0x5e, 0xf5, 0xfb, 0x30, 0xba, 0xc9, 0xa1, 0x85, 0x8e, 0xfd, 0xe5, 0x35, 0xc9, 0xa4, + 0x5d, 0x84, 0xf2, 0xba, 0x8d, 0xf7, 0x69, 0xbd, 0x7c, 0xcf, 0xdd, 0xc5, 0x8e, 0x7a, 0x0e, 0x86, + 0x6d, 0x9a, 0x83, 0x98, 0x56, 0xe3, 0x3a, 0x1f, 0x68, 0x3a, 0x54, 0x25, 0x99, 0xf4, 0xfc, 0x0f, + 0xa0, 0xb8, 0xb5, 0xb7, 0x2b, 0x94, 0xef, 0x55, 0x3b, 0x2d, 0x75, 0x5a, 0x2d, 0x0a, 0x60, 0x3b, + 0xdb, 0xb7, 0xf0, 0xa1, 0x4e, 0x39, 0xb5, 0xbb, 0x30, 0x11, 0x61, 0x0a, 0xaf, 0xbc, 0x09, 0xc3, + 0x84, 0xaa, 0xd1, 0x7d, 0x6c, 0x24, 0xeb, 0x86, 0x84, 0xce, 0x3a, 0xe7, 0xd1, 0x7e, 0xa1, 0x40, + 0x79, 0x8d, 0x20, 0xd2, 0x09, 0xa3, 0xe3, 0xb1, 0x16, 0x7b, 0xd9, 0x09, 0x5d, 0x87, 0x8a, 0xd4, + 0x41, 0xd8, 0xf4, 0x2c, 0x94, 0x82, 0x43, 0xc7, 0x4c, 0x96, 0xb7, 0x40, 0xa7, 0x44, 0x71, 0xfb, + 0x2c, 0x94, 0x4c, 0x44, 0xcc, 0x1d, 0xdb, 0xd9, 0x36, 0x3a, 0x9e, 0xd8, 0x5a, 0x20, 0xa7, 0xee, + 0x7b, 0xda, 0x03, 0x05, 0xce, 0x72, 0xd0, 0x35, 0xe2, 0x63, 0xd4, 0x7e, 0x82, 0xe6, 0xf9, 0x70, + 0x2e, 0xa9, 0x89, 0x30, 0xf2, 0x7b, 0x70, 0xa1, 0x85, 0x08, 0x0e, 0x88, 0xb1, 0xeb, 0xb8, 0xfb, + 0x8e, 0xb1, 0xd9, 0x72, 0xcd, 0xdd, 0xa4, 0xc9, 0x93, 0x9c, 0xe0, 0x16, 0x7d, 0xde, 0xa4, 0x8f, + 0x23, 0xf3, 0xe3, 0xfe, 0x29, 0xa4, 0xfd, 0xa3, 0x7d, 0x56, 0x84, 0xf1, 0x3b, 0x2e, 0x89, 0x36, + 0xfd, 0xf3, 0x50, 0xb6, 0x1d, 0xb3, 0xd5, 0xb1, 0xb0, 0x11, 0x78, 0xd8, 0x21, 0xc2, 0x65, 0xe3, + 0x62, 0x72, 0x8d, 0xce, 0xa9, 0x0b, 0x30, 0x26, 0x77, 0x71, 0x4e, 0x09, 0x91, 0xb7, 0x7d, 0x47, + 0xc5, 0xf6, 0xed, 0xce, 0xa4, 0x43, 0xc7, 0xcd, 0xa4, 0xb7, 0xa1, 0xca, 0x4b, 0x1c, 0x83, 0xb8, + 0x4c, 0x77, 0xab, 0x36, 0x32, 0x48, 0x81, 0x54, 0xe6, 0xdc, 0xf7, 0x5c, 0x6a, 0xa3, 0xf5, 0x24, + 0x02, 0xe0, 0x41, 0x01, 0xce, 0xb3, 0xc5, 0x58, 0x72, 0xfd, 0x75, 0x97, 0xd8, 0xce, 0xb6, 0x5c, + 0x95, 0x2b, 0x70, 0x66, 0xcf, 0x25, 0x68, 0xb3, 0x85, 0x0d, 0x44, 0x92, 0x4b, 0x5f, 0x15, 0x0f, + 0x16, 0x88, 0x58, 0xf3, 0x2e, 0xcf, 0x16, 0x8f, 0xeb, 0xd9, 0x27, 0xe0, 0x8a, 0xaf, 0x0a, 0x50, + 0x79, 0xdf, 0x26, 0x4e, 0xec, 0xec, 0xfd, 0x00, 0x26, 0x1c, 0x97, 0x60, 0xc3, 0x74, 0xdb, 0x6d, + 0x9b, 0xb4, 0xb1, 0x43, 0xe8, 0xad, 0x80, 0x5e, 0x50, 0x1a, 0x3d, 0xb4, 0xa0, 0xbb, 0x0a, 0xdf, + 0x08, 0xd9, 0xf4, 0x2a, 0xc5, 0x89, 0xc6, 0x41, 0x66, 0x6f, 0xa6, 0x78, 0x82, 0xbd, 0x99, 0x27, + 0xe0, 0x40, 0x0c, 0xd5, 0xd0, 0x7f, 0x22, 0x8f, 0xe8, 0x30, 0xbe, 0xcf, 0xa7, 0x78, 0xb1, 0x3d, + 0x40, 0xb3, 0x44, 0x40, 0xb1, 0xaa, 0xbb, 0xb4, 0x1f, 0x0d, 0xb4, 0xbf, 0x29, 0x30, 0x29, 0x1e, + 0xfe, 0x7f, 0x36, 0xbc, 0x5a, 0x30, 0xd5, 0x65, 0xdf, 0xe3, 0x6b, 0x77, 0xfd, 0xa1, 0x08, 0x65, + 0x96, 0x2a, 0xc3, 0xa8, 0xaf, 0xc3, 0x18, 0xaf, 0x93, 0x30, 0xef, 0x24, 0x8d, 0xe9, 0xe1, 0x58, + 0xfd, 0x29, 0x4c, 0xc7, 0x72, 0xb5, 0x69, 0x6f, 0xd9, 0xa6, 0x61, 0x61, 0xc7, 0x6d, 0xdb, 0x8e, + 0x68, 0x11, 0xf0, 0xfd, 0xd1, 0xab, 0x6e, 0x59, 0xa4, 0x3c, 0xfa, 0xd3, 0x51, 0x8a, 0x67, 0x50, + 0x8b, 0x71, 0x24, 0x75, 0x1e, 0x2e, 0x48, 0x59, 0x51, 0xc3, 0xc0, 0x60, 0xc5, 0x41, 0xc0, 0xf6, + 0xca, 0x98, 0x3e, 0x25, 0x08, 0x16, 0xc3, 0xe7, 0xac, 0x84, 0x08, 0xd4, 0x37, 0xa0, 0x26, 0x79, + 0x3b, 0xce, 0xa6, 0xeb, 0x58, 0xf4, 0x34, 0x16, 0xac, 0x43, 0x8c, 0x75, 0x52, 0x3c, 0xbf, 0x2f, + 0x1f, 0x0b, 0xce, 0x4b, 0x50, 0x95, 0x9c, 0x2d, 0xcf, 0x70, 0xb6, 0x48, 0x50, 0x1b, 0x66, 0x0c, + 0xf2, 0x90, 0x7a, 0xcf, 0xbb, 0xb3, 0x45, 0x02, 0x75, 0x0e, 0xce, 0x4b, 0x3a, 0xcf, 0x77, 0x3d, + 0x37, 0x40, 0x2d, 0x4e, 0x3d, 0xc2, 0xa8, 0xcf, 0x8a, 0x87, 0xab, 0xe2, 0x19, 0xe3, 0x59, 0x80, + 0x67, 0x24, 0xcf, 0x1e, 0x4b, 0xb6, 0x86, 0x8f, 0x4d, 0x6c, 0x7b, 0x44, 0xaa, 0x36, 0xca, 0x78, + 0xeb, 0x82, 0x48, 0x26, 0x64, 0x46, 0xc2, 0xd5, 0xd3, 0x30, 0x54, 0xe4, 0x6a, 0x89, 0x98, 0x58, + 0x83, 0x0a, 0x5b, 0x01, 0xa3, 0x8d, 0x09, 0x8a, 0x05, 0xe4, 0xcb, 0xfd, 0x2c, 0xc1, 0x6d, 0xc1, + 0xa3, 0x97, 0xad, 0xf8, 0x50, 0xab, 0xc1, 0xe4, 0x8d, 0x1d, 0x64, 0x3b, 0xab, 0xc8, 0x47, 0x6d, + 0x4c, 0xb0, 0x2f, 0xa3, 0x43, 0xdb, 0x81, 0xa9, 0xae, 0x27, 0x42, 0x93, 0xdb, 0x00, 0x5e, 0x38, + 0x9b, 0x57, 0x4a, 0xb2, 0xa6, 0x7c, 0xa8, 0x44, 0x1a, 0x2a, 0x06, 0xa0, 0x4d, 0xc2, 0xb9, 0xa5, + 0xdb, 0x8b, 0xdd, 0x1a, 0x58, 0x70, 0x3e, 0x35, 0x2f, 0xe4, 0xdf, 0xca, 0x90, 0xff, 0xd2, 0xa3, + 0xe5, 0x2f, 0xb5, 0xad, 0x1c, 0xe9, 0x9f, 0x17, 0x60, 0x8a, 0x9e, 0x8c, 0xcd, 0xc3, 0x58, 0x1a, + 0x17, 0x3b, 0xe4, 0x7d, 0xa8, 0xa6, 0xce, 0x05, 0xe1, 0xf3, 0x41, 0x8f, 0x85, 0x4a, 0xf2, 0x58, + 0xc8, 0x6a, 0x04, 0x17, 0xb3, 0x1a, 0xc1, 0x4f, 0x22, 0xbd, 0x3b, 0x50, 0xeb, 0xf6, 0x47, 0x98, + 0xe7, 0x2b, 0xac, 0xfc, 0x61, 0xe5, 0x02, 0xb5, 0xa9, 0xdb, 0xfb, 0xc9, 0x8a, 0x7f, 0x4d, 0x52, + 0x53, 0x48, 0x1d, 0x9b, 0xae, 0x6f, 0xe9, 0xe5, 0x20, 0x3e, 0xc9, 0x16, 0x60, 0x6d, 0x1f, 0x79, + 0x39, 0x0b, 0x10, 0xec, 0x23, 0xef, 0x04, 0x16, 0x80, 0xc2, 0xfc, 0x8f, 0x2c, 0x80, 0x0e, 0xb5, + 0x6e, 0x7f, 0x84, 0x7d, 0xff, 0x21, 0x6a, 0x89, 0x70, 0xbb, 0x96, 0xeb, 0xf6, 0x7d, 0xe4, 0x09, + 0x6f, 0x33, 0x7a, 0xed, 0x5f, 0x0a, 0x4c, 0xde, 0xe9, 0xb4, 0x5a, 0xf6, 0x96, 0x8d, 0xfd, 0xe4, + 0x6d, 0x6b, 0x09, 0x4e, 0x3b, 0xf2, 0x89, 0xf0, 0xee, 0x4c, 0x0f, 0xd3, 0x42, 0x24, 0x3d, 0x62, + 0xfd, 0xaf, 0x76, 0xe9, 0x2c, 0x4c, 0x75, 0x59, 0x2f, 0x3c, 0x7a, 0x0e, 0x86, 0xf9, 0x6d, 0x84, + 0x1f, 0x81, 0x7c, 0xa0, 0xad, 0xc3, 0xd3, 0xb1, 0x93, 0x74, 0xc5, 0xd9, 0x72, 0x9b, 0x87, 0xcb, + 0x28, 0x08, 0xaf, 0xd1, 0xfc, 0xfd, 0x4b, 0x61, 0xd0, 0xf7, 0x2f, 0xda, 0xa7, 0x0a, 0x4c, 0xa6, + 0x80, 0x25, 0xe4, 0x25, 0x18, 0x0f, 0x08, 0xf2, 0x93, 0x35, 0xf8, 0xf2, 0x29, 0xbd, 0xc4, 0x66, + 0x79, 0x05, 0xfe, 0x40, 0x51, 0x54, 0x0d, 0x00, 0x3b, 0x56, 0xe2, 0xde, 0xb5, 0xac, 0xe8, 0xa7, + 0xb1, 0x63, 0x85, 0x34, 0xcd, 0x2a, 0x94, 0x8d, 0x38, 0x58, 0xb3, 0x0c, 0x25, 0x23, 0xe2, 0xd2, + 0xfe, 0x59, 0x80, 0x6a, 0x4a, 0x0d, 0xf5, 0x29, 0x18, 0x49, 0x49, 0x16, 0x63, 0x2a, 0xf4, 0x88, + 0xf6, 0xa6, 0x0b, 0x99, 0xe2, 0x09, 0xbc, 0x44, 0xdb, 0x80, 0x92, 0x87, 0x7d, 0x5a, 0x95, 0x10, + 0x7b, 0x0f, 0x8b, 0xcb, 0xdd, 0xfc, 0xa0, 0x75, 0x5f, 0x84, 0xa0, 0xc7, 0xe1, 0xd4, 0x9b, 0x30, + 0x44, 0xb7, 0x12, 0xab, 0x05, 0x06, 0x2f, 0x27, 0xd7, 0x6d, 0xbc, 0xaf, 0x33, 0x80, 0xe6, 0x69, + 0x18, 0x95, 0xde, 0xfe, 0x31, 0x4c, 0x75, 0xad, 0x79, 0xd4, 0x5e, 0x23, 0x07, 0x86, 0xed, 0x6c, + 0xb9, 0x62, 0x4b, 0x5f, 0xee, 0xe3, 0x9d, 0x0b, 0x43, 0x18, 0x21, 0x07, 0xf4, 0xaf, 0x86, 0xe0, + 0x99, 0x9c, 0x48, 0x3d, 0x31, 0x11, 0x1f, 0x41, 0x59, 0x5c, 0xe4, 0x05, 0xe4, 0x7b, 0x50, 0x62, + 0xe7, 0xa2, 0xcf, 0x52, 0xcc, 0x51, 0xce, 0x00, 0x70, 0xc2, 0xdf, 0xda, 0x97, 0x34, 0x37, 0xa5, + 0xee, 0xa6, 0x8f, 0x43, 0x90, 0x7a, 0x1b, 0xc6, 0x6d, 0x0b, 0x3b, 0xc4, 0x26, 0x87, 0xc6, 0x2e, + 0x3e, 0x14, 0xe1, 0x7c, 0xa5, 0x47, 0xd2, 0x59, 0x11, 0x2c, 0xb7, 0xf0, 0xa1, 0x5e, 0xb2, 0xa3, + 0x81, 0xf6, 0xef, 0x22, 0x9c, 0xcd, 0x10, 0x99, 0x55, 0x35, 0x28, 0x27, 0x52, 0x35, 0x7c, 0x17, + 0x86, 0xd8, 0x99, 0xcb, 0xf5, 0x7e, 0xbe, 0x57, 0x92, 0xa6, 0x1a, 0x31, 0x86, 0xc7, 0x70, 0x6f, + 0x4f, 0x1c, 0x1a, 0x43, 0x47, 0x3f, 0x34, 0x2e, 0x42, 0x85, 0x6f, 0x12, 0xc3, 0xf4, 0x31, 0x22, + 0xd8, 0x62, 0x1b, 0x6f, 0x48, 0x2f, 0xf3, 0xd9, 0x1b, 0x7c, 0x92, 0xe6, 0x46, 0x41, 0xc6, 0x73, + 0xf5, 0x88, 0xcc, 0x8d, 0x7c, 0x96, 0xb5, 0x8e, 0x68, 0x9a, 0xaa, 0xc3, 0x98, 0xe7, 0x06, 0x36, + 0xcb, 0x35, 0xa3, 0x0c, 0x28, 0x1c, 0xab, 0xef, 0xc0, 0x48, 0xe0, 0x76, 0x7c, 0x13, 0xd7, 0xc6, + 0xb2, 0xf5, 0x4d, 0x56, 0x8c, 0xd4, 0x7d, 0x6b, 0x8c, 0x5e, 0x17, 0x7c, 0x2c, 0xab, 0xc6, 0xd5, + 0xd0, 0xfe, 0x5a, 0x04, 0x88, 0x8e, 0xda, 0xac, 0x6a, 0x45, 0x39, 0x91, 0x6a, 0xe5, 0x6d, 0x71, + 0xea, 0xf3, 0x85, 0x7f, 0x31, 0x85, 0x66, 0xe1, 0x83, 0xe4, 0xc9, 0xbf, 0xda, 0x42, 0xb6, 0x43, + 0xf0, 0x01, 0xe1, 0x87, 0x7f, 0xc2, 0x2b, 0xc5, 0x94, 0x57, 0x4e, 0x6a, 0x21, 0x57, 0xa1, 0xc4, + 0xdf, 0x7c, 0xf3, 0xbb, 0xf2, 0x70, 0x66, 0xa2, 0x4f, 0x68, 0xda, 0x44, 0xc4, 0xdc, 0xa1, 0xea, + 0xf2, 0xb7, 0xb9, 0xec, 0x96, 0x0c, 0x6e, 0xf8, 0x5b, 0xbd, 0x12, 0x85, 0x46, 0x0b, 0xd9, 0x6d, + 0x6c, 0x85, 0xab, 0x2e, 0x83, 0x83, 0x4f, 0xd3, 0x75, 0x8f, 0xd6, 0x76, 0xf4, 0x88, 0x6b, 0x7b, + 0x06, 0xaa, 0x46, 0x52, 0x9c, 0xf6, 0x77, 0x05, 0xa6, 0xee, 0xee, 0x3b, 0xd8, 0x5a, 0x15, 0xce, + 0x5a, 0xb1, 0xc2, 0xa2, 0xe9, 0x3e, 0x54, 0xa4, 0x0b, 0xe9, 0x41, 0x1b, 0x16, 0xc2, 0x8f, 0x5c, + 0x1b, 0x89, 0xc3, 0x96, 0x9b, 0xda, 0xe1, 0xc5, 0x27, 0xa8, 0x1d, 0x77, 0x61, 0x9c, 0xf8, 0x88, + 0x5d, 0x62, 0x3d, 0x64, 0xcb, 0x72, 0xec, 0xf2, 0xa3, 0x40, 0xef, 0x71, 0xfa, 0x55, 0x64, 0xfb, + 0xcb, 0x0a, 0x3b, 0x29, 0xe5, 0x90, 0x16, 0x02, 0xd4, 0xac, 0xa4, 0xa2, 0x2c, 0x8a, 0xe3, 0x42, + 0x34, 0x0c, 0xb5, 0x6e, 0x33, 0x45, 0x02, 0x5e, 0x81, 0xf1, 0x90, 0xdd, 0xb6, 0xe8, 0x65, 0xab, + 0x98, 0x51, 0x01, 0x64, 0x5a, 0xb9, 0x62, 0xe9, 0x25, 0x2f, 0x82, 0x9c, 0xfb, 0xea, 0x2c, 0x9c, + 0xa5, 0xe7, 0xe3, 0xaa, 0xef, 0x12, 0xd7, 0x74, 0x5b, 0x6b, 0xd8, 0xdf, 0xb3, 0x4d, 0xac, 0xbe, + 0x0f, 0x23, 0xbc, 0x24, 0x53, 0x73, 0xdf, 0x1b, 0x24, 0x0a, 0xd6, 0xfa, 0xa5, 0x5e, 0x64, 0x42, + 0xf7, 0x5d, 0x18, 0x8f, 0x37, 0xbd, 0xd5, 0x97, 0x1e, 0xcd, 0x97, 0x68, 0xd2, 0xd7, 0x5f, 0xee, + 0x8f, 0x98, 0x8b, 0xba, 0xaa, 0xa8, 0xeb, 0x30, 0xcc, 0xce, 0x30, 0xf5, 0x85, 0x3c, 0xc6, 0x78, + 0x2f, 0xbc, 0x7e, 0xb1, 0x07, 0x55, 0x88, 0xfb, 0x31, 0x54, 0x92, 0x67, 0xa3, 0xfa, 0xca, 0x23, + 0x59, 0xd3, 0xfd, 0xdd, 0x7a, 0xa3, 0x5f, 0xf2, 0x50, 0xe4, 0x87, 0x30, 0x2a, 0xfa, 0x52, 0x6a, + 0xae, 0xab, 0x93, 0x0d, 0xd4, 0xfa, 0xe5, 0x9e, 0x74, 0x62, 0x4d, 0xfc, 0xb0, 0x77, 0x28, 0x7b, + 0x5e, 0x6a, 0xa3, 0x07, 0x6f, 0xaa, 0xf9, 0x57, 0x9f, 0xed, 0x9b, 0x5e, 0xc8, 0xfc, 0x00, 0x46, + 0x78, 0x2b, 0x25, 0x3f, 0xc0, 0x12, 0x8d, 0xb1, 0xfc, 0x00, 0x4b, 0x76, 0x64, 0xae, 0x2a, 0xd4, + 0x9c, 0x54, 0x67, 0x23, 0xdf, 0x9c, 0xec, 0x3e, 0x4b, 0xbe, 0x39, 0x79, 0xdd, 0x97, 0x16, 0x94, + 0x13, 0x6d, 0x11, 0x35, 0x37, 0x54, 0xb3, 0xba, 0x2a, 0xf5, 0x57, 0xfa, 0xa4, 0x16, 0xd2, 0x5c, + 0xa8, 0x24, 0xdf, 0xf6, 0xe7, 0xc7, 0x5f, 0xe6, 0x97, 0x0a, 0xf9, 0xf1, 0x97, 0xf3, 0x11, 0x81, + 0x0b, 0x95, 0xe4, 0x6b, 0xfa, 0x7c, 0x81, 0x99, 0x9f, 0x0a, 0xe4, 0x0b, 0xcc, 0x79, 0xfb, 0xdf, + 0x81, 0x89, 0xf4, 0xdb, 0x6f, 0x35, 0x77, 0x51, 0x72, 0xde, 0xde, 0xd7, 0xaf, 0xf6, 0xcf, 0x20, + 0xc4, 0x1a, 0x30, 0x26, 0xdf, 0x2e, 0xab, 0xb9, 0xdb, 0x27, 0xf5, 0xde, 0xbc, 0x3e, 0xd3, 0x9b, + 0x30, 0x8c, 0xcd, 0x0e, 0x4c, 0xa4, 0xfb, 0x38, 0xf9, 0x76, 0xe5, 0x74, 0xc0, 0xf2, 0xed, 0xca, + 0x6d, 0x11, 0x75, 0x60, 0x22, 0xdd, 0xbd, 0xc8, 0x17, 0x9b, 0xd3, 0xf7, 0xc9, 0x17, 0x9b, 0xdb, + 0x18, 0xf1, 0xa1, 0x9a, 0xba, 0xe1, 0xe7, 0xef, 0xc4, 0xec, 0x46, 0x48, 0xfe, 0x4e, 0xcc, 0x6b, + 0x1d, 0x7c, 0xaa, 0xc0, 0xf9, 0xcc, 0xbb, 0x97, 0x7a, 0xbd, 0xcf, 0x2b, 0x56, 0xa2, 0xa9, 0x50, + 0x7f, 0x6d, 0x40, 0x2e, 0xa1, 0x06, 0xe9, 0xbe, 0xcb, 0x37, 0xfa, 0xbd, 0xe2, 0xf5, 0x32, 0x3d, + 0xe7, 0xde, 0x7a, 0x55, 0x51, 0x7f, 0x0e, 0x6a, 0xf7, 0x27, 0x50, 0xea, 0xb5, 0x81, 0x3f, 0x19, + 0xac, 0xcf, 0x0d, 0xc2, 0x22, 0x4c, 0xfe, 0x44, 0x81, 0x73, 0x59, 0xdf, 0xc7, 0xaa, 0xaf, 0xe6, + 0x6e, 0x90, 0xfc, 0x2f, 0x7d, 0xeb, 0xd7, 0x07, 0x63, 0x8a, 0x02, 0x3d, 0x5d, 0x36, 0xe5, 0x07, + 0x7a, 0x4e, 0x1d, 0x99, 0x1f, 0xe8, 0xb9, 0x15, 0xd9, 0x01, 0x9c, 0xe9, 0xfa, 0x4c, 0x5a, 0xcd, + 0x85, 0xc9, 0xfb, 0x66, 0xbc, 0x7e, 0x6d, 0x00, 0x0e, 0x2e, 0x79, 0xce, 0x8b, 0xbe, 0x26, 0x91, + 0xb5, 0xdb, 0x47, 0x30, 0x26, 0xa7, 0xf2, 0x93, 0x58, 0xea, 0x13, 0x94, 0xfc, 0x24, 0x96, 0xfe, + 0xae, 0xa4, 0xf9, 0x59, 0xe1, 0x4f, 0x0f, 0xa7, 0x95, 0xaf, 0x1f, 0x4e, 0x2b, 0xdf, 0x3c, 0x9c, + 0x56, 0x7e, 0xfd, 0xed, 0xf4, 0xa9, 0xaf, 0xbf, 0x9d, 0x3e, 0xf5, 0x97, 0x6f, 0xa7, 0x4f, 0x41, + 0xdd, 0x74, 0xdb, 0x39, 0x38, 0xcd, 0xd3, 0x61, 0x99, 0xb9, 0xaa, 0x7c, 0x78, 0x77, 0xdb, 0x26, + 0x3b, 0x9d, 0xcd, 0x86, 0xe9, 0xb6, 0x67, 0x4d, 0x37, 0x68, 0xbb, 0xc1, 0xac, 0x8f, 0x5b, 0xe8, + 0x10, 0xfb, 0xb3, 0x7b, 0x73, 0xe1, 0x4f, 0x76, 0x41, 0x08, 0x66, 0xb3, 0xff, 0x45, 0xe1, 0x4d, + 0x3a, 0x92, 0x83, 0xdf, 0x15, 0x8a, 0xab, 0xeb, 0x3f, 0xfa, 0x7d, 0x61, 0x72, 0x55, 0x0a, 0xa7, + 0xd2, 0x1a, 0xeb, 0xe2, 0xf1, 0x9f, 0xa3, 0x07, 0x1b, 0xf4, 0xc1, 0x86, 0x7c, 0xf0, 0xb0, 0xa0, + 0x65, 0x3f, 0xd8, 0xb8, 0xb9, 0xda, 0x94, 0xef, 0x63, 0xfe, 0x51, 0xa8, 0x49, 0xa2, 0xf9, 0x79, + 0x4a, 0x35, 0x3f, 0x2f, 0xc9, 0x36, 0x47, 0xd8, 0x7f, 0x02, 0xbc, 0xfa, 0x9f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xa1, 0x4b, 0xc5, 0x96, 0x48, 0x31, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3548,9 +3680,12 @@ type ViewProtocolServiceClient interface { // Get current status of chain sync Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error) // Stream sync status updates until the view service has caught up with the core.chain.v1alpha1. + // Returns a stream of `StatusStreamResponse`s. StatusStream(ctx context.Context, in *StatusStreamRequest, opts ...grpc.CallOption) (ViewProtocolService_StatusStreamClient, error) // Queries for notes that have been accepted by the core.chain.v1alpha1. + // Returns a stream of `NotesResponse`s. Notes(ctx context.Context, in *NotesRequest, opts ...grpc.CallOption) (ViewProtocolService_NotesClient, error) + // Returns a stream of `NotesForVotingResponse`s. NotesForVoting(ctx context.Context, in *NotesForVotingRequest, opts ...grpc.CallOption) (ViewProtocolService_NotesForVotingClient, error) // Returns authentication paths for the given note commitments. // @@ -3561,6 +3696,7 @@ type ViewProtocolServiceClient interface { Witness(ctx context.Context, in *WitnessRequest, opts ...grpc.CallOption) (*WitnessResponse, error) WitnessAndBuild(ctx context.Context, in *WitnessAndBuildRequest, opts ...grpc.CallOption) (*WitnessAndBuildResponse, error) // Queries for assets. + // Returns a stream of `AssetsResponse`s. Assets(ctx context.Context, in *AssetsRequest, opts ...grpc.CallOption) (ViewProtocolService_AssetsClient, error) // Query for the current chain parameters. ChainParameters(ctx context.Context, in *ChainParametersRequest, opts ...grpc.CallOption) (*ChainParametersResponse, error) @@ -3572,8 +3708,9 @@ type ViewProtocolServiceClient interface { IndexByAddress(ctx context.Context, in *IndexByAddressRequest, opts ...grpc.CallOption) (*IndexByAddressResponse, error) // Query for an ephemeral address EphemeralAddress(ctx context.Context, in *EphemeralAddressRequest, opts ...grpc.CallOption) (*EphemeralAddressResponse, error) - // Query for balance of a given address - BalanceByAddress(ctx context.Context, in *BalanceByAddressRequest, opts ...grpc.CallOption) (ViewProtocolService_BalanceByAddressClient, error) + // Query for balance of a given address. + // Returns a stream of `BalancesResponses`. + Balances(ctx context.Context, in *BalancesRequest, opts ...grpc.CallOption) (ViewProtocolService_BalancesClient, error) // Query for a note by its note commitment, optionally waiting until the note is detected. NoteByCommitment(ctx context.Context, in *NoteByCommitmentRequest, opts ...grpc.CallOption) (*NoteByCommitmentResponse, error) // Query for a swap by its swap commitment, optionally waiting until the swap is detected. @@ -3583,6 +3720,7 @@ type ViewProtocolServiceClient interface { // Query for a given transaction by its hash. TransactionInfoByHash(ctx context.Context, in *TransactionInfoByHashRequest, opts ...grpc.CallOption) (*TransactionInfoByHashResponse, error) // Query for the full transactions in the given range of blocks. + // Returns a stream of `TransactionInfoResponse`s. TransactionInfo(ctx context.Context, in *TransactionInfoRequest, opts ...grpc.CallOption) (ViewProtocolService_TransactionInfoClient, error) // Query for a transaction plan TransactionPlanner(ctx context.Context, in *TransactionPlannerRequest, opts ...grpc.CallOption) (*TransactionPlannerResponse, error) @@ -3590,6 +3728,8 @@ type ViewProtocolServiceClient interface { BroadcastTransaction(ctx context.Context, in *BroadcastTransactionRequest, opts ...grpc.CallOption) (*BroadcastTransactionResponse, error) // Query for owned position IDs for the given trading pair and in the given position state. OwnedPositionIds(ctx context.Context, in *OwnedPositionIdsRequest, opts ...grpc.CallOption) (*OwnedPositionIdsResponse, error) + // Authorize a transaction plan and build the transaction. + AuthorizeAndBuild(ctx context.Context, in *AuthorizeAndBuildRequest, opts ...grpc.CallOption) (*AuthorizeAndBuildResponse, error) } type viewProtocolServiceClient struct { @@ -3800,12 +3940,12 @@ func (c *viewProtocolServiceClient) EphemeralAddress(ctx context.Context, in *Ep return out, nil } -func (c *viewProtocolServiceClient) BalanceByAddress(ctx context.Context, in *BalanceByAddressRequest, opts ...grpc.CallOption) (ViewProtocolService_BalanceByAddressClient, error) { - stream, err := c.cc.NewStream(ctx, &_ViewProtocolService_serviceDesc.Streams[4], "/penumbra.view.v1alpha1.ViewProtocolService/BalanceByAddress", opts...) +func (c *viewProtocolServiceClient) Balances(ctx context.Context, in *BalancesRequest, opts ...grpc.CallOption) (ViewProtocolService_BalancesClient, error) { + stream, err := c.cc.NewStream(ctx, &_ViewProtocolService_serviceDesc.Streams[4], "/penumbra.view.v1alpha1.ViewProtocolService/Balances", opts...) if err != nil { return nil, err } - x := &viewProtocolServiceBalanceByAddressClient{stream} + x := &viewProtocolServiceBalancesClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -3815,17 +3955,17 @@ func (c *viewProtocolServiceClient) BalanceByAddress(ctx context.Context, in *Ba return x, nil } -type ViewProtocolService_BalanceByAddressClient interface { - Recv() (*BalanceByAddressResponse, error) +type ViewProtocolService_BalancesClient interface { + Recv() (*BalancesResponse, error) grpc.ClientStream } -type viewProtocolServiceBalanceByAddressClient struct { +type viewProtocolServiceBalancesClient struct { grpc.ClientStream } -func (x *viewProtocolServiceBalanceByAddressClient) Recv() (*BalanceByAddressResponse, error) { - m := new(BalanceByAddressResponse) +func (x *viewProtocolServiceBalancesClient) Recv() (*BalancesResponse, error) { + m := new(BalancesResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -3927,14 +4067,26 @@ func (c *viewProtocolServiceClient) OwnedPositionIds(ctx context.Context, in *Ow return out, nil } +func (c *viewProtocolServiceClient) AuthorizeAndBuild(ctx context.Context, in *AuthorizeAndBuildRequest, opts ...grpc.CallOption) (*AuthorizeAndBuildResponse, error) { + out := new(AuthorizeAndBuildResponse) + err := c.cc.Invoke(ctx, "/penumbra.view.v1alpha1.ViewProtocolService/AuthorizeAndBuild", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ViewProtocolServiceServer is the server API for ViewProtocolService service. type ViewProtocolServiceServer interface { // Get current status of chain sync Status(context.Context, *StatusRequest) (*StatusResponse, error) // Stream sync status updates until the view service has caught up with the core.chain.v1alpha1. + // Returns a stream of `StatusStreamResponse`s. StatusStream(*StatusStreamRequest, ViewProtocolService_StatusStreamServer) error // Queries for notes that have been accepted by the core.chain.v1alpha1. + // Returns a stream of `NotesResponse`s. Notes(*NotesRequest, ViewProtocolService_NotesServer) error + // Returns a stream of `NotesForVotingResponse`s. NotesForVoting(*NotesForVotingRequest, ViewProtocolService_NotesForVotingServer) error // Returns authentication paths for the given note commitments. // @@ -3945,6 +4097,7 @@ type ViewProtocolServiceServer interface { Witness(context.Context, *WitnessRequest) (*WitnessResponse, error) WitnessAndBuild(context.Context, *WitnessAndBuildRequest) (*WitnessAndBuildResponse, error) // Queries for assets. + // Returns a stream of `AssetsResponse`s. Assets(*AssetsRequest, ViewProtocolService_AssetsServer) error // Query for the current chain parameters. ChainParameters(context.Context, *ChainParametersRequest) (*ChainParametersResponse, error) @@ -3956,8 +4109,9 @@ type ViewProtocolServiceServer interface { IndexByAddress(context.Context, *IndexByAddressRequest) (*IndexByAddressResponse, error) // Query for an ephemeral address EphemeralAddress(context.Context, *EphemeralAddressRequest) (*EphemeralAddressResponse, error) - // Query for balance of a given address - BalanceByAddress(*BalanceByAddressRequest, ViewProtocolService_BalanceByAddressServer) error + // Query for balance of a given address. + // Returns a stream of `BalancesResponses`. + Balances(*BalancesRequest, ViewProtocolService_BalancesServer) error // Query for a note by its note commitment, optionally waiting until the note is detected. NoteByCommitment(context.Context, *NoteByCommitmentRequest) (*NoteByCommitmentResponse, error) // Query for a swap by its swap commitment, optionally waiting until the swap is detected. @@ -3967,6 +4121,7 @@ type ViewProtocolServiceServer interface { // Query for a given transaction by its hash. TransactionInfoByHash(context.Context, *TransactionInfoByHashRequest) (*TransactionInfoByHashResponse, error) // Query for the full transactions in the given range of blocks. + // Returns a stream of `TransactionInfoResponse`s. TransactionInfo(*TransactionInfoRequest, ViewProtocolService_TransactionInfoServer) error // Query for a transaction plan TransactionPlanner(context.Context, *TransactionPlannerRequest) (*TransactionPlannerResponse, error) @@ -3974,6 +4129,8 @@ type ViewProtocolServiceServer interface { BroadcastTransaction(context.Context, *BroadcastTransactionRequest) (*BroadcastTransactionResponse, error) // Query for owned position IDs for the given trading pair and in the given position state. OwnedPositionIds(context.Context, *OwnedPositionIdsRequest) (*OwnedPositionIdsResponse, error) + // Authorize a transaction plan and build the transaction. + AuthorizeAndBuild(context.Context, *AuthorizeAndBuildRequest) (*AuthorizeAndBuildResponse, error) } // UnimplementedViewProtocolServiceServer can be embedded to have forward compatible implementations. @@ -4016,8 +4173,8 @@ func (*UnimplementedViewProtocolServiceServer) IndexByAddress(ctx context.Contex func (*UnimplementedViewProtocolServiceServer) EphemeralAddress(ctx context.Context, req *EphemeralAddressRequest) (*EphemeralAddressResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EphemeralAddress not implemented") } -func (*UnimplementedViewProtocolServiceServer) BalanceByAddress(req *BalanceByAddressRequest, srv ViewProtocolService_BalanceByAddressServer) error { - return status.Errorf(codes.Unimplemented, "method BalanceByAddress not implemented") +func (*UnimplementedViewProtocolServiceServer) Balances(req *BalancesRequest, srv ViewProtocolService_BalancesServer) error { + return status.Errorf(codes.Unimplemented, "method Balances not implemented") } func (*UnimplementedViewProtocolServiceServer) NoteByCommitment(ctx context.Context, req *NoteByCommitmentRequest) (*NoteByCommitmentResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method NoteByCommitment not implemented") @@ -4043,6 +4200,9 @@ func (*UnimplementedViewProtocolServiceServer) BroadcastTransaction(ctx context. func (*UnimplementedViewProtocolServiceServer) OwnedPositionIds(ctx context.Context, req *OwnedPositionIdsRequest) (*OwnedPositionIdsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method OwnedPositionIds not implemented") } +func (*UnimplementedViewProtocolServiceServer) AuthorizeAndBuild(ctx context.Context, req *AuthorizeAndBuildRequest) (*AuthorizeAndBuildResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AuthorizeAndBuild not implemented") +} func RegisterViewProtocolServiceServer(s grpc1.Server, srv ViewProtocolServiceServer) { s.RegisterService(&_ViewProtocolService_serviceDesc, srv) @@ -4276,24 +4436,24 @@ func _ViewProtocolService_EphemeralAddress_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } -func _ViewProtocolService_BalanceByAddress_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(BalanceByAddressRequest) +func _ViewProtocolService_Balances_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(BalancesRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ViewProtocolServiceServer).BalanceByAddress(m, &viewProtocolServiceBalanceByAddressServer{stream}) + return srv.(ViewProtocolServiceServer).Balances(m, &viewProtocolServiceBalancesServer{stream}) } -type ViewProtocolService_BalanceByAddressServer interface { - Send(*BalanceByAddressResponse) error +type ViewProtocolService_BalancesServer interface { + Send(*BalancesResponse) error grpc.ServerStream } -type viewProtocolServiceBalanceByAddressServer struct { +type viewProtocolServiceBalancesServer struct { grpc.ServerStream } -func (x *viewProtocolServiceBalanceByAddressServer) Send(m *BalanceByAddressResponse) error { +func (x *viewProtocolServiceBalancesServer) Send(m *BalancesResponse) error { return x.ServerStream.SendMsg(m) } @@ -4444,6 +4604,24 @@ func _ViewProtocolService_OwnedPositionIds_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _ViewProtocolService_AuthorizeAndBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AuthorizeAndBuildRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ViewProtocolServiceServer).AuthorizeAndBuild(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/penumbra.view.v1alpha1.ViewProtocolService/AuthorizeAndBuild", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ViewProtocolServiceServer).AuthorizeAndBuild(ctx, req.(*AuthorizeAndBuildRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ ServiceName: "penumbra.view.v1alpha1.ViewProtocolService", HandlerType: (*ViewProtocolServiceServer)(nil), @@ -4508,6 +4686,10 @@ var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ MethodName: "OwnedPositionIds", Handler: _ViewProtocolService_OwnedPositionIds_Handler, }, + { + MethodName: "AuthorizeAndBuild", + Handler: _ViewProtocolService_AuthorizeAndBuild_Handler, + }, }, Streams: []grpc.StreamDesc{ { @@ -4531,8 +4713,8 @@ var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ ServerStreams: true, }, { - StreamName: "BalanceByAddress", - Handler: _ViewProtocolService_BalanceByAddress_Handler, + StreamName: "Balances", + Handler: _ViewProtocolService_Balances_Handler, ServerStreams: true, }, { @@ -4616,7 +4798,7 @@ var _ViewAuthService_serviceDesc = grpc.ServiceDesc{ Metadata: "penumbra/view/v1alpha1/view.proto", } -func (m *BroadcastTransactionRequest) Marshal() (dAtA []byte, err error) { +func (m *AuthorizeAndBuildRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -4626,29 +4808,31 @@ func (m *BroadcastTransactionRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *BroadcastTransactionRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *AuthorizeAndBuildRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *BroadcastTransactionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *AuthorizeAndBuildRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.AwaitDetection { - i-- - if m.AwaitDetection { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if m.AuthorizationData != nil { + { + size, err := m.AuthorizationData.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } - if m.Transaction != nil { + if m.TransactionPlan != nil { { - size, err := m.Transaction.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.TransactionPlan.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -4661,7 +4845,7 @@ func (m *BroadcastTransactionRequest) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *BroadcastTransactionResponse) Marshal() (dAtA []byte, err error) { +func (m *AuthorizeAndBuildResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -4671,24 +4855,19 @@ func (m *BroadcastTransactionResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *BroadcastTransactionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *AuthorizeAndBuildResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *BroadcastTransactionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *AuthorizeAndBuildResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.DetectionHeight != 0 { - i = encodeVarintView(dAtA, i, uint64(m.DetectionHeight)) - i-- - dAtA[i] = 0x10 - } - if m.Id != nil { + if m.Transaction != nil { { - size, err := m.Id.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Transaction.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -4701,7 +4880,7 @@ func (m *BroadcastTransactionResponse) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *TransactionPlannerRequest) Marshal() (dAtA []byte, err error) { +func (m *BroadcastTransactionRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -4711,33 +4890,118 @@ func (m *TransactionPlannerRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *TransactionPlannerRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *BroadcastTransactionRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *TransactionPlannerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *BroadcastTransactionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.IbcActions) > 0 { - for iNdEx := len(m.IbcActions) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.IbcActions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x3 - i-- - dAtA[i] = 0xe2 - } - } - if len(m.Undelegations) > 0 { + if m.AwaitDetection { + i-- + if m.AwaitDetection { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Transaction != nil { + { + size, err := m.Transaction.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *BroadcastTransactionResponse) 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 *BroadcastTransactionResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BroadcastTransactionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.DetectionHeight != 0 { + i = encodeVarintView(dAtA, i, uint64(m.DetectionHeight)) + i-- + dAtA[i] = 0x10 + } + if m.Id != nil { + { + size, err := m.Id.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *TransactionPlannerRequest) 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 *TransactionPlannerRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TransactionPlannerRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.IbcActions) > 0 { + for iNdEx := len(m.IbcActions) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.IbcActions[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0xe2 + } + } + if len(m.Undelegations) > 0 { for iNdEx := len(m.Undelegations) - 1; iNdEx >= 0; iNdEx-- { { size, err := m.Undelegations[iNdEx].MarshalToSizedBuffer(dAtA[:i]) @@ -5113,6 +5377,16 @@ func (m *AddressByIndexRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.DisplayConfirm { + i-- + if m.DisplayConfirm { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } if m.AddressIndex != nil { { size, err := m.AddressIndex.MarshalToSizedBuffer(dAtA[:i]) @@ -5271,6 +5545,16 @@ func (m *EphemeralAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) _ = i var l int _ = l + if m.DisplayConfirm { + i-- + if m.DisplayConfirm { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } if m.AddressIndex != nil { { size, err := m.AddressIndex.MarshalToSizedBuffer(dAtA[:i]) @@ -5321,7 +5605,7 @@ func (m *EphemeralAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *BalanceByAddressRequest) Marshal() (dAtA []byte, err error) { +func (m *BalancesRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5331,19 +5615,31 @@ func (m *BalanceByAddressRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *BalanceByAddressRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *BalancesRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *BalanceByAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *BalancesRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Address != nil { + if m.AssetIdFilter != nil { { - size, err := m.Address.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.AssetIdFilter.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.AccountFilter != nil { + { + size, err := m.AccountFilter.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5356,7 +5652,7 @@ func (m *BalanceByAddressRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *BalanceByAddressResponse) Marshal() (dAtA []byte, err error) { +func (m *BalancesResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5366,19 +5662,19 @@ func (m *BalanceByAddressResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *BalanceByAddressResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *BalancesResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *BalanceByAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *BalancesResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Amount != nil { + if m.Balance != nil { { - size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Balance.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -5388,9 +5684,9 @@ func (m *BalanceByAddressResponse) MarshalToSizedBuffer(dAtA []byte) (int, error i-- dAtA[i] = 0x12 } - if m.Asset != nil { + if m.Account != nil { { - size, err := m.Asset.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Account.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -7319,6 +7615,36 @@ func encodeVarintView(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } +func (m *AuthorizeAndBuildRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TransactionPlan != nil { + l = m.TransactionPlan.Size() + n += 1 + l + sovView(uint64(l)) + } + if m.AuthorizationData != nil { + l = m.AuthorizationData.Size() + n += 1 + l + sovView(uint64(l)) + } + return n +} + +func (m *AuthorizeAndBuildResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Transaction != nil { + l = m.Transaction.Size() + n += 1 + l + sovView(uint64(l)) + } + return n +} + func (m *BroadcastTransactionRequest) Size() (n int) { if m == nil { return 0 @@ -7511,6 +7837,9 @@ func (m *AddressByIndexRequest) Size() (n int) { l = m.AddressIndex.Size() n += 1 + l + sovView(uint64(l)) } + if m.DisplayConfirm { + n += 2 + } return n } @@ -7574,6 +7903,9 @@ func (m *EphemeralAddressRequest) Size() (n int) { l = m.AddressIndex.Size() n += 1 + l + sovView(uint64(l)) } + if m.DisplayConfirm { + n += 2 + } return n } @@ -7590,31 +7922,35 @@ func (m *EphemeralAddressResponse) Size() (n int) { return n } -func (m *BalanceByAddressRequest) Size() (n int) { +func (m *BalancesRequest) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Address != nil { - l = m.Address.Size() + if m.AccountFilter != nil { + l = m.AccountFilter.Size() + n += 1 + l + sovView(uint64(l)) + } + if m.AssetIdFilter != nil { + l = m.AssetIdFilter.Size() n += 1 + l + sovView(uint64(l)) } return n } -func (m *BalanceByAddressResponse) Size() (n int) { +func (m *BalancesResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Asset != nil { - l = m.Asset.Size() + if m.Account != nil { + l = m.Account.Size() n += 1 + l + sovView(uint64(l)) } - if m.Amount != nil { - l = m.Amount.Size() + if m.Balance != nil { + l = m.Balance.Size() n += 1 + l + sovView(uint64(l)) } return n @@ -8395,6 +8731,214 @@ func sovView(x uint64) (n int) { func sozView(x uint64) (n int) { return sovView(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } +func (m *AuthorizeAndBuildRequest) 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 ErrIntOverflowView + } + 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: AuthorizeAndBuildRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AuthorizeAndBuildRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TransactionPlan", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TransactionPlan == nil { + m.TransactionPlan = &v1alpha1.TransactionPlan{} + } + if err := m.TransactionPlan.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AuthorizationData", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AuthorizationData == nil { + m.AuthorizationData = &v1alpha1.AuthorizationData{} + } + if err := m.AuthorizationData.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthView + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AuthorizeAndBuildResponse) 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 ErrIntOverflowView + } + 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: AuthorizeAndBuildResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AuthorizeAndBuildResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Transaction", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Transaction == nil { + m.Transaction = &v1alpha1.Transaction{} + } + if err := m.Transaction.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthView + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *BroadcastTransactionRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -9623,6 +10167,26 @@ func (m *AddressByIndexRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DisplayConfirm", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.DisplayConfirm = bool(v != 0) default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -9966,6 +10530,26 @@ func (m *EphemeralAddressRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DisplayConfirm", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.DisplayConfirm = bool(v != 0) default: iNdEx = preIndex skippy, err := skipView(dAtA[iNdEx:]) @@ -10073,7 +10657,7 @@ func (m *EphemeralAddressResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *BalanceByAddressRequest) Unmarshal(dAtA []byte) error { +func (m *BalancesRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10096,15 +10680,15 @@ func (m *BalanceByAddressRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BalanceByAddressRequest: wiretype end group for non-group") + return fmt.Errorf("proto: BalancesRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BalanceByAddressRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BalancesRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AccountFilter", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10131,10 +10715,46 @@ func (m *BalanceByAddressRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Address == nil { - m.Address = &v1alpha11.Address{} + if m.AccountFilter == nil { + m.AccountFilter = &v1alpha11.AddressIndex{} } - if err := m.Address.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.AccountFilter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetIdFilter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AssetIdFilter == nil { + m.AssetIdFilter = &v1alpha11.AssetId{} + } + if err := m.AssetIdFilter.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -10159,7 +10779,7 @@ func (m *BalanceByAddressRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *BalanceByAddressResponse) Unmarshal(dAtA []byte) error { +func (m *BalancesResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10182,15 +10802,15 @@ func (m *BalanceByAddressResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BalanceByAddressResponse: wiretype end group for non-group") + return fmt.Errorf("proto: BalancesResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BalanceByAddressResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BalancesResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Asset", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10217,16 +10837,16 @@ func (m *BalanceByAddressResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Asset == nil { - m.Asset = &v1alpha11.AssetId{} + if m.Account == nil { + m.Account = &v1alpha11.AddressIndex{} } - if err := m.Asset.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Account.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Balance", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10253,10 +10873,10 @@ func (m *BalanceByAddressResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Amount == nil { - m.Amount = &v1alpha11.Amount{} + if m.Balance == nil { + m.Balance = &v1alpha11.Value{} } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Balance.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex From 73d338abc45691ba1f7a7066882308bceb6009e8 Mon Sep 17 00:00:00 2001 From: Joe Abbey Date: Sat, 22 Jul 2023 13:32:55 -0400 Subject: [PATCH 18/58] fix: Suppressing scary SDK error on redundant packets (#1214) Co-authored-by: Andrew Gouin --- relayer/chains/cosmos/log.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/relayer/chains/cosmos/log.go b/relayer/chains/cosmos/log.go index 75e43a982..9008e58d5 100644 --- a/relayer/chains/cosmos/log.go +++ b/relayer/chains/cosmos/log.go @@ -1,6 +1,7 @@ package cosmos import ( + "errors" "reflect" "github.com/cosmos/cosmos-sdk/codec/types" @@ -8,6 +9,7 @@ import ( typestx "github.com/cosmos/cosmos-sdk/types/tx" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -52,6 +54,12 @@ func (cc *CosmosProvider) LogFailedTx(res *provider.RelayerTxResponse, err error fields = append(fields, msgTypesField(msgs)) if err != nil { + + if errors.Is(err, chantypes.ErrRedundantTx) { + cc.log.Debug("Redundant message(s)", fields...) + return + } + // Make a copy since we may continue to the warning errorFields := append(fields, zap.Error(err)) cc.log.Error( From 7ae1596b81e6daa6ac54d413077fde500f8cf01a Mon Sep 17 00:00:00 2001 From: murataniloener Date: Tue, 25 Jul 2023 21:03:55 +0200 Subject: [PATCH 19/58] catch error if type is missing (#1234) Co-authored-by: Andrew Gouin --- cmd/config.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cmd/config.go b/cmd/config.go index 5266a4685..9888a4596 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -19,6 +19,7 @@ package cmd import ( "context" "encoding/json" + "errors" "fmt" "io" "io/ioutil" @@ -393,7 +394,11 @@ func UnmarshalJSONProviderConfig(data []byte, customTypes map[string]reflect.Typ return nil, err } - typeName := m["type"].(string) + typeName, ok := m["type"].(string) + if !ok { + return nil, errors.New("cannot find type"); + } + var provCfg provider.ProviderConfig if ty, found := customTypes[typeName]; found { provCfg = reflect.New(ty).Interface().(provider.ProviderConfig) From 22bce429316c81ce9a5386787d021b003d752b72 Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Tue, 25 Jul 2023 12:11:21 -0700 Subject: [PATCH 20/58] Export client expiration metric to prometheus (#1235) * export client expiration metric * finalize * add path name * snake case * change label to `chain` * trusting period as string --- relayer/processor/message_processor.go | 7 +++++++ relayer/processor/metrics.go | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/relayer/processor/message_processor.go b/relayer/processor/message_processor.go index bb0f66b12..fe355cfa7 100644 --- a/relayer/processor/message_processor.go +++ b/relayer/processor/message_processor.go @@ -141,8 +141,14 @@ func (mp *messageProcessor) shouldUpdateClientNow(ctx context.Context, src, dst shouldUpdateClientNow := enoughBlocksPassed && (pastTwoThirdsTrustingPeriod || pastConfiguredClientUpdateThreshold) + if mp.metrics != nil { + timeToExpiration := dst.clientState.TrustingPeriod - time.Since(consensusHeightTime) + mp.metrics.SetClientExpiration(src.info.PathName, dst.info.ChainID, dst.clientState.ClientID, fmt.Sprint(dst.clientState.TrustingPeriod.String()), timeToExpiration) + } + if shouldUpdateClientNow { mp.log.Info("Client update threshold condition met", + zap.String("path_name", src.info.PathName), zap.String("chain_id", dst.info.ChainID), zap.String("client_id", dst.info.ClientID), zap.Int64("trusting_period", dst.clientState.TrustingPeriod.Milliseconds()), @@ -249,6 +255,7 @@ func (mp *messageProcessor) assembleMsgUpdateClient(ctx context.Context, src, ds clientConsensusHeight.RevisionHeight+1, src.info.ChainID, err) } mp.log.Debug("Had to query for client trusted IBC header", + zap.String("path_name", src.info.PathName), zap.String("chain_id", src.info.ChainID), zap.String("counterparty_chain_id", dst.info.ChainID), zap.String("counterparty_client_id", clientID), diff --git a/relayer/processor/metrics.go b/relayer/processor/metrics.go index a549eb40a..96de766b6 100644 --- a/relayer/processor/metrics.go +++ b/relayer/processor/metrics.go @@ -1,6 +1,8 @@ package processor import ( + "time" + "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" ) @@ -12,6 +14,7 @@ type PrometheusMetrics struct { LatestHeightGauge *prometheus.GaugeVec WalletBalance *prometheus.GaugeVec FeesSpent *prometheus.GaugeVec + ClientExpiration *prometheus.GaugeVec } func (m *PrometheusMetrics) AddPacketsObserved(path, chain, channel, port, eventType string, count int) { @@ -34,10 +37,15 @@ func (m *PrometheusMetrics) SetFeesSpent(chain, key, address, denom string, amou m.FeesSpent.WithLabelValues(chain, key, address, denom).Set(amount) } +func (m *PrometheusMetrics) SetClientExpiration(pathName, chain, clientID, trustingPeriod string, timeToExpiration time.Duration) { + m.ClientExpiration.WithLabelValues(pathName, chain, clientID, trustingPeriod).Set(timeToExpiration.Seconds()) +} + func NewPrometheusMetrics() *PrometheusMetrics { packetLabels := []string{"path", "chain", "channel", "port", "type"} heightLabels := []string{"chain"} walletLabels := []string{"chain", "key", "address", "denom"} + clientExpirationLables := []string{"path_name", "chain", "client_id", "trusting_period"} registry := prometheus.NewRegistry() registerer := promauto.With(registry) return &PrometheusMetrics{ @@ -62,5 +70,9 @@ func NewPrometheusMetrics() *PrometheusMetrics { Name: "cosmos_relayer_fees_spent", Help: "The amount of fees spent from the relayer's wallet", }, walletLabels), + ClientExpiration: registerer.NewGaugeVec(prometheus.GaugeOpts{ + Name: "cosmos_relayer_client_expiration_seconds", + Help: "Seconds until the client expires", + }, clientExpirationLables), } } From 55084bd5844c42a5df8cf9e6fa2d74a84ccf304c Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Tue, 25 Jul 2023 12:21:03 -0700 Subject: [PATCH 21/58] Export configured gas prices to prometheus wallet balance metric (#1236) * export gas price to prom * update label * update fees spent metric * snake case --- relayer/chains/cosmos/cosmos_chain_processor.go | 2 +- relayer/chains/cosmos/tx.go | 2 +- relayer/processor/metrics.go | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index b4bef6d47..9189e945d 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -550,6 +550,6 @@ func (ccp *CosmosChainProcessor) CurrentRelayerBalance(ctx context.Context) { bal := relayerWalletBalances.AmountOf(gasDenom.Denom) // Convert to a big float to get a float64 for metrics f, _ := big.NewFloat(0.0).SetInt(bal.BigInt()).Float64() - ccp.metrics.SetWalletBalance(ccp.chainProvider.ChainId(), ccp.chainProvider.Key(), address, gasDenom.Denom, f) + ccp.metrics.SetWalletBalance(ccp.chainProvider.ChainId(), ccp.chainProvider.PCfg.GasPrices, ccp.chainProvider.Key(), address, gasDenom.Denom, f) } } diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index e4c06714d..8d9ae37d1 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -1301,7 +1301,7 @@ func (cc *CosmosProvider) UpdateFeesSpent(chain, key, address string, fees sdk.C for _, fee := range cc.TotalFees { // Convert to a big float to get a float64 for metrics f, _ := big.NewFloat(0.0).SetInt(fee.Amount.BigInt()).Float64() - cc.metrics.SetFeesSpent(chain, key, address, fee.GetDenom(), f) + cc.metrics.SetFeesSpent(chain, cc.PCfg.GasPrices, key, address, fee.GetDenom(), f) } } diff --git a/relayer/processor/metrics.go b/relayer/processor/metrics.go index 96de766b6..6c77b5f3e 100644 --- a/relayer/processor/metrics.go +++ b/relayer/processor/metrics.go @@ -29,12 +29,12 @@ func (m *PrometheusMetrics) SetLatestHeight(chain string, height int64) { m.LatestHeightGauge.WithLabelValues(chain).Set(float64(height)) } -func (m *PrometheusMetrics) SetWalletBalance(chain, key, address, denom string, balance float64) { - m.WalletBalance.WithLabelValues(chain, key, address, denom).Set(balance) +func (m *PrometheusMetrics) SetWalletBalance(chain, gasPrice, key, address, denom string, balance float64) { + m.WalletBalance.WithLabelValues(chain, gasPrice, key, address, denom).Set(balance) } -func (m *PrometheusMetrics) SetFeesSpent(chain, key, address, denom string, amount float64) { - m.FeesSpent.WithLabelValues(chain, key, address, denom).Set(amount) +func (m *PrometheusMetrics) SetFeesSpent(chain, gasPrice, key, address, denom string, amount float64) { + m.FeesSpent.WithLabelValues(chain, gasPrice, key, address, denom).Set(amount) } func (m *PrometheusMetrics) SetClientExpiration(pathName, chain, clientID, trustingPeriod string, timeToExpiration time.Duration) { @@ -44,7 +44,7 @@ func (m *PrometheusMetrics) SetClientExpiration(pathName, chain, clientID, trust func NewPrometheusMetrics() *PrometheusMetrics { packetLabels := []string{"path", "chain", "channel", "port", "type"} heightLabels := []string{"chain"} - walletLabels := []string{"chain", "key", "address", "denom"} + walletLabels := []string{"chain", "gas_price", "key", "address", "denom"} clientExpirationLables := []string{"path_name", "chain", "client_id", "trusting_period"} registry := prometheus.NewRegistry() registerer := promauto.With(registry) From 107d3f5174e17aabd1b336b098ef3bb0f68d1b6a Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Tue, 25 Jul 2023 12:32:52 -0700 Subject: [PATCH 22/58] Exports block query errors to prometheus metrics (counter) (#1239) * separate by type * add help info * remove new line in help and fix readme * feedback --- docs/advanced_usage.md | 2 +- relayer/chains/cosmos/cosmos_chain_processor.go | 6 ++++++ relayer/processor/metrics.go | 10 ++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/advanced_usage.md b/docs/advanced_usage.md index 715bc283d..99a721634 100644 --- a/docs/advanced_usage.md +++ b/docs/advanced_usage.md @@ -5,7 +5,7 @@ **Prometheus exporter** If you started `rly` with the default `--debug-addr` argument, -you can use `http://$IP:7597/relayer/metrics` as a target for your prometheus scraper. +you can use `http://$IP:5183/relayer/metrics` as a target for your prometheus scraper. **Example metrics** diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index 9189e945d..c582cc731 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -386,12 +386,18 @@ func (ccp *CosmosChainProcessor) queryCycle(ctx context.Context, persistence *qu queryCtx, cancelQueryCtx := context.WithTimeout(ctx, blockResultsQueryTimeout) defer cancelQueryCtx() blockRes, err = ccp.chainProvider.RPCClient.BlockResults(queryCtx, &i) + if err != nil && ccp.metrics != nil { + ccp.metrics.IncBlockQueryFailure(chainID, "RPC Client") + } return err }) eg.Go(func() (err error) { queryCtx, cancelQueryCtx := context.WithTimeout(ctx, queryTimeout) defer cancelQueryCtx() ibcHeader, err = ccp.chainProvider.QueryIBCHeader(queryCtx, i) + if err != nil && ccp.metrics != nil { + ccp.metrics.IncBlockQueryFailure(chainID, "IBC Header") + } return err }) diff --git a/relayer/processor/metrics.go b/relayer/processor/metrics.go index 6c77b5f3e..27e9e789f 100644 --- a/relayer/processor/metrics.go +++ b/relayer/processor/metrics.go @@ -14,6 +14,7 @@ type PrometheusMetrics struct { LatestHeightGauge *prometheus.GaugeVec WalletBalance *prometheus.GaugeVec FeesSpent *prometheus.GaugeVec + BlockQueryFailure *prometheus.CounterVec ClientExpiration *prometheus.GaugeVec } @@ -41,9 +42,14 @@ func (m *PrometheusMetrics) SetClientExpiration(pathName, chain, clientID, trust m.ClientExpiration.WithLabelValues(pathName, chain, clientID, trustingPeriod).Set(timeToExpiration.Seconds()) } +func (m *PrometheusMetrics) IncBlockQueryFailure(chain, err string) { + m.BlockQueryFailure.WithLabelValues(chain, err).Inc() +} + func NewPrometheusMetrics() *PrometheusMetrics { packetLabels := []string{"path", "chain", "channel", "port", "type"} heightLabels := []string{"chain"} + blockQueryFailureLabels := []string{"chain", "type"} walletLabels := []string{"chain", "gas_price", "key", "address", "denom"} clientExpirationLables := []string{"path_name", "chain", "client_id", "trusting_period"} registry := prometheus.NewRegistry() @@ -70,6 +76,10 @@ func NewPrometheusMetrics() *PrometheusMetrics { Name: "cosmos_relayer_fees_spent", Help: "The amount of fees spent from the relayer's wallet", }, walletLabels), + BlockQueryFailure: registerer.NewCounterVec(prometheus.CounterOpts{ + Name: "cosmos_relayer_block_query_errors_total", + Help: "The total number of block query failures. The failures are separated into two catagories: 'RPC Client' and 'IBC Header'", + }, blockQueryFailureLabels), ClientExpiration: registerer.NewGaugeVec(prometheus.GaugeOpts{ Name: "cosmos_relayer_client_expiration_seconds", Help: "Seconds until the client expires", From 3c7828782d351273c1e8192a0cc66a2d26de4296 Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Tue, 25 Jul 2023 12:55:34 -0700 Subject: [PATCH 23/58] Export TX failures to prometheus metrics (counter) (#1240) * export tx failures to prometheus * change label to `cause` --- docs/advanced_usage.md | 11 ++++++++ relayer/processor/message_processor.go | 36 ++++++++++++++++++++++++++ relayer/processor/metrics.go | 10 +++++++ 3 files changed, 57 insertions(+) diff --git a/docs/advanced_usage.md b/docs/advanced_usage.md index 99a721634..a0b518b07 100644 --- a/docs/advanced_usage.md +++ b/docs/advanced_usage.md @@ -7,6 +7,17 @@ If you started `rly` with the default `--debug-addr` argument, you can use `http://$IP:5183/relayer/metrics` as a target for your prometheus scraper. + +Exported metrics: + +| **Exported Metric** | **Description** | **Type** | +|:----------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------:| +| cosmos_relayer_observed_packets | The total number of observed packets | Counter | +| cosmos_relayer_relayed_packets | The total number of relayed packets | Counter | +| cosmos_relayer_chain_latest_height | The current height of the chain | Gauge | +| cosmos_relayer_wallet_balance | The current balance for the relayer's wallet | Gauge | +| cosmos_relayer_fees_spent | The amount of fees spent from the relayer's wallet | Gauge | +| cosmos_relayer_tx_failure |
The total number of tx failures broken up into catagories .
Categories:
- "packet messages are redundant"
- "insufficient funds"
- "invalid coins"
- "out of gas"
- "incorrect account sequence"

"Tx Failure" is the the catch all bucket| Counter | **Example metrics** ``` diff --git a/relayer/processor/message_processor.go b/relayer/processor/message_processor.go index fe355cfa7..b17978fc4 100644 --- a/relayer/processor/message_processor.go +++ b/relayer/processor/message_processor.go @@ -8,6 +8,7 @@ import ( "sync" "time" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" "github.com/cosmos/relayer/v2/relayer/provider" @@ -33,6 +34,9 @@ type messageProcessor struct { isLocalhost bool } +// catagories of tx errors for a Prometheus counter. If the error doesnt fall into one of the below categories, it is labeled as "Tx Failure" +var promErrorCatagories = []error{chantypes.ErrRedundantTx, sdkerrors.ErrInsufficientFunds, sdkerrors.ErrInvalidCoins, sdkerrors.ErrOutOfGas, sdkerrors.ErrWrongSequence} + // trackMessage stores the message tracker in the correct slice and index based on the type. func (mp *messageProcessor) trackMessage(tracker messageToTrack, i int) { switch t := tracker.(type) { @@ -361,6 +365,16 @@ func (mp *messageProcessor) sendClientUpdate( zap.String("dst_client_id", dst.info.ClientID), zap.Error(err), ) + + for _, promError := range promErrorCatagories { + if mp.metrics != nil { + if errors.Is(err, promError) { + mp.metrics.IncTxFailure(src.info.PathName, src.info.ChainID, promError.Error()) + } else { + mp.metrics.IncTxFailure(src.info.PathName, src.info.ChainID, "Tx Failure") + } + } + } return } dst.log.Debug("Client update broadcast completed") @@ -430,6 +444,17 @@ func (mp *messageProcessor) sendBatchMessages( zap.String("dst_client_id", dst.info.ClientID), zap.Error(err), } + + for _, promError := range promErrorCatagories { + if mp.metrics != nil { + if errors.Is(err, promError) { + mp.metrics.IncTxFailure(src.info.PathName, src.info.ChainID, promError.Error()) + } else { + mp.metrics.IncTxFailure(src.info.PathName, src.info.ChainID, "Tx Failure") + } + } + } + if errors.Is(err, chantypes.ErrRedundantTx) { mp.log.Debug("Redundant message(s)", errFields...) return @@ -490,6 +515,17 @@ func (mp *messageProcessor) sendSingleMessage( zap.String("src_client_id", src.info.ClientID), zap.String("dst_client_id", dst.info.ClientID), } + + for _, promError := range promErrorCatagories { + if mp.metrics != nil { + if errors.Is(err, promError) { + mp.metrics.IncTxFailure(src.info.PathName, src.info.ChainID, promError.Error()) + } else { + mp.metrics.IncTxFailure(src.info.PathName, src.info.ChainID, "Tx Failure") + } + } + } + errFields = append(errFields, zap.Object("msg", tracker)) errFields = append(errFields, zap.Error(err)) if errors.Is(err, chantypes.ErrRedundantTx) { diff --git a/relayer/processor/metrics.go b/relayer/processor/metrics.go index 27e9e789f..6e522cfc2 100644 --- a/relayer/processor/metrics.go +++ b/relayer/processor/metrics.go @@ -14,6 +14,7 @@ type PrometheusMetrics struct { LatestHeightGauge *prometheus.GaugeVec WalletBalance *prometheus.GaugeVec FeesSpent *prometheus.GaugeVec + TxFailureError *prometheus.CounterVec BlockQueryFailure *prometheus.CounterVec ClientExpiration *prometheus.GaugeVec } @@ -46,9 +47,14 @@ func (m *PrometheusMetrics) IncBlockQueryFailure(chain, err string) { m.BlockQueryFailure.WithLabelValues(chain, err).Inc() } +func (m *PrometheusMetrics) IncTxFailure(path, chain, errDesc string) { + m.TxFailureError.WithLabelValues(path, chain, errDesc).Inc() +} + func NewPrometheusMetrics() *PrometheusMetrics { packetLabels := []string{"path", "chain", "channel", "port", "type"} heightLabels := []string{"chain"} + txFailureLabels := []string{"path", "chain", "cause"} blockQueryFailureLabels := []string{"chain", "type"} walletLabels := []string{"chain", "gas_price", "key", "address", "denom"} clientExpirationLables := []string{"path_name", "chain", "client_id", "trusting_period"} @@ -76,6 +82,10 @@ func NewPrometheusMetrics() *PrometheusMetrics { Name: "cosmos_relayer_fees_spent", Help: "The amount of fees spent from the relayer's wallet", }, walletLabels), + TxFailureError: registerer.NewCounterVec(prometheus.CounterOpts{ + Name: "cosmos_relayer_tx_errors_total", + Help: "The total number of tx failures broken up into categories. See https://github.com/cosmos/relayer/blob/main/docs/advanced_usage.md#monitoring for list of catagories. 'Tx Failure' is the catch-all category", + }, txFailureLabels), BlockQueryFailure: registerer.NewCounterVec(prometheus.CounterOpts{ Name: "cosmos_relayer_block_query_errors_total", Help: "The total number of block query failures. The failures are separated into two catagories: 'RPC Client' and 'IBC Header'", From 993c21bd3f5e813e4d969f23506673f67061689c Mon Sep 17 00:00:00 2001 From: murataniloener Date: Wed, 26 Jul 2023 19:12:11 +0200 Subject: [PATCH 24/58] use the name given by the user to generate the fetch URL (#1233) * use the name given by the user to generate the fetch URL * add example --------- Co-authored-by: Andrew Gouin Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> --- cmd/chains.go | 5 +++-- cregistry/chain_info.go | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cmd/chains.go b/cmd/chains.go index 53404cabe..a11eeb1be 100644 --- a/cmd/chains.go +++ b/cmd/chains.go @@ -277,9 +277,10 @@ func chainsAddCmd(a *appState) *cobra.Command { " the chain-registry or passing a file (-f) or url (-u)", Args: withUsage(cobra.MinimumNArgs(0)), Example: fmt.Sprintf(` $ %s chains add cosmoshub + $ %s chains add testnets/cosmoshubtestnet $ %s chains add cosmoshub osmosis $ %s chains add --file chains/ibc0.json ibc0 - $ %s chains add --url https://relayer.com/ibc0.json ibc0`, appName, appName, appName, appName), + $ %s chains add --url https://relayer.com/ibc0.json ibc0`, appName, appName, appName, appName, appName), RunE: func(cmd *cobra.Command, args []string) error { file, url, err := getAddInputs(cmd) if err != nil { @@ -447,7 +448,7 @@ func addChainsFromRegistry(ctx context.Context, a *appState, chains []string) er continue } - chainConfig, err := chainInfo.GetChainConfig(ctx) + chainConfig, err := chainInfo.GetChainConfig(ctx, chain) if err != nil { a.log.Warn( "Error generating chain config", diff --git a/cregistry/chain_info.go b/cregistry/chain_info.go index 4d49017f0..7309296e2 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -206,8 +206,8 @@ func (c ChainInfo) GetRandomRPCEndpoint(ctx context.Context) (string, error) { } // GetAssetList returns the asset metadata from the cosmos chain registry for this particular chain. -func (c ChainInfo) GetAssetList(ctx context.Context) (AssetList, error) { - chainRegURL := fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/assetlist.json", c.ChainName) +func (c ChainInfo) GetAssetList(ctx context.Context, name string) (AssetList, error) { + chainRegURL := fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/assetlist.json", name) res, err := http.Get(chainRegURL) if err != nil { @@ -236,11 +236,11 @@ func (c ChainInfo) GetAssetList(ctx context.Context) (AssetList, error) { // GetChainConfig returns a CosmosProviderConfig composed from the details found in the cosmos chain registry for // this particular chain. -func (c ChainInfo) GetChainConfig(ctx context.Context) (*cosmos.CosmosProviderConfig, error) { +func (c ChainInfo) GetChainConfig(ctx context.Context, name string) (*cosmos.CosmosProviderConfig, error) { debug := viper.GetBool("debug") home := viper.GetString("home") - assetList, err := c.GetAssetList(ctx) + assetList, err := c.GetAssetList(ctx, name) if err != nil { return nil, err } From cdd7661d8470ff6e88f81996b68cde8fd4d23c9d Mon Sep 17 00:00:00 2001 From: KyleMoser Date: Thu, 27 Jul 2023 13:19:25 -0400 Subject: [PATCH 25/58] feegrant PR (#1140) * Feegrant support * Test case for address caching bugfix * Bugfix for SDK account prefix. Feegrant test passing. * Mutex for signer expanded to include feegrantees * Cleaned up feegrant test case * Cleaned up feegrant test case * Cleaned up feegrant test case * check round robin feegrant behavior by counting number of TXs each grantee signer * module updates from merge * v0.47.0 with bech32 address cache fix * Move SetAddrCacheEnabled to NewRelayer func for full coverage * Do not hardcode chain id in feegrant test case * Wait more blocks for ibc transfers * disable cosmos SDK bech32 address cache for rly start command * Fix sloppy comments/remove unnecessary code * Faster acc caching unit test * Penumbra provider feegrant support * Merge upstream * Fixed merge issue where feegrant config wasn't being written to file * feegrant patch for cosmos-sdk v0.47.1 * merge from main * Update to cosmos-sdk v0.47.2 * Increase test case blocks to wait * Fixed data race by moving test parallelization after relayer wallet build * Increased TestScenarioICAChannelClose timeout height * Cleanup feegrant test case * Fixed race condition in sequence guard w/ mutex * Automatic retry for TX lookup in feegrant test case --------- Co-authored-by: Andrew Gouin --- cmd/chains.go | 14 + cmd/feegrant.go | 197 ++++++ cmd/query.go | 15 + go.work.sum | 650 +++++++++++++++++- interchaintest/acc_cache_test.go | 44 ++ interchaintest/client_threshold_test.go | 38 +- interchaintest/fee_middleware_test.go | 6 +- interchaintest/feegrant_test.go | 532 ++++++++++++++ interchaintest/go.mod | 6 +- interchaintest/go.sum | 9 +- interchaintest/ica_channel_close_test.go | 8 +- interchaintest/interchain_accounts_test.go | 4 +- interchaintest/misbehaviour_test.go | 14 +- interchaintest/path_filter_test.go | 6 +- interchaintest/relayer.go | 4 + interchaintest/stride/stride_icq_test.go | 65 +- .../tendermint_v0.37_boundary_test.go | 4 +- relayer/chains/cosmos/feegrant.go | 529 ++++++++++++++ relayer/chains/cosmos/grpc_query.go | 2 +- relayer/chains/cosmos/keys.go | 35 +- relayer/chains/cosmos/log.go | 7 + relayer/chains/cosmos/msg.go | 9 +- relayer/chains/cosmos/provider.go | 60 +- relayer/chains/cosmos/query.go | 91 +++ relayer/chains/cosmos/relayer_packets.go | 12 +- relayer/chains/cosmos/tx.go | 484 ++++++++++--- relayer/chains/cosmos/tx_test.go | 23 +- relayer/chains/penumbra/tx.go | 131 +++- relayer/processor/message_processor.go | 50 +- relayer/provider/provider.go | 2 +- relayer/strategies.go | 4 + 31 files changed, 2846 insertions(+), 209 deletions(-) create mode 100644 cmd/feegrant.go create mode 100644 interchaintest/acc_cache_test.go create mode 100644 interchaintest/feegrant_test.go create mode 100644 relayer/chains/cosmos/feegrant.go diff --git a/cmd/chains.go b/cmd/chains.go index a11eeb1be..7e471ae00 100644 --- a/cmd/chains.go +++ b/cmd/chains.go @@ -39,6 +39,7 @@ func chainsCmd(a *appState) *cobra.Command { chainsShowCmd(a), chainsAddrCmd(a), chainsAddDirCmd(a), + cmdChainsConfigure(a), ) return cmd @@ -144,6 +145,19 @@ $ %s ch d ibc-0`, appName, appName)), return cmd } +func cmdChainsConfigure(a *appState) *cobra.Command { + cmd := &cobra.Command{ + Use: "configure", + Short: "manage local chain configurations", + } + + cmd.AddCommand( + feegrantConfigureBaseCmd(a), + ) + + return cmd +} + func chainsRegistryList(a *appState) *cobra.Command { cmd := &cobra.Command{ Use: "registry-list", diff --git a/cmd/feegrant.go b/cmd/feegrant.go new file mode 100644 index 000000000..3d0c86421 --- /dev/null +++ b/cmd/feegrant.go @@ -0,0 +1,197 @@ +package cmd + +import ( + "errors" + "fmt" + + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" + "github.com/spf13/cobra" +) + +// feegrantConfigureCmd returns the fee grant configuration commands for this module +func feegrantConfigureBaseCmd(a *appState) *cobra.Command { + cmd := &cobra.Command{ + Use: "feegrant", + Short: "Configure the client to use round-robin feegranted accounts when sending TXs", + Long: "Use round-robin feegranted accounts when sending TXs. Useful for relayers and applications where sequencing is important", + } + + cmd.AddCommand( + feegrantConfigureBasicCmd(a), + ) + + return cmd +} + +func feegrantConfigureBasicCmd(a *appState) *cobra.Command { + var numGrantees int + var update bool + var updateGrantees bool + var grantees []string + + cmd := &cobra.Command{ + Use: "basicallowance [chain-name] [granter] --num-grantees [int] --overwrite-granter --overwrite-grantees", + Short: "feegrants for the given chain and granter (if granter is unspecified, use the default key)", + Long: "feegrants for the given chain. 10 grantees by default, all with an unrestricted BasicAllowance.", + Args: cobra.MinimumNArgs(1), + RunE: func(cmd *cobra.Command, args []string) error { + chain := args[0] + cosmosChain, ok := a.config.Chains[chain] + if !ok { + return errChainNotFound(args[0]) + } + + prov, ok := cosmosChain.ChainProvider.(*cosmos.CosmosProvider) + if !ok { + return errors.New("only CosmosProvider can be feegranted") + } + + granterKeyOrAddr := "" + + if len(args) > 1 { + granterKeyOrAddr = args[1] + } else if prov.PCfg.FeeGrants != nil { + granterKeyOrAddr = prov.PCfg.FeeGrants.GranterKey + } else { + granterKeyOrAddr = prov.PCfg.Key + } + + granterKey, err := prov.KeyFromKeyOrAddress(granterKeyOrAddr) + if err != nil { + return fmt.Errorf("could not get granter key from '%s'", granterKeyOrAddr) + } + + if prov.PCfg.FeeGrants != nil && granterKey != prov.PCfg.FeeGrants.GranterKey && !update { + return fmt.Errorf("you specified granter '%s' which is different than configured feegranter '%s', but you did not specify the --overwrite-granter flag", granterKeyOrAddr, prov.PCfg.FeeGrants.GranterKey) + } else if prov.PCfg.FeeGrants != nil && granterKey != prov.PCfg.FeeGrants.GranterKey && update { + cfgErr := a.performConfigLockingOperation(cmd.Context(), func() error { + prov.PCfg.FeeGrants.GranterKey = granterKey + return nil + }) + cobra.CheckErr(cfgErr) + } + + if prov.PCfg.FeeGrants == nil || updateGrantees || len(grantees) > 0 { + var feegrantErr error + + //No list of grantees was provided, so we will use the default naming convention "grantee1, ... granteeN" + if grantees == nil { + feegrantErr = prov.ConfigureFeegrants(numGrantees, granterKey) + } else { + feegrantErr = prov.ConfigureWithGrantees(grantees, granterKey) + } + + if feegrantErr != nil { + return feegrantErr + } + + cfgErr := a.performConfigLockingOperation(cmd.Context(), func() error { + chain := a.config.Chains[chain] + oldProv := chain.ChainProvider.(*cosmos.CosmosProvider) + oldProv.PCfg.FeeGrants = prov.PCfg.FeeGrants + return nil + }) + cobra.CheckErr(cfgErr) + } + + memo, err := cmd.Flags().GetString(flagMemo) + if err != nil { + return err + } + + ctx := cmd.Context() + _, err = prov.EnsureBasicGrants(ctx, memo) + if err != nil { + return fmt.Errorf("error writing grants on chain: '%s'", err.Error()) + } + + //Get latest height from the chain, mark feegrant configuration as verified up to that height. + //This means we've verified feegranting is enabled on-chain and TXs can be sent with a feegranter. + if prov.PCfg.FeeGrants != nil { + fmt.Printf("Querying latest chain height to mark FeeGrant height... \n") + h, err := prov.QueryLatestHeight(ctx) + cobra.CheckErr(err) + + cfgErr := a.performConfigLockingOperation(cmd.Context(), func() error { + chain := a.config.Chains[chain] + oldProv := chain.ChainProvider.(*cosmos.CosmosProvider) + oldProv.PCfg.FeeGrants = prov.PCfg.FeeGrants + oldProv.PCfg.FeeGrants.BlockHeightVerified = h + fmt.Printf("Feegrant chain height marked: %d\n", h) + return nil + }) + cobra.CheckErr(cfgErr) + } + + return nil + }, + } + cmd.Flags().BoolVar(&update, "overwrite-granter", false, "allow overwriting the existing granter") + cmd.Flags().BoolVar(&updateGrantees, "overwrite-grantees", false, "allow overwriting existing grantees") + cmd.Flags().IntVar(&numGrantees, "num-grantees", 10, "number of grantees that will be feegranted with basic allowances") + cmd.Flags().StringSliceVar(&grantees, "grantees", []string{}, "comma separated list of grantee key names (keys are created if they do not exist)") + cmd.MarkFlagsMutuallyExclusive("num-grantees", "grantees") + + memoFlag(a.viper, cmd) + return cmd +} + +func feegrantBasicGrantsCmd(a *appState) *cobra.Command { + cmd := &cobra.Command{ + Use: "basic chain-name [granter]", + Short: "query the grants for an account (if none is specified, the default account is returned)", + Args: cobra.RangeArgs(1, 2), + RunE: func(cmd *cobra.Command, args []string) error { + chain := args[0] + cosmosChain, ok := a.config.Chains[chain] + if !ok { + return errChainNotFound(args[0]) + } + + prov, ok := cosmosChain.ChainProvider.(*cosmos.CosmosProvider) + if !ok { + return errors.New("only CosmosProvider can be feegranted") + } + + // TODO fix pagination + // pageReq, err := client.ReadPageRequest(cmd.Flags()) + // if err != nil { + // return err + // } + + //TODO fix height + // height, err := lensCmd.ReadHeight(cmd.Flags()) + // if err != nil { + // return err + // } + + keyNameOrAddress := "" + if len(args) == 0 { + keyNameOrAddress = prov.PCfg.Key + } else { + keyNameOrAddress = args[0] + } + + granterAcc, err := prov.AccountFromKeyOrAddress(keyNameOrAddress) + if err != nil { + fmt.Printf("Error retrieving account from key '%s'\n", keyNameOrAddress) + return err + } + granterAddr := prov.MustEncodeAccAddr(granterAcc) + + res, err := prov.QueryFeegrantsByGranter(granterAddr, nil) + if err != nil { + return err + } + + for _, grant := range res { + allowance, e := prov.Sprint(grant.Allowance) + cobra.CheckErr(e) + fmt.Printf("Granter: %s, Grantee: %s, Allowance: %s\n", grant.Granter, grant.Grantee, allowance) + } + + return nil + }, + } + return paginationFlags(a.viper, cmd, "feegrant") +} diff --git a/cmd/query.go b/cmd/query.go index 5540fb916..cd91bc2d7 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -47,6 +47,21 @@ func queryCmd(a *appState) *cobra.Command { lineBreakCommand(), queryIBCDenoms(a), queryBaseDenomFromIBCDenom(a), + feegrantQueryCmd(a), + ) + + return cmd +} + +// feegrantQueryCmd returns the fee grant query commands for this module +func feegrantQueryCmd(a *appState) *cobra.Command { + cmd := &cobra.Command{ + Use: "feegrant", + Short: "Querying commands for the feegrant module [currently BasicAllowance only]", + } + + cmd.AddCommand( + feegrantBasicGrantsCmd(a), ) return cmd diff --git a/go.work.sum b/go.work.sum index 2767b9f8c..4232792ab 100644 --- a/go.work.sum +++ b/go.work.sum @@ -7,321 +7,761 @@ cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFO cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go/accessapproval v1.5.0 h1:/nTivgnV/n1CaAeo+ekGexTYUsKEU9jUVkoY5359+3Q= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0 h1:x0cEHro/JFPd7eS4BlEWNTMecIj2HdXjOVB5BtvwER0= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= -cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0 h1:MG60JgnEoawHJrbWw0jGdv6HLNSf6gQvYRiXpuzqgEA= cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= +cloud.google.com/go/aiplatform v1.37.0 h1:zTw+suCVchgZyO+k847wjzdVjWmrAuehxdvcZvJwfGg= cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= +cloud.google.com/go/analytics v0.19.0 h1:LqAo3tAh2FU9+w/r7vc3hBjU23Kv7GhO/PDIW7kIYgM= cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= +cloud.google.com/go/apigateway v1.5.0 h1:ZI9mVO7x3E9RK/BURm2p1aw9YTBSCQe3klmyP1WxWEg= cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigeeconnect v1.5.0 h1:sWOmgDyAsi1AZ48XRHcATC0tsi9SkPT7DA/+VCfkaeA= cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeregistry v0.6.0 h1:E43RdhhCxdlV+I161gUY2rI4eOaMzHTA5kNkvRsFXvc= cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apikeys v0.6.0 h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ= cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.7.1 h1:aBGDKmRIaRRoWJ2tAoN0oVSHoWLhtO9aj/NvUyP4aYs= cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= +cloud.google.com/go/area120 v0.7.1 h1:ugckkFh4XkHJMPhTIx0CyvdoBxmOpMe8rNs4Ok8GAag= cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= +cloud.google.com/go/artifactregistry v1.13.0 h1:o1Q80vqEB6Qp8WLEH3b8FBLNUCrGQ4k5RFj0sn/sgO8= cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= +cloud.google.com/go/asset v1.13.0 h1:YAsssO08BqZ6mncbb6FPlj9h6ACS7bJQUOlzciSfbNk= cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= +cloud.google.com/go/assuredworkloads v1.10.0 h1:VLGnVFta+N4WM+ASHbhc14ZOItOabDLH1MSoDv+Xuag= cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= +cloud.google.com/go/automl v1.12.0 h1:50VugllC+U4IGl3tDNcZaWvApHBTrn/TvyHDJ0wM+Uw= cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/baremetalsolution v0.5.0 h1:2AipdYXL0VxMboelTTw8c1UJ7gYu35LZYUbuRv9Q28s= cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.7.0 h1:YbMt0E6BtqeD5FvSv1d56jbVsWEzlGm55lYte+M6Mzs= cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.5.0 h1:UkY2BTZkEUAVrgqnSdOJ4p3y9ZRBPEe1LkjgC8Bj/Pc= cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= +cloud.google.com/go/bigquery v1.50.0 h1:RscMV6LbnAmhAzD893Lv9nXXy2WCaJmbxYPWDLbGqNQ= cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= +cloud.google.com/go/billing v1.13.0 h1:JYj28UYF5w6VBAh0gQYlgHJ/OD1oA+JgW29YZQU+UHM= cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= +cloud.google.com/go/binaryauthorization v1.5.0 h1:d3pMDBCCNivxt5a4eaV7FwL7cSH0H7RrEnFrTb1QKWs= cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/certificatemanager v1.6.0 h1:5C5UWeSt8Jkgp7OWn2rCkLmYurar/vIWIoSQ2+LaTOc= cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/channel v1.12.0 h1:GpcQY5UJKeOekYgsX3QXbzzAc/kRGtBq43fTmyKe6Uw= cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/cloudbuild v1.9.0 h1:GHQCjV4WlPPVU/j3Rlpc8vNIDwThhd1U9qSY/NPZdko= cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= +cloud.google.com/go/clouddms v1.5.0 h1:E7v4TpDGUyEm1C/4KIrpVSOCTm0P6vWdHT0I4mostRA= cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= +cloud.google.com/go/cloudtasks v1.10.0 h1:uK5k6abf4yligFgYFnG0ni8msai/dSv6mDmiBulU0hU= cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/contactcenterinsights v1.6.0 h1:jXIpfcH/VYSE1SYcPzO0n1VVb+sAamiLOgCw45JbOQk= cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/container v1.15.0 h1:NKlY/wCDapfVZlbVVaeuu2UZZED5Dy1z4Zx1KhEzm8c= cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= +cloud.google.com/go/containeranalysis v0.9.0 h1:EQ4FFxNaEAg8PqQCO7bVQfWz9NVwZCUKaM1b3ycfx3U= cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= +cloud.google.com/go/datacatalog v1.13.0 h1:4H5IJiyUE0X6ShQBqgFFZvGGcrwGVndTwUSLP4c52gw= cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= +cloud.google.com/go/dataflow v0.8.0 h1:eYyD9o/8Nm6EttsKZaEGD84xC17bNgSKCu0ZxwqUbpg= cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= +cloud.google.com/go/dataform v0.7.0 h1:Dyk+fufup1FR6cbHjFpMuP4SfPiF3LI3JtoIIALoq48= cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/datafusion v1.6.0 h1:sZjRnS3TWkGsu1LjYPFD/fHeMLZNXDK6PDHi2s2s/bk= cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= +cloud.google.com/go/datalabeling v0.7.0 h1:ch4qA2yvddGRUrlfwrNJCr79qLqhS9QBwofPHfFlDIk= cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/dataplex v1.6.0 h1:RvoZ5T7gySwm1CHzAw7yY1QwwqaGswunmqEssPxU/AM= cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataproc v1.12.0 h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU= cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.7.0 h1:yFzi/YU4YAdjyo7pXkBE2FeHbgz5OQQBVDdbErEHmVQ= cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= +cloud.google.com/go/datastore v1.11.0 h1:iF6I/HaLs3Ado8uRKMvZRvF/ZLkWaWE9i8AiHzbC774= cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= +cloud.google.com/go/datastream v1.7.0 h1:BBCBTnWMDwwEzQQmipUXxATa7Cm7CA/gKjKcR2w35T0= cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/deploy v1.8.0 h1:otshdKEbmsi1ELYeCKNYppwV0UH5xD05drSdBm7ouTk= cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= +cloud.google.com/go/dialogflow v1.32.0 h1:uVlKKzp6G/VtSW0E7IH1Y5o0H48/UOCmqksG2riYCwQ= cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dlp v1.9.0 h1:1JoJqezlgu6NWCroBxr4rOZnwNFILXr4cB9dMaSKO4A= cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= +cloud.google.com/go/documentai v1.18.0 h1:KM3Xh0QQyyEdC8Gs2vhZfU+rt6OCPF0dwVwxKgLmWfI= cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= +cloud.google.com/go/domains v0.8.0 h1:2ti/o9tlWL4N+wIuWUNH+LbfgpwxPr8J1sv9RHA4bYQ= cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= +cloud.google.com/go/edgecontainer v1.0.0 h1:O0YVE5v+O0Q/ODXYsQHmHb+sYM8KNjGZw2pjX2Ws41c= cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.5.0 h1:gIzEhCoOT7bi+6QZqZIzX1Erj4SswMPIteNvYVlu+pM= cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/eventarc v1.11.0 h1:fsJmNeqvqtk74FsaVDU6cH79lyZNCYP8Rrv7EhaB/PU= cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/filestore v1.6.0 h1:ckTEXN5towyTMu4q0uQ1Mde/JwTHur0gXs8oaIZnKfw= cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= +cloud.google.com/go/firestore v1.9.0 h1:IBlRyxgGySXu5VuW0RgGFlTtLukSnNkpDiEOMkQkmpA= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= +cloud.google.com/go/functions v1.13.0 h1:pPDqtsXG2g9HeOQLoquLbmvmb82Y4Ezdo1GXuotFoWg= cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= +cloud.google.com/go/gaming v1.9.0 h1:7vEhFnZmd931Mo7sZ6pJy7uQPDxF7m7v8xtBheG08tc= cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.4.0 h1:za3QZvw6ujR0uyqkhomKKKNoXDyqYGPJies3voUK8DA= cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkeconnect v0.7.0 h1:gXYKciHS/Lgq0GJ5Kc9SzPA35NGc3yqu6SkjonpEr2Q= cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= +cloud.google.com/go/gkehub v0.12.0 h1:TqCSPsEBQ6oZSJgEYZ3XT8x2gUadbvfwI32YB0kuHCs= cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkemulticloud v0.5.0 h1:8I84Q4vl02rJRsFiinBxl7WCozfdLlUVBQuSrqr9Wtk= cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= +cloud.google.com/go/grafeas v0.2.0 h1:CYjC+xzdPvbV65gi6Dr4YowKcmLo045pm18L0DhdELM= +cloud.google.com/go/gsuiteaddons v1.5.0 h1:1mvhXqJzV0Vg5Fa95QwckljODJJfDFXV4pn+iL50zzA= cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iap v1.7.1 h1:PxVHFuMxmSZyfntKXHXhd8bo82WJ+LcATenq7HLdVnU= cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= +cloud.google.com/go/ids v1.3.0 h1:fodnCDtOXuMmS8LTC2y3h8t24U8F3eKWfhi+3LY6Qf0= cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/iot v1.6.0 h1:39W5BFSarRNZfVG0eXI5LYux+OVQT8GkgpHCnrZL2vM= cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= +cloud.google.com/go/kms v1.10.1 h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g= cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= +cloud.google.com/go/language v1.9.0 h1:7Ulo2mDk9huBoBi8zCE3ONOoBrL6UXfAI71CLQ9GEIM= cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= +cloud.google.com/go/lifesciences v0.8.0 h1:uWrMjWTsGjLZpCTWEAzYvyXj+7fhiZST45u9AgasasI= cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= +cloud.google.com/go/logging v1.7.0 h1:CJYxlNNNNAMkHp9em/YEXcfJg+rPDg7YfwoRpMU+t5I= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/managedidentities v1.5.0 h1:ZRQ4k21/jAhrHBVKl/AY7SjgzeJwG1iZa+mJ82P+VNg= cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/maps v0.7.0 h1:mv9YaczD4oZBZkM5XJl6fXQ984IkJNHPwkc8MUsdkBo= cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= +cloud.google.com/go/mediatranslation v0.7.0 h1:anPxH+/WWt8Yc3EdoEJhPMBRF7EhIdz426A+tuoA0OU= cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= +cloud.google.com/go/memcache v1.9.0 h1:8/VEmWCpnETCrBwS3z4MhT+tIdKgR1Z4Tr2tvYH32rg= cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= +cloud.google.com/go/metastore v1.10.0 h1:QCFhZVe2289KDBQ7WxaHV2rAmPrmRAdLC6gbjUd3HPo= cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= +cloud.google.com/go/monitoring v1.13.0 h1:2qsrgXGVoRXpP7otZ14eE1I568zAa92sJSDPyOJvwjM= cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= +cloud.google.com/go/networkconnectivity v1.11.0 h1:ZD6b4Pk1jEtp/cx9nx0ZYcL3BKqDa+KixNDZ6Bjs1B8= cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= +cloud.google.com/go/networkmanagement v1.6.0 h1:8KWEUNGcpSX9WwZXq7FtciuNGPdPdPN/ruDm769yAEM= cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= +cloud.google.com/go/networksecurity v0.8.0 h1:sOc42Ig1K2LiKlzG71GUVloeSJ0J3mffEBYmvu+P0eo= cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= +cloud.google.com/go/notebooks v1.8.0 h1:Kg2K3K7CbSXYJHZ1aGQpf1xi5x2GUvQWf2sFVuiZh8M= cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= +cloud.google.com/go/optimization v1.3.1 h1:dj8O4VOJRB4CUwZXdmwNViH1OtI0WtWL867/lnYH248= cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/orchestration v1.6.0 h1:Vw+CEXo8M/FZ1rb4EjcLv0gJqqw89b7+g+C/EmniTb8= cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orgpolicy v1.10.0 h1:XDriMWug7sd0kYT1QKofRpRHzjad0bK8Q8uA9q+XrU4= cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= +cloud.google.com/go/osconfig v1.11.0 h1:PkSQx4OHit5xz2bNyr11KGcaFccL5oqglFPdTboyqwQ= cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= +cloud.google.com/go/oslogin v1.9.0 h1:whP7vhpmc+ufZa90eVpkfbgzJRK/Xomjz+XCD4aGwWw= cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= +cloud.google.com/go/phishingprotection v0.7.0 h1:l6tDkT7qAEV49MNEJkEJTB6vOO/onbSOcNtAT09HPuA= cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/policytroubleshooter v1.6.0 h1:yKAGC4p9O61ttZUswaq9GAn1SZnEzTd0vUYXD7ZBT7Y= cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= +cloud.google.com/go/privatecatalog v0.8.0 h1:EPEJ1DpEGXLDnmc7mnCAqFmkwUJbIsaLAiLHVOkkwtc= cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= +cloud.google.com/go/pubsub v1.30.0 h1:vCge8m7aUKBJYOgrZp7EsNDf6QMd2CAlXZqWTn3yq6s= cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsublite v1.7.0 h1:cb9fsrtpINtETHiJ3ECeaVzrfIVhcGjhhJEjybHXHao= cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0 h1:6iOCujSNJ0YS7oNymI64hXsjGq60T4FK1zdLugxbzvU= cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= +cloud.google.com/go/recommendationengine v0.7.0 h1:VibRFCwWXrFebEWKHfZAt2kta6pS7Tlimsnms0fjv7k= cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= +cloud.google.com/go/recommender v1.9.0 h1:ZnFRY5R6zOVk2IDS1Jbv5Bw+DExCI5rFumsTnMXiu/A= cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= +cloud.google.com/go/redis v1.11.0 h1:JoAd3SkeDt3rLFAAxEvw6wV4t+8y4ZzfZcZmddqphQ8= cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/resourcemanager v1.7.0 h1:NRM0p+RJkaQF9Ee9JMnUV9BQ2QBIOq/v8M+Pbv/wmCs= cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcesettings v1.5.0 h1:8Dua37kQt27CCWHm4h/Q1XqCF6ByD7Ouu49xg95qJzI= cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= +cloud.google.com/go/retail v1.12.0 h1:1Dda2OpFNzIb4qWgFZjYlpP7sxX3aLeypKG6A3H4Yys= cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/run v0.9.0 h1:ydJQo+k+MShYnBfhaRHSZYeD/SQKZzZLAROyfpeD9zw= cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/scheduler v1.9.0 h1:NpQAHtx3sulByTLe2dMwWmah8PWgeoieFPpJpArwFV0= cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= +cloud.google.com/go/secretmanager v1.10.0 h1:pu03bha7ukxF8otyPKTFdDz+rr9sE3YauS5PliDXK60= cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= +cloud.google.com/go/security v1.13.0 h1:PYvDxopRQBfYAXKAuDpFCKBvDOWPWzp9k/H5nB3ud3o= cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= +cloud.google.com/go/securitycenter v1.19.0 h1:AF3c2s3awNTMoBtMX3oCUoOMmGlYxGOeuXSYHNBkf14= cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/servicecontrol v1.11.1 h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE= cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= +cloud.google.com/go/servicedirectory v1.9.0 h1:SJwk0XX2e26o25ObYUORXx6torSFiYgsGkWSkZgkoSU= cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicemanagement v1.8.0 h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY= cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.6.0 h1:rXyq+0+RSIm3HFypctp7WoXxIA563rn206CfMWdqXX4= cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.6.0 h1:wT0Uw7ib7+AgZST9eCDygwTJn4+bHMDtZo5fh7kGWDU= cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/spanner v1.45.0 h1:7VdjZ8zj4sHbDw55atp5dfY6kn1j9sam9DRNpPQhqR4= cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= +cloud.google.com/go/speech v1.15.0 h1:JEVoWGNnTF128kNty7T4aG4eqv2z86yiMJPT9Zjp+iw= cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storagetransfer v1.8.0 h1:5T+PM+3ECU3EY2y9Brv0Sf3oka8pKmsCfpQ07+91G9o= cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= +cloud.google.com/go/talent v1.5.0 h1:nI9sVZPjMKiO2q3Uu0KhTDVov3Xrlpt63fghP9XjyEM= cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/texttospeech v1.6.0 h1:H4g1ULStsbVtalbZGktyzXzw6jP26RjVGYx9RaYjBzc= cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/tpu v1.5.0 h1:/34T6CbSi+kTv5E19Q9zbU/ix8IviInZpzwz3rsFE+A= cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= +cloud.google.com/go/trace v1.9.0 h1:olxC0QHC59zgJVALtgqfD9tGk0lfeCP5/AGXL3Px/no= cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/translate v1.7.0 h1:GvLP4oQ4uPdChBmBaUSa/SaZxCdyWELtlAaKzpHsXdA= cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.15.0 h1:upIbnGI0ZgACm58HPjAeBMleW3sl5cT84AbYQ8PWOgM= cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/videointelligence v1.10.0 h1:Uh5BdoET8XXqXX2uXIahGb+wTKbLkGH7s4GXR58RrG8= cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= +cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= +cloud.google.com/go/vision/v2 v2.7.0 h1:8C8RXUJoflCI4yVdqhTy9tRyygSHmp60aP363z23HKg= cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vmmigration v1.6.0 h1:Azs5WKtfOC8pxvkyrDvt7J0/4DYBch0cVbuFfCCFt5k= cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmwareengine v0.3.0 h1:b0NBu7S294l0gmtrT0nOJneMYgZapr5x9tVWvgDoVEM= cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vpcaccess v1.6.0 h1:FOe6CuiQD3BhHJWt7E8QlbBcaIzVRddupwJlp7eqmn4= cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= +cloud.google.com/go/webrisk v1.8.0 h1:IY+L2+UwxcVm2zayMAtBhZleecdIFLiC+QJMzgb0kT0= cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/websecurityscanner v1.5.0 h1:AHC1xmaNMOZtNqxI9Rmm87IJEyPaRkOxeI0gpAacXGk= cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= +cloud.google.com/go/workflows v1.10.0 h1:FfGp9w0cYnaKZJhUOMqCOJCYT/WlvYBfTQhFWV3sRKI= cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= +github.com/Abirdcfly/dupword v0.0.7 h1:z14n0yytA3wNO2gpCD/jVtp/acEXPGmYu0esewpBt6Q= github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= +github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M= +github.com/Antonboom/errname v0.1.7 h1:mBBDKvEYwPl4WFFNwec1CZO096G6vzK9vvDQzAwkako= github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= +github.com/Antonboom/nilnil v0.1.1 h1:PHhrh5ANKFWRBh7TdYmyyq2gyT2lotnvFvvFbylF81Q= github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1 h1:qoVeMsc9/fh/yhxVaA0obYjVH/oI/ihrOoMwsLS9KSA= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3 h1:E+m3SkZCN0Bf5q7YdTs5lSm2CYY3CK4spn5OmUIiQtk= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 h1:Px2UA+2RvSSvv+RvJNuUB6n7rs5Wsel4dXLe90Um2n4= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= +github.com/CosmWasm/wasmd v0.40.0-rc.1 h1:prIM2vP1jNh0zgs9seua5BgKdayBgp3FiHtwxFcZSGs= +github.com/CosmWasm/wasmvm v1.2.3 h1:OKYlobwmVGbl0eSn0mXoAAjE5hIuXnQCLPjbNd91sVY= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= +github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= +github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= +github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= +github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= +github.com/OpenPeeDeeP/depguard v1.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= +github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s= +github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= +github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= +github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= +github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/kingpin/v2 v2.3.1 h1:ANLJcKmQm4nIaog7xdr/id6FM6zm5hHnfZrvtKPxqGg= github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= +github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= +github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= +github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= +github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310 h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a h1:pv34s756C4pEXnjgPfGYgdhg/ZdajGhyOvzx8k+23nw= +github.com/ashanbrown/forbidigo v1.3.0 h1:VkYIwb/xxdireGAdJNZoo24O4lmnEWkactplBlWTShc= github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= +github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/aws/aws-lambda-go v1.13.3 h1:SuCy7H3NLyp+1Mrfp+m80jcbi9KYWAs9/BXwppwRDzY= +github.com/aws/aws-sdk-go-v2 v1.9.1 h1:ZbovGV/qo40nrOJ4q8G33AGICzaPI45FHQWJ9650pF4= +github.com/aws/aws-sdk-go-v2/config v1.1.1 h1:ZAoq32boMzcaTW9bcUacBswAmHTbvlvDJICgHFZuECo= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1 h1:NbvWIM1Mx6sNPTxowHgS2ewXCRp+NGTzUYb/96FZJbY= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2 h1:EtEU7WRaWliitZh2nmuxEXrN0Cb8EgPUFGIoTMeqbzI= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1 h1:w/fPGB0t5rWwA43mux4e9ozFSH5zF1moQemlA131PWc= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2 h1:4AH9fFjUlVktQMznF+YN33aWNXaR4VgDXyP28qokJC0= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1 h1:cKr6St+CtC3/dl/rEBJvlk7A/IN5D5F02GNkGzfbtVU= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1 h1:37QubsarExl5ZuCBlnRP+7l1tNwZPBSTqpTBrPH98RU= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1 h1:TJoIfnIFubCX0ACVeJ0w46HEH5MwjwYN4iFhuYIhfIY= +github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= +github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= +github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= +github.com/bombsimon/wsl/v3 v3.3.0 h1:Mka/+kRLoQJq7g2rggtgQsjuI/K5Efd87WX96EWFxjM= github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= +github.com/bradleyfalzon/ghinstallation/v2 v2.0.4 h1:tXKVfhE7FcSkhkv0UwkLvPDeZ4kz6OXd0PKPlFqf81M= +github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI= github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= +github.com/breml/errchkjson v0.3.0 h1:YdDqhfqMT+I1vIxPSas44P+9Z9HzJwCeAzjB8PxP1xw= github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= +github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= +github.com/btcsuite/goleveldb v1.0.0 h1:Tvd0BfvqX9o823q1j2UZ/epQo09eJh6dTcRp79ilIN4= +github.com/btcsuite/snappy-go v1.0.0 h1:ZxaA6lo2EpxGddsA8JwWOcxlzRybb444sgmeJQMJGQE= +github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= +github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk= +github.com/bufbuild/buf v1.7.0 h1:uWRjhIXcrWkzIkA5TqXGyJbF51VW54QJsQZ3nwaes5Q= github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= +github.com/bufbuild/connect-go v1.0.0 h1:htSflKUT8y1jxhoPhPYTZMrsY3ipUXjjrbcZR5O2cVo= github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= +github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/casbin/casbin/v2 v2.37.0 h1:/poEwPSovi4bTOcP752/CsTQiRz2xycyVKFG7GUhbDw= +github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy6EEutYk= github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= +github.com/chavacava/garif v0.0.0-20220630083739-93517212f375 h1:E7LT642ysztPWE0dfz43cWOvMiF42DyTRC+eZIaO4yI= github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= +github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8= +github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= +github.com/cheggaaa/pb v1.0.27 h1:wIkZHkNfC7R6GI5w7l/PdAdzXzlrbcI3p8OAlnkTsnc= +github.com/cilium/ebpf v0.7.0 h1:1k/q3ATgxSXRdrmPfH8d7YK0GfqVsEKZAX9dQZvs56k= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= +github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= +github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I= +github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec h1:EdRZT3IeKQmfCSrgo8SZ8V3MEnskuJP0wCYNpe+aiXo= +github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= +github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cloudflare/cloudflare-go v0.14.0 h1:gFqGlGl/5f9UGXAaKapCGUfaTCgRKKnzu2VvzMZlOFA= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195 h1:58f1tJ1ra+zFINPlwLWvQsR9CzAKt2e+EWV2yX9oXQ4= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= +github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 h1:qbb/AE938DFhOajUYh9+OXELpSF9KZw2ZivtmW6eX1Q= +github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= +github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= +github.com/cometbft/cometbft v0.37.1/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= +github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f h1:C43yEtQ6NIf4ftFXD/V55gnGFgPbMQobd//YlnLjUJ8= +github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= +github.com/containerd/btrfs v1.0.0 h1:osn1exbzdub9L5SouXO5swW4ea/xVdJZ3wokxN5GrnA= +github.com/containerd/cgroups v1.0.4 h1:jN/mbWBEaz+T1pi5OFtnkQ+8qnmEbAr1Oo1FRm5B0dA= +github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= +github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= +github.com/containerd/go-cni v1.1.6 h1:el5WPymG5nRRLQF1EfB97FWob4Tdc8INg8RZMaXWZlo= +github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= +github.com/containerd/imgcrypt v1.1.4 h1:iKTstFebwy3Ak5UF0RHSeuCTahC5OIrPJa6vjMAM81s= +github.com/containerd/nri v0.1.0 h1:6QioHRlThlKh2RkRTR4kIT3PKAcrLo3gIWnjkM4dQmQ= +github.com/containerd/ttrpc v1.1.0 h1:GbtyLRxb0gOLR0TYQWt3O6B0NvT8tMdorEHqIQo/lWI= +github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v1.0.0 h1:cXLJbx+4Jj7rNsTiqVfm6i+RNLx6FFA2fMmDlEf+Wm8= +github.com/containernetworking/cni v1.1.1 h1:ky20T7c0MvKvbMOwS/FrlbNwjEoqJEUUYfsL4b0mc4k= +github.com/containernetworking/plugins v1.1.1 h1:+AGfFigZ5TiQH00vhR8qPeSatj53eNGz0C1d3wVYlHE= +github.com/containers/ocicrypt v1.1.3 h1:uMxn2wTb4nDR7GqG3rnZSfpJXqWURfzZ7nKydzIeKpA= +github.com/coreos/etcd v3.3.10+incompatible h1:jFneRYjIvLMLhDLCzuTuU4rSJUjRplcJQ7pD7MnhC04= +github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= +github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf h1:CAKfRE2YtTUIjjh1bkBtyYFaUT/WmOqsJjgtihT0vMI= +github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32 h1:zlCp9n3uwQieELltZWHRmwPmPaZ8+XoL2Sj+A2YJlr8= +github.com/cosmos/cosmos-sdk v0.47.2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= +github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a h1:2humuGPw3O5riJVFq/E2FRjF57UrO97W1qJcGVmK+6k= github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= +github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= +github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= +github.com/cosmos/ibc-go/v7 v7.0.0/go.mod h1:BFh8nKWjr5zeR2OZfhkzdgDzj1+KjRn3aJLpwapStj8= github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= +github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= +github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= +github.com/daixiang0/gci v0.8.1 h1:T4xpSC+hmsi4CSyuYfIJdMZAr9o7xZmHpQVygMghGZ4= github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= +github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= +github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU= +github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= +github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 h1:Izz0+t1Z5nI16/II7vuEo/nHjodOg0p7+OiDpjX5t1E= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= +github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= +github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf h1:Yt+4K30SdjOkRoRRm3vYNQgR+/ZIy0RmeUDZo7Y8zeQ= +github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= +github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= +github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane v0.11.0 h1:jtLewhRR2vMRNnq2ZZUoCjUlgut+Y0+sDDWPOfwOi1o= github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= +github.com/envoyproxy/protoc-gen-validate v0.10.0 h1:oIfnZFdC0YhpNNEX+SuIqko4cqqVZeN9IGTrhZje83Y= github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= +github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= +github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= +github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= +github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= +github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= +github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c h1:CndMRAH4JIwxbW8KYq6Q+cGWcGHz0FjGR3QqcInWcW0= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= +github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= +github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db h1:gb2Z18BhTPJPpLQWj4T+rfKHYCHxRHCtRxhKKjRidVw= +github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8 h1:a9ENSRDFBUPkJ5lCgVZh26+ZbGyoVJG7yb5SSzF5H54= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61 h1:IZqZOB2fydHte3kUgxrzK5E1fW7RQGeDwE8F/ZZnUYc= +github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= +github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= +github.com/gdamore/tcell/v2 v2.6.0 h1:OKbluoP9VYmJwZwq/iLb4BxwKcwGthaa1YNBJIyCySg= +github.com/getsentry/sentry-go v0.17.0 h1:UustVWnOoDFHBS7IJUB2QK/nB5pap748ZEp0swnQJak= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= +github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-critic/go-critic v0.6.5 h1:fDaR/5GWURljXwF8Eh31T2GZNz9X4jeboS912mWF8Uo= github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= +github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.5.2 h1:v8lgZa5k9ylUw+OR/roJHTxR4QItsNFI5nKtAXFuynw= github.com/go-git/go-git/v5 v5.5.2/go.mod h1:BE5hUJ5yaV2YMxhmaP4l6RBQ08kMxKSPD4BlxtH7OjI= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= +github.com/go-sql-driver/mysql v1.4.0 h1:7LxgVwFb2hIQtMm87NdgAVfXjnt4OePseqT1tKx+opk= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= +github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= +github.com/go-toolsmith/astcopy v1.0.2 h1:YnWf5Rnh1hUudj11kei53kI57quN/VH6Hp1n+erozn0= github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= +github.com/go-toolsmith/astequal v1.0.3 h1:+LVdyRatFS+XO78SGV4I3TCEA0AC7fKEGma+fH+674o= github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= +github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= +github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3NAwwmD4uY/yggRxoEjk/S00MIV3A+H7rrE3i87eYxM= +github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= +github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= +github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= +github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= +github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= +github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY= github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= +github.com/golangci/golangci-lint v1.50.1 h1:C829clMcZXEORakZlwpk7M4iDw2XiwxxKaG504SZ9zY= github.com/golangci/golangci-lint v1.50.1/go.mod h1:AQjHBopYS//oB8xs0y0M/dtxdKHkdhl0RvmjUct0/4w= +github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= +github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= +github.com/golangci/misspell v0.3.5 h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo= github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ= github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= +github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= +github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM= +github.com/google/go-github/v41 v41.0.0 h1:HseJrM2JFf2vfiZJ8anY2hqBjdfY1Vlj/K27ueww4gg= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 h1:PVRE9d4AQKmbelZ7emNig1+NT27DUmKZn5qXxfio54U= github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= +github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= +github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= +github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q= github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= +github.com/gostaticanalysis/forcetypeassert v0.1.0 h1:6eUflI3DiGusXGK6X7cCcIgVCpZ2CiZ1Q7jl6ZxNV70= github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= +github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk= github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= +github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= +github.com/graph-gophers/graphql-go v1.3.0 h1:Eb9x/q6MFpCLz7jBCiP/WTxjSDrYLR1QY41SORZyNJ0= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= +github.com/hashicorp/consul/api v1.20.0 h1:9IHTjNVSZ7MIwjlW3N3a7iGiykCMDpxZu8jsxFJh0yc= github.com/hashicorp/consul/api v1.20.0/go.mod h1:nR64eD44KQ59Of/ECwt2vUmIK2DKsDzAwTmwmLl8Wpo= +github.com/hashicorp/consul/sdk v0.3.0 h1:UOxjlb4xVNF93jak1mzzoBatyFju9nrkxpVwIp/QqxQ= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.5.3 h1:QlWt0KvWT0lq8MFppF9tsJGF+ynG7ztc2KIPhzRGk7s= github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0 h1:GeH6tui99pF4NJgfnhp+L6+FfobzVW3Ah46sLo0ICXs= +github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= +github.com/hashicorp/mdns v1.0.0 h1:WhIgCr5a7AaVH6jPUwjtRuuE7/RDufnUvzIr48smyxs= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.1.3 h1:EmmoJme1matNzb+hMpDuR/0sbJSUisxyqBGG676r31M= github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= +github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= +github.com/hudl/fargo v1.4.0 h1:ZDDILMbB37UlAVLlWcJ2Iz1XuahZZTDZfdCKeclfq2s= +github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= +github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639 h1:mV02weKRL81bEnm8A0HT1/CAelMQDBuQIfLw8n+d6xI= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/influxdb v1.8.3 h1:WEypI1BQFTT4teLM+1qkEcvUi0dAvopAI/ir0vAiBg8= +github.com/influxdata/influxdb-client-go/v2 v2.4.0 h1:HGBfZYStlx3Kqvsv1h2pJixbCl/jhnFtxpKFAv9Tu5k= +github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab h1:HqW4xhhynfjrtEiiSGcQUd6vrK23iMam1FO8rI7mwig= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 h1:vilfsDSy7TDxedi9gyBkMvAirat/oRcL0lFdJBf6tdM= +github.com/informalsystems/tm-load-test v1.3.0 h1:FGjKy7vBw6mXNakt+wmNWKggQZRsKkEYpaFk/zR64VA= github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= +github.com/intel/goresctrl v0.2.0 h1:JyZjdMQu9Kl/wLXe9xA6s1X+tF6BWsQPFGJMEeCfWzE= +github.com/ipfs/go-datastore v0.5.1 h1:WkRhLuISI+XPD0uk3OskB0fYFSyqK8Ob5ZYew9Qa1nQ= +github.com/ipfs/go-ds-badger v0.3.0 h1:xREL3V0EH9S219kFFueOYJJTcjgNSZ2HY1iSvN7U1Ro= +github.com/ipfs/go-ds-leveldb v0.5.0 h1:s++MEBbD3ZKc9/8/njrn4flZLnCuY9I79v94gBUNumo= +github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= +github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= +github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= +github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a h1:d4+I1YEKVmWZrgkt6jpXBnLgV2ZjO0YxEtLDdfIZfH4= github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= +github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e h1:UvSe12bq+Uj2hWd8aOlwPmoZ+CITRFrdit+sDGfAg8U= +github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= +github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f h1:BNuUg9k2EiJmlMwjoef3e8vZLHplbVw6DrjGFjLL+Yo= github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= +github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= +github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= +github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= +github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/karalabe/usb v0.0.2 h1:M6QQBNxF+CQ8OFvxrT90BA0qBOXymndZnk5q235mFc4= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.6.2 h1:uGQ9xI8/pgc9iOoCe7kWQgRE6SBTrCGmTSf0LrEtY7c= github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= +github.com/kkHAIKE/contextcheck v1.1.3 h1:l4pNvrb8JSwRd51ojtcOxOeHJzHek+MtOyXbaR0uvmw= github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= +github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE= +github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= +github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= +github.com/koron/go-ssdp v0.0.3 h1:JivLMY45N76b4p/vsWGOKewBQu6uf39y8l+AQ7sDKx8= +github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= +github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoaGS+Ugg8g= github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= +github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= +github.com/ldez/tagliatelle v0.3.1 h1:3BqVVlReVUZwafJUwQ+oxbx2BEX2vUG4Yu/NOfMiKiM= github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= +github.com/leonklingele/grouper v1.1.0 h1:tC2y/ygPbMFSBOs3DcyaEMKnnwH7eYKzohOtRrf0SAg= github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= +github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= +github.com/libp2p/go-libp2p-asn-util v0.2.0 h1:rg3+Os8jbnO5DxkC7K/Utdi+DkY3q/d1/1q+8WeNAsw= +github.com/libp2p/go-libp2p-testing v0.11.0 h1:+R7FRl/U3Y00neyBSM2qgDzqz3HkWH24U9nMlascHL4= +github.com/libp2p/go-mplex v0.7.0 h1:BDhFZdlk5tbr0oyFq/xv/NPGfjbnrsDam1EvutpBDbY= +github.com/libp2p/go-msgio v0.2.0 h1:W6shmB+FeynDrUVl2dgFQvzfBZcXiyqY4VmpQLu9FqU= +github.com/libp2p/go-nat v0.1.0 h1:MfVsH6DLcpa04Xr+p8hmVRG4juse0s3J8HyNWYHffXg= +github.com/libp2p/go-netroute v0.2.0 h1:0FpsbsvuSnAhXFnCY0VLFbJOzaK0VnP0r1QT/o4nWRE= +github.com/libp2p/go-reuseport v0.2.0 h1:18PRvIMlpY6ZK85nIAicSBuXXvrYoSw3dsBAR7zc560= +github.com/libp2p/go-yamux/v3 v3.1.2 h1:lNEy28MBk1HavUAlzKgShp+F6mn/ea1nDYWftZhFW9Q= +github.com/libp2p/zeroconf/v2 v2.2.0 h1:Cup06Jv6u81HLhIj1KasuNM/RHHrJ8T7wOTS4+Tv53Q= +github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= +github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= +github.com/lucas-clemente/quic-go v0.28.1 h1:Uo0lvVxWg5la9gflIF9lwa39ONq85Xq2D91YNEIslzU= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= +github.com/lyft/protoc-gen-star/v2 v2.0.1 h1:keaAo8hRuAT0O3DfJ/wM3rufbAjGeJ1lAtWZHDjKGB0= +github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= +github.com/maratori/testpackage v1.1.0 h1:GJY4wlzQhuBusMF1oahQCBtUV/AQ/k69IZ68vxaac2Q= github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= +github.com/marten-seemann/qtls-go1-16 v0.1.5 h1:o9JrYPPco/Nukd/HpOHMHZoBDXQqoNtUCmny98/1uqQ= +github.com/marten-seemann/qtls-go1-17 v0.1.2 h1:JADBlm0LYiVbuSySCHeY863dNkcpMmDR7s0bLKJeYlQ= +github.com/marten-seemann/qtls-go1-18 v0.1.2 h1:JH6jmzbduz0ITVQ7ShevK10Av5+jBEKAHMntXmIV7kM= +github.com/marten-seemann/qtls-go1-19 v0.1.0 h1:rLFKD/9mp/uq1SYGYuVZhm83wkmU95pK5df3GufyYYU= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= +github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= @@ -335,40 +775,109 @@ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= +github.com/mgechev/revive v1.2.4 h1:+2Hd/S8oO2H0Ikq2+egtNwQsVhAeELHjxjIUFX5ajLI= github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= +github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= +github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible h1:aKW/4cBs+yK6gpqU3K/oIwk9Q/XICqd3zOX/UFuvqmk= +github.com/mitchellh/cli v1.0.0 h1:iGBIsUe3+HZ/AD/Vd7DErOt5sU9fa8Uj7A2s1aggv1Y= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= +github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= +github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= +github.com/moby/buildkit v0.10.4 h1:FvC+buO8isGpUFZ1abdSLdGHZVqg9sqI4BbFL8tlzP4= github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= +github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= +github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= +github.com/moby/sys/mountinfo v0.5.0 h1:2Ks8/r6lopsxWi9m58nlwjaeSzUX9iiL1vj5qB/9ObI= +github.com/moby/sys/signal v0.6.0 h1:aDpY94H8VlhTGa9sNYUFCFsMZIUh5wm0B6XkIoJj/iY= +github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4= +github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= +github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= +github.com/multiformats/go-multistream v0.3.3 h1:d5PZpjwRgVlbwfdTDjife7XszfZd8KYWfROYFlGcR8o= +github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76 h1:0xuRacu/Zr+jX+KyLLPPktbwXqyOvnOPUQmMLzX1jxU= +github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= +github.com/naoina/go-stringutil v0.1.0 h1:rCUeRUHjBjGTSHl0VC00jUPLz8/F9dDzYI70Hzifhks= +github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416 h1:shk/vn9oCoOTmwcouEdwIeOtOGA/ELRUw/GwvxwfT+0= +github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= +github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI= +github.com/nats-io/nats-server/v2 v2.5.0 h1:wsnVaaXH9VRSg+A2MVg5Q727/CqxnmPLGFQ3YZYKTQg= +github.com/nats-io/nats.go v1.12.1 h1:+0ndxwUPz3CmQ2vjbXdkC1fo3FdiOQDim4gl3Mge8Qo= +github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8= +github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= +github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/nishanths/exhaustive v0.8.3 h1:pw5O09vwg8ZaditDp/nQRqVnrMczSJDxRDJMowvhsrM= github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= +github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= +github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= +github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo/v2 v2.1.3 h1:e/3Cwtogj0HA+25nMP1jCMDIf8RtRYbGwGGuBIFztkc= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= +github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= +github.com/opencontainers/selinux v1.10.1 h1:09LIPVRP3uuZGQvgR+SgMSNBd1Eb3vlRbGqQpoHsF8w= +github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= +github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU= +github.com/openzipkin/zipkin-go v0.2.5 h1:UwtQQx2pyPIgWYHRg+epgdx1/HnBQTgN3/oIYEJTQzU= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= +github.com/pact-foundation/pact-go v1.0.4 h1:OYkFijGHoZAYbOIb1LWXrwKQbMMRUv1oQ89blD2Mh2Q= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= +github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/pelletier/go-toml/v2 v2.0.7/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/performancecopilot/speed v3.0.0+incompatible h1:2WnRzIquHa5QxaJKShDkLM+sc0JPuwhXzK8OYOyt3Vg= +github.com/performancecopilot/speed/v4 v4.0.0 h1:VxEDCmdkfbQYDlcr/GC9YoN9PQ6p8ulk9xVsepYy9ZY= +github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 h1:oYW+YCJ1pachXTQmzR3rNLYGGz4g/UgFcjb28p/viDM= +github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= +github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= +github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0= +github.com/pjbgf/sha1cd v0.2.3 h1:uKQP/7QOzNtKYH7UTohZLcjF5/55EnTw0jO/Ru4jZwI= github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= +github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/profile v1.6.0 h1:hUDfIISABYI59DyeB3OTay/HxSRwTQ8rB/H83k6r5dM= github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= +github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= +github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3 h1:hUmXhbljNFtrH5hzV9kiRoddZ5nfPTq3K0Sb2hYYiqE= github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3/go.mod h1:q5NXNGzqj5uPnVuhGkZfmgHqNUhf15VLi6L9kW0VEc0= +github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4 h1:RHHRCZeaNyBXdYPMjZNH8/XHDBH38TZzw8izrW7dmBE= github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4/go.mod h1:RdR1j20Aj5pB6+fw6Y9Ur7lMHpegTEjY1vc19hEZL40= +github.com/pointlander/peg v1.0.1 h1:mgA/GQE8TeS9MdkU6Xn6iEzBmQUQCNuWD7rHCK6Mjs0= github.com/pointlander/peg v1.0.1/go.mod h1:5hsGDQR2oZI4QoWz0/Kdg3VSVEC31iJw/b7WjqCBGRI= +github.com/polyfloyd/go-errorlint v1.0.5 h1:AHB5JRCjlmelh9RrLxT9sgzpalIwwq4hqE8EkwIwKdY= github.com/polyfloyd/go-errorlint v1.0.5/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= +github.com/posener/complete v1.1.1 h1:ccV59UEOTzVDnDUEFdT95ZzHVZ+5+158q8+SJb2QV5w= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= @@ -379,87 +888,185 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= +github.com/quasilyte/go-ruleguard v0.3.18 h1:sd+abO1PEI9fkYennwzHn9kl3nqP6M5vE7FiOzZ+5CE= github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/go-ruleguard/dsl v0.3.21/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= +github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f h1:6Gtn2i04RD0gVyYf2/IUMTIs+qYleBt4zxDqkLTcu4U= github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= +github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= +github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= +github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 h1:xe+mmCnDN82KhC010l3NfYlA8ZbOuzbXAzSYBa6wbMc= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE= +github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/xid v1.4.0 h1:qd7wPTDkN6KQx2VmMBLrpHkiyQwgFXRnkOLacUiaSNY= github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= +github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/ryancurrah/gomodguard v1.2.4 h1:CpMSDKan0LtNGGhPrvupAoLeObRFjND8/tU1rEOtBp4= github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= +github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f h1:UFr9zpz4xgTnIE5yIMtWAMngCdZ9p/+q6lTbgelo80M= +github.com/sagikazarmark/crypt v0.10.0 h1:96E1qrToLBU6fGzo+PRRz7KGOc9FkYFiPnR3/zf8Smg= github.com/sagikazarmark/crypt v0.10.0/go.mod h1:gwTNHQVoOS3xp9Xvz5LLR+1AauC5M6880z5NWzdhOyQ= +github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCLY7gIfzeQaUJ+kppEO5WQG3cL8iE8tGHU= +github.com/sanposhiho/wastedassign/v2 v2.0.6 h1:+6/hQIHKNJAUixEj6EmOngGIisyeI+T3335lYTyxRoA= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= +github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= +github.com/sashamelentyev/usestdlibvars v1.20.0 h1:K6CXjqqtSYSsuyRDDC7Sjn6vTMLiSJa4ZmDkiokoqtw= github.com/sashamelentyev/usestdlibvars v1.20.0/go.mod h1:0GaP+ecfZMXShS0A94CJn6aEuPRILv8h/VuWI9n1ygg= +github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= +github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= +github.com/securego/gosec/v2 v2.13.1 h1:7mU32qn2dyC81MH9L2kefnQyRMUarfDER3iQyMHcjYM= github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= +github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/sivchari/containedctx v1.0.2 h1:0hLQKpgC53OVF1VT7CeoFHk9YKstur1XOgfYIc1yrHI= github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= +github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= +github.com/sivchari/tenv v1.7.0 h1:d4laZMBK6jpe5PWepxlV9S+LC0yXqvYHiq8E6ceoVVE= github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= +github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa h1:YJfZp12Z3AFhSBeXOlv4BO55RMwPn2NoQeDsrdWnBtY= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= +github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= +github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= +github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ= +github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4 h1:Gb2Tyox57NRNuZ2d3rmvB3pcmbu7O1RS3m8WRx7ilrg= +github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= +github.com/streadway/amqp v1.0.0 h1:kuuDrUJFZL1QYL9hUNuCxNObNzB0bV/ZG5jV3RWAQgo= +github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e h1:mOtuXaRAbVZsxAHVdPR3IjfmN8T1h2iczJLynhLybf8= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344 h1:m+8fKfQwCAy1QjzINvKe/pYtLjo2dl59x2w9YSEJxuY= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= +github.com/tchap/go-patricia v2.2.6+incompatible h1:JvoDL7JSoIP2HDE8AbDH3zC8QBPxmzYe32HHy5yQ+Ck= +github.com/tdakkota/asciicheck v0.1.1 h1:PKzG7JUTUmVspQTDqtkX9eSiLGossXTybutHwTXuO0A= github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= +github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= +github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= +github.com/tendermint/tendermint v0.37.0-rc2 h1:2n1em+jfbhSv6QnBj8F6KHCpbIzZCB8KgcjidJUQNlY= +github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= +github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw= github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= +github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 h1:kl4KhGNsJIbDHS9/4U9yQo1UcPQM0kOMJHn29EoH/Ro= github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= +github.com/timonwong/loggercheck v0.9.3 h1:ecACo9fNiHxX4/Bc02rW2+kaJIAMAes7qJ7JKxt0EZI= github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8 h1:ndzgwNDnKIqyCvHTXaCqh9KlOWKvBry6nuXMJmonVsE= +github.com/tomarrell/wrapcheck/v2 v2.7.0 h1:J/F8DbSKJC83bAvC6FoZaRjZiZ/iKoueSdrEkmGeacA= github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= +github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 h1:G3dpKMzFDjgEh2q1Z7zUUtKa8ViPtH+ocF0bE0g00O8= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= +github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI= github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= +github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= +github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= +github.com/vektra/mockery/v2 v2.14.0 h1:KZ1p5Hrn8tiY+LErRMr14HHle6khxo+JKOXLBW/yfqs= github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xhit/go-str2duration v1.2.0 h1:BcV5u025cITWxEQKGWr1URRzrcXtu7uk8+luz3Yuhwc= github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= +github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= +github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= +github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0= +go.etcd.io/etcd/api/v3 v3.5.9 h1:4wSsluwyTbGGmyjJktOf3wFQoTBIURXHnq9n/G/JQHs= go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= +go.etcd.io/etcd/client/pkg/v3 v3.5.9 h1:oidDC4+YEuSIQbsR94rY9gur91UPL6DnxDCIYd2IGsE= go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= +go.etcd.io/etcd/client/v2 v2.305.7 h1:AELPkjNR3/igjbO7CjyF1fPuVPjrblliiKj+Y6xSGOU= go.etcd.io/etcd/client/v2 v2.305.7/go.mod h1:GQGT5Z3TBuAQGvgPfhR7VPySu/SudxmEkRq9BgzFU6s= +go.etcd.io/etcd/client/v3 v3.5.9 h1:r5xghnU7CwbUxD/fbUtRyJGaYNfDun8sp/gTr1hew6E= go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA= +go.etcd.io/gofail v0.1.0 h1:XItAMIhOojXFQMgrxjnd2EIIHun/d5qL0Pf7FzVTkFg= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 h1:syAz40OyelLZo42+3U68Phisvrx4qh+4wpdZw7eUUdY= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= +go.opentelemetry.io/otel v1.11.0 h1:kfToEGMDq6TrVrJ9Vht84Y8y9enykSZzDDZglV0kIEk= go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0 h1:R/OBkMoGgfy2fLhs2QhkCI1w4HLEQX92GCcJB6SSdNk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0 h1:giGm8w67Ja7amYNfYMdme7xSp2pIxThWopw8+QP51Yk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0 h1:VQbUHoJqytHHSJ1OZodPH9tvZZSVzUHjPHpkO85sT6k= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0 h1:Ydage/P0fRrSPpZeCVxzjqGcI6iVmG2xb43+IR8cjqM= +go.opentelemetry.io/otel/sdk v1.3.0 h1:3278edCoH89MEJ0Ky8WQXVmDQv3FX4ZJ3Pp+9fJreAI= +go.opentelemetry.io/otel/trace v1.11.0 h1:20U/Vj42SX+mASlXLmSGBg6jpI1jQtv682lZtTAOVFI= go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= +go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= @@ -467,19 +1074,23 @@ golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= -golang.org/x/exp v0.0.0-20221205204356-47842c84f3db/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91 h1:Ic/qN6TEifvObMGQy72k0n1LlJr7DjWWEi+MOsDOiSk= golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -522,6 +1133,7 @@ golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -557,16 +1169,20 @@ golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= @@ -575,20 +1191,48 @@ google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsA google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/cheggaaa/pb.v1 v1.0.27 h1:kJdccidYzt3CaHD1crCFTS1hxyhSi059NhOFUf03YFo= +gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= +gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= +gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= +gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= +honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA= honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= +k8s.io/api v0.22.5 h1:xk7C+rMjF/EGELiD560jdmwzrB788mfcHiNbMQLIVI8= +k8s.io/apimachinery v0.22.5 h1:cIPwldOYm1Slq9VLBRPtEYpyhjIm1C6aAMAoENuvN9s= +k8s.io/apiserver v0.22.5 h1:71krQxCUz218ecb+nPhfDsNB6QgP1/4EMvi1a2uYBlg= +k8s.io/client-go v0.22.5 h1:I8Zn/UqIdi2r02aZmhaJ1hqMxcpfJ3t5VqvHtctHYFo= +k8s.io/component-base v0.22.5 h1:U0eHqZm7mAFE42hFwYhY6ze/MmVaW00JpMrzVsQmzYE= +k8s.io/cri-api v0.23.1 h1:0DHL/hpTf4Fp+QkUXFefWcp1fhjXr9OlNdY9X99c+O8= +k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b h1:wxEMGetGMur3J1xuGLQY7GEQYg9bZxKn3tKo5k/eYcs= +mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= +mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= +mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= +mvdan.cc/unparam v0.0.0-20220706161116-678bad134442 h1:seuXWbRB1qPrS3NQnHmFKLJLtskWyueeIzmLXghMGgk= mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= +rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= +rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2 h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3nu+sPzynno= +sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= diff --git a/interchaintest/acc_cache_test.go b/interchaintest/acc_cache_test.go new file mode 100644 index 000000000..a2d0fbbc2 --- /dev/null +++ b/interchaintest/acc_cache_test.go @@ -0,0 +1,44 @@ +package interchaintest + +import ( + "testing" + + "github.com/cometbft/cometbft/crypto/ed25519" + "github.com/cosmos/cosmos-sdk/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" +) + +// See https://github.com/cosmos/cosmos-sdk/issues/15317 for description of bug. +// Basically, in cosmos SDK, there is an account address cache that will ignore the bech32 prefix setting. +// This will cause the AccAddress.String() to print out unexpected prefixes. +// If this function fails you are on an unsafe SDK version that should NOT be used with the relayer. +func TestAccCacheBugfix(t *testing.T) { + types.SetAddrCacheEnabled(false) + + // Use a random key + priv := ed25519.GenPrivKey() + pub := priv.PubKey() + + //Set to 'osmo' + prefix := "osmo" + sdkConf := sdk.GetConfig() + sdkConf.SetBech32PrefixForAccount(prefix, prefix+"pub") + sdkConf.SetBech32PrefixForValidator(prefix+"valoper", prefix+"valoperpub") + sdkConf.SetBech32PrefixForConsensusNode(prefix+"valcons", prefix+"valconspub") + + addrOsmo := sdk.AccAddress(pub.Address()) + osmoAddrBech32 := addrOsmo.String() + + //Set to 'cosmos' + prefix = "cosmos" + sdkConf.SetBech32PrefixForAccount(prefix, prefix+"pub") + sdkConf.SetBech32PrefixForValidator(prefix+"valoper", prefix+"valoperpub") + sdkConf.SetBech32PrefixForConsensusNode(prefix+"valcons", prefix+"valconspub") + + addrCosmos := sdk.AccAddress(pub.Address()) + cosmosAddrBech32 := addrCosmos.String() + + //If the addresses are equal, the AccAddress caching caused a bug + require.NotEqual(t, osmoAddrBech32, cosmosAddrBech32) +} diff --git a/interchaintest/client_threshold_test.go b/interchaintest/client_threshold_test.go index 8b608ca68..bc6e22a12 100644 --- a/interchaintest/client_threshold_test.go +++ b/interchaintest/client_threshold_test.go @@ -12,6 +12,7 @@ import ( "github.com/strangelove-ventures/interchaintest/v7/testreporter" "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/stretchr/testify/require" + "go.uber.org/zap" "go.uber.org/zap/zaptest" "golang.org/x/sync/errgroup" ) @@ -24,8 +25,6 @@ const ( // Tests that the Relayer will update light clients within a // user specified time threshold. func TestScenarioClientThresholdUpdate(t *testing.T) { - t.Parallel() - ctx := context.Background() nv := 1 @@ -85,6 +84,9 @@ func TestScenarioClientThresholdUpdate(t *testing.T) { Client: client, NetworkID: network, })) + + t.Parallel() + t.Cleanup(func() { _ = ic.Close() }) @@ -144,9 +146,8 @@ func TestScenarioClientThresholdUpdate(t *testing.T) { // Tests that without the threshold flag, the clients will be updated // automatically due to passing 2/3 trusting period expiration. func TestScenarioClientTrustingPeriodUpdate(t *testing.T) { - t.Parallel() - ctx := context.Background() + t.Parallel() nv := 1 nf := 0 @@ -164,12 +165,13 @@ func TestScenarioClientTrustingPeriodUpdate(t *testing.T) { client, network := interchaintest.DockerSetup(t) relayerinterchaintest.BuildRelayerImage(t) + logger := zaptest.NewLogger(t) // Relayer is set with "--time-threshold 0" // The Relayer should NOT continuously update clients r := interchaintest.NewBuiltinRelayerFactory( ibc.CosmosRly, - zaptest.NewLogger(t), + logger, interchaintestrelayer.CustomDockerImage(relayerinterchaintest.RelayerImageName, "latest", "100:1000"), interchaintestrelayer.ImagePull(false), ).Build(t, client, network) @@ -203,18 +205,24 @@ func TestScenarioClientTrustingPeriodUpdate(t *testing.T) { SkipPathCreation: false, })) + t.Cleanup(func() { _ = ic.Close() }) // Wait 2 blocks after building interchain require.NoError(t, testutil.WaitForBlocks(ctx, 2, g0, g1)) + g0Ctx := context.Background() + g1Ctx := context.Background() - g0Height, err := g0.Height(ctx) + g0Height, err := g0.Height(g0Ctx) require.NoError(t, err) - g1Height, err := g1.Height(ctx) + g1Height, err := g1.Height(g1Ctx) require.NoError(t, err) + logger.Info("Chain height", zap.String("g0 chainID", g0.Config().ChainID), zap.Uint64("height", g0Height)) + logger.Info("Chain height", zap.String("g1 chainID", g1.Config().ChainID), zap.Uint64("g1 height", g1Height)) + require.NoError(t, r.StartRelayer(ctx, eRep, ibcPath)) t.Cleanup(func() { _ = r.StopRelayer(ctx, eRep) @@ -222,13 +230,13 @@ func TestScenarioClientTrustingPeriodUpdate(t *testing.T) { const heightOffset = 10 - g0Conns, err := r.GetConnections(ctx, eRep, g0ChainId) + g0Conns, err := r.GetConnections(g0Ctx, eRep, g0ChainId) require.NoError(t, err) require.Len(t, g0Conns, 1) g0ClientID := g0Conns[0].ClientID - g1Conns, err := r.GetConnections(ctx, eRep, g1ChainId) + g1Conns, err := r.GetConnections(g1Ctx, eRep, g1ChainId) require.NoError(t, err) require.Len(t, g1Conns, 1) @@ -236,7 +244,11 @@ func TestScenarioClientTrustingPeriodUpdate(t *testing.T) { var eg errgroup.Group eg.Go(func() error { - msg, err := pollForUpdateClient(ctx, g0, g0Height, g0Height+heightOffset) + updatedG0Height, err := g0.Height(g0Ctx) + require.NoError(t, err) + logger.Info("G0 Chain height (2)", zap.String("g0 chainID", g0.Config().ChainID), zap.Uint64("g0 height", updatedG0Height)) + + msg, err := pollForUpdateClient(g0Ctx, g0, updatedG0Height, updatedG0Height+heightOffset) if err != nil { return fmt.Errorf("first chain: %w", err) } @@ -246,7 +258,11 @@ func TestScenarioClientTrustingPeriodUpdate(t *testing.T) { return nil }) eg.Go(func() error { - msg, err := pollForUpdateClient(ctx, g1, g1Height, g1Height+heightOffset) + updatedG1Height, err := g1.Height(g1Ctx) + require.NoError(t, err) + logger.Info("G1 Chain height (2)", zap.String("g1 chainID", g1.Config().ChainID), zap.Uint64("g1 height", updatedG1Height)) + + msg, err := pollForUpdateClient(g1Ctx, g1, updatedG1Height, updatedG1Height+heightOffset) if err != nil { return fmt.Errorf("second chain: %w", err) } diff --git a/interchaintest/fee_middleware_test.go b/interchaintest/fee_middleware_test.go index 93caad39e..850fe27d7 100644 --- a/interchaintest/fee_middleware_test.go +++ b/interchaintest/fee_middleware_test.go @@ -21,8 +21,6 @@ func TestRelayerFeeMiddleware(t *testing.T) { t.Skip() } - t.Parallel() - nv := 1 nf := 0 @@ -73,11 +71,13 @@ func TestRelayerFeeMiddleware(t *testing.T) { SkipPathCreation: false, })) + t.Parallel() + t.Cleanup(func() { _ = ic.Close() }) - err = testutil.WaitForBlocks(ctx, 10, chainA, chainB) + err = testutil.WaitForBlocks(ctx, 5, chainA, chainB) require.NoError(t, err) // ChainID of ChainA diff --git a/interchaintest/feegrant_test.go b/interchaintest/feegrant_test.go new file mode 100644 index 000000000..0d0dcd13a --- /dev/null +++ b/interchaintest/feegrant_test.go @@ -0,0 +1,532 @@ +package interchaintest + +import ( + "context" + "encoding/hex" + "fmt" + "math/rand" + "strings" + "testing" + "time" + + "github.com/avast/retry-go/v4" + rpcclient "github.com/cometbft/cometbft/rpc/client" + ctypes "github.com/cometbft/cometbft/rpc/core/types" + "github.com/cosmos/cosmos-sdk/types" + txtypes "github.com/cosmos/cosmos-sdk/types/tx" + "github.com/cosmos/go-bip39" + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + "github.com/cosmos/relayer/v2/relayer" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" + "github.com/cosmos/relayer/v2/relayer/processor" + interchaintest "github.com/strangelove-ventures/interchaintest/v7" + "github.com/strangelove-ventures/interchaintest/v7/ibc" + "github.com/strangelove-ventures/interchaintest/v7/testreporter" + "github.com/strangelove-ventures/interchaintest/v7/testutil" + "github.com/stretchr/testify/require" + "go.uber.org/zap/zaptest" + "golang.org/x/sync/errgroup" +) + +// protoTxProvider is a type which can provide a proto transaction. It is a +// workaround to get access to the wrapper TxBuilder's method GetProtoTx(). +type protoTxProvider interface { + GetProtoTx() *txtypes.Tx +} + +type chainFeegrantInfo struct { + granter string + grantees []string +} + +func genMnemonic(t *testing.T) string { + // read entropy seed straight from tmcrypto.Rand and convert to mnemonic + entropySeed, err := bip39.NewEntropy(256) + if err != nil { + t.Fail() + } + + mn, err := bip39.NewMnemonic(entropySeed) + if err != nil { + t.Fail() + } + + return mn +} + +// TestScenarioFeegrantBasic Feegrant on a single chain +// Run this test with e.g. go test -timeout 300s -run ^TestScenarioFeegrantBasic$ github.com/cosmos/relayer/v2/ibctest. +// +// Helpful to debug: +// docker ps -a --format {{.Names}} then e.g. docker logs gaia-1-val-0-TestScenarioFeegrantBasic 2>&1 -f +func TestScenarioFeegrantBasic(t *testing.T) { + ctx := context.Background() + logger := zaptest.NewLogger(t) + + nv := 1 + nf := 0 + + //In order to have this image locally you'd need to build it with heighliner, e.g., + //from within the local "gaia" directory, run the following command: + //../heighliner/heighliner build -c gaia --local -f ../heighliner/chains.yaml + // gaiaImage := ibc.DockerImage{ + // Repository: "gaia", + // Version: "local", + // UidGid: "1025:1025", //the heighliner user string. this isn't exposed on ibctest + // } + + // gaiaChainSpec := &interchaintest.ChainSpec{ + // ChainName: "gaia", + // NumValidators: &nv, + // NumFullNodes: &nf, + // ChainConfig: ibc.ChainConfig{ + // Type: "cosmos", + // Name: "gaia", + // //ChainID: "gaia-1", //I believe this will be auto-generated? + // Images: []ibc.DockerImage{gaiaImage}, + // Bin: "gaiad", + // Bech32Prefix: "cosmos", + // Denom: "uatom", + // GasPrices: "0.01uatom", + // TrustingPeriod: "504h", + // GasAdjustment: 1.3, + // }} + + // Chain Factory + cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{ + {Name: "gaia", ChainName: "gaia", Version: "v7.0.3", NumValidators: &nv, NumFullNodes: &nf}, + {Name: "osmosis", ChainName: "osmosis", Version: "v14.0.1", NumValidators: &nv, NumFullNodes: &nf}, + }) + + chains, err := cf.Chains(t.Name()) + require.NoError(t, err) + gaia, osmosis := chains[0], chains[1] + + // Relayer Factory to construct relayer + r := NewRelayerFactory(RelayerConfig{ + Processor: relayer.ProcessorEvents, + InitialBlockHistory: 100, + }).Build(t, nil, "") + + processor.PathProcMessageCollector = make(chan *processor.PathProcessorMessageResp, 10000) + + // Prep Interchain + const ibcPath = "gaia-osmosis" + ic := interchaintest.NewInterchain(). + AddChain(gaia). + AddChain(osmosis). + AddRelayer(r, "relayer"). + AddLink(interchaintest.InterchainLink{ + Chain1: gaia, + Chain2: osmosis, + Relayer: r, + Path: ibcPath, + }) + + // Reporter/logs + rep := testreporter.NewNopReporter() + eRep := rep.RelayerExecReporter(t) + + client, network := interchaintest.DockerSetup(t) + + // Build interchain + require.NoError(t, ic.Build(ctx, eRep, interchaintest.InterchainBuildOptions{ + TestName: t.Name(), + Client: client, + NetworkID: network, + + SkipPathCreation: false, + })) + + t.Parallel() + + // Get Channel ID + gaiaChans, err := r.GetChannels(ctx, eRep, gaia.Config().ChainID) + require.NoError(t, err) + gaiaChannel := gaiaChans[0] + osmosisChannel := gaiaChans[0].Counterparty + + // Create and Fund User Wallets + fundAmount := int64(10_000_000) + + // Tiny amount of funding, not enough to pay for a single TX fee (the GRANTER should be paying the fee) + granteeFundAmount := int64(10) + granteeKeyPrefix := "grantee1" + grantee2KeyPrefix := "grantee2" + grantee3KeyPrefix := "grantee3" + granterKeyPrefix := "default" + + mnemonicAny := genMnemonic(t) + gaiaGranterWallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, granterKeyPrefix, mnemonicAny, int64(fundAmount), gaia) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + gaiaGranteeWallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, granteeKeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + gaiaGrantee2Wallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, grantee2KeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + gaiaGrantee3Wallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, grantee3KeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + osmosisUser, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, "recipient", mnemonicAny, int64(fundAmount), osmosis) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + gaiaUser, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, "recipient", mnemonicAny, int64(fundAmount), gaia) + require.NoError(t, err) + + mnemonic := gaiaGranterWallet.Mnemonic() + fmt.Printf("Wallet mnemonic: %s\n", mnemonic) + + rand.Seed(time.Now().UnixNano()) + + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + gaia.Config(), + gaiaGranterWallet.KeyName(), + gaiaGranterWallet.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } + + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + gaia.Config(), + gaiaGranteeWallet.KeyName(), + gaiaGranteeWallet.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } + + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + gaia.Config(), + gaiaGrantee2Wallet.KeyName(), + gaiaGrantee2Wallet.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } + + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + gaia.Config(), + gaiaGrantee3Wallet.KeyName(), + gaiaGrantee3Wallet.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } + + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + osmosis.Config(), + osmosisUser.KeyName(), + osmosisUser.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", osmosis.Config().ChainID, err.Error()) + } + + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + osmosis.Config(), + gaiaUser.KeyName(), + gaiaUser.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } + + gaiaGranteeAddr := gaiaGranteeWallet.FormattedAddress() + gaiaGrantee2Addr := gaiaGrantee2Wallet.FormattedAddress() + gaiaGrantee3Addr := gaiaGrantee3Wallet.FormattedAddress() + gaiaGranterAddr := gaiaGranterWallet.FormattedAddress() + + granteeCsv := gaiaGranteeWallet.KeyName() + "," + gaiaGrantee2Wallet.KeyName() + "," + gaiaGrantee3Wallet.KeyName() + + //You MUST run the configure feegrant command prior to starting the relayer, otherwise it'd be like you never set it up at all (within this test) + //Note that Gaia supports feegrants, but Osmosis does not (x/feegrant module, or any compatible module, is not included in Osmosis SDK app modules) + localRelayer := r.(*Relayer) + res := localRelayer.sys().Run(logger, "chains", "configure", "feegrant", "basicallowance", gaia.Config().ChainID, gaiaGranterWallet.KeyName(), "--grantees", granteeCsv, "--overwrite-granter") + if res.Err != nil { + fmt.Printf("configure feegrant results: %s\n", res.Stdout.String()) + t.Fatalf("failed to rly config feegrants: %v", res.Err) + } + + //Map of feegranted chains and the feegrant info for the chain + feegrantedChains := map[string]*chainFeegrantInfo{} + feegrantedChains[gaia.Config().ChainID] = &chainFeegrantInfo{granter: gaiaGranterAddr, grantees: []string{gaiaGranteeAddr, gaiaGrantee2Addr, gaiaGrantee3Addr}} + + time.Sleep(14 * time.Second) //commit a couple blocks + r.StartRelayer(ctx, eRep, ibcPath) + + // Send Transaction + amountToSend := int64(1_000) + + gaiaDstAddress := types.MustBech32ifyAddressBytes(osmosis.Config().Bech32Prefix, gaiaUser.Address()) + osmosisDstAddress := types.MustBech32ifyAddressBytes(gaia.Config().Bech32Prefix, osmosisUser.Address()) + + gaiaHeight, err := gaia.Height(ctx) + require.NoError(t, err) + + osmosisHeight, err := osmosis.Height(ctx) + require.NoError(t, err) + + var eg errgroup.Group + var gaiaTx ibc.Tx + + eg.Go(func() error { + gaiaTx, err = gaia.SendIBCTransfer(ctx, gaiaChannel.ChannelID, gaiaUser.KeyName(), ibc.WalletAmount{ + Address: gaiaDstAddress, + Denom: gaia.Config().Denom, + Amount: amountToSend, + }, + ibc.TransferOptions{}, + ) + if err != nil { + return err + } + if err := gaiaTx.Validate(); err != nil { + return err + } + + _, err = testutil.PollForAck(ctx, gaia, gaiaHeight, gaiaHeight+20, gaiaTx.Packet) + return err + }) + + eg.Go(func() error { + tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ + Address: osmosisDstAddress, + Denom: osmosis.Config().Denom, + Amount: amountToSend, + }, + ibc.TransferOptions{}, + ) + if err != nil { + return err + } + if err := tx.Validate(); err != nil { + return err + } + _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) + return err + }) + + eg.Go(func() error { + tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ + Address: osmosisDstAddress, + Denom: osmosis.Config().Denom, + Amount: amountToSend, + }, + ibc.TransferOptions{}, + ) + if err != nil { + return err + } + if err := tx.Validate(); err != nil { + return err + } + _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) + return err + }) + + eg.Go(func() error { + tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ + Address: osmosisDstAddress, + Denom: osmosis.Config().Denom, + Amount: amountToSend, + }, + ibc.TransferOptions{}, + ) + if err != nil { + return err + } + if err := tx.Validate(); err != nil { + return err + } + _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) + return err + }) + + require.NoError(t, err) + require.NoError(t, eg.Wait()) + + feegrantMsgSigners := map[string][]string{} //chain to list of signers + + for len(processor.PathProcMessageCollector) > 0 { + select { + case curr, ok := <-processor.PathProcMessageCollector: + if ok && curr.Error == nil && curr.SuccessfulTx { + cProv, cosmProv := curr.DestinationChain.(*cosmos.CosmosProvider) + if cosmProv { + chain := cProv.PCfg.ChainID + feegrantInfo, isFeegrantedChain := feegrantedChains[chain] + if isFeegrantedChain && !strings.Contains(cProv.PCfg.KeyDirectory, t.Name()) { + //This would indicate that a parallel test is inserting msgs into the queue. + //We can safely skip over any messages inserted by other test cases. + fmt.Println("Skipping PathProcessorMessageResp from unrelated Parallel test case") + continue + } + + done := cProv.SetSDKContext() + + hash, err := hex.DecodeString(curr.Response.TxHash) + require.Nil(t, err) + txResp, err := TxWithRetry(ctx, cProv.RPCClient, hash) + require.Nil(t, err) + + require.Nil(t, err) + dc := cProv.Cdc.TxConfig.TxDecoder() + tx, err := dc(txResp.Tx) + require.Nil(t, err) + builder, err := cProv.Cdc.TxConfig.WrapTxBuilder(tx) + require.Nil(t, err) + txFinder := builder.(protoTxProvider) + fullTx := txFinder.GetProtoTx() + isFeegrantedMsg := false + + msgs := "" + msgType := "" + for _, m := range fullTx.GetMsgs() { + msgType = types.MsgTypeURL(m) + //We want all IBC transfers (on an open channel/connection) to be feegranted in round robin fashion + if msgType == "/ibc.core.channel.v1.MsgRecvPacket" || msgType == "/ibc.core.channel.v1.MsgAcknowledgement" { + isFeegrantedMsg = true + msgs += msgType + ", " + } else { + msgs += msgType + ", " + } + } + + //It's required that TXs be feegranted in a round robin fashion for this chain and message type + if isFeegrantedChain && isFeegrantedMsg { + fmt.Printf("Msg types: %+v\n", msgs) + signers := fullTx.GetSigners() + require.Equal(t, len(signers), 1) + granter := fullTx.FeeGranter() + + //Feegranter for the TX that was signed on chain must be the relayer chain's configured feegranter + require.Equal(t, feegrantInfo.granter, granter.String()) + require.NotEmpty(t, granter) + + for _, msg := range fullTx.GetMsgs() { + msgType = types.MsgTypeURL(msg) + //We want all IBC transfers (on an open channel/connection) to be feegranted in round robin fashion + if msgType == "/ibc.core.channel.v1.MsgRecvPacket" { + c := msg.(*chantypes.MsgRecvPacket) + appData := c.Packet.GetData() + tokenTransfer := &transfertypes.FungibleTokenPacketData{} + err := tokenTransfer.Unmarshal(appData) + if err == nil { + fmt.Printf("%+v\n", tokenTransfer) + } else { + fmt.Println(string(appData)) + } + } + } + + //Grantee for the TX that was signed on chain must be a configured grantee in the relayer's chain feegrants. + //In addition, the grantee must be used in round robin fashion + //expectedGrantee := nextGrantee(feegrantInfo) + actualGrantee := signers[0].String() + signerList, ok := feegrantMsgSigners[chain] + if ok { + signerList = append(signerList, actualGrantee) + feegrantMsgSigners[chain] = signerList + } else { + feegrantMsgSigners[chain] = []string{actualGrantee} + } + fmt.Printf("Chain: %s, msg type: %s, height: %d, signer: %s, granter: %s\n", chain, msgType, curr.Response.Height, actualGrantee, granter.String()) + } + done() + } + } + default: + fmt.Println("Unknown channel message") + } + } + + for chain, signers := range feegrantMsgSigners { + require.Equal(t, chain, gaia.Config().ChainID) + signerCountMap := map[string]int{} + + for _, signer := range signers { + count, ok := signerCountMap[signer] + if ok { + signerCountMap[signer] = count + 1 + } else { + signerCountMap[signer] = 1 + } + } + + highestCount := 0 + for _, count := range signerCountMap { + if count > highestCount { + highestCount = count + } + } + + //At least one feegranter must have signed a TX + require.GreaterOrEqual(t, highestCount, 1) + + //All of the feegrantees must have signed at least one TX + expectedFeegrantInfo := feegrantedChains[chain] + require.Equal(t, len(signerCountMap), len(expectedFeegrantInfo.grantees)) + + // verify that TXs were signed in a round robin fashion. + // no grantee should have signed more TXs than any other grantee (off by one is allowed). + for signer, count := range signerCountMap { + fmt.Printf("signer %s signed %d feegranted TXs \n", signer, count) + require.LessOrEqual(t, highestCount-count, 1) + } + } + + // Trace IBC Denom + gaiaDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(osmosisChannel.PortID, osmosisChannel.ChannelID, gaia.Config().Denom)) + gaiaIbcDenom := gaiaDenomTrace.IBCDenom() + + osmosisDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(gaiaChannel.PortID, gaiaChannel.ChannelID, osmosis.Config().Denom)) + osmosisIbcDenom := osmosisDenomTrace.IBCDenom() + + // Test destination wallets have increased funds + gaiaIBCBalance, err := osmosis.GetBalance(ctx, gaiaDstAddress, gaiaIbcDenom) + require.NoError(t, err) + require.Equal(t, amountToSend, gaiaIBCBalance) + + osmosisIBCBalance, err := gaia.GetBalance(ctx, osmosisDstAddress, osmosisIbcDenom) + require.NoError(t, err) + require.Equal(t, 3*amountToSend, osmosisIBCBalance) + + // Test grantee still has exact amount expected + gaiaGranteeIBCBalance, err := gaia.GetBalance(ctx, gaiaGranteeAddr, gaia.Config().Denom) + require.NoError(t, err) + require.Equal(t, granteeFundAmount, gaiaGranteeIBCBalance) + + // Test granter has less than they started with, meaning fees came from their account + gaiaGranterIBCBalance, err := gaia.GetBalance(ctx, gaiaGranterAddr, gaia.Config().Denom) + require.NoError(t, err) + require.Less(t, gaiaGranterIBCBalance, fundAmount) + r.StopRelayer(ctx, eRep) +} + +func TxWithRetry(ctx context.Context, client rpcclient.Client, hash []byte) (*ctypes.ResultTx, error) { + var err error + var res *ctypes.ResultTx + if err = retry.Do(func() error { + res, err = client.Tx(ctx, hash, true) + return err + }, retry.Context(ctx), relayer.RtyAtt, relayer.RtyDel, relayer.RtyErr); err != nil { + return res, err + } + + return res, err +} diff --git a/interchaintest/go.mod b/interchaintest/go.mod index 6d4e1f484..6352c1099 100644 --- a/interchaintest/go.mod +++ b/interchaintest/go.mod @@ -3,12 +3,13 @@ module github.com/cosmos/relayer/v2/interchaintest go 1.20 require ( - cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff + cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 github.com/cometbft/cometbft v0.37.2 github.com/cosmos/cosmos-sdk v0.47.3 + github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.4.10 github.com/cosmos/ibc-go/v7 v7.2.0 - github.com/cosmos/relayer/v2 v2.0.0-00010101000000-000000000000 + github.com/cosmos/relayer/v2 v2.0.0 github.com/docker/docker v24.0.1+incompatible github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/moby/moby v24.0.2+incompatible @@ -64,7 +65,6 @@ require ( github.com/containerd/containerd v1.6.8 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect - github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/iavl v0.20.0 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect diff --git a/interchaintest/go.sum b/interchaintest/go.sum index 37d2d6154..74c50689d 100644 --- a/interchaintest/go.sum +++ b/interchaintest/go.sum @@ -200,8 +200,8 @@ cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg= cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= -cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff h1:P1ialzTepD1oxdNPYc5N8Eggq3RdejZq3cJs8YYMs9Y= -cosmossdk.io/simapp v0.0.0-20230323161446-0af178d721ff/go.mod h1:AKzx6Mb544LjJ9RHmGFHjY9rEOLiUAi8I0F727TR0dY= +cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 h1:g8muUHnXL8vhld2Sjilyhb1UQObc+x9GVuDK43TYZns= +cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462/go.mod h1:4Dd3NLoLYoN90kZ0uyHoTHzVVk9+J0v4HhZRBNTAq2c= cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -484,8 +484,8 @@ github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbS github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -507,8 +507,8 @@ github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8c github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= @@ -520,7 +520,6 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= diff --git a/interchaintest/ica_channel_close_test.go b/interchaintest/ica_channel_close_test.go index b21a41c32..6eac44b64 100644 --- a/interchaintest/ica_channel_close_test.go +++ b/interchaintest/ica_channel_close_test.go @@ -26,8 +26,6 @@ func TestScenarioICAChannelClose(t *testing.T) { t.Skip("skipping in short mode") } - t.Parallel() - client, network := interchaintest.DockerSetup(t) rep := testreporter.NewNopReporter() @@ -93,6 +91,8 @@ func TestScenarioICAChannelClose(t *testing.T) { // BlockDatabaseFile: interchaintest.DefaultBlockDatabaseFilepath(), })) + t.Parallel() + // Fund a user account on chain1 and chain2 const userFunds = int64(10_000_000_000) users := interchaintest.GetAndFundTestUsers(t, ctx, t.Name(), userFunds, chain1, chain2) @@ -244,7 +244,7 @@ func TestScenarioICAChannelClose(t *testing.T) { // Wait for ack _, err = cosmos.PollForMessage(ctx, chain1, ir, - c1h, c1h+10, ackFound) + c1h, c1h+25, ackFound) require.NoError(t, err) // Assert that the funds have been received by the user account on chain2 @@ -311,7 +311,7 @@ func TestScenarioICAChannelClose(t *testing.T) { // Wait for channel open confirm _, err = cosmos.PollForMessage(ctx, chain2, ir, - c2h, c2h+30, channelFound) + c2h, c2h+40, channelFound) require.NoError(t, err) // Assert that a new channel has been opened and the same ICA is in use diff --git a/interchaintest/interchain_accounts_test.go b/interchaintest/interchain_accounts_test.go index 0185b2bc2..0ec0a1df5 100644 --- a/interchaintest/interchain_accounts_test.go +++ b/interchaintest/interchain_accounts_test.go @@ -27,8 +27,6 @@ func TestScenarioInterchainAccounts(t *testing.T) { t.Skip("skipping in short mode") } - t.Parallel() - client, network := interchaintest.DockerSetup(t) rep := testreporter.NewNopReporter() @@ -94,6 +92,8 @@ func TestScenarioInterchainAccounts(t *testing.T) { // BlockDatabaseFile: interchaintest.DefaultBlockDatabaseFilepath(), })) + t.Parallel() + // Fund a user account on chain1 and chain2 const userFunds = int64(10_000_000_000) users := interchaintest.GetAndFundTestUsers(t, ctx, t.Name(), userFunds, chain1, chain2) diff --git a/interchaintest/misbehaviour_test.go b/interchaintest/misbehaviour_test.go index 2dc8b4656..9c99c5504 100644 --- a/interchaintest/misbehaviour_test.go +++ b/interchaintest/misbehaviour_test.go @@ -35,6 +35,7 @@ import ( "github.com/strangelove-ventures/interchaintest/v7/testreporter" "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/stretchr/testify/require" + "go.uber.org/zap" "go.uber.org/zap/zaptest" ) @@ -43,13 +44,13 @@ func TestRelayerMisbehaviourDetection(t *testing.T) { t.Skip() } - t.Parallel() - numVals := 1 numFullNodes := 0 - cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{ - {Name: "gaia", Version: "v9.0.0-rc1", NumValidators: &numVals, NumFullNodes: &numFullNodes, ChainConfig: ibc.ChainConfig{ChainID: "chain-a", GasPrices: "0.0uatom"}}, - {Name: "gaia", Version: "v9.0.0-rc1", NumValidators: &numVals, NumFullNodes: &numFullNodes, ChainConfig: ibc.ChainConfig{ChainID: "chain-b", GasPrices: "0.0uatom"}}}, + logger := zaptest.NewLogger(t) + + cf := interchaintest.NewBuiltinChainFactory(logger, []*interchaintest.ChainSpec{ + {Name: "gaia", Version: "v9.0.0-rc1", NumValidators: &numVals, NumFullNodes: &numFullNodes, ChainConfig: ibc.ChainConfig{ChainID: "chain-a", GasPrices: "0.0uatom", Bech32Prefix: "cosmos"}}, + {Name: "gaia", Version: "v9.0.0-rc1", NumValidators: &numVals, NumFullNodes: &numFullNodes, ChainConfig: ibc.ChainConfig{ChainID: "chain-b", GasPrices: "0.0uatom", Bech32Prefix: "cosmos"}}}, ) chains, err := cf.Chains(t.Name()) @@ -86,6 +87,8 @@ func TestRelayerMisbehaviourDetection(t *testing.T) { SkipPathCreation: false, })) + t.Parallel() + t.Cleanup(func() { _ = ic.Close() }) @@ -186,6 +189,7 @@ func TestRelayerMisbehaviourDetection(t *testing.T) { ClientMessage: protoAny, Signer: user.FormattedAddress(), } + logger.Info("Misbehaviour test, MsgUpdateClient", zap.String("Signer", user.FormattedAddress())) resp, err := cosmos.BroadcastTx(ctx, b, user, msg) require.NoError(t, err) diff --git a/interchaintest/path_filter_test.go b/interchaintest/path_filter_test.go index 1ec706a80..3ef7b9215 100644 --- a/interchaintest/path_filter_test.go +++ b/interchaintest/path_filter_test.go @@ -21,7 +21,6 @@ import ( // TestScenarioPathFilterAllow tests the channel allowlist func TestScenarioPathFilterAllow(t *testing.T) { - t.Parallel() ctx := context.Background() nv := 1 @@ -43,6 +42,8 @@ func TestScenarioPathFilterAllow(t *testing.T) { InitialBlockHistory: 100, }).Build(t, nil, "") + t.Parallel() + // Prep Interchain const ibcPath = "gaia-osmosis" ic := interchaintest.NewInterchain(). @@ -167,7 +168,6 @@ func TestScenarioPathFilterAllow(t *testing.T) { // TestScenarioPathFilterDeny tests the channel denylist func TestScenarioPathFilterDeny(t *testing.T) { - t.Parallel() ctx := context.Background() nv := 1 @@ -216,6 +216,8 @@ func TestScenarioPathFilterDeny(t *testing.T) { SkipPathCreation: false, })) + t.Parallel() + // Get Channel ID gaiaChans, err := r.GetChannels(ctx, eRep, gaia.Config().ChainID) require.NoError(t, err) diff --git a/interchaintest/relayer.go b/interchaintest/relayer.go index d06c0e1b8..8641830bc 100644 --- a/interchaintest/relayer.go +++ b/interchaintest/relayer.go @@ -9,6 +9,7 @@ import ( "testing" "github.com/cosmos/cosmos-sdk/crypto/keyring" + "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/relayer/v2/cmd" "github.com/cosmos/relayer/v2/internal/relayertest" "github.com/cosmos/relayer/v2/relayer" @@ -37,6 +38,9 @@ func NewRelayer( t *testing.T, config RelayerConfig, ) ibc.Relayer { + //prevent incorrect bech32 address prefixed addresses when calling AccAddress.String() + types.SetAddrCacheEnabled(false) + r := &Relayer{ t: t, home: t.TempDir(), diff --git a/interchaintest/stride/stride_icq_test.go b/interchaintest/stride/stride_icq_test.go index 00a42c609..ac9a067e4 100644 --- a/interchaintest/stride/stride_icq_test.go +++ b/interchaintest/stride/stride_icq_test.go @@ -16,6 +16,7 @@ import ( "github.com/strangelove-ventures/interchaintest/v7/testreporter" "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/stretchr/testify/require" + "go.uber.org/zap" "go.uber.org/zap/zaptest" "golang.org/x/sync/errgroup" ) @@ -26,9 +27,6 @@ func TestScenarioStrideICAandICQ(t *testing.T) { if testing.Short() { t.Skip() } - - t.Parallel() - client, network := interchaintest.DockerSetup(t) rep := testreporter.NewNopReporter() @@ -38,9 +36,10 @@ func TestScenarioStrideICAandICQ(t *testing.T) { nf := 0 nv := 1 + logger := zaptest.NewLogger(t) // Define chains involved in test - cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{ + cf := interchaintest.NewBuiltinChainFactory(logger, []*interchaintest.ChainSpec{ { Name: "stride", ChainName: "stride", @@ -113,10 +112,15 @@ func TestScenarioStrideICAandICQ(t *testing.T) { SkipPathCreation: false, })) + + t.Parallel() + t.Cleanup(func() { _ = ic.Close() }) + logger.Info("TestScenarioStrideICAandICQ [1]") + // Fund user accounts, so we can query balances and make assertions. const userFunds = int64(10_000_000_000_000) users := interchaintest.GetAndFundTestUsers(t, ctx, t.Name(), userFunds, stride, gaia) @@ -128,6 +132,8 @@ func TestScenarioStrideICAandICQ(t *testing.T) { err = r.StartRelayer(ctx, eRep, pathStrideGaia) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [2]") + t.Cleanup( func() { err := r.StopRelayer(ctx, eRep) @@ -147,6 +153,8 @@ func TestScenarioStrideICAandICQ(t *testing.T) { strideAdminAddr, err := types.Bech32ifyAddressBytes(strideCfg.Bech32Prefix, strideAdminAddrBytes) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [3]") + err = stride.SendFunds(ctx, interchaintest.FaucetAccountKeyName, ibc.WalletAmount{ Address: strideAdminAddr, Amount: userFunds, @@ -154,12 +162,16 @@ func TestScenarioStrideICAandICQ(t *testing.T) { }) require.NoError(t, err, "failed to fund stride admin account") + logger.Info("TestScenarioStrideICAandICQ [4]") + // get native chain user addresses strideAddr := strideUser.FormattedAddress() require.NotEmpty(t, strideAddr) + logger.Info("TestScenarioStrideICAandICQ [5]", zap.String("stride addr", strideAddr)) gaiaAddress := gaiaUser.FormattedAddress() require.NotEmpty(t, gaiaAddress) + logger.Info("TestScenarioStrideICAandICQ [6]", zap.String("gaia addr", gaiaAddress)) // get ibc paths gaiaConns, err := r.GetConnections(ctx, eRep, gaiaCfg.ChainID) @@ -168,6 +180,8 @@ func TestScenarioStrideICAandICQ(t *testing.T) { gaiaChans, err := r.GetChannels(ctx, eRep, gaiaCfg.ChainID) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [7]") + atomIBCDenom := transfertypes.ParseDenomTrace( transfertypes.GetPrefixedDenom( gaiaChans[0].Counterparty.PortID, @@ -182,6 +196,8 @@ func TestScenarioStrideICAandICQ(t *testing.T) { gaiaHeight, err := gaia.Height(ctx) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [8]") + // Fund stride user with ibc denom atom tx, err := gaia.SendIBCTransfer(ctx, gaiaChans[0].ChannelID, gaiaUser.KeyName(), ibc.WalletAmount{ Amount: 1_000_000_000_000, @@ -190,13 +206,19 @@ func TestScenarioStrideICAandICQ(t *testing.T) { }, ibc.TransferOptions{}) require.NoError(t, err) - _, err = testutil.PollForAck(ctx, gaia, gaiaHeight, gaiaHeight+10, tx.Packet) + logger.Info("TestScenarioStrideICAandICQ [9]") + + _, err = testutil.PollForAck(ctx, gaia, gaiaHeight, gaiaHeight+40, tx.Packet) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [10]") + require.NoError(t, eg.Wait()) + logger.Info("TestScenarioStrideICAandICQ [11]") + // Register gaia host zone - _, err = strideFullNode.ExecTx(ctx, StrideAdminAccount, + res, err := strideFullNode.ExecTx(ctx, StrideAdminAccount, "stakeibc", "register-host-zone", gaiaConns[0].Counterparty.ConnectionId, gaiaCfg.Denom, gaiaCfg.Bech32Prefix, atomIBCDenom, gaiaChans[0].Counterparty.ChannelID, "1", @@ -204,30 +226,40 @@ func TestScenarioStrideICAandICQ(t *testing.T) { ) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [12]", zap.String("execTx res", res)) + gaiaHeight, err = gaia.Height(ctx) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [13]") + // Wait for the ICA accounts to be setup // Poll for 4 MsgChannelOpenConfirm with timeout after 15 blocks. chanCount := 0 _, err = cosmos.PollForMessage( - ctx, gaia, gaiaCfg.EncodingConfig.InterfaceRegistry, gaiaHeight, gaiaHeight+15, + ctx, gaia, gaiaCfg.EncodingConfig.InterfaceRegistry, gaiaHeight, gaiaHeight+40, func(found *chantypes.MsgChannelOpenConfirm) bool { chanCount++; return chanCount == 4 }, ) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [14]") + // Get validator address gaiaVal1Address, err := gaia.Validators[0].KeyBech32(ctx, "validator", "val") require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [15]") + // Add gaia validator - _, err = strideFullNode.ExecTx(ctx, StrideAdminAccount, + res, err = strideFullNode.ExecTx(ctx, StrideAdminAccount, "stakeibc", "add-validator", gaiaCfg.ChainID, "gval1", gaiaVal1Address, "10", "5", ) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [16]", zap.String("execTx res", res)) + var gaiaHostZone HostZoneWrapper // query gaia host zone @@ -238,20 +270,31 @@ func TestScenarioStrideICAandICQ(t *testing.T) { err = json.Unmarshal(stdout, &gaiaHostZone) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [17]", zap.String("execQuery res", string(stdout))) + // Liquid stake some atom - _, err = strideFullNode.ExecTx(ctx, strideUser.KeyName(), + res, err = strideFullNode.ExecTx(ctx, strideUser.KeyName(), "stakeibc", "liquid-stake", "1000000000000", gaiaCfg.Denom, ) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [18]", zap.String("execTx res", res)) + strideHeight, err := stride.Height(ctx) require.NoError(t, err) + logger.Info("TestScenarioStrideICAandICQ [19]") + // Poll for MsgSubmitQueryResponse with timeout after 20 blocks - _, err = cosmos.PollForMessage( - ctx, stride, strideCfg.EncodingConfig.InterfaceRegistry, strideHeight, strideHeight+20, + resp, err := cosmos.PollForMessage( + ctx, stride, strideCfg.EncodingConfig.InterfaceRegistry, strideHeight, strideHeight+40, func(found *rlystride.MsgSubmitQueryResponse) bool { return true }, ) + + logger.Info("TestScenarioStrideICAandICQ [20]", zap.String("[poll for msg] resp", resp.String())) + if err != nil { + logger.Info("error poll: " + err.Error()) + } require.NoError(t, err) } diff --git a/interchaintest/tendermint_v0.37_boundary_test.go b/interchaintest/tendermint_v0.37_boundary_test.go index c7972c1ac..04a7a8c47 100644 --- a/interchaintest/tendermint_v0.37_boundary_test.go +++ b/interchaintest/tendermint_v0.37_boundary_test.go @@ -18,8 +18,6 @@ func TestScenarioTendermint37Boundary(t *testing.T) { t.Skip("skipping in short mode") } - t.Parallel() - nv := 1 nf := 0 @@ -58,6 +56,8 @@ func TestScenarioTendermint37Boundary(t *testing.T) { }) r := rf.Build(t, client, network) + t.Parallel() + ic := interchaintest.NewInterchain(). AddChain(chain). AddChain(counterpartyChain). diff --git a/relayer/chains/cosmos/feegrant.go b/relayer/chains/cosmos/feegrant.go new file mode 100644 index 000000000..92b14b6d3 --- /dev/null +++ b/relayer/chains/cosmos/feegrant.go @@ -0,0 +1,529 @@ +package cosmos + +import ( + "context" + "errors" + "fmt" + "regexp" + "strconv" + "time" + + "github.com/cosmos/cosmos-sdk/crypto/hd" + "github.com/cosmos/cosmos-sdk/types" + sdk "github.com/cosmos/cosmos-sdk/types" + txtypes "github.com/cosmos/cosmos-sdk/types/tx" + "github.com/cosmos/cosmos-sdk/x/feegrant" +) + +// Searches for valid, existing BasicAllowance grants for the ChainClient's configured Feegranter. +// Expired grants are ignored. Other grant types are ignored. +func (cc *CosmosProvider) GetValidBasicGrants() ([]*feegrant.Grant, error) { + validGrants := []*feegrant.Grant{} + + if cc.PCfg.FeeGrants == nil { + return nil, errors.New("no feegrant configuration for chainclient") + } + + keyNameOrAddress := cc.PCfg.FeeGrants.GranterKey + address, err := cc.AccountFromKeyOrAddress(keyNameOrAddress) + if err != nil { + return nil, err + } + + encodedAddr := cc.MustEncodeAccAddr(address) + grants, err := cc.QueryFeegrantsByGranter(encodedAddr, nil) + if err != nil { + return nil, err + } + + for _, grant := range grants { + switch grant.Allowance.TypeUrl { + case "/cosmos.feegrant.v1beta1.BasicAllowance": + //var feegrantAllowance feegrant.BasicAllowance + var feegrantAllowance feegrant.FeeAllowanceI + e := cc.Cdc.InterfaceRegistry.UnpackAny(grant.Allowance, &feegrantAllowance) + if e != nil { + return nil, e + } + //feegrantAllowance := grant.Allowance.GetCachedValue().(*feegrant.BasicAllowance) + if isValidGrant(feegrantAllowance.(*feegrant.BasicAllowance)) { + validGrants = append(validGrants, grant) + } + default: + fmt.Printf("Ignoring grant type %s for granter %s and grantee %s\n", grant.Allowance.TypeUrl, grant.Granter, grant.Grantee) + } + } + + return validGrants, nil +} + +// Searches for valid, existing BasicAllowance grants for the given grantee & ChainClient's configured granter. +// Expired grants are ignored. Other grant types are ignored. +func (cc *CosmosProvider) GetGranteeValidBasicGrants(granteeKey string) ([]*feegrant.Grant, error) { + validGrants := []*feegrant.Grant{} + + if cc.PCfg.FeeGrants == nil { + return nil, errors.New("no feegrant configuration for chainclient") + } + + granterAddr, err := cc.AccountFromKeyOrAddress(cc.PCfg.FeeGrants.GranterKey) + if err != nil { + return nil, err + } + granterEncodedAddr := cc.MustEncodeAccAddr(granterAddr) + + address, err := cc.AccountFromKeyOrAddress(granteeKey) + if err != nil { + return nil, err + } + + encodedAddr := cc.MustEncodeAccAddr(address) + grants, err := cc.QueryFeegrantsByGrantee(encodedAddr, nil) + if err != nil { + return nil, err + } + + for _, grant := range grants { + if grant.Granter == granterEncodedAddr { + switch grant.Allowance.TypeUrl { + case "/cosmos.feegrant.v1beta1.BasicAllowance": + var feegrantAllowance feegrant.FeeAllowanceI + e := cc.Cdc.InterfaceRegistry.UnpackAny(grant.Allowance, &feegrantAllowance) + if e != nil { + return nil, e + } + if isValidGrant(feegrantAllowance.(*feegrant.BasicAllowance)) { + validGrants = append(validGrants, grant) + } + default: + fmt.Printf("Ignoring grant type %s for granter %s and grantee %s\n", grant.Allowance.TypeUrl, grant.Granter, grant.Grantee) + } + } + } + + return validGrants, nil +} + +// True if the grant has not expired and all coins have positive balances, false otherwise +// Note: technically, any single coin with a positive balance makes the grant usable +func isValidGrant(a *feegrant.BasicAllowance) bool { + //grant expired due to time limit + if a.Expiration != nil && time.Now().After(*a.Expiration) { + return false + } + + //feegrant without a spending limit specified allows unlimited fees to be spent + valid := true + + //spending limit is specified, check if there are funds remaining on every coin + if a.SpendLimit != nil { + for _, coin := range a.SpendLimit { + if coin.Amount.LTE(types.ZeroInt()) { + valid = false + } + } + } + + return valid +} + +func (cc *CosmosProvider) ConfigureFeegrants(numGrantees int, granterKey string) error { + cc.PCfg.FeeGrants = &FeeGrantConfiguration{ + GranteesWanted: numGrantees, + GranterKey: granterKey, + ManagedGrantees: []string{}, + } + + return cc.PCfg.FeeGrants.AddGranteeKeys(cc) +} + +func (cc *CosmosProvider) ConfigureWithGrantees(grantees []string, granterKey string) error { + if len(grantees) == 0 { + return errors.New("list of grantee names cannot be empty") + } + + cc.PCfg.FeeGrants = &FeeGrantConfiguration{ + GranteesWanted: len(grantees), + GranterKey: granterKey, + ManagedGrantees: grantees, + } + + for _, newGrantee := range grantees { + if !cc.KeyExists(newGrantee) { + //Add another key to the chain client for the grantee + _, err := cc.AddKey(newGrantee, sdk.CoinType, string(hd.Secp256k1Type)) + if err != nil { + return err + } + } + } + + return nil +} + +func (fg *FeeGrantConfiguration) AddGranteeKeys(cc *CosmosProvider) error { + for i := len(fg.ManagedGrantees); i < fg.GranteesWanted; i++ { + newGranteeIdx := strconv.Itoa(len(fg.ManagedGrantees) + 1) + newGrantee := "grantee" + newGranteeIdx + + //Add another key to the chain client for the grantee + _, err := cc.AddKey(newGrantee, sdk.CoinType, string(hd.Secp256k1Type)) + if err != nil { + return err + } + + fg.ManagedGrantees = append(fg.ManagedGrantees, newGrantee) + } + + return nil +} + +// Get the feegrant params to use for the next TX. If feegrants are not configured for the chain client, the default key will be used for TX signing. +// Otherwise, a configured feegrantee will be chosen for TX signing in round-robin fashion. +func (cc *CosmosProvider) GetTxFeeGrant() (txSignerKey string, feeGranterKey string) { + //By default, we should sign TXs with the ChainClient's default key + txSignerKey = cc.PCfg.Key + + if cc.PCfg.FeeGrants == nil { + fmt.Printf("cc.Config.FeeGrants == nil\n") + return + } + + // Use the ChainClient's configured Feegranter key for the next TX. + feeGranterKey = cc.PCfg.FeeGrants.GranterKey + + // The ChainClient Feegrant configuration has never been verified on chain. + // Don't use Feegrants as it could cause the TX to fail on chain. + if feeGranterKey == "" || cc.PCfg.FeeGrants.BlockHeightVerified <= 0 { + fmt.Printf("cc.Config.FeeGrants.BlockHeightVerified <= 0\n") + feeGranterKey = "" + return + } + + //Pick the next managed grantee in the list as the TX signer + lastGranteeIdx := cc.PCfg.FeeGrants.GranteeLastSignerIndex + + if lastGranteeIdx >= 0 && lastGranteeIdx <= len(cc.PCfg.FeeGrants.ManagedGrantees)-1 { + txSignerKey = cc.PCfg.FeeGrants.ManagedGrantees[lastGranteeIdx] + cc.PCfg.FeeGrants.GranteeLastSignerIndex = cc.PCfg.FeeGrants.GranteeLastSignerIndex + 1 + + //Restart the round robin at 0 if we reached the end of the list of grantees + if cc.PCfg.FeeGrants.GranteeLastSignerIndex == len(cc.PCfg.FeeGrants.ManagedGrantees) { + cc.PCfg.FeeGrants.GranteeLastSignerIndex = 0 + } + } + + return +} + +// Ensure all Basic Allowance grants are in place for the given ChainClient. +// This will query (RPC) for existing grants and create new grants if they don't exist. +func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (*sdk.TxResponse, error) { + if cc.PCfg.FeeGrants == nil { + return nil, errors.New("ChainClient must be a FeeGranter to establish grants") + } else if len(cc.PCfg.FeeGrants.ManagedGrantees) == 0 { + return nil, errors.New("ChainClient is a FeeGranter, but is not managing any Grantees") + } + + granterKey := cc.PCfg.FeeGrants.GranterKey + if granterKey == "" { + granterKey = cc.PCfg.Key + } + + granterAcc, err := cc.GetKeyAddressForKey(granterKey) + if err != nil { + fmt.Printf("Retrieving key '%s': ChainClient FeeGranter misconfiguration: %s", granterKey, err.Error()) + return nil, err + } + + granterAddr, granterAddrErr := cc.EncodeBech32AccAddr(granterAcc) + if granterAddrErr != nil { + return nil, granterAddrErr + } + + validGrants, err := cc.GetValidBasicGrants() + failedLookupGrantsByGranter := err != nil + + msgs := []sdk.Msg{} + numGrantees := len(cc.PCfg.FeeGrants.ManagedGrantees) + grantsNeeded := 0 + + for _, grantee := range cc.PCfg.FeeGrants.ManagedGrantees { + + //Searching for all grants with the given granter failed, so we will search by the grantee. + //Reason this lookup sometimes fails is because the 'Search by granter' request is in SDK v0.46+ + if failedLookupGrantsByGranter { + validGrants, err = cc.GetGranteeValidBasicGrants(grantee) + if err != nil { + return nil, err + } + } + + granteeAcc, err := cc.GetKeyAddressForKey(grantee) + if err != nil { + fmt.Printf("Misconfiguration for grantee key %s. Error: %s\n", grantee, err.Error()) + return nil, err + } + + granteeAddr, granteeAddrErr := cc.EncodeBech32AccAddr(granteeAcc) + if granteeAddrErr != nil { + return nil, granteeAddrErr + } + + hasGrant := false + for _, basicGrant := range validGrants { + if basicGrant.Grantee == granteeAddr { + fmt.Printf("Valid grant found for granter %s, grantee %s\n", basicGrant.Granter, basicGrant.Grantee) + hasGrant = true + } + } + + if !hasGrant { + grantsNeeded += 1 + fmt.Printf("Grant will be created on chain for granter %s and grantee %s\n", granterAddr, granteeAddr) + grantMsg, err := cc.getMsgGrantBasicAllowance(granterAcc, granteeAcc) + if err != nil { + return nil, err + } + msgs = append(msgs, grantMsg) + } + } + + if len(msgs) > 0 { + //Make sure the granter has funds on chain, if not, we can't even pay TX fees. + //Also, depending how the config was initialized, the key might only exist locally, not on chain. + balance, err := cc.QueryBalanceWithAddress(ctx, granterAddr) + if err != nil { + return nil, err + } + + //Check to ensure the feegranter has funds on chain that can pay TX fees + weBroke := true + gasDenom, err := getGasTokenDenom(cc.PCfg.GasPrices) + if err != nil { + return nil, err + } + + for _, coin := range balance { + if coin.Denom == gasDenom { + if coin.Amount.GT(sdk.ZeroInt()) { + weBroke = false + } + } + } + + //Feegranter can pay TX fees + if !weBroke { + txResp, err := cc.SubmitTxAwaitResponse(ctx, msgs, memo, 0, granterKey) + if err != nil { + fmt.Printf("Error: SubmitTxAwaitResponse: %s", err.Error()) + return nil, err + } else if txResp != nil && txResp.TxResponse != nil && txResp.TxResponse.Code != 0 { + fmt.Printf("Submitting grants for granter %s failed. Code: %d, TX hash: %s\n", granterKey, txResp.TxResponse.Code, txResp.TxResponse.TxHash) + return nil, fmt.Errorf("could not configure feegrant for granter %s", granterKey) + } + + fmt.Printf("TX succeeded, %d new grants configured, %d grants already in place. TX hash: %s\n", grantsNeeded, numGrantees-grantsNeeded, txResp.TxResponse.TxHash) + return txResp.TxResponse, err + } else { + return nil, fmt.Errorf("granter %s does not have funds on chain in fee denom '%s' (no TXs submitted)", granterKey, gasDenom) + } + } else { + fmt.Printf("All grantees (%d total) already had valid feegrants. Feegrant configuration verified.\n", numGrantees) + } + + return nil, nil +} + +func getGasTokenDenom(gasPrices string) (string, error) { + r := regexp.MustCompile(`(?P[0-9.]*)(?P.*)`) + submatches := r.FindStringSubmatch(gasPrices) + if len(submatches) != 3 { + return "", errors.New("could not find fee denom") + } + + return submatches[2], nil +} + +// GrantBasicAllowance Send a feegrant with the basic allowance type. +// This function does not check for existing feegrant authorizations. +// TODO: check for existing authorizations prior to attempting new one. +func (cc *CosmosProvider) GrantAllGranteesBasicAllowance(ctx context.Context, gas uint64) error { + if cc.PCfg.FeeGrants == nil { + return errors.New("ChainClient must be a FeeGranter to establish grants") + } else if len(cc.PCfg.FeeGrants.ManagedGrantees) == 0 { + return errors.New("ChainClient is a FeeGranter, but is not managing any Grantees") + } + + granterKey := cc.PCfg.FeeGrants.GranterKey + if granterKey == "" { + granterKey = cc.PCfg.Key + } + granterAddr, err := cc.GetKeyAddressForKey(granterKey) + if err != nil { + fmt.Printf("ChainClient FeeGranter misconfiguration: %s", err.Error()) + return err + } + + for _, grantee := range cc.PCfg.FeeGrants.ManagedGrantees { + granteeAddr, err := cc.GetKeyAddressForKey(grantee) + + if err != nil { + fmt.Printf("Misconfiguration for grantee %s. Error: %s\n", grantee, err.Error()) + return err + } + + grantResp, err := cc.GrantBasicAllowance(ctx, granterAddr, granterKey, granteeAddr, gas) + if err != nil { + return err + } else if grantResp != nil && grantResp.TxResponse != nil && grantResp.TxResponse.Code != 0 { + fmt.Printf("grantee %s and granter %s. Code: %d\n", granterAddr.String(), granteeAddr.String(), grantResp.TxResponse.Code) + return fmt.Errorf("could not configure feegrant for granter %s and grantee %s", granterAddr.String(), granteeAddr.String()) + } + } + return nil +} + +// GrantBasicAllowance Send a feegrant with the basic allowance type. +// This function does not check for existing feegrant authorizations. +// TODO: check for existing authorizations prior to attempting new one. +func (cc *CosmosProvider) GrantAllGranteesBasicAllowanceWithExpiration(ctx context.Context, gas uint64, expiration time.Time) error { + if cc.PCfg.FeeGrants == nil { + return errors.New("ChainClient must be a FeeGranter to establish grants") + } else if len(cc.PCfg.FeeGrants.ManagedGrantees) == 0 { + return errors.New("ChainClient is a FeeGranter, but is not managing any Grantees") + } + + granterKey := cc.PCfg.FeeGrants.GranterKey + if granterKey == "" { + granterKey = cc.PCfg.Key + } + + granterAddr, err := cc.GetKeyAddressForKey(granterKey) + if err != nil { + fmt.Printf("ChainClient FeeGranter misconfiguration: %s", err.Error()) + return err + } + + for _, grantee := range cc.PCfg.FeeGrants.ManagedGrantees { + granteeAddr, err := cc.GetKeyAddressForKey(grantee) + + if err != nil { + fmt.Printf("Misconfiguration for grantee %s. Error: %s\n", grantee, err.Error()) + return err + } + + grantResp, err := cc.GrantBasicAllowanceWithExpiration(ctx, granterAddr, granterKey, granteeAddr, gas, expiration) + if err != nil { + return err + } else if grantResp != nil && grantResp.TxResponse != nil && grantResp.TxResponse.Code != 0 { + fmt.Printf("grantee %s and granter %s. Code: %d\n", granterAddr.String(), granteeAddr.String(), grantResp.TxResponse.Code) + return fmt.Errorf("could not configure feegrant for granter %s and grantee %s", granterAddr.String(), granteeAddr.String()) + } + } + return nil +} + +func (cc *CosmosProvider) getMsgGrantBasicAllowanceWithExpiration(granter sdk.AccAddress, grantee sdk.AccAddress, expiration time.Time) (sdk.Msg, error) { + //thirtyMin := time.Now().Add(30 * time.Minute) + feeGrantBasic := &feegrant.BasicAllowance{ + Expiration: &expiration, + } + msgGrantAllowance, err := feegrant.NewMsgGrantAllowance(feeGrantBasic, granter, grantee) + if err != nil { + fmt.Printf("Error: GrantBasicAllowance.NewMsgGrantAllowance: %s", err.Error()) + return nil, err + } + + //Due to the way Lens configures the SDK, addresses will have the 'cosmos' prefix which + //doesn't necessarily match the chain prefix of the ChainClient config. So calling the internal + //'NewMsgGrantAllowance' function will return the *incorrect* 'cosmos' prefixed bech32 address. + + //Update the Grant to ensure the correct chain-specific granter is set + granterAddr, granterAddrErr := cc.EncodeBech32AccAddr(granter) + if granterAddrErr != nil { + fmt.Printf("EncodeBech32AccAddr: %s", granterAddrErr.Error()) + return nil, granterAddrErr + } + + //Update the Grant to ensure the correct chain-specific grantee is set + granteeAddr, granteeAddrErr := cc.EncodeBech32AccAddr(grantee) + if granteeAddrErr != nil { + fmt.Printf("EncodeBech32AccAddr: %s", granteeAddrErr.Error()) + return nil, granteeAddrErr + } + + //override the 'cosmos' prefixed bech32 addresses with the correct chain prefix + msgGrantAllowance.Grantee = granteeAddr + msgGrantAllowance.Granter = granterAddr + + return msgGrantAllowance, nil +} + +func (cc *CosmosProvider) getMsgGrantBasicAllowance(granter sdk.AccAddress, grantee sdk.AccAddress) (sdk.Msg, error) { + //thirtyMin := time.Now().Add(30 * time.Minute) + feeGrantBasic := &feegrant.BasicAllowance{ + //Expiration: &thirtyMin, + } + msgGrantAllowance, err := feegrant.NewMsgGrantAllowance(feeGrantBasic, granter, grantee) + if err != nil { + fmt.Printf("Error: GrantBasicAllowance.NewMsgGrantAllowance: %s", err.Error()) + return nil, err + } + + //Due to the way Lens configures the SDK, addresses will have the 'cosmos' prefix which + //doesn't necessarily match the chain prefix of the ChainClient config. So calling the internal + //'NewMsgGrantAllowance' function will return the *incorrect* 'cosmos' prefixed bech32 address. + + //Update the Grant to ensure the correct chain-specific granter is set + granterAddr, granterAddrErr := cc.EncodeBech32AccAddr(granter) + if granterAddrErr != nil { + fmt.Printf("EncodeBech32AccAddr: %s", granterAddrErr.Error()) + return nil, granterAddrErr + } + + //Update the Grant to ensure the correct chain-specific grantee is set + granteeAddr, granteeAddrErr := cc.EncodeBech32AccAddr(grantee) + if granteeAddrErr != nil { + fmt.Printf("EncodeBech32AccAddr: %s", granteeAddrErr.Error()) + return nil, granteeAddrErr + } + + //override the 'cosmos' prefixed bech32 addresses with the correct chain prefix + msgGrantAllowance.Grantee = granteeAddr + msgGrantAllowance.Granter = granterAddr + + return msgGrantAllowance, nil +} + +func (cc *CosmosProvider) GrantBasicAllowance(ctx context.Context, granter sdk.AccAddress, granterKeyName string, grantee sdk.AccAddress, gas uint64) (*txtypes.GetTxResponse, error) { + msgGrantAllowance, err := cc.getMsgGrantBasicAllowance(granter, grantee) + if err != nil { + return nil, err + } + + msgs := []sdk.Msg{msgGrantAllowance} + txResp, err := cc.SubmitTxAwaitResponse(ctx, msgs, "", gas, granterKeyName) + if err != nil { + fmt.Printf("Error: GrantBasicAllowance.SubmitTxAwaitResponse: %s", err.Error()) + return nil, err + } + + return txResp, nil +} + +func (cc *CosmosProvider) GrantBasicAllowanceWithExpiration(ctx context.Context, granter sdk.AccAddress, granterKeyName string, grantee sdk.AccAddress, gas uint64, expiration time.Time) (*txtypes.GetTxResponse, error) { + msgGrantAllowance, err := cc.getMsgGrantBasicAllowanceWithExpiration(granter, grantee, expiration) + if err != nil { + return nil, err + } + + msgs := []sdk.Msg{msgGrantAllowance} + txResp, err := cc.SubmitTxAwaitResponse(ctx, msgs, "", gas, granterKeyName) + if err != nil { + fmt.Printf("Error: GrantBasicAllowance.SubmitTxAwaitResponse: %s", err.Error()) + return nil, err + } + + return txResp, nil +} diff --git a/relayer/chains/cosmos/grpc_query.go b/relayer/chains/cosmos/grpc_query.go index dec0c84a8..33f274e8d 100644 --- a/relayer/chains/cosmos/grpc_query.go +++ b/relayer/chains/cosmos/grpc_query.go @@ -177,7 +177,7 @@ func (cc *CosmosProvider) TxServiceBroadcast(ctx context.Context, req *tx.Broadc wg.Add(1) - if err := cc.broadcastTx(ctx, req.TxBytes, nil, nil, ctx, blockTimeout, callback); err != nil { + if err := cc.broadcastTx(ctx, req.TxBytes, nil, nil, ctx, blockTimeout, []func(*provider.RelayerTxResponse, error){callback}); err != nil { return nil, err } diff --git a/relayer/chains/cosmos/keys.go b/relayer/chains/cosmos/keys.go index 0ccdd0938..858f77505 100644 --- a/relayer/chains/cosmos/keys.go +++ b/relayer/chains/cosmos/keys.go @@ -192,8 +192,8 @@ func (cc *CosmosProvider) ExportPrivKeyArmor(keyName string) (armor string, err } // GetKeyAddress returns the account address representation for the currently configured key. -func (cc *CosmosProvider) GetKeyAddress() (sdk.AccAddress, error) { - info, err := cc.Keybase.Key(cc.PCfg.Key) +func (cc *CosmosProvider) GetKeyAddress(key string) (sdk.AccAddress, error) { + info, err := cc.Keybase.Key(key) if err != nil { return nil, err } @@ -219,3 +219,34 @@ func CreateMnemonic() (string, error) { func (cc *CosmosProvider) EncodeBech32AccAddr(addr sdk.AccAddress) (string, error) { return sdk.Bech32ifyAddressBytes(cc.PCfg.AccountPrefix, addr) } + +func (cc *CosmosProvider) DecodeBech32AccAddr(addr string) (sdk.AccAddress, error) { + return sdk.GetFromBech32(addr, cc.PCfg.AccountPrefix) +} + +func (cc *CosmosProvider) GetKeyAddressForKey(key string) (sdk.AccAddress, error) { + info, err := cc.Keybase.Key(key) + if err != nil { + return nil, err + } + return info.GetAddress() +} + +func (cc *CosmosProvider) KeyFromKeyOrAddress(keyOrAddress string) (string, error) { + switch { + case keyOrAddress == "": + return cc.PCfg.Key, nil + case cc.KeyExists(keyOrAddress): + return keyOrAddress, nil + default: + acc, err := cc.DecodeBech32AccAddr(keyOrAddress) + if err != nil { + return "", err + } + kr, err := cc.Keybase.KeyByAddress(acc) + if err != nil { + return "", err + } + return kr.Name, nil + } +} diff --git a/relayer/chains/cosmos/log.go b/relayer/chains/cosmos/log.go index 9008e58d5..f6e6564a0 100644 --- a/relayer/chains/cosmos/log.go +++ b/relayer/chains/cosmos/log.go @@ -7,7 +7,9 @@ import ( "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" typestx "github.com/cosmos/cosmos-sdk/types/tx" + feetypes "github.com/cosmos/ibc-go/v7/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "github.com/cosmos/relayer/v2/relayer/provider" @@ -162,6 +164,11 @@ func getFeePayer(tx *typestx.Tx) string { case *clienttypes.MsgUpdateClient: // Same failure mode as MsgCreateClient. return firstMsg.Signer + case *clienttypes.MsgSubmitMisbehaviour: + // Same failure mode as MsgCreateClient. + return firstMsg.Signer + case *feetypes.MsgRegisterCounterpartyPayee: + return firstMsg.Relayer default: return firstMsg.GetSigners()[0].String() } diff --git a/relayer/chains/cosmos/msg.go b/relayer/chains/cosmos/msg.go index 6f0dfeb14..ddd5a770d 100644 --- a/relayer/chains/cosmos/msg.go +++ b/relayer/chains/cosmos/msg.go @@ -11,12 +11,15 @@ import ( ) type CosmosMessage struct { - Msg sdk.Msg + Msg sdk.Msg + SetSigner func(string) //callback to update the Msg Signer field + FeegrantDisabled bool //marks whether this message type should ALWAYS disable feegranting (use the default signer) } -func NewCosmosMessage(msg sdk.Msg) provider.RelayerMessage { +func NewCosmosMessage(msg sdk.Msg, optionalSetSigner func(string)) provider.RelayerMessage { return CosmosMessage{ - Msg: msg, + Msg: msg, + SetSigner: optionalSetSigner, } } diff --git a/relayer/chains/cosmos/provider.go b/relayer/chains/cosmos/provider.go index 505b26782..c33743faf 100644 --- a/relayer/chains/cosmos/provider.go +++ b/relayer/chains/cosmos/provider.go @@ -58,6 +58,23 @@ type CosmosProviderConfig struct { Broadcast provider.BroadcastMode `json:"broadcast-mode" yaml:"broadcast-mode"` MinLoopDuration time.Duration `json:"min-loop-duration" yaml:"min-loop-duration"` ExtensionOptions []provider.ExtensionOption `json:"extension-options" yaml:"extension-options"` + + //If FeeGrantConfiguration is set, TXs submitted by the ChainClient will be signed by the FeeGrantees in a round-robin fashion by default. + FeeGrants *FeeGrantConfiguration `json:"feegrants" yaml:"feegrants"` +} + +// By default, TXs will be signed by the feegrantees 'ManagedGrantees' keys in a round robin fashion. +// Clients can use other signing keys by invoking 'tx.SendMsgsWith' and specifying the signing key. +type FeeGrantConfiguration struct { + GranteesWanted int `json:"num_grantees" yaml:"num_grantees"` + //Normally this is the default ChainClient key + GranterKey string `json:"granter" yaml:"granter"` + //List of keys (by name) that this FeeGranter manages + ManagedGrantees []string `json:"grantees" yaml:"grantees"` + //Last checked on chain (0 means grants never checked and may not exist) + BlockHeightVerified int64 `json:"block_last_verified" yaml:"block_last_verified"` + //Index of the last ManagedGrantee used as a TX signer + GranteeLastSignerIndex int } func (pc CosmosProviderConfig) Validate() error { @@ -92,6 +109,7 @@ func (pc CosmosProviderConfig) NewProvider(log *zap.Logger, homepath string, deb KeyringOptions: []keyring.Option{ethermint.EthSecp256k1Option()}, Input: os.Stdin, Output: os.Stdout, + walletStateMap: map[string]*WalletState{}, // TODO: this is a bit of a hack, we should probably have a better way to inject modules Cdc: MakeCodec(pc.Modules, pc.ExtraCodecs), @@ -113,8 +131,13 @@ type CosmosProvider struct { Cdc Codec // TODO: GRPC Client type? - nextAccountSeq uint64 - txMu sync.Mutex + //nextAccountSeq uint64 + feegrantMu sync.Mutex + + // the map key is the TX signer, which can either be 'default' (provider key) or a feegrantee + // the purpose of the map is to lock on the signer from TX creation through submission, + // thus making TX sequencing errors less likely. + walletStateMap map[string]*WalletState // metrics to monitor the provider TotalFees sdk.Coins @@ -126,6 +149,11 @@ type CosmosProvider struct { cometLegacyEncoding bool } +type WalletState struct { + NextAccountSequence uint64 + Mu sync.Mutex +} + func (cc *CosmosProvider) ProviderConfig() provider.ProviderConfig { return cc.PCfg } @@ -175,6 +203,28 @@ func (cc *CosmosProvider) Address() (string, error) { return out, err } +func (cc *CosmosProvider) MustEncodeAccAddr(addr sdk.AccAddress) string { + enc, err := cc.EncodeBech32AccAddr(addr) + if err != nil { + panic(err) + } + return enc +} + +// AccountFromKeyOrAddress returns an account from either a key or an address. +// If 'keyOrAddress' is the empty string, this returns the default key's address. +func (cc *CosmosProvider) AccountFromKeyOrAddress(keyOrAddress string) (out sdk.AccAddress, err error) { + switch { + case keyOrAddress == "": + out, err = cc.GetKeyAddress(cc.PCfg.Key) + case cc.KeyExists(keyOrAddress): + out, err = cc.GetKeyAddress(keyOrAddress) + default: + out, err = sdk.GetFromBech32(keyOrAddress, cc.PCfg.AccountPrefix) + } + return +} + func (cc *CosmosProvider) TrustingPeriod(ctx context.Context) (time.Duration, error) { res, err := cc.QueryStakingParams(ctx) @@ -297,9 +347,9 @@ func (cc *CosmosProvider) SetMetrics(m *processor.PrometheusMetrics) { cc.metrics = m } -func (cc *CosmosProvider) updateNextAccountSequence(seq uint64) { - if seq > cc.nextAccountSeq { - cc.nextAccountSeq = seq +func (cc *CosmosProvider) updateNextAccountSequence(sequenceGuard *WalletState, seq uint64) { + if seq > sequenceGuard.NextAccountSequence { + sequenceGuard.NextAccountSequence = seq } } diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index 6e438727f..766ad06dc 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -17,8 +17,11 @@ import ( "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + grpctypes "github.com/cosmos/cosmos-sdk/types/grpc" + "github.com/cosmos/cosmos-sdk/types/query" querytypes "github.com/cosmos/cosmos-sdk/types/query" bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/cosmos-sdk/x/feegrant" "github.com/cosmos/cosmos-sdk/x/params/types/proposal" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" @@ -33,6 +36,7 @@ import ( "github.com/cosmos/relayer/v2/relayer/provider" "go.uber.org/zap" "golang.org/x/sync/errgroup" + "google.golang.org/grpc/metadata" ) const PaginationDelay = 10 * time.Millisecond @@ -183,6 +187,93 @@ func parseEventsFromResponseDeliverTx(resp abci.ResponseDeliverTx) []provider.Re return events } +// QueryFeegrantsByGrantee returns all requested grants for the given grantee. +// Default behavior will return all grants. +func (cc *CosmosProvider) QueryFeegrantsByGrantee(address string, paginator *query.PageRequest) ([]*feegrant.Grant, error) { + grants := []*feegrant.Grant{} + allPages := paginator == nil + + req := &feegrant.QueryAllowancesRequest{Grantee: address, Pagination: paginator} + queryClient := feegrant.NewQueryClient(cc) + ctx, cancel := cc.GetQueryContext(0) + defer cancel() + hasNextPage := true + + for { + res, err := queryClient.Allowances(ctx, req) + if err != nil { + return nil, err + } + + if res.Allowances != nil { + grants = append(grants, res.Allowances...) + } + + if res.Pagination != nil { + req.Pagination.Key = res.Pagination.NextKey + if len(res.Pagination.NextKey) == 0 { + hasNextPage = false + } + } else { + hasNextPage = false + } + + if !allPages || !hasNextPage { + break + } + } + + return grants, nil +} + +// Feegrant_GrantsByGranterRPC returns all requested grants for the given Granter. +// Default behavior will return all grants. +func (cc *CosmosProvider) QueryFeegrantsByGranter(address string, paginator *query.PageRequest) ([]*feegrant.Grant, error) { + grants := []*feegrant.Grant{} + allPages := paginator == nil + + req := &feegrant.QueryAllowancesByGranterRequest{Granter: address, Pagination: paginator} + queryClient := feegrant.NewQueryClient(cc) + ctx, cancel := cc.GetQueryContext(0) + defer cancel() + hasNextPage := true + + for { + res, err := queryClient.AllowancesByGranter(ctx, req) + if err != nil { + return nil, err + } + + if res.Allowances != nil { + grants = append(grants, res.Allowances...) + } + + if res.Pagination != nil && res.Pagination.NextKey != nil { + req.Pagination.Key = res.Pagination.NextKey + if len(res.Pagination.NextKey) == 0 { + hasNextPage = false + } + } else { + hasNextPage = false + } + + if !allPages || !hasNextPage { + break + } + } + + return grants, nil +} + +// GetQueryContext returns a context that includes the height and uses the timeout from the config +func (cc *CosmosProvider) GetQueryContext(height int64) (context.Context, context.CancelFunc) { + timeout, _ := time.ParseDuration(cc.PCfg.Timeout) // Timeout is validated in the config so no error check + ctx, cancel := context.WithTimeout(context.Background(), timeout) + strHeight := strconv.FormatInt(height, 10) + ctx = metadata.AppendToOutgoingContext(ctx, grpctypes.GRPCBlockHeightHeader, strHeight) + return ctx, cancel +} + // QueryBalance returns the amount of coins in the relayer account func (cc *CosmosProvider) QueryBalance(ctx context.Context, keyName string) (sdk.Coins, error) { addr, err := cc.ShowAddress(keyName) diff --git a/relayer/chains/cosmos/relayer_packets.go b/relayer/chains/cosmos/relayer_packets.go index 168b6be9a..ad7779c6a 100644 --- a/relayer/chains/cosmos/relayer_packets.go +++ b/relayer/chains/cosmos/relayer_packets.go @@ -66,7 +66,9 @@ func (rp relayMsgTimeout) Msg(src provider.ChainProvider, srcPortId, srcChanId, Signer: addr, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } type relayMsgRecvPacket struct { @@ -129,7 +131,9 @@ func (rp relayMsgRecvPacket) Msg(src provider.ChainProvider, srcPortId, srcChanI Signer: addr, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } type relayMsgPacketAck struct { @@ -184,5 +188,7 @@ func (rp relayMsgPacketAck) Msg(src provider.ChainProvider, srcPortId, srcChanId Signer: addr, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index 8d9ae37d1..48eeb6a9d 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -6,6 +6,7 @@ import ( "fmt" "math" "math/big" + "math/rand" "regexp" "strconv" "strings" @@ -14,6 +15,7 @@ import ( "github.com/avast/retry-go/v4" abci "github.com/cometbft/cometbft/abci/types" + "github.com/cometbft/cometbft/libs/bytes" "github.com/cometbft/cometbft/light" rpcclient "github.com/cometbft/cometbft/rpc/client" coretypes "github.com/cometbft/cometbft/rpc/core/types" @@ -78,6 +80,26 @@ func (cc *CosmosProvider) SendMessage(ctx context.Context, msg provider.RelayerM return cc.SendMessages(ctx, []provider.RelayerMessage{msg}, memo) } +var seqGuardSingleton sync.Mutex + +// Gets the sequence guard. If it doesn't exist, initialized and returns it. +func ensureSequenceGuard(cc *CosmosProvider, key string) *WalletState { + seqGuardSingleton.Lock() + defer seqGuardSingleton.Unlock() + + if cc.walletStateMap == nil { + cc.walletStateMap = map[string]*WalletState{} + } + + sequenceGuard, ok := cc.walletStateMap[key] + if !ok { + cc.walletStateMap[key] = &WalletState{} + return cc.walletStateMap[key] + } + + return sequenceGuard +} + // SendMessages attempts to sign, encode, & send a slice of RelayerMessages // This is used extensively in the relayer as an extension of the Provider interface // @@ -101,7 +123,7 @@ func (cc *CosmosProvider) SendMessages(ctx context.Context, msgs []provider.Rela wg.Add(1) if err := retry.Do(func() error { - return cc.SendMessagesToMempool(ctx, msgs, memo, ctx, callback) + return cc.SendMessagesToMempool(ctx, msgs, memo, ctx, []func(*provider.RelayerTxResponse, error){callback}) }, retry.Context(ctx), rtyAtt, rtyDel, rtyErr, retry.OnRetry(func(n uint, err error) { cc.log.Info( "Error building or broadcasting transaction", @@ -137,37 +159,183 @@ func (cc *CosmosProvider) SendMessagesToMempool( memo string, asyncCtx context.Context, - asyncCallback func(*provider.RelayerTxResponse, error), + asyncCallbacks []func(*provider.RelayerTxResponse, error), ) error { - // Guard against account sequence number mismatch errors by locking for the specific wallet for - // the account sequence query all the way through the transaction broadcast success/fail. - cc.txMu.Lock() - defer cc.txMu.Unlock() + txSignerKey, feegranterKey, err := cc.buildSignerConfig(msgs) + if err != nil { + return err + } + + sequenceGuard := ensureSequenceGuard(cc, txSignerKey) + sequenceGuard.Mu.Lock() + defer sequenceGuard.Mu.Unlock() - txBytes, sequence, fees, err := cc.buildMessages(ctx, msgs, memo) + txBytes, sequence, fees, err := cc.buildMessages(ctx, msgs, memo, 0, txSignerKey, feegranterKey, sequenceGuard) if err != nil { // Account sequence mismatch errors can happen on the simulated transaction also. if strings.Contains(err.Error(), sdkerrors.ErrWrongSequence.Error()) { - cc.handleAccountSequenceMismatchError(err) + cc.handleAccountSequenceMismatchError(sequenceGuard, err) } return err } - if err := cc.broadcastTx(ctx, txBytes, msgs, fees, asyncCtx, defaultBroadcastWaitTimeout, asyncCallback); err != nil { + if err := cc.broadcastTx(ctx, txBytes, msgs, fees, asyncCtx, defaultBroadcastWaitTimeout, asyncCallbacks); err != nil { if strings.Contains(err.Error(), sdkerrors.ErrWrongSequence.Error()) { - cc.handleAccountSequenceMismatchError(err) + cc.handleAccountSequenceMismatchError(sequenceGuard, err) } return err } // we had a successful tx broadcast with this sequence, so update it to the next - cc.updateNextAccountSequence(sequence + 1) - + cc.updateNextAccountSequence(sequenceGuard, sequence+1) return nil } +func (cc *CosmosProvider) SubmitTxAwaitResponse(ctx context.Context, msgs []sdk.Msg, memo string, gas uint64, signingKeyName string) (*txtypes.GetTxResponse, error) { + resp, err := cc.SendMsgsWith(ctx, msgs, memo, gas, signingKeyName, "") + if err != nil { + return nil, err + } + fmt.Printf("TX result code: %d. Waiting for TX with hash %s\n", resp.Code, resp.Hash) + tx1resp, err := cc.AwaitTx(resp.Hash, 15*time.Second) + if err != nil { + return nil, err + } + + return tx1resp, err +} + +// Get the TX by hash, waiting for it to be included in a block +func (cc *CosmosProvider) AwaitTx(txHash bytes.HexBytes, timeout time.Duration) (*txtypes.GetTxResponse, error) { + var txByHash *txtypes.GetTxResponse + var txLookupErr error + startTime := time.Now() + timeBetweenQueries := 100 + + txClient := txtypes.NewServiceClient(cc) + + for txByHash == nil { + ctx, cancel := context.WithTimeout(context.Background(), timeout) + if time.Since(startTime) > timeout { + cancel() + return nil, txLookupErr + } + + txByHash, txLookupErr = txClient.GetTx(ctx, &txtypes.GetTxRequest{Hash: txHash.String()}) + if txLookupErr != nil { + time.Sleep(time.Duration(timeBetweenQueries) * time.Millisecond) + } + cancel() + } + + return txByHash, nil +} + +// SendMsgs wraps the msgs in a StdTx, signs and sends it. An error is returned if there +// was an issue sending the transaction. A successfully sent, but failed transaction will +// not return an error. If a transaction is successfully sent, the result of the execution +// of that transaction will be logged. A boolean indicating if a transaction was successfully +// sent and executed successfully is returned. +// +// feegranterKey - key name of the address set as the feegranter, empty string will not feegrant +func (cc *CosmosProvider) SendMsgsWith(ctx context.Context, msgs []sdk.Msg, memo string, gas uint64, signingKey string, feegranterKey string) (*coretypes.ResultBroadcastTx, error) { + sdkConfigMutex.Lock() + sdkConf := sdk.GetConfig() + sdkConf.SetBech32PrefixForAccount(cc.PCfg.AccountPrefix, cc.PCfg.AccountPrefix+"pub") + sdkConf.SetBech32PrefixForValidator(cc.PCfg.AccountPrefix+"valoper", cc.PCfg.AccountPrefix+"valoperpub") + sdkConf.SetBech32PrefixForConsensusNode(cc.PCfg.AccountPrefix+"valcons", cc.PCfg.AccountPrefix+"valconspub") + defer sdkConfigMutex.Unlock() + + rand.Seed(time.Now().UnixNano()) + feegrantKeyAcc, _ := cc.GetKeyAddressForKey(feegranterKey) + + txf, err := cc.PrepareFactory(cc.TxFactory(), signingKey) + if err != nil { + return nil, err + } + + adjusted := gas + + if gas == 0 { + // TODO: Make this work with new CalculateGas method + // TODO: This is related to GRPC client stuff? + // https://github.com/cosmos/cosmos-sdk/blob/5725659684fc93790a63981c653feee33ecf3225/client/tx/tx.go#L297 + _, adjusted, err = cc.CalculateGas(ctx, txf, signingKey, msgs...) + + if err != nil { + return nil, err + } + + adjusted = uint64(float64(adjusted) * cc.PCfg.GasAdjustment) + } + + //Cannot feegrant your own TX + if signingKey != feegranterKey && feegranterKey != "" { + //Must be set in Factory to affect gas calculation (sim tx) as well as real tx + txf = txf.WithFeeGranter(feegrantKeyAcc) + } + + if memo != "" { + txf = txf.WithMemo(memo) + } + + // Set the gas amount on the transaction factory + txf = txf.WithGas(adjusted) + + // Build the transaction builder + txb, err := txf.BuildUnsignedTx(msgs...) + if err != nil { + return nil, err + } + + // Attach the signature to the transaction + // c.LogFailedTx(nil, err, msgs) + // Force encoding in the chain specific address + for _, msg := range msgs { + cc.Cdc.Marshaler.MustMarshalJSON(msg) + } + + err = func() error { + //done := cc.SetSDKContext() + // ensure that we allways call done, even in case of an error or panic + //defer done() + + if err = tx.Sign(txf, signingKey, txb, false); err != nil { + return err + } + return nil + }() + + if err != nil { + return nil, err + } + + // Generate the transaction bytes + txBytes, err := cc.Cdc.TxConfig.TxEncoder()(txb.GetTx()) + if err != nil { + return nil, err + } + + res, err := cc.RPCClient.BroadcastTxAsync(ctx, txBytes) + if res != nil { + fmt.Printf("TX hash: %s\n", res.Hash) + } + if err != nil { + return nil, err + } + + // transaction was executed, log the success or failure using the tx response code + // NOTE: error is nil, logic should use the returned error to determine if the + // transaction was successfully executed. + if res.Code != 0 { + return res, fmt.Errorf("transaction failed with code: %d", res.Code) + } + + return res, nil +} + // sdkError will return the Cosmos SDK registered error for a given codespace/code combo if registered, otherwise nil. func (cc *CosmosProvider) sdkError(codespace string, code uint32) error { // ABCIError will return an error other than "unknown" if syncRes.Code is a registered error in syncRes.Codespace @@ -190,7 +358,7 @@ func (cc *CosmosProvider) broadcastTx( asyncCtx context.Context, // context for async wait for block inclusion after successful tx broadcast asyncTimeout time.Duration, // timeout for waiting for block inclusion - asyncCallback func(*provider.RelayerTxResponse, error), // callback for success/fail of the wait for block inclusion + asyncCallbacks []func(*provider.RelayerTxResponse, error), // callback for success/fail of the wait for block inclusion ) error { res, err := cc.RPCClient.BroadcastTxSync(ctx, tx) isErr := err != nil @@ -228,7 +396,7 @@ func (cc *CosmosProvider) broadcastTx( // TODO: maybe we need to check if the node has tx indexing enabled? // if not, we need to find a new way to block until inclusion in a block - go cc.waitForTx(asyncCtx, res.Hash, msgs, asyncTimeout, asyncCallback) + go cc.waitForTx(asyncCtx, res.Hash, msgs, asyncTimeout, asyncCallbacks) return nil } @@ -240,13 +408,16 @@ func (cc *CosmosProvider) waitForTx( txHash []byte, msgs []provider.RelayerMessage, // used for logging only waitTimeout time.Duration, - callback func(*provider.RelayerTxResponse, error), + callbacks []func(*provider.RelayerTxResponse, error), ) { res, err := cc.waitForBlockInclusion(ctx, txHash, waitTimeout) if err != nil { cc.log.Error("Failed to wait for block inclusion", zap.Error(err)) - if callback != nil { - callback(nil, err) + if len(callbacks) > 0 { + for _, cb := range callbacks { + //Call each callback in order since waitForTx is already invoked asyncronously + cb(nil, err) + } } return } @@ -270,15 +441,21 @@ func (cc *CosmosProvider) waitForTx( if err == nil { err = fmt.Errorf("transaction failed to execute") } - if callback != nil { - callback(nil, err) + if len(callbacks) > 0 { + for _, cb := range callbacks { + //Call each callback in order since waitForTx is already invoked asyncronously + cb(nil, err) + } } cc.LogFailedTx(rlyResp, nil, msgs) return } - if callback != nil { - callback(rlyResp, nil) + if len(callbacks) > 0 { + for _, cb := range callbacks { + //Call each callback in order since waitForTx is already invoked asyncronously + cb(rlyResp, nil) + } } cc.LogSuccessTx(res, msgs) } @@ -345,9 +522,76 @@ func parseEventsFromTxResponse(resp *sdk.TxResponse) []provider.RelayerEvent { return events } -func (cc *CosmosProvider) buildMessages(ctx context.Context, msgs []provider.RelayerMessage, memo string) ([]byte, uint64, sdk.Coins, error) { - // Query account details - txf, err := cc.PrepareFactory(cc.TxFactory()) +func (cc *CosmosProvider) buildSignerConfig(msgs []provider.RelayerMessage) ( + txSignerKey string, + feegranterKey string, + err error, +) { + //Guard against race conditions when choosing a signer/feegranter + cc.feegrantMu.Lock() + defer cc.feegrantMu.Unlock() + + //Some messages have feegranting disabled. If any message in the TX disables feegrants, then the TX will not be feegranted. + isFeegrantEligible := cc.PCfg.FeeGrants != nil + + for _, curr := range msgs { + if cMsg, ok := curr.(CosmosMessage); ok { + if cMsg.FeegrantDisabled { + isFeegrantEligible = false + } + } + } + + //By default, we should sign TXs with the provider's default key + txSignerKey = cc.PCfg.Key + + if isFeegrantEligible { + txSignerKey, feegranterKey = cc.GetTxFeeGrant() + signerAcc, addrErr := cc.GetKeyAddressForKey(txSignerKey) + if addrErr != nil { + err = addrErr + return + } + + signerAccAddr, encodeErr := cc.EncodeBech32AccAddr(signerAcc) + if encodeErr != nil { + err = encodeErr + return + } + + //Overwrite the 'Signer' field in any Msgs that provide an 'optionalSetSigner' callback + for _, curr := range msgs { + if cMsg, ok := curr.(CosmosMessage); ok { + if cMsg.SetSigner != nil { + cMsg.SetSigner(signerAccAddr) + } + } + } + } + + return +} + +func (cc *CosmosProvider) buildMessages( + ctx context.Context, + msgs []provider.RelayerMessage, + memo string, + gas uint64, + txSignerKey string, + feegranterKey string, + sequenceGuard *WalletState, +) ( + txBytes []byte, + sequence uint64, + fees sdk.Coins, + err error, +) { + done := cc.SetSDKContext() + defer done() + + cMsgs := CosmosMsgs(msgs...) + + txf, err := cc.PrepareFactory(cc.TxFactory(), txSignerKey) if err != nil { return nil, 0, sdk.Coins{}, err } @@ -356,73 +600,66 @@ func (cc *CosmosProvider) buildMessages(ctx context.Context, msgs []provider.Rel txf = txf.WithMemo(memo) } - sequence := txf.Sequence() - cc.updateNextAccountSequence(sequence) - if sequence < cc.nextAccountSeq { - sequence = cc.nextAccountSeq + sequence = txf.Sequence() + cc.updateNextAccountSequence(sequenceGuard, sequence) + if sequence < sequenceGuard.NextAccountSequence { + sequence = sequenceGuard.NextAccountSequence txf = txf.WithSequence(sequence) } - // TODO: Make this work with new CalculateGas method - // TODO: This is related to GRPC client stuff? - // https://github.com/cosmos/cosmos-sdk/blob/5725659684fc93790a63981c653feee33ecf3225/client/tx/tx.go#L297 - // If users pass gas adjustment, then calculate gas - _, adjusted, err := cc.CalculateGas(ctx, txf, CosmosMsgs(msgs...)...) - if err != nil { - return nil, 0, sdk.Coins{}, err - } + adjusted := gas - // Set the gas amount on the transaction factory - txf = txf.WithGas(adjusted) + if gas == 0 { + _, adjusted, err = cc.CalculateGas(ctx, txf, txSignerKey, cMsgs...) - var txb client.TxBuilder - // Build the transaction builder & retry on failures - if err := retry.Do(func() error { - txb, err = txf.BuildUnsignedTx(CosmosMsgs(msgs...)...) if err != nil { - return err + return nil, 0, sdk.Coins{}, err } - return nil - }, retry.Context(ctx), rtyAtt, rtyDel, rtyErr); err != nil { - return nil, 0, sdk.Coins{}, err } - done := cc.SetSDKContext() - - if err := retry.Do(func() error { - if err := tx.Sign(txf, cc.PCfg.Key, txb, false); err != nil { - return err + //Cannot feegrant your own TX + if txSignerKey != feegranterKey && feegranterKey != "" { + granterAddr, err := cc.GetKeyAddressForKey(feegranterKey) + if err != nil { + return nil, 0, sdk.Coins{}, err } - return nil - }, retry.Context(ctx), rtyAtt, rtyDel, rtyErr); err != nil { + + txf = txf.WithFeeGranter(granterAddr) + } + + // Set the gas amount on the transaction factory + txf = txf.WithGas(adjusted) + + // Build the transaction builder + txb, err := txf.BuildUnsignedTx(cMsgs...) + if err != nil { return nil, 0, sdk.Coins{}, err } - done() + if err = tx.Sign(txf, txSignerKey, txb, false); err != nil { + return nil, 0, sdk.Coins{}, err + } tx := txb.GetTx() - fees := tx.GetFee() + fees = tx.GetFee() - var txBytes []byte // Generate the transaction bytes - if err := retry.Do(func() error { - var err error - txBytes, err = cc.Cdc.TxConfig.TxEncoder()(tx) - if err != nil { - return err - } - return nil - }, retry.Context(ctx), rtyAtt, rtyDel, rtyErr); err != nil { + txBytes, err = cc.Cdc.TxConfig.TxEncoder()(tx) + if err != nil { return nil, 0, sdk.Coins{}, err } - return txBytes, sequence, fees, nil + return txBytes, txf.Sequence(), fees, nil } // handleAccountSequenceMismatchError will parse the error string, e.g.: // "account sequence mismatch, expected 10, got 9: incorrect account sequence" // and update the next account sequence with the expected value. -func (cc *CosmosProvider) handleAccountSequenceMismatchError(err error) { +func (cc *CosmosProvider) handleAccountSequenceMismatchError(sequenceGuard *WalletState, err error) { + if sequenceGuard == nil { + panic("sequence guard not configured") + } + sequences := numRegex.FindAllString(err.Error(), -1) if len(sequences) != 2 { return @@ -431,9 +668,24 @@ func (cc *CosmosProvider) handleAccountSequenceMismatchError(err error) { if err != nil { return } - cc.nextAccountSeq = nextSeq + sequenceGuard.NextAccountSequence = nextSeq } +// handleAccountSequenceMismatchError will parse the error string, e.g.: +// "account sequence mismatch, expected 10, got 9: incorrect account sequence" +// and update the next account sequence with the expected value. +// func (cc *CosmosProvider) handleAccountSequenceMismatchError(err error) { +// sequences := numRegex.FindAllString(err.Error(), -1) +// if len(sequences) != 2 { +// return +// } +// nextSeq, err := strconv.ParseUint(sequences[0], 10, 64) +// if err != nil { +// return +// } +// cc.nextAccountSeq = nextSeq +// } + // MsgCreateClient creates an sdk.Msg to update the client on src with consensus state from dst func (cc *CosmosProvider) MsgCreateClient( clientState ibcexported.ClientState, @@ -460,7 +712,9 @@ func (cc *CosmosProvider) MsgCreateClient( Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgUpdateClient(srcClientID string, dstHeader ibcexported.ClientMessage) (provider.RelayerMessage, error) { @@ -478,7 +732,9 @@ func (cc *CosmosProvider) MsgUpdateClient(srcClientID string, dstHeader ibcexpor ClientMessage: clientMsg, Signer: acc, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgUpgradeClient(srcClientId string, consRes *clienttypes.QueryConsensusStateResponse, clientRes *clienttypes.QueryClientStateResponse) (provider.RelayerMessage, error) { @@ -489,9 +745,14 @@ func (cc *CosmosProvider) MsgUpgradeClient(srcClientId string, consRes *clientty if acc, err = cc.Address(); err != nil { return nil, err } - return NewCosmosMessage(&clienttypes.MsgUpgradeClient{ClientId: srcClientId, ClientState: clientRes.ClientState, + + msgUpgradeClient := &clienttypes.MsgUpgradeClient{ClientId: srcClientId, ClientState: clientRes.ClientState, ConsensusState: consRes.ConsensusState, ProofUpgradeClient: consRes.GetProof(), - ProofUpgradeConsensusState: consRes.ConsensusState.Value, Signer: acc}), nil + ProofUpgradeConsensusState: consRes.ConsensusState.Value, Signer: acc} + + return NewCosmosMessage(msgUpgradeClient, func(signer string) { + msgUpgradeClient.Signer = signer + }), nil } // MsgTransfer creates a new transfer message @@ -518,7 +779,9 @@ func (cc *CosmosProvider) MsgTransfer( msg.TimeoutHeight = info.TimeoutHeight } - return NewCosmosMessage(msg), nil + msgTransfer := NewCosmosMessage(msg, nil).(CosmosMessage) + msgTransfer.FeegrantDisabled = true + return msgTransfer, nil } func (cc *CosmosProvider) ValidatePacket(msgTransfer provider.PacketInfo, latest provider.LatestBlock) error { @@ -584,7 +847,9 @@ func (cc *CosmosProvider) MsgRecvPacket( Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) PacketAcknowledgement( @@ -622,7 +887,9 @@ func (cc *CosmosProvider) MsgAcknowledgement( Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) PacketReceipt( @@ -675,7 +942,9 @@ func (cc *CosmosProvider) MsgTimeout(msgTransfer provider.PacketInfo, proof prov Signer: signer, } - return NewCosmosMessage(assembled), nil + return NewCosmosMessage(assembled, func(signer string) { + assembled.Signer = signer + }), nil } func (cc *CosmosProvider) MsgTimeoutOnClose(msgTransfer provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { @@ -691,7 +960,9 @@ func (cc *CosmosProvider) MsgTimeoutOnClose(msgTransfer provider.PacketInfo, pro Signer: signer, } - return NewCosmosMessage(assembled), nil + return NewCosmosMessage(assembled, func(signer string) { + assembled.Signer = signer + }), nil } func (cc *CosmosProvider) MsgConnectionOpenInit(info provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { @@ -711,7 +982,9 @@ func (cc *CosmosProvider) MsgConnectionOpenInit(info provider.ConnectionInfo, pr Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) ConnectionHandshakeProof( @@ -773,7 +1046,9 @@ func (cc *CosmosProvider) MsgConnectionOpenTry(msgOpenInit provider.ConnectionIn Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgConnectionOpenAck(msgOpenTry provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { @@ -803,7 +1078,9 @@ func (cc *CosmosProvider) MsgConnectionOpenAck(msgOpenTry provider.ConnectionInf Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) ConnectionProof( @@ -834,7 +1111,9 @@ func (cc *CosmosProvider) MsgConnectionOpenConfirm(msgOpenAck provider.Connectio Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgChannelOpenInit(info provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -857,7 +1136,9 @@ func (cc *CosmosProvider) MsgChannelOpenInit(info provider.ChannelInfo, proof pr Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) ChannelProof( @@ -904,7 +1185,9 @@ func (cc *CosmosProvider) MsgChannelOpenTry(msgOpenInit provider.ChannelInfo, pr Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgChannelOpenAck(msgOpenTry provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -922,7 +1205,9 @@ func (cc *CosmosProvider) MsgChannelOpenAck(msgOpenTry provider.ChannelInfo, pro Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgChannelOpenConfirm(msgOpenAck provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -938,7 +1223,9 @@ func (cc *CosmosProvider) MsgChannelOpenConfirm(msgOpenAck provider.ChannelInfo, Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgChannelCloseInit(info provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -952,7 +1239,9 @@ func (cc *CosmosProvider) MsgChannelCloseInit(info provider.ChannelInfo, proof p Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgChannelCloseConfirm(msgCloseInit provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -968,7 +1257,9 @@ func (cc *CosmosProvider) MsgChannelCloseConfirm(msgCloseInit provider.ChannelIn Signer: signer, } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *CosmosProvider) MsgUpdateClientHeader(latestHeader provider.IBCHeader, trustedHeight clienttypes.Height, trustedHeader provider.IBCHeader) (ibcexported.ClientMessage, error) { @@ -1036,7 +1327,9 @@ func (cc *CosmosProvider) MsgSubmitQueryResponse(chainID string, queryID provide FromAddress: signer, } - return NewCosmosMessage(msg), nil + submitQueryRespMsg := NewCosmosMessage(msg, nil).(CosmosMessage) + submitQueryRespMsg.FeegrantDisabled = true + return submitQueryRespMsg, nil } func (cc *CosmosProvider) MsgSubmitMisbehaviour(clientID string, misbehaviour ibcexported.ClientMessage) (provider.RelayerMessage, error) { @@ -1050,7 +1343,9 @@ func (cc *CosmosProvider) MsgSubmitMisbehaviour(clientID string, misbehaviour ib return nil, err } - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } // RelayPacketFromSequence relays a packet with a given seq on src and returns recvPacket msgs, timeoutPacketmsgs and error @@ -1308,11 +1603,11 @@ func (cc *CosmosProvider) UpdateFeesSpent(chain, key, address string, fees sdk.C // MsgRegisterCounterpartyPayee creates an sdk.Msg to broadcast the counterparty address func (cc *CosmosProvider) MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayee string) (provider.RelayerMessage, error) { msg := feetypes.NewMsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayee) - return NewCosmosMessage(msg), nil + return NewCosmosMessage(msg, nil), nil } // PrepareFactory mutates the tx factory with the appropriate account number, sequence number, and min gas settings. -func (cc *CosmosProvider) PrepareFactory(txf tx.Factory) (tx.Factory, error) { +func (cc *CosmosProvider) PrepareFactory(txf tx.Factory, signingKey string) (tx.Factory, error) { var ( err error from sdk.AccAddress @@ -1321,7 +1616,7 @@ func (cc *CosmosProvider) PrepareFactory(txf tx.Factory) (tx.Factory, error) { // Get key address and retry if fail if err = retry.Do(func() error { - from, err = cc.GetKeyAddress() + from, err = cc.GetKeyAddressForKey(signingKey) if err != nil { return err } @@ -1333,7 +1628,8 @@ func (cc *CosmosProvider) PrepareFactory(txf tx.Factory) (tx.Factory, error) { cliCtx := client.Context{}.WithClient(cc.RPCClient). WithInterfaceRegistry(cc.Cdc.InterfaceRegistry). WithChainID(cc.PCfg.ChainID). - WithCodec(cc.Cdc.Marshaler) + WithCodec(cc.Cdc.Marshaler). + WithFromAddress(from) // Set the account number and sequence on the transaction factory and retry if fail if err = retry.Do(func() error { @@ -1427,8 +1723,8 @@ func (cc *CosmosProvider) SetWithExtensionOptions(txf tx.Factory) (tx.Factory, e } // CalculateGas simulates a tx to generate the appropriate gas settings before broadcasting a tx. -func (cc *CosmosProvider) CalculateGas(ctx context.Context, txf tx.Factory, msgs ...sdk.Msg) (txtypes.SimulateResponse, uint64, error) { - keyInfo, err := cc.Keybase.Key(cc.PCfg.Key) +func (cc *CosmosProvider) CalculateGas(ctx context.Context, txf tx.Factory, signingKey string, msgs ...sdk.Msg) (txtypes.SimulateResponse, uint64, error) { + keyInfo, err := cc.Keybase.Key(signingKey) if err != nil { return txtypes.SimulateResponse{}, 0, err } diff --git a/relayer/chains/cosmos/tx_test.go b/relayer/chains/cosmos/tx_test.go index a582adc54..25bb02dd2 100644 --- a/relayer/chains/cosmos/tx_test.go +++ b/relayer/chains/cosmos/tx_test.go @@ -15,6 +15,18 @@ import ( "github.com/stretchr/testify/require" ) +type mockAccountSequenceMismatchError struct { + Expected uint64 + Actual uint64 +} + +// func TestHandleAccountSequenceMismatchError(t *testing.T) { +// p := &CosmosProvider{} +// ws := &WalletState{} +// p.handleAccountSequenceMismatchError(ws, mockAccountSequenceMismatchError{Actual: 9, Expected: 10}) +// require.Equal(t, ws.NextAccountSequence, uint64(10)) +// } + func TestCosmosProvider_AdjustEstimatedGas(t *testing.T) { testCases := []struct { name string @@ -75,21 +87,10 @@ func TestCosmosProvider_AdjustEstimatedGas(t *testing.T) { } } -type mockAccountSequenceMismatchError struct { - Expected uint64 - Actual uint64 -} - func (err mockAccountSequenceMismatchError) Error() string { return fmt.Sprintf("account sequence mismatch, expected %d, got %d: incorrect account sequence", err.Expected, err.Actual) } -func TestHandleAccountSequenceMismatchError(t *testing.T) { - p := &CosmosProvider{} - p.handleAccountSequenceMismatchError(mockAccountSequenceMismatchError{Actual: 9, Expected: 10}) - require.Equal(t, p.nextAccountSeq, uint64(10)) -} - type mockTxConfig struct { legacytx.StdTxConfig txBuilder *mockTxBuilder diff --git a/relayer/chains/penumbra/tx.go b/relayer/chains/penumbra/tx.go index 4ef4c8d30..dd90ac098 100644 --- a/relayer/chains/penumbra/tx.go +++ b/relayer/chains/penumbra/tx.go @@ -499,7 +499,9 @@ func (cc *PenumbraProvider) MsgUpdateClient(srcClientId string, dstHeader ibcexp Signer: acc, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) ConnectionOpenInit(srcClientId, dstClientId string, dstPrefix commitmenttypes.MerklePrefix, dstHeader ibcexported.ClientMessage) ([]provider.RelayerMessage, error) { @@ -532,7 +534,9 @@ func (cc *PenumbraProvider) ConnectionOpenInit(srcClientId, dstClientId string, Signer: acc, } - return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg)}, nil + return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + })}, nil } func (cc *PenumbraProvider) ConnectionOpenTry(ctx context.Context, dstQueryProvider provider.QueryProvider, dstHeader ibcexported.ClientMessage, dstPrefix commitmenttypes.MerklePrefix, srcClientId, dstClientId, srcConnId, dstConnId string) ([]provider.RelayerMessage, error) { @@ -597,7 +601,9 @@ func (cc *PenumbraProvider) ConnectionOpenTry(ctx context.Context, dstQueryProvi Signer: acc, } - return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg)}, nil + return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + })}, nil } func (cc *PenumbraProvider) ConnectionOpenAck(ctx context.Context, dstQueryProvider provider.QueryProvider, dstHeader ibcexported.ClientMessage, srcClientId, srcConnId, dstClientId, dstConnId string) ([]provider.RelayerMessage, error) { @@ -647,7 +653,9 @@ func (cc *PenumbraProvider) ConnectionOpenAck(ctx context.Context, dstQueryProvi Signer: acc, } - return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg)}, nil + return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + })}, nil } func (cc *PenumbraProvider) ConnectionOpenConfirm(ctx context.Context, dstQueryProvider provider.QueryProvider, dstHeader ibcexported.ClientMessage, dstConnId, srcClientId, srcConnId string) ([]provider.RelayerMessage, error) { @@ -680,7 +688,9 @@ func (cc *PenumbraProvider) ConnectionOpenConfirm(ctx context.Context, dstQueryP Signer: acc, } - return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg)}, nil + return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + })}, nil } func (cc *PenumbraProvider) ChannelOpenInit(srcClientId, srcConnId, srcPortId, srcVersion, dstPortId string, order chantypes.Order, dstHeader ibcexported.ClientMessage) ([]provider.RelayerMessage, error) { @@ -712,7 +722,9 @@ func (cc *PenumbraProvider) ChannelOpenInit(srcClientId, srcConnId, srcPortId, s Signer: acc, } - return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg)}, nil + return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + })}, nil } func (cc *PenumbraProvider) ChannelOpenTry(ctx context.Context, dstQueryProvider provider.QueryProvider, dstHeader ibcexported.ClientMessage, srcPortId, dstPortId, srcChanId, dstChanId, srcVersion, srcConnectionId, srcClientId string) ([]provider.RelayerMessage, error) { @@ -765,7 +777,9 @@ func (cc *PenumbraProvider) ChannelOpenTry(ctx context.Context, dstQueryProvider Signer: acc, } - return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg)}, nil + return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + })}, nil } func (cc *PenumbraProvider) ChannelOpenAck(ctx context.Context, dstQueryProvider provider.QueryProvider, dstHeader ibcexported.ClientMessage, srcClientId, srcPortId, srcChanId, dstChanId, dstPortId string) ([]provider.RelayerMessage, error) { @@ -802,7 +816,9 @@ func (cc *PenumbraProvider) ChannelOpenAck(ctx context.Context, dstQueryProvider Signer: acc, } - return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg)}, nil + return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + })}, nil } func (cc *PenumbraProvider) ChannelOpenConfirm(ctx context.Context, dstQueryProvider provider.QueryProvider, dstHeader ibcexported.ClientMessage, srcClientId, srcPortId, srcChanId, dstPortId, dstChanId string) ([]provider.RelayerMessage, error) { @@ -836,7 +852,9 @@ func (cc *PenumbraProvider) ChannelOpenConfirm(ctx context.Context, dstQueryProv Signer: acc, } - return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg)}, nil + return []provider.RelayerMessage{updateMsg, cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + })}, nil } func (cc *PenumbraProvider) ChannelCloseInit(srcPortId, srcChanId string) (provider.RelayerMessage, error) { @@ -854,7 +872,9 @@ func (cc *PenumbraProvider) ChannelCloseInit(srcPortId, srcChanId string) (provi Signer: acc, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) ChannelCloseConfirm(ctx context.Context, dstQueryProvider provider.QueryProvider, dsth int64, dstChanId, dstPortId, srcPortId, srcChanId string) (provider.RelayerMessage, error) { @@ -879,7 +899,9 @@ func (cc *PenumbraProvider) ChannelCloseConfirm(ctx context.Context, dstQueryPro Signer: acc, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgUpgradeClient(srcClientId string, consRes *clienttypes.QueryConsensusStateResponse, clientRes *clienttypes.QueryClientStateResponse) (provider.RelayerMessage, error) { @@ -890,9 +912,14 @@ func (cc *PenumbraProvider) MsgUpgradeClient(srcClientId string, consRes *client if acc, err = cc.Address(); err != nil { return nil, err } - return cosmos.NewCosmosMessage(&clienttypes.MsgUpgradeClient{ClientId: srcClientId, ClientState: clientRes.ClientState, + + msgUpgradeClient := &clienttypes.MsgUpgradeClient{ClientId: srcClientId, ClientState: clientRes.ClientState, ConsensusState: consRes.ConsensusState, ProofUpgradeClient: consRes.GetProof(), - ProofUpgradeConsensusState: consRes.ConsensusState.Value, Signer: acc}), nil + ProofUpgradeConsensusState: consRes.ConsensusState.Value, Signer: acc} + + return cosmos.NewCosmosMessage(msgUpgradeClient, func(signer string) { + msgUpgradeClient.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgSubmitMisbehaviour(clientID string, misbehaviour ibcexported.ClientMessage) (provider.RelayerMessage, error) { @@ -960,7 +987,9 @@ func (cc *PenumbraProvider) MsgRelayAcknowledgement(ctx context.Context, dst pro Signer: acc, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } } @@ -988,7 +1017,9 @@ func (cc *PenumbraProvider) MsgTransfer( msg.TimeoutHeight = info.TimeoutHeight } - return cosmos.NewCosmosMessage(msg), nil + msgTransfer := cosmos.NewCosmosMessage(msg, nil).(cosmos.CosmosMessage) + msgTransfer.FeegrantDisabled = true + return msgTransfer, nil } // MsgRelayTimeout constructs the MsgTimeout which is to be sent to the sending chain. @@ -1067,7 +1098,9 @@ func (cc *PenumbraProvider) orderedChannelTimeoutMsg( Signer: acc, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) unorderedChannelTimeoutMsg( @@ -1106,7 +1139,9 @@ func (cc *PenumbraProvider) unorderedChannelTimeoutMsg( NextSequenceRecv: packet.Seq(), Signer: acc, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } // MsgRelayRecvPacket constructs the MsgRecvPacket which is to be sent to the receiving chain. @@ -1145,7 +1180,9 @@ func (cc *PenumbraProvider) MsgRelayRecvPacket(ctx context.Context, dst provider Signer: acc, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } } @@ -1200,7 +1237,9 @@ func (cc *PenumbraProvider) MsgRecvPacket(msgTransfer provider.PacketInfo, proof Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) PacketAcknowledgement(ctx context.Context, msgRecvPacket provider.PacketInfo, height uint64) (provider.PacketProof, error) { @@ -1228,7 +1267,9 @@ func (cc *PenumbraProvider) MsgAcknowledgement(msgRecvPacket provider.PacketInfo Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) PacketReceipt(ctx context.Context, msgTransfer provider.PacketInfo, height uint64) (provider.PacketProof, error) { @@ -1257,7 +1298,9 @@ func (cc *PenumbraProvider) MsgTimeout(msgTransfer provider.PacketInfo, proof pr Signer: signer, } - return cosmos.NewCosmosMessage(assembled), nil + return cosmos.NewCosmosMessage(assembled, func(signer string) { + assembled.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgTimeoutOnClose(msgTransfer provider.PacketInfo, proof provider.PacketProof) (provider.RelayerMessage, error) { @@ -1273,7 +1316,9 @@ func (cc *PenumbraProvider) MsgTimeoutOnClose(msgTransfer provider.PacketInfo, p Signer: signer, } - return cosmos.NewCosmosMessage(assembled), nil + return cosmos.NewCosmosMessage(assembled, func(signer string) { + assembled.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgConnectionOpenInit(info provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { @@ -1293,7 +1338,9 @@ func (cc *PenumbraProvider) MsgConnectionOpenInit(info provider.ConnectionInfo, Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) ConnectionHandshakeProof(ctx context.Context, msgOpenInit provider.ConnectionInfo, height uint64) (provider.ConnectionProof, error) { @@ -1351,7 +1398,9 @@ func (cc *PenumbraProvider) MsgConnectionOpenTry(msgOpenInit provider.Connection Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgConnectionOpenAck(msgOpenTry provider.ConnectionInfo, proof provider.ConnectionProof) (provider.RelayerMessage, error) { @@ -1381,7 +1430,9 @@ func (cc *PenumbraProvider) MsgConnectionOpenAck(msgOpenTry provider.ConnectionI Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } // NextSeqRecv queries for the appropriate Tendermint proof required to prove the next expected packet sequence number @@ -1428,7 +1479,9 @@ func (cc *PenumbraProvider) MsgConnectionOpenConfirm(msgOpenAck provider.Connect Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgChannelOpenInit(info provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -1451,7 +1504,9 @@ func (cc *PenumbraProvider) MsgChannelOpenInit(info provider.ChannelInfo, proof Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) ChannelProof(ctx context.Context, msg provider.ChannelInfo, height uint64) (provider.ChannelProof, error) { @@ -1494,7 +1549,9 @@ func (cc *PenumbraProvider) MsgChannelOpenTry(msgOpenInit provider.ChannelInfo, Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgChannelOpenAck(msgOpenTry provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -1512,7 +1569,9 @@ func (cc *PenumbraProvider) MsgChannelOpenAck(msgOpenTry provider.ChannelInfo, p Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgChannelOpenConfirm(msgOpenAck provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -1528,7 +1587,9 @@ func (cc *PenumbraProvider) MsgChannelOpenConfirm(msgOpenAck provider.ChannelInf Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgChannelCloseInit(info provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -1542,7 +1603,9 @@ func (cc *PenumbraProvider) MsgChannelCloseInit(info provider.ChannelInfo, proof Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgChannelCloseConfirm(msgCloseInit provider.ChannelInfo, proof provider.ChannelProof) (provider.RelayerMessage, error) { @@ -1558,7 +1621,9 @@ func (cc *PenumbraProvider) MsgChannelCloseConfirm(msgCloseInit provider.Channel Signer: signer, } - return cosmos.NewCosmosMessage(msg), nil + return cosmos.NewCosmosMessage(msg, func(signer string) { + msg.Signer = signer + }), nil } func (cc *PenumbraProvider) MsgUpdateClientHeader(latestHeader provider.IBCHeader, trustedHeight clienttypes.Height, trustedHeader provider.IBCHeader) (ibcexported.ClientMessage, error) { @@ -2231,7 +2296,7 @@ func (cc *PenumbraProvider) MsgSubmitQueryResponse(chainID string, queryID provi panic("implement me") } -func (cc *PenumbraProvider) SendMessagesToMempool(ctx context.Context, msgs []provider.RelayerMessage, memo string, asyncCtx context.Context, asyncCallback func(*provider.RelayerTxResponse, error)) error { +func (cc *PenumbraProvider) SendMessagesToMempool(ctx context.Context, msgs []provider.RelayerMessage, memo string, asyncCtx context.Context, asyncCallback []func(*provider.RelayerTxResponse, error)) error { sendRsp, err := cc.sendMessagesInner(ctx, msgs, memo) cc.log.Debug("Received response from sending messages", zap.Any("response", sendRsp), zap.Error(err)) return err diff --git a/relayer/processor/message_processor.go b/relayer/processor/message_processor.go index b17978fc4..d5c8f9db4 100644 --- a/relayer/processor/message_processor.go +++ b/relayer/processor/message_processor.go @@ -380,6 +380,15 @@ func (mp *messageProcessor) sendClientUpdate( dst.log.Debug("Client update broadcast completed") } +type PathProcessorMessageResp struct { + Response *provider.RelayerTxResponse + DestinationChain provider.ChainProvider + SuccessfulTx bool + Error error +} + +var PathProcMessageCollector chan *PathProcessorMessageResp + // sendBatchMessages will send a batch of messages, // then increment metrics counters for successful packet messages. func (mp *messageProcessor) sendBatchMessages( @@ -413,7 +422,7 @@ func (mp *messageProcessor) sendBatchMessages( dst.log.Debug("Will relay messages", fields...) - callback := func(rtr *provider.RelayerTxResponse, err error) { + callback := func(_ *provider.RelayerTxResponse, err error) { // only increment metrics counts for successful packets if err != nil || mp.metrics == nil { return @@ -434,8 +443,23 @@ func (mp *messageProcessor) sendBatchMessages( mp.metrics.IncPacketsRelayed(dst.info.PathName, dst.info.ChainID, channel, port, t.msg.eventType) } } + callbacks := []func(rtr *provider.RelayerTxResponse, err error){callback} + + //During testing, this adds a callback so our test case can inspect the TX results + if PathProcMessageCollector != nil { + testCallback := func(rtr *provider.RelayerTxResponse, err error) { + msgResult := &PathProcessorMessageResp{ + DestinationChain: dst.chainProvider, + Response: rtr, + SuccessfulTx: err == nil, + Error: err, + } + PathProcMessageCollector <- msgResult + } + callbacks = append(callbacks, testCallback) + } - if err := dst.chainProvider.SendMessagesToMempool(broadcastCtx, msgs, mp.memo, ctx, callback); err != nil { + if err := dst.chainProvider.SendMessagesToMempool(broadcastCtx, msgs, mp.memo, ctx, callbacks); err != nil { errFields := []zapcore.Field{ zap.String("path_name", src.info.PathName), zap.String("src_chain_id", src.info.ChainID), @@ -487,9 +511,9 @@ func (mp *messageProcessor) sendSingleMessage( dst.log.Debug(fmt.Sprintf("Will broadcast %s message", msgType), zap.Object("msg", tracker)) // Set callback for packet messages so that we increment prometheus metrics on successful relays. - var callback func(rtr *provider.RelayerTxResponse, err error) + callbacks := []func(rtr *provider.RelayerTxResponse, err error){} if t, ok := tracker.(packetMessageToTrack); ok { - callback = func(rtr *provider.RelayerTxResponse, err error) { + callback := func(_ *provider.RelayerTxResponse, err error) { // only increment metrics counts for successful packets if err != nil || mp.metrics == nil { return @@ -504,9 +528,25 @@ func (mp *messageProcessor) sendSingleMessage( } mp.metrics.IncPacketsRelayed(dst.info.PathName, dst.info.ChainID, channel, port, t.msg.eventType) } + + callbacks = append(callbacks, callback) + } + + //During testing, this adds a callback so our test case can inspect the TX results + if PathProcMessageCollector != nil { + testCallback := func(rtr *provider.RelayerTxResponse, err error) { + msgResult := &PathProcessorMessageResp{ + DestinationChain: dst.chainProvider, + Response: rtr, + SuccessfulTx: err == nil, + Error: err, + } + PathProcMessageCollector <- msgResult + } + callbacks = append(callbacks, testCallback) } - err := dst.chainProvider.SendMessagesToMempool(broadcastCtx, msgs, mp.memo, ctx, callback) + err := dst.chainProvider.SendMessagesToMempool(broadcastCtx, msgs, mp.memo, ctx, callbacks) if err != nil { errFields := []zapcore.Field{ zap.String("path_name", src.info.PathName), diff --git a/relayer/provider/provider.go b/relayer/provider/provider.go index a740dd845..a1c150e0a 100644 --- a/relayer/provider/provider.go +++ b/relayer/provider/provider.go @@ -391,7 +391,7 @@ type ChainProvider interface { memo string, asyncCtx context.Context, - asyncCallback func(*RelayerTxResponse, error), + asyncCallbacks []func(*RelayerTxResponse, error), ) error MsgRegisterCounterpartyPayee(portID, channelID, relayerAddr, counterpartyPayeeAddr string) (RelayerMessage, error) diff --git a/relayer/strategies.go b/relayer/strategies.go index 047478938..fd2856aad 100644 --- a/relayer/strategies.go +++ b/relayer/strategies.go @@ -8,6 +8,8 @@ import ( "sync" "time" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/avast/retry-go/v4" "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "github.com/cosmos/relayer/v2/relayer/chains/cosmos" @@ -46,6 +48,8 @@ func StartRelayer( initialBlockHistory uint64, metrics *processor.PrometheusMetrics, ) chan error { + //prevent incorrect bech32 address prefixed addresses when calling AccAddress.String() + sdk.SetAddrCacheEnabled(false) errorChan := make(chan error, 1) switch processorType { From 5236f6f5635c639b02d8949d30882d2f9ab31b64 Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Thu, 27 Jul 2023 14:05:04 -0700 Subject: [PATCH 26/58] Export Client Trusting Period to Prometheus metrics (#1246) * export client trusting period * update docs --- docs/advanced_usage.md | 40 +++++++++----------------- relayer/processor/message_processor.go | 1 + relayer/processor/metrics.go | 12 +++++++- 3 files changed, 25 insertions(+), 28 deletions(-) diff --git a/docs/advanced_usage.md b/docs/advanced_usage.md index a0b518b07..1b6c37595 100644 --- a/docs/advanced_usage.md +++ b/docs/advanced_usage.md @@ -10,33 +10,19 @@ you can use `http://$IP:5183/relayer/metrics` as a target for your prometheus sc Exported metrics: -| **Exported Metric** | **Description** | **Type** | -|:----------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------:| -| cosmos_relayer_observed_packets | The total number of observed packets | Counter | -| cosmos_relayer_relayed_packets | The total number of relayed packets | Counter | -| cosmos_relayer_chain_latest_height | The current height of the chain | Gauge | -| cosmos_relayer_wallet_balance | The current balance for the relayer's wallet | Gauge | -| cosmos_relayer_fees_spent | The amount of fees spent from the relayer's wallet | Gauge | -| cosmos_relayer_tx_failure |
The total number of tx failures broken up into catagories .
Categories:
- "packet messages are redundant"
- "insufficient funds"
- "invalid coins"
- "out of gas"
- "incorrect account sequence"

"Tx Failure" is the the catch all bucket| Counter | -**Example metrics** - -``` -go_goroutines 29 -... -go_threads 39 -... -observed_packets{chain="cosmoshub-4",channel="channel-141",path="hubosmo",port="transfer",type="acknowledge_packet"} 57 -observed_packets{chain="cosmoshub-4",channel="channel-141",path="hubosmo",port="transfer",type="recv_packet"} 103 -observed_packets{chain="cosmoshub-4",channel="channel-141",path="hubosmo",port="transfer",type="send_packet"} 58 -observed_packets{chain="osmosis-1",channel="channel-0",path="hubosmo",port="transfer",type="acknowledge_packet"} 107 -observed_packets{chain="osmosis-1",channel="channel-0",path="hubosmo",port="transfer",type="recv_packet"} 60 -observed_packets{chain="osmosis-1",channel="channel-0",path="hubosmo",port="transfer",type="send_packet"} 102 -... -relayed_packets{chain="cosmoshub-4",channel="channel-141",path="hubosmo",port="transfer",type="acknowledge_packet"} 31 -relayed_packets{chain="cosmoshub-4",channel="channel-141",path="hubosmo",port="transfer",type="recv_packet"} 65 -relayed_packets{chain="osmosis-1",channel="channel-0",path="hubosmo",port="transfer",type="acknowledge_packet"} 36 -relayed_packets{chain="osmosis-1",channel="channel-0",path="hubosmo",port="transfer",type="recv_packet"} 35 -``` +| **Exported Metric** | **Description** | **Type** | +|:---------------------------------------------: |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |:--------: | +| cosmos_relayer_observed_packets | The total number of observed packets | Counter | +| cosmos_relayer_relayed_packets | The total number of relayed packets | Counter | +| cosmos_relayer_chain_latest_height | The current height of the chain | Gauge | +| cosmos_relayer_wallet_balance | The current balance for the relayer's wallet | Gauge | +| cosmos_relayer_fees_spent | The amount of fees spent from the relayer's wallet | Gauge | +| cosmos_relayer_tx_failure |
The total number of tx failures broken up into categories:
- "packet messages are redundant"
- "insufficient funds"
- "invalid coins"
- "out of gas"


"Tx Failure" is the the catch all bucket | Counter | +| cosmos_relayer_block_query_errors_total | The total number of block query failures. The failures are separated into two categories:
- "RPC Client"
- "IBC Header" | Counter | +| cosmos_relayer_client_expiration_seconds | Seconds until the client expires | Gauge | +| cosmos_relayer_client_trusting_period_seconds | The trusting period (in seconds) of the client | Gauge | + + --- diff --git a/relayer/processor/message_processor.go b/relayer/processor/message_processor.go index d5c8f9db4..9b9ed250e 100644 --- a/relayer/processor/message_processor.go +++ b/relayer/processor/message_processor.go @@ -148,6 +148,7 @@ func (mp *messageProcessor) shouldUpdateClientNow(ctx context.Context, src, dst if mp.metrics != nil { timeToExpiration := dst.clientState.TrustingPeriod - time.Since(consensusHeightTime) mp.metrics.SetClientExpiration(src.info.PathName, dst.info.ChainID, dst.clientState.ClientID, fmt.Sprint(dst.clientState.TrustingPeriod.String()), timeToExpiration) + mp.metrics.SetClientTrustingPeriod(src.info.PathName, dst.info.ChainID, dst.info.ClientID, time.Duration(dst.clientState.TrustingPeriod)) } if shouldUpdateClientNow { diff --git a/relayer/processor/metrics.go b/relayer/processor/metrics.go index 6e522cfc2..0b40e3d1a 100644 --- a/relayer/processor/metrics.go +++ b/relayer/processor/metrics.go @@ -17,6 +17,7 @@ type PrometheusMetrics struct { TxFailureError *prometheus.CounterVec BlockQueryFailure *prometheus.CounterVec ClientExpiration *prometheus.GaugeVec + ClientTrustingPeriod *prometheus.GaugeVec } func (m *PrometheusMetrics) AddPacketsObserved(path, chain, channel, port, eventType string, count int) { @@ -43,6 +44,10 @@ func (m *PrometheusMetrics) SetClientExpiration(pathName, chain, clientID, trust m.ClientExpiration.WithLabelValues(pathName, chain, clientID, trustingPeriod).Set(timeToExpiration.Seconds()) } +func (m *PrometheusMetrics) SetClientTrustingPeriod(pathName, chain, clientID string, trustingPeriod time.Duration) { + m.ClientTrustingPeriod.WithLabelValues(pathName, chain, clientID).Set(trustingPeriod.Abs().Seconds()) +} + func (m *PrometheusMetrics) IncBlockQueryFailure(chain, err string) { m.BlockQueryFailure.WithLabelValues(chain, err).Inc() } @@ -58,6 +63,7 @@ func NewPrometheusMetrics() *PrometheusMetrics { blockQueryFailureLabels := []string{"chain", "type"} walletLabels := []string{"chain", "gas_price", "key", "address", "denom"} clientExpirationLables := []string{"path_name", "chain", "client_id", "trusting_period"} + clientTrustingPeriodLables := []string{"path_name", "chain", "client_id"} registry := prometheus.NewRegistry() registerer := promauto.With(registry) return &PrometheusMetrics{ @@ -88,11 +94,15 @@ func NewPrometheusMetrics() *PrometheusMetrics { }, txFailureLabels), BlockQueryFailure: registerer.NewCounterVec(prometheus.CounterOpts{ Name: "cosmos_relayer_block_query_errors_total", - Help: "The total number of block query failures. The failures are separated into two catagories: 'RPC Client' and 'IBC Header'", + Help: "The total number of block query failures. The failures are separated into two categories: 'RPC Client' and 'IBC Header'", }, blockQueryFailureLabels), ClientExpiration: registerer.NewGaugeVec(prometheus.GaugeOpts{ Name: "cosmos_relayer_client_expiration_seconds", Help: "Seconds until the client expires", }, clientExpirationLables), + ClientTrustingPeriod: registerer.NewGaugeVec(prometheus.GaugeOpts{ + Name: "cosmos_relayer_client_trusting_period_seconds", + Help: "The trusting period (in seconds) of the client", + }, clientTrustingPeriodLables), } } From f054ac4658293d563bf29968af5b46331cea9712 Mon Sep 17 00:00:00 2001 From: mmsqe Date: Sat, 29 Jul 2023 10:50:10 +0800 Subject: [PATCH 27/58] separate feegrant test to avoid no space left on device (#1250) from scenarios test in ci --- .github/workflows/interchaintest.yml | 22 ++++++++++++++++++++++ Makefile | 3 +++ interchaintest/feegrant_test.go | 8 ++++---- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index 814b44289..cffb9647e 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -117,6 +117,28 @@ jobs: - name: interchaintest run: make interchaintest-fee-middleware + fee-grant: + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.20 + uses: actions/setup-go@v1 + with: + go-version: 1.20 + id: go + + - name: checkout relayer + uses: actions/checkout@v2 + + - uses: actions/cache@v1 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + + - name: interchaintest + run: make interchaintest-fee-grant + scenarios: runs-on: ubuntu-latest steps: diff --git a/Makefile b/Makefile index 66f67961d..20e9bbb2b 100644 --- a/Makefile +++ b/Makefile @@ -88,6 +88,9 @@ interchaintest-misbehaviour: interchaintest-fee-middleware: cd interchaintest && go test -race -v -run TestRelayerFeeMiddleware . +interchaintest-fee-grant: + cd interchaintest && go test -race -v -run TestRelayerFeeGrant . + interchaintest-scenario: ## Scenario tests are suitable for simple networks of 1 validator and no full nodes. They test specific functionality. cd interchaintest && go test -timeout 30m -race -v -run TestScenario ./... diff --git a/interchaintest/feegrant_test.go b/interchaintest/feegrant_test.go index 0d0dcd13a..d120c15b5 100644 --- a/interchaintest/feegrant_test.go +++ b/interchaintest/feegrant_test.go @@ -55,12 +55,12 @@ func genMnemonic(t *testing.T) string { return mn } -// TestScenarioFeegrantBasic Feegrant on a single chain -// Run this test with e.g. go test -timeout 300s -run ^TestScenarioFeegrantBasic$ github.com/cosmos/relayer/v2/ibctest. +// TestRelayerFeeGrant Feegrant on a single chain +// Run this test with e.g. go test -timeout 300s -run ^TestRelayerFeeGrant$ github.com/cosmos/relayer/v2/ibctest. // // Helpful to debug: -// docker ps -a --format {{.Names}} then e.g. docker logs gaia-1-val-0-TestScenarioFeegrantBasic 2>&1 -f -func TestScenarioFeegrantBasic(t *testing.T) { +// docker ps -a --format {{.Names}} then e.g. docker logs gaia-1-val-0-TestRelayerFeeGrant 2>&1 -f +func TestRelayerFeeGrant(t *testing.T) { ctx := context.Background() logger := zaptest.NewLogger(t) From 1301e1d991bdc19d5070ced484fb392e4954d75f Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Sat, 29 Jul 2023 07:13:12 -0700 Subject: [PATCH 28/58] Add extra client info when querying client expiration (#1247) * extra client info * cleanup print * remove extra comments * add alias * allow only one client * spelling * remainingTime --------- Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- cmd/query.go | 35 ++++++++++++------ relayer/query.go | 33 ++++++++++------- relayer/query_test.go | 83 ++++++++++++++++++++++++++++++++++++------- 3 files changed, 115 insertions(+), 36 deletions(-) diff --git a/cmd/query.go b/cmd/query.go index cd91bc2d7..15ccd743a 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -1070,9 +1070,10 @@ $ %s query unrelayed-acks demo-path channel-0`, func queryClientsExpiration(a *appState) *cobra.Command { cmd := &cobra.Command{ - Use: "clients-expiration path", - Short: "query for light clients expiration date", - Args: withUsage(cobra.ExactArgs(1)), + Use: "clients-expiration path", + Aliases: []string{"ce"}, + Short: "query for light clients expiration date", + Args: withUsage(cobra.ExactArgs(1)), Example: strings.TrimSpace(fmt.Sprintf(` $ %s query clients-expiration demo-path`, appName, @@ -1095,17 +1096,29 @@ $ %s query clients-expiration demo-path`, return err } - srcExpiration, err := relayer.QueryClientExpiration(cmd.Context(), c[src], c[dst]) - if err != nil { - return err + srcExpiration, srcClientInfo, errSrc := relayer.QueryClientExpiration(cmd.Context(), c[src], c[dst]) + if errSrc != nil && !strings.Contains(errSrc.Error(), "light client not found") { + return errSrc } - dstExpiration, err := relayer.QueryClientExpiration(cmd.Context(), c[dst], c[src]) - if err != nil { - return err + dstExpiration, dstClientInfo, errDst := relayer.QueryClientExpiration(cmd.Context(), c[dst], c[src]) + if errDst != nil && !strings.Contains(errDst.Error(), "light client not found") { + return errDst + } + + // if only the src light client is found, just print info for source light client + if errSrc == nil && errDst != nil { + fmt.Fprintln(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[src], srcExpiration, srcClientInfo)) + return nil + } + + // if only the dst light client is found, just print info for destination light client + if errDst == nil && errSrc != nil { + fmt.Fprintln(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[dst], dstExpiration, dstClientInfo)) + return nil } - fmt.Fprintf(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[src], srcExpiration)) - fmt.Fprintf(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[dst], dstExpiration)) + fmt.Fprintln(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[src], srcExpiration, srcClientInfo)) + fmt.Fprintln(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[dst], dstExpiration, dstClientInfo)) return nil }, diff --git a/relayer/query.go b/relayer/query.go index 24c40672a..08b2ec1b0 100644 --- a/relayer/query.go +++ b/relayer/query.go @@ -272,39 +272,48 @@ func QueryBalance(ctx context.Context, chain *Chain, address string, showDenoms return out, nil } -func QueryClientExpiration(ctx context.Context, src, dst *Chain) (time.Time, error) { +func QueryClientExpiration(ctx context.Context, src, dst *Chain) (time.Time, ClientStateInfo, error) { latestHeight, err := src.ChainProvider.QueryLatestHeight(ctx) if err != nil { - return time.Time{}, err + return time.Time{}, ClientStateInfo{}, err } clientStateRes, err := src.ChainProvider.QueryClientStateResponse(ctx, latestHeight, src.ClientID()) if err != nil { - return time.Time{}, err + return time.Time{}, ClientStateInfo{}, err } clientInfo, err := ClientInfoFromClientState(clientStateRes.ClientState) if err != nil { - return time.Time{}, err + return time.Time{}, ClientStateInfo{}, err } clientTime, err := dst.ChainProvider.BlockTime(ctx, int64(clientInfo.LatestHeight.GetRevisionHeight())) if err != nil { - return time.Time{}, err + return time.Time{}, ClientStateInfo{}, err } - return clientTime.Add(clientInfo.TrustingPeriod), nil + return clientTime.Add(clientInfo.TrustingPeriod), clientInfo, nil } -func SPrintClientExpiration(chain *Chain, expiration time.Time) string { +func SPrintClientExpiration(chain *Chain, expiration time.Time, clientInfo ClientStateInfo) string { now := time.Now() remainingTime := expiration.Sub(now) expirationFormatted := expiration.Format(time.RFC822) - if remainingTime < 0 { - return fmt.Sprintf("client %s (%s) is already expired (%s)\n", - chain.ClientID(), chain.ChainID(), expirationFormatted) + var status string + if remainingTime <= 0 { + status = "EXPIRED" + } else { + status = "GOOD" } - return fmt.Sprintf("client %s (%s) expires in %s (%s)\n", - chain.ClientID(), chain.ChainID(), remainingTime.Round(time.Second), expirationFormatted) + + return fmt.Sprintf(` + client: %s (%s) + HEALTH: %s + TIME: %s (%s) + LAST UPDATE HEIGHT: %d + TRUSTING PERIOD: %s + `, + chain.ClientID(), chain.ChainID(), status, expirationFormatted, remainingTime.Round(time.Second), clientInfo.LatestHeight.GetRevisionHeight(), clientInfo.TrustingPeriod.String()) } diff --git a/relayer/query_test.go b/relayer/query_test.go index fb67c60d1..39dc837b7 100644 --- a/relayer/query_test.go +++ b/relayer/query_test.go @@ -1,76 +1,124 @@ package relayer import ( - "github.com/cosmos/relayer/v2/relayer/chains/cosmos" "testing" "time" + "github.com/cosmos/relayer/v2/relayer/chains/cosmos" + + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/exported" "github.com/stretchr/testify/require" ) func TestSPrintClientExpiration_PrintChainId(t *testing.T) { previousTime := time.Now().Add(10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) chain := mockChain("expected-chain-id", "test-client-id") - expiration := SPrintClientExpiration(chain, previousTime) + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) require.Contains(t, expiration, "expected-chain-id") } func TestSPrintClientExpiration_PrintClientId(t *testing.T) { previousTime := time.Now().Add(10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) chain := mockChain("test-chain-id", "expected-client-id") - expiration := SPrintClientExpiration(chain, previousTime) + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) require.Contains(t, expiration, "expected-client-id") } -func TestSPrintClientExpiration_PrintIsAlreadyExpired_WhenTimeIsInPast(t *testing.T) { +func TestSPrintClientExpiration_PrintExpired_WhenTimeIsInPast(t *testing.T) { previousTime := time.Now().Add(-10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) chain := mockChain("test-chain-id", "test-client-id") - expiration := SPrintClientExpiration(chain, previousTime) + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) - require.Contains(t, expiration, "is already expired") + require.Contains(t, expiration, "EXPIRED") } func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInPast(t *testing.T) { pastTime := time.Now().Add(-10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) - chain := mockChain("test-chain-id", "test-client-id") - expiration := SPrintClientExpiration(chain, pastTime) + chain := mockChain("expected-chain-id", "test-client-id") + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, pastTime, *clientStateInfo) require.Contains(t, expiration, pastTime.Format(time.RFC822)) } -func TestSPrintClientExpiration_PrintExpiresIn_WhenTimeIsInFuture(t *testing.T) { +func TestSPrintClientExpiration_PrintGood_WhenTimeIsInFuture(t *testing.T) { previousTime := time.Now().Add(10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) chain := mockChain("test-chain-id", "test-client-id") - expiration := SPrintClientExpiration(chain, previousTime) + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) - require.Contains(t, expiration, "expires in") + require.Contains(t, expiration, "GOOD") } func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInFuture(t *testing.T) { futureTime := time.Now().Add(10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) chain := mockChain("test-chain-id", "test-client-id") - expiration := SPrintClientExpiration(chain, futureTime) + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, futureTime, *clientStateInfo) require.Contains(t, expiration, futureTime.Format(time.RFC822)) } func TestSPrintClientExpiration_PrintRemainingTime_WhenTimeIsInFuture(t *testing.T) { futureTime := time.Now().Add(10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) chain := mockChain("test-chain-id", "test-client-id") - expiration := SPrintClientExpiration(chain, futureTime) + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, futureTime, *clientStateInfo) require.Contains(t, expiration, "10h0m0s") } +func TestSPrintClientExpiration_TrustingPeriod(t *testing.T) { + previousTime := time.Now().Add(10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) + + chain := mockChain("expected-chain-id", "test-client-id") + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) + + require.Contains(t, expiration, "1h0m0s") +} + +func TestSPrintClientExpiration_LastUpdateHeight(t *testing.T) { + previousTime := time.Now().Add(10 * time.Hour) + mockHeight := clienttypes.NewHeight(1, 100) + trustingPeriod := time.Duration(1 * time.Hour) + + chain := mockChain("expected-chain-id", "test-client-id") + clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) + expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) + + require.Contains(t, expiration, "100") +} + func mockChain(chainId string, clientId string) *Chain { return &Chain{ Chainid: chainId, @@ -85,3 +133,12 @@ func mockChain(chainId string, clientId string) *Chain { }, } } + +func mockClientStateInfo(chainID string, trustingPeriod time.Duration, latestHeight ibcexported.Height) *ClientStateInfo { + mockHeight := clienttypes.NewHeight(1, 100) + return &ClientStateInfo{ + ChainID: chainID, + TrustingPeriod: time.Duration(1 * time.Hour), + LatestHeight: mockHeight, + } +} From ab1c4fc1dfe9d82a0bd8227596b7b4045831856a Mon Sep 17 00:00:00 2001 From: Andrew Gouin Date: Mon, 31 Jul 2023 16:12:06 -0500 Subject: [PATCH 29/58] next seq ack handling (#1244) * next seq ack handling and chan order * use max msgs for ack flush * improve logs * fix check * don't override unless not chantypes.NONE * fix: Suppressing scary SDK error on redundant packets (#1214) Co-authored-by: Andrew Gouin * tidy logic * improve logic and order detection * shorten flushFailureRetry * check empty string * tidy logs. better account sequence regex. don't split up ordered channel batches --------- Co-authored-by: Joe Abbey Co-authored-by: jtieri --- .gitignore | 2 + go.work.sum | 1238 ----------------- .../chains/cosmos/cosmos_chain_processor.go | 16 +- relayer/chains/cosmos/message_handlers.go | 10 +- .../chains/cosmos/message_handlers_test.go | 10 +- relayer/chains/cosmos/query.go | 23 + relayer/chains/cosmos/tx.go | 23 +- relayer/chains/mock/mock_chain_processor.go | 2 +- relayer/chains/penumbra/message_handlers.go | 8 +- .../penumbra/penumbra_chain_processor.go | 5 +- relayer/chains/penumbra/query.go | 23 + relayer/processor/message_processor.go | 9 +- relayer/processor/path_end_runtime.go | 2 +- relayer/processor/path_processor.go | 16 +- relayer/processor/path_processor_internal.go | 239 +++- relayer/processor/types.go | 24 +- relayer/provider/provider.go | 1 + 17 files changed, 293 insertions(+), 1358 deletions(-) delete mode 100644 go.work.sum diff --git a/.gitignore b/.gitignore index 835dd0cc9..1af13e52e 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ dist/ # Don't commit the vendor directory if anyone runs 'go mod vendor'. /vendor + +go.work.sum diff --git a/go.work.sum b/go.work.sum deleted file mode 100644 index 4232792ab..000000000 --- a/go.work.sum +++ /dev/null @@ -1,1238 +0,0 @@ -4d63.com/gochecknoglobals v0.1.0 h1:zeZSRqj5yCg28tCkIV/z/lWbwvNm5qnKVS15PI8nhD0= -4d63.com/gochecknoglobals v0.1.0/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= -bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512 h1:SRsZGA7aFnCZETmov57jwPrWuTmaZK6+4R4v5FUe1/c= -bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= -cloud.google.com/go v0.0.0-20170206221025-ce650573d812/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= -cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= -cloud.google.com/go/accessapproval v1.5.0 h1:/nTivgnV/n1CaAeo+ekGexTYUsKEU9jUVkoY5359+3Q= -cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= -cloud.google.com/go/accessapproval v1.6.0 h1:x0cEHro/JFPd7eS4BlEWNTMecIj2HdXjOVB5BtvwER0= -cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= -cloud.google.com/go/accesscontextmanager v1.7.0 h1:MG60JgnEoawHJrbWw0jGdv6HLNSf6gQvYRiXpuzqgEA= -cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= -cloud.google.com/go/aiplatform v1.37.0 h1:zTw+suCVchgZyO+k847wjzdVjWmrAuehxdvcZvJwfGg= -cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= -cloud.google.com/go/analytics v0.19.0 h1:LqAo3tAh2FU9+w/r7vc3hBjU23Kv7GhO/PDIW7kIYgM= -cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= -cloud.google.com/go/apigateway v1.5.0 h1:ZI9mVO7x3E9RK/BURm2p1aw9YTBSCQe3klmyP1WxWEg= -cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= -cloud.google.com/go/apigeeconnect v1.5.0 h1:sWOmgDyAsi1AZ48XRHcATC0tsi9SkPT7DA/+VCfkaeA= -cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= -cloud.google.com/go/apigeeregistry v0.6.0 h1:E43RdhhCxdlV+I161gUY2rI4eOaMzHTA5kNkvRsFXvc= -cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= -cloud.google.com/go/apikeys v0.6.0 h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ= -cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= -cloud.google.com/go/appengine v1.7.1 h1:aBGDKmRIaRRoWJ2tAoN0oVSHoWLhtO9aj/NvUyP4aYs= -cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= -cloud.google.com/go/area120 v0.7.1 h1:ugckkFh4XkHJMPhTIx0CyvdoBxmOpMe8rNs4Ok8GAag= -cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= -cloud.google.com/go/artifactregistry v1.13.0 h1:o1Q80vqEB6Qp8WLEH3b8FBLNUCrGQ4k5RFj0sn/sgO8= -cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= -cloud.google.com/go/asset v1.13.0 h1:YAsssO08BqZ6mncbb6FPlj9h6ACS7bJQUOlzciSfbNk= -cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= -cloud.google.com/go/assuredworkloads v1.10.0 h1:VLGnVFta+N4WM+ASHbhc14ZOItOabDLH1MSoDv+Xuag= -cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= -cloud.google.com/go/automl v1.12.0 h1:50VugllC+U4IGl3tDNcZaWvApHBTrn/TvyHDJ0wM+Uw= -cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= -cloud.google.com/go/baremetalsolution v0.5.0 h1:2AipdYXL0VxMboelTTw8c1UJ7gYu35LZYUbuRv9Q28s= -cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= -cloud.google.com/go/batch v0.7.0 h1:YbMt0E6BtqeD5FvSv1d56jbVsWEzlGm55lYte+M6Mzs= -cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= -cloud.google.com/go/beyondcorp v0.5.0 h1:UkY2BTZkEUAVrgqnSdOJ4p3y9ZRBPEe1LkjgC8Bj/Pc= -cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= -cloud.google.com/go/bigquery v1.50.0 h1:RscMV6LbnAmhAzD893Lv9nXXy2WCaJmbxYPWDLbGqNQ= -cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= -cloud.google.com/go/billing v1.13.0 h1:JYj28UYF5w6VBAh0gQYlgHJ/OD1oA+JgW29YZQU+UHM= -cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= -cloud.google.com/go/binaryauthorization v1.5.0 h1:d3pMDBCCNivxt5a4eaV7FwL7cSH0H7RrEnFrTb1QKWs= -cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= -cloud.google.com/go/certificatemanager v1.6.0 h1:5C5UWeSt8Jkgp7OWn2rCkLmYurar/vIWIoSQ2+LaTOc= -cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= -cloud.google.com/go/channel v1.12.0 h1:GpcQY5UJKeOekYgsX3QXbzzAc/kRGtBq43fTmyKe6Uw= -cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= -cloud.google.com/go/cloudbuild v1.9.0 h1:GHQCjV4WlPPVU/j3Rlpc8vNIDwThhd1U9qSY/NPZdko= -cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= -cloud.google.com/go/clouddms v1.5.0 h1:E7v4TpDGUyEm1C/4KIrpVSOCTm0P6vWdHT0I4mostRA= -cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= -cloud.google.com/go/cloudtasks v1.10.0 h1:uK5k6abf4yligFgYFnG0ni8msai/dSv6mDmiBulU0hU= -cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= -cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= -cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= -cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -cloud.google.com/go/contactcenterinsights v1.6.0 h1:jXIpfcH/VYSE1SYcPzO0n1VVb+sAamiLOgCw45JbOQk= -cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= -cloud.google.com/go/container v1.15.0 h1:NKlY/wCDapfVZlbVVaeuu2UZZED5Dy1z4Zx1KhEzm8c= -cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= -cloud.google.com/go/containeranalysis v0.9.0 h1:EQ4FFxNaEAg8PqQCO7bVQfWz9NVwZCUKaM1b3ycfx3U= -cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= -cloud.google.com/go/datacatalog v1.13.0 h1:4H5IJiyUE0X6ShQBqgFFZvGGcrwGVndTwUSLP4c52gw= -cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= -cloud.google.com/go/dataflow v0.8.0 h1:eYyD9o/8Nm6EttsKZaEGD84xC17bNgSKCu0ZxwqUbpg= -cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= -cloud.google.com/go/dataform v0.7.0 h1:Dyk+fufup1FR6cbHjFpMuP4SfPiF3LI3JtoIIALoq48= -cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= -cloud.google.com/go/datafusion v1.6.0 h1:sZjRnS3TWkGsu1LjYPFD/fHeMLZNXDK6PDHi2s2s/bk= -cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= -cloud.google.com/go/datalabeling v0.7.0 h1:ch4qA2yvddGRUrlfwrNJCr79qLqhS9QBwofPHfFlDIk= -cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= -cloud.google.com/go/dataplex v1.6.0 h1:RvoZ5T7gySwm1CHzAw7yY1QwwqaGswunmqEssPxU/AM= -cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= -cloud.google.com/go/dataproc v1.12.0 h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU= -cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= -cloud.google.com/go/dataqna v0.7.0 h1:yFzi/YU4YAdjyo7pXkBE2FeHbgz5OQQBVDdbErEHmVQ= -cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= -cloud.google.com/go/datastore v1.11.0 h1:iF6I/HaLs3Ado8uRKMvZRvF/ZLkWaWE9i8AiHzbC774= -cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= -cloud.google.com/go/datastream v1.7.0 h1:BBCBTnWMDwwEzQQmipUXxATa7Cm7CA/gKjKcR2w35T0= -cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= -cloud.google.com/go/deploy v1.8.0 h1:otshdKEbmsi1ELYeCKNYppwV0UH5xD05drSdBm7ouTk= -cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= -cloud.google.com/go/dialogflow v1.32.0 h1:uVlKKzp6G/VtSW0E7IH1Y5o0H48/UOCmqksG2riYCwQ= -cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= -cloud.google.com/go/dlp v1.9.0 h1:1JoJqezlgu6NWCroBxr4rOZnwNFILXr4cB9dMaSKO4A= -cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= -cloud.google.com/go/documentai v1.18.0 h1:KM3Xh0QQyyEdC8Gs2vhZfU+rt6OCPF0dwVwxKgLmWfI= -cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= -cloud.google.com/go/domains v0.8.0 h1:2ti/o9tlWL4N+wIuWUNH+LbfgpwxPr8J1sv9RHA4bYQ= -cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= -cloud.google.com/go/edgecontainer v1.0.0 h1:O0YVE5v+O0Q/ODXYsQHmHb+sYM8KNjGZw2pjX2Ws41c= -cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= -cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= -cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= -cloud.google.com/go/essentialcontacts v1.5.0 h1:gIzEhCoOT7bi+6QZqZIzX1Erj4SswMPIteNvYVlu+pM= -cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= -cloud.google.com/go/eventarc v1.11.0 h1:fsJmNeqvqtk74FsaVDU6cH79lyZNCYP8Rrv7EhaB/PU= -cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= -cloud.google.com/go/filestore v1.6.0 h1:ckTEXN5towyTMu4q0uQ1Mde/JwTHur0gXs8oaIZnKfw= -cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= -cloud.google.com/go/firestore v1.9.0 h1:IBlRyxgGySXu5VuW0RgGFlTtLukSnNkpDiEOMkQkmpA= -cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= -cloud.google.com/go/functions v1.13.0 h1:pPDqtsXG2g9HeOQLoquLbmvmb82Y4Ezdo1GXuotFoWg= -cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= -cloud.google.com/go/gaming v1.9.0 h1:7vEhFnZmd931Mo7sZ6pJy7uQPDxF7m7v8xtBheG08tc= -cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= -cloud.google.com/go/gkebackup v0.4.0 h1:za3QZvw6ujR0uyqkhomKKKNoXDyqYGPJies3voUK8DA= -cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= -cloud.google.com/go/gkeconnect v0.7.0 h1:gXYKciHS/Lgq0GJ5Kc9SzPA35NGc3yqu6SkjonpEr2Q= -cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= -cloud.google.com/go/gkehub v0.12.0 h1:TqCSPsEBQ6oZSJgEYZ3XT8x2gUadbvfwI32YB0kuHCs= -cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= -cloud.google.com/go/gkemulticloud v0.5.0 h1:8I84Q4vl02rJRsFiinBxl7WCozfdLlUVBQuSrqr9Wtk= -cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= -cloud.google.com/go/grafeas v0.2.0 h1:CYjC+xzdPvbV65gi6Dr4YowKcmLo045pm18L0DhdELM= -cloud.google.com/go/gsuiteaddons v1.5.0 h1:1mvhXqJzV0Vg5Fa95QwckljODJJfDFXV4pn+iL50zzA= -cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= -cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= -cloud.google.com/go/iap v1.7.1 h1:PxVHFuMxmSZyfntKXHXhd8bo82WJ+LcATenq7HLdVnU= -cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= -cloud.google.com/go/ids v1.3.0 h1:fodnCDtOXuMmS8LTC2y3h8t24U8F3eKWfhi+3LY6Qf0= -cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= -cloud.google.com/go/iot v1.6.0 h1:39W5BFSarRNZfVG0eXI5LYux+OVQT8GkgpHCnrZL2vM= -cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= -cloud.google.com/go/kms v1.10.1 h1:7hm1bRqGCA1GBRQUrp831TwJ9TWhP+tvLuP497CQS2g= -cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= -cloud.google.com/go/language v1.9.0 h1:7Ulo2mDk9huBoBi8zCE3ONOoBrL6UXfAI71CLQ9GEIM= -cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= -cloud.google.com/go/lifesciences v0.8.0 h1:uWrMjWTsGjLZpCTWEAzYvyXj+7fhiZST45u9AgasasI= -cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= -cloud.google.com/go/logging v1.7.0 h1:CJYxlNNNNAMkHp9em/YEXcfJg+rPDg7YfwoRpMU+t5I= -cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= -cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= -cloud.google.com/go/managedidentities v1.5.0 h1:ZRQ4k21/jAhrHBVKl/AY7SjgzeJwG1iZa+mJ82P+VNg= -cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= -cloud.google.com/go/maps v0.7.0 h1:mv9YaczD4oZBZkM5XJl6fXQ984IkJNHPwkc8MUsdkBo= -cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= -cloud.google.com/go/mediatranslation v0.7.0 h1:anPxH+/WWt8Yc3EdoEJhPMBRF7EhIdz426A+tuoA0OU= -cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= -cloud.google.com/go/memcache v1.9.0 h1:8/VEmWCpnETCrBwS3z4MhT+tIdKgR1Z4Tr2tvYH32rg= -cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= -cloud.google.com/go/metastore v1.10.0 h1:QCFhZVe2289KDBQ7WxaHV2rAmPrmRAdLC6gbjUd3HPo= -cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= -cloud.google.com/go/monitoring v1.13.0 h1:2qsrgXGVoRXpP7otZ14eE1I568zAa92sJSDPyOJvwjM= -cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= -cloud.google.com/go/networkconnectivity v1.11.0 h1:ZD6b4Pk1jEtp/cx9nx0ZYcL3BKqDa+KixNDZ6Bjs1B8= -cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= -cloud.google.com/go/networkmanagement v1.6.0 h1:8KWEUNGcpSX9WwZXq7FtciuNGPdPdPN/ruDm769yAEM= -cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= -cloud.google.com/go/networksecurity v0.8.0 h1:sOc42Ig1K2LiKlzG71GUVloeSJ0J3mffEBYmvu+P0eo= -cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= -cloud.google.com/go/notebooks v1.8.0 h1:Kg2K3K7CbSXYJHZ1aGQpf1xi5x2GUvQWf2sFVuiZh8M= -cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= -cloud.google.com/go/optimization v1.3.1 h1:dj8O4VOJRB4CUwZXdmwNViH1OtI0WtWL867/lnYH248= -cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= -cloud.google.com/go/orchestration v1.6.0 h1:Vw+CEXo8M/FZ1rb4EjcLv0gJqqw89b7+g+C/EmniTb8= -cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= -cloud.google.com/go/orgpolicy v1.10.0 h1:XDriMWug7sd0kYT1QKofRpRHzjad0bK8Q8uA9q+XrU4= -cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= -cloud.google.com/go/osconfig v1.11.0 h1:PkSQx4OHit5xz2bNyr11KGcaFccL5oqglFPdTboyqwQ= -cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= -cloud.google.com/go/oslogin v1.9.0 h1:whP7vhpmc+ufZa90eVpkfbgzJRK/Xomjz+XCD4aGwWw= -cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= -cloud.google.com/go/phishingprotection v0.7.0 h1:l6tDkT7qAEV49MNEJkEJTB6vOO/onbSOcNtAT09HPuA= -cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= -cloud.google.com/go/policytroubleshooter v1.6.0 h1:yKAGC4p9O61ttZUswaq9GAn1SZnEzTd0vUYXD7ZBT7Y= -cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= -cloud.google.com/go/privatecatalog v0.8.0 h1:EPEJ1DpEGXLDnmc7mnCAqFmkwUJbIsaLAiLHVOkkwtc= -cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= -cloud.google.com/go/pubsub v1.30.0 h1:vCge8m7aUKBJYOgrZp7EsNDf6QMd2CAlXZqWTn3yq6s= -cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= -cloud.google.com/go/pubsublite v1.7.0 h1:cb9fsrtpINtETHiJ3ECeaVzrfIVhcGjhhJEjybHXHao= -cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= -cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ= -cloud.google.com/go/recaptchaenterprise/v2 v2.7.0 h1:6iOCujSNJ0YS7oNymI64hXsjGq60T4FK1zdLugxbzvU= -cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= -cloud.google.com/go/recommendationengine v0.7.0 h1:VibRFCwWXrFebEWKHfZAt2kta6pS7Tlimsnms0fjv7k= -cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= -cloud.google.com/go/recommender v1.9.0 h1:ZnFRY5R6zOVk2IDS1Jbv5Bw+DExCI5rFumsTnMXiu/A= -cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= -cloud.google.com/go/redis v1.11.0 h1:JoAd3SkeDt3rLFAAxEvw6wV4t+8y4ZzfZcZmddqphQ8= -cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= -cloud.google.com/go/resourcemanager v1.7.0 h1:NRM0p+RJkaQF9Ee9JMnUV9BQ2QBIOq/v8M+Pbv/wmCs= -cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= -cloud.google.com/go/resourcesettings v1.5.0 h1:8Dua37kQt27CCWHm4h/Q1XqCF6ByD7Ouu49xg95qJzI= -cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= -cloud.google.com/go/retail v1.12.0 h1:1Dda2OpFNzIb4qWgFZjYlpP7sxX3aLeypKG6A3H4Yys= -cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= -cloud.google.com/go/run v0.9.0 h1:ydJQo+k+MShYnBfhaRHSZYeD/SQKZzZLAROyfpeD9zw= -cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= -cloud.google.com/go/scheduler v1.9.0 h1:NpQAHtx3sulByTLe2dMwWmah8PWgeoieFPpJpArwFV0= -cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= -cloud.google.com/go/secretmanager v1.10.0 h1:pu03bha7ukxF8otyPKTFdDz+rr9sE3YauS5PliDXK60= -cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= -cloud.google.com/go/security v1.13.0 h1:PYvDxopRQBfYAXKAuDpFCKBvDOWPWzp9k/H5nB3ud3o= -cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= -cloud.google.com/go/securitycenter v1.19.0 h1:AF3c2s3awNTMoBtMX3oCUoOMmGlYxGOeuXSYHNBkf14= -cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= -cloud.google.com/go/servicecontrol v1.11.1 h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE= -cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= -cloud.google.com/go/servicedirectory v1.9.0 h1:SJwk0XX2e26o25ObYUORXx6torSFiYgsGkWSkZgkoSU= -cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= -cloud.google.com/go/servicemanagement v1.8.0 h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY= -cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= -cloud.google.com/go/serviceusage v1.6.0 h1:rXyq+0+RSIm3HFypctp7WoXxIA563rn206CfMWdqXX4= -cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= -cloud.google.com/go/shell v1.6.0 h1:wT0Uw7ib7+AgZST9eCDygwTJn4+bHMDtZo5fh7kGWDU= -cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= -cloud.google.com/go/spanner v1.45.0 h1:7VdjZ8zj4sHbDw55atp5dfY6kn1j9sam9DRNpPQhqR4= -cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= -cloud.google.com/go/speech v1.15.0 h1:JEVoWGNnTF128kNty7T4aG4eqv2z86yiMJPT9Zjp+iw= -cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= -cloud.google.com/go/storagetransfer v1.8.0 h1:5T+PM+3ECU3EY2y9Brv0Sf3oka8pKmsCfpQ07+91G9o= -cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= -cloud.google.com/go/talent v1.5.0 h1:nI9sVZPjMKiO2q3Uu0KhTDVov3Xrlpt63fghP9XjyEM= -cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= -cloud.google.com/go/texttospeech v1.6.0 h1:H4g1ULStsbVtalbZGktyzXzw6jP26RjVGYx9RaYjBzc= -cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= -cloud.google.com/go/tpu v1.5.0 h1:/34T6CbSi+kTv5E19Q9zbU/ix8IviInZpzwz3rsFE+A= -cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= -cloud.google.com/go/trace v1.9.0 h1:olxC0QHC59zgJVALtgqfD9tGk0lfeCP5/AGXL3Px/no= -cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= -cloud.google.com/go/translate v1.7.0 h1:GvLP4oQ4uPdChBmBaUSa/SaZxCdyWELtlAaKzpHsXdA= -cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= -cloud.google.com/go/video v1.15.0 h1:upIbnGI0ZgACm58HPjAeBMleW3sl5cT84AbYQ8PWOgM= -cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= -cloud.google.com/go/videointelligence v1.10.0 h1:Uh5BdoET8XXqXX2uXIahGb+wTKbLkGH7s4GXR58RrG8= -cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= -cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= -cloud.google.com/go/vision/v2 v2.7.0 h1:8C8RXUJoflCI4yVdqhTy9tRyygSHmp60aP363z23HKg= -cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= -cloud.google.com/go/vmmigration v1.6.0 h1:Azs5WKtfOC8pxvkyrDvt7J0/4DYBch0cVbuFfCCFt5k= -cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= -cloud.google.com/go/vmwareengine v0.3.0 h1:b0NBu7S294l0gmtrT0nOJneMYgZapr5x9tVWvgDoVEM= -cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= -cloud.google.com/go/vpcaccess v1.6.0 h1:FOe6CuiQD3BhHJWt7E8QlbBcaIzVRddupwJlp7eqmn4= -cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= -cloud.google.com/go/webrisk v1.8.0 h1:IY+L2+UwxcVm2zayMAtBhZleecdIFLiC+QJMzgb0kT0= -cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= -cloud.google.com/go/websecurityscanner v1.5.0 h1:AHC1xmaNMOZtNqxI9Rmm87IJEyPaRkOxeI0gpAacXGk= -cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= -cloud.google.com/go/workflows v1.10.0 h1:FfGp9w0cYnaKZJhUOMqCOJCYT/WlvYBfTQhFWV3sRKI= -cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= -github.com/Abirdcfly/dupword v0.0.7 h1:z14n0yytA3wNO2gpCD/jVtp/acEXPGmYu0esewpBt6Q= -github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= -github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M= -github.com/Antonboom/errname v0.1.7 h1:mBBDKvEYwPl4WFFNwec1CZO096G6vzK9vvDQzAwkako= -github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= -github.com/Antonboom/nilnil v0.1.1 h1:PHhrh5ANKFWRBh7TdYmyyq2gyT2lotnvFvvFbylF81Q= -github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1 h1:qoVeMsc9/fh/yhxVaA0obYjVH/oI/ihrOoMwsLS9KSA= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3 h1:E+m3SkZCN0Bf5q7YdTs5lSm2CYY3CK4spn5OmUIiQtk= -github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 h1:Px2UA+2RvSSvv+RvJNuUB6n7rs5Wsel4dXLe90Um2n4= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= -github.com/CosmWasm/wasmd v0.40.0-rc.1 h1:prIM2vP1jNh0zgs9seua5BgKdayBgp3FiHtwxFcZSGs= -github.com/CosmWasm/wasmvm v1.2.3 h1:OKYlobwmVGbl0eSn0mXoAAjE5hIuXnQCLPjbNd91sVY= -github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= -github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= -github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= -github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= -github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= -github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= -github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= -github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= -github.com/OpenPeeDeeP/depguard v1.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA= -github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= -github.com/Shopify/sarama v1.19.0 h1:9oksLxC6uxVPHPVYUmq6xhr1BOF/hHobWH2UzO67z1s= -github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= -github.com/aead/siphash v1.0.1 h1:FwHfE/T45KPKYuuSAKyyvE+oPWcaQ+CUmFW0bPlM+kg= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alecthomas/kingpin/v2 v2.3.1 h1:ANLJcKmQm4nIaog7xdr/id6FM6zm5hHnfZrvtKPxqGg= -github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw= -github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= -github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw= -github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= -github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= -github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= -github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= -github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310 h1:BUAU3CGlLvorLI26FmByPp2eC2qla6E1Tw+scpcg/to= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a h1:pv34s756C4pEXnjgPfGYgdhg/ZdajGhyOvzx8k+23nw= -github.com/ashanbrown/forbidigo v1.3.0 h1:VkYIwb/xxdireGAdJNZoo24O4lmnEWkactplBlWTShc= -github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= -github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s= -github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= -github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= -github.com/aws/aws-lambda-go v1.13.3 h1:SuCy7H3NLyp+1Mrfp+m80jcbi9KYWAs9/BXwppwRDzY= -github.com/aws/aws-sdk-go-v2 v1.9.1 h1:ZbovGV/qo40nrOJ4q8G33AGICzaPI45FHQWJ9650pF4= -github.com/aws/aws-sdk-go-v2/config v1.1.1 h1:ZAoq32boMzcaTW9bcUacBswAmHTbvlvDJICgHFZuECo= -github.com/aws/aws-sdk-go-v2/credentials v1.1.1 h1:NbvWIM1Mx6sNPTxowHgS2ewXCRp+NGTzUYb/96FZJbY= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2 h1:EtEU7WRaWliitZh2nmuxEXrN0Cb8EgPUFGIoTMeqbzI= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1 h1:w/fPGB0t5rWwA43mux4e9ozFSH5zF1moQemlA131PWc= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2 h1:4AH9fFjUlVktQMznF+YN33aWNXaR4VgDXyP28qokJC0= -github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1 h1:cKr6St+CtC3/dl/rEBJvlk7A/IN5D5F02GNkGzfbtVU= -github.com/aws/aws-sdk-go-v2/service/sso v1.1.1 h1:37QubsarExl5ZuCBlnRP+7l1tNwZPBSTqpTBrPH98RU= -github.com/aws/aws-sdk-go-v2/service/sts v1.1.1 h1:TJoIfnIFubCX0ACVeJ0w46HEH5MwjwYN4iFhuYIhfIY= -github.com/aws/smithy-go v1.8.0 h1:AEwwwXQZtUwP5Mz506FeXXrKBe0jA8gVM+1gEcSRooc= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/bkielbasa/cyclop v1.2.0 h1:7Jmnh0yL2DjKfw28p86YTd/B4lRGcNuu12sKE35sM7A= -github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= -github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= -github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M= -github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= -github.com/bombsimon/wsl/v3 v3.3.0 h1:Mka/+kRLoQJq7g2rggtgQsjuI/K5Efd87WX96EWFxjM= -github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= -github.com/bradleyfalzon/ghinstallation/v2 v2.0.4 h1:tXKVfhE7FcSkhkv0UwkLvPDeZ4kz6OXd0PKPlFqf81M= -github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI= -github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= -github.com/breml/errchkjson v0.3.0 h1:YdDqhfqMT+I1vIxPSas44P+9Z9HzJwCeAzjB8PxP1xw= -github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= -github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= -github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd h1:R/opQEbFEy9JGkIguV40SvRY1uliPX8ifOvi6ICsFCw= -github.com/btcsuite/goleveldb v1.0.0 h1:Tvd0BfvqX9o823q1j2UZ/epQo09eJh6dTcRp79ilIN4= -github.com/btcsuite/snappy-go v1.0.0 h1:ZxaA6lo2EpxGddsA8JwWOcxlzRybb444sgmeJQMJGQE= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 h1:R8vQdOQdZ9Y3SkEwmHoWBmX1DNXhXZqlTpq6s4tyJGc= -github.com/btcsuite/winsvc v1.0.0 h1:J9B4L7e3oqhXOcm+2IuNApwzQec85lE+QaikUcCs+dk= -github.com/bufbuild/buf v1.7.0 h1:uWRjhIXcrWkzIkA5TqXGyJbF51VW54QJsQZ3nwaes5Q= -github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= -github.com/bufbuild/connect-go v1.0.0 h1:htSflKUT8y1jxhoPhPYTZMrsY3ipUXjjrbcZR5O2cVo= -github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= -github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= -github.com/butuzov/ireturn v0.1.1 h1:QvrO2QF2+/Cx1WA/vETCIYBKtRjc30vesdoPUNo1EbY= -github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/casbin/casbin/v2 v2.37.0 h1:/poEwPSovi4bTOcP752/CsTQiRz2xycyVKFG7GUhbDw= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charithe/durationcheck v0.0.9 h1:mPP4ucLrf/rKZiIG/a9IPXHGlh8p4CzgpyTy6EEutYk= -github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= -github.com/chavacava/garif v0.0.0-20220630083739-93517212f375 h1:E7LT642ysztPWE0dfz43cWOvMiF42DyTRC+eZIaO4yI= -github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= -github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8= -github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= -github.com/cheggaaa/pb v1.0.27 h1:wIkZHkNfC7R6GI5w7l/PdAdzXzlrbcI3p8OAlnkTsnc= -github.com/cilium/ebpf v0.7.0 h1:1k/q3ATgxSXRdrmPfH8d7YK0GfqVsEKZAX9dQZvs56k= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= -github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= -github.com/clbanning/mxj v1.8.4 h1:HuhwZtbyvyOw+3Z1AowPkU87JkJUSv751ELWaiTpj8I= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec h1:EdRZT3IeKQmfCSrgo8SZ8V3MEnskuJP0wCYNpe+aiXo= -github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= -github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= -github.com/cloudflare/cloudflare-go v0.14.0 h1:gFqGlGl/5f9UGXAaKapCGUfaTCgRKKnzu2VvzMZlOFA= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195 h1:58f1tJ1ra+zFINPlwLWvQsR9CzAKt2e+EWV2yX9oXQ4= -github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y= -github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8= -github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= -github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 h1:qbb/AE938DFhOajUYh9+OXELpSF9KZw2ZivtmW6eX1Q= -github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= -github.com/cometbft/cometbft v0.37.1/go.mod h1:Y2MMMN//O5K4YKd8ze4r9jmk4Y7h0ajqILXbH5JQFVs= -github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= -github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f h1:C43yEtQ6NIf4ftFXD/V55gnGFgPbMQobd//YlnLjUJ8= -github.com/containerd/aufs v1.0.0 h1:2oeJiwX5HstO7shSrPZjrohJZLzK36wvpdmzDRkL/LY= -github.com/containerd/btrfs v1.0.0 h1:osn1exbzdub9L5SouXO5swW4ea/xVdJZ3wokxN5GrnA= -github.com/containerd/cgroups v1.0.4 h1:jN/mbWBEaz+T1pi5OFtnkQ+8qnmEbAr1Oo1FRm5B0dA= -github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= -github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= -github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= -github.com/containerd/go-cni v1.1.6 h1:el5WPymG5nRRLQF1EfB97FWob4Tdc8INg8RZMaXWZlo= -github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= -github.com/containerd/imgcrypt v1.1.4 h1:iKTstFebwy3Ak5UF0RHSeuCTahC5OIrPJa6vjMAM81s= -github.com/containerd/nri v0.1.0 h1:6QioHRlThlKh2RkRTR4kIT3PKAcrLo3gIWnjkM4dQmQ= -github.com/containerd/ttrpc v1.1.0 h1:GbtyLRxb0gOLR0TYQWt3O6B0NvT8tMdorEHqIQo/lWI= -github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/zfs v1.0.0 h1:cXLJbx+4Jj7rNsTiqVfm6i+RNLx6FFA2fMmDlEf+Wm8= -github.com/containernetworking/cni v1.1.1 h1:ky20T7c0MvKvbMOwS/FrlbNwjEoqJEUUYfsL4b0mc4k= -github.com/containernetworking/plugins v1.1.1 h1:+AGfFigZ5TiQH00vhR8qPeSatj53eNGz0C1d3wVYlHE= -github.com/containers/ocicrypt v1.1.3 h1:uMxn2wTb4nDR7GqG3rnZSfpJXqWURfzZ7nKydzIeKpA= -github.com/coreos/etcd v3.3.10+incompatible h1:jFneRYjIvLMLhDLCzuTuU4rSJUjRplcJQ7pD7MnhC04= -github.com/coreos/go-etcd v2.0.0+incompatible h1:bXhRBIXoTm9BYHS3gE0TtQuyNZyeEMux2sDi4oo5YOo= -github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM= -github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf h1:CAKfRE2YtTUIjjh1bkBtyYFaUT/WmOqsJjgtihT0vMI= -github.com/cosmos/cosmos-db v0.0.0-20221226095112-f3c38ecb5e32 h1:zlCp9n3uwQieELltZWHRmwPmPaZ8+XoL2Sj+A2YJlr8= -github.com/cosmos/cosmos-sdk v0.47.2/go.mod h1:zYzgI8w8hhotXTSoGbbSOAKfpJTx4wOy4XgbaKhtRtc= -github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a h1:2humuGPw3O5riJVFq/E2FRjF57UrO97W1qJcGVmK+6k= -github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= -github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= -github.com/cosmos/gogoproto v1.4.8/go.mod h1:hnb0DIEWTv+wdNzNcqus5xCQXq5+CXauq1FJuurRfVY= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= -github.com/cosmos/ibc-go/v7 v7.0.0/go.mod h1:BFh8nKWjr5zeR2OZfhkzdgDzj1+KjRn3aJLpwapStj8= -github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= -github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= -github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= -github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= -github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= -github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= -github.com/daixiang0/gci v0.8.1 h1:T4xpSC+hmsi4CSyuYfIJdMZAr9o7xZmHpQVygMghGZ4= -github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= -github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= -github.com/decred/dcrd/lru v1.0.0 h1:Kbsb1SFDsIlaupWPwsPp+dkxiBY1frcS07PCPgotKz8= -github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU= -github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20Ha7UVm+mtU= -github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= -github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 h1:Izz0+t1Z5nI16/II7vuEo/nHjodOg0p7+OiDpjX5t1E= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c h1:+pKlWGMw7gf6bQ+oDZB4KHQFypsfjYlq/C4rfL7D3g8= -github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= -github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf h1:Yt+4K30SdjOkRoRRm3vYNQgR+/ZIy0RmeUDZo7Y8zeQ= -github.com/eapache/go-resiliency v1.1.0 h1:1NtRmCAqadE2FN4ZcN6g90TP3uk8cg9rn9eNK2197aU= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= -github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= -github.com/elastic/gosigar v0.14.2 h1:Dg80n8cr90OZ7x+bAax/QjoW/XqTI11RmA79ZwIm9/4= -github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= -github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= -github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/envoyproxy/go-control-plane v0.11.0 h1:jtLewhRR2vMRNnq2ZZUoCjUlgut+Y0+sDDWPOfwOi1o= -github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCwHLhwx1WguiVDV7pTG/tI= -github.com/envoyproxy/protoc-gen-validate v0.10.0 h1:oIfnZFdC0YhpNNEX+SuIqko4cqqVZeN9IGTrhZje83Y= -github.com/envoyproxy/protoc-gen-validate v0.10.0/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= -github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= -github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= -github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= -github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4= -github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/firefart/nonamedreturns v1.0.4 h1:abzI1p7mAEPYuR4A+VLKn4eNDOycjYo2phmY9sfv40Y= -github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= -github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c h1:CndMRAH4JIwxbW8KYq6Q+cGWcGHz0FjGR3QqcInWcW0= -github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c= -github.com/flynn/noise v1.0.0 h1:DlTHqmzmvcEiKj+4RYo/imoswx/4r6iBlCMfVtrMXpQ= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/francoispqt/gojay v1.2.13 h1:d2m3sFjloqoIUQU3TsHBgj6qg/BVGlTBeHDUmyJnXKk= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db h1:gb2Z18BhTPJPpLQWj4T+rfKHYCHxRHCtRxhKKjRidVw= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8 h1:a9ENSRDFBUPkJ5lCgVZh26+ZbGyoVJG7yb5SSzF5H54= -github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= -github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61 h1:IZqZOB2fydHte3kUgxrzK5E1fW7RQGeDwE8F/ZZnUYc= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= -github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= -github.com/gdamore/tcell/v2 v2.6.0 h1:OKbluoP9VYmJwZwq/iLb4BxwKcwGthaa1YNBJIyCySg= -github.com/getsentry/sentry-go v0.17.0 h1:UustVWnOoDFHBS7IJUB2QK/nB5pap748ZEp0swnQJak= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= -github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8= -github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= -github.com/go-critic/go-critic v0.6.5 h1:fDaR/5GWURljXwF8Eh31T2GZNz9X4jeboS912mWF8Uo= -github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= -github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= -github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= -github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= -github.com/go-git/go-git/v5 v5.5.2 h1:v8lgZa5k9ylUw+OR/roJHTxR4QItsNFI5nKtAXFuynw= -github.com/go-git/go-git/v5 v5.5.2/go.mod h1:BE5hUJ5yaV2YMxhmaP4l6RBQ08kMxKSPD4BlxtH7OjI= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= -github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= -github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= -github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU= -github.com/go-sql-driver/mysql v1.4.0 h1:7LxgVwFb2hIQtMm87NdgAVfXjnt4OePseqT1tKx+opk= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= -github.com/go-toolsmith/astcast v1.0.0 h1:JojxlmI6STnFVG9yOImLeGREv8W2ocNUM+iOhR6jE7g= -github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= -github.com/go-toolsmith/astcopy v1.0.2 h1:YnWf5Rnh1hUudj11kei53kI57quN/VH6Hp1n+erozn0= -github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= -github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= -github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= -github.com/go-toolsmith/astequal v1.0.3 h1:+LVdyRatFS+XO78SGV4I3TCEA0AC7fKEGma+fH+674o= -github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= -github.com/go-toolsmith/astfmt v1.0.0 h1:A0vDDXt+vsvLEdbMFJAUBI/uTbRw1ffOPnxsILnFL6k= -github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= -github.com/go-toolsmith/astp v1.0.0 h1:alXE75TXgcmupDsMK1fRAy0YUzLzqPVvBKoyWV+KPXg= -github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= -github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3NAwwmD4uY/yggRxoEjk/S00MIV3A+H7rrE3i87eYxM= -github.com/go-toolsmith/strparse v1.0.0 h1:Vcw78DnpCAKlM20kSbAyO4mPfJn/lyYA4BJUDxe2Jb4= -github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= -github.com/go-toolsmith/typep v1.0.2 h1:8xdsa1+FSIH/RhEkgnD1j2CJOy5mNllW1Q9tRiYwvlk= -github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b h1:khEcpUM4yFcxg4/FHQWkvVRmgijNXRfzkIDHh23ggEo= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= -github.com/go-zookeeper/zk v1.0.2 h1:4mx0EYENAdX/B/rbunjlt5+4RTA/a9SMHBRuSKdGxPM= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= -github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= -github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/golang-jwt/jwt/v4 v4.3.0 h1:kHL1vqdqWNfATmA0FNMdmZNMyZI1U6O31X4rlIPoBog= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 h1:23T5iq8rbUYlhpt5DB4XJkc6BU31uODLD1o1gKvZmD0= -github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= -github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM= -github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= -github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe h1:6RGUuS7EGotKx6J5HIP8ZtyMdiDscjMLfRBSPuzVVeo= -github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= -github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 h1:amWTbTGqOZ71ruzrdA+Nx5WA3tV1N0goTspwmKCQvBY= -github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= -github.com/golangci/golangci-lint v1.50.1 h1:C829clMcZXEORakZlwpk7M4iDw2XiwxxKaG504SZ9zY= -github.com/golangci/golangci-lint v1.50.1/go.mod h1:AQjHBopYS//oB8xs0y0M/dtxdKHkdhl0RvmjUct0/4w= -github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= -github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= -github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= -github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= -github.com/golangci/misspell v0.3.5 h1:pLzmVdl3VxTOncgzHcvLOKirdvcx/TydsClUQXTehjo= -github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= -github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 h1:DIPQnGy2Gv2FSA4B/hh8Q7xx3B7AIDk3DAMeHclH1vQ= -github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 h1:zwtduBRr5SSWhqsYNgcuWO2kFlpdOZbP0+yRjmvPGys= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= -github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM= -github.com/google/go-github/v41 v41.0.0 h1:HseJrM2JFf2vfiZJ8anY2hqBjdfY1Vlj/K27ueww4gg= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= -github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= -github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= -github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= -github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 h1:PVRE9d4AQKmbelZ7emNig1+NT27DUmKZn5qXxfio54U= -github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= -github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= -github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= -github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk= -github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= -github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= -github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= -github.com/gostaticanalysis/comment v1.4.2 h1:hlnx5+S2fY9Zo9ePo4AhgYsYHbM2+eAv8m/s1JiCd6Q= -github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= -github.com/gostaticanalysis/forcetypeassert v0.1.0 h1:6eUflI3DiGusXGK6X7cCcIgVCpZ2CiZ1Q7jl6ZxNV70= -github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= -github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk= -github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= -github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/graph-gophers/graphql-go v1.3.0 h1:Eb9x/q6MFpCLz7jBCiP/WTxjSDrYLR1QY41SORZyNJ0= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 h1:lLT7ZLSzGLI08vc9cpd+tYmNWjdKDqyr/2L+f6U12Fk= -github.com/hashicorp/consul/api v1.20.0 h1:9IHTjNVSZ7MIwjlW3N3a7iGiykCMDpxZu8jsxFJh0yc= -github.com/hashicorp/consul/api v1.20.0/go.mod h1:nR64eD44KQ59Of/ECwt2vUmIK2DKsDzAwTmwmLl8Wpo= -github.com/hashicorp/consul/sdk v0.3.0 h1:UOxjlb4xVNF93jak1mzzoBatyFju9nrkxpVwIp/QqxQ= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= -github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE= -github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= -github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-msgpack v0.5.3 h1:zKjpN5BK/P5lMYrLmBHdBULWbJ0XpYR+7NGzqkZzoD4= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-retryablehttp v0.5.3 h1:QlWt0KvWT0lq8MFppF9tsJGF+ynG7ztc2KIPhzRGk7s= -github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0 h1:GeH6tui99pF4NJgfnhp+L6+FfobzVW3Ah46sLo0ICXs= -github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= -github.com/hashicorp/mdns v1.0.0 h1:WhIgCr5a7AaVH6jPUwjtRuuE7/RDufnUvzIr48smyxs= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.1.3 h1:EmmoJme1matNzb+hMpDuR/0sbJSUisxyqBGG676r31M= -github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= -github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= -github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= -github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= -github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= -github.com/hudl/fargo v1.4.0 h1:ZDDILMbB37UlAVLlWcJ2Iz1XuahZZTDZfdCKeclfq2s= -github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= -github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639 h1:mV02weKRL81bEnm8A0HT1/CAelMQDBuQIfLw8n+d6xI= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/influxdb v1.8.3 h1:WEypI1BQFTT4teLM+1qkEcvUi0dAvopAI/ir0vAiBg8= -github.com/influxdata/influxdb-client-go/v2 v2.4.0 h1:HGBfZYStlx3Kqvsv1h2pJixbCl/jhnFtxpKFAv9Tu5k= -github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab h1:HqW4xhhynfjrtEiiSGcQUd6vrK23iMam1FO8rI7mwig= -github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 h1:vilfsDSy7TDxedi9gyBkMvAirat/oRcL0lFdJBf6tdM= -github.com/informalsystems/tm-load-test v1.3.0 h1:FGjKy7vBw6mXNakt+wmNWKggQZRsKkEYpaFk/zR64VA= -github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= -github.com/intel/goresctrl v0.2.0 h1:JyZjdMQu9Kl/wLXe9xA6s1X+tF6BWsQPFGJMEeCfWzE= -github.com/ipfs/go-datastore v0.5.1 h1:WkRhLuISI+XPD0uk3OskB0fYFSyqK8Ob5ZYew9Qa1nQ= -github.com/ipfs/go-ds-badger v0.3.0 h1:xREL3V0EH9S219kFFueOYJJTcjgNSZ2HY1iSvN7U1Ro= -github.com/ipfs/go-ds-leveldb v0.5.0 h1:s++MEBbD3ZKc9/8/njrn4flZLnCuY9I79v94gBUNumo= -github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= -github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= -github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= -github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a h1:d4+I1YEKVmWZrgkt6jpXBnLgV2ZjO0YxEtLDdfIZfH4= -github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e h1:UvSe12bq+Uj2hWd8aOlwPmoZ+CITRFrdit+sDGfAg8U= -github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA= -github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/jgautheron/goconst v1.5.1 h1:HxVbL1MhydKs8R8n/HE5NPvzfaYmQJA3o879lE4+WcM= -github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= -github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= -github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= -github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= -github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f h1:BNuUg9k2EiJmlMwjoef3e8vZLHplbVw6DrjGFjLL+Yo= -github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= -github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= -github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= -github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= -github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs= -github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= -github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9BjwUk7KlCh6S9EAGWBt1oExIUv9WyNCiRz5amv48= -github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= -github.com/jrick/logrotate v1.0.0 h1:lQ1bL/n9mBNeIXoTUoYRlK4dHuNJVofX9oWqBtPnSzI= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= -github.com/julz/importas v0.1.0 h1:F78HnrsjY3cR7j0etXy5+TU1Zuy7Xt08X/1aJnH5xXY= -github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/karalabe/usb v0.0.2 h1:M6QQBNxF+CQ8OFvxrT90BA0qBOXymndZnk5q235mFc4= -github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= -github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kisielk/errcheck v1.6.2 h1:uGQ9xI8/pgc9iOoCe7kWQgRE6SBTrCGmTSf0LrEtY7c= -github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= -github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= -github.com/kkHAIKE/contextcheck v1.1.3 h1:l4pNvrb8JSwRd51ojtcOxOeHJzHek+MtOyXbaR0uvmw= -github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23 h1:FOOIBWrEkLgmlgGfMuZT83xIwfPDxEI2OHu6xUmJMFE= -github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= -github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= -github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/koron/go-ssdp v0.0.3 h1:JivLMY45N76b4p/vsWGOKewBQu6uf39y8l+AQ7sDKx8= -github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs= -github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= -github.com/kunwardeep/paralleltest v1.0.6 h1:FCKYMF1OF2+RveWlABsdnmsvJrei5aoyZoaGS+Ugg8g= -github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= -github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kyoh86/exportloopref v0.1.8 h1:5Ry/at+eFdkX9Vsdw3qU4YkvGtzuVfzT4X7S77LoN/M= -github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= -github.com/ldez/gomoddirectives v0.2.3 h1:y7MBaisZVDYmKvt9/l1mjNCiSA1BVn34U0ObUcJwlhA= -github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= -github.com/ldez/tagliatelle v0.3.1 h1:3BqVVlReVUZwafJUwQ+oxbx2BEX2vUG4Yu/NOfMiKiM= -github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= -github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= -github.com/leonklingele/grouper v1.1.0 h1:tC2y/ygPbMFSBOs3DcyaEMKnnwH7eYKzohOtRrf0SAg= -github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= -github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFGkx3Q3WM= -github.com/libp2p/go-libp2p-asn-util v0.2.0 h1:rg3+Os8jbnO5DxkC7K/Utdi+DkY3q/d1/1q+8WeNAsw= -github.com/libp2p/go-libp2p-testing v0.11.0 h1:+R7FRl/U3Y00neyBSM2qgDzqz3HkWH24U9nMlascHL4= -github.com/libp2p/go-mplex v0.7.0 h1:BDhFZdlk5tbr0oyFq/xv/NPGfjbnrsDam1EvutpBDbY= -github.com/libp2p/go-msgio v0.2.0 h1:W6shmB+FeynDrUVl2dgFQvzfBZcXiyqY4VmpQLu9FqU= -github.com/libp2p/go-nat v0.1.0 h1:MfVsH6DLcpa04Xr+p8hmVRG4juse0s3J8HyNWYHffXg= -github.com/libp2p/go-netroute v0.2.0 h1:0FpsbsvuSnAhXFnCY0VLFbJOzaK0VnP0r1QT/o4nWRE= -github.com/libp2p/go-reuseport v0.2.0 h1:18PRvIMlpY6ZK85nIAicSBuXXvrYoSw3dsBAR7zc560= -github.com/libp2p/go-yamux/v3 v3.1.2 h1:lNEy28MBk1HavUAlzKgShp+F6mn/ea1nDYWftZhFW9Q= -github.com/libp2p/zeroconf/v2 v2.2.0 h1:Cup06Jv6u81HLhIj1KasuNM/RHHrJ8T7wOTS4+Tv53Q= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743 h1:143Bb8f8DuGWck/xpNUOckBVYfFbBTnLevfRZ1aVVqo= -github.com/lightstep/lightstep-tracer-go v0.18.1 h1:vi1F1IQ8N7hNWytK9DpJsUfQhGuNSc19z330K6vl4zk= -github.com/lucas-clemente/quic-go v0.28.1 h1:Uo0lvVxWg5la9gflIF9lwa39ONq85Xq2D91YNEIslzU= -github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= -github.com/lufeee/execinquery v1.2.1 h1:hf0Ems4SHcUGBxpGN7Jz78z1ppVkP/837ZlETPCEtOM= -github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= -github.com/lyft/protoc-gen-star/v2 v2.0.1 h1:keaAo8hRuAT0O3DfJ/wM3rufbAjGeJ1lAtWZHDjKGB0= -github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI= -github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= -github.com/maratori/testpackage v1.1.0 h1:GJY4wlzQhuBusMF1oahQCBtUV/AQ/k69IZ68vxaac2Q= -github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= -github.com/marten-seemann/qtls-go1-16 v0.1.5 h1:o9JrYPPco/Nukd/HpOHMHZoBDXQqoNtUCmny98/1uqQ= -github.com/marten-seemann/qtls-go1-17 v0.1.2 h1:JADBlm0LYiVbuSySCHeY863dNkcpMmDR7s0bLKJeYlQ= -github.com/marten-seemann/qtls-go1-18 v0.1.2 h1:JH6jmzbduz0ITVQ7ShevK10Av5+jBEKAHMntXmIV7kM= -github.com/marten-seemann/qtls-go1-19 v0.1.0 h1:rLFKD/9mp/uq1SYGYuVZhm83wkmU95pK5df3GufyYYU= -github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= -github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 h1:pWxk9e//NbPwfxat7RXkts09K+dEBJWakUWwICVqYbA= -github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= -github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= -github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/mbilski/exhaustivestruct v1.2.0 h1:wCBmUnSYufAHO6J4AVWY6ff+oxWxsVFrwgOdMUQePUo= -github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= -github.com/mgechev/revive v1.2.4 h1:+2Hd/S8oO2H0Ikq2+egtNwQsVhAeELHjxjIUFX5ajLI= -github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= -github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= -github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= -github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= -github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= -github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= -github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible h1:aKW/4cBs+yK6gpqU3K/oIwk9Q/XICqd3zOX/UFuvqmk= -github.com/mitchellh/cli v1.0.0 h1:iGBIsUe3+HZ/AD/Vd7DErOt5sU9fa8Uj7A2s1aggv1Y= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= -github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= -github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A= -github.com/moby/buildkit v0.10.4 h1:FvC+buO8isGpUFZ1abdSLdGHZVqg9sqI4BbFL8tlzP4= -github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= -github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= -github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8= -github.com/moby/sys/mountinfo v0.5.0 h1:2Ks8/r6lopsxWi9m58nlwjaeSzUX9iiL1vj5qB/9ObI= -github.com/moby/sys/signal v0.6.0 h1:aDpY94H8VlhTGa9sNYUFCFsMZIUh5wm0B6XkIoJj/iY= -github.com/moby/sys/symlink v0.2.0 h1:tk1rOM+Ljp0nFmfOIBtlV3rTDlWOwFRhjEeAhZB0nZc= -github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EHf4= -github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4= -github.com/multiformats/go-multiaddr-dns v0.3.1 h1:QgQgR+LQVt3NPTjbrLLpsaT2ufAA2y0Mkk+QRVJbW3A= -github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= -github.com/multiformats/go-multistream v0.3.3 h1:d5PZpjwRgVlbwfdTDjife7XszfZd8KYWfROYFlGcR8o= -github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76 h1:0xuRacu/Zr+jX+KyLLPPktbwXqyOvnOPUQmMLzX1jxU= -github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= -github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= -github.com/naoina/go-stringutil v0.1.0 h1:rCUeRUHjBjGTSHl0VC00jUPLz8/F9dDzYI70Hzifhks= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416 h1:shk/vn9oCoOTmwcouEdwIeOtOGA/ELRUw/GwvxwfT+0= -github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= -github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI= -github.com/nats-io/nats-server/v2 v2.5.0 h1:wsnVaaXH9VRSg+A2MVg5Q727/CqxnmPLGFQ3YZYKTQg= -github.com/nats-io/nats.go v1.12.1 h1:+0ndxwUPz3CmQ2vjbXdkC1fo3FdiOQDim4gl3Mge8Qo= -github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8= -github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= -github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= -github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/nishanths/exhaustive v0.8.3 h1:pw5O09vwg8ZaditDp/nQRqVnrMczSJDxRDJMowvhsrM= -github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= -github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk= -github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= -github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= -github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/onsi/ginkgo/v2 v2.1.3 h1:e/3Cwtogj0HA+25nMP1jCMDIf8RtRYbGwGGuBIFztkc= -github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= -github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= -github.com/opencontainers/selinux v1.10.1 h1:09LIPVRP3uuZGQvgR+SgMSNBd1Eb3vlRbGqQpoHsF8w= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU= -github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= -github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU= -github.com/openzipkin/zipkin-go v0.2.5 h1:UwtQQx2pyPIgWYHRg+epgdx1/HnBQTgN3/oIYEJTQzU= -github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= -github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= -github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= -github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= -github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/pact-foundation/pact-go v1.0.4 h1:OYkFijGHoZAYbOIb1LWXrwKQbMMRUv1oQ89blD2Mh2Q= -github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= -github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= -github.com/pelletier/go-toml/v2 v2.0.7/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= -github.com/performancecopilot/speed v3.0.0+incompatible h1:2WnRzIquHa5QxaJKShDkLM+sc0JPuwhXzK8OYOyt3Vg= -github.com/performancecopilot/speed/v4 v4.0.0 h1:VxEDCmdkfbQYDlcr/GC9YoN9PQ6p8ulk9xVsepYy9ZY= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7 h1:oYW+YCJ1pachXTQmzR3rNLYGGz4g/UgFcjb28p/viDM= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d h1:CdDQnGF8Nq9ocOS/xlSptM1N3BbrA6/kmaep5ggwaIA= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= -github.com/pierrec/lz4 v2.0.5+incompatible h1:2xWsjqPFWcplujydGg4WmhC/6fZqK42wMM8aXeqhl0I= -github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0= -github.com/pjbgf/sha1cd v0.2.3 h1:uKQP/7QOzNtKYH7UTohZLcjF5/55EnTw0jO/Ru4jZwI= -github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/profile v1.6.0 h1:hUDfIISABYI59DyeB3OTay/HxSRwTQ8rB/H83k6r5dM= -github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= -github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= -github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3 h1:hUmXhbljNFtrH5hzV9kiRoddZ5nfPTq3K0Sb2hYYiqE= -github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3/go.mod h1:q5NXNGzqj5uPnVuhGkZfmgHqNUhf15VLi6L9kW0VEc0= -github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4 h1:RHHRCZeaNyBXdYPMjZNH8/XHDBH38TZzw8izrW7dmBE= -github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4/go.mod h1:RdR1j20Aj5pB6+fw6Y9Ur7lMHpegTEjY1vc19hEZL40= -github.com/pointlander/peg v1.0.1 h1:mgA/GQE8TeS9MdkU6Xn6iEzBmQUQCNuWD7rHCK6Mjs0= -github.com/pointlander/peg v1.0.1/go.mod h1:5hsGDQR2oZI4QoWz0/Kdg3VSVEC31iJw/b7WjqCBGRI= -github.com/polyfloyd/go-errorlint v1.0.5 h1:AHB5JRCjlmelh9RrLxT9sgzpalIwwq4hqE8EkwIwKdY= -github.com/polyfloyd/go-errorlint v1.0.5/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= -github.com/posener/complete v1.1.1 h1:ccV59UEOTzVDnDUEFdT95ZzHVZ+5+158q8+SJb2QV5w= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= -github.com/quasilyte/go-ruleguard v0.3.18 h1:sd+abO1PEI9fkYennwzHn9kl3nqP6M5vE7FiOzZ+5CE= -github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= -github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/dsl v0.3.21/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= -github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f h1:6Gtn2i04RD0gVyYf2/IUMTIs+qYleBt4zxDqkLTcu4U= -github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 h1:L8QM9bvf68pVdQ3bCFZMDmnt9yqcMBro1pC7F+IPYMY= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= -github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= -github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= -github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk= -github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 h1:xe+mmCnDN82KhC010l3NfYlA8ZbOuzbXAzSYBa6wbMc= -github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE= -github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/xid v1.4.0 h1:qd7wPTDkN6KQx2VmMBLrpHkiyQwgFXRnkOLacUiaSNY= -github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= -github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= -github.com/ryancurrah/gomodguard v1.2.4 h1:CpMSDKan0LtNGGhPrvupAoLeObRFjND8/tU1rEOtBp4= -github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= -github.com/ryanrolds/sqlclosecheck v0.3.0 h1:AZx+Bixh8zdUBxUA1NxbxVAS78vTPq4rCb8OUZI9xFw= -github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f h1:UFr9zpz4xgTnIE5yIMtWAMngCdZ9p/+q6lTbgelo80M= -github.com/sagikazarmark/crypt v0.10.0 h1:96E1qrToLBU6fGzo+PRRz7KGOc9FkYFiPnR3/zf8Smg= -github.com/sagikazarmark/crypt v0.10.0/go.mod h1:gwTNHQVoOS3xp9Xvz5LLR+1AauC5M6880z5NWzdhOyQ= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCLY7gIfzeQaUJ+kppEO5WQG3cL8iE8tGHU= -github.com/sanposhiho/wastedassign/v2 v2.0.6 h1:+6/hQIHKNJAUixEj6EmOngGIisyeI+T3335lYTyxRoA= -github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= -github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= -github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= -github.com/sashamelentyev/usestdlibvars v1.20.0 h1:K6CXjqqtSYSsuyRDDC7Sjn6vTMLiSJa4ZmDkiokoqtw= -github.com/sashamelentyev/usestdlibvars v1.20.0/go.mod h1:0GaP+ecfZMXShS0A94CJn6aEuPRILv8h/VuWI9n1ygg= -github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= -github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= -github.com/securego/gosec/v2 v2.13.1 h1:7mU32qn2dyC81MH9L2kefnQyRMUarfDER3iQyMHcjYM= -github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= -github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= -github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= -github.com/sivchari/containedctx v1.0.2 h1:0hLQKpgC53OVF1VT7CeoFHk9YKstur1XOgfYIc1yrHI= -github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= -github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt95do8= -github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= -github.com/sivchari/tenv v1.7.0 h1:d4laZMBK6jpe5PWepxlV9S+LC0yXqvYHiq8E6ceoVVE= -github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= -github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= -github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= -github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa h1:YJfZp12Z3AFhSBeXOlv4BO55RMwPn2NoQeDsrdWnBtY= -github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= -github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E= -github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= -github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= -github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ= -github.com/sourcegraph/go-diff v0.6.1 h1:hmA1LzxW0n1c3Q4YbrFgg4P99GSnebYa3x8gr0HZqLQ= -github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= -github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= -github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0= -github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4 h1:Gb2Tyox57NRNuZ2d3rmvB3pcmbu7O1RS3m8WRx7ilrg= -github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm07ysF0U6JQXczc= -github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= -github.com/streadway/amqp v1.0.0 h1:kuuDrUJFZL1QYL9hUNuCxNObNzB0bV/ZG5jV3RWAQgo= -github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e h1:mOtuXaRAbVZsxAHVdPR3IjfmN8T1h2iczJLynhLybf8= -github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344 h1:m+8fKfQwCAy1QjzINvKe/pYtLjo2dl59x2w9YSEJxuY= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= -github.com/tchap/go-patricia v2.2.6+incompatible h1:JvoDL7JSoIP2HDE8AbDH3zC8QBPxmzYe32HHy5yQ+Ck= -github.com/tdakkota/asciicheck v0.1.1 h1:PKzG7JUTUmVspQTDqtkX9eSiLGossXTybutHwTXuO0A= -github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= -github.com/tendermint/tendermint v0.37.0-rc2 h1:2n1em+jfbhSv6QnBj8F6KHCpbIzZCB8KgcjidJUQNlY= -github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= -github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= -github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= -github.com/tetafro/godot v1.4.11 h1:BVoBIqAf/2QdbFmSwAWnaIqDivZdOV0ZRwEm6jivLKw= -github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= -github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 h1:kl4KhGNsJIbDHS9/4U9yQo1UcPQM0kOMJHn29EoH/Ro= -github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= -github.com/timonwong/loggercheck v0.9.3 h1:ecACo9fNiHxX4/Bc02rW2+kaJIAMAes7qJ7JKxt0EZI= -github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8 h1:ndzgwNDnKIqyCvHTXaCqh9KlOWKvBry6nuXMJmonVsE= -github.com/tomarrell/wrapcheck/v2 v2.7.0 h1:J/F8DbSKJC83bAvC6FoZaRjZiZ/iKoueSdrEkmGeacA= -github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= -github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw= -github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 h1:G3dpKMzFDjgEh2q1Z7zUUtKa8ViPtH+ocF0bE0g00O8= -github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= -github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= -github.com/ultraware/funlen v0.0.3 h1:5ylVWm8wsNwH5aWo9438pwvsK0QiqVuUrt9bn7S/iLA= -github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= -github.com/ultraware/whitespace v0.0.5 h1:hh+/cpIcopyMYbZNVov9iSxvJU3OYQg78Sfaqzi/CzI= -github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= -github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= -github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= -github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842Y= -github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= -github.com/vektra/mockery/v2 v2.14.0 h1:KZ1p5Hrn8tiY+LErRMr14HHle6khxo+JKOXLBW/yfqs= -github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= -github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5 h1:+UB2BJA852UkGH42H+Oee69djmxS3ANzl2b/JtT1YiA= -github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f h1:p4VB7kIXpOQvVn1ZaTIVp+3vuYAXFe3OJEvjbUYJLaA= -github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= -github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xhit/go-str2duration v1.2.0 h1:BcV5u025cITWxEQKGWr1URRzrcXtu7uk8+luz3Yuhwc= -github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= -github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= -github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM= -github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= -github.com/yeya24/promlinter v0.2.0 h1:xFKDQ82orCU5jQujdaD8stOHiv8UN68BSdn2a8u8Y3o= -github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= -github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= -github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= -gitlab.com/bosi/decorder v0.2.3 h1:gX4/RgK16ijY8V+BRQHAySfQAb354T7/xQpDB2n10P0= -gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0= -go.etcd.io/etcd/api/v3 v3.5.9 h1:4wSsluwyTbGGmyjJktOf3wFQoTBIURXHnq9n/G/JQHs= -go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= -go.etcd.io/etcd/client/pkg/v3 v3.5.9 h1:oidDC4+YEuSIQbsR94rY9gur91UPL6DnxDCIYd2IGsE= -go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= -go.etcd.io/etcd/client/v2 v2.305.7 h1:AELPkjNR3/igjbO7CjyF1fPuVPjrblliiKj+Y6xSGOU= -go.etcd.io/etcd/client/v2 v2.305.7/go.mod h1:GQGT5Z3TBuAQGvgPfhR7VPySu/SudxmEkRq9BgzFU6s= -go.etcd.io/etcd/client/v3 v3.5.9 h1:r5xghnU7CwbUxD/fbUtRyJGaYNfDun8sp/gTr1hew6E= -go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA= -go.etcd.io/gofail v0.1.0 h1:XItAMIhOojXFQMgrxjnd2EIIHun/d5qL0Pf7FzVTkFg= -go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1 h1:A/5uWzF44DlIgdm/PQFwfMkW0JX+cIcQi/SwLAmZP5M= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3 h1:syAz40OyelLZo42+3U68Phisvrx4qh+4wpdZw7eUUdY= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= -go.opentelemetry.io/otel v1.11.0 h1:kfToEGMDq6TrVrJ9Vht84Y8y9enykSZzDDZglV0kIEk= -go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0 h1:R/OBkMoGgfy2fLhs2QhkCI1w4HLEQX92GCcJB6SSdNk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0 h1:giGm8w67Ja7amYNfYMdme7xSp2pIxThWopw8+QP51Yk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0 h1:VQbUHoJqytHHSJ1OZodPH9tvZZSVzUHjPHpkO85sT6k= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0 h1:Ydage/P0fRrSPpZeCVxzjqGcI6iVmG2xb43+IR8cjqM= -go.opentelemetry.io/otel/sdk v1.3.0 h1:3278edCoH89MEJ0Ky8WQXVmDQv3FX4ZJ3Pp+9fJreAI= -go.opentelemetry.io/otel/trace v1.11.0 h1:20U/Vj42SX+mASlXLmSGBg6jpI1jQtv682lZtTAOVFI= -go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= -go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= -go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= -golang.org/x/exp v0.0.0-20230131160201-f062dba9d201/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= -golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91 h1:Ic/qN6TEifvObMGQy72k0n1LlJr7DjWWEi+MOsDOiSk= -golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b h1:+qEpEAPhDZ1o0x3tHzZTQDArnOixOzGD9HUJfcg0mb4= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= -golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= -golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= -golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220702020025-31831981b65f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= -golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190916130336-e45ffcd953cc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200622203043-20e05c1c8ffa/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201230224404-63754364767c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= -golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= -golang.org/x/tools v0.1.9-0.20211228192929-ee1ca4ffc4da/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= -golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= -golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= -gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= -google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= -google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= -google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= -google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= -google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= -google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= -google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= -google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= -google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0 h1:M1YKkFIboKNieVO5DLUEVzQfGwJD30Nv2jfUgzb5UcE= -google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.27 h1:kJdccidYzt3CaHD1crCFTS1hxyhSi059NhOFUf03YFo= -gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= -gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= -gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= -gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -honnef.co/go/tools v0.3.3 h1:oDx7VAwstgpYpb3wv0oxiZlxY+foCpRAwY7Vk6XpAgA= -honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= -k8s.io/api v0.22.5 h1:xk7C+rMjF/EGELiD560jdmwzrB788mfcHiNbMQLIVI8= -k8s.io/apimachinery v0.22.5 h1:cIPwldOYm1Slq9VLBRPtEYpyhjIm1C6aAMAoENuvN9s= -k8s.io/apiserver v0.22.5 h1:71krQxCUz218ecb+nPhfDsNB6QgP1/4EMvi1a2uYBlg= -k8s.io/client-go v0.22.5 h1:I8Zn/UqIdi2r02aZmhaJ1hqMxcpfJ3t5VqvHtctHYFo= -k8s.io/component-base v0.22.5 h1:U0eHqZm7mAFE42hFwYhY6ze/MmVaW00JpMrzVsQmzYE= -k8s.io/cri-api v0.23.1 h1:0DHL/hpTf4Fp+QkUXFefWcp1fhjXr9OlNdY9X99c+O8= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b h1:wxEMGetGMur3J1xuGLQY7GEQYg9bZxKn3tKo5k/eYcs= -mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= -mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= -mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed h1:WX1yoOaKQfddO/mLzdV4wptyWgoH/6hwLs7QHTixo0I= -mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= -mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b h1:DxJ5nJdkhDlLok9K6qO+5290kphDJbHOQO1DFFFTeBo= -mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= -mvdan.cc/unparam v0.0.0-20220706161116-678bad134442 h1:seuXWbRB1qPrS3NQnHmFKLJLtskWyueeIzmLXghMGgk= -mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= -rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= -rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2 h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3nu+sPzynno= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= diff --git a/relayer/chains/cosmos/cosmos_chain_processor.go b/relayer/chains/cosmos/cosmos_chain_processor.go index c582cc731..ad2d56c6c 100644 --- a/relayer/chains/cosmos/cosmos_chain_processor.go +++ b/relayer/chains/cosmos/cosmos_chain_processor.go @@ -71,6 +71,7 @@ func NewCosmosChainProcessor(log *zap.Logger, provider *CosmosProvider, metrics const ( queryTimeout = 5 * time.Second + queryStateTimeout = 60 * time.Second blockResultsQueryTimeout = 2 * time.Minute latestHeightQueryRetryDelay = 1 * time.Second latestHeightQueryRetries = 5 @@ -279,7 +280,7 @@ func (ccp *CosmosChainProcessor) Run(ctx context.Context, initialBlockHistory ui // initializeConnectionState will bootstrap the connectionStateCache with the open connection state. func (ccp *CosmosChainProcessor) initializeConnectionState(ctx context.Context) error { - ctx, cancel := context.WithTimeout(ctx, queryTimeout) + ctx, cancel := context.WithTimeout(ctx, queryStateTimeout) defer cancel() connections, err := ccp.chainProvider.QueryConnections(ctx) if err != nil { @@ -299,7 +300,7 @@ func (ccp *CosmosChainProcessor) initializeConnectionState(ctx context.Context) // initializeChannelState will bootstrap the channelStateCache with the open channel state. func (ccp *CosmosChainProcessor) initializeChannelState(ctx context.Context) error { - ctx, cancel := context.WithTimeout(ctx, queryTimeout) + ctx, cancel := context.WithTimeout(ctx, queryStateTimeout) defer cancel() channels, err := ccp.chainProvider.QueryChannels(ctx) if err != nil { @@ -315,12 +316,13 @@ func (ccp *CosmosChainProcessor) initializeChannelState(ctx context.Context) err continue } ccp.channelConnections[ch.ChannelId] = ch.ConnectionHops[0] - ccp.channelStateCache[processor.ChannelKey{ + k := processor.ChannelKey{ ChannelID: ch.ChannelId, PortID: ch.PortId, CounterpartyChannelID: ch.Counterparty.ChannelId, CounterpartyPortID: ch.Counterparty.PortId, - }] = ch.State == chantypes.OPEN + } + ccp.channelStateCache.SetOpen(k, ch.State == chantypes.OPEN, ch.Ordering) } return nil } @@ -402,11 +404,11 @@ func (ccp *CosmosChainProcessor) queryCycle(ctx context.Context, persistence *qu }) if err := eg.Wait(); err != nil { - ccp.log.Warn( - "Could not query block data. Consider checking if your RPC node is online, and that transaction indexing is enabled.", + ccp.log.Debug( + "Error querying block data", zap.Int64("height", i), + zap.Error(err), ) - ccp.log.Debug("Error querying block data", zap.Error(err)) persistence.retriesAtLatestQueriedBlock++ if persistence.retriesAtLatestQueriedBlock >= blockMaxRetries { diff --git a/relayer/chains/cosmos/message_handlers.go b/relayer/chains/cosmos/message_handlers.go index 1e6a811c0..029ddd652 100644 --- a/relayer/chains/cosmos/message_handlers.go +++ b/relayer/chains/cosmos/message_handlers.go @@ -40,7 +40,7 @@ func (ccp *CosmosChainProcessor) handlePacketMessage(eventType string, pi provid } if eventType == chantypes.EventTypeTimeoutPacket && pi.ChannelOrder == chantypes.ORDERED.String() { - ccp.channelStateCache[k] = false + ccp.channelStateCache.SetOpen(k, false, chantypes.ORDERED) } if !c.PacketFlow.ShouldRetainSequence(ccp.pathProcessors, k, ccp.chainProvider.ChainId(), eventType, pi.Sequence) { @@ -78,19 +78,19 @@ func (ccp *CosmosChainProcessor) handleChannelMessage(eventType string, ci provi } } if !found { - ccp.channelStateCache[channelKey] = false + ccp.channelStateCache.SetOpen(channelKey, false, ci.Order) } } else { switch eventType { case chantypes.EventTypeChannelOpenTry: - ccp.channelStateCache[channelKey] = false + ccp.channelStateCache.SetOpen(channelKey, false, ci.Order) case chantypes.EventTypeChannelOpenAck, chantypes.EventTypeChannelOpenConfirm: - ccp.channelStateCache[channelKey] = true + ccp.channelStateCache.SetOpen(channelKey, true, ci.Order) ccp.logChannelOpenMessage(eventType, ci) case chantypes.EventTypeChannelCloseConfirm: for k := range ccp.channelStateCache { if k.PortID == ci.PortID && k.ChannelID == ci.ChannelID { - ccp.channelStateCache[k] = false + ccp.channelStateCache.SetOpen(channelKey, false, ci.Order) break } } diff --git a/relayer/chains/cosmos/message_handlers_test.go b/relayer/chains/cosmos/message_handlers_test.go index 10ebc9771..8038b3e5e 100644 --- a/relayer/chains/cosmos/message_handlers_test.go +++ b/relayer/chains/cosmos/message_handlers_test.go @@ -128,7 +128,7 @@ func TestChannelStateCache(t *testing.T) { // The channel state is not open, but the entry should exist in the channelStateCache. // MsgInitKey returns the ChannelKey with an empty counterparty channel ID. - require.False(t, ccp.channelStateCache[k.MsgInitKey()]) + require.False(t, ccp.channelStateCache[k.MsgInitKey()].Open) // Observe MsgChannelOpenAck, which does have counterparty channel ID. ccp.handleChannelMessage(chantypes.EventTypeChannelOpenAck, msgOpenAck, c) @@ -139,7 +139,7 @@ func TestChannelStateCache(t *testing.T) { // The fully populated ChannelKey should now be the only entry for this channel. // The channel now open. - require.True(t, ccp.channelStateCache[k]) + require.True(t, ccp.channelStateCache[k].Open) }) t.Run("handshake already occurred", func(t *testing.T) { @@ -156,7 +156,7 @@ func TestChannelStateCache(t *testing.T) { // Initialize channelStateCache with populated channel ID and counterparty channel ID. // This emulates initializeChannelState after a recent channel handshake has completed - ccp.channelStateCache[k] = true + ccp.channelStateCache.SetOpen(k, true, chantypes.NONE) // Observe MsgChannelOpenInit, which does not have counterparty channel ID. ccp.handleChannelMessage(chantypes.EventTypeChannelOpenInit, msgOpenInit, c) @@ -166,7 +166,7 @@ func TestChannelStateCache(t *testing.T) { // The fully populated ChannelKey should still be the only entry for this channel. // The channel is still marked open since it was open during initializeChannelState. - require.True(t, ccp.channelStateCache[k]) + require.True(t, ccp.channelStateCache[k].Open) // Observe MsgChannelOpenAck, which does have counterparty channel ID. ccp.handleChannelMessage(chantypes.EventTypeChannelOpenAck, msgOpenAck, c) @@ -175,6 +175,6 @@ func TestChannelStateCache(t *testing.T) { require.Len(t, ccp.channelStateCache, 1) // The fully populated ChannelKey should still be the only entry for this channel. - require.True(t, ccp.channelStateCache[k]) + require.True(t, ccp.channelStateCache[k].Open) }) } diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index 766ad06dc..dfc040214 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -1096,6 +1096,29 @@ func (cc *CosmosProvider) QueryNextSeqRecv(ctx context.Context, height int64, ch }, nil } +// QueryNextSeqAck returns the next seqAck for a configured channel +func (cc *CosmosProvider) QueryNextSeqAck(ctx context.Context, height int64, channelid, portid string) (recvRes *chantypes.QueryNextSequenceReceiveResponse, err error) { + key := host.NextSequenceAckKey(portid, channelid) + + value, proofBz, proofHeight, err := cc.QueryTendermintProof(ctx, height, key) + if err != nil { + return nil, err + } + + // check if next sequence receive exists + if len(value) == 0 { + return nil, sdkerrors.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) + } + + sequence := binary.BigEndian.Uint64(value) + + return &chantypes.QueryNextSequenceReceiveResponse{ + NextSequenceReceive: sequence, + Proof: proofBz, + ProofHeight: proofHeight, + }, nil +} + // QueryPacketCommitment returns the packet commitment proof at a given height func (cc *CosmosProvider) QueryPacketCommitment(ctx context.Context, height int64, channelid, portid string, seq uint64) (comRes *chantypes.QueryPacketCommitmentResponse, err error) { key := host.PacketCommitmentKey(portid, channelid, seq) diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index 48eeb6a9d..a9da07179 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -55,7 +55,7 @@ var ( rtyAtt = retry.Attempts(rtyAttNum) rtyDel = retry.Delay(time.Millisecond * 400) rtyErr = retry.LastErrorOnly(true) - numRegex = regexp.MustCompile("[0-9]+") + accountSeqRegex = regexp.MustCompile("account sequence mismatch, expected ([0-9]+), got ([0-9]+)") defaultBroadcastWaitTimeout = 10 * time.Minute errUnknown = "unknown" ) @@ -660,32 +660,17 @@ func (cc *CosmosProvider) handleAccountSequenceMismatchError(sequenceGuard *Wall panic("sequence guard not configured") } - sequences := numRegex.FindAllString(err.Error(), -1) - if len(sequences) != 2 { + matches := accountSeqRegex.FindStringSubmatch(err.Error()) + if len(matches) == 0 { return } - nextSeq, err := strconv.ParseUint(sequences[0], 10, 64) + nextSeq, err := strconv.ParseUint(matches[1], 10, 64) if err != nil { return } sequenceGuard.NextAccountSequence = nextSeq } -// handleAccountSequenceMismatchError will parse the error string, e.g.: -// "account sequence mismatch, expected 10, got 9: incorrect account sequence" -// and update the next account sequence with the expected value. -// func (cc *CosmosProvider) handleAccountSequenceMismatchError(err error) { -// sequences := numRegex.FindAllString(err.Error(), -1) -// if len(sequences) != 2 { -// return -// } -// nextSeq, err := strconv.ParseUint(sequences[0], 10, 64) -// if err != nil { -// return -// } -// cc.nextAccountSeq = nextSeq -// } - // MsgCreateClient creates an sdk.Msg to update the client on src with consensus state from dst func (cc *CosmosProvider) MsgCreateClient( clientState ibcexported.ClientState, diff --git a/relayer/chains/mock/mock_chain_processor.go b/relayer/chains/mock/mock_chain_processor.go index 4faf1fe3c..85ec8e769 100644 --- a/relayer/chains/mock/mock_chain_processor.go +++ b/relayer/chains/mock/mock_chain_processor.go @@ -170,7 +170,7 @@ func (mcp *MockChainProcessor) queryCycle(ctx context.Context, persistence *quer // mocking all channels open for channelKey := range ibcMessagesCache.PacketFlow { - channelStateCache[channelKey] = true + channelStateCache.SetOpen(channelKey, true, chantypes.NONE) } // now pass foundMessages to the path processors diff --git a/relayer/chains/penumbra/message_handlers.go b/relayer/chains/penumbra/message_handlers.go index 69f3b3538..22b570eb6 100644 --- a/relayer/chains/penumbra/message_handlers.go +++ b/relayer/chains/penumbra/message_handlers.go @@ -63,18 +63,18 @@ func (pcp *PenumbraChainProcessor) handleChannelMessage(eventType string, ci pro } } if !found { - pcp.channelStateCache[channelKey] = false + pcp.channelStateCache.SetOpen(channelKey, false, ci.Order) } } else { switch eventType { case chantypes.EventTypeChannelOpenTry: - pcp.channelStateCache[channelKey] = false + pcp.channelStateCache.SetOpen(channelKey, false, ci.Order) case chantypes.EventTypeChannelOpenAck, chantypes.EventTypeChannelOpenConfirm: - pcp.channelStateCache[channelKey] = true + pcp.channelStateCache.SetOpen(channelKey, true, ci.Order) case chantypes.EventTypeChannelCloseConfirm: for k := range pcp.channelStateCache { if k.PortID == ci.PortID && k.ChannelID == ci.ChannelID { - pcp.channelStateCache[k] = false + pcp.channelStateCache.SetOpen(channelKey, false, ci.Order) break } } diff --git a/relayer/chains/penumbra/penumbra_chain_processor.go b/relayer/chains/penumbra/penumbra_chain_processor.go index b140b87f5..2f741d589 100644 --- a/relayer/chains/penumbra/penumbra_chain_processor.go +++ b/relayer/chains/penumbra/penumbra_chain_processor.go @@ -257,12 +257,13 @@ func (pcp *PenumbraChainProcessor) initializeChannelState(ctx context.Context) e continue } pcp.channelConnections[ch.ChannelId] = ch.ConnectionHops[0] - pcp.channelStateCache[processor.ChannelKey{ + k := processor.ChannelKey{ ChannelID: ch.ChannelId, PortID: ch.PortId, CounterpartyChannelID: ch.Counterparty.ChannelId, CounterpartyPortID: ch.Counterparty.PortId, - }] = ch.State == chantypes.OPEN + } + pcp.channelStateCache.SetOpen(k, ch.State == chantypes.OPEN, ch.Ordering) } return nil } diff --git a/relayer/chains/penumbra/query.go b/relayer/chains/penumbra/query.go index da651ef93..ce1f08ed6 100644 --- a/relayer/chains/penumbra/query.go +++ b/relayer/chains/penumbra/query.go @@ -702,6 +702,29 @@ func (cc *PenumbraProvider) QueryNextSeqRecv(ctx context.Context, height int64, }, nil } +// QueryNextSeqAck returns the next seqAck for a configured channel +func (cc *PenumbraProvider) QueryNextSeqAck(ctx context.Context, height int64, channelid, portid string) (recvRes *chantypes.QueryNextSequenceReceiveResponse, err error) { + key := host.NextSequenceAckKey(portid, channelid) + + value, proofBz, proofHeight, err := cc.QueryTendermintProof(ctx, height, key) + if err != nil { + return nil, err + } + + // check if next sequence receive exists + if len(value) == 0 { + return nil, sdkerrors.Wrapf(chantypes.ErrChannelNotFound, "portID (%s), channelID (%s)", portid, channelid) + } + + sequence := binary.BigEndian.Uint64(value) + + return &chantypes.QueryNextSequenceReceiveResponse{ + NextSequenceReceive: sequence, + Proof: proofBz, + ProofHeight: proofHeight, + }, nil +} + // QueryPacketCommitment returns the packet commitment proof at a given height func (cc *PenumbraProvider) QueryPacketCommitment(ctx context.Context, height int64, channelid, portid string, seq uint64) (comRes *chantypes.QueryPacketCommitmentResponse, err error) { key := host.PacketCommitmentKey(portid, channelid, seq) diff --git a/relayer/processor/message_processor.go b/relayer/processor/message_processor.go index 9b9ed250e..c73bab303 100644 --- a/relayer/processor/message_processor.go +++ b/relayer/processor/message_processor.go @@ -313,11 +313,18 @@ func (mp *messageProcessor) trackAndSendMessages( var batch []messageToTrack for _, t := range mp.trackers() { + retries := dst.trackProcessingMessage(t) if t.assembledMsg() == nil { continue } - if broadcastBatch && retries == 0 { + + ordered := false + if m, ok := t.(packetMessageToTrack); ok && m.msg.info.ChannelOrder == chantypes.ORDERED.String() { + ordered = true + } + + if broadcastBatch && (retries == 0 || ordered) { batch = append(batch, t) continue } diff --git a/relayer/processor/path_end_runtime.go b/relayer/processor/path_end_runtime.go index 031ea60bb..f1b732af7 100644 --- a/relayer/processor/path_end_runtime.go +++ b/relayer/processor/path_end_runtime.go @@ -442,7 +442,7 @@ func (pathEnd *pathEndRuntime) shouldSendPacketMessage(message packetIBCMessage, ) return false } - if !pathEnd.channelStateCache[k] { + if !pathEnd.channelStateCache[k].Open { // channel is not open, do not send pathEnd.log.Warn("Refusing to relay packet message because channel is not open", zap.String("event_type", eventType), diff --git a/relayer/processor/path_processor.go b/relayer/processor/path_processor.go index d41296a4f..5b0b2c76e 100644 --- a/relayer/processor/path_processor.go +++ b/relayer/processor/path_processor.go @@ -30,7 +30,7 @@ const ( interchainQueryTimeout = 60 * time.Second // Amount of time between flushes if the previous flush failed. - flushFailureRetry = 15 * time.Second + flushFailureRetry = 5 * time.Second // If message assembly fails from either proof query failure on the source // or assembling the message for the destination, how many blocks should pass @@ -186,12 +186,12 @@ func (pp *PathProcessor) OnConnectionMessage(chainID string, eventType string, o func (pp *PathProcessor) channelPairs() []channelPair { // Channel keys are from pathEnd1's perspective - channels := make(map[ChannelKey]bool) - for k, open := range pp.pathEnd1.channelStateCache { - channels[k] = open + channels := make(map[ChannelKey]ChannelState) + for k, cs := range pp.pathEnd1.channelStateCache { + channels[k] = cs } - for k, open := range pp.pathEnd2.channelStateCache { - channels[k.Counterparty()] = open + for k, cs := range pp.pathEnd2.channelStateCache { + channels[k.Counterparty()] = cs } pairs := make([]channelPair, len(channels)) i := 0 @@ -457,8 +457,8 @@ func (pp *PathProcessor) handleLocalhostData(cacheData ChainProcessorCacheData) } } - channelStateCache1 := make(map[ChannelKey]bool) - channelStateCache2 := make(map[ChannelKey]bool) + channelStateCache1 := make(map[ChannelKey]ChannelState) + channelStateCache2 := make(map[ChannelKey]ChannelState) // split up data and send lower channel-id data to pathEnd2 and higher channel-id data to pathEnd1. for k, v := range cacheData.ChannelStateCache { diff --git a/relayer/processor/path_processor_internal.go b/relayer/processor/path_processor_internal.go index 7a1aa2037..58bbcc4a5 100644 --- a/relayer/processor/path_processor_internal.go +++ b/relayer/processor/path_processor_internal.go @@ -19,9 +19,8 @@ import ( // i.e. a MsgConnectionOpenInit or a MsgChannelOpenInit should be broadcasted to start // the handshake if this key exists in the relevant cache. const ( - preInitKey = "pre_init" - preCloseKey = "pre_close" - maxPacketsPerFlush = 10 + preInitKey = "pre_init" + preCloseKey = "pre_close" ) // getMessagesToSend returns only the lowest sequence message (if it should be sent) for ordered channels, @@ -35,21 +34,27 @@ func (pp *PathProcessor) getMessagesToSend( return } - if msgs[0].info.ChannelOrder == chantypes.ORDERED.String() { + ordered := false + + // channelStateCache most likely has the ordering information. + if cs, ok := src.channelStateCache[packetInfoChannelKey(msgs[0].info)]; ok && cs.Order == chantypes.ORDERED { + ordered = true + } + + // if packet info has the order defined, use that. + if msgs[0].info.ChannelOrder != "" && msgs[0].info.ChannelOrder != chantypes.NONE.String() { + ordered = msgs[0].info.ChannelOrder == chantypes.ORDERED.String() + } + + if ordered { eventMessages := make(map[string][]packetIBCMessage) + lowestSeq := make(map[string]uint64) for _, m := range msgs { eventMessages[m.eventType] = append(eventMessages[m.eventType], m) - } - - for e, m := range eventMessages { - m := m - sort.SliceStable(m, func(i, j int) bool { - return m[i].info.Sequence < m[j].info.Sequence - }) - - if e == chantypes.EventTypeRecvPacket { - dstChan, dstPort := m[0].info.DestChannel, m[0].info.DestPort + switch m.eventType { + case chantypes.EventTypeRecvPacket: + dstChan, dstPort := m.info.DestChannel, m.info.DestPort res, err := dst.chainProvider.QueryNextSeqRecv(ctx, 0, dstChan, dstPort) if err != nil { dst.log.Error("Failed to query next sequence recv", @@ -59,38 +64,104 @@ func (pp *PathProcessor) getMessagesToSend( ) return } - - if m[0].info.Sequence != res.NextSequenceReceive { - dst.log.Error("Unexpected next sequence recv", - zap.String("channel_id", m[0].info.DestChannel), - zap.String("port_id", m[0].info.DestChannel), - zap.Uint64("expected", res.NextSequenceReceive), - zap.Uint64("actual", m[0].info.Sequence), + lowestSeq[chantypes.EventTypeRecvPacket] = res.NextSequenceReceive + case chantypes.EventTypeAcknowledgePacket: + srcChan, srcPort := m.info.SourceChannel, m.info.SourcePort + res, err := src.chainProvider.QueryNextSeqAck(ctx, 0, srcChan, srcPort) + if err != nil { + src.log.Error("Failed to query next sequence ack", + zap.String("channel_id", srcChan), + zap.String("port_id", srcPort), + zap.Error(err), ) return } + lowestSeq[chantypes.EventTypeAcknowledgePacket] = res.NextSequenceReceive } + } - for i, msg := range m { - // only handle consecutive sequences on ordered channels - if i > 0 && msg.info.Sequence-1 != m[i-1].info.Sequence { - dst.log.Error("Packets are not consecutive", - zap.String("channel_id", m[0].info.DestChannel), - zap.String("port_id", m[0].info.DestChannel), - zap.Uint64("seq", msg.info.Sequence), - zap.Uint64("prior_seq", m[i-1].info.Sequence), - ) - break + for e, m := range eventMessages { + m := m + sort.SliceStable(m, func(i, j int) bool { + return m[i].info.Sequence < m[j].info.Sequence + }) + + foundFirst := false + MsgLoop: + for _, msg := range m { + if e == chantypes.EventTypeRecvPacket || e == chantypes.EventTypeAcknowledgePacket { + if msg.info.Sequence < lowestSeq[e] { + // TODO prune these from caches + continue MsgLoop + } else if msg.info.Sequence > lowestSeq[e] && !foundFirst { + switch e { + case chantypes.EventTypeRecvPacket: + dst.log.Debug("Not yet ready to relay this recv sequence", + zap.String("channel_id", msg.info.DestChannel), + zap.String("port_id", msg.info.DestPort), + zap.Uint64("expected", lowestSeq[e]), + zap.Uint64("actual", msg.info.Sequence), + ) + case chantypes.EventTypeAcknowledgePacket: + src.log.Debug("Not yet ready to relay this ack sequence", + zap.String("channel_id", msg.info.SourceChannel), + zap.String("port_id", msg.info.SourcePort), + zap.Uint64("expected", lowestSeq[e]), + zap.Uint64("actual", msg.info.Sequence), + ) + } + + break MsgLoop + } } switch e { case chantypes.EventTypeRecvPacket: + if len(dstMsgs) > 0 && dstMsgs[len(dstMsgs)-1].eventType == e && dstMsgs[len(dstMsgs)-1].info.Sequence != msg.info.Sequence-1 { + dst.log.Debug("Skipping non-consecutive packet(s)", + zap.String("event_type", e), + zap.String("channel_id", msg.info.DestChannel), + zap.String("port_id", msg.info.DestChannel), + zap.Uint64("seq", msg.info.Sequence), + zap.Uint64("prior_seq", dstMsgs[len(dstMsgs)-1].info.Sequence), + ) + break MsgLoop + } if uint64(len(dstMsgs)) <= pp.maxMsgs && dst.shouldSendPacketMessage(msg, src) { + dst.log.Debug("Appending packet", + zap.String("event_type", e), + zap.String("channel_id", msg.info.DestChannel), + zap.String("port_id", msg.info.DestChannel), + zap.Uint64("seq", msg.info.Sequence), + ) dstMsgs = append(dstMsgs, msg) + if e == chantypes.EventTypeRecvPacket && msg.info.Sequence == lowestSeq[e] { + foundFirst = true + } } default: + if len(srcMsgs) > 0 && srcMsgs[len(srcMsgs)-1].eventType == e && srcMsgs[len(srcMsgs)-1].info.Sequence != msg.info.Sequence-1 { + src.log.Debug("Skipping non-consecutive packet(s)", + zap.String("event_type", e), + zap.String("channel_id", msg.info.SourceChannel), + zap.String("port_id", msg.info.SourcePort), + zap.Uint64("seq", msg.info.Sequence), + zap.Uint64("prior_seq", srcMsgs[len(srcMsgs)-1].info.Sequence), + ) + break MsgLoop + } + if uint64(len(srcMsgs)) <= pp.maxMsgs && src.shouldSendPacketMessage(msg, dst) { + src.log.Debug("Appending packet", + zap.String("event_type", e), + zap.String("channel_id", msg.info.SourceChannel), + zap.String("port_id", msg.info.SourcePort), + zap.Uint64("seq", msg.info.Sequence), + ) srcMsgs = append(srcMsgs, msg) + if e == chantypes.EventTypeAcknowledgePacket && msg.info.Sequence == lowestSeq[e] { + foundFirst = true + } } } } @@ -789,13 +860,13 @@ func (pp *PathProcessor) queuePreInitMessages(cancel func()) { return } - for k, open := range pp.pathEnd1.channelStateCache { + for k, cs := range pp.pathEnd1.channelStateCache { if k.ChannelID == m.SrcChannelID && k.PortID == m.SrcPortID && k.CounterpartyChannelID != "" && k.CounterpartyPortID != "" { - if open { + if cs.Open { // channel is still open on pathEnd1 break } - if counterpartyOpen, ok := pp.pathEnd2.channelStateCache[k.Counterparty()]; ok && !counterpartyOpen { + if counterpartyState, ok := pp.pathEnd2.channelStateCache[k.Counterparty()]; ok && !counterpartyState.Open { pp.log.Info("Channel already closed on both sides") cancel() return @@ -815,13 +886,13 @@ func (pp *PathProcessor) queuePreInitMessages(cancel func()) { } } - for k, open := range pp.pathEnd2.channelStateCache { + for k, cs := range pp.pathEnd2.channelStateCache { if k.CounterpartyChannelID == m.SrcChannelID && k.CounterpartyPortID == m.SrcPortID && k.ChannelID != "" && k.PortID != "" { - if open { + if cs.Open { // channel is still open on pathEnd2 break } - if counterpartyChanState, ok := pp.pathEnd1.channelStateCache[k.Counterparty()]; ok && !counterpartyChanState { + if counterpartyChanState, ok := pp.pathEnd1.channelStateCache[k.Counterparty()]; ok && !counterpartyChanState.Open { pp.log.Info("Channel already closed on both sides") cancel() return @@ -1128,7 +1199,13 @@ func queryPacketCommitments( } } -// queuePendingRecvAndAcks returns whether flush can be considered complete (none skipped). +// skippedPackets is used to track the number of packets skipped during a flush. +type skippedPackets struct { + Recv uint64 + Ack uint64 +} + +// queuePendingRecvAndAcks returns the number of packets skipped during a flush (nil if none). func (pp *PathProcessor) queuePendingRecvAndAcks( ctx context.Context, src, dst *pathEndRuntime, @@ -1138,32 +1215,36 @@ func (pp *PathProcessor) queuePendingRecvAndAcks( dstCache ChannelPacketMessagesCache, srcMu sync.Locker, dstMu sync.Locker, -) (bool, error) { +) (*skippedPackets, error) { if len(seqs) == 0 { src.log.Debug("Nothing to flush", zap.String("channel", k.ChannelID), zap.String("port", k.PortID)) - return true, nil + return nil, nil } dstChan, dstPort := k.CounterpartyChannelID, k.CounterpartyPortID unrecv, err := dst.chainProvider.QueryUnreceivedPackets(ctx, dst.latestBlock.Height, dstChan, dstPort, seqs) if err != nil { - return false, err + return nil, err } dstHeight := int64(dst.latestBlock.Height) + var order chantypes.Order + if len(unrecv) > 0 { channel, err := dst.chainProvider.QueryChannel(ctx, dstHeight, dstChan, dstPort) if err != nil { - return false, err + return nil, err } + order = channel.Channel.Ordering + if channel.Channel.Ordering == chantypes.ORDERED { nextSeqRecv, err := dst.chainProvider.QueryNextSeqRecv(ctx, dstHeight, dstChan, dstPort) if err != nil { - return false, err + return nil, err } var newUnrecv []uint64 @@ -1184,7 +1265,7 @@ func (pp *PathProcessor) queuePendingRecvAndAcks( var eg errgroup.Group - skipped := false + var skipped *skippedPackets for i, seq := range unrecv { srcMu.Lock() @@ -1193,8 +1274,11 @@ func (pp *PathProcessor) queuePendingRecvAndAcks( } srcMu.Unlock() - if i >= maxPacketsPerFlush { - skipped = true + if i >= int(pp.maxMsgs) { + if skipped == nil { + skipped = new(skippedPackets) + } + skipped.Recv = uint64(len(unrecv) - i) break } @@ -1211,6 +1295,7 @@ func (pp *PathProcessor) queuePendingRecvAndAcks( if err != nil { return err } + sendPacket.ChannelOrder = order.String() srcMu.Lock() srcCache.Cache(chantypes.EventTypeSendPacket, k, seq, sendPacket) srcMu.Unlock() @@ -1228,7 +1313,7 @@ func (pp *PathProcessor) queuePendingRecvAndAcks( } if err := eg.Wait(); err != nil { - return false, err + return skipped, err } if len(unrecv) > 0 { @@ -1266,8 +1351,11 @@ SeqLoop: } dstMu.Unlock() - if i >= maxPacketsPerFlush { - skipped = true + if i >= int(pp.maxMsgs) { + if skipped == nil { + skipped = new(skippedPackets) + } + skipped.Ack = uint64(len(unacked) - i) break } @@ -1286,6 +1374,7 @@ SeqLoop: } ck := k.Counterparty() + recvPacket.ChannelOrder = order.String() dstMu.Lock() dstCache.Cache(chantypes.EventTypeRecvPacket, ck, seq, recvPacket) dstCache.Cache(chantypes.EventTypeWriteAck, ck, seq, recvPacket) @@ -1296,7 +1385,7 @@ SeqLoop: } if err := eg.Wait(); err != nil { - return false, err + return skipped, err } if len(unacked) > 0 { @@ -1313,7 +1402,7 @@ SeqLoop: ) } - return !skipped, nil + return skipped, nil } // flush runs queries to relay any pending messages which may have been @@ -1331,8 +1420,8 @@ func (pp *PathProcessor) flush(ctx context.Context) error { // Query remaining packet commitments on both chains var eg errgroup.Group - for k, open := range pp.pathEnd1.channelStateCache { - if !open { + for k, cs := range pp.pathEnd1.channelStateCache { + if !cs.Open { continue } if !pp.pathEnd1.info.ShouldRelayChannel(ChainChannelKey{ @@ -1344,8 +1433,8 @@ func (pp *PathProcessor) flush(ctx context.Context) error { } eg.Go(queryPacketCommitments(ctx, pp.pathEnd1, k, commitments1, &commitments1Mu)) } - for k, open := range pp.pathEnd2.channelStateCache { - if !open { + for k, cs := range pp.pathEnd2.channelStateCache { + if !cs.Open { continue } if !pp.pathEnd2.info.ShouldRelayChannel(ChainChannelKey{ @@ -1366,17 +1455,20 @@ func (pp *PathProcessor) flush(ctx context.Context) error { // 1. Packet commitment is on source, but MsgRecvPacket has not yet been relayed to destination // 2. Packet commitment is on source, and MsgRecvPacket has been relayed to destination, but MsgAcknowledgement has not been written to source to clear the packet commitment. // Based on above conditions, enqueue MsgRecvPacket and MsgAcknowledgement messages - skipped := false + skipped := make(map[string]map[ChannelKey]skippedPackets) for k, seqs := range commitments1 { k := k seqs := seqs eg.Go(func() error { - done, err := pp.queuePendingRecvAndAcks(ctx, pp.pathEnd1, pp.pathEnd2, k, seqs, pathEnd1Cache.PacketFlow, pathEnd2Cache.PacketFlow, &pathEnd1CacheMu, &pathEnd2CacheMu) + s, err := pp.queuePendingRecvAndAcks(ctx, pp.pathEnd1, pp.pathEnd2, k, seqs, pathEnd1Cache.PacketFlow, pathEnd2Cache.PacketFlow, &pathEnd1CacheMu, &pathEnd2CacheMu) if err != nil { return err } - if !done { - skipped = true + if s != nil { + if _, ok := skipped[pp.pathEnd1.info.ChainID]; !ok { + skipped[pp.pathEnd1.info.ChainID] = make(map[ChannelKey]skippedPackets) + } + skipped[pp.pathEnd1.info.ChainID][k] = *s } return nil }) @@ -1386,12 +1478,15 @@ func (pp *PathProcessor) flush(ctx context.Context) error { k := k seqs := seqs eg.Go(func() error { - done, err := pp.queuePendingRecvAndAcks(ctx, pp.pathEnd2, pp.pathEnd1, k, seqs, pathEnd2Cache.PacketFlow, pathEnd1Cache.PacketFlow, &pathEnd2CacheMu, &pathEnd1CacheMu) + s, err := pp.queuePendingRecvAndAcks(ctx, pp.pathEnd2, pp.pathEnd1, k, seqs, pathEnd2Cache.PacketFlow, pathEnd1Cache.PacketFlow, &pathEnd2CacheMu, &pathEnd1CacheMu) if err != nil { return err } - if !done { - skipped = true + if s != nil { + if _, ok := skipped[pp.pathEnd2.info.ChainID]; !ok { + skipped[pp.pathEnd2.info.ChainID] = make(map[ChannelKey]skippedPackets) + } + skipped[pp.pathEnd2.info.ChainID][k] = *s } return nil }) @@ -1404,8 +1499,20 @@ func (pp *PathProcessor) flush(ctx context.Context) error { pp.pathEnd1.mergeMessageCache(pathEnd1Cache, pp.pathEnd2.info.ChainID, pp.pathEnd2.inSync) pp.pathEnd2.mergeMessageCache(pathEnd2Cache, pp.pathEnd1.info.ChainID, pp.pathEnd1.inSync) - if skipped { - return fmt.Errorf("flush was successful, but more packet sequences are still pending") + if len(skipped) > 0 { + skippedPacketsString := "" + for chainID, chainSkipped := range skipped { + for channelKey, skipped := range chainSkipped { + skippedPacketsString += fmt.Sprintf( + "{ %s %s %s recv: %d, ack: %d } ", + chainID, channelKey.ChannelID, channelKey.PortID, skipped.Recv, skipped.Ack, + ) + } + } + return fmt.Errorf( + "flush was successful, but packets are still pending. %s", + skippedPacketsString, + ) } return nil @@ -1418,7 +1525,7 @@ func (pp *PathProcessor) shouldTerminateForFlushComplete() bool { return false } for k, packetMessagesCache := range pp.pathEnd1.messageCache.PacketFlow { - if open, ok := pp.pathEnd1.channelStateCache[k]; !ok || !open { + if cs, ok := pp.pathEnd1.channelStateCache[k]; !ok || !cs.Open { continue } for _, c := range packetMessagesCache { @@ -1442,7 +1549,7 @@ func (pp *PathProcessor) shouldTerminateForFlushComplete() bool { } } for k, packetMessagesCache := range pp.pathEnd2.messageCache.PacketFlow { - if open, ok := pp.pathEnd1.channelStateCache[k]; !ok || !open { + if cs, ok := pp.pathEnd1.channelStateCache[k]; !ok || !cs.Open { continue } for _, c := range packetMessagesCache { diff --git a/relayer/processor/types.go b/relayer/processor/types.go index d01e73205..a5db23c9b 100644 --- a/relayer/processor/types.go +++ b/relayer/processor/types.go @@ -159,6 +159,12 @@ type ChannelKey struct { CounterpartyPortID string } +// ChannelState is used for caching channel open state and a lookup for the channel order. +type ChannelState struct { + Order chantypes.Order + Open bool +} + // Counterparty flips a ChannelKey for the perspective of the counterparty chain func (k ChannelKey) Counterparty() ChannelKey { return ChannelKey{ @@ -250,7 +256,23 @@ func (k ConnectionKey) MarshalLogObject(enc zapcore.ObjectEncoder) error { } // ChannelStateCache maintains channel open state for multiple channels. -type ChannelStateCache map[ChannelKey]bool +type ChannelStateCache map[ChannelKey]ChannelState + +// SetOpen sets the open state for a channel, and also the order if it is not NONE. +func (c ChannelStateCache) SetOpen(k ChannelKey, open bool, order chantypes.Order) { + if s, ok := c[k]; ok { + s.Open = open + if order != chantypes.NONE { + s.Order = order + } + c[k] = s + return + } + c[k] = ChannelState{ + Open: open, + Order: order, + } +} // FilterForClient returns a filtered copy of channels on top of an underlying clientID so it can be used by other goroutines. func (c ChannelStateCache) FilterForClient(clientID string, channelConnections map[string]string, connectionClients map[string]string) ChannelStateCache { diff --git a/relayer/provider/provider.go b/relayer/provider/provider.go index a1c150e0a..34cee434d 100644 --- a/relayer/provider/provider.go +++ b/relayer/provider/provider.go @@ -457,6 +457,7 @@ type QueryProvider interface { QueryUnreceivedPackets(ctx context.Context, height uint64, channelid, portid string, seqs []uint64) ([]uint64, error) QueryUnreceivedAcknowledgements(ctx context.Context, height uint64, channelid, portid string, seqs []uint64) ([]uint64, error) QueryNextSeqRecv(ctx context.Context, height int64, channelid, portid string) (recvRes *chantypes.QueryNextSequenceReceiveResponse, err error) + QueryNextSeqAck(ctx context.Context, height int64, channelid, portid string) (recvRes *chantypes.QueryNextSequenceReceiveResponse, err error) QueryPacketCommitment(ctx context.Context, height int64, channelid, portid string, seq uint64) (comRes *chantypes.QueryPacketCommitmentResponse, err error) QueryPacketAcknowledgement(ctx context.Context, height int64, channelid, portid string, seq uint64) (ackRes *chantypes.QueryPacketAcknowledgementResponse, err error) QueryPacketReceipt(ctx context.Context, height int64, channelid, portid string, seq uint64) (recRes *chantypes.QueryPacketReceiptResponse, err error) From d878a55acb1999ef81341dd7ce854e6d4a08945d Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Mon, 31 Jul 2023 14:20:08 -0700 Subject: [PATCH 30/58] chore: update penumbra protos to v0.57.0 (#1249) Version 0.57.0 of Penumbra was released on 2023-07-26 [0]. This commit pulls in the latest proto defs from BSR. [0] https://github.com/penumbra-zone/penumbra/releases/tag/v0.57.0 Co-authored-by: Conor Schaefer Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- .../penumbra/core/ibc/v1alpha1/ibc.pb.go | 199 +++---- .../chains/penumbra/view/v1alpha1/view.pb.go | 493 +++++++++--------- 2 files changed, 332 insertions(+), 360 deletions(-) diff --git a/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go b/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go index 9f95c7e73..cf5d9ad90 100644 --- a/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go +++ b/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go @@ -168,27 +168,25 @@ func (m *FungibleTokenPacketData) GetReceiver() string { } type Ics20Withdrawal struct { - // the chain ID of the destination chain for this ICS20 transfer - DestinationChainId string `protobuf:"bytes,1,opt,name=destination_chain_id,json=destinationChainId,proto3" json:"destination_chain_id,omitempty"` - Amount *v1alpha1.Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` - Denom *v1alpha1.Denom `protobuf:"bytes,3,opt,name=denom,proto3" json:"denom,omitempty"` + Amount *v1alpha1.Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + Denom *v1alpha1.Denom `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` // the address on the destination chain to send the transfer to - DestinationChainAddress string `protobuf:"bytes,4,opt,name=destination_chain_address,json=destinationChainAddress,proto3" json:"destination_chain_address,omitempty"` + DestinationChainAddress string `protobuf:"bytes,3,opt,name=destination_chain_address,json=destinationChainAddress,proto3" json:"destination_chain_address,omitempty"` // a "sender" penumbra address to use to return funds from this withdrawal. // this should be an ephemeral address - ReturnAddress *v1alpha1.Address `protobuf:"bytes,5,opt,name=return_address,json=returnAddress,proto3" json:"return_address,omitempty"` + ReturnAddress *v1alpha1.Address `protobuf:"bytes,4,opt,name=return_address,json=returnAddress,proto3" json:"return_address,omitempty"` // the height (on Penumbra) at which this transfer expires (and funds are sent // back to the sender address?). NOTE: if funds are sent back to the sender, // we MUST verify a nonexistence proof before accepting the timeout, to // prevent relayer censorship attacks. The core IBC implementation does this // in its handling of validation of timeouts. - TimeoutHeight uint64 `protobuf:"varint,6,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` + TimeoutHeight uint64 `protobuf:"varint,5,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` // the timestamp at which this transfer expires. - TimeoutTime uint64 `protobuf:"varint,7,opt,name=timeout_time,json=timeoutTime,proto3" json:"timeout_time,omitempty"` + TimeoutTime uint64 `protobuf:"varint,6,opt,name=timeout_time,json=timeoutTime,proto3" json:"timeout_time,omitempty"` // the source port that identifies the channel used for the withdrawal - SourcePort string `protobuf:"bytes,8,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` + SourcePort string `protobuf:"bytes,7,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` // the source channel used for the withdrawal - SourceChannel string `protobuf:"bytes,9,opt,name=source_channel,json=sourceChannel,proto3" json:"source_channel,omitempty"` + SourceChannel string `protobuf:"bytes,8,opt,name=source_channel,json=sourceChannel,proto3" json:"source_channel,omitempty"` } func (m *Ics20Withdrawal) Reset() { *m = Ics20Withdrawal{} } @@ -224,13 +222,6 @@ func (m *Ics20Withdrawal) XXX_DiscardUnknown() { var xxx_messageInfo_Ics20Withdrawal proto.InternalMessageInfo -func (m *Ics20Withdrawal) GetDestinationChainId() string { - if m != nil { - return m.DestinationChainId - } - return "" -} - func (m *Ics20Withdrawal) GetAmount() *v1alpha1.Amount { if m != nil { return m.Amount @@ -592,58 +583,57 @@ func init() { } var fileDescriptor_6509740287584c65 = []byte{ - // 803 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x41, 0x8f, 0x1b, 0x35, - 0x14, 0xde, 0x49, 0xb6, 0xbb, 0x1b, 0xa7, 0x49, 0xe8, 0x68, 0x45, 0xa7, 0x41, 0xa4, 0x61, 0xd4, - 0x56, 0x5b, 0x24, 0x66, 0x9a, 0x14, 0x84, 0x34, 0xa8, 0x12, 0xd9, 0xa9, 0x28, 0x73, 0xa8, 0x88, - 0x86, 0xaa, 0x48, 0x28, 0x52, 0xe4, 0xf1, 0xb8, 0x89, 0xd5, 0x8c, 0x1d, 0xd9, 0x9e, 0xac, 0x22, - 0xfe, 0x04, 0x7f, 0x01, 0x8e, 0x9c, 0xf9, 0x11, 0x88, 0x53, 0x8f, 0x48, 0x5c, 0x50, 0xf6, 0xc6, - 0xaf, 0x40, 0xb6, 0xc7, 0x49, 0x03, 0x6c, 0xf7, 0x14, 0xbf, 0xef, 0xfb, 0xde, 0xcb, 0xf7, 0x9e, - 0xdf, 0x18, 0xdc, 0x5b, 0x62, 0x5a, 0x16, 0x19, 0x87, 0x21, 0x62, 0x1c, 0x87, 0x24, 0x43, 0xe1, - 0x6a, 0x00, 0x17, 0xcb, 0x39, 0x1c, 0xa8, 0x20, 0x58, 0x72, 0x26, 0x99, 0xdb, 0xb5, 0xaa, 0x40, - 0xa9, 0x02, 0x45, 0x58, 0x55, 0xf7, 0xe3, 0xfd, 0x0a, 0x88, 0xaf, 0x97, 0x92, 0xed, 0x8a, 0x98, - 0xd8, 0xd4, 0xe9, 0xde, 0x55, 0xf5, 0x8d, 0x6c, 0x41, 0x30, 0x95, 0xe1, 0x6a, 0x50, 0x9d, 0x2a, - 0xc1, 0x9d, 0x19, 0x63, 0xb3, 0x05, 0x0e, 0x75, 0x94, 0x95, 0xaf, 0x42, 0x48, 0xd7, 0x86, 0xf2, - 0xbf, 0x04, 0x8d, 0x24, 0x43, 0x23, 0x24, 0x09, 0xa3, 0xee, 0x63, 0x00, 0x38, 0xbc, 0x98, 0x42, - 0x1d, 0x79, 0x4e, 0xdf, 0x39, 0x6b, 0x0e, 0x4f, 0x03, 0x93, 0x1c, 0xd8, 0xe4, 0x60, 0x44, 0xd7, - 0x69, 0x83, 0xc3, 0x0b, 0x93, 0xe4, 0xff, 0x00, 0x6e, 0x7f, 0x55, 0xd2, 0x19, 0xc9, 0x16, 0xf8, - 0x05, 0x7b, 0x8d, 0xe9, 0x18, 0xa2, 0xd7, 0x58, 0x3e, 0x85, 0x12, 0xba, 0xa7, 0xe0, 0x46, 0x8e, - 0x29, 0x2b, 0x74, 0xa9, 0x46, 0x6a, 0x02, 0xf7, 0x7d, 0x70, 0x04, 0x0b, 0x56, 0x52, 0xe9, 0xd5, - 0x34, 0x5c, 0x45, 0x0a, 0x17, 0x98, 0xe6, 0x98, 0x7b, 0x75, 0x83, 0x9b, 0xc8, 0xed, 0x82, 0x13, - 0x8e, 0x11, 0x26, 0x2b, 0xcc, 0xbd, 0x43, 0xcd, 0x6c, 0x63, 0xff, 0xcf, 0x3a, 0xe8, 0x24, 0x48, - 0x0c, 0x1f, 0x7d, 0x47, 0xe4, 0x3c, 0xe7, 0xf0, 0x02, 0x2e, 0xdc, 0x47, 0xe0, 0x34, 0xc7, 0x42, - 0x12, 0x0a, 0x95, 0xbf, 0x29, 0x9a, 0x43, 0x42, 0xa7, 0x24, 0xaf, 0x4c, 0xb8, 0x6f, 0x71, 0xb1, - 0xa2, 0x92, 0xdc, 0x7d, 0xb2, 0xe7, 0xa8, 0x39, 0xbc, 0x1f, 0xec, 0xdf, 0x4c, 0x35, 0x6d, 0x3b, - 0xfd, 0x60, 0xa4, 0xc5, 0x5b, 0xe3, 0x91, 0x6d, 0xb3, 0xae, 0xb3, 0xef, 0x5d, 0x93, 0xfd, 0x54, - 0x69, 0xed, 0x30, 0x22, 0x70, 0xe7, 0xbf, 0x66, 0x61, 0x9e, 0x73, 0x2c, 0x44, 0xd5, 0xed, 0xed, - 0x7f, 0x3b, 0x1e, 0x19, 0xda, 0x7d, 0x0e, 0xda, 0x1c, 0xcb, 0x92, 0xef, 0x12, 0x6e, 0x68, 0x03, - 0x0f, 0xae, 0xb3, 0x6f, 0xd4, 0x69, 0xcb, 0x64, 0xdb, 0x72, 0xf7, 0x41, 0x5b, 0x92, 0x02, 0xb3, - 0x52, 0x4e, 0xe7, 0x98, 0xcc, 0xe6, 0xd2, 0x3b, 0xea, 0x3b, 0x67, 0x87, 0x69, 0xab, 0x42, 0xbf, - 0xd6, 0xa0, 0xfb, 0x11, 0xb8, 0x69, 0x65, 0xea, 0xd7, 0x3b, 0xd6, 0xa2, 0x66, 0x85, 0xbd, 0x20, - 0x05, 0x76, 0xef, 0x82, 0xa6, 0x60, 0x25, 0x47, 0x78, 0xba, 0x64, 0x5c, 0x7a, 0x27, 0xba, 0x0d, - 0x60, 0xa0, 0x31, 0xe3, 0x52, 0xfd, 0x55, 0x25, 0x40, 0x73, 0x48, 0x29, 0x5e, 0x78, 0x0d, 0xad, - 0x69, 0x19, 0x34, 0x36, 0xa0, 0xff, 0xab, 0x03, 0x40, 0xac, 0x17, 0x59, 0xaf, 0xd3, 0x07, 0xa0, - 0x61, 0xd6, 0x7a, 0x77, 0x9b, 0x27, 0x06, 0x48, 0x72, 0xf7, 0x73, 0x70, 0xb3, 0x22, 0x85, 0x84, - 0x12, 0x57, 0x37, 0xf9, 0xff, 0xdb, 0xdb, 0x34, 0xca, 0x6f, 0x95, 0x50, 0x79, 0x59, 0x72, 0x86, - 0xb0, 0x10, 0x38, 0x37, 0x1d, 0x99, 0xf5, 0x6b, 0x6d, 0x51, 0xdd, 0xd3, 0x43, 0xf0, 0xde, 0x4e, - 0x56, 0xcd, 0xe7, 0x50, 0xb7, 0xde, 0xd9, 0xe2, 0x66, 0x42, 0xfe, 0x43, 0xd0, 0x32, 0xae, 0x63, - 0xb5, 0x1e, 0x98, 0xbb, 0x1e, 0x38, 0x46, 0xe6, 0xa8, 0x6d, 0x1f, 0xa6, 0x36, 0xf4, 0xbf, 0x01, - 0xed, 0x98, 0x51, 0x81, 0xa9, 0x28, 0x85, 0xb1, 0xf3, 0x04, 0x74, 0x90, 0x45, 0xaa, 0x56, 0xde, - 0xf5, 0x21, 0xb6, 0xd1, 0x5e, 0xba, 0xff, 0x0c, 0x74, 0x5e, 0x62, 0x4e, 0x5e, 0x11, 0xeb, 0x46, - 0xb8, 0x9f, 0x82, 0x63, 0xe3, 0x57, 0x78, 0x4e, 0xbf, 0x7e, 0xd6, 0x1c, 0x76, 0xf5, 0x53, 0x63, - 0x56, 0xc3, 0x3c, 0x13, 0xab, 0x41, 0x60, 0xd4, 0xa9, 0x95, 0xfa, 0x9f, 0x80, 0x5b, 0x31, 0xa3, - 0x14, 0xeb, 0x8f, 0xfc, 0xfa, 0x46, 0x3e, 0x03, 0xb7, 0x6c, 0xcf, 0x36, 0x49, 0xb8, 0x7d, 0xd0, - 0x44, 0xbb, 0x50, 0xff, 0x7b, 0x23, 0x7d, 0x1b, 0x3a, 0xff, 0xa9, 0xf6, 0xdb, 0xa6, 0xe7, 0xbc, - 0xd9, 0xf4, 0x9c, 0xbf, 0x36, 0x3d, 0xe7, 0xc7, 0xcb, 0xde, 0xc1, 0x9b, 0xcb, 0xde, 0xc1, 0x1f, - 0x97, 0xbd, 0x03, 0xd0, 0x43, 0xac, 0x08, 0xae, 0x7e, 0x21, 0xcf, 0x4f, 0x92, 0x0c, 0x8d, 0xd5, - 0x28, 0xc6, 0xce, 0xf7, 0xe9, 0x8c, 0xc8, 0x79, 0x99, 0x05, 0x88, 0x15, 0x21, 0x62, 0xa2, 0x60, - 0x22, 0xe4, 0x78, 0x01, 0xd7, 0x98, 0x87, 0xab, 0xe1, 0xf6, 0xa8, 0x3f, 0x2e, 0x11, 0x5e, 0xfd, - 0x36, 0x7f, 0x41, 0x32, 0x64, 0xcf, 0x3f, 0xd7, 0xea, 0xe3, 0x38, 0xf9, 0xa5, 0xd6, 0x1d, 0x5b, - 0x0b, 0xb1, 0xb2, 0x90, 0x64, 0x28, 0x78, 0x59, 0x49, 0x7e, 0xdf, 0x91, 0x13, 0x45, 0x4e, 0x92, - 0x0c, 0x4d, 0x2c, 0xb9, 0xa9, 0x3d, 0xb8, 0x9a, 0x9c, 0x3c, 0x1b, 0x9f, 0x3f, 0xc7, 0x12, 0xe6, - 0x50, 0xc2, 0xbf, 0x6b, 0x1f, 0x5a, 0x61, 0x14, 0x29, 0x65, 0x14, 0x25, 0x19, 0x8a, 0x22, 0xab, - 0xcd, 0x8e, 0xf4, 0x85, 0x3f, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x96, 0x37, 0xa5, 0x55, - 0x06, 0x00, 0x00, + // 791 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0x41, 0x8f, 0x1b, 0x35, + 0x14, 0xc7, 0x77, 0x92, 0x74, 0x37, 0x71, 0x9a, 0x84, 0x8e, 0x2a, 0x3a, 0x0d, 0x22, 0x0d, 0xa3, + 0xb6, 0xda, 0x22, 0x31, 0x43, 0x52, 0x10, 0xd2, 0xa0, 0x4a, 0x64, 0xa7, 0xa2, 0xcc, 0xa1, 0x22, + 0x1a, 0xaa, 0x22, 0xa1, 0x48, 0x91, 0xc7, 0xe3, 0x26, 0x56, 0x33, 0x76, 0x64, 0x7b, 0xb2, 0x8a, + 0xf8, 0x12, 0x7c, 0x05, 0xb8, 0xc1, 0x99, 0x0f, 0x81, 0x38, 0xf5, 0xc8, 0x11, 0x65, 0x6f, 0x7c, + 0x0a, 0x64, 0x7b, 0x9c, 0xec, 0x4a, 0x2c, 0x7b, 0x8a, 0xdf, 0xff, 0xfd, 0xde, 0xcb, 0x7b, 0x6f, + 0x9e, 0x0d, 0x1e, 0xae, 0x31, 0x2d, 0x8b, 0x8c, 0xc3, 0x10, 0x31, 0x8e, 0x43, 0x92, 0xa1, 0x70, + 0x33, 0x82, 0xab, 0xf5, 0x12, 0x8e, 0x94, 0x11, 0xac, 0x39, 0x93, 0xcc, 0xed, 0x5b, 0x2a, 0x50, + 0x54, 0xa0, 0x1c, 0x96, 0xea, 0x7f, 0x7c, 0x35, 0x03, 0xe2, 0xdb, 0xb5, 0x64, 0x87, 0x24, 0xc6, + 0x36, 0x79, 0xfa, 0x0f, 0x54, 0x7e, 0x83, 0xad, 0x08, 0xa6, 0x32, 0xdc, 0x8c, 0xaa, 0x53, 0x05, + 0xdc, 0x5f, 0x30, 0xb6, 0x58, 0xe1, 0x50, 0x5b, 0x59, 0xf9, 0x26, 0x84, 0x74, 0x6b, 0x5c, 0xfe, + 0x57, 0xa0, 0x95, 0x64, 0x68, 0x82, 0x24, 0x61, 0xd4, 0x7d, 0x0a, 0x00, 0x87, 0xe7, 0x73, 0xa8, + 0x2d, 0xcf, 0x19, 0x3a, 0xa7, 0xed, 0xf1, 0xdd, 0xc0, 0x04, 0x07, 0x36, 0x38, 0x98, 0xd0, 0x6d, + 0xda, 0xe2, 0xf0, 0xdc, 0x04, 0xf9, 0x3f, 0x82, 0x7b, 0x5f, 0x97, 0x74, 0x41, 0xb2, 0x15, 0x7e, + 0xc5, 0xde, 0x62, 0x3a, 0x85, 0xe8, 0x2d, 0x96, 0xcf, 0xa1, 0x84, 0xee, 0x5d, 0x70, 0x2b, 0xc7, + 0x94, 0x15, 0x3a, 0x55, 0x2b, 0x35, 0x86, 0xfb, 0x3e, 0x38, 0x86, 0x05, 0x2b, 0xa9, 0xf4, 0x6a, + 0x5a, 0xae, 0x2c, 0xa5, 0x0b, 0x4c, 0x73, 0xcc, 0xbd, 0xba, 0xd1, 0x8d, 0xe5, 0xf6, 0x41, 0x93, + 0x63, 0x84, 0xc9, 0x06, 0x73, 0xaf, 0xa1, 0x3d, 0x7b, 0xdb, 0xff, 0xb5, 0x0e, 0x7a, 0x09, 0x12, + 0xe3, 0x4f, 0xbf, 0x27, 0x72, 0x99, 0x73, 0x78, 0x0e, 0x57, 0xee, 0xb3, 0x7d, 0x7e, 0xd3, 0xc1, + 0xa3, 0xe0, 0xea, 0x9c, 0xab, 0xd9, 0xd9, 0x59, 0x06, 0x13, 0x0d, 0xef, 0xcb, 0x88, 0x6c, 0xd1, + 0x35, 0x1d, 0xfd, 0xf0, 0x86, 0xe8, 0xe7, 0x8a, 0xb5, 0xad, 0x45, 0xe0, 0x7e, 0x8e, 0x85, 0x24, + 0x14, 0xaa, 0xd1, 0xcc, 0xd1, 0x12, 0x12, 0x3a, 0x87, 0x79, 0xce, 0xb1, 0x10, 0x55, 0x57, 0xf7, + 0x2e, 0x01, 0xb1, 0xf2, 0x4f, 0x8c, 0xdb, 0x7d, 0x09, 0xba, 0x1c, 0xcb, 0x92, 0x1f, 0x02, 0x1a, + 0xba, 0x80, 0xc7, 0x37, 0x95, 0x6f, 0xe8, 0xb4, 0x63, 0xa2, 0x6d, 0xba, 0x47, 0xa0, 0x2b, 0x49, + 0x81, 0x59, 0x29, 0xe7, 0x4b, 0x4c, 0x16, 0x4b, 0xe9, 0xdd, 0x1a, 0x3a, 0xa7, 0x8d, 0xb4, 0x53, + 0xa9, 0xdf, 0x68, 0xd1, 0xfd, 0x08, 0xdc, 0xb6, 0x98, 0xfa, 0xf5, 0x8e, 0x35, 0xd4, 0xae, 0xb4, + 0x57, 0xa4, 0xc0, 0xee, 0x03, 0xd0, 0x16, 0xac, 0xe4, 0x08, 0xcf, 0xd7, 0x8c, 0x4b, 0xef, 0x44, + 0xb7, 0x01, 0x8c, 0x34, 0x65, 0x5c, 0xaa, 0xbf, 0xaa, 0x00, 0xb4, 0x84, 0x94, 0xe2, 0x95, 0xd7, + 0xd4, 0x4c, 0xc7, 0xa8, 0xb1, 0x11, 0xfd, 0xdf, 0x1d, 0x00, 0x62, 0xbd, 0x96, 0x7a, 0x39, 0x3e, + 0x00, 0x2d, 0xb3, 0xa4, 0x73, 0x92, 0x57, 0x0b, 0xd2, 0x34, 0x42, 0x92, 0xbb, 0x5f, 0x80, 0xdb, + 0x95, 0x53, 0x48, 0x28, 0x71, 0xf5, 0x2d, 0xfe, 0x7b, 0x17, 0xdb, 0x86, 0xfc, 0x4e, 0x81, 0xaa, + 0x96, 0x35, 0x67, 0x08, 0x0b, 0x81, 0x73, 0xd3, 0x91, 0x19, 0x7b, 0x67, 0xaf, 0xea, 0x9e, 0x9e, + 0x80, 0xf7, 0x0e, 0x58, 0x35, 0x9f, 0x86, 0x6e, 0xbd, 0xb7, 0xd7, 0xcd, 0x84, 0xfc, 0x27, 0xa0, + 0x63, 0xaa, 0x8e, 0xd5, 0x7a, 0x60, 0xee, 0x7a, 0xe0, 0x04, 0x99, 0xa3, 0x2e, 0xbb, 0x91, 0x5a, + 0xd3, 0xff, 0x16, 0x74, 0x63, 0x46, 0x05, 0xa6, 0xa2, 0x14, 0xa6, 0x9c, 0x67, 0xa0, 0x87, 0xac, + 0x52, 0xb5, 0xf2, 0x7f, 0xd7, 0xaa, 0x8b, 0xae, 0x84, 0xfb, 0x2f, 0x40, 0xef, 0x35, 0xe6, 0xe4, + 0x0d, 0xb1, 0xd5, 0x08, 0xf7, 0x33, 0x70, 0x62, 0xea, 0x15, 0x9e, 0x33, 0xac, 0x9f, 0xb6, 0xc7, + 0x7d, 0xfd, 0x70, 0x98, 0xd5, 0x30, 0x97, 0x7e, 0x33, 0x0a, 0x0c, 0x9d, 0x5a, 0xd4, 0xff, 0x04, + 0xdc, 0x89, 0x19, 0xa5, 0x58, 0x5f, 0xd9, 0x9b, 0x1b, 0xf9, 0x1c, 0xdc, 0xb1, 0x3d, 0xdb, 0x20, + 0xe1, 0x0e, 0x41, 0x1b, 0x1d, 0x4c, 0xfd, 0xef, 0xad, 0xf4, 0xb2, 0x74, 0xf6, 0x73, 0xed, 0x8f, + 0xdd, 0xc0, 0x79, 0xb7, 0x1b, 0x38, 0x7f, 0xef, 0x06, 0xce, 0x4f, 0x17, 0x83, 0xa3, 0x77, 0x17, + 0x83, 0xa3, 0xbf, 0x2e, 0x06, 0x47, 0x60, 0x80, 0x58, 0x11, 0x5c, 0xff, 0xde, 0x9d, 0x35, 0x93, + 0x0c, 0x4d, 0xd5, 0x28, 0xa6, 0xce, 0x0f, 0xe9, 0x82, 0xc8, 0x65, 0x99, 0x05, 0x88, 0x15, 0x21, + 0x62, 0xa2, 0x60, 0x22, 0xe4, 0x78, 0x05, 0xb7, 0x98, 0x87, 0x9b, 0xf1, 0xfe, 0xa8, 0x2f, 0x97, + 0x08, 0xaf, 0x7f, 0x69, 0xbf, 0x24, 0x19, 0xb2, 0xe7, 0x5f, 0x6a, 0xf5, 0x69, 0x9c, 0xfc, 0x56, + 0xeb, 0x4f, 0x6d, 0x09, 0xb1, 0x2a, 0x21, 0xc9, 0x50, 0xf0, 0xba, 0x42, 0xfe, 0x3c, 0x38, 0x67, + 0xca, 0x39, 0x4b, 0x32, 0x34, 0xb3, 0xce, 0x5d, 0xed, 0xf1, 0xf5, 0xce, 0xd9, 0x8b, 0xe9, 0xd9, + 0x4b, 0x2c, 0x61, 0x0e, 0x25, 0xfc, 0xa7, 0xf6, 0xa1, 0x05, 0xa3, 0x48, 0x91, 0x51, 0x94, 0x64, + 0x28, 0x8a, 0x2c, 0x9b, 0x1d, 0xeb, 0x0f, 0xfe, 0xf4, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xec, + 0xc7, 0x3e, 0x41, 0x23, 0x06, 0x00, 0x00, } func (m *IbcAction) Marshal() (dAtA []byte, err error) { @@ -757,24 +747,24 @@ func (m *Ics20Withdrawal) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.SourceChannel) i = encodeVarintIbc(dAtA, i, uint64(len(m.SourceChannel))) i-- - dAtA[i] = 0x4a + dAtA[i] = 0x42 } if len(m.SourcePort) > 0 { i -= len(m.SourcePort) copy(dAtA[i:], m.SourcePort) i = encodeVarintIbc(dAtA, i, uint64(len(m.SourcePort))) i-- - dAtA[i] = 0x42 + dAtA[i] = 0x3a } if m.TimeoutTime != 0 { i = encodeVarintIbc(dAtA, i, uint64(m.TimeoutTime)) i-- - dAtA[i] = 0x38 + dAtA[i] = 0x30 } if m.TimeoutHeight != 0 { i = encodeVarintIbc(dAtA, i, uint64(m.TimeoutHeight)) i-- - dAtA[i] = 0x30 + dAtA[i] = 0x28 } if m.ReturnAddress != nil { { @@ -786,14 +776,14 @@ func (m *Ics20Withdrawal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintIbc(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x2a + dAtA[i] = 0x22 } if len(m.DestinationChainAddress) > 0 { i -= len(m.DestinationChainAddress) copy(dAtA[i:], m.DestinationChainAddress) i = encodeVarintIbc(dAtA, i, uint64(len(m.DestinationChainAddress))) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x1a } if m.Denom != nil { { @@ -805,7 +795,7 @@ func (m *Ics20Withdrawal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintIbc(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1a + dAtA[i] = 0x12 } if m.Amount != nil { { @@ -817,13 +807,6 @@ func (m *Ics20Withdrawal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintIbc(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x12 - } - if len(m.DestinationChainId) > 0 { - i -= len(m.DestinationChainId) - copy(dAtA[i:], m.DestinationChainId) - i = encodeVarintIbc(dAtA, i, uint64(len(m.DestinationChainId))) - i-- dAtA[i] = 0xa } return len(dAtA) - i, nil @@ -1098,10 +1081,6 @@ func (m *Ics20Withdrawal) Size() (n int) { } var l int _ = l - l = len(m.DestinationChainId) - if l > 0 { - n += 1 + l + sovIbc(uint64(l)) - } if m.Amount != nil { l = m.Amount.Size() n += 1 + l + sovIbc(uint64(l)) @@ -1526,38 +1505,6 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestinationChainId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowIbc - } - 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 ErrInvalidLengthIbc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthIbc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DestinationChainId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } @@ -1593,7 +1540,7 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 3: + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Denom", wireType) } @@ -1629,7 +1576,7 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 4: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field DestinationChainAddress", wireType) } @@ -1661,7 +1608,7 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { } m.DestinationChainAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ReturnAddress", wireType) } @@ -1697,7 +1644,7 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 6: + case 5: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TimeoutHeight", wireType) } @@ -1716,7 +1663,7 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { break } } - case 7: + case 6: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field TimeoutTime", wireType) } @@ -1735,7 +1682,7 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { break } } - case 8: + case 7: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field SourcePort", wireType) } @@ -1767,7 +1714,7 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { } m.SourcePort = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 9: + case 8: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field SourceChannel", wireType) } diff --git a/relayer/chains/penumbra/view/v1alpha1/view.pb.go b/relayer/chains/penumbra/view/v1alpha1/view.pb.go index aacce5f7e..603de4d9b 100644 --- a/relayer/chains/penumbra/view/v1alpha1/view.pb.go +++ b/relayer/chains/penumbra/view/v1alpha1/view.pb.go @@ -3374,7 +3374,7 @@ func (*OwnedPositionIdsRequest) XXX_OneofWrappers() []interface{} { } type OwnedPositionIdsResponse struct { - PositionIds []*v1alpha15.PositionId `protobuf:"bytes,1,rep,name=position_ids,json=positionIds,proto3" json:"position_ids,omitempty"` + PositionId *v1alpha15.PositionId `protobuf:"bytes,1,opt,name=position_id,json=positionId,proto3" json:"position_id,omitempty"` } func (m *OwnedPositionIdsResponse) Reset() { *m = OwnedPositionIdsResponse{} } @@ -3410,9 +3410,9 @@ func (m *OwnedPositionIdsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_OwnedPositionIdsResponse proto.InternalMessageInfo -func (m *OwnedPositionIdsResponse) GetPositionIds() []*v1alpha15.PositionId { +func (m *OwnedPositionIdsResponse) GetPositionId() *v1alpha15.PositionId { if m != nil { - return m.PositionIds + return m.PositionId } return nil } @@ -3478,191 +3478,191 @@ func init() { proto.RegisterFile("penumbra/view/v1alpha1/view.proto", fileDescri var fileDescriptor_0aa947b204e6a7c2 = []byte{ // 2954 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5b, 0xcd, 0x6f, 0xdc, 0xc6, - 0x15, 0x37, 0x77, 0xf5, 0xe5, 0xb7, 0xda, 0x5d, 0x99, 0xb6, 0xa5, 0xf5, 0x26, 0x51, 0x52, 0x26, - 0xb6, 0x15, 0x27, 0x59, 0xd9, 0x8a, 0x93, 0xa6, 0x4a, 0xd2, 0x46, 0x6b, 0x45, 0x96, 0xe0, 0xd8, - 0x56, 0x29, 0x5b, 0x69, 0x52, 0xa5, 0xc4, 0x88, 0x1c, 0x49, 0xac, 0x76, 0x49, 0x86, 0x9c, 0xd5, - 0x47, 0x7b, 0x4a, 0x11, 0x14, 0x46, 0x80, 0x06, 0x45, 0xd1, 0x4b, 0xae, 0x3d, 0x16, 0xbd, 0xe6, - 0x9a, 0x4b, 0x2f, 0x45, 0x4f, 0x39, 0x16, 0x28, 0x50, 0x04, 0x0e, 0x7a, 0x69, 0xff, 0x85, 0x02, - 0x2d, 0xe6, 0x8b, 0x5f, 0x4b, 0x7a, 0x77, 0x25, 0x19, 0x6e, 0x7b, 0xd2, 0xce, 0xf0, 0xbd, 0xdf, - 0xfb, 0x98, 0x37, 0x6f, 0xde, 0x3c, 0x52, 0xf0, 0x1d, 0x0f, 0x3b, 0x9d, 0xf6, 0xa6, 0x8f, 0x66, - 0xf7, 0x6c, 0xbc, 0x3f, 0xbb, 0x77, 0x0d, 0xb5, 0xbc, 0x1d, 0x74, 0x8d, 0x8d, 0x1a, 0x9e, 0xef, - 0x12, 0x57, 0x9d, 0x94, 0x24, 0x0d, 0x36, 0x29, 0x49, 0xea, 0x33, 0x21, 0xab, 0xe9, 0xfa, 0x78, - 0xd6, 0xdc, 0x41, 0xb6, 0x13, 0x01, 0xb0, 0x21, 0x47, 0xa8, 0x5f, 0x49, 0x51, 0xfa, 0x87, 0x1e, - 0x71, 0x63, 0xa4, 0x6c, 0x2c, 0x68, 0x5f, 0x48, 0xd2, 0x5a, 0xf8, 0x20, 0x22, 0xb4, 0xf0, 0x81, - 0xa0, 0xba, 0x9e, 0xa4, 0x22, 0x3e, 0x72, 0x02, 0x64, 0x12, 0xdb, 0x8d, 0x69, 0x10, 0x9b, 0xcc, - 0xc6, 0xb6, 0x37, 0xcd, 0x88, 0xda, 0xde, 0x34, 0x05, 0x55, 0xca, 0xae, 0x80, 0xa0, 0x5d, 0x1c, - 0xd1, 0xb1, 0x21, 0xa7, 0xd4, 0xbe, 0x51, 0xa0, 0xb6, 0xd0, 0x21, 0x3b, 0xae, 0x6f, 0xff, 0x0c, - 0x2f, 0x38, 0x56, 0xb3, 0x63, 0xb7, 0x2c, 0x1d, 0x7f, 0xdc, 0xc1, 0x01, 0x51, 0x7f, 0x02, 0x13, - 0x31, 0x0d, 0x0c, 0xaf, 0x85, 0x9c, 0x9a, 0xf2, 0x9c, 0x32, 0x53, 0x9a, 0x7b, 0xb5, 0x11, 0x7a, - 0x94, 0x4a, 0x68, 0xc4, 0x15, 0x95, 0x72, 0x1a, 0xf7, 0xa2, 0xc9, 0xd5, 0x16, 0x72, 0xf4, 0x2a, - 0x49, 0x4e, 0xa8, 0x16, 0xa8, 0x48, 0xc8, 0x46, 0x4c, 0x82, 0x85, 0x08, 0xaa, 0x15, 0x98, 0x84, - 0xd7, 0xfa, 0x91, 0xb0, 0x10, 0xe7, 0x5e, 0x44, 0x04, 0xe9, 0x67, 0x50, 0x7a, 0x4a, 0x73, 0xe0, - 0x42, 0x86, 0x85, 0x81, 0xe7, 0x3a, 0x01, 0x56, 0x7f, 0x08, 0xa5, 0x18, 0xb2, 0xb0, 0x6e, 0x76, - 0x40, 0xeb, 0xf4, 0x38, 0x86, 0xf6, 0x85, 0x02, 0x4f, 0x35, 0x7d, 0x17, 0x59, 0x26, 0x0a, 0x48, - 0x9c, 0x4a, 0x78, 0xf5, 0xe4, 0x45, 0xaa, 0x97, 0xa1, 0x8a, 0xf6, 0x91, 0x4d, 0x0c, 0x0b, 0x13, - 0xcc, 0x61, 0xa9, 0x17, 0xc7, 0xf4, 0x0a, 0x9b, 0x5e, 0x94, 0xb3, 0xda, 0x27, 0x0a, 0x3c, 0x9d, - 0xad, 0x9b, 0xf0, 0xc7, 0xeb, 0x50, 0xb0, 0x2d, 0xa1, 0xd3, 0xa5, 0x7e, 0x74, 0x5a, 0xb1, 0xf4, - 0x82, 0x6d, 0xa9, 0x2f, 0xc2, 0x44, 0x28, 0xdb, 0xd8, 0xc1, 0xf6, 0xf6, 0x0e, 0x61, 0x2a, 0x0c, - 0xe9, 0xd5, 0x70, 0x7e, 0x99, 0x4d, 0x6b, 0x5f, 0x00, 0x5c, 0x48, 0x85, 0x86, 0x83, 0x7d, 0xe9, - 0x9d, 0xe7, 0xa1, 0x8c, 0x0f, 0x3c, 0xdb, 0x3f, 0x94, 0x28, 0x0a, 0x43, 0x19, 0xe7, 0x93, 0x1c, - 0x42, 0xbd, 0x0e, 0xc5, 0x2d, 0x8c, 0x45, 0xa4, 0x68, 0x29, 0x35, 0xc5, 0x5e, 0x0c, 0x35, 0x5c, - 0xc2, 0x58, 0xa7, 0xe4, 0xaa, 0x0a, 0x43, 0x6d, 0xdc, 0x76, 0x6b, 0xc5, 0xe7, 0x94, 0x99, 0xd3, - 0x3a, 0xfb, 0xad, 0x6e, 0xc0, 0x04, 0x32, 0x4d, 0xb7, 0xe3, 0x10, 0x63, 0xdb, 0x77, 0x3b, 0x9e, - 0x61, 0x5b, 0xb5, 0x0a, 0x83, 0x7d, 0xa5, 0x07, 0xec, 0x02, 0x67, 0xbb, 0x49, 0xb9, 0x56, 0xac, - 0xe5, 0x53, 0x7a, 0x05, 0x25, 0x66, 0x1e, 0x28, 0x8a, 0xaa, 0xc3, 0xa8, 0xdb, 0x21, 0x5e, 0x87, - 0x04, 0xb5, 0x73, 0xcf, 0x15, 0x67, 0x4a, 0x73, 0x6f, 0x34, 0xb2, 0x33, 0x51, 0x23, 0xd7, 0x21, - 0x8d, 0xbb, 0x0c, 0x40, 0x97, 0x40, 0xea, 0x7b, 0x30, 0x1c, 0xec, 0x23, 0x2f, 0xa8, 0x4d, 0x33, - 0xc4, 0xd7, 0x07, 0x47, 0x5c, 0xdb, 0x47, 0x9e, 0xce, 0x41, 0xd4, 0x0d, 0x28, 0x59, 0xb8, 0x85, - 0xb7, 0xd9, 0x76, 0x09, 0x6a, 0x33, 0x0c, 0x73, 0x7e, 0x70, 0xcc, 0x45, 0x0e, 0x82, 0xf5, 0x38, - 0x9c, 0xba, 0x09, 0xe5, 0x8e, 0x13, 0xc7, 0x9f, 0x63, 0xf8, 0x6f, 0x0d, 0x8e, 0x7f, 0x5f, 0xc2, - 0x60, 0x3d, 0x09, 0xa9, 0x2e, 0x41, 0xc9, 0xde, 0x34, 0x0d, 0xce, 0x15, 0xd4, 0xde, 0x62, 0x12, - 0x2e, 0xa6, 0x16, 0x8f, 0xa6, 0xc6, 0x28, 0x64, 0x37, 0xcd, 0x05, 0x1e, 0xf5, 0x60, 0xcb, 0x9f, - 0x41, 0xfd, 0x97, 0x0a, 0x8c, 0x70, 0x5f, 0xab, 0xf3, 0x30, 0xbc, 0x87, 0x5a, 0x1d, 0x2c, 0xf6, - 0xc1, 0x0b, 0x3d, 0x22, 0x61, 0x9d, 0xd2, 0xea, 0x9c, 0x45, 0x7d, 0x07, 0x46, 0x91, 0x65, 0xf9, - 0x38, 0x08, 0x44, 0x78, 0x5e, 0xea, 0x15, 0x47, 0x9c, 0x5a, 0x97, 0x6c, 0xf5, 0x3f, 0x2a, 0x30, - 0x44, 0x97, 0xe8, 0x58, 0x6a, 0xac, 0xc0, 0x38, 0x41, 0xfe, 0x36, 0x26, 0x06, 0x0a, 0x02, 0x4c, - 0xfa, 0xd5, 0x85, 0xd2, 0xae, 0x58, 0x7a, 0x89, 0xf3, 0xb2, 0xa1, 0xdc, 0x6c, 0xc5, 0x81, 0x36, - 0x5b, 0xfd, 0x73, 0x05, 0xc6, 0x64, 0x50, 0xa8, 0x6f, 0xc3, 0x08, 0x6a, 0xd3, 0xbd, 0x21, 0x4c, - 0xb9, 0xd8, 0x4b, 0x0f, 0x46, 0xac, 0x0b, 0x26, 0xf5, 0x06, 0x9c, 0xf6, 0x11, 0xc1, 0xfc, 0x78, - 0x28, 0x66, 0x5a, 0xc2, 0xcf, 0xb4, 0x10, 0x40, 0x47, 0x04, 0xb3, 0xf3, 0x60, 0xcc, 0x17, 0xbf, - 0xea, 0xbf, 0x52, 0x00, 0xa2, 0x28, 0x3a, 0x96, 0x73, 0x13, 0xfa, 0x14, 0x8e, 0xa6, 0x4f, 0xf3, - 0x2c, 0x9c, 0x31, 0xd2, 0xa9, 0x47, 0xc3, 0x50, 0xcf, 0xda, 0x03, 0x22, 0x39, 0xdf, 0x84, 0xa1, - 0xe3, 0x9e, 0xc1, 0x0c, 0x40, 0xfb, 0x8d, 0x02, 0xe7, 0x45, 0xdc, 0x35, 0x0f, 0x57, 0x1c, 0x0b, - 0x1f, 0xc8, 0xf4, 0xbb, 0x0a, 0x65, 0x11, 0x87, 0x86, 0x4d, 0xe7, 0x85, 0xac, 0x97, 0xfa, 0x0b, - 0x62, 0x0e, 0x35, 0x8e, 0x62, 0x23, 0x7a, 0x36, 0x59, 0x76, 0xe0, 0xb5, 0xd0, 0xa1, 0x61, 0xba, - 0xce, 0x96, 0xed, 0xb7, 0xe5, 0xd9, 0x24, 0xa6, 0x6f, 0xf0, 0x59, 0xed, 0x43, 0x98, 0x4c, 0xeb, - 0x24, 0xec, 0x8e, 0xed, 0x29, 0xe5, 0x48, 0x7b, 0x4a, 0xfb, 0x00, 0xce, 0x33, 0xc8, 0xe6, 0xa1, - 0x7c, 0x24, 0xec, 0x3d, 0x3e, 0xf4, 0x27, 0x0a, 0x4c, 0xa6, 0xb1, 0x85, 0xde, 0xf7, 0x8f, 0xef, - 0xcc, 0xe5, 0x53, 0x49, 0x77, 0x3e, 0x50, 0x94, 0xe6, 0x04, 0x54, 0x8c, 0x04, 0xae, 0xf6, 0x5b, - 0x05, 0xa6, 0xde, 0xf5, 0x76, 0x70, 0x1b, 0xfb, 0xa8, 0x95, 0xb2, 0xf0, 0x09, 0xae, 0xe8, 0x06, - 0xd4, 0xba, 0xb5, 0x3a, 0xb1, 0x35, 0xfd, 0x52, 0x81, 0x6a, 0x13, 0xb5, 0x90, 0x63, 0xe2, 0xd0, - 0x58, 0x1d, 0xe4, 0x29, 0x6c, 0x6c, 0xd9, 0x2d, 0x82, 0xfd, 0xa3, 0x58, 0x5b, 0x16, 0x10, 0x4b, - 0x0c, 0x41, 0xbd, 0x03, 0x55, 0x96, 0x43, 0x0d, 0xdb, 0x92, 0xa0, 0x83, 0x65, 0xd3, 0x32, 0xe2, - 0x3f, 0x38, 0x1e, 0xad, 0x0f, 0x27, 0x22, 0xbd, 0x85, 0x3b, 0xde, 0x85, 0x51, 0x21, 0xf5, 0x28, - 0x1a, 0x4b, 0x5e, 0xf5, 0xfb, 0x30, 0xba, 0xc9, 0xa1, 0x85, 0x8e, 0xfd, 0xe5, 0x35, 0xc9, 0xa4, - 0x5d, 0x84, 0xf2, 0xba, 0x8d, 0xf7, 0x69, 0xbd, 0x7c, 0xcf, 0xdd, 0xc5, 0x8e, 0x7a, 0x0e, 0x86, - 0x6d, 0x9a, 0x83, 0x98, 0x56, 0xe3, 0x3a, 0x1f, 0x68, 0x3a, 0x54, 0x25, 0x99, 0xf4, 0xfc, 0x0f, - 0xa0, 0xb8, 0xb5, 0xb7, 0x2b, 0x94, 0xef, 0x55, 0x3b, 0x2d, 0x75, 0x5a, 0x2d, 0x0a, 0x60, 0x3b, - 0xdb, 0xb7, 0xf0, 0xa1, 0x4e, 0x39, 0xb5, 0xbb, 0x30, 0x11, 0x61, 0x0a, 0xaf, 0xbc, 0x09, 0xc3, - 0x84, 0xaa, 0xd1, 0x7d, 0x6c, 0x24, 0xeb, 0x86, 0x84, 0xce, 0x3a, 0xe7, 0xd1, 0x7e, 0xa1, 0x40, - 0x79, 0x8d, 0x20, 0xd2, 0x09, 0xa3, 0xe3, 0xb1, 0x16, 0x7b, 0xd9, 0x09, 0x5d, 0x87, 0x8a, 0xd4, - 0x41, 0xd8, 0xf4, 0x2c, 0x94, 0x82, 0x43, 0xc7, 0x4c, 0x96, 0xb7, 0x40, 0xa7, 0x44, 0x71, 0xfb, - 0x2c, 0x94, 0x4c, 0x44, 0xcc, 0x1d, 0xdb, 0xd9, 0x36, 0x3a, 0x9e, 0xd8, 0x5a, 0x20, 0xa7, 0xee, - 0x7b, 0xda, 0x03, 0x05, 0xce, 0x72, 0xd0, 0x35, 0xe2, 0x63, 0xd4, 0x7e, 0x82, 0xe6, 0xf9, 0x70, - 0x2e, 0xa9, 0x89, 0x30, 0xf2, 0x7b, 0x70, 0xa1, 0x85, 0x08, 0x0e, 0x88, 0xb1, 0xeb, 0xb8, 0xfb, - 0x8e, 0xb1, 0xd9, 0x72, 0xcd, 0xdd, 0xa4, 0xc9, 0x93, 0x9c, 0xe0, 0x16, 0x7d, 0xde, 0xa4, 0x8f, - 0x23, 0xf3, 0xe3, 0xfe, 0x29, 0xa4, 0xfd, 0xa3, 0x7d, 0x56, 0x84, 0xf1, 0x3b, 0x2e, 0x89, 0x36, - 0xfd, 0xf3, 0x50, 0xb6, 0x1d, 0xb3, 0xd5, 0xb1, 0xb0, 0x11, 0x78, 0xd8, 0x21, 0xc2, 0x65, 0xe3, - 0x62, 0x72, 0x8d, 0xce, 0xa9, 0x0b, 0x30, 0x26, 0x77, 0x71, 0x4e, 0x09, 0x91, 0xb7, 0x7d, 0x47, - 0xc5, 0xf6, 0xed, 0xce, 0xa4, 0x43, 0xc7, 0xcd, 0xa4, 0xb7, 0xa1, 0xca, 0x4b, 0x1c, 0x83, 0xb8, - 0x4c, 0x77, 0xab, 0x36, 0x32, 0x48, 0x81, 0x54, 0xe6, 0xdc, 0xf7, 0x5c, 0x6a, 0xa3, 0xf5, 0x24, - 0x02, 0xe0, 0x41, 0x01, 0xce, 0xb3, 0xc5, 0x58, 0x72, 0xfd, 0x75, 0x97, 0xd8, 0xce, 0xb6, 0x5c, - 0x95, 0x2b, 0x70, 0x66, 0xcf, 0x25, 0x68, 0xb3, 0x85, 0x0d, 0x44, 0x92, 0x4b, 0x5f, 0x15, 0x0f, - 0x16, 0x88, 0x58, 0xf3, 0x2e, 0xcf, 0x16, 0x8f, 0xeb, 0xd9, 0x27, 0xe0, 0x8a, 0xaf, 0x0a, 0x50, - 0x79, 0xdf, 0x26, 0x4e, 0xec, 0xec, 0xfd, 0x00, 0x26, 0x1c, 0x97, 0x60, 0xc3, 0x74, 0xdb, 0x6d, - 0x9b, 0xb4, 0xb1, 0x43, 0xe8, 0xad, 0x80, 0x5e, 0x50, 0x1a, 0x3d, 0xb4, 0xa0, 0xbb, 0x0a, 0xdf, - 0x08, 0xd9, 0xf4, 0x2a, 0xc5, 0x89, 0xc6, 0x41, 0x66, 0x6f, 0xa6, 0x78, 0x82, 0xbd, 0x99, 0x27, - 0xe0, 0x40, 0x0c, 0xd5, 0xd0, 0x7f, 0x22, 0x8f, 0xe8, 0x30, 0xbe, 0xcf, 0xa7, 0x78, 0xb1, 0x3d, - 0x40, 0xb3, 0x44, 0x40, 0xb1, 0xaa, 0xbb, 0xb4, 0x1f, 0x0d, 0xb4, 0xbf, 0x29, 0x30, 0x29, 0x1e, - 0xfe, 0x7f, 0x36, 0xbc, 0x5a, 0x30, 0xd5, 0x65, 0xdf, 0xe3, 0x6b, 0x77, 0xfd, 0xa1, 0x08, 0x65, - 0x96, 0x2a, 0xc3, 0xa8, 0xaf, 0xc3, 0x18, 0xaf, 0x93, 0x30, 0xef, 0x24, 0x8d, 0xe9, 0xe1, 0x58, - 0xfd, 0x29, 0x4c, 0xc7, 0x72, 0xb5, 0x69, 0x6f, 0xd9, 0xa6, 0x61, 0x61, 0xc7, 0x6d, 0xdb, 0x8e, - 0x68, 0x11, 0xf0, 0xfd, 0xd1, 0xab, 0x6e, 0x59, 0xa4, 0x3c, 0xfa, 0xd3, 0x51, 0x8a, 0x67, 0x50, - 0x8b, 0x71, 0x24, 0x75, 0x1e, 0x2e, 0x48, 0x59, 0x51, 0xc3, 0xc0, 0x60, 0xc5, 0x41, 0xc0, 0xf6, - 0xca, 0x98, 0x3e, 0x25, 0x08, 0x16, 0xc3, 0xe7, 0xac, 0x84, 0x08, 0xd4, 0x37, 0xa0, 0x26, 0x79, - 0x3b, 0xce, 0xa6, 0xeb, 0x58, 0xf4, 0x34, 0x16, 0xac, 0x43, 0x8c, 0x75, 0x52, 0x3c, 0xbf, 0x2f, - 0x1f, 0x0b, 0xce, 0x4b, 0x50, 0x95, 0x9c, 0x2d, 0xcf, 0x70, 0xb6, 0x48, 0x50, 0x1b, 0x66, 0x0c, - 0xf2, 0x90, 0x7a, 0xcf, 0xbb, 0xb3, 0x45, 0x02, 0x75, 0x0e, 0xce, 0x4b, 0x3a, 0xcf, 0x77, 0x3d, - 0x37, 0x40, 0x2d, 0x4e, 0x3d, 0xc2, 0xa8, 0xcf, 0x8a, 0x87, 0xab, 0xe2, 0x19, 0xe3, 0x59, 0x80, - 0x67, 0x24, 0xcf, 0x1e, 0x4b, 0xb6, 0x86, 0x8f, 0x4d, 0x6c, 0x7b, 0x44, 0xaa, 0x36, 0xca, 0x78, - 0xeb, 0x82, 0x48, 0x26, 0x64, 0x46, 0xc2, 0xd5, 0xd3, 0x30, 0x54, 0xe4, 0x6a, 0x89, 0x98, 0x58, - 0x83, 0x0a, 0x5b, 0x01, 0xa3, 0x8d, 0x09, 0x8a, 0x05, 0xe4, 0xcb, 0xfd, 0x2c, 0xc1, 0x6d, 0xc1, - 0xa3, 0x97, 0xad, 0xf8, 0x50, 0xab, 0xc1, 0xe4, 0x8d, 0x1d, 0x64, 0x3b, 0xab, 0xc8, 0x47, 0x6d, - 0x4c, 0xb0, 0x2f, 0xa3, 0x43, 0xdb, 0x81, 0xa9, 0xae, 0x27, 0x42, 0x93, 0xdb, 0x00, 0x5e, 0x38, - 0x9b, 0x57, 0x4a, 0xb2, 0xa6, 0x7c, 0xa8, 0x44, 0x1a, 0x2a, 0x06, 0xa0, 0x4d, 0xc2, 0xb9, 0xa5, - 0xdb, 0x8b, 0xdd, 0x1a, 0x58, 0x70, 0x3e, 0x35, 0x2f, 0xe4, 0xdf, 0xca, 0x90, 0xff, 0xd2, 0xa3, - 0xe5, 0x2f, 0xb5, 0xad, 0x1c, 0xe9, 0x9f, 0x17, 0x60, 0x8a, 0x9e, 0x8c, 0xcd, 0xc3, 0x58, 0x1a, - 0x17, 0x3b, 0xe4, 0x7d, 0xa8, 0xa6, 0xce, 0x05, 0xe1, 0xf3, 0x41, 0x8f, 0x85, 0x4a, 0xf2, 0x58, - 0xc8, 0x6a, 0x04, 0x17, 0xb3, 0x1a, 0xc1, 0x4f, 0x22, 0xbd, 0x3b, 0x50, 0xeb, 0xf6, 0x47, 0x98, - 0xe7, 0x2b, 0xac, 0xfc, 0x61, 0xe5, 0x02, 0xb5, 0xa9, 0xdb, 0xfb, 0xc9, 0x8a, 0x7f, 0x4d, 0x52, - 0x53, 0x48, 0x1d, 0x9b, 0xae, 0x6f, 0xe9, 0xe5, 0x20, 0x3e, 0xc9, 0x16, 0x60, 0x6d, 0x1f, 0x79, - 0x39, 0x0b, 0x10, 0xec, 0x23, 0xef, 0x04, 0x16, 0x80, 0xc2, 0xfc, 0x8f, 0x2c, 0x80, 0x0e, 0xb5, - 0x6e, 0x7f, 0x84, 0x7d, 0xff, 0x21, 0x6a, 0x89, 0x70, 0xbb, 0x96, 0xeb, 0xf6, 0x7d, 0xe4, 0x09, - 0x6f, 0x33, 0x7a, 0xed, 0x5f, 0x0a, 0x4c, 0xde, 0xe9, 0xb4, 0x5a, 0xf6, 0x96, 0x8d, 0xfd, 0xe4, - 0x6d, 0x6b, 0x09, 0x4e, 0x3b, 0xf2, 0x89, 0xf0, 0xee, 0x4c, 0x0f, 0xd3, 0x42, 0x24, 0x3d, 0x62, - 0xfd, 0xaf, 0x76, 0xe9, 0x2c, 0x4c, 0x75, 0x59, 0x2f, 0x3c, 0x7a, 0x0e, 0x86, 0xf9, 0x6d, 0x84, - 0x1f, 0x81, 0x7c, 0xa0, 0xad, 0xc3, 0xd3, 0xb1, 0x93, 0x74, 0xc5, 0xd9, 0x72, 0x9b, 0x87, 0xcb, - 0x28, 0x08, 0xaf, 0xd1, 0xfc, 0xfd, 0x4b, 0x61, 0xd0, 0xf7, 0x2f, 0xda, 0xa7, 0x0a, 0x4c, 0xa6, - 0x80, 0x25, 0xe4, 0x25, 0x18, 0x0f, 0x08, 0xf2, 0x93, 0x35, 0xf8, 0xf2, 0x29, 0xbd, 0xc4, 0x66, - 0x79, 0x05, 0xfe, 0x40, 0x51, 0x54, 0x0d, 0x00, 0x3b, 0x56, 0xe2, 0xde, 0xb5, 0xac, 0xe8, 0xa7, - 0xb1, 0x63, 0x85, 0x34, 0xcd, 0x2a, 0x94, 0x8d, 0x38, 0x58, 0xb3, 0x0c, 0x25, 0x23, 0xe2, 0xd2, - 0xfe, 0x59, 0x80, 0x6a, 0x4a, 0x0d, 0xf5, 0x29, 0x18, 0x49, 0x49, 0x16, 0x63, 0x2a, 0xf4, 0x88, - 0xf6, 0xa6, 0x0b, 0x99, 0xe2, 0x09, 0xbc, 0x44, 0xdb, 0x80, 0x92, 0x87, 0x7d, 0x5a, 0x95, 0x10, - 0x7b, 0x0f, 0x8b, 0xcb, 0xdd, 0xfc, 0xa0, 0x75, 0x5f, 0x84, 0xa0, 0xc7, 0xe1, 0xd4, 0x9b, 0x30, - 0x44, 0xb7, 0x12, 0xab, 0x05, 0x06, 0x2f, 0x27, 0xd7, 0x6d, 0xbc, 0xaf, 0x33, 0x80, 0xe6, 0x69, - 0x18, 0x95, 0xde, 0xfe, 0x31, 0x4c, 0x75, 0xad, 0x79, 0xd4, 0x5e, 0x23, 0x07, 0x86, 0xed, 0x6c, - 0xb9, 0x62, 0x4b, 0x5f, 0xee, 0xe3, 0x9d, 0x0b, 0x43, 0x18, 0x21, 0x07, 0xf4, 0xaf, 0x86, 0xe0, - 0x99, 0x9c, 0x48, 0x3d, 0x31, 0x11, 0x1f, 0x41, 0x59, 0x5c, 0xe4, 0x05, 0xe4, 0x7b, 0x50, 0x62, - 0xe7, 0xa2, 0xcf, 0x52, 0xcc, 0x51, 0xce, 0x00, 0x70, 0xc2, 0xdf, 0xda, 0x97, 0x34, 0x37, 0xa5, - 0xee, 0xa6, 0x8f, 0x43, 0x90, 0x7a, 0x1b, 0xc6, 0x6d, 0x0b, 0x3b, 0xc4, 0x26, 0x87, 0xc6, 0x2e, - 0x3e, 0x14, 0xe1, 0x7c, 0xa5, 0x47, 0xd2, 0x59, 0x11, 0x2c, 0xb7, 0xf0, 0xa1, 0x5e, 0xb2, 0xa3, - 0x81, 0xf6, 0xef, 0x22, 0x9c, 0xcd, 0x10, 0x99, 0x55, 0x35, 0x28, 0x27, 0x52, 0x35, 0x7c, 0x17, - 0x86, 0xd8, 0x99, 0xcb, 0xf5, 0x7e, 0xbe, 0x57, 0x92, 0xa6, 0x1a, 0x31, 0x86, 0xc7, 0x70, 0x6f, - 0x4f, 0x1c, 0x1a, 0x43, 0x47, 0x3f, 0x34, 0x2e, 0x42, 0x85, 0x6f, 0x12, 0xc3, 0xf4, 0x31, 0x22, - 0xd8, 0x62, 0x1b, 0x6f, 0x48, 0x2f, 0xf3, 0xd9, 0x1b, 0x7c, 0x92, 0xe6, 0x46, 0x41, 0xc6, 0x73, - 0xf5, 0x88, 0xcc, 0x8d, 0x7c, 0x96, 0xb5, 0x8e, 0x68, 0x9a, 0xaa, 0xc3, 0x98, 0xe7, 0x06, 0x36, - 0xcb, 0x35, 0xa3, 0x0c, 0x28, 0x1c, 0xab, 0xef, 0xc0, 0x48, 0xe0, 0x76, 0x7c, 0x13, 0xd7, 0xc6, - 0xb2, 0xf5, 0x4d, 0x56, 0x8c, 0xd4, 0x7d, 0x6b, 0x8c, 0x5e, 0x17, 0x7c, 0x2c, 0xab, 0xc6, 0xd5, - 0xd0, 0xfe, 0x5a, 0x04, 0x88, 0x8e, 0xda, 0xac, 0x6a, 0x45, 0x39, 0x91, 0x6a, 0xe5, 0x6d, 0x71, - 0xea, 0xf3, 0x85, 0x7f, 0x31, 0x85, 0x66, 0xe1, 0x83, 0xe4, 0xc9, 0xbf, 0xda, 0x42, 0xb6, 0x43, - 0xf0, 0x01, 0xe1, 0x87, 0x7f, 0xc2, 0x2b, 0xc5, 0x94, 0x57, 0x4e, 0x6a, 0x21, 0x57, 0xa1, 0xc4, - 0xdf, 0x7c, 0xf3, 0xbb, 0xf2, 0x70, 0x66, 0xa2, 0x4f, 0x68, 0xda, 0x44, 0xc4, 0xdc, 0xa1, 0xea, - 0xf2, 0xb7, 0xb9, 0xec, 0x96, 0x0c, 0x6e, 0xf8, 0x5b, 0xbd, 0x12, 0x85, 0x46, 0x0b, 0xd9, 0x6d, - 0x6c, 0x85, 0xab, 0x2e, 0x83, 0x83, 0x4f, 0xd3, 0x75, 0x8f, 0xd6, 0x76, 0xf4, 0x88, 0x6b, 0x7b, - 0x06, 0xaa, 0x46, 0x52, 0x9c, 0xf6, 0x77, 0x05, 0xa6, 0xee, 0xee, 0x3b, 0xd8, 0x5a, 0x15, 0xce, - 0x5a, 0xb1, 0xc2, 0xa2, 0xe9, 0x3e, 0x54, 0xa4, 0x0b, 0xe9, 0x41, 0x1b, 0x16, 0xc2, 0x8f, 0x5c, - 0x1b, 0x89, 0xc3, 0x96, 0x9b, 0xda, 0xe1, 0xc5, 0x27, 0xa8, 0x1d, 0x77, 0x61, 0x9c, 0xf8, 0x88, - 0x5d, 0x62, 0x3d, 0x64, 0xcb, 0x72, 0xec, 0xf2, 0xa3, 0x40, 0xef, 0x71, 0xfa, 0x55, 0x64, 0xfb, - 0xcb, 0x0a, 0x3b, 0x29, 0xe5, 0x90, 0x16, 0x02, 0xd4, 0xac, 0xa4, 0xa2, 0x2c, 0x8a, 0xe3, 0x42, - 0x34, 0x0c, 0xb5, 0x6e, 0x33, 0x45, 0x02, 0x5e, 0x81, 0xf1, 0x90, 0xdd, 0xb6, 0xe8, 0x65, 0xab, - 0x98, 0x51, 0x01, 0x64, 0x5a, 0xb9, 0x62, 0xe9, 0x25, 0x2f, 0x82, 0x9c, 0xfb, 0xea, 0x2c, 0x9c, - 0xa5, 0xe7, 0xe3, 0xaa, 0xef, 0x12, 0xd7, 0x74, 0x5b, 0x6b, 0xd8, 0xdf, 0xb3, 0x4d, 0xac, 0xbe, - 0x0f, 0x23, 0xbc, 0x24, 0x53, 0x73, 0xdf, 0x1b, 0x24, 0x0a, 0xd6, 0xfa, 0xa5, 0x5e, 0x64, 0x42, - 0xf7, 0x5d, 0x18, 0x8f, 0x37, 0xbd, 0xd5, 0x97, 0x1e, 0xcd, 0x97, 0x68, 0xd2, 0xd7, 0x5f, 0xee, - 0x8f, 0x98, 0x8b, 0xba, 0xaa, 0xa8, 0xeb, 0x30, 0xcc, 0xce, 0x30, 0xf5, 0x85, 0x3c, 0xc6, 0x78, - 0x2f, 0xbc, 0x7e, 0xb1, 0x07, 0x55, 0x88, 0xfb, 0x31, 0x54, 0x92, 0x67, 0xa3, 0xfa, 0xca, 0x23, - 0x59, 0xd3, 0xfd, 0xdd, 0x7a, 0xa3, 0x5f, 0xf2, 0x50, 0xe4, 0x87, 0x30, 0x2a, 0xfa, 0x52, 0x6a, - 0xae, 0xab, 0x93, 0x0d, 0xd4, 0xfa, 0xe5, 0x9e, 0x74, 0x62, 0x4d, 0xfc, 0xb0, 0x77, 0x28, 0x7b, - 0x5e, 0x6a, 0xa3, 0x07, 0x6f, 0xaa, 0xf9, 0x57, 0x9f, 0xed, 0x9b, 0x5e, 0xc8, 0xfc, 0x00, 0x46, - 0x78, 0x2b, 0x25, 0x3f, 0xc0, 0x12, 0x8d, 0xb1, 0xfc, 0x00, 0x4b, 0x76, 0x64, 0xae, 0x2a, 0xd4, - 0x9c, 0x54, 0x67, 0x23, 0xdf, 0x9c, 0xec, 0x3e, 0x4b, 0xbe, 0x39, 0x79, 0xdd, 0x97, 0x16, 0x94, - 0x13, 0x6d, 0x11, 0x35, 0x37, 0x54, 0xb3, 0xba, 0x2a, 0xf5, 0x57, 0xfa, 0xa4, 0x16, 0xd2, 0x5c, - 0xa8, 0x24, 0xdf, 0xf6, 0xe7, 0xc7, 0x5f, 0xe6, 0x97, 0x0a, 0xf9, 0xf1, 0x97, 0xf3, 0x11, 0x81, - 0x0b, 0x95, 0xe4, 0x6b, 0xfa, 0x7c, 0x81, 0x99, 0x9f, 0x0a, 0xe4, 0x0b, 0xcc, 0x79, 0xfb, 0xdf, - 0x81, 0x89, 0xf4, 0xdb, 0x6f, 0x35, 0x77, 0x51, 0x72, 0xde, 0xde, 0xd7, 0xaf, 0xf6, 0xcf, 0x20, - 0xc4, 0x1a, 0x30, 0x26, 0xdf, 0x2e, 0xab, 0xb9, 0xdb, 0x27, 0xf5, 0xde, 0xbc, 0x3e, 0xd3, 0x9b, - 0x30, 0x8c, 0xcd, 0x0e, 0x4c, 0xa4, 0xfb, 0x38, 0xf9, 0x76, 0xe5, 0x74, 0xc0, 0xf2, 0xed, 0xca, - 0x6d, 0x11, 0x75, 0x60, 0x22, 0xdd, 0xbd, 0xc8, 0x17, 0x9b, 0xd3, 0xf7, 0xc9, 0x17, 0x9b, 0xdb, - 0x18, 0xf1, 0xa1, 0x9a, 0xba, 0xe1, 0xe7, 0xef, 0xc4, 0xec, 0x46, 0x48, 0xfe, 0x4e, 0xcc, 0x6b, - 0x1d, 0x7c, 0xaa, 0xc0, 0xf9, 0xcc, 0xbb, 0x97, 0x7a, 0xbd, 0xcf, 0x2b, 0x56, 0xa2, 0xa9, 0x50, - 0x7f, 0x6d, 0x40, 0x2e, 0xa1, 0x06, 0xe9, 0xbe, 0xcb, 0x37, 0xfa, 0xbd, 0xe2, 0xf5, 0x32, 0x3d, - 0xe7, 0xde, 0x7a, 0x55, 0x51, 0x7f, 0x0e, 0x6a, 0xf7, 0x27, 0x50, 0xea, 0xb5, 0x81, 0x3f, 0x19, - 0xac, 0xcf, 0x0d, 0xc2, 0x22, 0x4c, 0xfe, 0x44, 0x81, 0x73, 0x59, 0xdf, 0xc7, 0xaa, 0xaf, 0xe6, - 0x6e, 0x90, 0xfc, 0x2f, 0x7d, 0xeb, 0xd7, 0x07, 0x63, 0x8a, 0x02, 0x3d, 0x5d, 0x36, 0xe5, 0x07, - 0x7a, 0x4e, 0x1d, 0x99, 0x1f, 0xe8, 0xb9, 0x15, 0xd9, 0x01, 0x9c, 0xe9, 0xfa, 0x4c, 0x5a, 0xcd, - 0x85, 0xc9, 0xfb, 0x66, 0xbc, 0x7e, 0x6d, 0x00, 0x0e, 0x2e, 0x79, 0xce, 0x8b, 0xbe, 0x26, 0x91, - 0xb5, 0xdb, 0x47, 0x30, 0x26, 0xa7, 0xf2, 0x93, 0x58, 0xea, 0x13, 0x94, 0xfc, 0x24, 0x96, 0xfe, - 0xae, 0xa4, 0xf9, 0x59, 0xe1, 0x4f, 0x0f, 0xa7, 0x95, 0xaf, 0x1f, 0x4e, 0x2b, 0xdf, 0x3c, 0x9c, - 0x56, 0x7e, 0xfd, 0xed, 0xf4, 0xa9, 0xaf, 0xbf, 0x9d, 0x3e, 0xf5, 0x97, 0x6f, 0xa7, 0x4f, 0x41, - 0xdd, 0x74, 0xdb, 0x39, 0x38, 0xcd, 0xd3, 0x61, 0x99, 0xb9, 0xaa, 0x7c, 0x78, 0x77, 0xdb, 0x26, - 0x3b, 0x9d, 0xcd, 0x86, 0xe9, 0xb6, 0x67, 0x4d, 0x37, 0x68, 0xbb, 0xc1, 0xac, 0x8f, 0x5b, 0xe8, - 0x10, 0xfb, 0xb3, 0x7b, 0x73, 0xe1, 0x4f, 0x76, 0x41, 0x08, 0x66, 0xb3, 0xff, 0x45, 0xe1, 0x4d, - 0x3a, 0x92, 0x83, 0xdf, 0x15, 0x8a, 0xab, 0xeb, 0x3f, 0xfa, 0x7d, 0x61, 0x72, 0x55, 0x0a, 0xa7, - 0xd2, 0x1a, 0xeb, 0xe2, 0xf1, 0x9f, 0xa3, 0x07, 0x1b, 0xf4, 0xc1, 0x86, 0x7c, 0xf0, 0xb0, 0xa0, - 0x65, 0x3f, 0xd8, 0xb8, 0xb9, 0xda, 0x94, 0xef, 0x63, 0xfe, 0x51, 0xa8, 0x49, 0xa2, 0xf9, 0x79, - 0x4a, 0x35, 0x3f, 0x2f, 0xc9, 0x36, 0x47, 0xd8, 0x7f, 0x02, 0xbc, 0xfa, 0x9f, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xa1, 0x4b, 0xc5, 0x96, 0x48, 0x31, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, + 0x15, 0xf7, 0x92, 0xfa, 0xf2, 0xa3, 0x48, 0xca, 0x6b, 0x5b, 0xa2, 0x99, 0x44, 0x49, 0x37, 0xb1, + 0xad, 0x38, 0x09, 0x65, 0x2b, 0x4e, 0x9a, 0x2a, 0x49, 0x1b, 0xd1, 0x8a, 0x2c, 0xc1, 0xb1, 0xad, + 0xae, 0x6c, 0xa5, 0x49, 0x95, 0x2e, 0x46, 0xbb, 0x23, 0x69, 0x2b, 0x72, 0x77, 0xb3, 0x3b, 0x14, + 0xc5, 0xf6, 0x94, 0x22, 0x28, 0x8c, 0x00, 0x0d, 0x8a, 0xa2, 0x97, 0x5c, 0x7b, 0x2c, 0x7a, 0xcd, + 0xb5, 0x28, 0xd0, 0x4b, 0xd1, 0x53, 0x8e, 0x05, 0x0a, 0x14, 0x81, 0x83, 0x5e, 0xda, 0x7f, 0xa1, + 0x40, 0x8b, 0xf9, 0x5a, 0xee, 0x2e, 0x77, 0x4d, 0x52, 0x92, 0xe1, 0xb6, 0x27, 0x71, 0x66, 0xde, + 0xfb, 0xbd, 0x8f, 0x99, 0x79, 0xf3, 0xe6, 0xcd, 0x0a, 0xbe, 0xe5, 0x61, 0xa7, 0xd5, 0xdc, 0xf6, + 0xd1, 0xfc, 0x81, 0x8d, 0xdb, 0xf3, 0x07, 0xd7, 0x50, 0xc3, 0xdb, 0x43, 0xd7, 0x58, 0xab, 0xe6, + 0xf9, 0x2e, 0x71, 0xd5, 0x69, 0x49, 0x52, 0x63, 0x9d, 0x92, 0xa4, 0x3a, 0x17, 0xb2, 0x9a, 0xae, + 0x8f, 0xe7, 0xcd, 0x3d, 0x64, 0x3b, 0x5d, 0x00, 0xd6, 0xe4, 0x08, 0xd5, 0x2b, 0x09, 0x4a, 0xbf, + 0xe3, 0x11, 0x37, 0x42, 0xca, 0xda, 0x82, 0xf6, 0x85, 0x38, 0xad, 0x85, 0x0f, 0xbb, 0x84, 0x16, + 0x3e, 0x14, 0x54, 0xd7, 0xe3, 0x54, 0xc4, 0x47, 0x4e, 0x80, 0x4c, 0x62, 0xbb, 0x11, 0x0d, 0x22, + 0x9d, 0xe9, 0xd8, 0xf6, 0xb6, 0xd9, 0xa5, 0xb6, 0xb7, 0x4d, 0x41, 0x95, 0xb0, 0x2b, 0x20, 0x68, + 0x1f, 0x77, 0xe9, 0x58, 0x93, 0x53, 0x6a, 0x5f, 0x2b, 0x50, 0x59, 0x6a, 0x91, 0x3d, 0xd7, 0xb7, + 0x7f, 0x82, 0x97, 0x1c, 0xab, 0xde, 0xb2, 0x1b, 0x96, 0x8e, 0x3f, 0x6e, 0xe1, 0x80, 0xa8, 0x3f, + 0x82, 0xa9, 0x88, 0x06, 0x86, 0xd7, 0x40, 0x4e, 0x45, 0x79, 0x4e, 0x99, 0x2b, 0x2c, 0xbc, 0x5a, + 0x0b, 0x3d, 0x4a, 0x25, 0xd4, 0xa2, 0x8a, 0x4a, 0x39, 0xb5, 0x7b, 0xdd, 0xce, 0xf5, 0x06, 0x72, + 0xf4, 0x32, 0x89, 0x77, 0xa8, 0x16, 0xa8, 0x48, 0xc8, 0x46, 0x4c, 0x82, 0x85, 0x08, 0xaa, 0xe4, + 0x98, 0x84, 0xd7, 0x06, 0x91, 0xb0, 0x14, 0xe5, 0x5e, 0x46, 0x04, 0xe9, 0x67, 0x50, 0xb2, 0x4b, + 0x73, 0xe0, 0x42, 0x8a, 0x85, 0x81, 0xe7, 0x3a, 0x01, 0x56, 0xbf, 0x0f, 0x85, 0x08, 0xb2, 0xb0, + 0x6e, 0x7e, 0x48, 0xeb, 0xf4, 0x28, 0x86, 0xf6, 0x85, 0x02, 0x4f, 0xd5, 0x7d, 0x17, 0x59, 0x26, + 0x0a, 0x48, 0x94, 0x4a, 0x78, 0xf5, 0xe4, 0x45, 0xaa, 0x97, 0xa1, 0x8c, 0xda, 0xc8, 0x26, 0x86, + 0x85, 0x09, 0xe6, 0xb0, 0xd4, 0x8b, 0x13, 0x7a, 0x89, 0x75, 0x2f, 0xcb, 0x5e, 0xed, 0x13, 0x05, + 0x9e, 0x4e, 0xd7, 0x4d, 0xf8, 0xe3, 0x75, 0xc8, 0xd9, 0x96, 0xd0, 0xe9, 0xd2, 0x20, 0x3a, 0xad, + 0x59, 0x7a, 0xce, 0xb6, 0xd4, 0x17, 0x61, 0x2a, 0x94, 0x6d, 0xec, 0x61, 0x7b, 0x77, 0x8f, 0x30, + 0x15, 0x46, 0xf4, 0x72, 0xd8, 0xbf, 0xca, 0xba, 0xb5, 0x2f, 0x00, 0x2e, 0x24, 0x96, 0x86, 0x83, + 0x7d, 0xe9, 0x9d, 0xe7, 0xa1, 0x88, 0x0f, 0x3d, 0xdb, 0xef, 0x48, 0x14, 0x85, 0xa1, 0x4c, 0xf2, + 0x4e, 0x0e, 0xa1, 0x5e, 0x87, 0xfc, 0x0e, 0xc6, 0x62, 0xa5, 0x68, 0x09, 0x35, 0xc5, 0x5e, 0x0c, + 0x35, 0x5c, 0xc1, 0x58, 0xa7, 0xe4, 0xaa, 0x0a, 0x23, 0x4d, 0xdc, 0x74, 0x2b, 0xf9, 0xe7, 0x94, + 0xb9, 0xd3, 0x3a, 0xfb, 0xad, 0x6e, 0xc1, 0x14, 0x32, 0x4d, 0xb7, 0xe5, 0x10, 0x63, 0xd7, 0x77, + 0x5b, 0x9e, 0x61, 0x5b, 0x95, 0x12, 0x83, 0x7d, 0xa5, 0x0f, 0xec, 0x12, 0x67, 0xbb, 0x49, 0xb9, + 0xd6, 0xac, 0xd5, 0x53, 0x7a, 0x09, 0xc5, 0x7a, 0x1e, 0x28, 0x8a, 0xaa, 0xc3, 0xb8, 0xdb, 0x22, + 0x5e, 0x8b, 0x04, 0x95, 0x73, 0xcf, 0xe5, 0xe7, 0x0a, 0x0b, 0x6f, 0xd4, 0xd2, 0x23, 0x51, 0x2d, + 0xd3, 0x21, 0xb5, 0xbb, 0x0c, 0x40, 0x97, 0x40, 0xea, 0x7b, 0x30, 0x1a, 0xb4, 0x91, 0x17, 0x54, + 0x66, 0x19, 0xe2, 0xeb, 0xc3, 0x23, 0x6e, 0xb4, 0x91, 0xa7, 0x73, 0x10, 0x75, 0x0b, 0x0a, 0x16, + 0x6e, 0xe0, 0x5d, 0xb6, 0x5d, 0x82, 0xca, 0x1c, 0xc3, 0x5c, 0x1c, 0x1e, 0x73, 0x99, 0x83, 0x60, + 0x3d, 0x0a, 0xa7, 0x6e, 0x43, 0xb1, 0xe5, 0x44, 0xf1, 0x17, 0x18, 0xfe, 0x5b, 0xc3, 0xe3, 0xdf, + 0x97, 0x30, 0x58, 0x8f, 0x43, 0xaa, 0x2b, 0x50, 0xb0, 0xb7, 0x4d, 0x83, 0x73, 0x05, 0x95, 0xb7, + 0x98, 0x84, 0x8b, 0x89, 0xc9, 0xa3, 0xa1, 0xb1, 0xbb, 0x64, 0xb7, 0xcd, 0x25, 0xbe, 0xea, 0xc1, + 0x96, 0x3f, 0x83, 0xea, 0xcf, 0x15, 0x18, 0xe3, 0xbe, 0x56, 0x17, 0x61, 0xf4, 0x00, 0x35, 0x5a, + 0x58, 0xec, 0x83, 0x17, 0xfa, 0xac, 0x84, 0x4d, 0x4a, 0xab, 0x73, 0x16, 0xf5, 0x1d, 0x18, 0x47, + 0x96, 0xe5, 0xe3, 0x20, 0x10, 0xcb, 0xf3, 0x52, 0xbf, 0x75, 0xc4, 0xa9, 0x75, 0xc9, 0x56, 0xfd, + 0xa3, 0x02, 0x23, 0x74, 0x8a, 0x8e, 0xa5, 0xc6, 0x1a, 0x4c, 0x12, 0xe4, 0xef, 0x62, 0x62, 0xa0, + 0x20, 0xc0, 0x64, 0x50, 0x5d, 0x28, 0xed, 0x9a, 0xa5, 0x17, 0x38, 0x2f, 0x6b, 0xca, 0xcd, 0x96, + 0x1f, 0x6a, 0xb3, 0x55, 0x3f, 0x57, 0x60, 0x42, 0x2e, 0x0a, 0xf5, 0x6d, 0x18, 0x43, 0x4d, 0xba, + 0x37, 0x84, 0x29, 0x17, 0xfb, 0xe9, 0xc1, 0x88, 0x75, 0xc1, 0xa4, 0xde, 0x80, 0xd3, 0x3e, 0x22, + 0x98, 0x1f, 0x0f, 0xf9, 0x54, 0x4b, 0xf8, 0x99, 0x16, 0x02, 0xe8, 0x88, 0x60, 0x76, 0x1e, 0x4c, + 0xf8, 0xe2, 0x57, 0xf5, 0x17, 0x0a, 0x40, 0x77, 0x15, 0x1d, 0xcb, 0xb9, 0x31, 0x7d, 0x72, 0x47, + 0xd3, 0xa7, 0x7e, 0x16, 0xce, 0x18, 0xc9, 0xd0, 0xa3, 0x61, 0xa8, 0xa6, 0xed, 0x01, 0x11, 0x9c, + 0x6f, 0xc2, 0xc8, 0x71, 0xcf, 0x60, 0x06, 0xa0, 0xfd, 0x4a, 0x81, 0xf3, 0x62, 0xdd, 0xd5, 0x3b, + 0x6b, 0x8e, 0x85, 0x0f, 0x65, 0xf8, 0x5d, 0x87, 0xa2, 0x58, 0x87, 0x86, 0x4d, 0xfb, 0x85, 0xac, + 0x97, 0x06, 0x5b, 0xc4, 0x1c, 0x6a, 0x12, 0x45, 0x5a, 0xf4, 0x6c, 0xb2, 0xec, 0xc0, 0x6b, 0xa0, + 0x8e, 0x61, 0xba, 0xce, 0x8e, 0xed, 0x37, 0xe5, 0xd9, 0x24, 0xba, 0x6f, 0xf0, 0x5e, 0xed, 0x43, + 0x98, 0x4e, 0xea, 0x24, 0xec, 0x8e, 0xec, 0x29, 0xe5, 0x48, 0x7b, 0x4a, 0xfb, 0x00, 0xce, 0x33, + 0xc8, 0x7a, 0x47, 0x0e, 0x09, 0x7b, 0x8f, 0x0f, 0xfd, 0x89, 0x02, 0xd3, 0x49, 0x6c, 0xa1, 0xf7, + 0xfd, 0xe3, 0x3b, 0x73, 0xf5, 0x54, 0xdc, 0x9d, 0x0f, 0x14, 0xa5, 0x3e, 0x05, 0x25, 0x23, 0x86, + 0xab, 0xfd, 0x5a, 0x81, 0x99, 0x77, 0xbd, 0x3d, 0xdc, 0xc4, 0x3e, 0x6a, 0x24, 0x2c, 0x7c, 0x82, + 0x33, 0xba, 0x05, 0x95, 0x5e, 0xad, 0x4e, 0x6c, 0x4e, 0xbf, 0x54, 0xa0, 0x5c, 0x47, 0x0d, 0xe4, + 0x98, 0x38, 0x34, 0x56, 0x07, 0x79, 0x0a, 0x1b, 0x3b, 0x76, 0x83, 0x60, 0xff, 0x28, 0xd6, 0x16, + 0x05, 0xc4, 0x0a, 0x43, 0x50, 0xef, 0x40, 0x99, 0xc5, 0x50, 0xc3, 0xb6, 0x24, 0xe8, 0x70, 0xd1, + 0xb4, 0x88, 0xf8, 0x0f, 0x8e, 0x47, 0xf3, 0xc3, 0xa9, 0xae, 0xde, 0xc2, 0x1d, 0xef, 0xc2, 0xb8, + 0x90, 0x7a, 0x14, 0x8d, 0x25, 0xaf, 0xfa, 0x5d, 0x18, 0xdf, 0xe6, 0xd0, 0x42, 0xc7, 0xc1, 0xe2, + 0x9a, 0x64, 0xd2, 0x2e, 0x42, 0x71, 0xd3, 0xc6, 0x6d, 0x9a, 0x2f, 0xdf, 0x73, 0xf7, 0xb1, 0xa3, + 0x9e, 0x83, 0x51, 0x9b, 0xc6, 0x20, 0xa6, 0xd5, 0xa4, 0xce, 0x1b, 0x9a, 0x0e, 0x65, 0x49, 0x26, + 0x3d, 0xff, 0x3d, 0xc8, 0xef, 0x1c, 0xec, 0x0b, 0xe5, 0xfb, 0xe5, 0x4e, 0x2b, 0xad, 0x46, 0x83, + 0x02, 0xd8, 0xce, 0xee, 0x2d, 0xdc, 0xd1, 0x29, 0xa7, 0x76, 0x17, 0xa6, 0xba, 0x98, 0xc2, 0x2b, + 0x6f, 0xc2, 0x28, 0xa1, 0x6a, 0xf4, 0x1e, 0x1b, 0xf1, 0xbc, 0x21, 0xa6, 0xb3, 0xce, 0x79, 0xb4, + 0x9f, 0x29, 0x50, 0xdc, 0x20, 0x88, 0xb4, 0xc2, 0xd5, 0xf1, 0x58, 0x93, 0xbd, 0xf4, 0x80, 0xae, + 0x43, 0x49, 0xea, 0x20, 0x6c, 0x7a, 0x16, 0x0a, 0x41, 0xc7, 0x31, 0xe3, 0xe9, 0x2d, 0xd0, 0x2e, + 0x91, 0xdc, 0x3e, 0x0b, 0x05, 0x13, 0x11, 0x73, 0xcf, 0x76, 0x76, 0x8d, 0x96, 0x27, 0xb6, 0x16, + 0xc8, 0xae, 0xfb, 0x9e, 0xf6, 0x40, 0x81, 0xb3, 0x1c, 0x74, 0x83, 0xf8, 0x18, 0x35, 0x9f, 0xa0, + 0x79, 0x3e, 0x9c, 0x8b, 0x6b, 0x22, 0x8c, 0xfc, 0x0e, 0x5c, 0x68, 0x20, 0x82, 0x03, 0x62, 0xec, + 0x3b, 0x6e, 0xdb, 0x31, 0xb6, 0x1b, 0xae, 0xb9, 0x1f, 0x37, 0x79, 0x9a, 0x13, 0xdc, 0xa2, 0xe3, + 0x75, 0x3a, 0xdc, 0x35, 0x3f, 0xea, 0x9f, 0x5c, 0xd2, 0x3f, 0xda, 0x67, 0x79, 0x98, 0xbc, 0xe3, + 0x92, 0xee, 0xa6, 0x7f, 0x1e, 0x8a, 0xb6, 0x63, 0x36, 0x5a, 0x16, 0x36, 0x02, 0x0f, 0x3b, 0x44, + 0xb8, 0x6c, 0x52, 0x74, 0x6e, 0xd0, 0x3e, 0x75, 0x09, 0x26, 0xe4, 0x2e, 0xce, 0x48, 0x21, 0xb2, + 0xb6, 0xef, 0xb8, 0xd8, 0xbe, 0xbd, 0x91, 0x74, 0xe4, 0xb8, 0x91, 0xf4, 0x36, 0x94, 0x79, 0x8a, + 0x63, 0x10, 0x97, 0xe9, 0x6e, 0x55, 0xc6, 0x86, 0x49, 0x90, 0x8a, 0x9c, 0xfb, 0x9e, 0x4b, 0x6d, + 0xb4, 0x9e, 0xc4, 0x02, 0x78, 0x90, 0x83, 0xf3, 0x6c, 0x32, 0x56, 0x5c, 0x7f, 0xd3, 0x25, 0xb6, + 0xb3, 0x2b, 0x67, 0xe5, 0x0a, 0x9c, 0x39, 0x70, 0x09, 0xda, 0x6e, 0x60, 0x03, 0x91, 0xf8, 0xd4, + 0x97, 0xc5, 0xc0, 0x12, 0x11, 0x73, 0xde, 0xe3, 0xd9, 0xfc, 0x71, 0x3d, 0xfb, 0x04, 0x5c, 0xf1, + 0xfb, 0x1c, 0x94, 0xde, 0xb7, 0x89, 0x13, 0x39, 0x7b, 0x3f, 0x80, 0x29, 0xc7, 0x25, 0xd8, 0x30, + 0xdd, 0x66, 0xd3, 0x26, 0x4d, 0xec, 0x10, 0x7a, 0x2b, 0xa0, 0x17, 0x94, 0x5a, 0x1f, 0x2d, 0xe8, + 0xae, 0xc2, 0x37, 0x42, 0x36, 0xbd, 0x4c, 0x71, 0xba, 0xed, 0x20, 0xb5, 0x36, 0x93, 0x3f, 0xc1, + 0xda, 0xcc, 0x13, 0x70, 0x20, 0x86, 0x72, 0xe8, 0x3f, 0x11, 0x47, 0x74, 0x98, 0x6c, 0xf3, 0x2e, + 0x9e, 0x6c, 0x0f, 0x51, 0x2c, 0x11, 0x50, 0x2c, 0xeb, 0x2e, 0xb4, 0xbb, 0x0d, 0xed, 0x6f, 0x0a, + 0x4c, 0x8b, 0xc1, 0xff, 0xcf, 0x82, 0x57, 0x03, 0x66, 0x7a, 0xec, 0x7b, 0x7c, 0xe5, 0xae, 0xdf, + 0xe5, 0xa1, 0xc8, 0x42, 0x65, 0xb8, 0xea, 0xab, 0x30, 0xc1, 0xf3, 0x24, 0xcc, 0x2b, 0x49, 0x13, + 0x7a, 0xd8, 0x56, 0x7f, 0x0c, 0xb3, 0x91, 0x58, 0x6d, 0xda, 0x3b, 0xb6, 0x69, 0x58, 0xd8, 0x71, + 0x9b, 0xb6, 0x23, 0x4a, 0x04, 0x7c, 0x7f, 0xf4, 0xcb, 0x5b, 0x96, 0x29, 0x8f, 0xfe, 0x74, 0x37, + 0xc4, 0x33, 0xa8, 0xe5, 0x28, 0x92, 0xba, 0x08, 0x17, 0xa4, 0xac, 0x6e, 0xc1, 0xc0, 0x60, 0xc9, + 0x41, 0xc0, 0xf6, 0xca, 0x84, 0x3e, 0x23, 0x08, 0x96, 0xc3, 0x71, 0x96, 0x42, 0x04, 0xea, 0x1b, + 0x50, 0x91, 0xbc, 0x2d, 0x67, 0xdb, 0x75, 0x2c, 0x7a, 0x1a, 0x0b, 0xd6, 0x11, 0xc6, 0x3a, 0x2d, + 0xc6, 0xef, 0xcb, 0x61, 0xc1, 0x79, 0x09, 0xca, 0x92, 0xb3, 0xe1, 0x19, 0xce, 0x0e, 0x09, 0x2a, + 0xa3, 0x8c, 0x41, 0x1e, 0x52, 0xef, 0x79, 0x77, 0x76, 0x48, 0xa0, 0x2e, 0xc0, 0x79, 0x49, 0xe7, + 0xf9, 0xae, 0xe7, 0x06, 0xa8, 0xc1, 0xa9, 0xc7, 0x18, 0xf5, 0x59, 0x31, 0xb8, 0x2e, 0xc6, 0x18, + 0xcf, 0x12, 0x3c, 0x23, 0x79, 0x0e, 0x58, 0xb0, 0x35, 0x7c, 0x6c, 0x62, 0xdb, 0x23, 0x52, 0xb5, + 0x71, 0xc6, 0x5b, 0x15, 0x44, 0x32, 0x20, 0x33, 0x12, 0xae, 0x9e, 0x86, 0xa1, 0x24, 0x67, 0x4b, + 0xac, 0x89, 0x0d, 0x28, 0xb1, 0x19, 0x30, 0x9a, 0x98, 0xa0, 0xc8, 0x82, 0x7c, 0x79, 0x90, 0x29, + 0xb8, 0x2d, 0x78, 0xf4, 0xa2, 0x15, 0x6d, 0x6a, 0x15, 0x98, 0xbe, 0xb1, 0x87, 0x6c, 0x67, 0x1d, + 0xf9, 0xa8, 0x89, 0x09, 0xf6, 0xe5, 0xea, 0xd0, 0xf6, 0x60, 0xa6, 0x67, 0x44, 0x68, 0x72, 0x1b, + 0xc0, 0x0b, 0x7b, 0xb3, 0x52, 0x49, 0x56, 0x94, 0x0f, 0x95, 0x48, 0x42, 0x45, 0x00, 0xb4, 0x69, + 0x38, 0xb7, 0x72, 0x7b, 0xb9, 0x57, 0x03, 0x0b, 0xce, 0x27, 0xfa, 0x85, 0xfc, 0x5b, 0x29, 0xf2, + 0x5f, 0x7a, 0xb4, 0xfc, 0x95, 0xa6, 0x95, 0x21, 0xfd, 0xf3, 0x1c, 0xcc, 0xd0, 0x93, 0xb1, 0xde, + 0x89, 0x84, 0x71, 0xb1, 0x43, 0xde, 0x87, 0x72, 0xe2, 0x5c, 0x10, 0x3e, 0x1f, 0xf6, 0x58, 0x28, + 0xc5, 0x8f, 0x85, 0xb4, 0x42, 0x70, 0x3e, 0xad, 0x10, 0xfc, 0x24, 0xc2, 0xbb, 0x03, 0x95, 0x5e, + 0x7f, 0x84, 0x71, 0xbe, 0xc4, 0xd2, 0x1f, 0x96, 0x2e, 0x50, 0x9b, 0x7a, 0xbd, 0x1f, 0xcf, 0xf8, + 0x37, 0x24, 0x35, 0x85, 0xd4, 0xb1, 0xe9, 0xfa, 0x96, 0x5e, 0x0c, 0xa2, 0x9d, 0x6c, 0x02, 0x36, + 0xda, 0xc8, 0xcb, 0x98, 0x80, 0xa0, 0x8d, 0xbc, 0x13, 0x98, 0x00, 0x0a, 0xf3, 0x3f, 0x32, 0x01, + 0x3a, 0x54, 0x7a, 0xfd, 0x11, 0xd6, 0xfd, 0x47, 0xa8, 0x25, 0xc2, 0xed, 0x5a, 0xa6, 0xdb, 0xdb, + 0xc8, 0x13, 0xde, 0x66, 0xf4, 0xda, 0xbf, 0x14, 0x98, 0xbe, 0xd3, 0x6a, 0x34, 0xec, 0x1d, 0x1b, + 0xfb, 0xf1, 0xdb, 0xd6, 0x0a, 0x9c, 0x76, 0xe4, 0x88, 0xf0, 0xee, 0x5c, 0x1f, 0xd3, 0x42, 0x24, + 0xbd, 0xcb, 0xfa, 0x5f, 0xed, 0xd2, 0x79, 0x98, 0xe9, 0xb1, 0x5e, 0x78, 0xf4, 0x1c, 0x8c, 0xf2, + 0xdb, 0x08, 0x3f, 0x02, 0x79, 0x43, 0xdb, 0x84, 0xa7, 0x23, 0x27, 0xe9, 0x9a, 0xb3, 0xe3, 0xd6, + 0x3b, 0xab, 0x28, 0x08, 0xaf, 0xd1, 0xfc, 0xfd, 0x25, 0x37, 0xec, 0xfb, 0x8b, 0xf6, 0xa9, 0x02, + 0xd3, 0x09, 0x60, 0x09, 0x79, 0x09, 0x26, 0x03, 0x82, 0xfc, 0x78, 0x0e, 0xbe, 0x7a, 0x4a, 0x2f, + 0xb0, 0x5e, 0x9e, 0x81, 0x3f, 0x50, 0x14, 0x55, 0x03, 0xc0, 0x8e, 0x15, 0xbb, 0x77, 0xad, 0x2a, + 0xfa, 0x69, 0xec, 0x58, 0x21, 0x4d, 0xbd, 0x0c, 0x45, 0x23, 0x0a, 0x56, 0x2f, 0x42, 0xc1, 0xe8, + 0x72, 0x69, 0xff, 0xcc, 0x41, 0x39, 0xa1, 0x86, 0xfa, 0x14, 0x8c, 0x25, 0x24, 0x8b, 0x36, 0x15, + 0x7a, 0x44, 0x7b, 0x93, 0x89, 0x4c, 0xfe, 0x04, 0x1e, 0xd1, 0xb6, 0xa0, 0xe0, 0x61, 0x9f, 0x66, + 0x25, 0xc4, 0x3e, 0xc0, 0xe2, 0x72, 0xb7, 0x38, 0x6c, 0xde, 0xd7, 0x45, 0xd0, 0xa3, 0x70, 0xea, + 0x4d, 0x18, 0xa1, 0x5b, 0x89, 0xe5, 0x02, 0xc3, 0xa7, 0x93, 0x9b, 0x36, 0x6e, 0xeb, 0x0c, 0xa0, + 0x7e, 0x1a, 0xc6, 0xa5, 0xb7, 0x7f, 0x08, 0x33, 0x3d, 0x73, 0xde, 0x2d, 0xaf, 0x91, 0x43, 0xc3, + 0x76, 0x76, 0x5c, 0xb1, 0xa5, 0x2f, 0x0f, 0xf0, 0xe6, 0xc2, 0x10, 0xc6, 0xc8, 0x21, 0xfd, 0xab, + 0x21, 0x78, 0x26, 0x63, 0xa5, 0x9e, 0x98, 0x88, 0x8f, 0xa0, 0x28, 0x2e, 0xf2, 0x02, 0xf2, 0x3d, + 0x28, 0xb0, 0x73, 0xd1, 0x67, 0x21, 0xe6, 0x28, 0x67, 0x00, 0x38, 0xe1, 0x6f, 0xed, 0x4b, 0x1a, + 0x9b, 0x12, 0x77, 0xd3, 0xc7, 0x21, 0x48, 0xbd, 0x0d, 0x93, 0xb6, 0x85, 0x1d, 0x62, 0x93, 0x8e, + 0xb1, 0x8f, 0x3b, 0x62, 0x39, 0x5f, 0xe9, 0x13, 0x74, 0xd6, 0x04, 0xcb, 0x2d, 0xdc, 0xd1, 0x0b, + 0x76, 0xb7, 0xa1, 0xfd, 0x3b, 0x0f, 0x67, 0x53, 0x44, 0xa6, 0x65, 0x0d, 0xca, 0x89, 0x64, 0x0d, + 0xdf, 0x86, 0x11, 0x76, 0xe6, 0x72, 0xbd, 0x9f, 0xef, 0x17, 0xa4, 0xa9, 0x46, 0x8c, 0xe1, 0x31, + 0xdc, 0xdb, 0x63, 0x87, 0xc6, 0xc8, 0xd1, 0x0f, 0x8d, 0x8b, 0x50, 0xe2, 0x9b, 0xc4, 0x30, 0x7d, + 0x8c, 0x08, 0xb6, 0xd8, 0xc6, 0x1b, 0xd1, 0x8b, 0xbc, 0xf7, 0x06, 0xef, 0xa4, 0xb1, 0x51, 0x90, + 0xf1, 0x58, 0x3d, 0x26, 0x63, 0x23, 0xef, 0x65, 0xa5, 0x23, 0x1a, 0xa6, 0xaa, 0x30, 0xe1, 0xb9, + 0x81, 0xcd, 0x62, 0xcd, 0x38, 0x03, 0x0a, 0xdb, 0xea, 0x3b, 0x30, 0x16, 0xb8, 0x2d, 0xdf, 0xc4, + 0x95, 0x89, 0x74, 0x7d, 0xe3, 0x19, 0x23, 0x75, 0xdf, 0x06, 0xa3, 0xd7, 0x05, 0x1f, 0x8b, 0xaa, + 0x51, 0x35, 0xb4, 0xbf, 0xe6, 0x01, 0xba, 0x47, 0x6d, 0x5a, 0xb6, 0xa2, 0x9c, 0x48, 0xb6, 0xf2, + 0xb6, 0x38, 0xf5, 0xf9, 0xc4, 0xbf, 0x98, 0x40, 0xb3, 0xf0, 0x61, 0xfc, 0xe4, 0x5f, 0x6f, 0x20, + 0xdb, 0x21, 0xf8, 0x90, 0xf0, 0xc3, 0x3f, 0xe6, 0x95, 0x7c, 0xc2, 0x2b, 0x27, 0x35, 0x91, 0xeb, + 0x50, 0xe0, 0x2f, 0xdf, 0xfc, 0xae, 0x3c, 0x9a, 0x1a, 0xe8, 0x63, 0x9a, 0xd6, 0x11, 0x31, 0xf7, + 0xa8, 0xba, 0xfc, 0x35, 0x97, 0xdd, 0x92, 0xc1, 0x0d, 0x7f, 0xab, 0x57, 0xba, 0x4b, 0xa3, 0x81, + 0xec, 0x26, 0xb6, 0xc2, 0x59, 0x97, 0x8b, 0x83, 0x77, 0xd3, 0x79, 0xef, 0xce, 0xed, 0xf8, 0x11, + 0xe7, 0xf6, 0x0c, 0x94, 0x8d, 0xb8, 0x38, 0xed, 0xef, 0x0a, 0xcc, 0xdc, 0x6d, 0x3b, 0xd8, 0x5a, + 0x17, 0xce, 0x5a, 0xb3, 0xc2, 0xa4, 0xe9, 0x3e, 0x94, 0xa4, 0x0b, 0xe9, 0x41, 0x1b, 0x26, 0xc2, + 0x8f, 0x9c, 0x1b, 0x89, 0xc3, 0xa6, 0x9b, 0xda, 0xe1, 0x45, 0x3b, 0xa8, 0x1d, 0x77, 0x61, 0x92, + 0xf8, 0x88, 0x5d, 0x62, 0x3d, 0x64, 0xcb, 0x74, 0xec, 0xf2, 0xa3, 0x40, 0xef, 0x71, 0xfa, 0x75, + 0x64, 0xfb, 0xab, 0x0a, 0x3b, 0x29, 0x65, 0x93, 0x26, 0x02, 0xd4, 0xac, 0xb8, 0xa2, 0x6c, 0x15, + 0x47, 0x85, 0x68, 0x26, 0x54, 0x7a, 0xcd, 0x0c, 0x9f, 0x32, 0x0b, 0x21, 0x7b, 0xe6, 0x07, 0x27, + 0xa9, 0x46, 0xae, 0x59, 0x3a, 0x78, 0xe1, 0xef, 0x85, 0x3f, 0x9c, 0x85, 0xb3, 0xf4, 0x74, 0x5c, + 0xf7, 0x5d, 0xe2, 0x9a, 0x6e, 0x63, 0x03, 0xfb, 0x07, 0xb6, 0x89, 0xd5, 0xf7, 0x61, 0x8c, 0x27, + 0x64, 0x6a, 0xe6, 0xab, 0x41, 0x2c, 0x5d, 0xad, 0x5e, 0xea, 0x47, 0x26, 0x34, 0xdf, 0x87, 0xc9, + 0x68, 0xc9, 0x5b, 0x7d, 0xe9, 0xd1, 0x7c, 0xb1, 0x12, 0x7d, 0xf5, 0xe5, 0xc1, 0x88, 0xb9, 0xa8, + 0xab, 0x8a, 0xba, 0x09, 0xa3, 0xec, 0x04, 0x53, 0x5f, 0xc8, 0x62, 0x8c, 0x56, 0xc2, 0xab, 0x17, + 0xfb, 0x50, 0x85, 0xb8, 0x1f, 0x43, 0x29, 0x7e, 0x32, 0xaa, 0xaf, 0x3c, 0x92, 0x35, 0x59, 0xdd, + 0xad, 0xd6, 0x06, 0x25, 0x0f, 0x45, 0x7e, 0x08, 0xe3, 0xa2, 0x2a, 0xa5, 0x66, 0xba, 0x3a, 0x5e, + 0x3e, 0xad, 0x5e, 0xee, 0x4b, 0x27, 0xe6, 0xc4, 0x0f, 0x2b, 0x87, 0xb2, 0xe2, 0xa5, 0xd6, 0xfa, + 0xf0, 0x26, 0x4a, 0x7f, 0xd5, 0xf9, 0x81, 0xe9, 0x85, 0xcc, 0x0f, 0x60, 0x8c, 0x17, 0x52, 0xb2, + 0x17, 0x58, 0xac, 0x2c, 0x96, 0xbd, 0xc0, 0xe2, 0xf5, 0x98, 0xab, 0x0a, 0x35, 0x27, 0x51, 0xd7, + 0xc8, 0x36, 0x27, 0xbd, 0xca, 0x92, 0x6d, 0x4e, 0x56, 0xed, 0xa5, 0x01, 0xc5, 0x58, 0x51, 0x44, + 0xcd, 0x5c, 0xaa, 0x69, 0x35, 0x95, 0xea, 0x2b, 0x03, 0x52, 0x0b, 0x69, 0x2e, 0x94, 0xe2, 0x6f, + 0xfd, 0xd9, 0xeb, 0x2f, 0xf5, 0x3b, 0x85, 0xec, 0xf5, 0x97, 0xf1, 0x09, 0x81, 0x0b, 0xa5, 0xf8, + 0x23, 0x7d, 0xb6, 0xc0, 0xd4, 0x0f, 0x05, 0xb2, 0x05, 0x66, 0xbc, 0xfd, 0xb7, 0x60, 0x2a, 0xf9, + 0xf6, 0xad, 0x66, 0x4e, 0x4a, 0xc6, 0xdb, 0x7d, 0xf5, 0xea, 0xe0, 0x0c, 0x42, 0xac, 0x01, 0x13, + 0xf2, 0x6d, 0x59, 0xcd, 0xdc, 0x3e, 0x89, 0x57, 0xf3, 0xea, 0x5c, 0x7f, 0xc2, 0x70, 0x6d, 0xb6, + 0x60, 0x2a, 0x59, 0xc5, 0xc9, 0xb6, 0x2b, 0xa3, 0xfe, 0x95, 0x6d, 0x57, 0x66, 0x81, 0xa8, 0x05, + 0x53, 0xc9, 0xda, 0x45, 0xb6, 0xd8, 0x8c, 0xaa, 0x4f, 0xb6, 0xd8, 0xcc, 0xb2, 0x88, 0x0f, 0xe5, + 0xc4, 0xfd, 0x3e, 0x7b, 0x27, 0xa6, 0x97, 0x41, 0xb2, 0x77, 0x62, 0x56, 0xe1, 0xe0, 0x53, 0x05, + 0xce, 0xa7, 0xde, 0xbc, 0xd4, 0xeb, 0x03, 0x5e, 0xb0, 0x62, 0x25, 0x85, 0xea, 0x6b, 0x43, 0x72, + 0x09, 0x35, 0x48, 0xef, 0x4d, 0xbe, 0x36, 0xe8, 0x05, 0xaf, 0x9f, 0xe9, 0x19, 0xb7, 0xd6, 0xab, + 0x8a, 0xfa, 0x53, 0x50, 0x7b, 0x3f, 0x80, 0x52, 0xaf, 0x0d, 0xfd, 0xc1, 0x60, 0x75, 0x61, 0x18, + 0x16, 0x61, 0xf2, 0x27, 0x0a, 0x9c, 0x4b, 0xfb, 0x3a, 0x56, 0x7d, 0x35, 0x73, 0x83, 0x64, 0x7f, + 0xe7, 0x5b, 0xbd, 0x3e, 0x1c, 0x93, 0xd0, 0xa1, 0x0d, 0x53, 0xc9, 0xa4, 0x29, 0x7b, 0xa1, 0x67, + 0x64, 0x91, 0xd9, 0x0b, 0x3d, 0x2b, 0x1f, 0xbb, 0xaa, 0xa8, 0x87, 0x70, 0xa6, 0xe7, 0x33, 0x69, + 0x35, 0x13, 0x28, 0xeb, 0x9b, 0xf1, 0xea, 0xb5, 0x21, 0x38, 0xb8, 0xec, 0x05, 0xaf, 0xfb, 0x35, + 0x89, 0xcc, 0xde, 0x3e, 0x82, 0x09, 0xd9, 0x95, 0x1d, 0xc6, 0x12, 0x9f, 0xa0, 0x64, 0x87, 0xb1, + 0xe4, 0x77, 0x25, 0xf5, 0xcf, 0x72, 0x7f, 0x7a, 0x38, 0xab, 0x7c, 0xf5, 0x70, 0x56, 0xf9, 0xfa, + 0xe1, 0xac, 0xf2, 0xcb, 0x6f, 0x66, 0x4f, 0x7d, 0xf5, 0xcd, 0xec, 0xa9, 0xbf, 0x7c, 0x33, 0x7b, + 0x0a, 0xaa, 0xa6, 0xdb, 0xcc, 0xc0, 0xa9, 0x9f, 0x0e, 0x13, 0xcd, 0x75, 0xe5, 0xc3, 0xbb, 0xbb, + 0x36, 0xd9, 0x6b, 0x6d, 0xd7, 0x4c, 0xb7, 0x39, 0x6f, 0xba, 0x41, 0xd3, 0x0d, 0xe6, 0x7d, 0xdc, + 0x40, 0x1d, 0xec, 0xcf, 0x1f, 0x2c, 0x84, 0x3f, 0xd9, 0x05, 0x21, 0x98, 0x4f, 0xff, 0x17, 0x85, + 0x37, 0x69, 0x4b, 0x36, 0x7e, 0x93, 0xcb, 0xaf, 0x6f, 0xfe, 0xe0, 0xb7, 0xb9, 0xe9, 0x75, 0x29, + 0x9c, 0x4a, 0xab, 0x6d, 0x8a, 0xe1, 0x3f, 0x77, 0x07, 0xb6, 0xe8, 0xc0, 0x96, 0x1c, 0x78, 0x98, + 0xd3, 0xd2, 0x07, 0xb6, 0x6e, 0xae, 0xd7, 0xe5, 0x7b, 0xcc, 0x3f, 0x72, 0x15, 0x49, 0xb4, 0xb8, + 0x48, 0xa9, 0x16, 0x17, 0x25, 0xd9, 0xf6, 0x18, 0xfb, 0x4f, 0x80, 0x57, 0xff, 0x13, 0x00, 0x00, + 0xff, 0xff, 0x56, 0x54, 0x09, 0x86, 0x48, 0x31, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -3727,7 +3727,7 @@ type ViewProtocolServiceClient interface { // Broadcast a transaction to the network, optionally waiting for full confirmation. BroadcastTransaction(ctx context.Context, in *BroadcastTransactionRequest, opts ...grpc.CallOption) (*BroadcastTransactionResponse, error) // Query for owned position IDs for the given trading pair and in the given position state. - OwnedPositionIds(ctx context.Context, in *OwnedPositionIdsRequest, opts ...grpc.CallOption) (*OwnedPositionIdsResponse, error) + OwnedPositionIds(ctx context.Context, in *OwnedPositionIdsRequest, opts ...grpc.CallOption) (ViewProtocolService_OwnedPositionIdsClient, error) // Authorize a transaction plan and build the transaction. AuthorizeAndBuild(ctx context.Context, in *AuthorizeAndBuildRequest, opts ...grpc.CallOption) (*AuthorizeAndBuildResponse, error) } @@ -4058,13 +4058,36 @@ func (c *viewProtocolServiceClient) BroadcastTransaction(ctx context.Context, in return out, nil } -func (c *viewProtocolServiceClient) OwnedPositionIds(ctx context.Context, in *OwnedPositionIdsRequest, opts ...grpc.CallOption) (*OwnedPositionIdsResponse, error) { - out := new(OwnedPositionIdsResponse) - err := c.cc.Invoke(ctx, "/penumbra.view.v1alpha1.ViewProtocolService/OwnedPositionIds", in, out, opts...) +func (c *viewProtocolServiceClient) OwnedPositionIds(ctx context.Context, in *OwnedPositionIdsRequest, opts ...grpc.CallOption) (ViewProtocolService_OwnedPositionIdsClient, error) { + stream, err := c.cc.NewStream(ctx, &_ViewProtocolService_serviceDesc.Streams[6], "/penumbra.view.v1alpha1.ViewProtocolService/OwnedPositionIds", opts...) if err != nil { return nil, err } - return out, nil + x := &viewProtocolServiceOwnedPositionIdsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ViewProtocolService_OwnedPositionIdsClient interface { + Recv() (*OwnedPositionIdsResponse, error) + grpc.ClientStream +} + +type viewProtocolServiceOwnedPositionIdsClient struct { + grpc.ClientStream +} + +func (x *viewProtocolServiceOwnedPositionIdsClient) Recv() (*OwnedPositionIdsResponse, error) { + m := new(OwnedPositionIdsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil } func (c *viewProtocolServiceClient) AuthorizeAndBuild(ctx context.Context, in *AuthorizeAndBuildRequest, opts ...grpc.CallOption) (*AuthorizeAndBuildResponse, error) { @@ -4128,7 +4151,7 @@ type ViewProtocolServiceServer interface { // Broadcast a transaction to the network, optionally waiting for full confirmation. BroadcastTransaction(context.Context, *BroadcastTransactionRequest) (*BroadcastTransactionResponse, error) // Query for owned position IDs for the given trading pair and in the given position state. - OwnedPositionIds(context.Context, *OwnedPositionIdsRequest) (*OwnedPositionIdsResponse, error) + OwnedPositionIds(*OwnedPositionIdsRequest, ViewProtocolService_OwnedPositionIdsServer) error // Authorize a transaction plan and build the transaction. AuthorizeAndBuild(context.Context, *AuthorizeAndBuildRequest) (*AuthorizeAndBuildResponse, error) } @@ -4197,8 +4220,8 @@ func (*UnimplementedViewProtocolServiceServer) TransactionPlanner(ctx context.Co func (*UnimplementedViewProtocolServiceServer) BroadcastTransaction(ctx context.Context, req *BroadcastTransactionRequest) (*BroadcastTransactionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BroadcastTransaction not implemented") } -func (*UnimplementedViewProtocolServiceServer) OwnedPositionIds(ctx context.Context, req *OwnedPositionIdsRequest) (*OwnedPositionIdsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method OwnedPositionIds not implemented") +func (*UnimplementedViewProtocolServiceServer) OwnedPositionIds(req *OwnedPositionIdsRequest, srv ViewProtocolService_OwnedPositionIdsServer) error { + return status.Errorf(codes.Unimplemented, "method OwnedPositionIds not implemented") } func (*UnimplementedViewProtocolServiceServer) AuthorizeAndBuild(ctx context.Context, req *AuthorizeAndBuildRequest) (*AuthorizeAndBuildResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AuthorizeAndBuild not implemented") @@ -4586,22 +4609,25 @@ func _ViewProtocolService_BroadcastTransaction_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } -func _ViewProtocolService_OwnedPositionIds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OwnedPositionIdsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ViewProtocolServiceServer).OwnedPositionIds(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/penumbra.view.v1alpha1.ViewProtocolService/OwnedPositionIds", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ViewProtocolServiceServer).OwnedPositionIds(ctx, req.(*OwnedPositionIdsRequest)) +func _ViewProtocolService_OwnedPositionIds_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(OwnedPositionIdsRequest) + if err := stream.RecvMsg(m); err != nil { + return err } - return interceptor(ctx, in, info, handler) + return srv.(ViewProtocolServiceServer).OwnedPositionIds(m, &viewProtocolServiceOwnedPositionIdsServer{stream}) +} + +type ViewProtocolService_OwnedPositionIdsServer interface { + Send(*OwnedPositionIdsResponse) error + grpc.ServerStream +} + +type viewProtocolServiceOwnedPositionIdsServer struct { + grpc.ServerStream +} + +func (x *viewProtocolServiceOwnedPositionIdsServer) Send(m *OwnedPositionIdsResponse) error { + return x.ServerStream.SendMsg(m) } func _ViewProtocolService_AuthorizeAndBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { @@ -4682,10 +4708,6 @@ var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ MethodName: "BroadcastTransaction", Handler: _ViewProtocolService_BroadcastTransaction_Handler, }, - { - MethodName: "OwnedPositionIds", - Handler: _ViewProtocolService_OwnedPositionIds_Handler, - }, { MethodName: "AuthorizeAndBuild", Handler: _ViewProtocolService_AuthorizeAndBuild_Handler, @@ -4722,6 +4744,11 @@ var _ViewProtocolService_serviceDesc = grpc.ServiceDesc{ Handler: _ViewProtocolService_TransactionInfo_Handler, ServerStreams: true, }, + { + StreamName: "OwnedPositionIds", + Handler: _ViewProtocolService_OwnedPositionIds_Handler, + ServerStreams: true, + }, }, Metadata: "penumbra/view/v1alpha1/view.proto", } @@ -7587,19 +7614,17 @@ func (m *OwnedPositionIdsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l - if len(m.PositionIds) > 0 { - for iNdEx := len(m.PositionIds) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.PositionIds[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintView(dAtA, i, uint64(size)) + if m.PositionId != nil { + { + size, err := m.PositionId.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0xa + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } @@ -8716,11 +8741,9 @@ func (m *OwnedPositionIdsResponse) Size() (n int) { } var l int _ = l - if len(m.PositionIds) > 0 { - for _, e := range m.PositionIds { - l = e.Size() - n += 1 + l + sovView(uint64(l)) - } + if m.PositionId != nil { + l = m.PositionId.Size() + n += 1 + l + sovView(uint64(l)) } return n } @@ -15011,7 +15034,7 @@ func (m *OwnedPositionIdsResponse) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PositionIds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PositionId", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -15038,8 +15061,10 @@ func (m *OwnedPositionIdsResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PositionIds = append(m.PositionIds, &v1alpha15.PositionId{}) - if err := m.PositionIds[len(m.PositionIds)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.PositionId == nil { + m.PositionId = &v1alpha15.PositionId{} + } + if err := m.PositionId.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex From 21382210474855199b012ec72a7bb4a13ad7c26b Mon Sep 17 00:00:00 2001 From: mmsqe Date: Wed, 2 Aug 2023 01:06:23 +0800 Subject: [PATCH 31/58] fix: reduce get bech32 prefix when get signer (#1231) * add missing getFeePayer for clienttypes * add missing getFeePayer for feetypes * apply in penumbra * add change doc --------- Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- CHANGELOG.md | 1 + relayer/chains/cosmos/log.go | 8 ++++++++ relayer/chains/penumbra/log.go | 13 +++++++++++++ 3 files changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d46967e8..93f9f9358 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ * [\#1208](https://github.com/cosmos/relayer/pull/1208) Replace gogo/protobuf to cosmos/gogoproto. * [\#1221](https://github.com/cosmos/relayer/pull/1221) Update cometbft to v0.37.2 and ibc-go to v7.2.0. * [\#1226](https://github.com/cosmos/relayer/pull/1226) Avoid invalid Bech32 prefix error in parallel tests when sdk Config get overwritten by each other in single process. +* [\#1231](https://github.com/cosmos/relayer/pull/1231) Reduce get bech32 prefix when get signer. ## v0.9.3 diff --git a/relayer/chains/cosmos/log.go b/relayer/chains/cosmos/log.go index f6e6564a0..22342e549 100644 --- a/relayer/chains/cosmos/log.go +++ b/relayer/chains/cosmos/log.go @@ -164,11 +164,19 @@ func getFeePayer(tx *typestx.Tx) string { case *clienttypes.MsgUpdateClient: // Same failure mode as MsgCreateClient. return firstMsg.Signer + case *clienttypes.MsgUpgradeClient: + return firstMsg.Signer case *clienttypes.MsgSubmitMisbehaviour: // Same failure mode as MsgCreateClient. return firstMsg.Signer + case *feetypes.MsgRegisterPayee: + return firstMsg.Relayer case *feetypes.MsgRegisterCounterpartyPayee: return firstMsg.Relayer + case *feetypes.MsgPayPacketFee: + return firstMsg.Signer + case *feetypes.MsgPayPacketFeeAsync: + return firstMsg.PacketFee.RefundAddress default: return firstMsg.GetSigners()[0].String() } diff --git a/relayer/chains/penumbra/log.go b/relayer/chains/penumbra/log.go index 3c4661cc5..b1f110cf0 100644 --- a/relayer/chains/penumbra/log.go +++ b/relayer/chains/penumbra/log.go @@ -6,6 +6,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" typestx "github.com/cosmos/cosmos-sdk/types/tx" + feetypes "github.com/cosmos/ibc-go/v7/modules/apps/29-fee/types" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" "github.com/cosmos/relayer/v2/relayer/provider" @@ -151,6 +152,18 @@ func getFeePayer(tx *typestx.Tx) string { case *clienttypes.MsgUpdateClient: // Same failure mode as MsgCreateClient. return firstMsg.Signer + case *clienttypes.MsgUpgradeClient: + return firstMsg.Signer + case *clienttypes.MsgSubmitMisbehaviour: + return firstMsg.Signer + case *feetypes.MsgRegisterPayee: + return firstMsg.Relayer + case *feetypes.MsgRegisterCounterpartyPayee: + return firstMsg.Relayer + case *feetypes.MsgPayPacketFee: + return firstMsg.Signer + case *feetypes.MsgPayPacketFeeAsync: + return firstMsg.PacketFee.RefundAddress default: return firstMsg.GetSigners()[0].String() } From a63cd79b779d603fa89228e1b06fb99fcfb96119 Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Wed, 2 Aug 2023 14:10:39 -0700 Subject: [PATCH 32/58] update setup-go action (#1251) --- .github/workflows/build.yml | 2 +- .github/workflows/interchaintest.yml | 35 +++++++++++----------------- .github/workflows/release.yml | 4 ++-- 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 24fd93e17..ea896ce8f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v4 with: - go-version: 1.20.2 + go-version: '1.20' # setup gopath - name: Set PATH diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index cffb9647e..f136b26d1 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -11,10 +11,9 @@ jobs: runs-on: self-hosted steps: - name: Set up Go 1.20 - uses: actions/setup-go@v1 + uses: actions/setup-go@v4 with: - go-version: 1.20 - id: go + go-version: '1.20' - name: checkout relayer uses: actions/checkout@v2 @@ -33,10 +32,9 @@ jobs: runs-on: self-hosted steps: - name: Set up Go 1.20 - uses: actions/setup-go@v1 + uses: actions/setup-go@v4 with: - go-version: 1.20 - id: go + go-version: '1.20' - name: checkout relayer uses: actions/checkout@v2 @@ -55,10 +53,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go 1.20 - uses: actions/setup-go@v1 + uses: actions/setup-go@v4 with: - go-version: 1.20 - id: go + go-version: '1.20' - name: checkout relayer uses: actions/checkout@v2 @@ -77,10 +74,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go 1.20 - uses: actions/setup-go@v1 + uses: actions/setup-go@v4 with: - go-version: 1.20 - id: go + go-version: '1.20' - name: checkout relayer uses: actions/checkout@v2 @@ -99,10 +95,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go 1.20 - uses: actions/setup-go@v1 + uses: actions/setup-go@v4 with: - go-version: 1.20 - id: go + go-version: '1.20' - name: checkout relayer uses: actions/checkout@v2 @@ -121,10 +116,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go 1.20 - uses: actions/setup-go@v1 + uses: actions/setup-go@v4 with: - go-version: 1.20 - id: go + go-version: '1.20' - name: checkout relayer uses: actions/checkout@v2 @@ -143,10 +137,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Go 1.20 - uses: actions/setup-go@v1 + uses: actions/setup-go@v4 with: - go-version: 1.20 - id: go + go-version: '1.20' - name: checkout relayer uses: actions/checkout@v2 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e9673730..97ca73ced 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,9 +15,9 @@ jobs: fetch-depth: 0 - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v4 with: - go-version: 1.20 + go-version: '1.20' - run: echo https://github.com/cosmos/relayer/blob/${GITHUB_REF#refs/tags/}/CHANGELOG.md#${GITHUB_REF#refs/tags/} > ../release_notes.md From 4598b0ec8a1ecf65f3fd42c4d8931333c831c043 Mon Sep 17 00:00:00 2001 From: KyleMoser Date: Tue, 15 Aug 2023 13:32:39 -0400 Subject: [PATCH 33/58] fix for feegrants (#1256) * Feegrant support * Test case for address caching bugfix * Bugfix for SDK account prefix. Feegrant test passing. * Mutex for signer expanded to include feegrantees * Cleaned up feegrant test case * Cleaned up feegrant test case * Cleaned up feegrant test case * check round robin feegrant behavior by counting number of TXs each grantee signer * module updates from merge * v0.47.0 with bech32 address cache fix * Move SetAddrCacheEnabled to NewRelayer func for full coverage * Do not hardcode chain id in feegrant test case * Wait more blocks for ibc transfers * disable cosmos SDK bech32 address cache for rly start command * Fix sloppy comments/remove unnecessary code * Faster acc caching unit test * Penumbra provider feegrant support * Merge upstream * Fixed merge issue where feegrant config wasn't being written to file * feegrant patch for cosmos-sdk v0.47.1 * merge from main * Update to cosmos-sdk v0.47.2 * Increase test case blocks to wait * Fixed data race by moving test parallelization after relayer wallet build * Increased TestScenarioICAChannelClose timeout height * Cleanup feegrant test case * Fixed race condition in sequence guard w/ mutex * Automatic retry for TX lookup in feegrant test case * Disable cosmos SDK address cache on app initialization via main package init() * Added docs for feegrant in the advanced usage guide * Removed commented out code * Removed commented out code * Added detail to feegrant docs, fixed minor issue with test case * Added detail to feegrant docs, fixed minor issue with test case --------- Co-authored-by: Andrew Gouin Co-authored-by: Kyle --- cmd/feegrant.go | 20 +- docs/advanced_usage.md | 28 +- interchaintest/acc_cache_test.go | 3 +- interchaintest/feegrant_test.go | 779 +++++++++++++++--------------- main.go | 10 +- relayer/chains/cosmos/feegrant.go | 33 +- 6 files changed, 462 insertions(+), 411 deletions(-) diff --git a/cmd/feegrant.go b/cmd/feegrant.go index 3d0c86421..edb66d800 100644 --- a/cmd/feegrant.go +++ b/cmd/feegrant.go @@ -26,6 +26,7 @@ func feegrantConfigureBaseCmd(a *appState) *cobra.Command { func feegrantConfigureBasicCmd(a *appState) *cobra.Command { var numGrantees int var update bool + var delete bool var updateGrantees bool var grantees []string @@ -61,6 +62,19 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { return fmt.Errorf("could not get granter key from '%s'", granterKeyOrAddr) } + if delete { + fmt.Printf("Deleting %s feegrant configuration\n", chain) + + cfgErr := a.performConfigLockingOperation(cmd.Context(), func() error { + chain := a.config.Chains[chain] + oldProv := chain.ChainProvider.(*cosmos.CosmosProvider) + oldProv.PCfg.FeeGrants = nil + return nil + }) + cobra.CheckErr(cfgErr) + return nil + } + if prov.PCfg.FeeGrants != nil && granterKey != prov.PCfg.FeeGrants.GranterKey && !update { return fmt.Errorf("you specified granter '%s' which is different than configured feegranter '%s', but you did not specify the --overwrite-granter flag", granterKeyOrAddr, prov.PCfg.FeeGrants.GranterKey) } else if prov.PCfg.FeeGrants != nil && granterKey != prov.PCfg.FeeGrants.GranterKey && update { @@ -126,11 +140,13 @@ func feegrantConfigureBasicCmd(a *appState) *cobra.Command { return nil }, } + + cmd.Flags().BoolVar(&delete, "delete", false, "delete the feegrant configuration") cmd.Flags().BoolVar(&update, "overwrite-granter", false, "allow overwriting the existing granter") cmd.Flags().BoolVar(&updateGrantees, "overwrite-grantees", false, "allow overwriting existing grantees") cmd.Flags().IntVar(&numGrantees, "num-grantees", 10, "number of grantees that will be feegranted with basic allowances") - cmd.Flags().StringSliceVar(&grantees, "grantees", []string{}, "comma separated list of grantee key names (keys are created if they do not exist)") - cmd.MarkFlagsMutuallyExclusive("num-grantees", "grantees") + cmd.Flags().StringSliceVar(&grantees, "grantees", nil, "comma separated list of grantee key names (keys are created if they do not exist)") + cmd.MarkFlagsMutuallyExclusive("num-grantees", "grantees", "delete") memoFlag(a.viper, cmd) return cmd diff --git a/docs/advanced_usage.md b/docs/advanced_usage.md index 1b6c37595..bcfd1d2ac 100644 --- a/docs/advanced_usage.md +++ b/docs/advanced_usage.md @@ -51,7 +51,33 @@ Use cases for configuring the `--time-threshold` flag: \* It is not mandatory for relayers to include the `MsgUpdateClient` when relaying packets, however most, if not all relayers currently do. ---- +## Feegrants + +Feegrant configurations can be applied to each chain in the relayer. Note that Osmosis does not support Feegrants. + + - When feegrants are enabled, TXs will be signed in round robin by the grantees. + - Feegrants reduce sequencing error rates by using many signing addresses instead of a single signer, especially when broadcast-mode is set to single. + - Feegrants are especially useful when relaying on multiple paths with the same wallet. + - Funds are held on a single address, the "granter". + +For example, configure feegrants for Kujira: +- `rly chains configure feegrant basicallowance kujira default --num-grantees 10` +- Note: above, `default` is the key that will need to contain funds (the granter) +- 10 grantees will be configured, so those 10 address will sign TXs in round robin order. + + +You may also choose to specify the exact names of your grantees: +- `rly chains configure feegrant basicallowance kujira default --grantees "kuji1,kuji2,kuji3"` + +Rerunning the feegrant command will simply confirm your configuration is correct, e.g. "Valid grant found for granter `addr` and grantee `addr2`" but will not create additional TXs on chain. Rerunning the feegrant command can therefore be a good way to check what addresses exist. +To remove the feegrant configuration: +- `rly chains configure feegrant basicallowance kujira --delete` + + + + +--- + [<-- Create Path Across Chains](create-path-across-chain.md) - [Troubleshooting -->](./troubleshooting.md) diff --git a/interchaintest/acc_cache_test.go b/interchaintest/acc_cache_test.go index a2d0fbbc2..3c255bbaa 100644 --- a/interchaintest/acc_cache_test.go +++ b/interchaintest/acc_cache_test.go @@ -4,7 +4,6 @@ import ( "testing" "github.com/cometbft/cometbft/crypto/ed25519" - "github.com/cosmos/cosmos-sdk/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" ) @@ -14,7 +13,7 @@ import ( // This will cause the AccAddress.String() to print out unexpected prefixes. // If this function fails you are on an unsafe SDK version that should NOT be used with the relayer. func TestAccCacheBugfix(t *testing.T) { - types.SetAddrCacheEnabled(false) + sdk.SetAddrCacheEnabled(false) // Use a random key priv := ed25519.GenPrivKey() diff --git a/interchaintest/feegrant_test.go b/interchaintest/feegrant_test.go index d120c15b5..6c35f2793 100644 --- a/interchaintest/feegrant_test.go +++ b/interchaintest/feegrant_test.go @@ -93,429 +93,444 @@ func TestRelayerFeeGrant(t *testing.T) { // GasAdjustment: 1.3, // }} - // Chain Factory - cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{ - {Name: "gaia", ChainName: "gaia", Version: "v7.0.3", NumValidators: &nv, NumFullNodes: &nf}, - {Name: "osmosis", ChainName: "osmosis", Version: "v14.0.1", NumValidators: &nv, NumFullNodes: &nf}, - }) - - chains, err := cf.Chains(t.Name()) - require.NoError(t, err) - gaia, osmosis := chains[0], chains[1] - - // Relayer Factory to construct relayer - r := NewRelayerFactory(RelayerConfig{ - Processor: relayer.ProcessorEvents, - InitialBlockHistory: 100, - }).Build(t, nil, "") - - processor.PathProcMessageCollector = make(chan *processor.PathProcessorMessageResp, 10000) - - // Prep Interchain - const ibcPath = "gaia-osmosis" - ic := interchaintest.NewInterchain(). - AddChain(gaia). - AddChain(osmosis). - AddRelayer(r, "relayer"). - AddLink(interchaintest.InterchainLink{ - Chain1: gaia, - Chain2: osmosis, - Relayer: r, - Path: ibcPath, - }) - - // Reporter/logs - rep := testreporter.NewNopReporter() - eRep := rep.RelayerExecReporter(t) - - client, network := interchaintest.DockerSetup(t) - - // Build interchain - require.NoError(t, ic.Build(ctx, eRep, interchaintest.InterchainBuildOptions{ - TestName: t.Name(), - Client: client, - NetworkID: network, - - SkipPathCreation: false, - })) - - t.Parallel() - - // Get Channel ID - gaiaChans, err := r.GetChannels(ctx, eRep, gaia.Config().ChainID) - require.NoError(t, err) - gaiaChannel := gaiaChans[0] - osmosisChannel := gaiaChans[0].Counterparty - - // Create and Fund User Wallets - fundAmount := int64(10_000_000) - - // Tiny amount of funding, not enough to pay for a single TX fee (the GRANTER should be paying the fee) - granteeFundAmount := int64(10) - granteeKeyPrefix := "grantee1" - grantee2KeyPrefix := "grantee2" - grantee3KeyPrefix := "grantee3" - granterKeyPrefix := "default" - - mnemonicAny := genMnemonic(t) - gaiaGranterWallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, granterKeyPrefix, mnemonicAny, int64(fundAmount), gaia) - require.NoError(t, err) - - mnemonicAny = genMnemonic(t) - gaiaGranteeWallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, granteeKeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) - require.NoError(t, err) - - mnemonicAny = genMnemonic(t) - gaiaGrantee2Wallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, grantee2KeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) - require.NoError(t, err) - - mnemonicAny = genMnemonic(t) - gaiaGrantee3Wallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, grantee3KeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) - require.NoError(t, err) - - mnemonicAny = genMnemonic(t) - osmosisUser, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, "recipient", mnemonicAny, int64(fundAmount), osmosis) - require.NoError(t, err) - - mnemonicAny = genMnemonic(t) - gaiaUser, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, "recipient", mnemonicAny, int64(fundAmount), gaia) - require.NoError(t, err) - - mnemonic := gaiaGranterWallet.Mnemonic() - fmt.Printf("Wallet mnemonic: %s\n", mnemonic) - - rand.Seed(time.Now().UnixNano()) - - //IBC chain config is unrelated to RELAYER config so this step is necessary - if err := r.RestoreKey(ctx, - eRep, - gaia.Config(), - gaiaGranterWallet.KeyName(), - gaiaGranterWallet.Mnemonic(), - ); err != nil { - t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + var tests = [][]*interchaintest.ChainSpec{ + { + {Name: "gaia", ChainName: "gaia", Version: "v7.0.3", NumValidators: &nv, NumFullNodes: &nf}, + {Name: "osmosis", ChainName: "osmosis", Version: "v14.0.1", NumValidators: &nv, NumFullNodes: &nf}, + }, + { + {Name: "gaia", ChainName: "gaia", Version: "v7.0.3", NumValidators: &nv, NumFullNodes: &nf}, + {Name: "kujira", ChainName: "kujira", Version: "v0.8.7", NumValidators: &nv, NumFullNodes: &nf}, + }, } - //IBC chain config is unrelated to RELAYER config so this step is necessary - if err := r.RestoreKey(ctx, - eRep, - gaia.Config(), - gaiaGranteeWallet.KeyName(), - gaiaGranteeWallet.Mnemonic(), - ); err != nil { - t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) - } + for _, tt := range tests { + testname := fmt.Sprintf("%s,%s", tt[0].Name, tt[1].Name) + t.Run(testname, func(t *testing.T) { + + // Chain Factory + cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), tt) + + chains, err := cf.Chains(t.Name()) + require.NoError(t, err) + gaia, osmosis := chains[0], chains[1] + + // Relayer Factory to construct relayer + r := NewRelayerFactory(RelayerConfig{ + Processor: relayer.ProcessorEvents, + InitialBlockHistory: 100, + }).Build(t, nil, "") + + processor.PathProcMessageCollector = make(chan *processor.PathProcessorMessageResp, 10000) + + // Prep Interchain + const ibcPath = "gaia-osmosis" + ic := interchaintest.NewInterchain(). + AddChain(gaia). + AddChain(osmosis). + AddRelayer(r, "relayer"). + AddLink(interchaintest.InterchainLink{ + Chain1: gaia, + Chain2: osmosis, + Relayer: r, + Path: ibcPath, + }) + + // Reporter/logs + rep := testreporter.NewNopReporter() + eRep := rep.RelayerExecReporter(t) + + client, network := interchaintest.DockerSetup(t) + + // Build interchain + require.NoError(t, ic.Build(ctx, eRep, interchaintest.InterchainBuildOptions{ + TestName: t.Name(), + Client: client, + NetworkID: network, + + SkipPathCreation: false, + })) + + t.Parallel() + + // Get Channel ID + gaiaChans, err := r.GetChannels(ctx, eRep, gaia.Config().ChainID) + require.NoError(t, err) + gaiaChannel := gaiaChans[0] + osmosisChannel := gaiaChans[0].Counterparty + + // Create and Fund User Wallets + fundAmount := int64(10_000_000) + + // Tiny amount of funding, not enough to pay for a single TX fee (the GRANTER should be paying the fee) + granteeFundAmount := int64(10) + granteeKeyPrefix := "grantee1" + grantee2KeyPrefix := "grantee2" + grantee3KeyPrefix := "grantee3" + granterKeyPrefix := "default" + + mnemonicAny := genMnemonic(t) + gaiaGranterWallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, granterKeyPrefix, mnemonicAny, int64(fundAmount), gaia) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + gaiaGranteeWallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, granteeKeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + gaiaGrantee2Wallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, grantee2KeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + gaiaGrantee3Wallet, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, grantee3KeyPrefix, mnemonicAny, int64(granteeFundAmount), gaia) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + osmosisUser, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, "recipient", mnemonicAny, int64(fundAmount), osmosis) + require.NoError(t, err) + + mnemonicAny = genMnemonic(t) + gaiaUser, err := interchaintest.GetAndFundTestUserWithMnemonic(ctx, "recipient", mnemonicAny, int64(fundAmount), gaia) + require.NoError(t, err) + + mnemonic := gaiaGranterWallet.Mnemonic() + fmt.Printf("Wallet mnemonic: %s\n", mnemonic) + + rand.Seed(time.Now().UnixNano()) + + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + gaia.Config(), + gaiaGranterWallet.KeyName(), + gaiaGranterWallet.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } - //IBC chain config is unrelated to RELAYER config so this step is necessary - if err := r.RestoreKey(ctx, - eRep, - gaia.Config(), - gaiaGrantee2Wallet.KeyName(), - gaiaGrantee2Wallet.Mnemonic(), - ); err != nil { - t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) - } + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + gaia.Config(), + gaiaGranteeWallet.KeyName(), + gaiaGranteeWallet.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } - //IBC chain config is unrelated to RELAYER config so this step is necessary - if err := r.RestoreKey(ctx, - eRep, - gaia.Config(), - gaiaGrantee3Wallet.KeyName(), - gaiaGrantee3Wallet.Mnemonic(), - ); err != nil { - t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) - } + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + gaia.Config(), + gaiaGrantee2Wallet.KeyName(), + gaiaGrantee2Wallet.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } - //IBC chain config is unrelated to RELAYER config so this step is necessary - if err := r.RestoreKey(ctx, - eRep, - osmosis.Config(), - osmosisUser.KeyName(), - osmosisUser.Mnemonic(), - ); err != nil { - t.Fatalf("failed to restore granter key to relayer for chain %s: %s", osmosis.Config().ChainID, err.Error()) - } + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + gaia.Config(), + gaiaGrantee3Wallet.KeyName(), + gaiaGrantee3Wallet.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } - //IBC chain config is unrelated to RELAYER config so this step is necessary - if err := r.RestoreKey(ctx, - eRep, - osmosis.Config(), - gaiaUser.KeyName(), - gaiaUser.Mnemonic(), - ); err != nil { - t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) - } + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + osmosis.Config(), + osmosisUser.KeyName(), + osmosisUser.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", osmosis.Config().ChainID, err.Error()) + } - gaiaGranteeAddr := gaiaGranteeWallet.FormattedAddress() - gaiaGrantee2Addr := gaiaGrantee2Wallet.FormattedAddress() - gaiaGrantee3Addr := gaiaGrantee3Wallet.FormattedAddress() - gaiaGranterAddr := gaiaGranterWallet.FormattedAddress() + //IBC chain config is unrelated to RELAYER config so this step is necessary + if err := r.RestoreKey(ctx, + eRep, + osmosis.Config(), + gaiaUser.KeyName(), + gaiaUser.Mnemonic(), + ); err != nil { + t.Fatalf("failed to restore granter key to relayer for chain %s: %s", gaia.Config().ChainID, err.Error()) + } - granteeCsv := gaiaGranteeWallet.KeyName() + "," + gaiaGrantee2Wallet.KeyName() + "," + gaiaGrantee3Wallet.KeyName() + gaiaGranteeAddr := gaiaGranteeWallet.FormattedAddress() + gaiaGrantee2Addr := gaiaGrantee2Wallet.FormattedAddress() + gaiaGrantee3Addr := gaiaGrantee3Wallet.FormattedAddress() + gaiaGranterAddr := gaiaGranterWallet.FormattedAddress() - //You MUST run the configure feegrant command prior to starting the relayer, otherwise it'd be like you never set it up at all (within this test) - //Note that Gaia supports feegrants, but Osmosis does not (x/feegrant module, or any compatible module, is not included in Osmosis SDK app modules) - localRelayer := r.(*Relayer) - res := localRelayer.sys().Run(logger, "chains", "configure", "feegrant", "basicallowance", gaia.Config().ChainID, gaiaGranterWallet.KeyName(), "--grantees", granteeCsv, "--overwrite-granter") - if res.Err != nil { - fmt.Printf("configure feegrant results: %s\n", res.Stdout.String()) - t.Fatalf("failed to rly config feegrants: %v", res.Err) - } + granteeCsv := gaiaGranteeWallet.KeyName() + "," + gaiaGrantee2Wallet.KeyName() + "," + gaiaGrantee3Wallet.KeyName() - //Map of feegranted chains and the feegrant info for the chain - feegrantedChains := map[string]*chainFeegrantInfo{} - feegrantedChains[gaia.Config().ChainID] = &chainFeegrantInfo{granter: gaiaGranterAddr, grantees: []string{gaiaGranteeAddr, gaiaGrantee2Addr, gaiaGrantee3Addr}} + //You MUST run the configure feegrant command prior to starting the relayer, otherwise it'd be like you never set it up at all (within this test) + //Note that Gaia supports feegrants, but Osmosis does not (x/feegrant module, or any compatible module, is not included in Osmosis SDK app modules) + localRelayer := r.(*Relayer) + res := localRelayer.sys().Run(logger, "chains", "configure", "feegrant", "basicallowance", gaia.Config().ChainID, gaiaGranterWallet.KeyName(), "--grantees", granteeCsv, "--overwrite-granter") + if res.Err != nil { + fmt.Printf("configure feegrant results: %s\n", res.Stdout.String()) + t.Fatalf("failed to rly config feegrants: %v", res.Err) + } - time.Sleep(14 * time.Second) //commit a couple blocks - r.StartRelayer(ctx, eRep, ibcPath) + //Map of feegranted chains and the feegrant info for the chain + feegrantedChains := map[string]*chainFeegrantInfo{} + feegrantedChains[gaia.Config().ChainID] = &chainFeegrantInfo{granter: gaiaGranterAddr, grantees: []string{gaiaGranteeAddr, gaiaGrantee2Addr, gaiaGrantee3Addr}} - // Send Transaction - amountToSend := int64(1_000) + time.Sleep(14 * time.Second) //commit a couple blocks + r.StartRelayer(ctx, eRep, ibcPath) - gaiaDstAddress := types.MustBech32ifyAddressBytes(osmosis.Config().Bech32Prefix, gaiaUser.Address()) - osmosisDstAddress := types.MustBech32ifyAddressBytes(gaia.Config().Bech32Prefix, osmosisUser.Address()) + // Send Transaction + amountToSend := int64(1_000) - gaiaHeight, err := gaia.Height(ctx) - require.NoError(t, err) + gaiaDstAddress := types.MustBech32ifyAddressBytes(osmosis.Config().Bech32Prefix, gaiaUser.Address()) + osmosisDstAddress := types.MustBech32ifyAddressBytes(gaia.Config().Bech32Prefix, osmosisUser.Address()) - osmosisHeight, err := osmosis.Height(ctx) - require.NoError(t, err) + gaiaHeight, err := gaia.Height(ctx) + require.NoError(t, err) - var eg errgroup.Group - var gaiaTx ibc.Tx + osmosisHeight, err := osmosis.Height(ctx) + require.NoError(t, err) - eg.Go(func() error { - gaiaTx, err = gaia.SendIBCTransfer(ctx, gaiaChannel.ChannelID, gaiaUser.KeyName(), ibc.WalletAmount{ - Address: gaiaDstAddress, - Denom: gaia.Config().Denom, - Amount: amountToSend, - }, - ibc.TransferOptions{}, - ) - if err != nil { - return err - } - if err := gaiaTx.Validate(); err != nil { - return err - } - - _, err = testutil.PollForAck(ctx, gaia, gaiaHeight, gaiaHeight+20, gaiaTx.Packet) - return err - }) + var eg errgroup.Group + var gaiaTx ibc.Tx - eg.Go(func() error { - tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ - Address: osmosisDstAddress, - Denom: osmosis.Config().Denom, - Amount: amountToSend, - }, - ibc.TransferOptions{}, - ) - if err != nil { - return err - } - if err := tx.Validate(); err != nil { - return err - } - _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) - return err - }) + eg.Go(func() error { + gaiaTx, err = gaia.SendIBCTransfer(ctx, gaiaChannel.ChannelID, gaiaUser.KeyName(), ibc.WalletAmount{ + Address: gaiaDstAddress, + Denom: gaia.Config().Denom, + Amount: amountToSend, + }, + ibc.TransferOptions{}, + ) + if err != nil { + return err + } + if err := gaiaTx.Validate(); err != nil { + return err + } - eg.Go(func() error { - tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ - Address: osmosisDstAddress, - Denom: osmosis.Config().Denom, - Amount: amountToSend, - }, - ibc.TransferOptions{}, - ) - if err != nil { - return err - } - if err := tx.Validate(); err != nil { - return err - } - _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) - return err - }) + _, err = testutil.PollForAck(ctx, gaia, gaiaHeight, gaiaHeight+20, gaiaTx.Packet) + return err + }) + + eg.Go(func() error { + tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ + Address: osmosisDstAddress, + Denom: osmosis.Config().Denom, + Amount: amountToSend, + }, + ibc.TransferOptions{}, + ) + if err != nil { + return err + } + if err := tx.Validate(); err != nil { + return err + } + _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) + return err + }) + + eg.Go(func() error { + tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ + Address: osmosisDstAddress, + Denom: osmosis.Config().Denom, + Amount: amountToSend, + }, + ibc.TransferOptions{}, + ) + if err != nil { + return err + } + if err := tx.Validate(); err != nil { + return err + } + _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) + return err + }) + + eg.Go(func() error { + tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ + Address: osmosisDstAddress, + Denom: osmosis.Config().Denom, + Amount: amountToSend, + }, + ibc.TransferOptions{}, + ) + if err != nil { + return err + } + if err := tx.Validate(); err != nil { + return err + } + _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) + return err + }) + + require.NoError(t, err) + require.NoError(t, eg.Wait()) + + feegrantMsgSigners := map[string][]string{} //chain to list of signers + + for len(processor.PathProcMessageCollector) > 0 { + select { + case curr, ok := <-processor.PathProcMessageCollector: + if ok && curr.Error == nil && curr.SuccessfulTx { + cProv, cosmProv := curr.DestinationChain.(*cosmos.CosmosProvider) + if cosmProv { + chain := cProv.PCfg.ChainID + feegrantInfo, isFeegrantedChain := feegrantedChains[chain] + if isFeegrantedChain && !strings.Contains(cProv.PCfg.KeyDirectory, t.Name()) { + //This would indicate that a parallel test is inserting msgs into the queue. + //We can safely skip over any messages inserted by other test cases. + fmt.Println("Skipping PathProcessorMessageResp from unrelated Parallel test case") + continue + } - eg.Go(func() error { - tx, err := osmosis.SendIBCTransfer(ctx, osmosisChannel.ChannelID, osmosisUser.KeyName(), ibc.WalletAmount{ - Address: osmosisDstAddress, - Denom: osmosis.Config().Denom, - Amount: amountToSend, - }, - ibc.TransferOptions{}, - ) - if err != nil { - return err - } - if err := tx.Validate(); err != nil { - return err - } - _, err = testutil.PollForAck(ctx, osmosis, osmosisHeight, osmosisHeight+20, tx.Packet) - return err - }) - - require.NoError(t, err) - require.NoError(t, eg.Wait()) - - feegrantMsgSigners := map[string][]string{} //chain to list of signers - - for len(processor.PathProcMessageCollector) > 0 { - select { - case curr, ok := <-processor.PathProcMessageCollector: - if ok && curr.Error == nil && curr.SuccessfulTx { - cProv, cosmProv := curr.DestinationChain.(*cosmos.CosmosProvider) - if cosmProv { - chain := cProv.PCfg.ChainID - feegrantInfo, isFeegrantedChain := feegrantedChains[chain] - if isFeegrantedChain && !strings.Contains(cProv.PCfg.KeyDirectory, t.Name()) { - //This would indicate that a parallel test is inserting msgs into the queue. - //We can safely skip over any messages inserted by other test cases. - fmt.Println("Skipping PathProcessorMessageResp from unrelated Parallel test case") - continue - } + done := cProv.SetSDKContext() + + hash, err := hex.DecodeString(curr.Response.TxHash) + require.Nil(t, err) + txResp, err := TxWithRetry(ctx, cProv.RPCClient, hash) + require.Nil(t, err) + + require.Nil(t, err) + dc := cProv.Cdc.TxConfig.TxDecoder() + tx, err := dc(txResp.Tx) + require.Nil(t, err) + builder, err := cProv.Cdc.TxConfig.WrapTxBuilder(tx) + require.Nil(t, err) + txFinder := builder.(protoTxProvider) + fullTx := txFinder.GetProtoTx() + isFeegrantedMsg := false + + msgs := "" + msgType := "" + for _, m := range fullTx.GetMsgs() { + msgType = types.MsgTypeURL(m) + //We want all IBC transfers (on an open channel/connection) to be feegranted in round robin fashion + if msgType == "/ibc.core.channel.v1.MsgRecvPacket" || msgType == "/ibc.core.channel.v1.MsgAcknowledgement" { + isFeegrantedMsg = true + msgs += msgType + ", " + } else { + msgs += msgType + ", " + } + } - done := cProv.SetSDKContext() - - hash, err := hex.DecodeString(curr.Response.TxHash) - require.Nil(t, err) - txResp, err := TxWithRetry(ctx, cProv.RPCClient, hash) - require.Nil(t, err) - - require.Nil(t, err) - dc := cProv.Cdc.TxConfig.TxDecoder() - tx, err := dc(txResp.Tx) - require.Nil(t, err) - builder, err := cProv.Cdc.TxConfig.WrapTxBuilder(tx) - require.Nil(t, err) - txFinder := builder.(protoTxProvider) - fullTx := txFinder.GetProtoTx() - isFeegrantedMsg := false - - msgs := "" - msgType := "" - for _, m := range fullTx.GetMsgs() { - msgType = types.MsgTypeURL(m) - //We want all IBC transfers (on an open channel/connection) to be feegranted in round robin fashion - if msgType == "/ibc.core.channel.v1.MsgRecvPacket" || msgType == "/ibc.core.channel.v1.MsgAcknowledgement" { - isFeegrantedMsg = true - msgs += msgType + ", " - } else { - msgs += msgType + ", " - } - } + //It's required that TXs be feegranted in a round robin fashion for this chain and message type + if isFeegrantedChain && isFeegrantedMsg { + fmt.Printf("Msg types: %+v\n", msgs) + signers := fullTx.GetSigners() + require.Equal(t, len(signers), 1) + granter := fullTx.FeeGranter() + + //Feegranter for the TX that was signed on chain must be the relayer chain's configured feegranter + require.Equal(t, feegrantInfo.granter, granter.String()) + require.NotEmpty(t, granter) + + for _, msg := range fullTx.GetMsgs() { + msgType = types.MsgTypeURL(msg) + //We want all IBC transfers (on an open channel/connection) to be feegranted in round robin fashion + if msgType == "/ibc.core.channel.v1.MsgRecvPacket" { + c := msg.(*chantypes.MsgRecvPacket) + appData := c.Packet.GetData() + tokenTransfer := &transfertypes.FungibleTokenPacketData{} + err := tokenTransfer.Unmarshal(appData) + if err == nil { + fmt.Printf("%+v\n", tokenTransfer) + } else { + fmt.Println(string(appData)) + } + } + } - //It's required that TXs be feegranted in a round robin fashion for this chain and message type - if isFeegrantedChain && isFeegrantedMsg { - fmt.Printf("Msg types: %+v\n", msgs) - signers := fullTx.GetSigners() - require.Equal(t, len(signers), 1) - granter := fullTx.FeeGranter() - - //Feegranter for the TX that was signed on chain must be the relayer chain's configured feegranter - require.Equal(t, feegrantInfo.granter, granter.String()) - require.NotEmpty(t, granter) - - for _, msg := range fullTx.GetMsgs() { - msgType = types.MsgTypeURL(msg) - //We want all IBC transfers (on an open channel/connection) to be feegranted in round robin fashion - if msgType == "/ibc.core.channel.v1.MsgRecvPacket" { - c := msg.(*chantypes.MsgRecvPacket) - appData := c.Packet.GetData() - tokenTransfer := &transfertypes.FungibleTokenPacketData{} - err := tokenTransfer.Unmarshal(appData) - if err == nil { - fmt.Printf("%+v\n", tokenTransfer) + //Grantee for the TX that was signed on chain must be a configured grantee in the relayer's chain feegrants. + //In addition, the grantee must be used in round robin fashion + //expectedGrantee := nextGrantee(feegrantInfo) + actualGrantee := signers[0].String() + signerList, ok := feegrantMsgSigners[chain] + if ok { + signerList = append(signerList, actualGrantee) + feegrantMsgSigners[chain] = signerList } else { - fmt.Println(string(appData)) + feegrantMsgSigners[chain] = []string{actualGrantee} } + fmt.Printf("Chain: %s, msg type: %s, height: %d, signer: %s, granter: %s\n", chain, msgType, curr.Response.Height, actualGrantee, granter.String()) } + done() } - - //Grantee for the TX that was signed on chain must be a configured grantee in the relayer's chain feegrants. - //In addition, the grantee must be used in round robin fashion - //expectedGrantee := nextGrantee(feegrantInfo) - actualGrantee := signers[0].String() - signerList, ok := feegrantMsgSigners[chain] - if ok { - signerList = append(signerList, actualGrantee) - feegrantMsgSigners[chain] = signerList - } else { - feegrantMsgSigners[chain] = []string{actualGrantee} - } - fmt.Printf("Chain: %s, msg type: %s, height: %d, signer: %s, granter: %s\n", chain, msgType, curr.Response.Height, actualGrantee, granter.String()) } - done() + default: + fmt.Println("Unknown channel message") } } - default: - fmt.Println("Unknown channel message") - } - } - for chain, signers := range feegrantMsgSigners { - require.Equal(t, chain, gaia.Config().ChainID) - signerCountMap := map[string]int{} + for chain, signers := range feegrantMsgSigners { + require.Equal(t, chain, gaia.Config().ChainID) + signerCountMap := map[string]int{} - for _, signer := range signers { - count, ok := signerCountMap[signer] - if ok { - signerCountMap[signer] = count + 1 - } else { - signerCountMap[signer] = 1 - } - } + for _, signer := range signers { + count, ok := signerCountMap[signer] + if ok { + signerCountMap[signer] = count + 1 + } else { + signerCountMap[signer] = 1 + } + } - highestCount := 0 - for _, count := range signerCountMap { - if count > highestCount { - highestCount = count - } - } + highestCount := 0 + for _, count := range signerCountMap { + if count > highestCount { + highestCount = count + } + } - //At least one feegranter must have signed a TX - require.GreaterOrEqual(t, highestCount, 1) + //At least one feegranter must have signed a TX + require.GreaterOrEqual(t, highestCount, 1) - //All of the feegrantees must have signed at least one TX - expectedFeegrantInfo := feegrantedChains[chain] - require.Equal(t, len(signerCountMap), len(expectedFeegrantInfo.grantees)) + //All of the feegrantees must have signed at least one TX + expectedFeegrantInfo := feegrantedChains[chain] + require.Equal(t, len(signerCountMap), len(expectedFeegrantInfo.grantees)) - // verify that TXs were signed in a round robin fashion. - // no grantee should have signed more TXs than any other grantee (off by one is allowed). - for signer, count := range signerCountMap { - fmt.Printf("signer %s signed %d feegranted TXs \n", signer, count) - require.LessOrEqual(t, highestCount-count, 1) - } - } + // verify that TXs were signed in a round robin fashion. + // no grantee should have signed more TXs than any other grantee (off by one is allowed). + for signer, count := range signerCountMap { + fmt.Printf("signer %s signed %d feegranted TXs \n", signer, count) + require.LessOrEqual(t, highestCount-count, 1) + } + } + + // Trace IBC Denom + gaiaDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(osmosisChannel.PortID, osmosisChannel.ChannelID, gaia.Config().Denom)) + gaiaIbcDenom := gaiaDenomTrace.IBCDenom() - // Trace IBC Denom - gaiaDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(osmosisChannel.PortID, osmosisChannel.ChannelID, gaia.Config().Denom)) - gaiaIbcDenom := gaiaDenomTrace.IBCDenom() + osmosisDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(gaiaChannel.PortID, gaiaChannel.ChannelID, osmosis.Config().Denom)) + osmosisIbcDenom := osmosisDenomTrace.IBCDenom() - osmosisDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(gaiaChannel.PortID, gaiaChannel.ChannelID, osmosis.Config().Denom)) - osmosisIbcDenom := osmosisDenomTrace.IBCDenom() + // Test destination wallets have increased funds + gaiaIBCBalance, err := osmosis.GetBalance(ctx, gaiaDstAddress, gaiaIbcDenom) + require.NoError(t, err) + require.Equal(t, amountToSend, gaiaIBCBalance) - // Test destination wallets have increased funds - gaiaIBCBalance, err := osmosis.GetBalance(ctx, gaiaDstAddress, gaiaIbcDenom) - require.NoError(t, err) - require.Equal(t, amountToSend, gaiaIBCBalance) + osmosisIBCBalance, err := gaia.GetBalance(ctx, osmosisDstAddress, osmosisIbcDenom) + require.NoError(t, err) + require.Equal(t, 3*amountToSend, osmosisIBCBalance) - osmosisIBCBalance, err := gaia.GetBalance(ctx, osmosisDstAddress, osmosisIbcDenom) - require.NoError(t, err) - require.Equal(t, 3*amountToSend, osmosisIBCBalance) + // Test grantee still has exact amount expected + gaiaGranteeIBCBalance, err := gaia.GetBalance(ctx, gaiaGranteeAddr, gaia.Config().Denom) + require.NoError(t, err) + require.Equal(t, granteeFundAmount, gaiaGranteeIBCBalance) - // Test grantee still has exact amount expected - gaiaGranteeIBCBalance, err := gaia.GetBalance(ctx, gaiaGranteeAddr, gaia.Config().Denom) - require.NoError(t, err) - require.Equal(t, granteeFundAmount, gaiaGranteeIBCBalance) + // Test granter has less than they started with, meaning fees came from their account + gaiaGranterIBCBalance, err := gaia.GetBalance(ctx, gaiaGranterAddr, gaia.Config().Denom) + require.NoError(t, err) + require.Less(t, gaiaGranterIBCBalance, fundAmount) + r.StopRelayer(ctx, eRep) - // Test granter has less than they started with, meaning fees came from their account - gaiaGranterIBCBalance, err := gaia.GetBalance(ctx, gaiaGranterAddr, gaia.Config().Denom) - require.NoError(t, err) - require.Less(t, gaiaGranterIBCBalance, fundAmount) - r.StopRelayer(ctx, eRep) + }) + } } func TxWithRetry(ctx context.Context, client rpcclient.Client, hash []byte) (*ctypes.ResultTx, error) { diff --git a/main.go b/main.go index 2dd1b6e4d..958a04ad7 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,15 @@ package main -import "github.com/cosmos/relayer/v2/cmd" +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/relayer/v2/cmd" +) func main() { cmd.Execute() } + +func init() { + //prevent incorrect bech32 address prefixed addresses when calling AccAddress.String() + sdk.SetAddrCacheEnabled(false) +} diff --git a/relayer/chains/cosmos/feegrant.go b/relayer/chains/cosmos/feegrant.go index 92b14b6d3..e2ffbab45 100644 --- a/relayer/chains/cosmos/feegrant.go +++ b/relayer/chains/cosmos/feegrant.go @@ -8,6 +8,7 @@ import ( "strconv" "time" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -290,30 +291,16 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* } if len(msgs) > 0 { - //Make sure the granter has funds on chain, if not, we can't even pay TX fees. - //Also, depending how the config was initialized, the key might only exist locally, not on chain. - balance, err := cc.QueryBalanceWithAddress(ctx, granterAddr) - if err != nil { - return nil, err - } - - //Check to ensure the feegranter has funds on chain that can pay TX fees - weBroke := true - gasDenom, err := getGasTokenDenom(cc.PCfg.GasPrices) - if err != nil { - return nil, err - } + cliCtx := client.Context{}.WithClient(cc.RPCClient). + WithInterfaceRegistry(cc.Cdc.InterfaceRegistry). + WithChainID(cc.PCfg.ChainID). + WithCodec(cc.Cdc.Marshaler). + WithFromAddress(granterAcc) - for _, coin := range balance { - if coin.Denom == gasDenom { - if coin.Amount.GT(sdk.ZeroInt()) { - weBroke = false - } - } - } + granterExists := cc.EnsureExists(cliCtx, granterAcc) == nil - //Feegranter can pay TX fees - if !weBroke { + //Feegranter exists on chain + if granterExists { txResp, err := cc.SubmitTxAwaitResponse(ctx, msgs, memo, 0, granterKey) if err != nil { fmt.Printf("Error: SubmitTxAwaitResponse: %s", err.Error()) @@ -326,7 +313,7 @@ func (cc *CosmosProvider) EnsureBasicGrants(ctx context.Context, memo string) (* fmt.Printf("TX succeeded, %d new grants configured, %d grants already in place. TX hash: %s\n", grantsNeeded, numGrantees-grantsNeeded, txResp.TxResponse.TxHash) return txResp.TxResponse, err } else { - return nil, fmt.Errorf("granter %s does not have funds on chain in fee denom '%s' (no TXs submitted)", granterKey, gasDenom) + return nil, fmt.Errorf("granter %s does not exist on chain", granterKey) } } else { fmt.Printf("All grantees (%d total) already had valid feegrants. Feegrant configuration verified.\n", numGrantees) From 811004c2dc43fe09f8ab007e4b92eb3cb6742e18 Mon Sep 17 00:00:00 2001 From: Conor Schaefer Date: Tue, 15 Aug 2023 13:11:01 -0700 Subject: [PATCH 34/58] chore: update penumbra protos (#1260) Updating to the latest Penumbra upstream protos. We'll likely submit another round of changes ahead of the next public testnet release, as a heads up. Co-authored-by: Conor Schaefer --- .../penumbra/core/ibc/v1alpha1/ibc.pb.go | 155 ++-- .../transaction/v1alpha1/transaction.pb.go | 20 +- .../chains/penumbra/view/v1alpha1/view.pb.go | 673 ++++++++++++------ 3 files changed, 532 insertions(+), 316 deletions(-) diff --git a/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go b/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go index cf5d9ad90..8bf6ff767 100644 --- a/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go +++ b/relayer/chains/penumbra/core/ibc/v1alpha1/ibc.pb.go @@ -183,10 +183,8 @@ type Ics20Withdrawal struct { TimeoutHeight uint64 `protobuf:"varint,5,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` // the timestamp at which this transfer expires. TimeoutTime uint64 `protobuf:"varint,6,opt,name=timeout_time,json=timeoutTime,proto3" json:"timeout_time,omitempty"` - // the source port that identifies the channel used for the withdrawal - SourcePort string `protobuf:"bytes,7,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` // the source channel used for the withdrawal - SourceChannel string `protobuf:"bytes,8,opt,name=source_channel,json=sourceChannel,proto3" json:"source_channel,omitempty"` + SourceChannel string `protobuf:"bytes,7,opt,name=source_channel,json=sourceChannel,proto3" json:"source_channel,omitempty"` } func (m *Ics20Withdrawal) Reset() { *m = Ics20Withdrawal{} } @@ -264,13 +262,6 @@ func (m *Ics20Withdrawal) GetTimeoutTime() uint64 { return 0 } -func (m *Ics20Withdrawal) GetSourcePort() string { - if m != nil { - return m.SourcePort - } - return "" -} - func (m *Ics20Withdrawal) GetSourceChannel() string { if m != nil { return m.SourceChannel @@ -583,57 +574,56 @@ func init() { } var fileDescriptor_6509740287584c65 = []byte{ - // 791 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x94, 0x41, 0x8f, 0x1b, 0x35, - 0x14, 0xc7, 0x77, 0x92, 0x74, 0x37, 0x71, 0x9a, 0x84, 0x8e, 0x2a, 0x3a, 0x0d, 0x22, 0x0d, 0xa3, - 0xb6, 0xda, 0x22, 0x31, 0x43, 0x52, 0x10, 0xd2, 0xa0, 0x4a, 0x64, 0xa7, 0xa2, 0xcc, 0xa1, 0x22, - 0x1a, 0xaa, 0x22, 0xa1, 0x48, 0x91, 0xc7, 0xe3, 0x26, 0x56, 0x33, 0x76, 0x64, 0x7b, 0xb2, 0x8a, - 0xf8, 0x12, 0x7c, 0x05, 0xb8, 0xc1, 0x99, 0x0f, 0x81, 0x38, 0xf5, 0xc8, 0x11, 0x65, 0x6f, 0x7c, - 0x0a, 0x64, 0x7b, 0x9c, 0xec, 0x4a, 0x2c, 0x7b, 0x8a, 0xdf, 0xff, 0xfd, 0xde, 0xcb, 0x7b, 0x6f, - 0x9e, 0x0d, 0x1e, 0xae, 0x31, 0x2d, 0x8b, 0x8c, 0xc3, 0x10, 0x31, 0x8e, 0x43, 0x92, 0xa1, 0x70, - 0x33, 0x82, 0xab, 0xf5, 0x12, 0x8e, 0x94, 0x11, 0xac, 0x39, 0x93, 0xcc, 0xed, 0x5b, 0x2a, 0x50, - 0x54, 0xa0, 0x1c, 0x96, 0xea, 0x7f, 0x7c, 0x35, 0x03, 0xe2, 0xdb, 0xb5, 0x64, 0x87, 0x24, 0xc6, - 0x36, 0x79, 0xfa, 0x0f, 0x54, 0x7e, 0x83, 0xad, 0x08, 0xa6, 0x32, 0xdc, 0x8c, 0xaa, 0x53, 0x05, - 0xdc, 0x5f, 0x30, 0xb6, 0x58, 0xe1, 0x50, 0x5b, 0x59, 0xf9, 0x26, 0x84, 0x74, 0x6b, 0x5c, 0xfe, - 0x57, 0xa0, 0x95, 0x64, 0x68, 0x82, 0x24, 0x61, 0xd4, 0x7d, 0x0a, 0x00, 0x87, 0xe7, 0x73, 0xa8, - 0x2d, 0xcf, 0x19, 0x3a, 0xa7, 0xed, 0xf1, 0xdd, 0xc0, 0x04, 0x07, 0x36, 0x38, 0x98, 0xd0, 0x6d, - 0xda, 0xe2, 0xf0, 0xdc, 0x04, 0xf9, 0x3f, 0x82, 0x7b, 0x5f, 0x97, 0x74, 0x41, 0xb2, 0x15, 0x7e, - 0xc5, 0xde, 0x62, 0x3a, 0x85, 0xe8, 0x2d, 0x96, 0xcf, 0xa1, 0x84, 0xee, 0x5d, 0x70, 0x2b, 0xc7, - 0x94, 0x15, 0x3a, 0x55, 0x2b, 0x35, 0x86, 0xfb, 0x3e, 0x38, 0x86, 0x05, 0x2b, 0xa9, 0xf4, 0x6a, - 0x5a, 0xae, 0x2c, 0xa5, 0x0b, 0x4c, 0x73, 0xcc, 0xbd, 0xba, 0xd1, 0x8d, 0xe5, 0xf6, 0x41, 0x93, - 0x63, 0x84, 0xc9, 0x06, 0x73, 0xaf, 0xa1, 0x3d, 0x7b, 0xdb, 0xff, 0xb5, 0x0e, 0x7a, 0x09, 0x12, - 0xe3, 0x4f, 0xbf, 0x27, 0x72, 0x99, 0x73, 0x78, 0x0e, 0x57, 0xee, 0xb3, 0x7d, 0x7e, 0xd3, 0xc1, - 0xa3, 0xe0, 0xea, 0x9c, 0xab, 0xd9, 0xd9, 0x59, 0x06, 0x13, 0x0d, 0xef, 0xcb, 0x88, 0x6c, 0xd1, - 0x35, 0x1d, 0xfd, 0xf0, 0x86, 0xe8, 0xe7, 0x8a, 0xb5, 0xad, 0x45, 0xe0, 0x7e, 0x8e, 0x85, 0x24, - 0x14, 0xaa, 0xd1, 0xcc, 0xd1, 0x12, 0x12, 0x3a, 0x87, 0x79, 0xce, 0xb1, 0x10, 0x55, 0x57, 0xf7, - 0x2e, 0x01, 0xb1, 0xf2, 0x4f, 0x8c, 0xdb, 0x7d, 0x09, 0xba, 0x1c, 0xcb, 0x92, 0x1f, 0x02, 0x1a, - 0xba, 0x80, 0xc7, 0x37, 0x95, 0x6f, 0xe8, 0xb4, 0x63, 0xa2, 0x6d, 0xba, 0x47, 0xa0, 0x2b, 0x49, - 0x81, 0x59, 0x29, 0xe7, 0x4b, 0x4c, 0x16, 0x4b, 0xe9, 0xdd, 0x1a, 0x3a, 0xa7, 0x8d, 0xb4, 0x53, - 0xa9, 0xdf, 0x68, 0xd1, 0xfd, 0x08, 0xdc, 0xb6, 0x98, 0xfa, 0xf5, 0x8e, 0x35, 0xd4, 0xae, 0xb4, - 0x57, 0xa4, 0xc0, 0xee, 0x03, 0xd0, 0x16, 0xac, 0xe4, 0x08, 0xcf, 0xd7, 0x8c, 0x4b, 0xef, 0x44, - 0xb7, 0x01, 0x8c, 0x34, 0x65, 0x5c, 0xaa, 0xbf, 0xaa, 0x00, 0xb4, 0x84, 0x94, 0xe2, 0x95, 0xd7, - 0xd4, 0x4c, 0xc7, 0xa8, 0xb1, 0x11, 0xfd, 0xdf, 0x1d, 0x00, 0x62, 0xbd, 0x96, 0x7a, 0x39, 0x3e, - 0x00, 0x2d, 0xb3, 0xa4, 0x73, 0x92, 0x57, 0x0b, 0xd2, 0x34, 0x42, 0x92, 0xbb, 0x5f, 0x80, 0xdb, - 0x95, 0x53, 0x48, 0x28, 0x71, 0xf5, 0x2d, 0xfe, 0x7b, 0x17, 0xdb, 0x86, 0xfc, 0x4e, 0x81, 0xaa, - 0x96, 0x35, 0x67, 0x08, 0x0b, 0x81, 0x73, 0xd3, 0x91, 0x19, 0x7b, 0x67, 0xaf, 0xea, 0x9e, 0x9e, - 0x80, 0xf7, 0x0e, 0x58, 0x35, 0x9f, 0x86, 0x6e, 0xbd, 0xb7, 0xd7, 0xcd, 0x84, 0xfc, 0x27, 0xa0, - 0x63, 0xaa, 0x8e, 0xd5, 0x7a, 0x60, 0xee, 0x7a, 0xe0, 0x04, 0x99, 0xa3, 0x2e, 0xbb, 0x91, 0x5a, - 0xd3, 0xff, 0x16, 0x74, 0x63, 0x46, 0x05, 0xa6, 0xa2, 0x14, 0xa6, 0x9c, 0x67, 0xa0, 0x87, 0xac, - 0x52, 0xb5, 0xf2, 0x7f, 0xd7, 0xaa, 0x8b, 0xae, 0x84, 0xfb, 0x2f, 0x40, 0xef, 0x35, 0xe6, 0xe4, - 0x0d, 0xb1, 0xd5, 0x08, 0xf7, 0x33, 0x70, 0x62, 0xea, 0x15, 0x9e, 0x33, 0xac, 0x9f, 0xb6, 0xc7, - 0x7d, 0xfd, 0x70, 0x98, 0xd5, 0x30, 0x97, 0x7e, 0x33, 0x0a, 0x0c, 0x9d, 0x5a, 0xd4, 0xff, 0x04, - 0xdc, 0x89, 0x19, 0xa5, 0x58, 0x5f, 0xd9, 0x9b, 0x1b, 0xf9, 0x1c, 0xdc, 0xb1, 0x3d, 0xdb, 0x20, - 0xe1, 0x0e, 0x41, 0x1b, 0x1d, 0x4c, 0xfd, 0xef, 0xad, 0xf4, 0xb2, 0x74, 0xf6, 0x73, 0xed, 0x8f, - 0xdd, 0xc0, 0x79, 0xb7, 0x1b, 0x38, 0x7f, 0xef, 0x06, 0xce, 0x4f, 0x17, 0x83, 0xa3, 0x77, 0x17, - 0x83, 0xa3, 0xbf, 0x2e, 0x06, 0x47, 0x60, 0x80, 0x58, 0x11, 0x5c, 0xff, 0xde, 0x9d, 0x35, 0x93, - 0x0c, 0x4d, 0xd5, 0x28, 0xa6, 0xce, 0x0f, 0xe9, 0x82, 0xc8, 0x65, 0x99, 0x05, 0x88, 0x15, 0x21, - 0x62, 0xa2, 0x60, 0x22, 0xe4, 0x78, 0x05, 0xb7, 0x98, 0x87, 0x9b, 0xf1, 0xfe, 0xa8, 0x2f, 0x97, - 0x08, 0xaf, 0x7f, 0x69, 0xbf, 0x24, 0x19, 0xb2, 0xe7, 0x5f, 0x6a, 0xf5, 0x69, 0x9c, 0xfc, 0x56, - 0xeb, 0x4f, 0x6d, 0x09, 0xb1, 0x2a, 0x21, 0xc9, 0x50, 0xf0, 0xba, 0x42, 0xfe, 0x3c, 0x38, 0x67, - 0xca, 0x39, 0x4b, 0x32, 0x34, 0xb3, 0xce, 0x5d, 0xed, 0xf1, 0xf5, 0xce, 0xd9, 0x8b, 0xe9, 0xd9, - 0x4b, 0x2c, 0x61, 0x0e, 0x25, 0xfc, 0xa7, 0xf6, 0xa1, 0x05, 0xa3, 0x48, 0x91, 0x51, 0x94, 0x64, - 0x28, 0x8a, 0x2c, 0x9b, 0x1d, 0xeb, 0x0f, 0xfe, 0xf4, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xec, - 0xc7, 0x3e, 0x41, 0x23, 0x06, 0x00, 0x00, + // 773 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x41, 0x8f, 0x1b, 0x35, + 0x14, 0xde, 0x49, 0xd2, 0xdd, 0x8d, 0xd3, 0x24, 0x74, 0x54, 0xd1, 0x69, 0x10, 0x21, 0x8c, 0xda, + 0x6a, 0x8b, 0xc4, 0x0c, 0x49, 0x41, 0x48, 0x83, 0x2a, 0x91, 0x9d, 0x8a, 0x32, 0x87, 0x8a, 0x68, + 0xa8, 0x8a, 0x84, 0x22, 0x45, 0x1e, 0x8f, 0x9b, 0x58, 0x9b, 0xb1, 0x23, 0xdb, 0x93, 0x55, 0xc4, + 0x1f, 0xe0, 0xc8, 0x5f, 0x80, 0x23, 0x67, 0x7e, 0x04, 0xe2, 0xb4, 0x47, 0x8e, 0x28, 0x7b, 0xe3, + 0x57, 0x20, 0xdb, 0xe3, 0x64, 0x57, 0x62, 0xbb, 0xa7, 0xf8, 0x7d, 0xef, 0x7b, 0x2f, 0xdf, 0xf7, + 0xde, 0xd8, 0xe0, 0xd1, 0x0a, 0xd3, 0xb2, 0xc8, 0x38, 0x0c, 0x11, 0xe3, 0x38, 0x24, 0x19, 0x0a, + 0xd7, 0x43, 0xb8, 0x5c, 0x2d, 0xe0, 0x50, 0x05, 0xc1, 0x8a, 0x33, 0xc9, 0xdc, 0x9e, 0x65, 0x05, + 0x8a, 0x15, 0xa8, 0x84, 0x65, 0xf5, 0x3e, 0xb9, 0xde, 0x01, 0xf1, 0xcd, 0x4a, 0xb2, 0x7d, 0x13, + 0x13, 0x9b, 0x3e, 0xbd, 0x8f, 0x54, 0x7f, 0x43, 0x5b, 0x12, 0x4c, 0x65, 0xb8, 0x1e, 0x56, 0xa7, + 0x8a, 0xf0, 0x70, 0xce, 0xd8, 0x7c, 0x89, 0x43, 0x1d, 0x65, 0xe5, 0xdb, 0x10, 0xd2, 0x8d, 0x49, + 0xf9, 0x5f, 0x83, 0x66, 0x92, 0xa1, 0x31, 0x92, 0x84, 0x51, 0xf7, 0x19, 0x00, 0x1c, 0x9e, 0xcf, + 0xa0, 0x8e, 0x3c, 0x67, 0xe0, 0x9c, 0xb4, 0x46, 0xf7, 0x03, 0x53, 0x1c, 0xd8, 0xe2, 0x60, 0x4c, + 0x37, 0x69, 0x93, 0xc3, 0x73, 0x53, 0xe4, 0xff, 0x04, 0x1e, 0x7c, 0x53, 0xd2, 0x39, 0xc9, 0x96, + 0xf8, 0x35, 0x3b, 0xc3, 0x74, 0x02, 0xd1, 0x19, 0x96, 0x2f, 0xa0, 0x84, 0xee, 0x7d, 0x70, 0x27, + 0xc7, 0x94, 0x15, 0xba, 0x55, 0x33, 0x35, 0x81, 0xfb, 0x3e, 0x38, 0x84, 0x05, 0x2b, 0xa9, 0xf4, + 0x6a, 0x1a, 0xae, 0x22, 0x85, 0x0b, 0x4c, 0x73, 0xcc, 0xbd, 0xba, 0xc1, 0x4d, 0xe4, 0xf6, 0xc0, + 0x31, 0xc7, 0x08, 0x93, 0x35, 0xe6, 0x5e, 0x43, 0x67, 0x76, 0xb1, 0xff, 0x73, 0x1d, 0x74, 0x13, + 0x24, 0x46, 0x9f, 0xfd, 0x40, 0xe4, 0x22, 0xe7, 0xf0, 0x1c, 0x2e, 0xdd, 0xe7, 0xbb, 0xfe, 0xc6, + 0xc1, 0xe3, 0xe0, 0xfa, 0x9c, 0xab, 0xd9, 0xd9, 0x59, 0x06, 0x63, 0x4d, 0xde, 0xc9, 0x88, 0xac, + 0xe8, 0x9a, 0xae, 0x7e, 0x74, 0x4b, 0xf5, 0x0b, 0xc5, 0xb5, 0xd6, 0x22, 0xf0, 0x30, 0xc7, 0x42, + 0x12, 0x0a, 0xd5, 0x68, 0x66, 0x68, 0x01, 0x09, 0x9d, 0xc1, 0x3c, 0xe7, 0x58, 0x88, 0xca, 0xd5, + 0x83, 0x2b, 0x84, 0x58, 0xe5, 0xc7, 0x26, 0xed, 0xbe, 0x02, 0x1d, 0x8e, 0x65, 0xc9, 0xf7, 0x05, + 0x0d, 0x2d, 0xe0, 0xc9, 0x6d, 0xf2, 0x0d, 0x3b, 0x6d, 0x9b, 0x6a, 0xdb, 0xee, 0x31, 0xe8, 0x48, + 0x52, 0x60, 0x56, 0xca, 0xd9, 0x02, 0x93, 0xf9, 0x42, 0x7a, 0x77, 0x06, 0xce, 0x49, 0x23, 0x6d, + 0x57, 0xe8, 0xb7, 0x1a, 0x74, 0x3f, 0x06, 0x77, 0x2d, 0x4d, 0xfd, 0x7a, 0x87, 0x9a, 0xd4, 0xaa, + 0xb0, 0xd7, 0xa4, 0xc0, 0xaa, 0x93, 0x60, 0x25, 0x47, 0x58, 0xf9, 0xa1, 0x14, 0x2f, 0xbd, 0x23, + 0xed, 0xa4, 0x6d, 0xd0, 0xd8, 0x80, 0xfe, 0x1f, 0x0e, 0x00, 0xb1, 0xfe, 0xea, 0xf4, 0xee, 0x3f, + 0x00, 0x4d, 0xf3, 0x0d, 0xce, 0x48, 0x5e, 0xed, 0xff, 0xd8, 0x00, 0x49, 0xee, 0x7e, 0x09, 0xee, + 0x56, 0x49, 0x21, 0xa1, 0xc4, 0xd5, 0xa8, 0xff, 0xff, 0x53, 0x6b, 0x19, 0xe6, 0xf7, 0x8a, 0xa8, + 0xb4, 0xac, 0x38, 0x43, 0x58, 0x08, 0x9c, 0x1b, 0xc1, 0x66, 0xaa, 0xed, 0x1d, 0xaa, 0x25, 0x3f, + 0x05, 0xef, 0xed, 0x69, 0x95, 0xfd, 0x86, 0x76, 0xd6, 0xdd, 0xe1, 0x66, 0x00, 0xfe, 0x53, 0xd0, + 0x36, 0xaa, 0x63, 0xb5, 0x7d, 0xcc, 0x5d, 0x0f, 0x1c, 0x21, 0x73, 0xd4, 0xb2, 0x1b, 0xa9, 0x0d, + 0xfd, 0xef, 0x40, 0x27, 0x66, 0x54, 0x60, 0x2a, 0x4a, 0x61, 0xe4, 0x3c, 0x07, 0x5d, 0x64, 0x91, + 0xca, 0xca, 0xbb, 0x6e, 0x4d, 0x07, 0x5d, 0x2b, 0xf7, 0x5f, 0x82, 0xee, 0x1b, 0xcc, 0xc9, 0x5b, + 0x62, 0xd5, 0x08, 0xf7, 0x73, 0x70, 0x64, 0xf4, 0x0a, 0xcf, 0x19, 0xd4, 0x4f, 0x5a, 0xa3, 0x9e, + 0x7e, 0x17, 0xcc, 0xe6, 0xcd, 0x9d, 0x5e, 0x0f, 0x03, 0xc3, 0x4e, 0x2d, 0xd5, 0xff, 0x14, 0xdc, + 0x8b, 0x19, 0xa5, 0x58, 0xdf, 0xc8, 0xdb, 0x8d, 0x7c, 0x01, 0xee, 0x59, 0xcf, 0xb6, 0x48, 0xb8, + 0x03, 0xd0, 0x42, 0xfb, 0x50, 0xff, 0x7b, 0x33, 0xbd, 0x0a, 0x9d, 0xfe, 0x5a, 0xfb, 0x73, 0xdb, + 0x77, 0x2e, 0xb6, 0x7d, 0xe7, 0x9f, 0x6d, 0xdf, 0xf9, 0xe5, 0xb2, 0x7f, 0x70, 0x71, 0xd9, 0x3f, + 0xf8, 0xfb, 0xb2, 0x7f, 0x00, 0xfa, 0x88, 0x15, 0xc1, 0xcd, 0xcf, 0xd9, 0xe9, 0x71, 0x92, 0xa1, + 0x89, 0x1a, 0xc5, 0xc4, 0xf9, 0x31, 0x9d, 0x13, 0xb9, 0x28, 0xb3, 0x00, 0xb1, 0x22, 0x44, 0x4c, + 0x14, 0x4c, 0x84, 0x1c, 0x2f, 0xe1, 0x06, 0xf3, 0x70, 0x3d, 0xda, 0x1d, 0xf5, 0xdd, 0x11, 0xe1, + 0xcd, 0x0f, 0xe9, 0x57, 0x24, 0x43, 0xf6, 0xfc, 0x5b, 0xad, 0x3e, 0x89, 0x93, 0xdf, 0x6b, 0xbd, + 0x89, 0x95, 0x10, 0x2b, 0x09, 0x49, 0x86, 0x82, 0x37, 0x15, 0xe5, 0xaf, 0x7d, 0x72, 0xaa, 0x92, + 0xd3, 0x24, 0x43, 0x53, 0x9b, 0xdc, 0xd6, 0x9e, 0xdc, 0x9c, 0x9c, 0xbe, 0x9c, 0x9c, 0xbe, 0xc2, + 0x12, 0xe6, 0x50, 0xc2, 0x7f, 0x6b, 0x1f, 0x5a, 0x62, 0x14, 0x29, 0x66, 0x14, 0x25, 0x19, 0x8a, + 0x22, 0xcb, 0xcd, 0x0e, 0xf5, 0xc2, 0x9f, 0xfd, 0x17, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x2a, 0x21, + 0xe0, 0x02, 0x06, 0x00, 0x00, } func (m *IbcAction) Marshal() (dAtA []byte, err error) { @@ -747,13 +737,6 @@ func (m *Ics20Withdrawal) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.SourceChannel) i = encodeVarintIbc(dAtA, i, uint64(len(m.SourceChannel))) i-- - dAtA[i] = 0x42 - } - if len(m.SourcePort) > 0 { - i -= len(m.SourcePort) - copy(dAtA[i:], m.SourcePort) - i = encodeVarintIbc(dAtA, i, uint64(len(m.SourcePort))) - i-- dAtA[i] = 0x3a } if m.TimeoutTime != 0 { @@ -1103,10 +1086,6 @@ func (m *Ics20Withdrawal) Size() (n int) { if m.TimeoutTime != 0 { n += 1 + sovIbc(uint64(m.TimeoutTime)) } - l = len(m.SourcePort) - if l > 0 { - n += 1 + l + sovIbc(uint64(l)) - } l = len(m.SourceChannel) if l > 0 { n += 1 + l + sovIbc(uint64(l)) @@ -1683,38 +1662,6 @@ func (m *Ics20Withdrawal) Unmarshal(dAtA []byte) error { } } case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourcePort", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowIbc - } - 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 ErrInvalidLengthIbc - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthIbc - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SourcePort = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 8: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field SourceChannel", wireType) } diff --git a/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go b/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go index bb0efd7c7..c22d6f2ae 100644 --- a/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go +++ b/relayer/chains/penumbra/core/transaction/v1alpha1/transaction.pb.go @@ -2500,14 +2500,20 @@ func (m *WitnessData) GetStateCommitmentProofs() []*v1alpha1.StateCommitmentProo return nil } -// Describes a planned transaction. +// Describes a planned transaction. Permits clients to prepare a transaction +// prior submission, so that a user can review it prior to authorizing its execution. type TransactionPlan struct { - Actions []*ActionPlan `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` - ExpiryHeight uint64 `protobuf:"varint,2,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` - ChainId string `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` - Fee *v1alpha1.Fee `protobuf:"bytes,4,opt,name=fee,proto3" json:"fee,omitempty"` - CluePlans []*CluePlan `protobuf:"bytes,5,rep,name=clue_plans,json=cluePlans,proto3" json:"clue_plans,omitempty"` - MemoPlan *MemoPlan `protobuf:"bytes,6,opt,name=memo_plan,json=memoPlan,proto3" json:"memo_plan,omitempty"` + // The planner interface(s) for Actions to be performed, such as a Spend, Swap, + // or Delegation. See the ActionPlan docs for a full list of options. + Actions []*ActionPlan `protobuf:"bytes,1,rep,name=actions,proto3" json:"actions,omitempty"` + // Time, as block height, after which TransactionPlan should be considered invalid. + ExpiryHeight uint64 `protobuf:"varint,2,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` + // The name of the network for which this TransactionPlan was built. + ChainId string `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + Fee *v1alpha1.Fee `protobuf:"bytes,4,opt,name=fee,proto3" json:"fee,omitempty"` + CluePlans []*CluePlan `protobuf:"bytes,5,rep,name=clue_plans,json=cluePlans,proto3" json:"clue_plans,omitempty"` + // Planning interface for constructing an optional Memo for the Transaction. + MemoPlan *MemoPlan `protobuf:"bytes,6,opt,name=memo_plan,json=memoPlan,proto3" json:"memo_plan,omitempty"` } func (m *TransactionPlan) Reset() { *m = TransactionPlan{} } diff --git a/relayer/chains/penumbra/view/v1alpha1/view.pb.go b/relayer/chains/penumbra/view/v1alpha1/view.pb.go index 603de4d9b..35056567e 100644 --- a/relayer/chains/penumbra/view/v1alpha1/view.pb.go +++ b/relayer/chains/penumbra/view/v1alpha1/view.pb.go @@ -247,13 +247,14 @@ type TransactionPlannerRequest struct { // The fee for the requested TransactionPlan, if any. Fee *v1alpha11.Fee `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"` // The memo for the requested TransactionPlan - Memo string `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` + Memo *v1alpha1.MemoPlaintext `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` // Types that are valid to be assigned to XAccountGroupId: // *TransactionPlannerRequest_AccountGroupId XAccountGroupId isTransactionPlannerRequest_XAccountGroupId `protobuf_oneof:"_account_group_id"` // Request contents Outputs []*TransactionPlannerRequest_Output `protobuf:"bytes,20,rep,name=outputs,proto3" json:"outputs,omitempty"` Swaps []*TransactionPlannerRequest_Swap `protobuf:"bytes,30,rep,name=swaps,proto3" json:"swaps,omitempty"` + SwapClaims []*TransactionPlannerRequest_SwapClaim `protobuf:"bytes,31,rep,name=swap_claims,json=swapClaims,proto3" json:"swap_claims,omitempty"` Delegations []*TransactionPlannerRequest_Delegate `protobuf:"bytes,40,rep,name=delegations,proto3" json:"delegations,omitempty"` Undelegations []*TransactionPlannerRequest_Undelegate `protobuf:"bytes,50,rep,name=undelegations,proto3" json:"undelegations,omitempty"` IbcActions []*v1alpha12.IbcAction `protobuf:"bytes,60,rep,name=ibc_actions,json=ibcActions,proto3" json:"ibc_actions,omitempty"` @@ -325,11 +326,11 @@ func (m *TransactionPlannerRequest) GetFee() *v1alpha11.Fee { return nil } -func (m *TransactionPlannerRequest) GetMemo() string { +func (m *TransactionPlannerRequest) GetMemo() *v1alpha1.MemoPlaintext { if m != nil { return m.Memo } - return "" + return nil } func (m *TransactionPlannerRequest) GetAccountGroupId() *v1alpha11.AccountGroupId { @@ -353,6 +354,13 @@ func (m *TransactionPlannerRequest) GetSwaps() []*TransactionPlannerRequest_Swap return nil } +func (m *TransactionPlannerRequest) GetSwapClaims() []*TransactionPlannerRequest_SwapClaim { + if m != nil { + return m.SwapClaims + } + return nil +} + func (m *TransactionPlannerRequest) GetDelegations() []*TransactionPlannerRequest_Delegate { if m != nil { return m.Delegations @@ -383,7 +391,9 @@ func (*TransactionPlannerRequest) XXX_OneofWrappers() []interface{} { // Request message subtypes type TransactionPlannerRequest_Output struct { - Value *v1alpha11.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + // The amount and denomination in which the Output is issued. + Value *v1alpha11.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + // The address to which Output will be sent. Address *v1alpha11.Address `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` } @@ -435,9 +445,12 @@ func (m *TransactionPlannerRequest_Output) GetAddress() *v1alpha11.Address { } type TransactionPlannerRequest_Swap struct { - Value *v1alpha11.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + // The amount and denomination to be traded in the Swap. + Value *v1alpha11.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + // The denomination to be received as a Output of the Swap. TargetAsset *v1alpha11.AssetId `protobuf:"bytes,2,opt,name=target_asset,json=targetAsset,proto3" json:"target_asset,omitempty"` - Fee *v1alpha11.Fee `protobuf:"bytes,3,opt,name=fee,proto3" json:"fee,omitempty"` + // An optional fee to be paid for performing the Swap. + Fee *v1alpha11.Fee `protobuf:"bytes,3,opt,name=fee,proto3" json:"fee,omitempty"` } func (m *TransactionPlannerRequest_Swap) Reset() { *m = TransactionPlannerRequest_Swap{} } @@ -494,6 +507,53 @@ func (m *TransactionPlannerRequest_Swap) GetFee() *v1alpha11.Fee { return nil } +type TransactionPlannerRequest_SwapClaim struct { + // SwapCommitment to identify the Swap to be claimed. + // Use the commitment from the Swap message: + // penumbra.core.dex.v1alpha1.Swap.body.payload.commitment. + SwapCommitment *v1alpha11.StateCommitment `protobuf:"bytes,1,opt,name=swap_commitment,json=swapCommitment,proto3" json:"swap_commitment,omitempty"` +} + +func (m *TransactionPlannerRequest_SwapClaim) Reset() { *m = TransactionPlannerRequest_SwapClaim{} } +func (m *TransactionPlannerRequest_SwapClaim) String() string { return proto.CompactTextString(m) } +func (*TransactionPlannerRequest_SwapClaim) ProtoMessage() {} +func (*TransactionPlannerRequest_SwapClaim) Descriptor() ([]byte, []int) { + return fileDescriptor_0aa947b204e6a7c2, []int{4, 2} +} +func (m *TransactionPlannerRequest_SwapClaim) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TransactionPlannerRequest_SwapClaim) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TransactionPlannerRequest_SwapClaim.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 *TransactionPlannerRequest_SwapClaim) XXX_Merge(src proto.Message) { + xxx_messageInfo_TransactionPlannerRequest_SwapClaim.Merge(m, src) +} +func (m *TransactionPlannerRequest_SwapClaim) XXX_Size() int { + return m.Size() +} +func (m *TransactionPlannerRequest_SwapClaim) XXX_DiscardUnknown() { + xxx_messageInfo_TransactionPlannerRequest_SwapClaim.DiscardUnknown(m) +} + +var xxx_messageInfo_TransactionPlannerRequest_SwapClaim proto.InternalMessageInfo + +func (m *TransactionPlannerRequest_SwapClaim) GetSwapCommitment() *v1alpha11.StateCommitment { + if m != nil { + return m.SwapCommitment + } + return nil +} + type TransactionPlannerRequest_Delegate struct { Amount *v1alpha11.Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` RateData *v1alpha13.RateData `protobuf:"bytes,3,opt,name=rate_data,json=rateData,proto3" json:"rate_data,omitempty"` @@ -503,7 +563,7 @@ func (m *TransactionPlannerRequest_Delegate) Reset() { *m = TransactionP func (m *TransactionPlannerRequest_Delegate) String() string { return proto.CompactTextString(m) } func (*TransactionPlannerRequest_Delegate) ProtoMessage() {} func (*TransactionPlannerRequest_Delegate) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{4, 2} + return fileDescriptor_0aa947b204e6a7c2, []int{4, 3} } func (m *TransactionPlannerRequest_Delegate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -555,7 +615,7 @@ func (m *TransactionPlannerRequest_Undelegate) Reset() { *m = Transactio func (m *TransactionPlannerRequest_Undelegate) String() string { return proto.CompactTextString(m) } func (*TransactionPlannerRequest_Undelegate) ProtoMessage() {} func (*TransactionPlannerRequest_Undelegate) Descriptor() ([]byte, []int) { - return fileDescriptor_0aa947b204e6a7c2, []int{4, 3} + return fileDescriptor_0aa947b204e6a7c2, []int{4, 4} } func (m *TransactionPlannerRequest_Undelegate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3425,6 +3485,7 @@ func init() { proto.RegisterType((*TransactionPlannerRequest)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest") proto.RegisterType((*TransactionPlannerRequest_Output)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.Output") proto.RegisterType((*TransactionPlannerRequest_Swap)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.Swap") + proto.RegisterType((*TransactionPlannerRequest_SwapClaim)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.SwapClaim") proto.RegisterType((*TransactionPlannerRequest_Delegate)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.Delegate") proto.RegisterType((*TransactionPlannerRequest_Undelegate)(nil), "penumbra.view.v1alpha1.TransactionPlannerRequest.Undelegate") proto.RegisterType((*TransactionPlannerResponse)(nil), "penumbra.view.v1alpha1.TransactionPlannerResponse") @@ -3477,192 +3538,195 @@ func init() { func init() { proto.RegisterFile("penumbra/view/v1alpha1/view.proto", fileDescriptor_0aa947b204e6a7c2) } var fileDescriptor_0aa947b204e6a7c2 = []byte{ - // 2954 bytes of a gzipped FileDescriptorProto + // 3002 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x5b, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xf7, 0x92, 0xfa, 0xf2, 0xa3, 0x48, 0xca, 0x6b, 0x5b, 0xa2, 0x99, 0x44, 0x49, 0x37, 0xb1, - 0xad, 0x38, 0x09, 0x65, 0x2b, 0x4e, 0x9a, 0x2a, 0x49, 0x1b, 0xd1, 0x8a, 0x2c, 0xc1, 0xb1, 0xad, - 0xae, 0x6c, 0xa5, 0x49, 0x95, 0x2e, 0x46, 0xbb, 0x23, 0x69, 0x2b, 0x72, 0x77, 0xb3, 0x3b, 0x14, - 0xc5, 0xf6, 0x94, 0x22, 0x28, 0x8c, 0x00, 0x0d, 0x8a, 0xa2, 0x97, 0x5c, 0x7b, 0x2c, 0x7a, 0xcd, - 0xb5, 0x28, 0xd0, 0x4b, 0xd1, 0x53, 0x8e, 0x05, 0x0a, 0x14, 0x81, 0x83, 0x5e, 0xda, 0x7f, 0xa1, - 0x40, 0x8b, 0xf9, 0x5a, 0xee, 0x2e, 0x77, 0x4d, 0x52, 0x92, 0xe1, 0xb6, 0x27, 0x71, 0x66, 0xde, - 0xfb, 0xbd, 0x8f, 0x99, 0x79, 0xf3, 0xe6, 0xcd, 0x0a, 0xbe, 0xe5, 0x61, 0xa7, 0xd5, 0xdc, 0xf6, - 0xd1, 0xfc, 0x81, 0x8d, 0xdb, 0xf3, 0x07, 0xd7, 0x50, 0xc3, 0xdb, 0x43, 0xd7, 0x58, 0xab, 0xe6, - 0xf9, 0x2e, 0x71, 0xd5, 0x69, 0x49, 0x52, 0x63, 0x9d, 0x92, 0xa4, 0x3a, 0x17, 0xb2, 0x9a, 0xae, - 0x8f, 0xe7, 0xcd, 0x3d, 0x64, 0x3b, 0x5d, 0x00, 0xd6, 0xe4, 0x08, 0xd5, 0x2b, 0x09, 0x4a, 0xbf, - 0xe3, 0x11, 0x37, 0x42, 0xca, 0xda, 0x82, 0xf6, 0x85, 0x38, 0xad, 0x85, 0x0f, 0xbb, 0x84, 0x16, - 0x3e, 0x14, 0x54, 0xd7, 0xe3, 0x54, 0xc4, 0x47, 0x4e, 0x80, 0x4c, 0x62, 0xbb, 0x11, 0x0d, 0x22, - 0x9d, 0xe9, 0xd8, 0xf6, 0xb6, 0xd9, 0xa5, 0xb6, 0xb7, 0x4d, 0x41, 0x95, 0xb0, 0x2b, 0x20, 0x68, - 0x1f, 0x77, 0xe9, 0x58, 0x93, 0x53, 0x6a, 0x5f, 0x2b, 0x50, 0x59, 0x6a, 0x91, 0x3d, 0xd7, 0xb7, - 0x7f, 0x82, 0x97, 0x1c, 0xab, 0xde, 0xb2, 0x1b, 0x96, 0x8e, 0x3f, 0x6e, 0xe1, 0x80, 0xa8, 0x3f, - 0x82, 0xa9, 0x88, 0x06, 0x86, 0xd7, 0x40, 0x4e, 0x45, 0x79, 0x4e, 0x99, 0x2b, 0x2c, 0xbc, 0x5a, - 0x0b, 0x3d, 0x4a, 0x25, 0xd4, 0xa2, 0x8a, 0x4a, 0x39, 0xb5, 0x7b, 0xdd, 0xce, 0xf5, 0x06, 0x72, - 0xf4, 0x32, 0x89, 0x77, 0xa8, 0x16, 0xa8, 0x48, 0xc8, 0x46, 0x4c, 0x82, 0x85, 0x08, 0xaa, 0xe4, - 0x98, 0x84, 0xd7, 0x06, 0x91, 0xb0, 0x14, 0xe5, 0x5e, 0x46, 0x04, 0xe9, 0x67, 0x50, 0xb2, 0x4b, - 0x73, 0xe0, 0x42, 0x8a, 0x85, 0x81, 0xe7, 0x3a, 0x01, 0x56, 0xbf, 0x0f, 0x85, 0x08, 0xb2, 0xb0, - 0x6e, 0x7e, 0x48, 0xeb, 0xf4, 0x28, 0x86, 0xf6, 0x85, 0x02, 0x4f, 0xd5, 0x7d, 0x17, 0x59, 0x26, - 0x0a, 0x48, 0x94, 0x4a, 0x78, 0xf5, 0xe4, 0x45, 0xaa, 0x97, 0xa1, 0x8c, 0xda, 0xc8, 0x26, 0x86, - 0x85, 0x09, 0xe6, 0xb0, 0xd4, 0x8b, 0x13, 0x7a, 0x89, 0x75, 0x2f, 0xcb, 0x5e, 0xed, 0x13, 0x05, - 0x9e, 0x4e, 0xd7, 0x4d, 0xf8, 0xe3, 0x75, 0xc8, 0xd9, 0x96, 0xd0, 0xe9, 0xd2, 0x20, 0x3a, 0xad, - 0x59, 0x7a, 0xce, 0xb6, 0xd4, 0x17, 0x61, 0x2a, 0x94, 0x6d, 0xec, 0x61, 0x7b, 0x77, 0x8f, 0x30, - 0x15, 0x46, 0xf4, 0x72, 0xd8, 0xbf, 0xca, 0xba, 0xb5, 0x2f, 0x00, 0x2e, 0x24, 0x96, 0x86, 0x83, - 0x7d, 0xe9, 0x9d, 0xe7, 0xa1, 0x88, 0x0f, 0x3d, 0xdb, 0xef, 0x48, 0x14, 0x85, 0xa1, 0x4c, 0xf2, - 0x4e, 0x0e, 0xa1, 0x5e, 0x87, 0xfc, 0x0e, 0xc6, 0x62, 0xa5, 0x68, 0x09, 0x35, 0xc5, 0x5e, 0x0c, - 0x35, 0x5c, 0xc1, 0x58, 0xa7, 0xe4, 0xaa, 0x0a, 0x23, 0x4d, 0xdc, 0x74, 0x2b, 0xf9, 0xe7, 0x94, - 0xb9, 0xd3, 0x3a, 0xfb, 0xad, 0x6e, 0xc1, 0x14, 0x32, 0x4d, 0xb7, 0xe5, 0x10, 0x63, 0xd7, 0x77, - 0x5b, 0x9e, 0x61, 0x5b, 0x95, 0x12, 0x83, 0x7d, 0xa5, 0x0f, 0xec, 0x12, 0x67, 0xbb, 0x49, 0xb9, - 0xd6, 0xac, 0xd5, 0x53, 0x7a, 0x09, 0xc5, 0x7a, 0x1e, 0x28, 0x8a, 0xaa, 0xc3, 0xb8, 0xdb, 0x22, - 0x5e, 0x8b, 0x04, 0x95, 0x73, 0xcf, 0xe5, 0xe7, 0x0a, 0x0b, 0x6f, 0xd4, 0xd2, 0x23, 0x51, 0x2d, - 0xd3, 0x21, 0xb5, 0xbb, 0x0c, 0x40, 0x97, 0x40, 0xea, 0x7b, 0x30, 0x1a, 0xb4, 0x91, 0x17, 0x54, - 0x66, 0x19, 0xe2, 0xeb, 0xc3, 0x23, 0x6e, 0xb4, 0x91, 0xa7, 0x73, 0x10, 0x75, 0x0b, 0x0a, 0x16, - 0x6e, 0xe0, 0x5d, 0xb6, 0x5d, 0x82, 0xca, 0x1c, 0xc3, 0x5c, 0x1c, 0x1e, 0x73, 0x99, 0x83, 0x60, - 0x3d, 0x0a, 0xa7, 0x6e, 0x43, 0xb1, 0xe5, 0x44, 0xf1, 0x17, 0x18, 0xfe, 0x5b, 0xc3, 0xe3, 0xdf, - 0x97, 0x30, 0x58, 0x8f, 0x43, 0xaa, 0x2b, 0x50, 0xb0, 0xb7, 0x4d, 0x83, 0x73, 0x05, 0x95, 0xb7, - 0x98, 0x84, 0x8b, 0x89, 0xc9, 0xa3, 0xa1, 0xb1, 0xbb, 0x64, 0xb7, 0xcd, 0x25, 0xbe, 0xea, 0xc1, - 0x96, 0x3f, 0x83, 0xea, 0xcf, 0x15, 0x18, 0xe3, 0xbe, 0x56, 0x17, 0x61, 0xf4, 0x00, 0x35, 0x5a, - 0x58, 0xec, 0x83, 0x17, 0xfa, 0xac, 0x84, 0x4d, 0x4a, 0xab, 0x73, 0x16, 0xf5, 0x1d, 0x18, 0x47, - 0x96, 0xe5, 0xe3, 0x20, 0x10, 0xcb, 0xf3, 0x52, 0xbf, 0x75, 0xc4, 0xa9, 0x75, 0xc9, 0x56, 0xfd, - 0xa3, 0x02, 0x23, 0x74, 0x8a, 0x8e, 0xa5, 0xc6, 0x1a, 0x4c, 0x12, 0xe4, 0xef, 0x62, 0x62, 0xa0, - 0x20, 0xc0, 0x64, 0x50, 0x5d, 0x28, 0xed, 0x9a, 0xa5, 0x17, 0x38, 0x2f, 0x6b, 0xca, 0xcd, 0x96, - 0x1f, 0x6a, 0xb3, 0x55, 0x3f, 0x57, 0x60, 0x42, 0x2e, 0x0a, 0xf5, 0x6d, 0x18, 0x43, 0x4d, 0xba, - 0x37, 0x84, 0x29, 0x17, 0xfb, 0xe9, 0xc1, 0x88, 0x75, 0xc1, 0xa4, 0xde, 0x80, 0xd3, 0x3e, 0x22, - 0x98, 0x1f, 0x0f, 0xf9, 0x54, 0x4b, 0xf8, 0x99, 0x16, 0x02, 0xe8, 0x88, 0x60, 0x76, 0x1e, 0x4c, - 0xf8, 0xe2, 0x57, 0xf5, 0x17, 0x0a, 0x40, 0x77, 0x15, 0x1d, 0xcb, 0xb9, 0x31, 0x7d, 0x72, 0x47, - 0xd3, 0xa7, 0x7e, 0x16, 0xce, 0x18, 0xc9, 0xd0, 0xa3, 0x61, 0xa8, 0xa6, 0xed, 0x01, 0x11, 0x9c, - 0x6f, 0xc2, 0xc8, 0x71, 0xcf, 0x60, 0x06, 0xa0, 0xfd, 0x4a, 0x81, 0xf3, 0x62, 0xdd, 0xd5, 0x3b, - 0x6b, 0x8e, 0x85, 0x0f, 0x65, 0xf8, 0x5d, 0x87, 0xa2, 0x58, 0x87, 0x86, 0x4d, 0xfb, 0x85, 0xac, - 0x97, 0x06, 0x5b, 0xc4, 0x1c, 0x6a, 0x12, 0x45, 0x5a, 0xf4, 0x6c, 0xb2, 0xec, 0xc0, 0x6b, 0xa0, - 0x8e, 0x61, 0xba, 0xce, 0x8e, 0xed, 0x37, 0xe5, 0xd9, 0x24, 0xba, 0x6f, 0xf0, 0x5e, 0xed, 0x43, - 0x98, 0x4e, 0xea, 0x24, 0xec, 0x8e, 0xec, 0x29, 0xe5, 0x48, 0x7b, 0x4a, 0xfb, 0x00, 0xce, 0x33, - 0xc8, 0x7a, 0x47, 0x0e, 0x09, 0x7b, 0x8f, 0x0f, 0xfd, 0x89, 0x02, 0xd3, 0x49, 0x6c, 0xa1, 0xf7, - 0xfd, 0xe3, 0x3b, 0x73, 0xf5, 0x54, 0xdc, 0x9d, 0x0f, 0x14, 0xa5, 0x3e, 0x05, 0x25, 0x23, 0x86, - 0xab, 0xfd, 0x5a, 0x81, 0x99, 0x77, 0xbd, 0x3d, 0xdc, 0xc4, 0x3e, 0x6a, 0x24, 0x2c, 0x7c, 0x82, - 0x33, 0xba, 0x05, 0x95, 0x5e, 0xad, 0x4e, 0x6c, 0x4e, 0xbf, 0x54, 0xa0, 0x5c, 0x47, 0x0d, 0xe4, - 0x98, 0x38, 0x34, 0x56, 0x07, 0x79, 0x0a, 0x1b, 0x3b, 0x76, 0x83, 0x60, 0xff, 0x28, 0xd6, 0x16, - 0x05, 0xc4, 0x0a, 0x43, 0x50, 0xef, 0x40, 0x99, 0xc5, 0x50, 0xc3, 0xb6, 0x24, 0xe8, 0x70, 0xd1, - 0xb4, 0x88, 0xf8, 0x0f, 0x8e, 0x47, 0xf3, 0xc3, 0xa9, 0xae, 0xde, 0xc2, 0x1d, 0xef, 0xc2, 0xb8, - 0x90, 0x7a, 0x14, 0x8d, 0x25, 0xaf, 0xfa, 0x5d, 0x18, 0xdf, 0xe6, 0xd0, 0x42, 0xc7, 0xc1, 0xe2, - 0x9a, 0x64, 0xd2, 0x2e, 0x42, 0x71, 0xd3, 0xc6, 0x6d, 0x9a, 0x2f, 0xdf, 0x73, 0xf7, 0xb1, 0xa3, - 0x9e, 0x83, 0x51, 0x9b, 0xc6, 0x20, 0xa6, 0xd5, 0xa4, 0xce, 0x1b, 0x9a, 0x0e, 0x65, 0x49, 0x26, - 0x3d, 0xff, 0x3d, 0xc8, 0xef, 0x1c, 0xec, 0x0b, 0xe5, 0xfb, 0xe5, 0x4e, 0x2b, 0xad, 0x46, 0x83, - 0x02, 0xd8, 0xce, 0xee, 0x2d, 0xdc, 0xd1, 0x29, 0xa7, 0x76, 0x17, 0xa6, 0xba, 0x98, 0xc2, 0x2b, - 0x6f, 0xc2, 0x28, 0xa1, 0x6a, 0xf4, 0x1e, 0x1b, 0xf1, 0xbc, 0x21, 0xa6, 0xb3, 0xce, 0x79, 0xb4, - 0x9f, 0x29, 0x50, 0xdc, 0x20, 0x88, 0xb4, 0xc2, 0xd5, 0xf1, 0x58, 0x93, 0xbd, 0xf4, 0x80, 0xae, - 0x43, 0x49, 0xea, 0x20, 0x6c, 0x7a, 0x16, 0x0a, 0x41, 0xc7, 0x31, 0xe3, 0xe9, 0x2d, 0xd0, 0x2e, - 0x91, 0xdc, 0x3e, 0x0b, 0x05, 0x13, 0x11, 0x73, 0xcf, 0x76, 0x76, 0x8d, 0x96, 0x27, 0xb6, 0x16, - 0xc8, 0xae, 0xfb, 0x9e, 0xf6, 0x40, 0x81, 0xb3, 0x1c, 0x74, 0x83, 0xf8, 0x18, 0x35, 0x9f, 0xa0, - 0x79, 0x3e, 0x9c, 0x8b, 0x6b, 0x22, 0x8c, 0xfc, 0x0e, 0x5c, 0x68, 0x20, 0x82, 0x03, 0x62, 0xec, - 0x3b, 0x6e, 0xdb, 0x31, 0xb6, 0x1b, 0xae, 0xb9, 0x1f, 0x37, 0x79, 0x9a, 0x13, 0xdc, 0xa2, 0xe3, - 0x75, 0x3a, 0xdc, 0x35, 0x3f, 0xea, 0x9f, 0x5c, 0xd2, 0x3f, 0xda, 0x67, 0x79, 0x98, 0xbc, 0xe3, - 0x92, 0xee, 0xa6, 0x7f, 0x1e, 0x8a, 0xb6, 0x63, 0x36, 0x5a, 0x16, 0x36, 0x02, 0x0f, 0x3b, 0x44, - 0xb8, 0x6c, 0x52, 0x74, 0x6e, 0xd0, 0x3e, 0x75, 0x09, 0x26, 0xe4, 0x2e, 0xce, 0x48, 0x21, 0xb2, - 0xb6, 0xef, 0xb8, 0xd8, 0xbe, 0xbd, 0x91, 0x74, 0xe4, 0xb8, 0x91, 0xf4, 0x36, 0x94, 0x79, 0x8a, - 0x63, 0x10, 0x97, 0xe9, 0x6e, 0x55, 0xc6, 0x86, 0x49, 0x90, 0x8a, 0x9c, 0xfb, 0x9e, 0x4b, 0x6d, - 0xb4, 0x9e, 0xc4, 0x02, 0x78, 0x90, 0x83, 0xf3, 0x6c, 0x32, 0x56, 0x5c, 0x7f, 0xd3, 0x25, 0xb6, - 0xb3, 0x2b, 0x67, 0xe5, 0x0a, 0x9c, 0x39, 0x70, 0x09, 0xda, 0x6e, 0x60, 0x03, 0x91, 0xf8, 0xd4, - 0x97, 0xc5, 0xc0, 0x12, 0x11, 0x73, 0xde, 0xe3, 0xd9, 0xfc, 0x71, 0x3d, 0xfb, 0x04, 0x5c, 0xf1, - 0xfb, 0x1c, 0x94, 0xde, 0xb7, 0x89, 0x13, 0x39, 0x7b, 0x3f, 0x80, 0x29, 0xc7, 0x25, 0xd8, 0x30, - 0xdd, 0x66, 0xd3, 0x26, 0x4d, 0xec, 0x10, 0x7a, 0x2b, 0xa0, 0x17, 0x94, 0x5a, 0x1f, 0x2d, 0xe8, - 0xae, 0xc2, 0x37, 0x42, 0x36, 0xbd, 0x4c, 0x71, 0xba, 0xed, 0x20, 0xb5, 0x36, 0x93, 0x3f, 0xc1, - 0xda, 0xcc, 0x13, 0x70, 0x20, 0x86, 0x72, 0xe8, 0x3f, 0x11, 0x47, 0x74, 0x98, 0x6c, 0xf3, 0x2e, - 0x9e, 0x6c, 0x0f, 0x51, 0x2c, 0x11, 0x50, 0x2c, 0xeb, 0x2e, 0xb4, 0xbb, 0x0d, 0xed, 0x6f, 0x0a, - 0x4c, 0x8b, 0xc1, 0xff, 0xcf, 0x82, 0x57, 0x03, 0x66, 0x7a, 0xec, 0x7b, 0x7c, 0xe5, 0xae, 0xdf, - 0xe5, 0xa1, 0xc8, 0x42, 0x65, 0xb8, 0xea, 0xab, 0x30, 0xc1, 0xf3, 0x24, 0xcc, 0x2b, 0x49, 0x13, - 0x7a, 0xd8, 0x56, 0x7f, 0x0c, 0xb3, 0x91, 0x58, 0x6d, 0xda, 0x3b, 0xb6, 0x69, 0x58, 0xd8, 0x71, - 0x9b, 0xb6, 0x23, 0x4a, 0x04, 0x7c, 0x7f, 0xf4, 0xcb, 0x5b, 0x96, 0x29, 0x8f, 0xfe, 0x74, 0x37, - 0xc4, 0x33, 0xa8, 0xe5, 0x28, 0x92, 0xba, 0x08, 0x17, 0xa4, 0xac, 0x6e, 0xc1, 0xc0, 0x60, 0xc9, - 0x41, 0xc0, 0xf6, 0xca, 0x84, 0x3e, 0x23, 0x08, 0x96, 0xc3, 0x71, 0x96, 0x42, 0x04, 0xea, 0x1b, - 0x50, 0x91, 0xbc, 0x2d, 0x67, 0xdb, 0x75, 0x2c, 0x7a, 0x1a, 0x0b, 0xd6, 0x11, 0xc6, 0x3a, 0x2d, - 0xc6, 0xef, 0xcb, 0x61, 0xc1, 0x79, 0x09, 0xca, 0x92, 0xb3, 0xe1, 0x19, 0xce, 0x0e, 0x09, 0x2a, - 0xa3, 0x8c, 0x41, 0x1e, 0x52, 0xef, 0x79, 0x77, 0x76, 0x48, 0xa0, 0x2e, 0xc0, 0x79, 0x49, 0xe7, - 0xf9, 0xae, 0xe7, 0x06, 0xa8, 0xc1, 0xa9, 0xc7, 0x18, 0xf5, 0x59, 0x31, 0xb8, 0x2e, 0xc6, 0x18, - 0xcf, 0x12, 0x3c, 0x23, 0x79, 0x0e, 0x58, 0xb0, 0x35, 0x7c, 0x6c, 0x62, 0xdb, 0x23, 0x52, 0xb5, - 0x71, 0xc6, 0x5b, 0x15, 0x44, 0x32, 0x20, 0x33, 0x12, 0xae, 0x9e, 0x86, 0xa1, 0x24, 0x67, 0x4b, - 0xac, 0x89, 0x0d, 0x28, 0xb1, 0x19, 0x30, 0x9a, 0x98, 0xa0, 0xc8, 0x82, 0x7c, 0x79, 0x90, 0x29, - 0xb8, 0x2d, 0x78, 0xf4, 0xa2, 0x15, 0x6d, 0x6a, 0x15, 0x98, 0xbe, 0xb1, 0x87, 0x6c, 0x67, 0x1d, - 0xf9, 0xa8, 0x89, 0x09, 0xf6, 0xe5, 0xea, 0xd0, 0xf6, 0x60, 0xa6, 0x67, 0x44, 0x68, 0x72, 0x1b, - 0xc0, 0x0b, 0x7b, 0xb3, 0x52, 0x49, 0x56, 0x94, 0x0f, 0x95, 0x48, 0x42, 0x45, 0x00, 0xb4, 0x69, - 0x38, 0xb7, 0x72, 0x7b, 0xb9, 0x57, 0x03, 0x0b, 0xce, 0x27, 0xfa, 0x85, 0xfc, 0x5b, 0x29, 0xf2, - 0x5f, 0x7a, 0xb4, 0xfc, 0x95, 0xa6, 0x95, 0x21, 0xfd, 0xf3, 0x1c, 0xcc, 0xd0, 0x93, 0xb1, 0xde, - 0x89, 0x84, 0x71, 0xb1, 0x43, 0xde, 0x87, 0x72, 0xe2, 0x5c, 0x10, 0x3e, 0x1f, 0xf6, 0x58, 0x28, - 0xc5, 0x8f, 0x85, 0xb4, 0x42, 0x70, 0x3e, 0xad, 0x10, 0xfc, 0x24, 0xc2, 0xbb, 0x03, 0x95, 0x5e, - 0x7f, 0x84, 0x71, 0xbe, 0xc4, 0xd2, 0x1f, 0x96, 0x2e, 0x50, 0x9b, 0x7a, 0xbd, 0x1f, 0xcf, 0xf8, - 0x37, 0x24, 0x35, 0x85, 0xd4, 0xb1, 0xe9, 0xfa, 0x96, 0x5e, 0x0c, 0xa2, 0x9d, 0x6c, 0x02, 0x36, - 0xda, 0xc8, 0xcb, 0x98, 0x80, 0xa0, 0x8d, 0xbc, 0x13, 0x98, 0x00, 0x0a, 0xf3, 0x3f, 0x32, 0x01, - 0x3a, 0x54, 0x7a, 0xfd, 0x11, 0xd6, 0xfd, 0x47, 0xa8, 0x25, 0xc2, 0xed, 0x5a, 0xa6, 0xdb, 0xdb, - 0xc8, 0x13, 0xde, 0x66, 0xf4, 0xda, 0xbf, 0x14, 0x98, 0xbe, 0xd3, 0x6a, 0x34, 0xec, 0x1d, 0x1b, - 0xfb, 0xf1, 0xdb, 0xd6, 0x0a, 0x9c, 0x76, 0xe4, 0x88, 0xf0, 0xee, 0x5c, 0x1f, 0xd3, 0x42, 0x24, - 0xbd, 0xcb, 0xfa, 0x5f, 0xed, 0xd2, 0x79, 0x98, 0xe9, 0xb1, 0x5e, 0x78, 0xf4, 0x1c, 0x8c, 0xf2, - 0xdb, 0x08, 0x3f, 0x02, 0x79, 0x43, 0xdb, 0x84, 0xa7, 0x23, 0x27, 0xe9, 0x9a, 0xb3, 0xe3, 0xd6, - 0x3b, 0xab, 0x28, 0x08, 0xaf, 0xd1, 0xfc, 0xfd, 0x25, 0x37, 0xec, 0xfb, 0x8b, 0xf6, 0xa9, 0x02, - 0xd3, 0x09, 0x60, 0x09, 0x79, 0x09, 0x26, 0x03, 0x82, 0xfc, 0x78, 0x0e, 0xbe, 0x7a, 0x4a, 0x2f, - 0xb0, 0x5e, 0x9e, 0x81, 0x3f, 0x50, 0x14, 0x55, 0x03, 0xc0, 0x8e, 0x15, 0xbb, 0x77, 0xad, 0x2a, - 0xfa, 0x69, 0xec, 0x58, 0x21, 0x4d, 0xbd, 0x0c, 0x45, 0x23, 0x0a, 0x56, 0x2f, 0x42, 0xc1, 0xe8, - 0x72, 0x69, 0xff, 0xcc, 0x41, 0x39, 0xa1, 0x86, 0xfa, 0x14, 0x8c, 0x25, 0x24, 0x8b, 0x36, 0x15, - 0x7a, 0x44, 0x7b, 0x93, 0x89, 0x4c, 0xfe, 0x04, 0x1e, 0xd1, 0xb6, 0xa0, 0xe0, 0x61, 0x9f, 0x66, - 0x25, 0xc4, 0x3e, 0xc0, 0xe2, 0x72, 0xb7, 0x38, 0x6c, 0xde, 0xd7, 0x45, 0xd0, 0xa3, 0x70, 0xea, - 0x4d, 0x18, 0xa1, 0x5b, 0x89, 0xe5, 0x02, 0xc3, 0xa7, 0x93, 0x9b, 0x36, 0x6e, 0xeb, 0x0c, 0xa0, - 0x7e, 0x1a, 0xc6, 0xa5, 0xb7, 0x7f, 0x08, 0x33, 0x3d, 0x73, 0xde, 0x2d, 0xaf, 0x91, 0x43, 0xc3, - 0x76, 0x76, 0x5c, 0xb1, 0xa5, 0x2f, 0x0f, 0xf0, 0xe6, 0xc2, 0x10, 0xc6, 0xc8, 0x21, 0xfd, 0xab, - 0x21, 0x78, 0x26, 0x63, 0xa5, 0x9e, 0x98, 0x88, 0x8f, 0xa0, 0x28, 0x2e, 0xf2, 0x02, 0xf2, 0x3d, - 0x28, 0xb0, 0x73, 0xd1, 0x67, 0x21, 0xe6, 0x28, 0x67, 0x00, 0x38, 0xe1, 0x6f, 0xed, 0x4b, 0x1a, - 0x9b, 0x12, 0x77, 0xd3, 0xc7, 0x21, 0x48, 0xbd, 0x0d, 0x93, 0xb6, 0x85, 0x1d, 0x62, 0x93, 0x8e, - 0xb1, 0x8f, 0x3b, 0x62, 0x39, 0x5f, 0xe9, 0x13, 0x74, 0xd6, 0x04, 0xcb, 0x2d, 0xdc, 0xd1, 0x0b, - 0x76, 0xb7, 0xa1, 0xfd, 0x3b, 0x0f, 0x67, 0x53, 0x44, 0xa6, 0x65, 0x0d, 0xca, 0x89, 0x64, 0x0d, - 0xdf, 0x86, 0x11, 0x76, 0xe6, 0x72, 0xbd, 0x9f, 0xef, 0x17, 0xa4, 0xa9, 0x46, 0x8c, 0xe1, 0x31, - 0xdc, 0xdb, 0x63, 0x87, 0xc6, 0xc8, 0xd1, 0x0f, 0x8d, 0x8b, 0x50, 0xe2, 0x9b, 0xc4, 0x30, 0x7d, - 0x8c, 0x08, 0xb6, 0xd8, 0xc6, 0x1b, 0xd1, 0x8b, 0xbc, 0xf7, 0x06, 0xef, 0xa4, 0xb1, 0x51, 0x90, - 0xf1, 0x58, 0x3d, 0x26, 0x63, 0x23, 0xef, 0x65, 0xa5, 0x23, 0x1a, 0xa6, 0xaa, 0x30, 0xe1, 0xb9, - 0x81, 0xcd, 0x62, 0xcd, 0x38, 0x03, 0x0a, 0xdb, 0xea, 0x3b, 0x30, 0x16, 0xb8, 0x2d, 0xdf, 0xc4, - 0x95, 0x89, 0x74, 0x7d, 0xe3, 0x19, 0x23, 0x75, 0xdf, 0x06, 0xa3, 0xd7, 0x05, 0x1f, 0x8b, 0xaa, - 0x51, 0x35, 0xb4, 0xbf, 0xe6, 0x01, 0xba, 0x47, 0x6d, 0x5a, 0xb6, 0xa2, 0x9c, 0x48, 0xb6, 0xf2, - 0xb6, 0x38, 0xf5, 0xf9, 0xc4, 0xbf, 0x98, 0x40, 0xb3, 0xf0, 0x61, 0xfc, 0xe4, 0x5f, 0x6f, 0x20, - 0xdb, 0x21, 0xf8, 0x90, 0xf0, 0xc3, 0x3f, 0xe6, 0x95, 0x7c, 0xc2, 0x2b, 0x27, 0x35, 0x91, 0xeb, - 0x50, 0xe0, 0x2f, 0xdf, 0xfc, 0xae, 0x3c, 0x9a, 0x1a, 0xe8, 0x63, 0x9a, 0xd6, 0x11, 0x31, 0xf7, - 0xa8, 0xba, 0xfc, 0x35, 0x97, 0xdd, 0x92, 0xc1, 0x0d, 0x7f, 0xab, 0x57, 0xba, 0x4b, 0xa3, 0x81, - 0xec, 0x26, 0xb6, 0xc2, 0x59, 0x97, 0x8b, 0x83, 0x77, 0xd3, 0x79, 0xef, 0xce, 0xed, 0xf8, 0x11, - 0xe7, 0xf6, 0x0c, 0x94, 0x8d, 0xb8, 0x38, 0xed, 0xef, 0x0a, 0xcc, 0xdc, 0x6d, 0x3b, 0xd8, 0x5a, - 0x17, 0xce, 0x5a, 0xb3, 0xc2, 0xa4, 0xe9, 0x3e, 0x94, 0xa4, 0x0b, 0xe9, 0x41, 0x1b, 0x26, 0xc2, - 0x8f, 0x9c, 0x1b, 0x89, 0xc3, 0xa6, 0x9b, 0xda, 0xe1, 0x45, 0x3b, 0xa8, 0x1d, 0x77, 0x61, 0x92, - 0xf8, 0x88, 0x5d, 0x62, 0x3d, 0x64, 0xcb, 0x74, 0xec, 0xf2, 0xa3, 0x40, 0xef, 0x71, 0xfa, 0x75, - 0x64, 0xfb, 0xab, 0x0a, 0x3b, 0x29, 0x65, 0x93, 0x26, 0x02, 0xd4, 0xac, 0xb8, 0xa2, 0x6c, 0x15, - 0x47, 0x85, 0x68, 0x26, 0x54, 0x7a, 0xcd, 0x0c, 0x9f, 0x32, 0x0b, 0x21, 0x7b, 0xe6, 0x07, 0x27, - 0xa9, 0x46, 0xae, 0x59, 0x3a, 0x78, 0xe1, 0xef, 0x85, 0x3f, 0x9c, 0x85, 0xb3, 0xf4, 0x74, 0x5c, - 0xf7, 0x5d, 0xe2, 0x9a, 0x6e, 0x63, 0x03, 0xfb, 0x07, 0xb6, 0x89, 0xd5, 0xf7, 0x61, 0x8c, 0x27, - 0x64, 0x6a, 0xe6, 0xab, 0x41, 0x2c, 0x5d, 0xad, 0x5e, 0xea, 0x47, 0x26, 0x34, 0xdf, 0x87, 0xc9, - 0x68, 0xc9, 0x5b, 0x7d, 0xe9, 0xd1, 0x7c, 0xb1, 0x12, 0x7d, 0xf5, 0xe5, 0xc1, 0x88, 0xb9, 0xa8, - 0xab, 0x8a, 0xba, 0x09, 0xa3, 0xec, 0x04, 0x53, 0x5f, 0xc8, 0x62, 0x8c, 0x56, 0xc2, 0xab, 0x17, - 0xfb, 0x50, 0x85, 0xb8, 0x1f, 0x43, 0x29, 0x7e, 0x32, 0xaa, 0xaf, 0x3c, 0x92, 0x35, 0x59, 0xdd, - 0xad, 0xd6, 0x06, 0x25, 0x0f, 0x45, 0x7e, 0x08, 0xe3, 0xa2, 0x2a, 0xa5, 0x66, 0xba, 0x3a, 0x5e, - 0x3e, 0xad, 0x5e, 0xee, 0x4b, 0x27, 0xe6, 0xc4, 0x0f, 0x2b, 0x87, 0xb2, 0xe2, 0xa5, 0xd6, 0xfa, - 0xf0, 0x26, 0x4a, 0x7f, 0xd5, 0xf9, 0x81, 0xe9, 0x85, 0xcc, 0x0f, 0x60, 0x8c, 0x17, 0x52, 0xb2, - 0x17, 0x58, 0xac, 0x2c, 0x96, 0xbd, 0xc0, 0xe2, 0xf5, 0x98, 0xab, 0x0a, 0x35, 0x27, 0x51, 0xd7, - 0xc8, 0x36, 0x27, 0xbd, 0xca, 0x92, 0x6d, 0x4e, 0x56, 0xed, 0xa5, 0x01, 0xc5, 0x58, 0x51, 0x44, - 0xcd, 0x5c, 0xaa, 0x69, 0x35, 0x95, 0xea, 0x2b, 0x03, 0x52, 0x0b, 0x69, 0x2e, 0x94, 0xe2, 0x6f, - 0xfd, 0xd9, 0xeb, 0x2f, 0xf5, 0x3b, 0x85, 0xec, 0xf5, 0x97, 0xf1, 0x09, 0x81, 0x0b, 0xa5, 0xf8, - 0x23, 0x7d, 0xb6, 0xc0, 0xd4, 0x0f, 0x05, 0xb2, 0x05, 0x66, 0xbc, 0xfd, 0xb7, 0x60, 0x2a, 0xf9, - 0xf6, 0xad, 0x66, 0x4e, 0x4a, 0xc6, 0xdb, 0x7d, 0xf5, 0xea, 0xe0, 0x0c, 0x42, 0xac, 0x01, 0x13, - 0xf2, 0x6d, 0x59, 0xcd, 0xdc, 0x3e, 0x89, 0x57, 0xf3, 0xea, 0x5c, 0x7f, 0xc2, 0x70, 0x6d, 0xb6, - 0x60, 0x2a, 0x59, 0xc5, 0xc9, 0xb6, 0x2b, 0xa3, 0xfe, 0x95, 0x6d, 0x57, 0x66, 0x81, 0xa8, 0x05, - 0x53, 0xc9, 0xda, 0x45, 0xb6, 0xd8, 0x8c, 0xaa, 0x4f, 0xb6, 0xd8, 0xcc, 0xb2, 0x88, 0x0f, 0xe5, - 0xc4, 0xfd, 0x3e, 0x7b, 0x27, 0xa6, 0x97, 0x41, 0xb2, 0x77, 0x62, 0x56, 0xe1, 0xe0, 0x53, 0x05, - 0xce, 0xa7, 0xde, 0xbc, 0xd4, 0xeb, 0x03, 0x5e, 0xb0, 0x62, 0x25, 0x85, 0xea, 0x6b, 0x43, 0x72, - 0x09, 0x35, 0x48, 0xef, 0x4d, 0xbe, 0x36, 0xe8, 0x05, 0xaf, 0x9f, 0xe9, 0x19, 0xb7, 0xd6, 0xab, - 0x8a, 0xfa, 0x53, 0x50, 0x7b, 0x3f, 0x80, 0x52, 0xaf, 0x0d, 0xfd, 0xc1, 0x60, 0x75, 0x61, 0x18, - 0x16, 0x61, 0xf2, 0x27, 0x0a, 0x9c, 0x4b, 0xfb, 0x3a, 0x56, 0x7d, 0x35, 0x73, 0x83, 0x64, 0x7f, - 0xe7, 0x5b, 0xbd, 0x3e, 0x1c, 0x93, 0xd0, 0xa1, 0x0d, 0x53, 0xc9, 0xa4, 0x29, 0x7b, 0xa1, 0x67, - 0x64, 0x91, 0xd9, 0x0b, 0x3d, 0x2b, 0x1f, 0xbb, 0xaa, 0xa8, 0x87, 0x70, 0xa6, 0xe7, 0x33, 0x69, - 0x35, 0x13, 0x28, 0xeb, 0x9b, 0xf1, 0xea, 0xb5, 0x21, 0x38, 0xb8, 0xec, 0x05, 0xaf, 0xfb, 0x35, - 0x89, 0xcc, 0xde, 0x3e, 0x82, 0x09, 0xd9, 0x95, 0x1d, 0xc6, 0x12, 0x9f, 0xa0, 0x64, 0x87, 0xb1, - 0xe4, 0x77, 0x25, 0xf5, 0xcf, 0x72, 0x7f, 0x7a, 0x38, 0xab, 0x7c, 0xf5, 0x70, 0x56, 0xf9, 0xfa, - 0xe1, 0xac, 0xf2, 0xcb, 0x6f, 0x66, 0x4f, 0x7d, 0xf5, 0xcd, 0xec, 0xa9, 0xbf, 0x7c, 0x33, 0x7b, - 0x0a, 0xaa, 0xa6, 0xdb, 0xcc, 0xc0, 0xa9, 0x9f, 0x0e, 0x13, 0xcd, 0x75, 0xe5, 0xc3, 0xbb, 0xbb, - 0x36, 0xd9, 0x6b, 0x6d, 0xd7, 0x4c, 0xb7, 0x39, 0x6f, 0xba, 0x41, 0xd3, 0x0d, 0xe6, 0x7d, 0xdc, - 0x40, 0x1d, 0xec, 0xcf, 0x1f, 0x2c, 0x84, 0x3f, 0xd9, 0x05, 0x21, 0x98, 0x4f, 0xff, 0x17, 0x85, - 0x37, 0x69, 0x4b, 0x36, 0x7e, 0x93, 0xcb, 0xaf, 0x6f, 0xfe, 0xe0, 0xb7, 0xb9, 0xe9, 0x75, 0x29, - 0x9c, 0x4a, 0xab, 0x6d, 0x8a, 0xe1, 0x3f, 0x77, 0x07, 0xb6, 0xe8, 0xc0, 0x96, 0x1c, 0x78, 0x98, - 0xd3, 0xd2, 0x07, 0xb6, 0x6e, 0xae, 0xd7, 0xe5, 0x7b, 0xcc, 0x3f, 0x72, 0x15, 0x49, 0xb4, 0xb8, - 0x48, 0xa9, 0x16, 0x17, 0x25, 0xd9, 0xf6, 0x18, 0xfb, 0x4f, 0x80, 0x57, 0xff, 0x13, 0x00, 0x00, - 0xff, 0xff, 0x56, 0x54, 0x09, 0x86, 0x48, 0x31, 0x00, 0x00, + 0x15, 0xf7, 0x92, 0xfa, 0xf2, 0xa3, 0x48, 0xca, 0x63, 0x5b, 0xa2, 0x99, 0x44, 0x49, 0x37, 0xf1, + 0x47, 0x9c, 0x84, 0xb2, 0x15, 0x27, 0x4d, 0x95, 0xa4, 0x8d, 0x68, 0x45, 0x96, 0xe0, 0xd8, 0x56, + 0x57, 0xb6, 0xdc, 0xa4, 0x4a, 0x17, 0xa3, 0xdd, 0x91, 0xb4, 0x15, 0xb9, 0xbb, 0xd9, 0x1d, 0xea, + 0xa3, 0x3d, 0xa5, 0x08, 0x0a, 0x23, 0x40, 0x83, 0xa0, 0xe8, 0xa5, 0xd7, 0x1e, 0x8b, 0x5e, 0x73, + 0x2d, 0x0a, 0xf4, 0x52, 0xf4, 0x94, 0x63, 0x81, 0x02, 0x45, 0x60, 0xa3, 0x97, 0xf6, 0x5f, 0x28, + 0xd0, 0x62, 0xbe, 0x96, 0xbb, 0x4b, 0xae, 0x49, 0x4a, 0x32, 0x1c, 0xf4, 0x24, 0xce, 0xcc, 0x7b, + 0xbf, 0xf7, 0x31, 0x33, 0x6f, 0xde, 0xbc, 0x59, 0xc1, 0x77, 0x7c, 0xe2, 0xb6, 0x9a, 0x1b, 0x01, + 0x9e, 0xd9, 0x75, 0xc8, 0xde, 0xcc, 0xee, 0x55, 0xdc, 0xf0, 0xb7, 0xf1, 0x55, 0xde, 0xaa, 0xf9, + 0x81, 0x47, 0x3d, 0x34, 0xa9, 0x48, 0x6a, 0xbc, 0x53, 0x91, 0x54, 0x2f, 0x45, 0xac, 0x96, 0x17, + 0x90, 0x19, 0x6b, 0x1b, 0x3b, 0x6e, 0x1b, 0x80, 0x37, 0x05, 0x42, 0xf5, 0x72, 0x8a, 0x32, 0x38, + 0xf0, 0xa9, 0x17, 0x23, 0xe5, 0x6d, 0x49, 0xfb, 0x52, 0x92, 0xd6, 0x26, 0xfb, 0x6d, 0x42, 0x9b, + 0xec, 0x4b, 0xaa, 0x6b, 0x49, 0x2a, 0x1a, 0x60, 0x37, 0xc4, 0x16, 0x75, 0xbc, 0x98, 0x06, 0xb1, + 0xce, 0xee, 0xd8, 0xce, 0x86, 0xd5, 0xa6, 0x76, 0x36, 0x2c, 0x49, 0x95, 0xb2, 0x2b, 0xa4, 0x78, + 0x87, 0xb4, 0xe9, 0x78, 0x53, 0x50, 0xea, 0xdf, 0x68, 0x50, 0x99, 0x6f, 0xd1, 0x6d, 0x2f, 0x70, + 0x7e, 0x46, 0xe6, 0x5d, 0xbb, 0xde, 0x72, 0x1a, 0xb6, 0x41, 0x3e, 0x69, 0x91, 0x90, 0xa2, 0x9f, + 0xc0, 0x44, 0x4c, 0x03, 0xd3, 0x6f, 0x60, 0xb7, 0xa2, 0xbd, 0xa0, 0x5d, 0x2a, 0xcc, 0xbe, 0x5e, + 0x8b, 0x3c, 0xca, 0x24, 0xd4, 0xe2, 0x8a, 0x2a, 0x39, 0xb5, 0xbb, 0xed, 0xce, 0x95, 0x06, 0x76, + 0x8d, 0x32, 0x4d, 0x76, 0x20, 0x1b, 0x10, 0x96, 0xb2, 0x31, 0x97, 0x60, 0x63, 0x8a, 0x2b, 0x39, + 0x2e, 0xe1, 0x8d, 0x7e, 0x24, 0xcc, 0xc7, 0xb9, 0x17, 0x30, 0xc5, 0xc6, 0x29, 0x9c, 0xee, 0xd2, + 0x5d, 0x38, 0xd7, 0xc5, 0xc2, 0xd0, 0xf7, 0xdc, 0x90, 0xa0, 0x1f, 0x42, 0x21, 0x86, 0x2c, 0xad, + 0x9b, 0x19, 0xd0, 0x3a, 0x23, 0x8e, 0xa1, 0xff, 0x56, 0x83, 0x67, 0xea, 0x81, 0x87, 0x6d, 0x0b, + 0x87, 0x34, 0x4e, 0x25, 0xbd, 0x7a, 0xfc, 0x22, 0xd1, 0x45, 0x28, 0xe3, 0x3d, 0xec, 0x50, 0xd3, + 0x26, 0x94, 0x08, 0x58, 0xe6, 0xc5, 0x31, 0xa3, 0xc4, 0xbb, 0x17, 0x54, 0xaf, 0xfe, 0xa9, 0x06, + 0xcf, 0x76, 0xd7, 0x4d, 0xfa, 0xe3, 0x4d, 0xc8, 0x39, 0xb6, 0xd4, 0xe9, 0x42, 0x3f, 0x3a, 0x2d, + 0xdb, 0x46, 0xce, 0xb1, 0xd1, 0xcb, 0x30, 0x11, 0xc9, 0x36, 0xb7, 0x89, 0xb3, 0xb5, 0x4d, 0xb9, + 0x0a, 0x43, 0x46, 0x39, 0xea, 0x5f, 0xe2, 0xdd, 0xfa, 0x97, 0xe3, 0x70, 0x2e, 0xb5, 0x34, 0x5c, + 0x12, 0x28, 0xef, 0xbc, 0x08, 0x45, 0xb2, 0xef, 0x3b, 0xc1, 0x81, 0x42, 0xd1, 0x38, 0xca, 0xb8, + 0xe8, 0x14, 0x10, 0xe8, 0x1a, 0xe4, 0x37, 0x09, 0x91, 0x2b, 0x45, 0x4f, 0xa9, 0x29, 0xf7, 0x62, + 0xa4, 0xe1, 0x22, 0x21, 0x06, 0x23, 0x47, 0xef, 0xc3, 0x50, 0x93, 0x34, 0xbd, 0x4a, 0x9e, 0xb3, + 0x5d, 0xed, 0xc7, 0xba, 0x5b, 0xa4, 0xe9, 0xad, 0x34, 0xb0, 0xe3, 0x52, 0xb2, 0x4f, 0x0d, 0xce, + 0x8e, 0xd6, 0x61, 0x02, 0x5b, 0x96, 0xd7, 0x72, 0xa9, 0xb9, 0x15, 0x78, 0x2d, 0xdf, 0x74, 0xec, + 0x4a, 0x89, 0x43, 0xbe, 0xd6, 0x43, 0x93, 0x79, 0xc1, 0x76, 0x83, 0x71, 0x2d, 0xdb, 0x4b, 0x27, + 0x8c, 0x12, 0x4e, 0xf4, 0x3c, 0xd0, 0x34, 0x64, 0xc0, 0xa8, 0xd7, 0xa2, 0x7e, 0x8b, 0x86, 0x95, + 0x33, 0x2f, 0xe4, 0x2f, 0x15, 0x66, 0xdf, 0xaa, 0x75, 0x0f, 0x5e, 0xb5, 0x4c, 0x1f, 0xd6, 0xee, + 0x70, 0x00, 0x43, 0x01, 0xa1, 0x0f, 0x60, 0x38, 0xdc, 0xc3, 0x7e, 0x58, 0x99, 0xe6, 0x88, 0x6f, + 0x0e, 0x8e, 0xb8, 0xba, 0x87, 0x7d, 0x43, 0x80, 0xa0, 0x75, 0x28, 0xb0, 0x1f, 0xa6, 0xd5, 0xc0, + 0x4e, 0x33, 0xac, 0x3c, 0xcf, 0x31, 0xdf, 0x3e, 0x1c, 0xe6, 0x75, 0x86, 0x61, 0x40, 0xa8, 0x7e, + 0x72, 0x74, 0x9b, 0x34, 0xc8, 0x16, 0xdf, 0xbf, 0x61, 0xe5, 0x12, 0x47, 0x9f, 0x1b, 0x1c, 0x7d, + 0x41, 0x80, 0x10, 0x23, 0x0e, 0x87, 0x36, 0xa0, 0xd8, 0x72, 0xe3, 0xf8, 0xb3, 0x1c, 0xff, 0x9d, + 0xc1, 0xf1, 0xef, 0x29, 0x18, 0x62, 0x24, 0x21, 0xd1, 0x22, 0x14, 0x9c, 0x0d, 0xcb, 0x14, 0x5c, + 0x61, 0xe5, 0x1d, 0x2e, 0xe1, 0x7c, 0x6a, 0x69, 0xb0, 0x58, 0xdd, 0xde, 0x43, 0x1b, 0xd6, 0xbc, + 0xd8, 0x86, 0xe0, 0xa8, 0x9f, 0x61, 0xf5, 0x97, 0x1a, 0x8c, 0x88, 0x99, 0x44, 0x73, 0x30, 0xbc, + 0x8b, 0x1b, 0x2d, 0x22, 0x37, 0xe6, 0x4b, 0x3d, 0xd6, 0xd9, 0x1a, 0xa3, 0x35, 0x04, 0x0b, 0x7a, + 0x0f, 0x46, 0xb1, 0x6d, 0x07, 0x24, 0x0c, 0xe5, 0x7e, 0xb9, 0xd0, 0x6b, 0x95, 0x0a, 0x6a, 0x43, + 0xb1, 0x55, 0xff, 0xac, 0xc1, 0x10, 0x9b, 0xac, 0x23, 0xa9, 0xb1, 0x0c, 0xe3, 0x14, 0x07, 0x5b, + 0x84, 0x9a, 0x38, 0x0c, 0x09, 0xed, 0x57, 0x17, 0x46, 0xbb, 0x6c, 0x1b, 0x05, 0xc1, 0xcb, 0x9b, + 0x6a, 0xf7, 0xe7, 0x07, 0xda, 0xfd, 0x55, 0x1b, 0x4e, 0x46, 0x2b, 0x0e, 0xdd, 0x87, 0xb2, 0x58, + 0xc3, 0x5e, 0xb3, 0xe9, 0xd0, 0x26, 0x71, 0xa9, 0xb4, 0xa9, 0xd6, 0x03, 0x6e, 0x95, 0x62, 0x4a, + 0xae, 0x47, 0x5c, 0x46, 0x89, 0x2f, 0xdd, 0xa8, 0x5d, 0xfd, 0x42, 0x83, 0x31, 0xb5, 0xf4, 0xd0, + 0xbb, 0x30, 0x82, 0x9b, 0x6c, 0x7f, 0x4b, 0xf0, 0xf3, 0xbd, 0xac, 0xe5, 0xc4, 0x86, 0x64, 0x42, + 0xd7, 0xe1, 0x64, 0x80, 0x29, 0x11, 0xa7, 0x62, 0xbe, 0xab, 0xbf, 0xc4, 0x51, 0x1e, 0x01, 0x18, + 0x98, 0x12, 0x7e, 0x0c, 0x8e, 0x05, 0xf2, 0x57, 0xf5, 0x57, 0x1a, 0x40, 0x7b, 0xad, 0x1e, 0x69, + 0x0a, 0x13, 0xfa, 0xe4, 0x0e, 0xa7, 0x4f, 0xfd, 0x34, 0x9c, 0x32, 0xd3, 0xe1, 0x53, 0x27, 0x50, + 0xed, 0xb6, 0xd3, 0xe4, 0x99, 0x74, 0x03, 0x86, 0x8e, 0x9a, 0x7a, 0x70, 0x00, 0xfd, 0xd7, 0x1a, + 0x9c, 0x95, 0xab, 0xbb, 0x7e, 0xb0, 0xec, 0xda, 0x64, 0x5f, 0x9d, 0x3a, 0x2b, 0x50, 0x94, 0xab, + 0xdd, 0x74, 0x58, 0xbf, 0x94, 0xf5, 0x4a, 0x7f, 0x5b, 0x45, 0x40, 0x8d, 0xe3, 0x58, 0x8b, 0x1d, + 0xc9, 0xb6, 0x13, 0xfa, 0x0d, 0x7c, 0x60, 0x5a, 0x9e, 0xbb, 0xe9, 0x04, 0x4d, 0x75, 0x24, 0xcb, + 0xee, 0xeb, 0xa2, 0x57, 0xff, 0x08, 0x26, 0xd3, 0x3a, 0x49, 0xbb, 0x63, 0x3b, 0x57, 0x3b, 0xd4, + 0xce, 0xd5, 0x3f, 0x84, 0xb3, 0x1c, 0xb2, 0x7e, 0xa0, 0x86, 0xa4, 0xbd, 0x47, 0x87, 0xfe, 0x54, + 0x83, 0xc9, 0x34, 0xb6, 0xd4, 0xfb, 0xde, 0xd1, 0x9d, 0xb9, 0x74, 0x22, 0xe9, 0xce, 0x07, 0x9a, + 0x56, 0x9f, 0x80, 0x92, 0x99, 0xc0, 0xd5, 0x7f, 0xa3, 0xc1, 0xd4, 0xfb, 0xfe, 0x36, 0x69, 0x92, + 0x00, 0x37, 0x52, 0x16, 0x3e, 0xc5, 0x19, 0x5d, 0x87, 0x4a, 0xa7, 0x56, 0xc7, 0x36, 0xa7, 0x5f, + 0x69, 0x50, 0xae, 0xe3, 0x06, 0x76, 0x2d, 0x12, 0x19, 0x6b, 0x80, 0xca, 0x24, 0xcc, 0x4d, 0xa7, + 0x41, 0x49, 0x70, 0x18, 0x6b, 0x8b, 0x12, 0x62, 0x91, 0x23, 0xa0, 0xdb, 0x50, 0xe6, 0x91, 0xda, + 0x74, 0x6c, 0x05, 0x3a, 0x58, 0xcc, 0x2e, 0x62, 0xf1, 0x43, 0xe0, 0xb1, 0xb4, 0x78, 0xa2, 0xad, + 0xb7, 0x74, 0xc7, 0xfb, 0x30, 0x2a, 0xa5, 0x1e, 0x46, 0x63, 0xc5, 0x8b, 0xbe, 0x0f, 0xa3, 0x1b, + 0x02, 0x5a, 0xea, 0xd8, 0x5f, 0x5c, 0x53, 0x4c, 0xfa, 0x79, 0x28, 0xae, 0x39, 0x64, 0x8f, 0x5d, + 0x13, 0xee, 0x7a, 0x3b, 0xc4, 0x45, 0x67, 0x60, 0xd8, 0x61, 0x31, 0x88, 0x6b, 0x35, 0x6e, 0x88, + 0x86, 0x6e, 0x40, 0x59, 0x91, 0x29, 0xcf, 0xff, 0x00, 0xf2, 0x9b, 0xbb, 0x3b, 0x52, 0xf9, 0x5e, + 0xf9, 0xdf, 0x62, 0xab, 0xd1, 0x60, 0x00, 0x8e, 0xbb, 0x75, 0x93, 0x1c, 0x18, 0x8c, 0x53, 0xbf, + 0x03, 0x13, 0x6d, 0x4c, 0xe9, 0x95, 0xb7, 0x61, 0x98, 0x32, 0x35, 0x3a, 0x8f, 0x8d, 0x64, 0x76, + 0x92, 0xd0, 0xd9, 0x10, 0x3c, 0xfa, 0x2f, 0x34, 0x28, 0xb2, 0x53, 0xaa, 0x15, 0xad, 0x8e, 0x27, + 0x9a, 0xb0, 0x76, 0x0f, 0xe8, 0x06, 0x94, 0x94, 0x0e, 0xd2, 0xa6, 0xe7, 0xa1, 0x10, 0x1e, 0xb8, + 0x56, 0x32, 0xab, 0x07, 0xd6, 0x25, 0x73, 0xfa, 0xe7, 0xa1, 0x60, 0x61, 0x6a, 0x6d, 0x3b, 0xee, + 0x96, 0xd9, 0xf2, 0xe5, 0xd6, 0x02, 0xd5, 0x75, 0xcf, 0xd7, 0x1f, 0x68, 0x70, 0x5a, 0x80, 0xae, + 0xd2, 0x80, 0xe0, 0xe6, 0x53, 0x34, 0x2f, 0x80, 0x33, 0x49, 0x4d, 0xa4, 0x91, 0xdf, 0x83, 0x73, + 0x0d, 0x4c, 0x49, 0x48, 0xcd, 0x1d, 0xd7, 0xdb, 0x73, 0xcd, 0x8d, 0x86, 0x67, 0xed, 0x24, 0x4d, + 0x9e, 0x14, 0x04, 0x37, 0xd9, 0x78, 0x9d, 0x0d, 0xb7, 0xcd, 0x8f, 0xfb, 0x27, 0x97, 0xf6, 0x8f, + 0xfe, 0x79, 0x1e, 0xc6, 0x6f, 0x7b, 0xb4, 0xbd, 0xe9, 0x5f, 0x84, 0xa2, 0xe3, 0x5a, 0x8d, 0x96, + 0x4d, 0xcc, 0xd0, 0x67, 0x19, 0x8c, 0x70, 0xd9, 0xb8, 0xec, 0x5c, 0x65, 0x7d, 0x68, 0x1e, 0xc6, + 0xd4, 0x2e, 0xce, 0x48, 0x21, 0xb2, 0xb6, 0xef, 0xa8, 0xdc, 0xbe, 0x9d, 0x91, 0x74, 0xe8, 0xa8, + 0x91, 0xf4, 0x16, 0x94, 0x45, 0x8a, 0x63, 0x52, 0x8f, 0xeb, 0x6e, 0x57, 0x46, 0x06, 0x49, 0x90, + 0x8a, 0x82, 0xfb, 0xae, 0xc7, 0x6c, 0xb4, 0x9f, 0xc6, 0x02, 0x78, 0x90, 0x83, 0xb3, 0x7c, 0x32, + 0x16, 0xbd, 0x60, 0xcd, 0xa3, 0x8e, 0xbb, 0xa5, 0x66, 0xe5, 0x32, 0x9c, 0xda, 0xf5, 0x28, 0xde, + 0x68, 0x10, 0x13, 0xd3, 0xe4, 0xd4, 0x97, 0xe5, 0xc0, 0x3c, 0x95, 0x73, 0xde, 0xe1, 0xd9, 0xfc, + 0x51, 0x3d, 0xfb, 0x14, 0x5c, 0xf1, 0xc7, 0x1c, 0x94, 0xee, 0x3b, 0xd4, 0x8d, 0x9d, 0xbd, 0x1f, + 0xc2, 0x84, 0xeb, 0x51, 0x12, 0xcb, 0xae, 0xd9, 0xdd, 0x23, 0x7f, 0x88, 0xf4, 0xba, 0xcc, 0x70, + 0xda, 0xed, 0xb0, 0x6b, 0x49, 0x2a, 0x7f, 0x8c, 0x25, 0xa9, 0xa7, 0xe0, 0x40, 0x02, 0xe5, 0xc8, + 0x7f, 0x32, 0x8e, 0x18, 0x30, 0xbe, 0x27, 0xba, 0x44, 0xb2, 0x3d, 0x40, 0x8d, 0x48, 0x42, 0xf1, + 0xac, 0xbb, 0xb0, 0xd7, 0x6e, 0xe8, 0xff, 0xd0, 0x60, 0x52, 0x0e, 0xfe, 0x7f, 0xd6, 0xf9, 0x1a, + 0x30, 0xd5, 0x61, 0xdf, 0x93, 0xab, 0xf2, 0xfd, 0x21, 0x0f, 0x45, 0x1e, 0x2a, 0xa3, 0x55, 0x5f, + 0x85, 0x31, 0x91, 0x27, 0x11, 0x51, 0x40, 0x1b, 0x33, 0xa2, 0x36, 0xfa, 0x29, 0x4c, 0xc7, 0x62, + 0xb5, 0xe5, 0x6c, 0x3a, 0x96, 0x69, 0x13, 0xd7, 0x6b, 0x3a, 0xae, 0x2c, 0x44, 0x88, 0xfd, 0xd1, + 0x2b, 0x6f, 0x59, 0x60, 0x3c, 0xc6, 0xb3, 0xed, 0x10, 0xcf, 0xa1, 0x16, 0xe2, 0x48, 0x68, 0x0e, + 0xce, 0x29, 0x59, 0xed, 0xb2, 0x84, 0xc9, 0x93, 0x83, 0x90, 0xef, 0x95, 0x31, 0x63, 0x4a, 0x12, + 0x2c, 0x44, 0xe3, 0x3c, 0x85, 0x08, 0xd1, 0x5b, 0x50, 0x51, 0xbc, 0x2d, 0x77, 0xc3, 0x73, 0x6d, + 0x76, 0x1a, 0x4b, 0xd6, 0x21, 0xce, 0x3a, 0x29, 0xc7, 0xef, 0xa9, 0x61, 0xc9, 0x79, 0x01, 0xca, + 0x8a, 0xb3, 0xe1, 0x9b, 0xee, 0x26, 0x0d, 0x2b, 0xc3, 0x9c, 0x41, 0x1d, 0x52, 0x1f, 0xf8, 0xb7, + 0x37, 0x69, 0x88, 0x66, 0xe1, 0xac, 0xa2, 0xf3, 0x03, 0xcf, 0xf7, 0x42, 0xdc, 0x10, 0xd4, 0x23, + 0x9c, 0xfa, 0xb4, 0x1c, 0x5c, 0x91, 0x63, 0x9c, 0x67, 0x1e, 0x9e, 0x53, 0x3c, 0xbb, 0x3c, 0xd8, + 0x9a, 0x01, 0xb1, 0x88, 0xe3, 0x53, 0xa5, 0xda, 0x28, 0xe7, 0xad, 0x4a, 0x22, 0x15, 0x90, 0x39, + 0x89, 0x50, 0x4f, 0x27, 0x50, 0x52, 0xb3, 0x25, 0xd7, 0xc4, 0x2a, 0x94, 0xf8, 0x0c, 0x98, 0x4d, + 0x42, 0x71, 0x6c, 0x41, 0xbe, 0xda, 0xcf, 0x14, 0xdc, 0x92, 0x3c, 0x46, 0xd1, 0x8e, 0x37, 0xf5, + 0x0a, 0x4c, 0x5e, 0xdf, 0xc6, 0x8e, 0xbb, 0x82, 0x03, 0xdc, 0x24, 0x94, 0x04, 0x6a, 0x75, 0xe8, + 0xdb, 0x30, 0xd5, 0x31, 0x22, 0x35, 0xb9, 0x05, 0xe0, 0x47, 0xbd, 0x59, 0xa9, 0x24, 0x7f, 0x8b, + 0x88, 0x94, 0x48, 0x43, 0xc5, 0x00, 0xf4, 0x49, 0x38, 0xb3, 0x78, 0x6b, 0xa1, 0x53, 0x03, 0x1b, + 0xce, 0xa6, 0xfa, 0xa5, 0xfc, 0x9b, 0x5d, 0xe4, 0xbf, 0xf2, 0x78, 0xf9, 0x8b, 0x4d, 0x3b, 0x43, + 0xfa, 0x17, 0x39, 0x98, 0x62, 0x27, 0x63, 0xfd, 0x20, 0x16, 0xc6, 0xe5, 0x0e, 0xb9, 0x0f, 0xe5, + 0xd4, 0xb9, 0x20, 0x7d, 0x3e, 0x70, 0xd5, 0x25, 0x79, 0x2c, 0x74, 0xab, 0x7f, 0xe7, 0xbb, 0xd5, + 0xbf, 0x9f, 0x46, 0x78, 0x77, 0xa1, 0xd2, 0xe9, 0x8f, 0x28, 0xce, 0x97, 0x78, 0xfa, 0xc3, 0xd3, + 0x05, 0x66, 0x53, 0xa7, 0xf7, 0x93, 0x19, 0xff, 0xaa, 0xa2, 0x66, 0x90, 0x06, 0xb1, 0xbc, 0xc0, + 0x36, 0x8a, 0x61, 0xbc, 0x93, 0x4f, 0xc0, 0xea, 0x1e, 0xf6, 0x33, 0x26, 0x20, 0x5d, 0xf6, 0xca, + 0x1d, 0x47, 0xd9, 0xeb, 0x5b, 0x3d, 0x01, 0x06, 0x54, 0x3a, 0xfd, 0x11, 0x3d, 0x77, 0x0c, 0x31, + 0x4b, 0xa4, 0xdb, 0xf5, 0x4c, 0xb7, 0xef, 0x61, 0x5f, 0x7a, 0x9b, 0xd3, 0xeb, 0xff, 0xd1, 0x60, + 0xf2, 0x76, 0xab, 0xd1, 0x70, 0x36, 0x1d, 0x12, 0x24, 0x6f, 0x5b, 0x8b, 0x70, 0xd2, 0x55, 0x23, + 0xd2, 0xbb, 0x97, 0x7a, 0x98, 0x16, 0x21, 0x19, 0x6d, 0xd6, 0x6f, 0xb5, 0x4b, 0x67, 0x60, 0xaa, + 0xc3, 0x7a, 0xe9, 0xd1, 0x33, 0x30, 0x2c, 0x6e, 0x23, 0xe2, 0x08, 0x14, 0x0d, 0x7d, 0x0d, 0x9e, + 0x8d, 0x9d, 0xa4, 0xcb, 0xee, 0xa6, 0x57, 0x3f, 0x58, 0xc2, 0x61, 0x74, 0x8d, 0x16, 0xcf, 0x4e, + 0xb9, 0x41, 0x9f, 0x9d, 0xf4, 0xcf, 0x34, 0x98, 0x4c, 0x01, 0x2b, 0xc8, 0x0b, 0x30, 0x1e, 0x52, + 0x1c, 0x24, 0x73, 0xf0, 0xa5, 0x13, 0x46, 0x81, 0xf7, 0x8a, 0x0c, 0xfc, 0x81, 0xa6, 0x21, 0x1d, + 0x80, 0xb8, 0x76, 0xe2, 0xde, 0xb5, 0xa4, 0x19, 0x27, 0x89, 0x6b, 0x47, 0x34, 0xf5, 0x32, 0x14, + 0xcd, 0x38, 0x58, 0xbd, 0x08, 0x05, 0xb3, 0xcd, 0xa5, 0xff, 0x3b, 0x07, 0xe5, 0x94, 0x1a, 0xe8, + 0x19, 0x18, 0x49, 0x49, 0x96, 0x6d, 0x26, 0xf4, 0x90, 0xf6, 0xa6, 0x13, 0x99, 0xfc, 0x31, 0xbc, + 0x1d, 0xae, 0x43, 0xc1, 0x27, 0x01, 0xcb, 0x4a, 0xa8, 0xb3, 0x4b, 0xe4, 0xe5, 0x6e, 0x6e, 0xd0, + 0xbc, 0xaf, 0x8d, 0x60, 0xc4, 0xe1, 0xd0, 0x0d, 0x18, 0x62, 0x5b, 0x89, 0xe7, 0x02, 0x83, 0xa7, + 0x93, 0x6b, 0x0e, 0xd9, 0x33, 0x38, 0x40, 0xfd, 0x24, 0x8c, 0x2a, 0x6f, 0xff, 0x18, 0xa6, 0x3a, + 0xe6, 0xbc, 0x5d, 0x5e, 0xa3, 0xfb, 0xa6, 0xe3, 0x6e, 0x7a, 0x72, 0x4b, 0x5f, 0xec, 0xe3, 0x65, + 0x87, 0x23, 0x8c, 0xd0, 0x7d, 0xf6, 0x57, 0xc7, 0xf0, 0x5c, 0xc6, 0x4a, 0x3d, 0x36, 0x11, 0x1f, + 0x43, 0x51, 0x5e, 0xe4, 0x25, 0xe4, 0x07, 0x50, 0xe0, 0xe7, 0x62, 0xc0, 0x43, 0xcc, 0x61, 0xce, + 0x00, 0x70, 0xa3, 0xdf, 0xfa, 0x57, 0x2c, 0x36, 0xa5, 0xee, 0xa6, 0x4f, 0x42, 0x10, 0xba, 0x05, + 0xe3, 0x8e, 0x4d, 0x5c, 0xea, 0xd0, 0x03, 0x73, 0x87, 0x1c, 0xc8, 0xe5, 0x7c, 0xb9, 0x47, 0xd0, + 0x59, 0x96, 0x2c, 0x37, 0xc9, 0x81, 0x51, 0x70, 0xda, 0x0d, 0xfd, 0xbf, 0x79, 0x38, 0xdd, 0x45, + 0x64, 0xb7, 0xac, 0x41, 0x3b, 0x96, 0xac, 0xe1, 0xbb, 0x30, 0xc4, 0xcf, 0x5c, 0xa1, 0xf7, 0x8b, + 0xbd, 0x82, 0x34, 0xd3, 0x88, 0x33, 0x3c, 0x81, 0x7b, 0x7b, 0xe2, 0xd0, 0x18, 0x3a, 0xfc, 0xa1, + 0x71, 0x1e, 0x4a, 0x62, 0x93, 0x98, 0x56, 0x40, 0x30, 0x25, 0x36, 0xdf, 0x78, 0x43, 0x46, 0x51, + 0xf4, 0x5e, 0x17, 0x9d, 0x2c, 0x36, 0x4a, 0x32, 0x11, 0xab, 0x47, 0x54, 0x6c, 0x14, 0xbd, 0xbc, + 0x74, 0xc4, 0xc2, 0x54, 0x15, 0xc6, 0x7c, 0x2f, 0x74, 0x78, 0xac, 0x19, 0xe5, 0x40, 0x51, 0x1b, + 0xbd, 0x07, 0x23, 0xa1, 0xd7, 0x0a, 0x2c, 0x52, 0x19, 0xeb, 0xae, 0x6f, 0x32, 0x63, 0x64, 0xee, + 0x5b, 0xe5, 0xf4, 0x86, 0xe4, 0xe3, 0x51, 0x35, 0xae, 0x86, 0xfe, 0xf7, 0x3c, 0x40, 0xfb, 0xa8, + 0x7d, 0x62, 0x8f, 0x74, 0xe8, 0x5d, 0x79, 0xea, 0x8b, 0x89, 0x7f, 0x39, 0x85, 0x66, 0x93, 0xfd, + 0xe4, 0xc9, 0x1f, 0xfb, 0x00, 0x80, 0xb1, 0x25, 0xbc, 0x92, 0x4f, 0x79, 0xe5, 0xb8, 0x26, 0x72, + 0x05, 0x0a, 0xe2, 0xf5, 0x5e, 0xdc, 0x95, 0x87, 0xbb, 0x06, 0xfa, 0x84, 0xa6, 0x75, 0x4c, 0xad, + 0x6d, 0xa6, 0xae, 0x78, 0x33, 0xe6, 0xb7, 0x64, 0xf0, 0xa2, 0xdf, 0xe8, 0x72, 0x7b, 0x69, 0x34, + 0xb0, 0xd3, 0x24, 0x76, 0x34, 0xeb, 0x6a, 0x71, 0x88, 0x6e, 0x36, 0xef, 0xed, 0xb9, 0x1d, 0x3d, + 0xe4, 0xdc, 0x9e, 0x82, 0xb2, 0x99, 0x14, 0xa7, 0xff, 0x53, 0x83, 0xa9, 0x3b, 0x7b, 0x2e, 0xb1, + 0x57, 0xa4, 0xb3, 0x96, 0xed, 0x28, 0x69, 0xba, 0x07, 0x25, 0xe5, 0x42, 0x76, 0xd0, 0x46, 0x89, + 0xf0, 0x63, 0xe7, 0x46, 0xe1, 0xf0, 0xe9, 0x66, 0x76, 0xf8, 0xf1, 0x0e, 0x66, 0xc7, 0x1d, 0x18, + 0xa7, 0x01, 0xe6, 0x97, 0x58, 0x1f, 0x3b, 0x2a, 0x1d, 0xbb, 0xf8, 0x38, 0xd0, 0xbb, 0x82, 0x7e, + 0x05, 0x3b, 0xc1, 0x92, 0xc6, 0x4f, 0x4a, 0xd5, 0x64, 0x89, 0x00, 0x33, 0x2b, 0xa9, 0x28, 0x5f, + 0xc5, 0x71, 0x21, 0xba, 0x05, 0x95, 0x4e, 0x33, 0xa3, 0xa7, 0xcc, 0x42, 0xc4, 0x9e, 0xf9, 0x9d, + 0x4d, 0x57, 0x23, 0x97, 0x6d, 0x03, 0xfc, 0xe8, 0xf7, 0xec, 0x9f, 0x4e, 0xc3, 0x69, 0x76, 0x3a, + 0xae, 0x04, 0x1e, 0xf5, 0x2c, 0xaf, 0xb1, 0x4a, 0x82, 0x5d, 0xc7, 0x22, 0xe8, 0x3e, 0x8c, 0x88, + 0x84, 0x0c, 0x65, 0xbe, 0x1a, 0x24, 0xd2, 0xd5, 0xea, 0x85, 0x5e, 0x64, 0x52, 0xf3, 0x1d, 0x18, + 0x8f, 0x97, 0xbc, 0xd1, 0x2b, 0x8f, 0xe7, 0x4b, 0x94, 0xe8, 0xab, 0xaf, 0xf6, 0x47, 0x2c, 0x44, + 0x5d, 0xd1, 0xd0, 0x1a, 0x0c, 0xf3, 0x13, 0x0c, 0xbd, 0x94, 0xc5, 0x18, 0xaf, 0x84, 0x57, 0xcf, + 0xf7, 0xa0, 0x8a, 0x70, 0x3f, 0x81, 0x52, 0xf2, 0x64, 0x44, 0xaf, 0x3d, 0x96, 0x35, 0x5d, 0xdd, + 0xad, 0xd6, 0xfa, 0x25, 0x8f, 0x44, 0x7e, 0x04, 0xa3, 0xb2, 0x2a, 0x85, 0x32, 0x5d, 0x9d, 0x2c, + 0x9f, 0x56, 0x2f, 0xf6, 0xa4, 0x93, 0x73, 0x12, 0x44, 0x95, 0x43, 0x55, 0xf1, 0x42, 0xb5, 0x1e, + 0xbc, 0xa9, 0xd2, 0x5f, 0x75, 0xa6, 0x6f, 0x7a, 0x29, 0xf3, 0x43, 0x18, 0x11, 0x85, 0x94, 0xec, + 0x05, 0x96, 0x28, 0x8b, 0x65, 0x2f, 0xb0, 0x64, 0x3d, 0xe6, 0x8a, 0xc6, 0xcc, 0x49, 0xd5, 0x35, + 0xb2, 0xcd, 0xe9, 0x5e, 0x65, 0xc9, 0x36, 0x27, 0xab, 0xf6, 0xd2, 0x80, 0x62, 0xa2, 0x28, 0x82, + 0x32, 0x97, 0x6a, 0xb7, 0x9a, 0x4a, 0xf5, 0xb5, 0x3e, 0xa9, 0xa5, 0x34, 0x0f, 0x4a, 0xc9, 0xb7, + 0xfe, 0xec, 0xf5, 0xd7, 0xf5, 0x3b, 0x85, 0xec, 0xf5, 0x97, 0xf1, 0x09, 0x81, 0x07, 0xa5, 0xe4, + 0x23, 0x7d, 0xb6, 0xc0, 0xae, 0x1f, 0x0a, 0x64, 0x0b, 0xcc, 0x78, 0xfb, 0x6f, 0xc1, 0x44, 0xfa, + 0xed, 0x1b, 0x65, 0x4e, 0x4a, 0xc6, 0xdb, 0x7d, 0xf5, 0x4a, 0xff, 0x0c, 0x52, 0xac, 0x09, 0x63, + 0xea, 0x6d, 0x19, 0x65, 0x6e, 0x9f, 0xd4, 0xab, 0x79, 0xf5, 0x52, 0x6f, 0xc2, 0x68, 0x6d, 0xb6, + 0x60, 0x22, 0x5d, 0xc5, 0xc9, 0xb6, 0x2b, 0xa3, 0xfe, 0x95, 0x6d, 0x57, 0x66, 0x81, 0xa8, 0x05, + 0x13, 0xe9, 0xda, 0x45, 0xb6, 0xd8, 0x8c, 0xaa, 0x4f, 0xb6, 0xd8, 0xcc, 0xb2, 0x48, 0x00, 0xe5, + 0xd4, 0xfd, 0x3e, 0x7b, 0x27, 0x76, 0x2f, 0x83, 0x64, 0xef, 0xc4, 0xac, 0xc2, 0xc1, 0x67, 0x1a, + 0x9c, 0xed, 0x7a, 0xf3, 0x42, 0xd7, 0xfa, 0xbc, 0x60, 0x25, 0x4a, 0x0a, 0xd5, 0x37, 0x06, 0xe4, + 0x92, 0x6a, 0xd0, 0xce, 0x9b, 0x7c, 0xad, 0xdf, 0x0b, 0x5e, 0x2f, 0xd3, 0x33, 0x6e, 0xad, 0x57, + 0x34, 0xf4, 0x73, 0x40, 0x9d, 0x1f, 0x40, 0xa1, 0xab, 0x03, 0x7f, 0x96, 0x58, 0x9d, 0x1d, 0x84, + 0x45, 0x9a, 0xfc, 0xa9, 0x06, 0x67, 0xba, 0x7d, 0x14, 0x8c, 0x5e, 0xcf, 0xdc, 0x20, 0xd9, 0x9f, + 0x37, 0x57, 0xaf, 0x0d, 0xc6, 0x24, 0x75, 0xd8, 0x83, 0x89, 0x74, 0xd2, 0x94, 0xbd, 0xd0, 0x33, + 0xb2, 0xc8, 0xec, 0x85, 0x9e, 0x95, 0x8f, 0x5d, 0xd1, 0xd0, 0x3e, 0x9c, 0xea, 0xf8, 0x3a, 0x1c, + 0x65, 0x02, 0x65, 0x7d, 0x2a, 0x5f, 0xbd, 0x3a, 0x00, 0x87, 0x90, 0x3d, 0xeb, 0xb7, 0xbf, 0x26, + 0x51, 0xd9, 0xdb, 0xc7, 0x30, 0xa6, 0xba, 0xb2, 0xc3, 0x58, 0xea, 0x13, 0x94, 0xec, 0x30, 0x96, + 0xfe, 0xae, 0xa4, 0xfe, 0x79, 0xee, 0x2f, 0x0f, 0xa7, 0xb5, 0xaf, 0x1f, 0x4e, 0x6b, 0xdf, 0x3c, + 0x9c, 0xd6, 0xbe, 0x7c, 0x34, 0x7d, 0xe2, 0xeb, 0x47, 0xd3, 0x27, 0xfe, 0xf6, 0x68, 0xfa, 0x04, + 0x54, 0x2d, 0xaf, 0x99, 0x81, 0x53, 0x3f, 0x19, 0x25, 0x9a, 0x2b, 0xda, 0x47, 0x77, 0xb6, 0x1c, + 0xba, 0xdd, 0xda, 0xa8, 0x59, 0x5e, 0x73, 0xc6, 0xf2, 0xc2, 0xa6, 0x17, 0xce, 0x04, 0xa4, 0x81, + 0x0f, 0x48, 0x30, 0xb3, 0x3b, 0x1b, 0xfd, 0xe4, 0x17, 0x84, 0x70, 0xa6, 0xfb, 0x7f, 0x66, 0xbc, + 0xcd, 0x5a, 0xaa, 0xf1, 0xbb, 0x5c, 0x7e, 0x65, 0xed, 0x47, 0xbf, 0xcf, 0x4d, 0xae, 0x28, 0xe1, + 0x4c, 0x5a, 0x6d, 0x4d, 0x0e, 0xff, 0xb5, 0x3d, 0xb0, 0xce, 0x06, 0xd6, 0xd5, 0xc0, 0xc3, 0x9c, + 0xde, 0x7d, 0x60, 0xfd, 0xc6, 0x4a, 0x5d, 0xbd, 0xc7, 0xfc, 0x2b, 0x57, 0x51, 0x44, 0x73, 0x73, + 0x8c, 0x6a, 0x6e, 0x4e, 0x91, 0x6d, 0x8c, 0xf0, 0x7f, 0x80, 0x78, 0xfd, 0x7f, 0x01, 0x00, 0x00, + 0xff, 0xff, 0x8e, 0xb9, 0xe6, 0x1e, 0x3f, 0x32, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -5060,6 +5124,22 @@ func (m *TransactionPlannerRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro dAtA[i] = 0xc2 } } + if len(m.SwapClaims) > 0 { + for iNdEx := len(m.SwapClaims) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SwapClaims[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xfa + } + } if len(m.Swaps) > 0 { for iNdEx := len(m.Swaps) - 1; iNdEx >= 0; iNdEx-- { { @@ -5101,10 +5181,15 @@ func (m *TransactionPlannerRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro } } } - if len(m.Memo) > 0 { - i -= len(m.Memo) - copy(dAtA[i:], m.Memo) - i = encodeVarintView(dAtA, i, uint64(len(m.Memo))) + if m.Memo != nil { + { + size, err := m.Memo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } i-- dAtA[i] = 0x1a } @@ -5255,6 +5340,41 @@ func (m *TransactionPlannerRequest_Swap) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } +func (m *TransactionPlannerRequest_SwapClaim) 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 *TransactionPlannerRequest_SwapClaim) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TransactionPlannerRequest_SwapClaim) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SwapCommitment != nil { + { + size, err := m.SwapCommitment.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintView(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *TransactionPlannerRequest_Delegate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -7715,8 +7835,8 @@ func (m *TransactionPlannerRequest) Size() (n int) { l = m.Fee.Size() n += 1 + l + sovView(uint64(l)) } - l = len(m.Memo) - if l > 0 { + if m.Memo != nil { + l = m.Memo.Size() n += 1 + l + sovView(uint64(l)) } if m.XAccountGroupId != nil { @@ -7734,6 +7854,12 @@ func (m *TransactionPlannerRequest) Size() (n int) { n += 2 + l + sovView(uint64(l)) } } + if len(m.SwapClaims) > 0 { + for _, e := range m.SwapClaims { + l = e.Size() + n += 2 + l + sovView(uint64(l)) + } + } if len(m.Delegations) > 0 { for _, e := range m.Delegations { l = e.Size() @@ -7805,6 +7931,19 @@ func (m *TransactionPlannerRequest_Swap) Size() (n int) { return n } +func (m *TransactionPlannerRequest_SwapClaim) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SwapCommitment != nil { + l = m.SwapCommitment.Size() + n += 1 + l + sovView(uint64(l)) + } + return n +} + func (m *TransactionPlannerRequest_Delegate) Size() (n int) { if m == nil { return 0 @@ -9261,7 +9400,7 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Memo", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowView @@ -9271,23 +9410,27 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthView } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthView } if postIndex > l { return io.ErrUnexpectedEOF } - m.Memo = string(dAtA[iNdEx:postIndex]) + if m.Memo == nil { + m.Memo = &v1alpha1.MemoPlaintext{} + } + if err := m.Memo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 14: if wireType != 2 { @@ -9392,6 +9535,40 @@ func (m *TransactionPlannerRequest) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 31: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SwapClaims", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SwapClaims = append(m.SwapClaims, &TransactionPlannerRequest_SwapClaim{}) + if err := m.SwapClaims[len(m.SwapClaims)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 40: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Delegations", wireType) @@ -9795,6 +9972,92 @@ func (m *TransactionPlannerRequest_Swap) Unmarshal(dAtA []byte) error { } return nil } +func (m *TransactionPlannerRequest_SwapClaim) 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 ErrIntOverflowView + } + 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: SwapClaim: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SwapClaim: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SwapCommitment", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowView + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthView + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthView + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.SwapCommitment == nil { + m.SwapCommitment = &v1alpha11.StateCommitment{} + } + if err := m.SwapCommitment.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipView(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthView + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *TransactionPlannerRequest_Delegate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 From b7e185ebf7d283c12f7e42fc2db890a62da6624c Mon Sep 17 00:00:00 2001 From: Sr20de <106104431+Sr20dem@users.noreply.github.com> Date: Wed, 16 Aug 2023 19:21:39 +0300 Subject: [PATCH 35/58] Change 2.3.0 to 2.4.0 (#1253) Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7df037800..86bcd648a 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Additional information on how IBC works can be found [here](https://ibc.cosmos.n ```shell $ git clone https://github.com/cosmos/relayer.git - $ cd relayer && git checkout v2.3.0 + $ cd relayer && git checkout v2.4.0 $ make install ``` @@ -58,7 +58,7 @@ Additional information on how IBC works can be found [here](https://ibc.cosmos.n ``` **Default config file location:** `~/.relayer/config/config.yaml` - By default, transactions will be relayed with a memo of `rly(VERSION)` e.g. `rly(v2.3.0)`. + By default, transactions will be relayed with a memo of `rly(VERSION)` e.g. `rly(v2.4.0)`. To customize the memo for all relaying, use the `--memo` flag when initializing the configuration. @@ -66,7 +66,7 @@ Additional information on how IBC works can be found [here](https://ibc.cosmos.n $ rly config init --memo "My custom memo" ``` - Custom memos will have `rly(VERSION)` appended. For example, a memo of `My custom memo` running on relayer version `v2.3.0` would result in a transaction memo of `My custom memo | rly(v2.3.0)`. + Custom memos will have `rly(VERSION)` appended. For example, a memo of `My custom memo` running on relayer version `v2.4.0` would result in a transaction memo of `My custom memo | rly(v2.4.0)`. The `--memo` flag is also available for other `rly` commands also that involve sending transactions such as `rly tx link` and `rly start`. It can be passed there to override the `config.yaml` value if desired. From 3415e6aa9514b4efa4c9beae84782d44931bb9e3 Mon Sep 17 00:00:00 2001 From: danb Date: Thu, 17 Aug 2023 16:27:54 -0400 Subject: [PATCH 36/58] rename path to path_name for consistency (#1262) --- relayer/processor/metrics.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/relayer/processor/metrics.go b/relayer/processor/metrics.go index 0b40e3d1a..1048eed1e 100644 --- a/relayer/processor/metrics.go +++ b/relayer/processor/metrics.go @@ -20,12 +20,12 @@ type PrometheusMetrics struct { ClientTrustingPeriod *prometheus.GaugeVec } -func (m *PrometheusMetrics) AddPacketsObserved(path, chain, channel, port, eventType string, count int) { - m.PacketObservedCounter.WithLabelValues(path, chain, channel, port, eventType).Add(float64(count)) +func (m *PrometheusMetrics) AddPacketsObserved(pathName, chain, channel, port, eventType string, count int) { + m.PacketObservedCounter.WithLabelValues(pathName, chain, channel, port, eventType).Add(float64(count)) } -func (m *PrometheusMetrics) IncPacketsRelayed(path, chain, channel, port, eventType string) { - m.PacketRelayedCounter.WithLabelValues(path, chain, channel, port, eventType).Inc() +func (m *PrometheusMetrics) IncPacketsRelayed(pathName, chain, channel, port, eventType string) { + m.PacketRelayedCounter.WithLabelValues(pathName, chain, channel, port, eventType).Inc() } func (m *PrometheusMetrics) SetLatestHeight(chain string, height int64) { @@ -52,14 +52,14 @@ func (m *PrometheusMetrics) IncBlockQueryFailure(chain, err string) { m.BlockQueryFailure.WithLabelValues(chain, err).Inc() } -func (m *PrometheusMetrics) IncTxFailure(path, chain, errDesc string) { - m.TxFailureError.WithLabelValues(path, chain, errDesc).Inc() +func (m *PrometheusMetrics) IncTxFailure(pathName, chain, errDesc string) { + m.TxFailureError.WithLabelValues(pathName, chain, errDesc).Inc() } func NewPrometheusMetrics() *PrometheusMetrics { - packetLabels := []string{"path", "chain", "channel", "port", "type"} + packetLabels := []string{"path_name", "chain", "channel", "port", "type"} heightLabels := []string{"chain"} - txFailureLabels := []string{"path", "chain", "cause"} + txFailureLabels := []string{"path_name", "chain", "cause"} blockQueryFailureLabels := []string{"chain", "type"} walletLabels := []string{"chain", "gas_price", "key", "address", "denom"} clientExpirationLables := []string{"path_name", "chain", "client_id", "trusting_period"} From c3f07c6ec2105217ce5773b659280cad7edb50dd Mon Sep 17 00:00:00 2001 From: vimystic <122659254+vimystic@users.noreply.github.com> Date: Tue, 29 Aug 2023 14:41:15 -0600 Subject: [PATCH 37/58] Use unique names for relayer images & cleanup when purpose served (#1269) * Use unique names for relayer images & cleanup when purpose served * move random tag generation and teardown image to within BuildRelayerImage * fix return line --- interchaintest/client_threshold_test.go | 8 +++--- interchaintest/docker.go | 34 ++++++++++++++++++++++--- interchaintest/ibc_test.go | 7 ++--- interchaintest/multi_channel_test.go | 4 +-- interchaintest/relayer_override_test.go | 4 +-- 5 files changed, 43 insertions(+), 14 deletions(-) diff --git a/interchaintest/client_threshold_test.go b/interchaintest/client_threshold_test.go index bc6e22a12..fd77f70db 100644 --- a/interchaintest/client_threshold_test.go +++ b/interchaintest/client_threshold_test.go @@ -42,7 +42,7 @@ func TestScenarioClientThresholdUpdate(t *testing.T) { g0, g1 := chains[0], chains[1] client, network := interchaintest.DockerSetup(t) - relayerinterchaintest.BuildRelayerImage(t) + image := relayerinterchaintest.BuildRelayerImage(t) // Relayer is set with "--time-threshold 5m" // The client being created below also has a trusting period of 5m. @@ -50,7 +50,7 @@ func TestScenarioClientThresholdUpdate(t *testing.T) { r := interchaintest.NewBuiltinRelayerFactory( ibc.CosmosRly, zaptest.NewLogger(t), - interchaintestrelayer.CustomDockerImage(relayerinterchaintest.RelayerImageName, "latest", "100:1000"), + interchaintestrelayer.CustomDockerImage(image, "latest", "100:1000"), interchaintestrelayer.ImagePull(false), interchaintestrelayer.StartupFlags("--time-threshold", "20s"), ).Build(t, client, network) @@ -164,7 +164,7 @@ func TestScenarioClientTrustingPeriodUpdate(t *testing.T) { g0, g1 := chains[0], chains[1] client, network := interchaintest.DockerSetup(t) - relayerinterchaintest.BuildRelayerImage(t) + image := relayerinterchaintest.BuildRelayerImage(t) logger := zaptest.NewLogger(t) // Relayer is set with "--time-threshold 0" @@ -172,7 +172,7 @@ func TestScenarioClientTrustingPeriodUpdate(t *testing.T) { r := interchaintest.NewBuiltinRelayerFactory( ibc.CosmosRly, logger, - interchaintestrelayer.CustomDockerImage(relayerinterchaintest.RelayerImageName, "latest", "100:1000"), + interchaintestrelayer.CustomDockerImage(image, "latest", "100:1000"), interchaintestrelayer.ImagePull(false), ).Build(t, client, network) diff --git a/interchaintest/docker.go b/interchaintest/docker.go index d44f35cc7..384b5e4c1 100644 --- a/interchaintest/docker.go +++ b/interchaintest/docker.go @@ -12,11 +12,12 @@ import ( dockertypes "github.com/docker/docker/api/types" "github.com/docker/docker/pkg/archive" + "github.com/google/uuid" "github.com/moby/moby/client" "github.com/stretchr/testify/require" ) -const RelayerImageName = "interchaintestrelayer" +const RelayerImagePrefix = "interchaintestrelayer" type dockerLogLine struct { Stream string `json:"stream"` @@ -29,7 +30,14 @@ type dockerErrorDetail struct { Message string `json:"message"` } -func BuildRelayerImage(t *testing.T) { +func uniqueRelayerImageName() (string, error) { + uuid, err := uuid.NewRandom() + if err != nil { + return "", fmt.Errorf("failed to generate uuid %v", err) + } + return RelayerImagePrefix + uuid.String()[:6], nil +} +func BuildRelayerImage(t *testing.T) string { _, b, _, _ := runtime.Caller(0) basepath := filepath.Join(filepath.Dir(b), "..") @@ -39,14 +47,34 @@ func BuildRelayerImage(t *testing.T) { cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) require.NoError(t, err, "error building docker client") + image, err := uniqueRelayerImageName() + require.NoError(t, err, "error generating unique tag for docker image") + res, err := cli.ImageBuild(context.Background(), tar, dockertypes.ImageBuildOptions{ Dockerfile: "local.Dockerfile", - Tags: []string{RelayerImageName}, + Tags: []string{image}, }) require.NoError(t, err, "error building docker image") defer res.Body.Close() + t.Cleanup(func() { + destroyRelayerImage(t, image) + }) handleDockerBuildOutput(t, res.Body) + return image +} + +func destroyRelayerImage(t *testing.T, image string) { + // Create a Docker client + cli, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) + require.NoError(t, err, "error building docker client") + + // Remove the Docker image using the provided tag (uniquestr) + _, err = cli.ImageRemove(context.Background(), image, dockertypes.ImageRemoveOptions{ + Force: true, // Force remove the image + PruneChildren: true, // Remove all child images + }) + require.NoError(t, err, "error removing docker image") } func handleDockerBuildOutput(t *testing.T, body io.Reader) { diff --git a/interchaintest/ibc_test.go b/interchaintest/ibc_test.go index 6ee722104..81140ba74 100644 --- a/interchaintest/ibc_test.go +++ b/interchaintest/ibc_test.go @@ -48,10 +48,11 @@ func TestRelayerInProcess(t *testing.T) { func TestRelayerDockerEventProcessor(t *testing.T) { t.Parallel() + image := relayerinterchaintest.BuildRelayerImage(t) rf := interchaintest.NewBuiltinRelayerFactory( ibc.CosmosRly, zaptest.NewLogger(t), - interchaintestrelayer.CustomDockerImage(relayerinterchaintest.RelayerImageName, "latest", "100:1000"), + interchaintestrelayer.CustomDockerImage(image, "latest", "100:1000"), interchaintestrelayer.ImagePull(false), interchaintestrelayer.StartupFlags("--processor", "events", "--block-history", "100"), ) @@ -64,12 +65,12 @@ func TestRelayerDockerEventProcessor(t *testing.T) { // Relayer runs using the legacy processor. func TestRelayerDockerLegacyProcessor(t *testing.T) { t.Parallel() - relayerinterchaintest.BuildRelayerImage(t) + image := relayerinterchaintest.BuildRelayerImage(t) rf := interchaintest.NewBuiltinRelayerFactory( ibc.CosmosRly, zaptest.NewLogger(t), - interchaintestrelayer.CustomDockerImage(relayerinterchaintest.RelayerImageName, "latest", "100:1000"), + interchaintestrelayer.CustomDockerImage(image, "latest", "100:1000"), interchaintestrelayer.ImagePull(false), interchaintestrelayer.StartupFlags("--processor", "legacy"), ) diff --git a/interchaintest/multi_channel_test.go b/interchaintest/multi_channel_test.go index 6904f5751..ad123f756 100644 --- a/interchaintest/multi_channel_test.go +++ b/interchaintest/multi_channel_test.go @@ -18,13 +18,13 @@ import ( ) func TestMultipleChannelsOneConnection(t *testing.T) { - relayerinterchaintest.BuildRelayerImage(t) + image := relayerinterchaintest.BuildRelayerImage(t) client, network := interchaintest.DockerSetup(t) r := interchaintest.NewBuiltinRelayerFactory( ibc.CosmosRly, zaptest.NewLogger(t), - interchaintestrelayer.CustomDockerImage(relayerinterchaintest.RelayerImageName, "latest", "100:1000"), + interchaintestrelayer.CustomDockerImage(image, "latest", "100:1000"), interchaintestrelayer.ImagePull(false), ).Build(t, client, network) diff --git a/interchaintest/relayer_override_test.go b/interchaintest/relayer_override_test.go index 2885c21ff..d729cc719 100644 --- a/interchaintest/relayer_override_test.go +++ b/interchaintest/relayer_override_test.go @@ -23,13 +23,13 @@ import ( // is a client-id present in the relative path config. If the override flag is present, the relayer should always // attempt to create a new light client and then overwrite the config file if successful. func TestClientOverrideFlag(t *testing.T) { - relayerinterchaintest.BuildRelayerImage(t) + image := relayerinterchaintest.BuildRelayerImage(t) client, network := interchaintest.DockerSetup(t) r := interchaintest.NewBuiltinRelayerFactory( ibc.CosmosRly, zaptest.NewLogger(t), - interchaintestrelayer.CustomDockerImage(relayerinterchaintest.RelayerImageName, "latest", "100:1000"), + interchaintestrelayer.CustomDockerImage(image, "latest", "100:1000"), interchaintestrelayer.ImagePull(false), ).Build(t, client, network) From dcd6d37af59a57a7885c2d651a831e655d2f870f Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Sat, 2 Sep 2023 02:08:14 +0800 Subject: [PATCH 38/58] use ibc-go capability module (#1277) * use ibc-go capability module * tidy interchaintest --- go.mod | 1 + go.sum | 7 +++++-- go.work | 6 +++--- interchaintest/go.mod | 5 +++-- interchaintest/go.sum | 7 +++++-- relayer/chains/cosmos/codec.go | 2 +- relayer/chains/penumbra/codec.go | 2 +- 7 files changed, 19 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index a25a99b52..110d90355 100644 --- a/go.mod +++ b/go.mod @@ -14,6 +14,7 @@ require ( github.com/cosmos/cosmos-sdk v0.47.3 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.4.10 + github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 github.com/cosmos/ibc-go/v7 v7.2.0 github.com/cosmos/ics23/go v0.10.0 github.com/ethereum/go-ethereum v1.10.26 diff --git a/go.sum b/go.sum index 8ef18b6f2..3d3a56d43 100644 --- a/go.sum +++ b/go.sum @@ -360,6 +360,8 @@ github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoK github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 h1:BvSKnPFKxL+TTSLxGKwJN4x0ndCZj0yfXhSvmsQztSA= +github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1/go.mod h1:A+CxAQdn2j6ihDTbClpEEBdHthWgAUAcHbRAQPY8sl4= github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= @@ -440,8 +442,8 @@ github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbS github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -463,8 +465,8 @@ github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8c github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= -github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -475,6 +477,7 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= diff --git a/go.work b/go.work index 0c68d3166..b9db675cb 100644 --- a/go.work +++ b/go.work @@ -1,6 +1,6 @@ go 1.20 use ( -./interchaintest -. -) \ No newline at end of file + . + ./interchaintest +) diff --git a/interchaintest/go.mod b/interchaintest/go.mod index 6352c1099..4382b5c7a 100644 --- a/interchaintest/go.mod +++ b/interchaintest/go.mod @@ -4,6 +4,7 @@ go 1.20 require ( cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 + github.com/avast/retry-go/v4 v4.3.4 github.com/cometbft/cometbft v0.37.2 github.com/cosmos/cosmos-sdk v0.47.3 github.com/cosmos/go-bip39 v1.0.0 @@ -11,6 +12,7 @@ require ( github.com/cosmos/ibc-go/v7 v7.2.0 github.com/cosmos/relayer/v2 v2.0.0 github.com/docker/docker v24.0.1+incompatible + github.com/google/uuid v1.3.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/moby/moby v24.0.2+incompatible github.com/strangelove-ventures/interchaintest/v7 v7.0.0-20230608002938-79172615eed0 @@ -44,7 +46,6 @@ require ( github.com/Microsoft/go-winio v0.6.0 // indirect github.com/StirlingMarketingGroup/go-namecase v1.0.0 // indirect github.com/armon/go-metrics v0.4.1 // indirect - github.com/avast/retry-go/v4 v4.3.4 // indirect github.com/aws/aws-sdk-go v1.44.203 // indirect github.com/benbjohnson/clock v1.3.0 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -67,6 +68,7 @@ require ( github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect github.com/cosmos/iavl v0.20.0 // indirect + github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect @@ -109,7 +111,6 @@ require ( github.com/google/go-querystring v1.1.0 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/s2a-go v0.1.3 // indirect - github.com/google/uuid v1.3.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go/v2 v2.8.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect diff --git a/interchaintest/go.sum b/interchaintest/go.sum index 74c50689d..e2ef9d343 100644 --- a/interchaintest/go.sum +++ b/interchaintest/go.sum @@ -387,6 +387,8 @@ github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoK github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= +github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 h1:BvSKnPFKxL+TTSLxGKwJN4x0ndCZj0yfXhSvmsQztSA= +github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1/go.mod h1:A+CxAQdn2j6ihDTbClpEEBdHthWgAUAcHbRAQPY8sl4= github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= @@ -484,8 +486,8 @@ github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbS github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -507,8 +509,8 @@ github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8c github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= -github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= @@ -520,6 +522,7 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= diff --git a/relayer/chains/cosmos/codec.go b/relayer/chains/cosmos/codec.go index 0fcfbd389..16cdaa16f 100644 --- a/relayer/chains/cosmos/codec.go +++ b/relayer/chains/cosmos/codec.go @@ -10,7 +10,6 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth/tx" authz "github.com/cosmos/cosmos-sdk/x/authz/module" "github.com/cosmos/cosmos-sdk/x/bank" - "github.com/cosmos/cosmos-sdk/x/capability" "github.com/cosmos/cosmos-sdk/x/crisis" "github.com/cosmos/cosmos-sdk/x/distribution" feegrant "github.com/cosmos/cosmos-sdk/x/feegrant/module" @@ -23,6 +22,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking" "github.com/cosmos/cosmos-sdk/x/upgrade" upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" + "github.com/cosmos/ibc-go/modules/capability" ibcfee "github.com/cosmos/ibc-go/v7/modules/apps/29-fee" "github.com/cosmos/ibc-go/v7/modules/apps/transfer" ibc "github.com/cosmos/ibc-go/v7/modules/core" diff --git a/relayer/chains/penumbra/codec.go b/relayer/chains/penumbra/codec.go index 2b7c00a8a..ac075741c 100644 --- a/relayer/chains/penumbra/codec.go +++ b/relayer/chains/penumbra/codec.go @@ -10,7 +10,6 @@ import ( "github.com/cosmos/cosmos-sdk/x/auth/tx" authz "github.com/cosmos/cosmos-sdk/x/authz/module" "github.com/cosmos/cosmos-sdk/x/bank" - "github.com/cosmos/cosmos-sdk/x/capability" "github.com/cosmos/cosmos-sdk/x/crisis" "github.com/cosmos/cosmos-sdk/x/distribution" feegrant "github.com/cosmos/cosmos-sdk/x/feegrant/module" @@ -23,6 +22,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking" "github.com/cosmos/cosmos-sdk/x/upgrade" upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" + "github.com/cosmos/ibc-go/modules/capability" "github.com/cosmos/ibc-go/v7/modules/apps/transfer" ibc "github.com/cosmos/ibc-go/v7/modules/core" From 2fadd37236c7c3008037222a9350c7c4bcbf0eed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?colin=20axn=C3=A9r?= <25233464+colin-axner@users.noreply.github.com> Date: Tue, 5 Sep 2023 17:51:58 +0200 Subject: [PATCH 39/58] fix: use resp.Events to parse events instead of logs (#1271) * fix: use resp.Events to parse events instead of logs * revert: use legacy behaviour as fallback mechanism * refactor: use legacy approach first, fallback onto new parsing approach --------- Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- relayer/chains/cosmos/tx.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/relayer/chains/cosmos/tx.go b/relayer/chains/cosmos/tx.go index a9da07179..44e002889 100644 --- a/relayer/chains/cosmos/tx.go +++ b/relayer/chains/cosmos/tx.go @@ -519,6 +519,22 @@ func parseEventsFromTxResponse(resp *sdk.TxResponse) []provider.RelayerEvent { }) } } + + // After SDK v0.50, indexed events are no longer provided in the logs on + // transaction execution, the response events can be directly used + if len(events) == 0 { + for _, event := range resp.Events { + attributes := make(map[string]string) + for _, attribute := range event.Attributes { + attributes[attribute.Key] = attribute.Value + } + events = append(events, provider.RelayerEvent{ + EventType: event.Type, + Attributes: attributes, + }) + } + } + return events } From 7b073b3aeb2e77d2dcf3d5e05223b0e4a9c87f93 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 7 Sep 2023 07:50:38 +0800 Subject: [PATCH 40/58] working correctly with 7.3 and 0.47.5 (#1280) Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- go.mod | 63 +++++++++++-------- go.sum | 143 +++++++++++++++++++++++------------------- interchaintest/go.mod | 61 ++++++++++-------- interchaintest/go.sum | 141 ++++++++++++++++++++++------------------- 4 files changed, 226 insertions(+), 182 deletions(-) diff --git a/go.mod b/go.mod index 110d90355..e1d9828f2 100644 --- a/go.mod +++ b/go.mod @@ -4,18 +4,18 @@ go 1.20 require ( cosmossdk.io/api v0.3.1 - cosmossdk.io/errors v1.0.0-beta.7 - cosmossdk.io/math v1.0.1 + cosmossdk.io/errors v1.0.0 + cosmossdk.io/math v1.1.2 github.com/avast/retry-go/v4 v4.3.2 github.com/btcsuite/btcd v0.23.4 github.com/btcsuite/btcd/btcutil v1.1.3 github.com/cometbft/cometbft v0.37.2 github.com/cosmos/cosmos-proto v1.0.0-beta.2 - github.com/cosmos/cosmos-sdk v0.47.3 + github.com/cosmos/cosmos-sdk v0.47.5 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.4.10 github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 - github.com/cosmos/ibc-go/v7 v7.2.0 + github.com/cosmos/ibc-go/v7 v7.3.0 github.com/cosmos/ics23/go v0.10.0 github.com/ethereum/go-ethereum v1.10.26 github.com/gofrs/flock v0.8.1 @@ -30,23 +30,23 @@ require ( github.com/tyler-smith/go-bip39 v1.1.0 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.24.0 - golang.org/x/mod v0.8.0 - golang.org/x/sync v0.1.0 - golang.org/x/text v0.9.0 - google.golang.org/grpc v1.55.0 + golang.org/x/mod v0.11.0 + golang.org/x/sync v0.2.0 + golang.org/x/text v0.12.0 + google.golang.org/grpc v1.56.2 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 ) require ( - cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.19.0 // indirect + cloud.google.com/go v0.110.4 // indirect + cloud.google.com/go/compute v1.20.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.13.0 // indirect - cloud.google.com/go/storage v1.29.0 // indirect + cloud.google.com/go/iam v1.1.0 // indirect + cloud.google.com/go/storage v1.30.1 // indirect cosmossdk.io/core v0.5.1 // indirect - cosmossdk.io/depinject v1.0.0-alpha.3 // indirect - cosmossdk.io/log v1.1.0 // indirect + cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/log v1.2.1 // indirect cosmossdk.io/tools/rosetta v0.2.1 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -64,6 +64,9 @@ require ( github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chzyer/readline v1.5.1 // indirect + github.com/cockroachdb/errors v1.10.0 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/redact v1.1.5 // indirect github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect github.com/cometbft/cometbft-db v0.8.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect @@ -84,6 +87,7 @@ require ( github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/felixge/httpsnoop v1.0.2 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/getsentry/sentry-go v0.23.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect @@ -99,10 +103,10 @@ require ( github.com/google/btree v1.1.2 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/orderedcode v0.0.1 // indirect - github.com/google/s2a-go v0.1.3 // indirect + github.com/google/s2a-go v0.1.4 // indirect github.com/google/uuid v1.3.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.8.0 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -125,13 +129,15 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/klauspost/compress v1.16.3 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/linxGnu/grocksdb v1.7.16 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect @@ -149,8 +155,9 @@ require ( github.com/prometheus/procfs v0.9.0 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/rs/cors v1.8.3 // indirect - github.com/rs/zerolog v1.29.1 // indirect + github.com/rs/zerolog v1.30.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/spf13/afero v1.9.5 // indirect github.com/spf13/cast v1.5.1 // indirect @@ -167,17 +174,19 @@ require ( go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect - golang.org/x/crypto v0.9.0 // indirect - golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc // indirect - golang.org/x/net v0.10.0 // indirect - golang.org/x/oauth2 v0.7.0 // indirect - golang.org/x/sys v0.8.0 // indirect - golang.org/x/term v0.8.0 // indirect + golang.org/x/crypto v0.11.0 // indirect + golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb // indirect + golang.org/x/net v0.12.0 // indirect + golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/sys v0.11.0 // indirect + golang.org/x/term v0.10.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.122.0 // indirect + google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect nhooyr.io/websocket v1.8.6 // indirect pgregory.net/rapid v0.5.5 // indirect diff --git a/go.sum b/go.sum index 3d3a56d43..4ed2f7f64 100644 --- a/go.sum +++ b/go.sum @@ -32,8 +32,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -70,8 +70,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.19.0 h1:+9zda3WGgW1ZSTlVppLCYFIr48Pa35q1uG2N1itbCEQ= -cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -111,13 +111,12 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.1.0 h1:67gSqaPukx7O8WLLHMa0PNs3EBGd2eE4d+psbO/CO94= +cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= @@ -175,8 +174,8 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= -cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= @@ -192,14 +191,14 @@ cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= -cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= -cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= -cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= -cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= -cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= -cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= -cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg= -cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= +cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= +cosmossdk.io/errors v1.0.0 h1:nxF07lmlBbB8NKQhtJ+sJm6ef5uV1XkvPXG2bUntb04= +cosmossdk.io/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= +cosmossdk.io/log v1.2.1 h1:Xc1GgTCicniwmMiKwDxUjO4eLhPxoVdI9vtMW8Ti/uk= +cosmossdk.io/log v1.2.1/go.mod h1:GNSCc/6+DhFIj1aLn/j7Id7PaO8DzNylUZoOYBL9+I4= +cosmossdk.io/math v1.1.2 h1:ORZetZCTyWkI5GlZ6CZS28fMHi83ZYf+A2vVnHNzZBM= +cosmossdk.io/math v1.1.2/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= cosmossdk.io/tools/rosetta v0.2.1/go.mod h1:Pqdc1FdvkNV3LcNIkYWt2RQY6IP1ge6YWZk8MhhO9Hw= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -229,7 +228,6 @@ github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/ github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/alecthomas/participle/v2 v2.0.0-alpha7 h1:cK4vjj0VSgb3lN1nuKA5F7dw+1s1pWBe5bx7nNCnN+c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -326,8 +324,13 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= -github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= +github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= @@ -348,8 +351,8 @@ github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= -github.com/cosmos/cosmos-sdk v0.47.3 h1:r0hGmZoAzP2D+MaPaFGHwAaTdFQq3pNpHaUp1BsffbM= -github.com/cosmos/cosmos-sdk v0.47.3/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= +github.com/cosmos/cosmos-sdk v0.47.5 h1:n1+WjP/VM/gAEOx3TqU2/Ny734rj/MX1kpUnn7zVJP8= +github.com/cosmos/cosmos-sdk v0.47.5/go.mod h1:EHwCeN9IXonsjKcjpS12MqeStdZvIdxt3VYXhus3G3c= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -362,8 +365,8 @@ github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 h1:BvSKnPFKxL+TTSLxGKwJN4x0ndCZj0yfXhSvmsQztSA= github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1/go.mod h1:A+CxAQdn2j6ihDTbClpEEBdHthWgAUAcHbRAQPY8sl4= -github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= -github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= +github.com/cosmos/ibc-go/v7 v7.3.0 h1:QtGeVMi/3JeLWuvEuC60sBHpAF40Oenx/y+bP8+wRRw= +github.com/cosmos/ibc-go/v7 v7.3.0/go.mod h1:mUmaHFXpXrEdcxfdXyau+utZf14pGKVUiXwYftRZZfQ= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= @@ -376,8 +379,7 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= -github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -439,11 +441,14 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= +github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -461,8 +466,8 @@ github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= @@ -483,7 +488,6 @@ github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= @@ -589,8 +593,8 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE= -github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -609,8 +613,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.8.0 h1:UBtEZqx1bjXtOQ5BVTkuYghXrr3N4V123VKJK67vJZc= -github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -739,9 +743,11 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= @@ -767,8 +773,8 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= -github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= @@ -864,6 +870,8 @@ github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6 github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -911,19 +919,20 @@ github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Ung github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/gocuke v0.6.2 h1:pHviZ0kKAq2U2hN2q3smKNxct6hS0mGByFMHGnWA97M= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= -github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.30.0 h1:SymVODrcRsaRaSInD9yQtKbtWqwsfoPcRff/oRXLj4c= +github.com/rs/zerolog v1.30.0/go.mod h1:/tk+P47gFdPXq4QYjvCmT5/Gsug2nagsFWBWhAiSi1w= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -1073,8 +1082,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1086,8 +1095,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb h1:xIApU0ow1zwMa2uL1VDNeQlNVFTWMQxZUZCMDy0Q4Us= +golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1114,8 +1123,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= +golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1179,8 +1188,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1206,8 +1215,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1222,8 +1231,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1323,13 +1332,13 @@ golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1341,8 +1350,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1469,8 +1478,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.122.0 h1:zDobeejm3E7pEG1mNHvdxvjs5XJoCMzyNH+CmwL94Es= -google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1588,8 +1597,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8= +google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= +google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 h1:s5YSX+ZH5b5vS9rnpGymvIyMpLRJizowqDlOuyjXnTk= +google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1631,8 +1644,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= -google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.56.2 h1:fVRFRnXvU+x6C4IlHZewvJOVHoOv1TUuQyoRsYnB4bI= +google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1649,8 +1662,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1683,7 +1696,7 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= +gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/interchaintest/go.mod b/interchaintest/go.mod index 4382b5c7a..89c505f98 100644 --- a/interchaintest/go.mod +++ b/interchaintest/go.mod @@ -6,10 +6,10 @@ require ( cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 github.com/avast/retry-go/v4 v4.3.4 github.com/cometbft/cometbft v0.37.2 - github.com/cosmos/cosmos-sdk v0.47.3 + github.com/cosmos/cosmos-sdk v0.47.5 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/gogoproto v1.4.10 - github.com/cosmos/ibc-go/v7 v7.2.0 + github.com/cosmos/ibc-go/v7 v7.3.0 github.com/cosmos/relayer/v2 v2.0.0 github.com/docker/docker v24.0.1+incompatible github.com/google/uuid v1.3.0 @@ -22,17 +22,17 @@ require ( ) require ( - cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.19.0 // indirect + cloud.google.com/go v0.110.4 // indirect + cloud.google.com/go/compute v1.20.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.13.0 // indirect - cloud.google.com/go/storage v1.29.0 // indirect + cloud.google.com/go/iam v1.1.0 // indirect + cloud.google.com/go/storage v1.30.1 // indirect cosmossdk.io/api v0.3.1 // indirect cosmossdk.io/core v0.5.1 // indirect - cosmossdk.io/depinject v1.0.0-alpha.3 // indirect - cosmossdk.io/errors v1.0.0-beta.7 // indirect - cosmossdk.io/log v1.1.0 // indirect - cosmossdk.io/math v1.0.1 // indirect + cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/errors v1.0.0 // indirect + cosmossdk.io/log v1.2.1 // indirect + cosmossdk.io/math v1.1.2 // indirect cosmossdk.io/tools/rosetta v0.2.1 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -60,6 +60,9 @@ require ( github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/chzyer/readline v1.5.1 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect + github.com/cockroachdb/errors v1.10.0 // indirect + github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect + github.com/cockroachdb/redact v1.1.5 // indirect github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect github.com/cometbft/cometbft-db v0.8.0 // indirect github.com/confio/ics23/go v0.9.0 // indirect @@ -92,6 +95,7 @@ require ( github.com/ethereum/go-ethereum v1.10.26 // indirect github.com/felixge/httpsnoop v1.0.2 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/getsentry/sentry-go v0.23.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect @@ -110,9 +114,9 @@ require ( github.com/google/go-github/v43 v43.0.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/orderedcode v0.0.1 // indirect - github.com/google/s2a-go v0.1.3 // indirect + github.com/google/s2a-go v0.1.4 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect - github.com/googleapis/gax-go/v2 v2.8.0 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -140,6 +144,8 @@ require ( github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/klauspost/compress v1.16.3 // indirect github.com/klauspost/cpuid/v2 v2.2.3 // indirect + github.com/kr/pretty v0.3.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/libp2p/go-libp2p v0.22.0 // indirect @@ -148,7 +154,7 @@ require ( github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect github.com/mattn/go-pointer v0.0.1 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20220103164710-9a04d6ca976b // indirect @@ -185,8 +191,9 @@ require ( github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/rogpeppe/go-internal v1.11.0 // indirect github.com/rs/cors v1.8.3 // indirect - github.com/rs/zerolog v1.29.1 // indirect + github.com/rs/zerolog v1.30.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/sirupsen/logrus v1.9.0 // indirect github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect @@ -210,21 +217,23 @@ require ( go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.9.0 // indirect - golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc // indirect - golang.org/x/mod v0.10.0 // indirect - golang.org/x/net v0.10.0 // indirect - golang.org/x/oauth2 v0.7.0 // indirect - golang.org/x/sys v0.8.0 // indirect - golang.org/x/term v0.8.0 // indirect - golang.org/x/text v0.9.0 // indirect + golang.org/x/crypto v0.11.0 // indirect + golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb // indirect + golang.org/x/mod v0.11.0 // indirect + golang.org/x/net v0.12.0 // indirect + golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/sys v0.11.0 // indirect + golang.org/x/term v0.10.0 // indirect + golang.org/x/text v0.12.0 // indirect golang.org/x/tools v0.9.3 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.122.0 // indirect + google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/grpc v1.55.0 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect + google.golang.org/grpc v1.56.2 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/interchaintest/go.sum b/interchaintest/go.sum index e2ef9d343..abdaf4f74 100644 --- a/interchaintest/go.sum +++ b/interchaintest/go.sum @@ -32,8 +32,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -70,8 +70,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.19.0 h1:+9zda3WGgW1ZSTlVppLCYFIr48Pa35q1uG2N1itbCEQ= -cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -111,13 +111,12 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.1.0 h1:67gSqaPukx7O8WLLHMa0PNs3EBGd2eE4d+psbO/CO94= +cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= @@ -175,8 +174,8 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= -cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= @@ -192,14 +191,14 @@ cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE= cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw= cosmossdk.io/core v0.5.1 h1:vQVtFrIYOQJDV3f7rw4pjjVqc1id4+mE0L9hHP66pyI= cosmossdk.io/core v0.5.1/go.mod h1:KZtwHCLjcFuo0nmDc24Xy6CRNEL9Vl/MeimQ2aC7NLE= -cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= -cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= -cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= -cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= -cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= -cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= -cosmossdk.io/math v1.0.1 h1:Qx3ifyOPaMLNH/89WeZFH268yCvU4xEcnPLu3sJqPPg= -cosmossdk.io/math v1.0.1/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= +cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= +cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= +cosmossdk.io/errors v1.0.0 h1:nxF07lmlBbB8NKQhtJ+sJm6ef5uV1XkvPXG2bUntb04= +cosmossdk.io/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= +cosmossdk.io/log v1.2.1 h1:Xc1GgTCicniwmMiKwDxUjO4eLhPxoVdI9vtMW8Ti/uk= +cosmossdk.io/log v1.2.1/go.mod h1:GNSCc/6+DhFIj1aLn/j7Id7PaO8DzNylUZoOYBL9+I4= +cosmossdk.io/math v1.1.2 h1:ORZetZCTyWkI5GlZ6CZS28fMHi83ZYf+A2vVnHNzZBM= +cosmossdk.io/math v1.1.2/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 h1:g8muUHnXL8vhld2Sjilyhb1UQObc+x9GVuDK43TYZns= cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462/go.mod h1:4Dd3NLoLYoN90kZ0uyHoTHzVVk9+J0v4HhZRBNTAq2c= cosmossdk.io/tools/rosetta v0.2.1 h1:ddOMatOH+pbxWbrGJKRAawdBkPYLfKXutK9IETnjYxw= @@ -246,7 +245,6 @@ github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/ github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/alecthomas/participle/v2 v2.0.0-alpha7 h1:cK4vjj0VSgb3lN1nuKA5F7dw+1s1pWBe5bx7nNCnN+c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -349,8 +347,13 @@ github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= -github.com/cockroachdb/apd/v3 v3.1.0 h1:MK3Ow7LH0W8zkd5GMKA1PvS9qG3bWFI95WaVNfyZJ/w= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= +github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go/types v1.0.0 h1:jpVIwLcPoOeCR6o1tU+Xv7r5bMONNbHU7MuEHboiFuA= github.com/coinbase/rosetta-sdk-go/types v1.0.0/go.mod h1:eq7W2TMRH22GTW0N0beDnN931DW0/WOI1R2sdHNHG4c= @@ -375,8 +378,8 @@ github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-proto v1.0.0-beta.2 h1:X3OKvWgK9Gsejo0F1qs5l8Qn6xJV/AzgIWR2wZ8Nua8= github.com/cosmos/cosmos-proto v1.0.0-beta.2/go.mod h1:+XRCLJ14pr5HFEHIUcn51IKXD1Fy3rkEQqt4WqmN4V0= -github.com/cosmos/cosmos-sdk v0.47.3 h1:r0hGmZoAzP2D+MaPaFGHwAaTdFQq3pNpHaUp1BsffbM= -github.com/cosmos/cosmos-sdk v0.47.3/go.mod h1:c4OfLdAykA9zsj1CqrxBRqXzVz48I++JSvIMPSPcEmk= +github.com/cosmos/cosmos-sdk v0.47.5 h1:n1+WjP/VM/gAEOx3TqU2/Ny734rj/MX1kpUnn7zVJP8= +github.com/cosmos/cosmos-sdk v0.47.5/go.mod h1:EHwCeN9IXonsjKcjpS12MqeStdZvIdxt3VYXhus3G3c= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -389,8 +392,8 @@ github.com/cosmos/iavl v0.20.0 h1:fTVznVlepH0KK8NyKq8w+U7c2L6jofa27aFX6YGlm38= github.com/cosmos/iavl v0.20.0/go.mod h1:WO7FyvaZJoH65+HFOsDir7xU9FWk2w9cHXNW1XHcl7A= github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1 h1:BvSKnPFKxL+TTSLxGKwJN4x0ndCZj0yfXhSvmsQztSA= github.com/cosmos/ibc-go/modules/capability v1.0.0-rc1/go.mod h1:A+CxAQdn2j6ihDTbClpEEBdHthWgAUAcHbRAQPY8sl4= -github.com/cosmos/ibc-go/v7 v7.2.0 h1:dx0DLUl7rxdyZ8NiT6UsrbzKOJx/w7s+BOaewFRH6cg= -github.com/cosmos/ibc-go/v7 v7.2.0/go.mod h1:OOcjKIRku/j1Xs1RgKK0yvKRrJ5iFuZYMetR1n3yMlc= +github.com/cosmos/ibc-go/v7 v7.3.0 h1:QtGeVMi/3JeLWuvEuC60sBHpAF40Oenx/y+bP8+wRRw= +github.com/cosmos/ibc-go/v7 v7.3.0/go.mod h1:mUmaHFXpXrEdcxfdXyau+utZf14pGKVUiXwYftRZZfQ= github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM= github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0= github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= @@ -403,8 +406,7 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creachadair/taskgroup v0.4.2 h1:jsBLdAJE42asreGss2xZGZ8fJra7WtwnHWeJFxv2Li8= github.com/creachadair/taskgroup v0.4.2/go.mod h1:qiXUOSrbwAY3u0JPGTzObbE3yf9hcXHDKBZ2ZjpCbgM= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbdT9+Q5kgLpmmsHYl0= -github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= @@ -483,11 +485,14 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/getsentry/sentry-go v0.23.0 h1:dn+QRCeJv4pPt9OjVXiMcGIBIefaTJPw/h0bZWO05nE= +github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -505,8 +510,8 @@ github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= @@ -529,7 +534,6 @@ github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v4.3.0+incompatible h1:CaSVZxm5B+7o45rtab4jC2G37WGYX1zQfuU2i6DSvnc= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= @@ -630,8 +634,8 @@ github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE= -github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -650,8 +654,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.8.0 h1:UBtEZqx1bjXtOQ5BVTkuYghXrr3N4V123VKJK67vJZc= -github.com/googleapis/gax-go/v2 v2.8.0/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= @@ -789,9 +793,11 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= @@ -821,8 +827,8 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= -github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-pointer v0.0.1 h1:n+XhsuGeVO6MEAp7xyEukFINEa+Quek5psIR/ylA6o0= github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnUbNvJZAlc= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -959,6 +965,8 @@ github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0 github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/xxHash v0.1.5 h1:n/jBpwTHiER4xYvK3/CdPVnLDPchj8eTJFFLUb4QHBo= github.com/pierrec/xxHash v0.1.5/go.mod h1:w2waW5Zoa/Wc4Yqe0wgrIYAGKqRMf7czn2HNKXmuL+I= +github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -1006,7 +1014,6 @@ github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Ung github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/gocuke v0.6.2 h1:pHviZ0kKAq2U2hN2q3smKNxct6hS0mGByFMHGnWA97M= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= @@ -1016,13 +1023,15 @@ github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= -github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= +github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.30.0 h1:SymVODrcRsaRaSInD9yQtKbtWqwsfoPcRff/oRXLj4c= +github.com/rs/zerolog v1.30.0/go.mod h1:/tk+P47gFdPXq4QYjvCmT5/Gsug2nagsFWBWhAiSi1w= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -1185,8 +1194,8 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.9.0 h1:LF6fAI+IutBocDJ2OT0Q1g8plpYljMZ4+lty+dsqw3g= -golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1198,8 +1207,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU= -golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb h1:xIApU0ow1zwMa2uL1VDNeQlNVFTWMQxZUZCMDy0Q4Us= +golang.org/x/exp v0.0.0-20230711153332-06a737ee72cb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1226,8 +1235,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= +golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1291,8 +1300,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1318,8 +1327,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1443,13 +1452,13 @@ golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= +golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1461,13 +1470,13 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1589,8 +1598,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.122.0 h1:zDobeejm3E7pEG1mNHvdxvjs5XJoCMzyNH+CmwL94Es= -google.golang.org/api v0.122.0/go.mod h1:gcitW0lvnyWjSp9nKxAbdHKIZ6vF4aajGueeslZOyms= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1709,8 +1718,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8= +google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= +google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 h1:s5YSX+ZH5b5vS9rnpGymvIyMpLRJizowqDlOuyjXnTk= +google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1752,8 +1765,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= -google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/grpc v1.56.2 h1:fVRFRnXvU+x6C4IlHZewvJOVHoOv1TUuQyoRsYnB4bI= +google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1770,8 +1783,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1806,7 +1819,7 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= +gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From b5dce36a3ea211220ba290ddf203b9c76e575add Mon Sep 17 00:00:00 2001 From: vimystic <122659254+vimystic@users.noreply.github.com> Date: Thu, 7 Sep 2023 17:49:56 -0600 Subject: [PATCH 41/58] Add use command to "rly keys" (#1282) --- .github/workflows/interchaintest.yml | 6 +++++- cmd/appstate.go | 31 ++++++++++++++++++++++++++++ cmd/config.go | 4 ++-- cmd/keys.go | 17 +++++++++++++++ relayer/chains/cosmos/keys.go | 10 ++++++++- relayer/chains/penumbra/keys.go | 7 +++++++ relayer/provider/provider.go | 1 + 7 files changed, 72 insertions(+), 4 deletions(-) diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index f136b26d1..b31ab3c1e 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -152,4 +152,8 @@ jobs: ${{ runner.os }}-go- - name: interchaintest - run: make interchaintest-scenario \ No newline at end of file + run: make interchaintest-scenario + + - name: Prune Docker images + if: always() #ensure dangling images are pruned after interchain-test scenario passes or fails + run: docker image prune -f diff --git a/cmd/appstate.go b/cmd/appstate.go index d6378bb8a..5017df85e 100644 --- a/cmd/appstate.go +++ b/cmd/appstate.go @@ -251,3 +251,34 @@ func (a *appState) updatePathConfig( return nil }) } + +func (a *appState) useKey(chainName, key string) error { + + chain, exists := a.config.Chains[chainName] + if !exists { + return fmt.Errorf("chain %s not found in config", chainName) + } + + cc := chain.ChainProvider + + info, err := cc.ListAddresses() + if err != nil { + return err + } + value, exists := info[key] + currentValue := a.config.Chains[chainName].ChainProvider.Key() + + if currentValue == key { + return fmt.Errorf("config is already using %s -> %s for %s", key, value, cc.ChainName()) + } + + if exists { + fmt.Printf("Config will now use %s -> %s for %s\n", key, value, cc.ChainName()) + } else { + return fmt.Errorf("key %s does not exist for chain %s", key, cc.ChainName()) + } + return a.performConfigLockingOperation(context.Background(), func() error { + a.config.Chains[chainName].ChainProvider.UseKey(key) + return nil + }) +} diff --git a/cmd/config.go b/cmd/config.go index 9888a4596..80ae95e4c 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -395,8 +395,8 @@ func UnmarshalJSONProviderConfig(data []byte, customTypes map[string]reflect.Typ } typeName, ok := m["type"].(string) - if !ok { - return nil, errors.New("cannot find type"); + if !ok { + return nil, errors.New("cannot find type") } var provCfg provider.ProviderConfig diff --git a/cmd/keys.go b/cmd/keys.go index 0ddd447d4..fb09cf46f 100644 --- a/cmd/keys.go +++ b/cmd/keys.go @@ -45,6 +45,7 @@ func keysCmd(a *appState) *cobra.Command { cmd.AddCommand( keysAddCmd(a), + keysUseCmd(a), keysRestoreCmd(a), keysDeleteCmd(a), keysListCmd(a), @@ -55,6 +56,22 @@ func keysCmd(a *appState) *cobra.Command { return cmd } +func keysUseCmd(a *appState) *cobra.Command { + + cmd := &cobra.Command{ + Use: "use chain_name key_name", + Aliases: []string{"a"}, + Short: "Use a key from the keychain associated with a particular chain. Look at ~/.relayer/keys/ibc-0/keyring-test ", + Args: withUsage(cobra.ExactArgs(2)), + Example: strings.TrimSpace(fmt.Sprintf(` +$ %s keys use ibc-0 key_name`, appName)), + RunE: func(cmd *cobra.Command, args []string) error { + return a.useKey(args[0], args[1]) + }, + } + return cmd +} + // keysAddCmd respresents the `keys add` command func keysAddCmd(a *appState) *cobra.Command { cmd := &cobra.Command{ diff --git a/relayer/chains/cosmos/keys.go b/relayer/chains/cosmos/keys.go index 858f77505..ce6c2a2ef 100644 --- a/relayer/chains/cosmos/keys.go +++ b/relayer/chains/cosmos/keys.go @@ -4,6 +4,8 @@ import ( "errors" "os" + "github.com/cosmos/relayer/v2/relayer/provider" + ckeys "github.com/cosmos/cosmos-sdk/client/keys" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" @@ -12,7 +14,6 @@ import ( "github.com/cosmos/relayer/v2/relayer/chains/cosmos/keys/sr25519" "github.com/cosmos/relayer/v2/relayer/codecs/ethermint" "github.com/cosmos/relayer/v2/relayer/codecs/injective" - "github.com/cosmos/relayer/v2/relayer/provider" ) const ethereumCoinType = uint32(60) @@ -69,6 +70,13 @@ func (cc *CosmosProvider) AddKey(name string, coinType uint32, signingAlgorithm return ko, nil } +// Updates config.yaml chain with the specified key. +// It fails config is already using the same key or if the key does not exist +func (cc *CosmosProvider) UseKey(key string) error { + cc.PCfg.Key = key + return nil +} + // RestoreKey converts a mnemonic to a private key and BIP-39 HD Path and persists it to the keystore. // It fails if there is an existing key with the same address. func (cc *CosmosProvider) RestoreKey(name, mnemonic string, coinType uint32, signingAlgorithm string) (address string, err error) { diff --git a/relayer/chains/penumbra/keys.go b/relayer/chains/penumbra/keys.go index aa09fa7b1..0c6131fda 100644 --- a/relayer/chains/penumbra/keys.go +++ b/relayer/chains/penumbra/keys.go @@ -66,6 +66,13 @@ func (cc *PenumbraProvider) AddKey(name string, coinType uint32, signingAlgorith return ko, nil } +// Updates config.yaml chain with the specified key. +// It fails config is already using the same key or if the key does not exist +func (cc *PenumbraProvider) UseKey(key string) error { + cc.PCfg.Key = key + return nil +} + // RestoreKey converts a mnemonic to a private key and BIP-39 HD Path and persists it to the keystore. // It fails if there is an existing key with the same address. func (cc *PenumbraProvider) RestoreKey(name, mnemonic string, coinType uint32, signingAlgorithm string) (address string, err error) { diff --git a/relayer/provider/provider.go b/relayer/provider/provider.go index 34cee434d..2bce8c2c4 100644 --- a/relayer/provider/provider.go +++ b/relayer/provider/provider.go @@ -216,6 +216,7 @@ type KeyProvider interface { CreateKeystore(path string) error KeystoreCreated(path string) bool AddKey(name string, coinType uint32, signingAlgorithm string) (output *KeyOutput, err error) + UseKey(key string) error RestoreKey(name, mnemonic string, coinType uint32, signingAlgorithm string) (address string, err error) ShowAddress(name string) (address string, err error) ListAddresses() (map[string]string, error) From 256544cc664641c0635f3bfadf74811bbc57cedd Mon Sep 17 00:00:00 2001 From: vimystic <122659254+vimystic@users.noreply.github.com> Date: Fri, 8 Sep 2023 12:14:21 -0600 Subject: [PATCH 42/58] Update README.md with an update to leverage 'rly key use' in step 5 (#1289) * Update README.md with an update to leverage 'rly key use' in step 5 * change alias from 'a' to 'u' for use subcommand --- README.md | 14 +++++--------- cmd/keys.go | 4 ++-- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 86bcd648a..eaeef11d5 100644 --- a/README.md +++ b/README.md @@ -112,18 +112,14 @@ Additional information on how IBC works can be found [here](https://ibc.cosmos.n $ rly keys restore osmosis [key-name] "mnemonic words here" ``` -5. **Edit the relayer's `key` values in the config file to match the `key-name`'s chosen above.** +5. **Use the `key-name` created above.** >This step is necessary if you chose a `key-name` other than "default" - Example: - ```yaml - - type: cosmos - value: - key: YOUR-KEY-NAME-HERE - chain-id: cosmoshub-4 - rpc-addr: http://localhost:26657 - ``` + ```shell + $ rly keys use cosmoshub [key-name] + $ rly keys use osmosis [key-name] + ``` 6. **Ensure the keys associated with the configured chains are funded.** diff --git a/cmd/keys.go b/cmd/keys.go index fb09cf46f..ad853cf05 100644 --- a/cmd/keys.go +++ b/cmd/keys.go @@ -60,8 +60,8 @@ func keysUseCmd(a *appState) *cobra.Command { cmd := &cobra.Command{ Use: "use chain_name key_name", - Aliases: []string{"a"}, - Short: "Use a key from the keychain associated with a particular chain. Look at ~/.relayer/keys/ibc-0/keyring-test ", + Aliases: []string{"u"}, + Short: "Use a key from the keychain associated with a particular chain. Run 'rly keys list ibc-0' to view available keys", Args: withUsage(cobra.ExactArgs(2)), Example: strings.TrimSpace(fmt.Sprintf(` $ %s keys use ibc-0 key_name`, appName)), From 7c773fbce87593d5d4c80052ee2a4cd14c60c4dc Mon Sep 17 00:00:00 2001 From: Reece Williams <31943163+Reecepbcups@users.noreply.github.com> Date: Mon, 11 Sep 2023 13:43:50 -0500 Subject: [PATCH 43/58] Ability to fetch specific chain paths only (#1291) * feat: allow a relayer to fetch a specific chain only * minor: check specific path pair logic earlier --- cmd/paths.go | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/cmd/paths.go b/cmd/paths.go index 640414fa5..f43cd42f4 100644 --- a/cmd/paths.go +++ b/cmd/paths.go @@ -364,14 +364,25 @@ func pathsFetchCmd(a *appState) *cobra.Command { cmd := &cobra.Command{ Use: "fetch", Aliases: []string{"fch"}, - Short: "Fetches the json files necessary to setup the paths for the configured chains", - Args: withUsage(cobra.NoArgs), + Short: "Fetches the json files necessary to setup the paths for the configured chains. Passing a chain name will only fetch paths for that chain", + Args: withUsage(cobra.RangeArgs(0, 1)), Example: strings.TrimSpace(fmt.Sprintf(` $ %s paths fetch --home %s -$ %s pth fch`, appName, defaultHome, appName)), +$ %s pth fch +$ %s pth fch cosmoshub`, appName, defaultHome, appName, appName)), RunE: func(cmd *cobra.Command, args []string) error { overwrite, _ := cmd.Flags().GetBool(flagOverwriteConfig) + // allow the relayer to only pull paths for a specific chain + chainReq := "" + if len(args) > 0 { + chainReq = args[0] + _, exist := a.config.Chains[chainReq] + if !exist { + return fmt.Errorf("chain %s not found in config", chainReq) + } + } + return a.performConfigLockingOperation(cmd.Context(), func() error { chains := []string{} for chainName := range a.config.Chains { @@ -390,6 +401,11 @@ $ %s pth fch`, appName, defaultHome, appName)), if chainB < chainA { pair = chainB + "-" + chainA } + + if chainReq != "" && !strings.Contains(pair, chainReq) { + continue + } + chainCombinations[pair] = true } } From 0c1441c35ead73609f0d9d7823ce843fda43d8a4 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Wed, 13 Sep 2023 02:16:50 +0800 Subject: [PATCH 44/58] faddat/upgrade go (#1279) * upgrade ci to go 1.21 * upgrade to go1.21 --------- Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> --- .github/workflows/build.yml | 6 ++-- .github/workflows/interchaintest.yml | 30 ++++++++--------- .github/workflows/release.yml | 6 ++-- Dockerfile | 10 +++--- go.mod | 2 +- go.sum | 43 ++++++++++++++++++++++++ go.work | 2 +- interchaintest/go.mod | 2 +- interchaintest/go.sum | 49 ++++++++++++++++++++++++++++ local.Dockerfile | 2 +- 10 files changed, 122 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ea896ce8f..916aea8e4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,10 +12,10 @@ jobs: runs-on: ubuntu-latest steps: # Install and setup go - - name: Set up Go 1.20 + - name: Set up Go 1.21 uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' # setup gopath - name: Set PATH @@ -40,4 +40,4 @@ jobs: uses: actions/upload-artifact@v1 with: name: rly - path: ./build/rly \ No newline at end of file + path: ./build/rly diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index b31ab3c1e..f7f9c4d6a 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -10,10 +10,10 @@ jobs: events: runs-on: self-hosted steps: - - name: Set up Go 1.20 + - name: Set up Go 1.21 uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' - name: checkout relayer uses: actions/checkout@v2 @@ -31,10 +31,10 @@ jobs: legacy: runs-on: self-hosted steps: - - name: Set up Go 1.20 + - name: Set up Go 1.21 uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' - name: checkout relayer uses: actions/checkout@v2 @@ -52,10 +52,10 @@ jobs: multiple-paths: runs-on: ubuntu-latest steps: - - name: Set up Go 1.20 + - name: Set up Go 1.21 uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' - name: checkout relayer uses: actions/checkout@v2 @@ -73,10 +73,10 @@ jobs: misbehaviour: runs-on: ubuntu-latest steps: - - name: Set up Go 1.20 + - name: Set up Go 1.21 uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' - name: checkout relayer uses: actions/checkout@v2 @@ -94,10 +94,10 @@ jobs: fee-middleware: runs-on: ubuntu-latest steps: - - name: Set up Go 1.20 + - name: Set up Go 1.21 uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' - name: checkout relayer uses: actions/checkout@v2 @@ -115,10 +115,10 @@ jobs: fee-grant: runs-on: ubuntu-latest steps: - - name: Set up Go 1.20 + - name: Set up Go 1.21 uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' - name: checkout relayer uses: actions/checkout@v2 @@ -136,10 +136,10 @@ jobs: scenarios: runs-on: ubuntu-latest steps: - - name: Set up Go 1.20 + - name: Set up Go 1.21 uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' - name: checkout relayer uses: actions/checkout@v2 @@ -153,7 +153,7 @@ jobs: - name: interchaintest run: make interchaintest-scenario - + - name: Prune Docker images if: always() #ensure dangling images are pruned after interchain-test scenario passes or fails run: docker image prune -f diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 97ca73ced..e99cc733e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: "Release" +name: 'Release' on: push: @@ -17,9 +17,9 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' - - run: echo https://github.com/cosmos/relayer/blob/${GITHUB_REF#refs/tags/}/CHANGELOG.md#${GITHUB_REF#refs/tags/} > ../release_notes.md + - run: echo https://github.com/cosmos/relayer/blob/${GITHUB_REF#refs/tags/}/CHANGELOG.md#${GITHUB_REF#refs/tags/} > ../release_notes.md - name: setup release environment run: |- diff --git a/Dockerfile b/Dockerfile index caa600cbb..3c4d339b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$BUILDPLATFORM golang:1.20-alpine3.16 AS build-env +FROM --platform=$BUILDPLATFORM golang:1.21-alpine3.17 AS build-env RUN apk add --update --no-cache curl make git libc-dev bash gcc linux-headers eudev-dev @@ -6,17 +6,17 @@ ARG TARGETARCH ARG BUILDARCH RUN if [ "${TARGETARCH}" = "arm64" ] && [ "${BUILDARCH}" != "arm64" ]; then \ - wget -c https://musl.cc/aarch64-linux-musl-cross.tgz -O - | tar -xzvv --strip-components 1 -C /usr; \ + wget -c https://musl.cc/aarch64-linux-musl-cross.tgz -O - | tar -xzvv --strip-components 1 -C /usr; \ elif [ "${TARGETARCH}" = "amd64" ] && [ "${BUILDARCH}" != "amd64" ]; then \ - wget -c https://musl.cc/x86_64-linux-musl-cross.tgz -O - | tar -xzvv --strip-components 1 -C /usr; \ + wget -c https://musl.cc/x86_64-linux-musl-cross.tgz -O - | tar -xzvv --strip-components 1 -C /usr; \ fi ADD . . RUN if [ "${TARGETARCH}" = "arm64" ] && [ "${BUILDARCH}" != "arm64" ]; then \ - export CC=aarch64-linux-musl-gcc CXX=aarch64-linux-musl-g++;\ + export CC=aarch64-linux-musl-gcc CXX=aarch64-linux-musl-g++;\ elif [ "${TARGETARCH}" = "amd64" ] && [ "${BUILDARCH}" != "amd64" ]; then \ - export CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++; \ + export CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++; \ fi; \ GOOS=linux GOARCH=$TARGETARCH CGO_ENABLED=1 LDFLAGS='-linkmode external -extldflags "-static"' make install diff --git a/go.mod b/go.mod index e1d9828f2..da8ff06a6 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/cosmos/relayer/v2 -go 1.20 +go 1.21 require ( cosmossdk.io/api v0.3.1 diff --git a/go.sum b/go.sum index 4ed2f7f64..0eee861d6 100644 --- a/go.sum +++ b/go.sum @@ -209,6 +209,7 @@ github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= @@ -216,16 +217,21 @@ github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1: github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= +github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= +github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -288,6 +294,7 @@ github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -324,6 +331,7 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= +github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/cockroachdb/errors v1.10.0 h1:lfxS8zZz1+OjtV4MtNWgboi/W5tyLEB6VQZBXN+0VUU= github.com/cockroachdb/errors v1.10.0/go.mod h1:lknhIsEVQ9Ss/qKDBQS/UqFSvPQjOwNq2qyKAxtHRqE= @@ -341,6 +349,7 @@ github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3Hf github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -404,7 +413,9 @@ github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUn github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= @@ -433,9 +444,11 @@ github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= @@ -448,7 +461,9 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -465,13 +480,17 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E= +github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= @@ -483,6 +502,7 @@ github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6Wezm github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -568,12 +588,14 @@ github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17 github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -684,6 +706,7 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -703,6 +726,7 @@ github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -719,6 +743,7 @@ github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsternberg/zap-logfmt v1.3.0 h1:z1n1AOHVVydOOVuyphbOKyR4NICDQFiJMn1IK5hVQ5Y= @@ -750,6 +775,7 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= @@ -807,6 +833,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -828,6 +855,7 @@ github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtb github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= @@ -843,10 +871,14 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= +github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -856,6 +888,7 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= +github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= @@ -871,6 +904,7 @@ github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7c github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -914,6 +948,7 @@ github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -942,12 +977,14 @@ github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71e github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -1006,6 +1043,7 @@ github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4= +github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -1017,6 +1055,7 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -1057,6 +1096,7 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= @@ -1420,6 +1460,7 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1670,6 +1711,7 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= @@ -1697,6 +1739,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/go.work b/go.work index b9db675cb..9293d3087 100644 --- a/go.work +++ b/go.work @@ -1,4 +1,4 @@ -go 1.20 +go 1.21 use ( . diff --git a/interchaintest/go.mod b/interchaintest/go.mod index 89c505f98..7952e9d62 100644 --- a/interchaintest/go.mod +++ b/interchaintest/go.mod @@ -1,6 +1,6 @@ module github.com/cosmos/relayer/v2/interchaintest -go 1.20 +go 1.21 require ( cosmossdk.io/simapp v0.0.0-20230224204036-a6adb0821462 diff --git a/interchaintest/go.sum b/interchaintest/go.sum index abdaf4f74..ef668b4a7 100644 --- a/interchaintest/go.sum +++ b/interchaintest/go.sum @@ -211,7 +211,9 @@ github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XBn0= github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8 h1:V8krnnfGj4pV65YLUm3C0/8bl7V5Nry2Pwvy3ru/wLc= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.0 h1:Ws8e5YmnrGEHzZEzg0YvK/7COGYtTC5PbaH9oSSbgfA= github.com/BurntSushi/toml v1.3.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= @@ -231,18 +233,23 @@ github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= github.com/Microsoft/hcsshim v0.9.4 h1:mnUj0ivWy6UzbB1uLFqKR6F+ZyiDc7j4iGgHTpO+5+I= +github.com/Microsoft/hcsshim v0.9.4/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/StirlingMarketingGroup/go-namecase v1.0.0 h1:2CzaNtCzc4iNHirR+5ru9OzGg8rQp860gqLBFqRI02Y= github.com/StirlingMarketingGroup/go-namecase v1.0.0/go.mod h1:ZsoSKcafcAzuBx+sndbxHu/RjDcDTrEdT4UvhniHfio= github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= +github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -298,6 +305,7 @@ github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtyd github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= +github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= @@ -306,6 +314,7 @@ github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= +github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -367,6 +376,7 @@ github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkX github.com/containerd/containerd v1.6.8 h1:h4dOFDwzHmqFEP754PgfgTeVXFnLiRc6kiqC7tplDJs= github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= @@ -476,10 +486,12 @@ github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= @@ -492,7 +504,9 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= +github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -509,13 +523,17 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= +github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= +github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= @@ -528,6 +546,7 @@ github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6Wezm github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -608,12 +627,14 @@ github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17 github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -633,6 +654,7 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= +github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= @@ -725,6 +747,7 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -748,6 +771,7 @@ github.com/ipfs/go-cid v0.2.0/go.mod h1:P+HXFDF4CVhaVayiEb4wkAy7zBHxBwsJyt0Y5U6M github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -764,6 +788,7 @@ github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsternberg/zap-logfmt v1.3.0 h1:z1n1AOHVVydOOVuyphbOKyR4NICDQFiJMn1IK5hVQ5Y= @@ -800,6 +825,7 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= @@ -834,7 +860,9 @@ github.com/mattn/go-pointer v0.0.1/go.mod h1:2zXcozF6qYGgmsG+SeTZz3oAbFLdD3OWqnU github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= +github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -869,13 +897,16 @@ github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdx github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc= github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo= github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI= +github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= @@ -914,6 +945,7 @@ github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtb github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= @@ -929,6 +961,7 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= @@ -947,6 +980,7 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= +github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= @@ -966,6 +1000,7 @@ github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi github.com/pierrec/xxHash v0.1.5 h1:n/jBpwTHiER4xYvK3/CdPVnLDPchj8eTJFFLUb4QHBo= github.com/pierrec/xxHash v0.1.5/go.mod h1:w2waW5Zoa/Wc4Yqe0wgrIYAGKqRMf7czn2HNKXmuL+I= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1009,6 +1044,7 @@ github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -1020,6 +1056,7 @@ github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qq github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= +github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -1042,6 +1079,7 @@ github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZj github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -1115,7 +1153,9 @@ github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoM github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= +github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= +github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip32 v1.0.0 h1:sDR9juArbUgX+bO/iblgZnMPeWY1KZMUC2AFUJdv5KE= @@ -1127,6 +1167,7 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -1168,6 +1209,7 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -1477,6 +1519,7 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1791,6 +1834,7 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= @@ -1820,6 +1864,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1839,7 +1884,9 @@ modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE= modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= @@ -1853,9 +1900,11 @@ modernc.org/sqlite v1.23.0/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY= +modernc.org/tcl v1.15.2/go.mod h1:3+k/ZaEbKrC8ePv8zJWPtBSW0V7Gg9g8rkmhI1Kfs3c= modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg= modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY= +modernc.org/z v1.7.3/go.mod h1:Ipv4tsdxZRbQyLq9Q1M6gdbkxYzdlrciF2Hi/lS7nWE= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= diff --git a/local.Dockerfile b/local.Dockerfile index 42e30e564..6cd45dd2c 100644 --- a/local.Dockerfile +++ b/local.Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.20-alpine3.16 AS build-env +FROM golang:1-alpine3.17 AS build-env RUN apk add --update --no-cache curl make git libc-dev bash gcc linux-headers eudev-dev From 2aa59be4fbe3fcb796b94b60dc8a3e4c487b671c Mon Sep 17 00:00:00 2001 From: vimystic <122659254+vimystic@users.noreply.github.com> Date: Tue, 12 Sep 2023 16:33:40 -0600 Subject: [PATCH 45/58] Split scenarios test (#1294) * Split scenarios test * use matrix * updates * need to cd into dir first * handle deprication * Remove rouge entry into the matrix * Ensure other parallel tests run to completion even if one of them fail * Add explanation * Remove rougue whitespace --- .github/workflows/interchaintest.yml | 30 +++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index f7f9c4d6a..bf5ad7bba 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -133,8 +133,30 @@ jobs: - name: interchaintest run: make interchaintest-fee-grant + prepare-scenario-matrix: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Generate matrix + id: set-matrix + run: | + # Run the command and convert its output to a JSON array + TESTS=$(cd interchaintest && go test -list ^TestScenario | grep -v "^ok " | jq -R -s -c 'split("\n")[:-1]') + echo "matrix=${TESTS}" >> $GITHUB_OUTPUT + + # Note : This job will not start until prepare-scenario-matrix completes sucessfully scenarios: + needs: prepare-scenario-matrix runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + test: ${{fromJson(needs.prepare-scenario-matrix.outputs.matrix)}} + steps: - name: Set up Go 1.21 uses: actions/setup-go@v4 @@ -152,8 +174,6 @@ jobs: ${{ runner.os }}-go- - name: interchaintest - run: make interchaintest-scenario - - - name: Prune Docker images - if: always() #ensure dangling images are pruned after interchain-test scenario passes or fails - run: docker image prune -f + run: | + cd interchaintest + go test -run ${{ matrix.test }} From 4d47b669cfa9832dc4b81523e91a19bbe82aba87 Mon Sep 17 00:00:00 2001 From: vimystic <122659254+vimystic@users.noreply.github.com> Date: Tue, 12 Sep 2023 19:06:54 -0600 Subject: [PATCH 46/58] Add verbosity and timeout for scenarios tests (#1295) --- .github/workflows/interchaintest.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index bf5ad7bba..58aac8a51 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -176,4 +176,5 @@ jobs: - name: interchaintest run: | cd interchaintest - go test -run ${{ matrix.test }} + go test -timeout 30m -race -v -run ${{ matrix.test }} + From 49290ac1cf836898ac33bb3bec1ddbeb3b1b55aa Mon Sep 17 00:00:00 2001 From: vimystic <122659254+vimystic@users.noreply.github.com> Date: Tue, 12 Sep 2023 20:19:09 -0600 Subject: [PATCH 47/58] Add output flag for query sub commands results printed to console. (#1281) * output json for query cmd's balance & clients-expirations * print proper json instead of bytes for headers command * Add output flag . Use legacy,json options * Update according to reviews --- cmd/flags.go | 9 ++++ cmd/query.go | 121 ++++++++++++++++++++++++++++++------------ relayer/query.go | 36 ++++++++++++- relayer/query_test.go | 14 +++++ 4 files changed, 145 insertions(+), 35 deletions(-) diff --git a/cmd/flags.go b/cmd/flags.go index 82bab138a..e5e850b4e 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -54,6 +54,7 @@ const ( flagDstClientID = "dst-client-id" flagSrcConnID = "src-connection-id" flagDstConnID = "dst-connection-id" + flagOutput = "output" ) const ( @@ -381,3 +382,11 @@ func OverwriteConfigFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { } return cmd } + +func addOutputFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { + cmd.Flags().StringP(flagOutput, "o", "legacy", "Specify the console output format. Can be 'legacy' or 'json'.") + if err := v.BindPFlag(flagOutput, cmd.Flags().Lookup(flagOutput)); err != nil { + panic(err) + } + return cmd +} diff --git a/cmd/query.go b/cmd/query.go index 15ccd743a..2f3c2e3e9 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -15,6 +15,11 @@ import ( "github.com/spf13/cobra" ) +const ( + formatJson = "json" + formatLegacy = "legacy" +) + // queryCmd represents the chain command func queryCmd(a *appState) *cobra.Command { cmd := &cobra.Command{ @@ -63,7 +68,7 @@ func feegrantQueryCmd(a *appState) *cobra.Command { cmd.AddCommand( feegrantBasicGrantsCmd(a), ) - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -99,7 +104,7 @@ $ %s q ibc-denoms ibc-0`, return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -127,7 +132,7 @@ $ %s q denom-trace osmosis 9BBA9A1C257E971E38C1422780CE6F0B0686F0A3085E2D61118D9 return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -161,7 +166,7 @@ $ %s q tx ibc-0 A5DF8D272F1C451CFF92BA6C41942C4D29B5CF180279439ED6AB038282F956BE return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -213,7 +218,9 @@ $ %s q txs ibc-0 "message.action=transfer"`, }, } - return paginationFlags(a.viper, cmd, "txs") + cmd = addOutputFlag(a.viper, cmd) + cmd = paginationFlags(a.viper, cmd, "txs") + return cmd } func queryBalanceCmd(a *appState) *cobra.Command { @@ -257,12 +264,34 @@ $ %s query balance ibc-0 testkey`, return err } - fmt.Fprintf(cmd.OutOrStdout(), "address {%s} balance {%s} \n", addr, coins) + // Create a map to hold the data + data := map[string]string{ + "address": addr, + "balance": coins.String(), + } + + // Convert the map to a JSON string + jsonOutput, err := json.Marshal(data) + if err != nil { + return err + } + + output, _ := cmd.Flags().GetString(flagOutput) + switch output { + case formatJson: + fmt.Fprint(cmd.OutOrStdout(), string(jsonOutput)) + case formatLegacy: + fallthrough + default: + fmt.Fprintf(cmd.OutOrStdout(), "address {%s} balance {%s} \n", addr, coins) + } return nil }, } - return ibcDenomFlags(a.viper, cmd) + cmd = addOutputFlag(a.viper, cmd) + cmd = ibcDenomFlags(a.viper, cmd) + return cmd } func queryHeaderCmd(a *appState) *cobra.Command { @@ -309,11 +338,21 @@ $ %s query header ibc-0 1400`, return err } - fmt.Fprintln(cmd.OutOrStdout(), s) + output, _ := cmd.Flags().GetString(flagOutput) + switch output { + case formatJson: + fmt.Fprintln(cmd.OutOrStdout(), string(s)) + case formatLegacy: + fallthrough + default: + fmt.Fprintln(cmd.OutOrStdout(), s) + } + return nil }, } + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -355,7 +394,7 @@ $ %s q node-state ibc-1`, return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -406,8 +445,9 @@ $ %s query client ibc-0 ibczeroclient --height 1205`, return nil }, } - - return heightFlag(a.viper, cmd) + cmd = addOutputFlag(a.viper, cmd) + cmd = heightFlag(a.viper, cmd) + return cmd } func queryClientsCmd(a *appState) *cobra.Command { @@ -451,8 +491,9 @@ $ %s query clients ibc-2 --offset 2 --limit 30`, return nil }, } - - return paginationFlags(a.viper, cmd, "client states") + cmd = addOutputFlag(a.viper, cmd) + cmd = paginationFlags(a.viper, cmd, "client states") + return cmd } func queryConnections(a *appState) *cobra.Command { @@ -498,7 +539,9 @@ $ %s q conns ibc-1`, }, } - return paginationFlags(a.viper, cmd, "connections on a network") + cmd = addOutputFlag(a.viper, cmd) + cmd = paginationFlags(a.viper, cmd, "connections on a network") + return cmd } func queryConnectionsUsingClient(a *appState) *cobra.Command { @@ -551,7 +594,9 @@ $ %s query client-connections ibc-0 ibczeroclient --height 1205`, }, } - return heightFlag(a.viper, cmd) + cmd = addOutputFlag(a.viper, cmd) + cmd = heightFlag(a.viper, cmd) + return cmd } func queryConnection(a *appState) *cobra.Command { @@ -595,7 +640,7 @@ $ %s q conn ibc-1 ibconeconn`, return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -644,7 +689,9 @@ $ %s query connection-channels ibc-2 ibcconnection2 --offset 2 --limit 30`, }, } - return paginationFlags(a.viper, cmd, "channels associated with a connection") + cmd = addOutputFlag(a.viper, cmd) + cmd = paginationFlags(a.viper, cmd, "channels associated with a connection") + return cmd } func queryChannel(a *appState) *cobra.Command { @@ -697,7 +744,9 @@ $ %s query channel ibc-2 ibctwochannel transfer --height 1205`, }, } - return heightFlag(a.viper, cmd) + cmd = addOutputFlag(a.viper, cmd) + cmd = heightFlag(a.viper, cmd) + return cmd } // chanExtendedInfo is an intermediate type for holding additional useful @@ -917,7 +966,9 @@ $ %s query channels ibc-0 ibc-2`, }, } - return paginationFlags(a.viper, cmd, "channels on a network") + cmd = addOutputFlag(a.viper, cmd) + cmd = paginationFlags(a.viper, cmd, "channels on a network") + return cmd } func queryPacketCommitment(a *appState) *cobra.Command { @@ -959,7 +1010,7 @@ $ %s q packet-commit ibc-1 ibconechannel transfer 31`, return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -1012,7 +1063,7 @@ $ %s query unrelayed-pkts demo-path channel-0`, return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -1064,7 +1115,7 @@ $ %s query unrelayed-acks demo-path channel-0`, return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } @@ -1105,24 +1156,26 @@ $ %s query clients-expiration demo-path`, return errDst } - // if only the src light client is found, just print info for source light client - if errSrc == nil && errDst != nil { - fmt.Fprintln(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[src], srcExpiration, srcClientInfo)) - return nil - } + output, _ := cmd.Flags().GetString(flagOutput) - // if only the dst light client is found, just print info for destination light client - if errDst == nil && errSrc != nil { - fmt.Fprintln(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[dst], dstExpiration, dstClientInfo)) - return nil + srcClientExpiration := relayer.SPrintClientExpiration(c[src], srcExpiration, srcClientInfo) + dstClientExpiration := relayer.SPrintClientExpiration(c[dst], dstExpiration, dstClientInfo) + + if output == formatJson { + srcClientExpiration = relayer.SPrintClientExpirationJson(c[src], srcExpiration, srcClientInfo) + dstClientExpiration = relayer.SPrintClientExpirationJson(c[dst], dstExpiration, dstClientInfo) } - fmt.Fprintln(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[src], srcExpiration, srcClientInfo)) - fmt.Fprintln(cmd.OutOrStdout(), relayer.SPrintClientExpiration(c[dst], dstExpiration, dstClientInfo)) + if errSrc == nil { + fmt.Fprintln(cmd.OutOrStdout(), srcClientExpiration) + } + if errDst == nil { + fmt.Fprintln(cmd.OutOrStdout(), dstClientExpiration) + } return nil }, } - + cmd = addOutputFlag(a.viper, cmd) return cmd } diff --git a/relayer/query.go b/relayer/query.go index 08b2ec1b0..fa59dba14 100644 --- a/relayer/query.go +++ b/relayer/query.go @@ -2,7 +2,9 @@ package relayer import ( "context" + "encoding/json" "fmt" + "strconv" "strings" "time" @@ -308,7 +310,7 @@ func SPrintClientExpiration(chain *Chain, expiration time.Time, clientInfo Clien status = "GOOD" } - return fmt.Sprintf(` + legacyOutput := fmt.Sprintf(` client: %s (%s) HEALTH: %s TIME: %s (%s) @@ -316,4 +318,36 @@ func SPrintClientExpiration(chain *Chain, expiration time.Time, clientInfo Clien TRUSTING PERIOD: %s `, chain.ClientID(), chain.ChainID(), status, expirationFormatted, remainingTime.Round(time.Second), clientInfo.LatestHeight.GetRevisionHeight(), clientInfo.TrustingPeriod.String()) + + return legacyOutput + +} + +// Returns clientExpiration data in JSON format. +func SPrintClientExpirationJson(chain *Chain, expiration time.Time, clientInfo ClientStateInfo) string { + now := time.Now() + remainingTime := expiration.Sub(now) + expirationFormatted := expiration.Format(time.RFC822) + + var status string + if remainingTime <= 0 { + status = "EXPIRED" + } else { + status = "GOOD" + } + + data := map[string]string{ + "client": fmt.Sprintf("%s (%s)", chain.ClientID(), chain.ChainID()), + "HEALTH": status, + "TIME": fmt.Sprintf("%s (%s)", expirationFormatted, remainingTime.Round(time.Second)), + "LAST UPDATE HEIGHT": strconv.FormatUint(clientInfo.LatestHeight.GetRevisionHeight(), 10), + "TRUSTING PERIOD": clientInfo.TrustingPeriod.String(), + } + + jsonOutput, err := json.Marshal(data) + if err != nil { + jsonOutput = []byte{} + } + + return string(jsonOutput) } diff --git a/relayer/query_test.go b/relayer/query_test.go index 39dc837b7..ea7e4b71d 100644 --- a/relayer/query_test.go +++ b/relayer/query_test.go @@ -31,8 +31,10 @@ func TestSPrintClientExpiration_PrintClientId(t *testing.T) { chain := mockChain("test-chain-id", "expected-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) + expirationJson := SPrintClientExpirationJson(chain, previousTime, *clientStateInfo) require.Contains(t, expiration, "expected-client-id") + require.Contains(t, expirationJson, "expected-client-id") } func TestSPrintClientExpiration_PrintExpired_WhenTimeIsInPast(t *testing.T) { @@ -43,8 +45,10 @@ func TestSPrintClientExpiration_PrintExpired_WhenTimeIsInPast(t *testing.T) { chain := mockChain("test-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) + expirationJson := SPrintClientExpirationJson(chain, previousTime, *clientStateInfo) require.Contains(t, expiration, "EXPIRED") + require.Contains(t, expirationJson, "EXPIRED") } func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInPast(t *testing.T) { @@ -55,8 +59,10 @@ func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInPast(t *tes chain := mockChain("expected-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) expiration := SPrintClientExpiration(chain, pastTime, *clientStateInfo) + expirationJson := SPrintClientExpirationJson(chain, pastTime, *clientStateInfo) require.Contains(t, expiration, pastTime.Format(time.RFC822)) + require.Contains(t, expirationJson, pastTime.Format(time.RFC822)) } func TestSPrintClientExpiration_PrintGood_WhenTimeIsInFuture(t *testing.T) { @@ -67,8 +73,10 @@ func TestSPrintClientExpiration_PrintGood_WhenTimeIsInFuture(t *testing.T) { chain := mockChain("test-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) + expirationJson := SPrintClientExpirationJson(chain, previousTime, *clientStateInfo) require.Contains(t, expiration, "GOOD") + require.Contains(t, expirationJson, "GOOD") } func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInFuture(t *testing.T) { @@ -79,8 +87,10 @@ func TestSPrintClientExpiration_PrintRFC822FormattedTime_WhenTimeIsInFuture(t *t chain := mockChain("test-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) expiration := SPrintClientExpiration(chain, futureTime, *clientStateInfo) + expirationJson := SPrintClientExpirationJson(chain, futureTime, *clientStateInfo) require.Contains(t, expiration, futureTime.Format(time.RFC822)) + require.Contains(t, expirationJson, futureTime.Format(time.RFC822)) } func TestSPrintClientExpiration_PrintRemainingTime_WhenTimeIsInFuture(t *testing.T) { @@ -91,8 +101,10 @@ func TestSPrintClientExpiration_PrintRemainingTime_WhenTimeIsInFuture(t *testing chain := mockChain("test-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) expiration := SPrintClientExpiration(chain, futureTime, *clientStateInfo) + expirationJson := SPrintClientExpirationJson(chain, futureTime, *clientStateInfo) require.Contains(t, expiration, "10h0m0s") + require.Contains(t, expirationJson, "10h0m0s") } func TestSPrintClientExpiration_TrustingPeriod(t *testing.T) { @@ -103,8 +115,10 @@ func TestSPrintClientExpiration_TrustingPeriod(t *testing.T) { chain := mockChain("expected-chain-id", "test-client-id") clientStateInfo := mockClientStateInfo("test-chain-id", trustingPeriod, mockHeight) expiration := SPrintClientExpiration(chain, previousTime, *clientStateInfo) + expirationJson := SPrintClientExpirationJson(chain, previousTime, *clientStateInfo) require.Contains(t, expiration, "1h0m0s") + require.Contains(t, expirationJson, "1h0m0s") } func TestSPrintClientExpiration_LastUpdateHeight(t *testing.T) { From cf88c213a58fa30279829114353f9ed9311c90f2 Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Wed, 13 Sep 2023 09:52:07 -0700 Subject: [PATCH 48/58] Add ability to fetch testnet chains and paths + force-add ability (#1285) * add testnet and force-add * update cmd examples * improve usage description --- cmd/chains.go | 12 ++++----- cmd/errors.go | 3 ++- cmd/flags.go | 38 +++++++++++++++++++++++++++-- cmd/paths.go | 19 +++++++++++---- cregistry/chain_info.go | 24 ++++++++++++------ cregistry/chain_registry.go | 2 +- cregistry/cosmos_github_registry.go | 9 +++++-- 7 files changed, 83 insertions(+), 24 deletions(-) diff --git a/cmd/chains.go b/cmd/chains.go index 7e471ae00..aa66ed235 100644 --- a/cmd/chains.go +++ b/cmd/chains.go @@ -291,12 +291,12 @@ func chainsAddCmd(a *appState) *cobra.Command { " the chain-registry or passing a file (-f) or url (-u)", Args: withUsage(cobra.MinimumNArgs(0)), Example: fmt.Sprintf(` $ %s chains add cosmoshub - $ %s chains add testnets/cosmoshubtestnet $ %s chains add cosmoshub osmosis + $ %s chains add cosmoshubtestnet --testnet $ %s chains add --file chains/ibc0.json ibc0 $ %s chains add --url https://relayer.com/ibc0.json ibc0`, appName, appName, appName, appName, appName), RunE: func(cmd *cobra.Command, args []string) error { - file, url, err := getAddInputs(cmd) + file, url, forceAdd, testnet, err := getAddInputs(cmd) if err != nil { return err } @@ -330,7 +330,7 @@ func chainsAddCmd(a *appState) *cobra.Command { return err } default: - if err := addChainsFromRegistry(cmd.Context(), a, args); err != nil { + if err := addChainsFromRegistry(cmd.Context(), a, forceAdd, testnet, args); err != nil { return err } } @@ -435,7 +435,7 @@ func addChainFromURL(a *appState, chainName string, rawurl string) error { return nil } -func addChainsFromRegistry(ctx context.Context, a *appState, chains []string) error { +func addChainsFromRegistry(ctx context.Context, a *appState, forceAdd, testnet bool, chains []string) error { chainRegistry := cregistry.DefaultChainRegistry(a.log) var existed, failed, added []string @@ -451,7 +451,7 @@ func addChainsFromRegistry(ctx context.Context, a *appState, chains []string) er continue } - chainInfo, err := chainRegistry.GetChain(ctx, chain) + chainInfo, err := chainRegistry.GetChain(ctx, testnet, chain) if err != nil { a.log.Warn( "Error retrieving chain", @@ -462,7 +462,7 @@ func addChainsFromRegistry(ctx context.Context, a *appState, chains []string) er continue } - chainConfig, err := chainInfo.GetChainConfig(ctx, chain) + chainConfig, err := chainInfo.GetChainConfig(ctx, forceAdd, testnet, chain) if err != nil { a.log.Warn( "Error generating chain config", diff --git a/cmd/errors.go b/cmd/errors.go index 31f5ee086..d7a94dee8 100644 --- a/cmd/errors.go +++ b/cmd/errors.go @@ -18,5 +18,6 @@ func errChainNotFound(chainName string) error { } var ( - errMultipleAddFlags = errors.New("expected either --file/-f OR --url/u, found multiple") + errMultipleAddFlags = errors.New("expected either --file/-f OR --url/u, found multiple") + errInvalidTestnetFlag = errors.New("cannot use --testnet with --file/-f OR --url/u, must be used alone") ) diff --git a/cmd/flags.go b/cmd/flags.go index e5e850b4e..8d605319b 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -18,7 +18,9 @@ const ( flagJSON = "json" flagYAML = "yaml" flagFile = "file" + flagForceAdd = "force-add" flagPath = "path" + flagTestnet = "testnet" flagMaxTxSize = "max-tx-size" flagMaxMsgLength = "max-msgs" flagIBCDenoms = "ibc-denoms" @@ -125,6 +127,8 @@ func skipConfirm(v *viper.Viper, cmd *cobra.Command) *cobra.Command { func chainsAddFlags(v *viper.Viper, cmd *cobra.Command) *cobra.Command { fileFlag(v, cmd) urlFlag(v, cmd) + forceAddFlag(v, cmd) + testnetFlag(v, cmd) return cmd } @@ -164,6 +168,22 @@ func fileFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { return cmd } +func testnetFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { + cmd.Flags().Bool(flagTestnet, false, "fetches testnet data from the chain registry") + if err := v.BindPFlag(flagTestnet, cmd.Flags().Lookup(flagTestnet)); err != nil { + panic(err) + } + return cmd +} + +func forceAddFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { + cmd.Flags().Bool(flagForceAdd, false, "adds chain data even if there are no working RPC's in the chain registry") + if err := v.BindPFlag(flagForceAdd, cmd.Flags().Lookup(flagForceAdd)); err != nil { + panic(err) + } + return cmd +} + func pathFilterFlags(v *viper.Viper, cmd *cobra.Command) *cobra.Command { flags := cmd.Flags() flags.String(flagFilterRule, blankValue, `filter rule ("allowlist", "denylist", or "" for no filtering)`) @@ -238,7 +258,7 @@ func strategyFlag(v *viper.Viper, cmd *cobra.Command) *cobra.Command { return cmd } -func getAddInputs(cmd *cobra.Command) (file string, url string, err error) { +func getAddInputs(cmd *cobra.Command) (file string, url string, forceAdd bool, testNet bool, err error) { file, err = cmd.Flags().GetString(flagFile) if err != nil { return @@ -249,8 +269,22 @@ func getAddInputs(cmd *cobra.Command) (file string, url string, err error) { return } + forceAdd, err = cmd.Flags().GetBool(flagForceAdd) + if err != nil { + return + } + + testNet, err = cmd.Flags().GetBool(flagTestnet) + if err != nil { + return + } + if file != "" && url != "" { - return "", "", errMultipleAddFlags + return "", "", false, false, errMultipleAddFlags + } + + if file != "" && testNet || url != "" && testNet { + return "", "", false, false, errInvalidTestnetFlag } return diff --git a/cmd/paths.go b/cmd/paths.go index f43cd42f4..b5583fb69 100644 --- a/cmd/paths.go +++ b/cmd/paths.go @@ -368,10 +368,11 @@ func pathsFetchCmd(a *appState) *cobra.Command { Args: withUsage(cobra.RangeArgs(0, 1)), Example: strings.TrimSpace(fmt.Sprintf(` $ %s paths fetch --home %s -$ %s pth fch -$ %s pth fch cosmoshub`, appName, defaultHome, appName, appName)), +$ %s paths fetch --testnet +$ %s pth fch`, appName, defaultHome, appName, appName)), RunE: func(cmd *cobra.Command, args []string) error { overwrite, _ := cmd.Flags().GetBool(flagOverwriteConfig) + testnet, _ := cmd.Flags().GetBool(flagTestnet) // allow the relayer to only pull paths for a specific chain chainReq := "" @@ -418,9 +419,15 @@ $ %s pth fch cosmoshub`, appName, defaultHome, appName, appName)), continue } - // TODO: Don't use github api. Potentially use: https://github.com/eco-stake/cosmos-directory once they integrate IBC data into restAPI. This will avoid rate limits. + // TODO: Don't use github api. Potentially use http.get like GetChain() does to avoid rate limits fileName := pthName + ".json" - regPath := path.Join("_IBC", fileName) + var regPath string + if testnet { + regPath = path.Join("testnets", "_IBC", fileName) + } else { + regPath = path.Join("_IBC", fileName) + + } client, _, err := client.Repositories.DownloadContents(cmd.Context(), "cosmos", "chain-registry", regPath, nil) if err != nil { if errors.As(err, new(*github.RateLimitError)) { @@ -471,5 +478,7 @@ $ %s pth fch cosmoshub`, appName, defaultHome, appName, appName)), }) }, } - return OverwriteConfigFlag(a.viper, cmd) + OverwriteConfigFlag(a.viper, cmd) + testnetFlag(a.viper, cmd) + return cmd } diff --git a/cregistry/chain_info.go b/cregistry/chain_info.go index 7309296e2..0bb66e3d3 100644 --- a/cregistry/chain_info.go +++ b/cregistry/chain_info.go @@ -186,14 +186,18 @@ func (c ChainInfo) GetRPCEndpoints(ctx context.Context) (out []string, err error } // GetRandomRPCEndpoint returns a string representing a random RPC endpoint from the cosmos chain registry for this chain. -func (c ChainInfo) GetRandomRPCEndpoint(ctx context.Context) (string, error) { +func (c ChainInfo) GetRandomRPCEndpoint(ctx context.Context, forceAdd bool) (string, error) { rpcs, err := c.GetRPCEndpoints(ctx) if err != nil { return "", err } if len(rpcs) == 0 { - return "", fmt.Errorf("no working RPCs found") + if !forceAdd { + return "", fmt.Errorf("no working RPCs found, consider using --force-add") + } else { + return "", nil + } } randomGenerator := rand.New(rand.NewSource(time.Now().UnixNano())) @@ -206,9 +210,15 @@ func (c ChainInfo) GetRandomRPCEndpoint(ctx context.Context) (string, error) { } // GetAssetList returns the asset metadata from the cosmos chain registry for this particular chain. -func (c ChainInfo) GetAssetList(ctx context.Context, name string) (AssetList, error) { - chainRegURL := fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/assetlist.json", name) +func (c ChainInfo) GetAssetList(ctx context.Context, testnet bool, name string) (AssetList, error) { + var chainRegURL string + if testnet { + chainRegURL = fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/%s/assetlist.json", name) + } else { + chainRegURL = fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/assetlist.json", name) + + } res, err := http.Get(chainRegURL) if err != nil { return AssetList{}, err @@ -236,11 +246,11 @@ func (c ChainInfo) GetAssetList(ctx context.Context, name string) (AssetList, er // GetChainConfig returns a CosmosProviderConfig composed from the details found in the cosmos chain registry for // this particular chain. -func (c ChainInfo) GetChainConfig(ctx context.Context, name string) (*cosmos.CosmosProviderConfig, error) { +func (c ChainInfo) GetChainConfig(ctx context.Context, forceAdd, testnet bool, name string) (*cosmos.CosmosProviderConfig, error) { debug := viper.GetBool("debug") home := viper.GetString("home") - assetList, err := c.GetAssetList(ctx, name) + assetList, err := c.GetAssetList(ctx, testnet, name) if err != nil { return nil, err } @@ -250,7 +260,7 @@ func (c ChainInfo) GetChainConfig(ctx context.Context, name string) (*cosmos.Cos gasPrices = fmt.Sprintf("%.2f%s", 0.01, assetList.Assets[0].Base) } - rpc, err := c.GetRandomRPCEndpoint(ctx) + rpc, err := c.GetRandomRPCEndpoint(ctx, forceAdd) if err != nil { return nil, err } diff --git a/cregistry/chain_registry.go b/cregistry/chain_registry.go index e087a9354..63fe95882 100644 --- a/cregistry/chain_registry.go +++ b/cregistry/chain_registry.go @@ -8,7 +8,7 @@ import ( // ChainRegistry is a slim interface that can be implemented to interact with a repository of chain info/metadata. type ChainRegistry interface { - GetChain(ctx context.Context, name string) (ChainInfo, error) + GetChain(ctx context.Context, testnet bool, name string) (ChainInfo, error) ListChains(ctx context.Context) ([]string, error) SourceLink() string } diff --git a/cregistry/cosmos_github_registry.go b/cregistry/cosmos_github_registry.go index 8970b90ff..7f99ac396 100644 --- a/cregistry/cosmos_github_registry.go +++ b/cregistry/cosmos_github_registry.go @@ -52,8 +52,13 @@ func (c CosmosGithubRegistry) ListChains(ctx context.Context) ([]string, error) } // GetChain attempts to fetch ChainInfo for the specified chain name from the cosmos chain registry. -func (c CosmosGithubRegistry) GetChain(ctx context.Context, name string) (ChainInfo, error) { - chainRegURL := fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/chain.json", name) +func (c CosmosGithubRegistry) GetChain(ctx context.Context, testnet bool, name string) (ChainInfo, error) { + var chainRegURL string + if testnet { + chainRegURL = fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/testnets/%s/chain.json", name) + } else { + chainRegURL = fmt.Sprintf("https://raw.githubusercontent.com/cosmos/chain-registry/master/%s/chain.json", name) + } res, err := http.Get(chainRegURL) if err != nil { From 2aca133d9e81ad048a486700acc16cc4247c75a4 Mon Sep 17 00:00:00 2001 From: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Date: Wed, 13 Sep 2023 12:15:07 -0700 Subject: [PATCH 49/58] update interchaintest workflow (#1298) --- .github/workflows/interchaintest.yml | 61 ++++++++++++++++------------ 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index 58aac8a51..158329a66 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -2,9 +2,6 @@ name: TESTING - interchaintest on: pull_request: - push: - branches: - - master jobs: events: @@ -16,11 +13,13 @@ jobs: go-version: '1.21' - name: checkout relayer - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - uses: actions/cache@v1 + - uses: actions/cache@v3 with: - path: ~/go/pkg/mod + path: | + ~/.cache/go-build + ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- @@ -37,11 +36,13 @@ jobs: go-version: '1.21' - name: checkout relayer - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - uses: actions/cache@v1 + - uses: actions/cache@v3 with: - path: ~/go/pkg/mod + path: | + ~/.cache/go-build + ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- @@ -58,11 +59,13 @@ jobs: go-version: '1.21' - name: checkout relayer - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - uses: actions/cache@v1 + - uses: actions/cache@v3 with: - path: ~/go/pkg/mod + path: | + ~/.cache/go-build + ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- @@ -79,11 +82,13 @@ jobs: go-version: '1.21' - name: checkout relayer - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - uses: actions/cache@v1 + - uses: actions/cache@v3 with: - path: ~/go/pkg/mod + path: | + ~/.cache/go-build + ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- @@ -100,11 +105,13 @@ jobs: go-version: '1.21' - name: checkout relayer - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - uses: actions/cache@v1 + - uses: actions/cache@v3 with: - path: ~/go/pkg/mod + path: | + ~/.cache/go-build + ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- @@ -121,11 +128,13 @@ jobs: go-version: '1.21' - name: checkout relayer - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - uses: actions/cache@v1 + - uses: actions/cache@v3 with: - path: ~/go/pkg/mod + path: | + ~/.cache/go-build + ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- @@ -139,7 +148,7 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Generate matrix id: set-matrix @@ -164,11 +173,13 @@ jobs: go-version: '1.21' - name: checkout relayer - uses: actions/checkout@v2 + uses: actions/checkout@v4 - - uses: actions/cache@v1 + - uses: actions/cache@v3 with: - path: ~/go/pkg/mod + path: | + ~/.cache/go-build + ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- From 259b1278264180a2aefc2085f1b55753849c4815 Mon Sep 17 00:00:00 2001 From: vimystic <122659254+vimystic@users.noreply.github.com> Date: Wed, 13 Sep 2023 13:38:36 -0600 Subject: [PATCH 50/58] Query param prop directly (#1264) * Query param prop directly * Flip order of queries for QueryUnbondingPeriod * Add fallback for chains using cosmos-sdk 47+ * Trusting period logic remains same * Add Fallback * Consolidate functions into a single queryParamsSubspaceTime --- .../tendermint_v0.37_boundary_test.go | 1 + relayer/chains/cosmos/provider.go | 14 +---- relayer/chains/cosmos/query.go | 51 +++++++++++-------- 3 files changed, 32 insertions(+), 34 deletions(-) diff --git a/interchaintest/tendermint_v0.37_boundary_test.go b/interchaintest/tendermint_v0.37_boundary_test.go index 04a7a8c47..e25790176 100644 --- a/interchaintest/tendermint_v0.37_boundary_test.go +++ b/interchaintest/tendermint_v0.37_boundary_test.go @@ -54,6 +54,7 @@ func TestScenarioTendermint37Boundary(t *testing.T) { rf := relayerinterchaintest.NewRelayerFactory(relayerinterchaintest.RelayerConfig{ InitialBlockHistory: 50, }) + r := rf.Build(t, client, network) t.Parallel() diff --git a/relayer/chains/cosmos/provider.go b/relayer/chains/cosmos/provider.go index c33743faf..3c7ff47fc 100644 --- a/relayer/chains/cosmos/provider.go +++ b/relayer/chains/cosmos/provider.go @@ -226,21 +226,11 @@ func (cc *CosmosProvider) AccountFromKeyOrAddress(keyOrAddress string) (out sdk. } func (cc *CosmosProvider) TrustingPeriod(ctx context.Context) (time.Duration, error) { - res, err := cc.QueryStakingParams(ctx) - var unbondingTime time.Duration + unbondingTime, err := cc.QueryUnbondingPeriod(ctx) if err != nil { - // Attempt ICS query - consumerUnbondingPeriod, consumerErr := cc.queryConsumerUnbondingPeriod(ctx) - if consumerErr != nil { - return 0, - fmt.Errorf("failed to query unbonding period as both standard and consumer chain: %s: %w", err.Error(), consumerErr) - } - unbondingTime = consumerUnbondingPeriod - } else { - unbondingTime = res.UnbondingTime + return 0, err } - // We want the trusting period to be 85% of the unbonding time. // Go mentions that the time.Duration type can track approximately 290 years. // We don't want to lose precision if the duration is a very long duration diff --git a/relayer/chains/cosmos/query.go b/relayer/chains/cosmos/query.go index dfc040214..d41f25bdc 100644 --- a/relayer/chains/cosmos/query.go +++ b/relayer/chains/cosmos/query.go @@ -18,7 +18,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" grpctypes "github.com/cosmos/cosmos-sdk/types/grpc" - "github.com/cosmos/cosmos-sdk/types/query" querytypes "github.com/cosmos/cosmos-sdk/types/query" bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/cosmos/cosmos-sdk/x/feegrant" @@ -189,7 +188,7 @@ func parseEventsFromResponseDeliverTx(resp abci.ResponseDeliverTx) []provider.Re // QueryFeegrantsByGrantee returns all requested grants for the given grantee. // Default behavior will return all grants. -func (cc *CosmosProvider) QueryFeegrantsByGrantee(address string, paginator *query.PageRequest) ([]*feegrant.Grant, error) { +func (cc *CosmosProvider) QueryFeegrantsByGrantee(address string, paginator *querytypes.PageRequest) ([]*feegrant.Grant, error) { grants := []*feegrant.Grant{} allPages := paginator == nil @@ -228,7 +227,7 @@ func (cc *CosmosProvider) QueryFeegrantsByGrantee(address string, paginator *que // Feegrant_GrantsByGranterRPC returns all requested grants for the given Granter. // Default behavior will return all grants. -func (cc *CosmosProvider) QueryFeegrantsByGranter(address string, paginator *query.PageRequest) ([]*feegrant.Grant, error) { +func (cc *CosmosProvider) QueryFeegrantsByGranter(address string, paginator *querytypes.PageRequest) ([]*feegrant.Grant, error) { grants := []*feegrant.Grant{} allPages := paginator == nil @@ -311,47 +310,55 @@ func (cc *CosmosProvider) QueryBalanceWithAddress(ctx context.Context, address s return coins, nil } -func (cc *CosmosProvider) queryConsumerUnbondingPeriod(ctx context.Context) (time.Duration, error) { +func (cc *CosmosProvider) queryParamsSubspaceTime(ctx context.Context, subspace string, key string) (time.Duration, error) { queryClient := proposal.NewQueryClient(cc) - params := proposal.QueryParamsRequest{Subspace: "ccvconsumer", Key: "UnbondingPeriod"} + params := proposal.QueryParamsRequest{Subspace: subspace, Key: key} - resICS, err := queryClient.Params(ctx, ¶ms) + res, err := queryClient.Params(ctx, ¶ms) if err != nil { - return 0, fmt.Errorf("failed to make ccvconsumer params request: %w", err) + return 0, fmt.Errorf("failed to make %s params request: %w", subspace, err) } - if resICS.Param.Value == "" { - return 0, fmt.Errorf("ccvconsumer unbonding period is empty") + if res.Param.Value == "" { + return 0, fmt.Errorf("%s %s is empty", subspace, key) } - unbondingPeriod, err := strconv.ParseUint(strings.ReplaceAll(resICS.Param.Value, `"`, ""), 10, 64) + unbondingValue, err := strconv.ParseUint(strings.ReplaceAll(res.Param.Value, `"`, ""), 10, 64) if err != nil { - return 0, fmt.Errorf("failed to parse unbonding period from ccvconsumer param: %w", err) + return 0, fmt.Errorf("failed to parse %s from %s param: %w", key, subspace, err) } - return time.Duration(unbondingPeriod), nil + return time.Duration(unbondingValue), nil } // QueryUnbondingPeriod returns the unbonding period of the chain func (cc *CosmosProvider) QueryUnbondingPeriod(ctx context.Context) (time.Duration, error) { + + // Attempt ICS query + consumerUnbondingPeriod, consumerErr := cc.queryParamsSubspaceTime(ctx, "ccvconsumer", "UnbondingPeriod") + if consumerErr == nil { + return consumerUnbondingPeriod, nil + } + + //Attempt Staking query. + unbondingPeriod, stakingParamsErr := cc.queryParamsSubspaceTime(ctx, "staking", "UnbondingTime") + if stakingParamsErr == nil { + return unbondingPeriod, nil + } + + // Fallback req := stakingtypes.QueryParamsRequest{} queryClient := stakingtypes.NewQueryClient(cc) - res, err := queryClient.Params(ctx, &req) - if err != nil { - // Attempt ICS query - consumerUnbondingPeriod, consumerErr := cc.queryConsumerUnbondingPeriod(ctx) - if consumerErr != nil { - return 0, - fmt.Errorf("failed to query unbonding period as both standard and consumer chain: %s: %w", err.Error(), consumerErr) - } + if err == nil { + return res.Params.UnbondingTime, nil - return consumerUnbondingPeriod, nil } - return res.Params.UnbondingTime, nil + return 0, + fmt.Errorf("failed to query unbonding period from ccvconsumer, staking & fallback : %w: %s : %s", consumerErr, stakingParamsErr.Error(), err.Error()) } // QueryTendermintProof performs an ABCI query with the given key and returns From ce11f24182d18a36d8911180b1a4a89429adc96d Mon Sep 17 00:00:00 2001 From: Konstantin Munichev Date: Wed, 14 Jun 2023 18:56:42 +0200 Subject: [PATCH 51/58] Saga IBC transfers between SPC and chainlet --- rly/mnemo.file | 1 + rly/sevm_111-1.json | 24 ++++++++++++++++++++++++ rly/sevm_111-2.json | 24 ++++++++++++++++++++++++ rly/start-rly.sh | 38 ++++++++++++++++++++++++++++++++++++++ saga.Dockerfile | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 119 insertions(+) create mode 100644 rly/mnemo.file create mode 100644 rly/sevm_111-1.json create mode 100644 rly/sevm_111-2.json create mode 100755 rly/start-rly.sh create mode 100644 saga.Dockerfile diff --git a/rly/mnemo.file b/rly/mnemo.file new file mode 100644 index 000000000..9b001b3cd --- /dev/null +++ b/rly/mnemo.file @@ -0,0 +1 @@ +solution grocery miracle sugar ankle honey kit prison build horror fiscal core twelve neither raise situate item float erode expire result snake cave review \ No newline at end of file diff --git a/rly/sevm_111-1.json b/rly/sevm_111-1.json new file mode 100644 index 000000000..ea7026385 --- /dev/null +++ b/rly/sevm_111-1.json @@ -0,0 +1,24 @@ +{ + "type": "cosmos", + "value": { + "key_algos": [ + "ethsecp256k1" + ], + "extra_codecs": [ + "ethermint" + ], + "slip44": 60, + "key": "key1", + "chain-id": "sevm_111-1", + "rpc-addr": "http://192.167.10.6:26657", + "account-prefix": "saga", + "keyring-backend": "test", + "gas-adjustment": 1.2, + "gas-prices": "1asaga", + "min-gas-amount": 1, + "debug": true, + "timeout": "20s", + "output-format": "json", + "sign-mode": "direct" + } + } \ No newline at end of file diff --git a/rly/sevm_111-2.json b/rly/sevm_111-2.json new file mode 100644 index 000000000..f5646c2e3 --- /dev/null +++ b/rly/sevm_111-2.json @@ -0,0 +1,24 @@ +{ + "type": "cosmos", + "value": { + "key_algos": [ + "ethsecp256k1" + ], + "extra_codecs": [ + "ethermint" + ], + "slip44": 60, + "key": "key2", + "chain-id": "sevm_111-2", + "rpc-addr": "http://192.167.10.7:26657", + "account-prefix": "saga", + "keyring-backend": "test", + "gas-adjustment": 1.2, + "gas-prices": "1asaga", + "min-gas-amount": 1, + "debug": true, + "timeout": "20s", + "output-format": "json", + "sign-mode": "direct" + } + } \ No newline at end of file diff --git a/rly/start-rly.sh b/rly/start-rly.sh new file mode 100755 index 000000000..1ff31e8e6 --- /dev/null +++ b/rly/start-rly.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +rly config init + +echo $RELAYER_SAGAEVM_MNEMONIC > mnemo.file.sevm +echo $RELAYER_SPC_MNEMONIC > mnemo.file.spc + +mv /root/tmp/sevm_111-1.json /root/tmp/$CHAINLET_CHAIN_ID.json +mv /root/tmp/sevm_111-2.json /root/tmp/$SPC_CHAINID.json + +cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."chain-id"="'$CHAINLET_CHAIN_ID'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json +cat /root/tmp/$SPC_CHAINID.json | jq '.value."chain-id"="'$SPC_CHAINID'"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json + +# TODO: hardcoded port; http +cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."rpc-addr"="'http://$CHAINLET_RPC_ADDRESS'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json +cat /root/tmp/$SPC_CHAINID.json | jq '.value."rpc-addr"="'http://$SPC_EXTERNAL_ADDRESS_HOST:26657'"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json + +cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json +cat /root/tmp/$SPC_CHAINID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json + +cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."gas-prices"="'1$CHAINLET_DENOM'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json +cat /root/tmp/$SPC_CHAINID.json | jq '.value."gas-prices"="'1$SPC_DENOM'"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json + +cp /root/tmp/$CHAINLET_CHAIN_ID.json /root/.relayer/config/ +cp /root/tmp/$SPC_CHAINID.json /root/.relayer/config/ + +rly chains add $CHAINLET_CHAIN_ID --file /root/.relayer/config/$CHAINLET_CHAIN_ID.json +rly chains add $SPC_CHAINID --file /root/.relayer/config/$SPC_CHAINID.json + +yq -i '.chains."'$CHAINLET_CHAIN_ID'".value.extra-codecs |= ["ethermint"]' /root/.relayer/config/config.yaml + +rly keys restore $CHAINLET_CHAIN_ID key1 "$(cat /root/mnemo.file.sevm)" --coin-type=60 +rly keys restore $SPC_CHAINID key2 "$(cat /root/mnemo.file.spc)" + +rly paths new $CHAINLET_CHAIN_ID $SPC_CHAINID dp +rly transact link dp + +rly start dp diff --git a/saga.Dockerfile b/saga.Dockerfile new file mode 100644 index 000000000..522ed5862 --- /dev/null +++ b/saga.Dockerfile @@ -0,0 +1,32 @@ +FROM golang:1.20.4-bullseye AS build-env + +WORKDIR /root + +RUN apt-get update -y +RUN apt-get install git jq wget -y + +COPY . . + +# RUN git clone https://github.com/cosmos/relayer.git && cd relayer && git checkout v2.3.1 && make build + +RUN make build + +FROM golang:1.20.4-bullseye +RUN apt-get update -y +RUN apt-get install ca-certificates jq wget -y +RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 && chmod a+x /usr/local/bin/yq + +WORKDIR /root + +COPY --from=build-env /root/build/rly /usr/bin/rly +COPY --from=build-env /root/rly/start-rly.sh /root/start-rly.sh +COPY --from=build-env /root/rly/mnemo.file /root/mnemo.file +RUN mkdir -p /root/tmp +COPY --from=build-env /root/rly/sevm_111-1.json /root/tmp/ +COPY --from=build-env /root/rly/sevm_111-2.json /root/tmp/ + +RUN chmod -R 755 /root/start-rly.sh + +EXPOSE 26656 26657 1317 9090 8545 8546 + +CMD ["bash","/root/start-rly.sh"] From 9b1026fe5ac2336f9b8923514e5a0efe0901920d Mon Sep 17 00:00:00 2001 From: Konstantin Munichev Date: Thu, 22 Jun 2023 19:00:26 +0200 Subject: [PATCH 52/58] Set keystore password --- rly/start-rly.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rly/start-rly.sh b/rly/start-rly.sh index 1ff31e8e6..b0eee2457 100755 --- a/rly/start-rly.sh +++ b/rly/start-rly.sh @@ -1,5 +1,7 @@ #!/bin/bash +KEYPASSWD=${KEYPASSWD:-DoNoTuSeInPrOd} + rly config init echo $RELAYER_SAGAEVM_MNEMONIC > mnemo.file.sevm @@ -29,10 +31,10 @@ rly chains add $SPC_CHAINID --file /root/.relayer/config/$SPC_CHAINID.json yq -i '.chains."'$CHAINLET_CHAIN_ID'".value.extra-codecs |= ["ethermint"]' /root/.relayer/config/config.yaml -rly keys restore $CHAINLET_CHAIN_ID key1 "$(cat /root/mnemo.file.sevm)" --coin-type=60 -rly keys restore $SPC_CHAINID key2 "$(cat /root/mnemo.file.spc)" +(echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $CHAINLET_CHAIN_ID key1 "$(cat /root/mnemo.file.sevm)" --coin-type=60 +(echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $SPC_CHAINID key2 "$(cat /root/mnemo.file.spc)" rly paths new $CHAINLET_CHAIN_ID $SPC_CHAINID dp -rly transact link dp +(echo $KEYPASSWD; sleep 1; echo $KEYPASSWD) | rly transact link dp -rly start dp +(echo $KEYPASSWD; sleep 1; echo $KEYPASSWD) | rly start dp From 2a284ad9dd2be0ff6845366f24026867788ec033 Mon Sep 17 00:00:00 2001 From: Konstantin Munichev Date: Fri, 23 Jun 2023 16:59:05 +0200 Subject: [PATCH 53/58] Poll chainlet until it's up and running --- rly/start-rly.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rly/start-rly.sh b/rly/start-rly.sh index b0eee2457..66f53411d 100755 --- a/rly/start-rly.sh +++ b/rly/start-rly.sh @@ -35,6 +35,18 @@ yq -i '.chains."'$CHAINLET_CHAIN_ID'".value.extra-codecs |= ["ethermint"]' /root (echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $SPC_CHAINID key2 "$(cat /root/mnemo.file.spc)" rly paths new $CHAINLET_CHAIN_ID $SPC_CHAINID dp + +# we want to make sure that chainlet is up and running +while true +do + rly q node-state $CHAINLET_CHAIN_ID + RETCODE=$? + if [[ ${RETCODE} -eq 0 ]]; then + break + fi + sleep 5 +done + (echo $KEYPASSWD; sleep 1; echo $KEYPASSWD) | rly transact link dp (echo $KEYPASSWD; sleep 1; echo $KEYPASSWD) | rly start dp From 7d8b5c472b9b855166d82cc976abe616b0c6cc5a Mon Sep 17 00:00:00 2001 From: Konstantin Munichev Date: Fri, 30 Jun 2023 21:35:59 +0200 Subject: [PATCH 54/58] Remove unused mnemonic file --- rly/mnemo.file | 1 - 1 file changed, 1 deletion(-) delete mode 100644 rly/mnemo.file diff --git a/rly/mnemo.file b/rly/mnemo.file deleted file mode 100644 index 9b001b3cd..000000000 --- a/rly/mnemo.file +++ /dev/null @@ -1 +0,0 @@ -solution grocery miracle sugar ankle honey kit prison build horror fiscal core twelve neither raise situate item float erode expire result snake cave review \ No newline at end of file From 31c748d1db2930a96421b288103529f30eaccc76 Mon Sep 17 00:00:00 2001 From: Konstantin Munichev Date: Fri, 30 Jun 2023 21:36:48 +0200 Subject: [PATCH 55/58] Rename example .json files to .json.example --- rly/{sevm_111-1.json => sevm_111-1.json.example} | 0 rly/{sevm_111-2.json => sevm_111-2.json.example} | 0 rly/start-rly.sh | 4 ++-- saga.Dockerfile | 5 ++--- 4 files changed, 4 insertions(+), 5 deletions(-) rename rly/{sevm_111-1.json => sevm_111-1.json.example} (100%) rename rly/{sevm_111-2.json => sevm_111-2.json.example} (100%) diff --git a/rly/sevm_111-1.json b/rly/sevm_111-1.json.example similarity index 100% rename from rly/sevm_111-1.json rename to rly/sevm_111-1.json.example diff --git a/rly/sevm_111-2.json b/rly/sevm_111-2.json.example similarity index 100% rename from rly/sevm_111-2.json rename to rly/sevm_111-2.json.example diff --git a/rly/start-rly.sh b/rly/start-rly.sh index 66f53411d..e5b1660a0 100755 --- a/rly/start-rly.sh +++ b/rly/start-rly.sh @@ -7,8 +7,8 @@ rly config init echo $RELAYER_SAGAEVM_MNEMONIC > mnemo.file.sevm echo $RELAYER_SPC_MNEMONIC > mnemo.file.spc -mv /root/tmp/sevm_111-1.json /root/tmp/$CHAINLET_CHAIN_ID.json -mv /root/tmp/sevm_111-2.json /root/tmp/$SPC_CHAINID.json +mv /root/tmp/sevm_111-1.json.example /root/tmp/$CHAINLET_CHAIN_ID.json +mv /root/tmp/sevm_111-2.json.example /root/tmp/$SPC_CHAINID.json cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."chain-id"="'$CHAINLET_CHAIN_ID'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json cat /root/tmp/$SPC_CHAINID.json | jq '.value."chain-id"="'$SPC_CHAINID'"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json diff --git a/saga.Dockerfile b/saga.Dockerfile index 522ed5862..f779b9743 100644 --- a/saga.Dockerfile +++ b/saga.Dockerfile @@ -20,10 +20,9 @@ WORKDIR /root COPY --from=build-env /root/build/rly /usr/bin/rly COPY --from=build-env /root/rly/start-rly.sh /root/start-rly.sh -COPY --from=build-env /root/rly/mnemo.file /root/mnemo.file RUN mkdir -p /root/tmp -COPY --from=build-env /root/rly/sevm_111-1.json /root/tmp/ -COPY --from=build-env /root/rly/sevm_111-2.json /root/tmp/ +COPY --from=build-env /root/rly/sevm_111-1.json.example /root/tmp/ +COPY --from=build-env /root/rly/sevm_111-2.json.example /root/tmp/ RUN chmod -R 755 /root/start-rly.sh From 3cfbd7a728f23de17490ec2b37180b2d146f1953 Mon Sep 17 00:00:00 2001 From: Konstantin Munichev Date: Mon, 3 Jul 2023 19:41:13 +0200 Subject: [PATCH 56/58] Env vars renaming --- rly/start-rly.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/rly/start-rly.sh b/rly/start-rly.sh index e5b1660a0..4a3f54488 100755 --- a/rly/start-rly.sh +++ b/rly/start-rly.sh @@ -4,37 +4,37 @@ KEYPASSWD=${KEYPASSWD:-DoNoTuSeInPrOd} rly config init -echo $RELAYER_SAGAEVM_MNEMONIC > mnemo.file.sevm +echo $RELAYER_CHAINLET_MNEMONIC > mnemo.file.sevm echo $RELAYER_SPC_MNEMONIC > mnemo.file.spc mv /root/tmp/sevm_111-1.json.example /root/tmp/$CHAINLET_CHAIN_ID.json -mv /root/tmp/sevm_111-2.json.example /root/tmp/$SPC_CHAINID.json +mv /root/tmp/sevm_111-2.json.example /root/tmp/$SPC_CHAIN_ID.json cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."chain-id"="'$CHAINLET_CHAIN_ID'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAINID.json | jq '.value."chain-id"="'$SPC_CHAINID'"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json +cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."chain-id"="'$SPC_CHAIN_ID'"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json # TODO: hardcoded port; http -cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."rpc-addr"="'http://$CHAINLET_RPC_ADDRESS'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAINID.json | jq '.value."rpc-addr"="'http://$SPC_EXTERNAL_ADDRESS_HOST:26657'"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json +cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."rpc-addr"="'$CHAINLET_RPC_ADDRESS'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json +cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."rpc-addr"="'$SPC_EXTERNAL_ADDRESS'"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAINID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json +cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."gas-prices"="'1$CHAINLET_DENOM'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAINID.json | jq '.value."gas-prices"="'1$SPC_DENOM'"' > /root/tmp/$SPC_CHAINID.json.tmp && mv /root/tmp/$SPC_CHAINID.json.tmp /root/tmp/$SPC_CHAINID.json +cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."gas-prices"="'1$SPC_DENOM'"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json cp /root/tmp/$CHAINLET_CHAIN_ID.json /root/.relayer/config/ -cp /root/tmp/$SPC_CHAINID.json /root/.relayer/config/ +cp /root/tmp/$SPC_CHAIN_ID.json /root/.relayer/config/ rly chains add $CHAINLET_CHAIN_ID --file /root/.relayer/config/$CHAINLET_CHAIN_ID.json -rly chains add $SPC_CHAINID --file /root/.relayer/config/$SPC_CHAINID.json +rly chains add $SPC_CHAIN_ID --file /root/.relayer/config/$SPC_CHAIN_ID.json yq -i '.chains."'$CHAINLET_CHAIN_ID'".value.extra-codecs |= ["ethermint"]' /root/.relayer/config/config.yaml (echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $CHAINLET_CHAIN_ID key1 "$(cat /root/mnemo.file.sevm)" --coin-type=60 -(echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $SPC_CHAINID key2 "$(cat /root/mnemo.file.spc)" +(echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $SPC_CHAIN_ID key2 "$(cat /root/mnemo.file.spc)" -rly paths new $CHAINLET_CHAIN_ID $SPC_CHAINID dp +rly paths new $CHAINLET_CHAIN_ID $SPC_CHAIN_ID dp # we want to make sure that chainlet is up and running while true From fd24ad0970f25005f7338c3e9b9ab69777c5f91c Mon Sep 17 00:00:00 2001 From: Konstantin Munichev Date: Mon, 3 Jul 2023 21:15:47 +0200 Subject: [PATCH 57/58] Rename SPC_EXTERNAL_ADDRESS -> SPC_RPC_EXTERNAL_ADDRESS --- rly/start-rly.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rly/start-rly.sh b/rly/start-rly.sh index 4a3f54488..6cbe3673d 100755 --- a/rly/start-rly.sh +++ b/rly/start-rly.sh @@ -15,7 +15,7 @@ cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."chain-id"="'$SPC_CHAIN_ID'"' > /r # TODO: hardcoded port; http cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."rpc-addr"="'$CHAINLET_RPC_ADDRESS'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."rpc-addr"="'$SPC_EXTERNAL_ADDRESS'"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json +cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."rpc-addr"="'$SPC_RPC_EXTERNAL_ADDRESS'"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json From bfdb6bf39a624ade60433c1ad3f9a79a0edb6b6e Mon Sep 17 00:00:00 2001 From: ashishchandr70 <41921015+ashishchandr70@users.noreply.github.com> Date: Tue, 12 Sep 2023 14:59:06 -0500 Subject: [PATCH 58/58] Feature/ccv (#2) * Updates to support CCV * Re-added out/err redirect to log files * Add multiple tries for linking. Upd chain waiting * Minor fix to Github action. Update rly start --------- Co-authored-by: Ashish Chandra --- .github/workflows/build.yml | 2 +- .github/workflows/docker-publish.yaml | 89 ++++---- .github/workflows/interchaintest.yml | 3 + .gitignore | 3 +- docker-compose.yml.example | 37 ++++ go.work.sum | 166 +++++++++++++++ rly/sample-rly.json | 26 +++ rly/start-rly.sh | 294 +++++++++++++++++++++----- saga.Dockerfile | 2 + 9 files changed, 531 insertions(+), 91 deletions(-) create mode 100644 docker-compose.yml.example create mode 100644 go.work.sum create mode 100644 rly/sample-rly.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 916aea8e4..d23015fe2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,7 @@ on: pull_request: push: branches: - - master + - '**' jobs: build: diff --git a/.github/workflows/docker-publish.yaml b/.github/workflows/docker-publish.yaml index 6c6cd8164..1461b6c89 100644 --- a/.github/workflows/docker-publish.yaml +++ b/.github/workflows/docker-publish.yaml @@ -1,54 +1,63 @@ -name: Create and publish a Docker image +name: Build and Push to DockerHub on: push: tags: - - '**' - branches: - - '**' - -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} + - "v*.*.*" jobs: - build-and-push-image: + docker: runs-on: ubuntu-latest - permissions: - contents: read - packages: write - + env: + GOPRIVATE: github.com/sagaxyz/* steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Log in to the Container registry - uses: docker/login-action@v1 + - name: Set up access to private Go modules + env: + GITHUB_USER: ${{ secrets.GH_USER }} + GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} + run: git config --global url."https://${GITHUB_USER}:${GITHUB_TOKEN}@github.com".insteadOf "https://github.com" + + - name: Checkout + uses: actions/checkout@v3 + - + name: Git fetch everything + run: git fetch --prune --unshallow + - name: Setup Go + uses: actions/setup-go@v3 with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker + go-version-file: './go.mod' + cache: true + - run: go version + + - name: Compile rly + run : make build + - + name: Get Github tag id: meta - uses: docker/metadata-action@v3 + run: | + echo "::set-output name=tag::$(echo ${{github.ref_name}} | sed -e 's/^v//')" + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to DockerHub + uses: docker/login-action@v2 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - - name: Build and push Docker image - uses: docker/build-push-action@v2.7.0 + registry: docker.io + username: sagaxyz + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v3 with: context: . - platforms: linux/amd64,linux/arm64 - file: Dockerfile + file: saga.Dockerfile push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max + build-args: | + GITHUB_USER=${{ secrets.GH_USER }} + GITHUB_TOKEN=${{ secrets.GH_ACCESS_TOKEN }} + platforms: linux/amd64 + tags: sagaxyz/go-relayer:${{ steps.meta.outputs.tag }}, sagaxyz/go-relayer:latest diff --git a/.github/workflows/interchaintest.yml b/.github/workflows/interchaintest.yml index 158329a66..f938b806f 100644 --- a/.github/workflows/interchaintest.yml +++ b/.github/workflows/interchaintest.yml @@ -2,6 +2,9 @@ name: TESTING - interchaintest on: pull_request: + push: + branches: + - main jobs: events: diff --git a/.gitignore b/.gitignore index 1af13e52e..4fe5ba715 100644 --- a/.gitignore +++ b/.gitignore @@ -21,5 +21,4 @@ dist/ # Don't commit the vendor directory if anyone runs 'go mod vendor'. /vendor - -go.work.sum +docker-compose.yml diff --git a/docker-compose.yml.example b/docker-compose.yml.example new file mode 100644 index 000000000..0b0ce35a2 --- /dev/null +++ b/docker-compose.yml.example @@ -0,0 +1,37 @@ +version: '3' + +services: + rly: + container_name: rly + image: "rly:latest" + build: + context: . + dockerfile: saga.Dockerfile + environment: + - KEYNAME=relayer + - PROVIDER_CHAINID= + - CONSUMER_CHAINID= + - PROVIDER_RLY_MNEMONIC= + - CONSUMER_RLY_MNEMONIC= + - KEYRING=test # remember to change to other types of keyring like 'file' in-case exposing to outside world, otherwise your balance will be wiped quickly. The keyring test does not require private key to steal tokens from you + - KEYALGO=secp256k1 + - KEYPASSWD="passw0rdK3y" + - PROVIDER_RPC_ADDRESS= + - CONSUMER_RPC_ADDRESS= + - RLY_SRC_PORT=consumer # Do not change unless you know what you are doing. This impacts the IBC connection ports + - RLY_DST_PORT=provider # Do not change unless you know what you are doing + - RLY_ORDERING=ordered # Do not change unless you know what you are doing + - RLY_DEBUG=true # set it to false as needed + networks: + - localnet + ports: + - 5183:5183 + volumes: + - ./rly/start-rly.sh:/root/start-rly.sh + +volumes: + relayer: + +networks: + localnet: + \ No newline at end of file diff --git a/go.work.sum b/go.work.sum new file mode 100644 index 000000000..81280b1e5 --- /dev/null +++ b/go.work.sum @@ -0,0 +1,166 @@ +cloud.google.com/go v0.110.2/go.mod h1:k04UEeEtb6ZBRTv3dZz4CeJC3jKGxyhl0sAiVVquxiw= +cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= +cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= +cloud.google.com/go/aiplatform v1.45.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= +cloud.google.com/go/analytics v0.21.2/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= +cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= +cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= +cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= +cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= +cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= +cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= +cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= +cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= +cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.6.1/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= +cloud.google.com/go/bigquery v1.52.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= +cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA= +cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U= +cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI= +cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc= +cloud.google.com/go/cloudbuild v1.10.1/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= +cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI= +cloud.google.com/go/cloudtasks v1.11.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/contactcenterinsights v1.9.1/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= +cloud.google.com/go/container v1.22.1/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= +cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0= +cloud.google.com/go/datacatalog v1.14.1/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= +cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= +cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= +cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= +cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= +cloud.google.com/go/dataplex v1.8.1/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= +cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= +cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastream v1.9.1/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= +cloud.google.com/go/deploy v1.11.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= +cloud.google.com/go/dialogflow v1.38.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= +cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= +cloud.google.com/go/documentai v1.20.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= +cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= +cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= +cloud.google.com/go/eventarc v1.12.1/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= +cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= +cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= +cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= +cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= +cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= +cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= +cloud.google.com/go/gkemulticloud v0.6.1/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= +cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ= +cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= +cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= +cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0= +cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.4.2/go.mod h1:OHrnaYyLUV6oqwh0xiS7e5sLQhP1m0QU9R+WhGDMgIQ= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= +cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= +cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= +cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= +cloud.google.com/go/metastore v1.11.1/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= +cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= +cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E= +cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0= +cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ= +cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8= +cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk= +cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= +cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= +cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= +cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= +cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= +cloud.google.com/go/policytroubleshooter v1.7.1/go.mod h1:0NaT5v3Ag1M7U5r0GfDCpUFkWd9YqpubBWsQlhanRv0= +cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= +cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= +cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= +cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= +cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= +cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= +cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= +cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= +cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= +cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= +cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= +cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= +cloud.google.com/go/servicedirectory v1.10.1/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= +cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= +cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= +cloud.google.com/go/speech v1.17.1/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= +cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= +cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= +cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= +cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= +cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= +cloud.google.com/go/translate v1.8.1/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/video v1.17.1/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= +cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= +cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= +cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= +cloud.google.com/go/vmwareengine v0.4.1/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= +cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= +cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= +cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= +cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= +github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= +github.com/googleapis/gax-go/v2 v2.10.0/go.mod h1:4UOEnMCrxsSqQ940WnTiD6qJ63le2ev3xfyagutxiPw= +github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= +github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= +golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +google.golang.org/api v0.125.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230525234025-438c736192d0/go.mod h1:9ExIQyXL5hZrHzQceCwuSYwZZ5QZBazOcprJ5rgs3lY= +google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:xZnkP7mREFX5MORlOPEzLMr+90PPZQ2QWzrVTWfAq64= +google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230629202037-9506855d4529/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= +google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= diff --git a/rly/sample-rly.json b/rly/sample-rly.json new file mode 100644 index 000000000..c1181d3bc --- /dev/null +++ b/rly/sample-rly.json @@ -0,0 +1,26 @@ +{ + "type": "cosmos", + "value": { + "key": "", + "chain-id": "", + "rpc-addr": "", + "account-prefix": "saga", + "keyring-backend": "test", + "gas-adjustment": 1.2, + "gas-prices": "0stake", + "min-gas-amount": 0, + "max-gas-amount": 0, + "debug": true, + "timeout": "20s", + "block-timeout": "", + "output-format": "json", + "sign-mode": "direct", + "extra-codecs": [], + "coin-type": null, + "signing-algorithm": "", + "broadcast-mode": "batch", + "min-loop-duration": 0, + "extension-options": [], + "feegrants": null + } +} \ No newline at end of file diff --git a/rly/start-rly.sh b/rly/start-rly.sh index 6cbe3673d..8f9df40ca 100755 --- a/rly/start-rly.sh +++ b/rly/start-rly.sh @@ -1,52 +1,250 @@ #!/bin/bash -KEYPASSWD=${KEYPASSWD:-DoNoTuSeInPrOd} - -rly config init - -echo $RELAYER_CHAINLET_MNEMONIC > mnemo.file.sevm -echo $RELAYER_SPC_MNEMONIC > mnemo.file.spc - -mv /root/tmp/sevm_111-1.json.example /root/tmp/$CHAINLET_CHAIN_ID.json -mv /root/tmp/sevm_111-2.json.example /root/tmp/$SPC_CHAIN_ID.json - -cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."chain-id"="'$CHAINLET_CHAIN_ID'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."chain-id"="'$SPC_CHAIN_ID'"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json - -# TODO: hardcoded port; http -cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."rpc-addr"="'$CHAINLET_RPC_ADDRESS'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."rpc-addr"="'$SPC_RPC_EXTERNAL_ADDRESS'"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json - -cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."keyring-backend"="file"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json - -cat /root/tmp/$CHAINLET_CHAIN_ID.json | jq '.value."gas-prices"="'1$CHAINLET_DENOM'"' > /root/tmp/$CHAINLET_CHAIN_ID.json.tmp && mv /root/tmp/$CHAINLET_CHAIN_ID.json.tmp /root/tmp/$CHAINLET_CHAIN_ID.json -cat /root/tmp/$SPC_CHAIN_ID.json | jq '.value."gas-prices"="'1$SPC_DENOM'"' > /root/tmp/$SPC_CHAIN_ID.json.tmp && mv /root/tmp/$SPC_CHAIN_ID.json.tmp /root/tmp/$SPC_CHAIN_ID.json - -cp /root/tmp/$CHAINLET_CHAIN_ID.json /root/.relayer/config/ -cp /root/tmp/$SPC_CHAIN_ID.json /root/.relayer/config/ - -rly chains add $CHAINLET_CHAIN_ID --file /root/.relayer/config/$CHAINLET_CHAIN_ID.json -rly chains add $SPC_CHAIN_ID --file /root/.relayer/config/$SPC_CHAIN_ID.json - -yq -i '.chains."'$CHAINLET_CHAIN_ID'".value.extra-codecs |= ["ethermint"]' /root/.relayer/config/config.yaml - -(echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $CHAINLET_CHAIN_ID key1 "$(cat /root/mnemo.file.sevm)" --coin-type=60 -(echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $SPC_CHAIN_ID key2 "$(cat /root/mnemo.file.spc)" - -rly paths new $CHAINLET_CHAIN_ID $SPC_CHAIN_ID dp - -# we want to make sure that chainlet is up and running -while true -do - rly q node-state $CHAINLET_CHAIN_ID +#from container environment vars +SLEEPTIME=${SLEEPTIME:-5} # if unset, set to 5 seconds +SLEEPTIME_IBC=${SLEEPTIME_IBC:-60} # Amount of time to wait for an IBC channel to be created +SLEEPTIME_BLOCKWAIT=${SLEEPTIME_BLOCKWAIT:-1} + +PROVIDER_CHAIN=${PROVIDER_CHAIN:-provider} +CONSUMER_CHAIN=${CONSUMER_CHAIN:-consumer} +PROVIDER_RLY_GASPRICE=${PROVIDER_RLY_GASPRICE:-0stake} +CONSUMER_RLY_GASPRICE=${CONSUMER_RLY_GASPRICE:-0stake} +PROVIDER_RLY_CLIENTID=${PROVIDER_RLY_CLIENTID:-07-tendermint-0} +CONSUMER_RLY_CLIENTID=${CONSUMER_RLY_CLIENTID:-07-tendermint-0} +RLY_SRC_PORT=${RLY_SRC_PORT:-transfer} +RLY_DST_PORT=${RLY_DST_PORT:-transfer} +RLY_ORDERING=${RLY_ORDERING:-unordered} +RLY_CHANNEL_VERSION=${RLY_CHANNEL_VERSION:-1} +RLY_DEBUG=${RLY_DEBUG:-false} + +KEYRING=${KEYRING:-file} +TESTKEYRING="test" +KEYALGO=${KEYALGO:-"secp256k1"} +KEYNAME=relayer +KEYPASSWD=${KEYPASSWD:-"passw0rdK3y"} + +SESSION_STAMP=RLY_`date +%m%d%Y%H%M%S` +TMPDIR=/tmp +LOGDIR=/tmp +LOGFILE=${LOGDIR}/${SESSION_STAMP}.log +ERRFILE=${LOGDIR}/${SESSION_STAMP}.err + +Logger() +{ + MSG=$1 + echo "`date` $MSG" >> $LOGFILE + echo "`date` $MSG" +} + +CheckRetcode() +{ + # ERRTYPE 1 = HARD ERROR (Exit script), ERRTYPE <> 1 = SOFT ERROR (Report and Continue) + local RETCODE=$1 + local ERRTYPE=$2 + local MSG=$3 + if [ $RETCODE -ne 0 ]; + then + if [ $ERRTYPE -eq 1 ]; + then + Logger "$MSG" + exit 1 + else + Logger "$MSG" + fi + else + Logger "Return code was $RETCODE. Success!" + fi +} + +ValidateEnvVar() +{ + local ENVVAR=$1 + Logger "Validating environment variable $ENVVAR" + local EXITIFUNSET=${2:-1} # exit if env var is not set. Pass 1 for true, 0 for false i.e. if 0, script will continue executing. Default: True (exit) + local ECHOVAL=${3:-1} # echo the value of the variable in a log entry. Pass 1 = true, 0 = false. Default: True (will echo) + if [[ -z ${!ENVVAR} ]]; + then + Logger "Environment variable $ENVVAR is not set" + if [ $EXITIFUNSET -eq 1 ]; + then + Logger "Exiting in error as environment variable $ENVVAR is not set" + exit 1 + else + Logger "Continuing even though environment variable $ENVVAR is not set" + fi + fi + if [ $ECHOVAL -eq 1 ]; + then + Logger "Environment variable $ENVVAR is set to ${!ENVVAR}" + fi + Logger "Finished validating environment variable $ENVVAR" +} + +ValidateAndEchoEnvVars() +{ + Logger "Starting function ValidateAndEchoEnvVars" + ValidateEnvVar PROVIDER_CHAIN + ValidateEnvVar CONSUMER_CHAIN + ValidateEnvVar PROVIDER_CHAINID + ValidateEnvVar CONSUMER_CHAINID + ValidateEnvVar PROVIDER_RLY_MNEMONIC 1 0 + ValidateEnvVar CONSUMER_RLY_MNEMONIC 1 0 + ValidateEnvVar PROVIDER_RPC_ADDRESS + ValidateEnvVar CONSUMER_RPC_ADDRESS + ValidateEnvVar PROVIDER_RLY_GASPRICE + ValidateEnvVar CONSUMER_RLY_GASPRICE + ValidateEnvVar PROVIDER_RLY_CLIENTID + ValidateEnvVar CONSUMER_RLY_CLIENTID + ValidateEnvVar RLY_SRC_PORT + ValidateEnvVar RLY_DST_PORT + ValidateEnvVar RLY_ORDERING + ValidateEnvVar RLY_CHANNEL_VERSION + ValidateEnvVar RLY_DEBUG + ValidateEnvVar KEYRING + ValidateEnvVar SLEEPTIME 0 1 + ValidateEnvVar KEYALGO + ValidateEnvVar KEYPASSWD + ValidateEnvVar TMPDIR + Logger "Exiting function ValidateAndEchoEnvVars" +} + +InitRelayer() +{ + Logger "Starting function InitRelayer" + rm -rf .relayer 1>> $LOGFILE 2>> $ERRFILE + rly config init --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODE=$? + CheckRetcode $RETCODE 1 "Could not initialize relayer. Return code was $RETCODE. Exiting" + Logger "Exiting function InitRelayer" +} + +GenerateChainFiles() +{ + Logger "Starting function GenerateChainFiles" + jq --arg KEY $KEYNAME '.value.key = $KEY' /root/provider-rly.json > /root/provider-rly-tmp.json && mv /root/provider-rly-tmp.json /root/provider-rly.json + jq --arg CHAINID $PROVIDER_CHAINID '.value."chain-id" = $CHAINID' /root/provider-rly.json > /root/provider-rly-tmp.json && mv /root/provider-rly-tmp.json /root/provider-rly.json + jq --arg RPCADDR $PROVIDER_RPC_ADDRESS '.value."rpc-addr" = $RPCADDR' /root/provider-rly.json > /root/provider-rly-tmp.json && mv /root/provider-rly-tmp.json /root/provider-rly.json + jq --arg KEYRING $KEYRING '.value."keyring-backend" = $KEYRING' /root/provider-rly.json > /root/provider-rly-tmp.json && mv /root/provider-rly-tmp.json /root/provider-rly.json + jq --argjson DEBUG $RLY_DEBUG '.value.debug = $DEBUG' /root/provider-rly.json > /root/provider-rly-tmp.json && mv /root/provider-rly-tmp.json /root/provider-rly.json + jq --arg GAS $PROVIDER_RLY_GASPRICE '.value."gas-prices" = $GAS' /root/provider-rly.json > /root/provider-rly-tmp.json && mv /root/provider-rly-tmp.json /root/provider-rly.json + + jq --arg KEY $KEYNAME '.value.key = $KEY' /root/consumer-rly.json > /root/consumer-rly-tmp.json && mv /root/consumer-rly-tmp.json /root/consumer-rly.json + jq --arg CHAINID $CONSUMER_CHAINID '.value."chain-id" = $CHAINID' /root/consumer-rly.json > /root/consumer-rly-tmp.json && mv /root/consumer-rly-tmp.json /root/consumer-rly.json + jq --arg RPCADDR $CONSUMER_RPC_ADDRESS '.value."rpc-addr" = $RPCADDR' /root/consumer-rly.json > /root/consumer-rly-tmp.json && mv /root/consumer-rly-tmp.json /root/consumer-rly.json + jq --arg KEYRING $KEYRING '.value."keyring-backend" = $KEYRING' /root/consumer-rly.json > /root/consumer-rly-tmp.json && mv /root/consumer-rly-tmp.json /root/consumer-rly.json + jq --argjson DEBUG $RLY_DEBUG '.value.debug = $DEBUG' /root/consumer-rly.json > /root/consumer-rly-tmp.json && mv /root/consumer-rly-tmp.json /root/consumer-rly.json + jq --arg GAS $CONSUMER_RLY_GASPRICE '.value."gas-prices" = $GAS' /root/consumer-rly.json > /root/consumer-rly-tmp.json && mv /root/consumer-rly-tmp.json /root/consumer-rly.json + Logger "Exiting function GenerateChainFiles" +} + +ConfigRelayer() +{ + Logger "Starting function ConfigRelayer" + local PATHNAME=pc + rly chains add $PROVIDER_CHAIN --file /root/provider-rly.json --home .relayer 1>> $LOGFILE 2>> $ERRFILE RETCODE=$? - if [[ ${RETCODE} -eq 0 ]]; then - break + CheckRetcode $RETCODE 1 "Could not add chain $PROVIDER_CHAINID to relayer config. Return code was $RETCODE. Exiting" + rly chains add $CONSUMER_CHAIN --file /root/consumer-rly.json --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODE=$? + CheckRetcode $RETCODE 1 "Could not add chain $CONSUMER_CHAINID to relayer config. Return code was $RETCODE. Exiting" + Logger "Added both provider and consumer chains" + Logger "Restoring keys from provided mnemonics" + if [[ "$KEYRING" == "file" ]]; + then + (echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $PROVIDER_CHAIN relayer "${PROVIDER_RLY_MNEMONIC}" --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODE=$? + CheckRetcode $RETCODE 1 "Could not restore keys from mnemonic for chain $PROVIDER_CHAINID. Return code was $RETCODE. Exiting" + (echo $KEYPASSWD; echo $KEYPASSWD) | rly keys restore $CONSUMER_CHAIN relayer "${CONSUMER_RLY_MNEMONIC}" --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODE=$? + CheckRetcode $RETCODE 1 "Could not restore keys from mnemonic for chain $CONSUMER_CHAINID. Return code was $RETCODE. Exiting" + else + rly keys restore $PROVIDER_CHAIN relayer "${PROVIDER_RLY_MNEMONIC}" --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODE=$? + CheckRetcode $RETCODE 1 "Could not restore keys from mnemonic for chain $PROVIDER_CHAINID. Return code was $RETCODE. Exiting" + rly keys restore $CONSUMER_CHAIN relayer "${CONSUMER_RLY_MNEMONIC}" --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODE=$? + CheckRetcode $RETCODE 1 "Could not restore keys from mnemonic for chain $CONSUMER_CHAINID. Return code was $RETCODE. Exiting" fi - sleep 5 -done - -(echo $KEYPASSWD; sleep 1; echo $KEYPASSWD) | rly transact link dp - -(echo $KEYPASSWD; sleep 1; echo $KEYPASSWD) | rly start dp + Logger "Created keys" + Logger "Creating relayer paths..." + rly paths new $CONSUMER_CHAINID $PROVIDER_CHAINID $PATHNAME --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODE=$? + CheckRetcode $RETCODE 1 "Could not create a new path for chains $PROVIDER_CHAINID and $CONSUMER_CHAINID. Return code was $RETCODE. Exiting" + Logger "New path $PATHNAME successfully created for chains $PROVIDER_CHAINID and $CONSUMER_CHAINID" + rly paths update $PATHNAME --src-client-id $CONSUMER_RLY_CLIENTID --dst-client-id $PROVIDER_RLY_CLIENTID --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODE=$? + CheckRetcode $RETCODE 1 "Could not update the path with source/destination client-id for chains $PROVIDER_CHAINID and $CONSUMER_CHAINID. Return code was $RETCODE. Exiting" + Logger "Path $PATHNAME successfully updated for chains $PROVIDER_CHAINID and $CONSUMER_CHAINID" + Logger "Exiting function ConfigRelayer" +} + +LinkRelayer() +{ + Logger "Starting function LinkRelayer" + local cnt=0 + local RETCODE_LNK=0 + Logger "Now connecting $PROVIDER_CHAIN and $CONSUMER_CHAIN. This can take a few minutes..." + until [ $cnt -ge 3 ]; + do + (echo $KEYPASSWD; sleep 1; echo $KEYPASSWD) | rly transact link pc --home .relayer --src-port $RLY_SRC_PORT --dst-port $RLY_DST_PORT --order $RLY_ORDERING --version $RLY_CHANNEL_VERSION 1>> $LOGFILE 2>> $ERRFILE + RETCODE_LNK=$? + Logger "DEBUG RETCODE is $RETCODE_LNK" + if [ $RETCODE_LNK -ne 0 ]; + then + cnt=$(( cnt + 1 )) + Logger "DEBUG cnt = $cnt" + Logger "DEBUG error is `tail -15 $ERRFILE`" + sleep 1 + else + Logger "DEBUG break invoked" + break + fi + done + CheckRetcode $RETCODE_LNK 1 "Could not create a connection between chains $PROVIDER_CHAINID and $CONSUMER_CHAINID after 3 attempts. Exiting" + Logger "Chains $PROVIDER_CHAINID and $CONSUMER_CHAINID successfully connected" + Logger "Exiting function LinkRelayer" +} + +CheckLaunchReadiness() +{ + Logger "Starting function CheckLaunchReadiness" + # we want to make sure that chainlet is up and running + while true + do + rly q node-state $PROVIDER_CHAIN --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODEP=$? + rly q node-state $CONSUMER_CHAIN --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODEC=$? + if [[ ${RETCODEP} -eq 0 && ${RETCODEC} -eq 0 ]]; then + break + fi + Logger "Waiting for provider chain $PROVIDER_CHAINID and consumer chain $CONSUMER_CHAINID to come online" + sleep $SLEEPTIME + done + Logger "Ensuring both provider and consumer chains are producing blocks" + local BLOCKNUM=3 # Height should be at least 2 in order to link the chains via IBC + while true + do + rly q header $PROVIDER_CHAIN $BLOCKNUM --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODEP=$? + rly q header $CONSUMER_CHAIN $BLOCKNUM --home .relayer 1>> $LOGFILE 2>> $ERRFILE + RETCODEC=$? + if [[ ${RETCODEP} -eq 0 && ${RETCODEC} -eq 0 ]]; then + break + fi + Logger "Waiting for provider chain $PROVIDER_CHAINID and consumer chain $CONSUMER_CHAINID to produce blocks" + sleep $SLEEPTIME + done + Logger "Both provider and consumer chains are online and producing blocks. Continuing" + Logger "Exiting function CheckLaunchReadiness" +} + + +## MAIN +ValidateAndEchoEnvVars +InitRelayer +GenerateChainFiles +ConfigRelayer +CheckLaunchReadiness +LinkRelayer +(echo $KEYPASSWD; sleep 1; echo $KEYPASSWD) | rly start pc --home .relayer diff --git a/saga.Dockerfile b/saga.Dockerfile index f779b9743..2b7de22c5 100644 --- a/saga.Dockerfile +++ b/saga.Dockerfile @@ -23,6 +23,8 @@ COPY --from=build-env /root/rly/start-rly.sh /root/start-rly.sh RUN mkdir -p /root/tmp COPY --from=build-env /root/rly/sevm_111-1.json.example /root/tmp/ COPY --from=build-env /root/rly/sevm_111-2.json.example /root/tmp/ +COPY --from=build-env /root/rly/sample-rly.json /root/provider-rly.json +COPY --from=build-env /root/rly/sample-rly.json /root/consumer-rly.json RUN chmod -R 755 /root/start-rly.sh