From 48896c7b7948248d4d06d0f399e5262f602f8dd6 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Thu, 3 Nov 2022 23:18:04 +0100 Subject: [PATCH 01/50] chore: update to 0.47 --- chain/cosmos/broadcaster.go | 2 +- chain/cosmos/codec.go | 26 +- chain/internal/tendermint/events_test.go | 8 +- go.mod | 114 ++--- go.sum | 574 ++++++++++++----------- ibc/types.go | 4 +- interchain_test.go | 8 +- 7 files changed, 379 insertions(+), 357 deletions(-) diff --git a/chain/cosmos/broadcaster.go b/chain/cosmos/broadcaster.go index c057d8bc9..05fc86931 100644 --- a/chain/cosmos/broadcaster.go +++ b/chain/cosmos/broadcaster.go @@ -156,7 +156,7 @@ func (b *Broadcaster) defaultClientContext(fromUser User, sdkAdd sdk.AccAddress) WithSkipConfirmation(true). WithAccountRetriever(authtypes.AccountRetriever{}). WithKeyring(kr). - WithBroadcastMode(flags.BroadcastBlock). + WithBroadcastMode(flags.BroadcastSync). WithCodec(b.chain.cfg.EncodingConfig.Codec) // NOTE: the returned context used to have .WithHomeDir(cn.Home), diff --git a/chain/cosmos/codec.go b/chain/cosmos/codec.go index ec024ce74..23c77f3a5 100644 --- a/chain/cosmos/codec.go +++ b/chain/cosmos/codec.go @@ -3,30 +3,16 @@ package cosmos import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/simapp" - simappparams "github.com/cosmos/cosmos-sdk/simapp/params" - "github.com/cosmos/cosmos-sdk/std" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module/testutil" authTx "github.com/cosmos/cosmos-sdk/x/auth/tx" - banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" - ibctypes "github.com/cosmos/ibc-go/v6/modules/core/types" + "github.com/cosmos/cosmos-sdk/x/bank" + transfer "github.com/cosmos/ibc-go/v6/modules/apps/transfer" + ibccore "github.com/cosmos/ibc-go/v6/modules/core" ) -func DefaultEncoding() simappparams.EncodingConfig { - // core modules - cfg := simappparams.MakeTestEncodingConfig() - std.RegisterLegacyAminoCodec(cfg.Amino) - std.RegisterInterfaces(cfg.InterfaceRegistry) - simapp.ModuleBasics.RegisterLegacyAminoCodec(cfg.Amino) - simapp.ModuleBasics.RegisterInterfaces(cfg.InterfaceRegistry) - - // external modules - banktypes.RegisterInterfaces(cfg.InterfaceRegistry) - ibctypes.RegisterInterfaces(cfg.InterfaceRegistry) - transfertypes.RegisterInterfaces(cfg.InterfaceRegistry) - - return cfg +func DefaultEncoding() testutil.TestEncodingConfig { + return testutil.MakeTestEncodingConfig(bank.AppModuleBasic{}, transfer.AppModuleBasic{}, ibccore.AppModuleBasic{}) } func decodeTX(interfaceRegistry codectypes.InterfaceRegistry, txbz []byte) (sdk.Tx, error) { diff --git a/chain/internal/tendermint/events_test.go b/chain/internal/tendermint/events_test.go index 1ce3097db..1f90f0bdd 100644 --- a/chain/internal/tendermint/events_test.go +++ b/chain/internal/tendermint/events_test.go @@ -10,12 +10,12 @@ import ( func TestAttributeValue(t *testing.T) { events := []abcitypes.Event{ {Type: "1", Attributes: []abcitypes.EventAttribute{ - {Key: []byte("ignore"), Value: []byte("should not see me")}, - {Key: []byte("key1"), Value: []byte("found1")}, + {Key: "ignore", Value: "should not see me"}, + {Key: "key1", Value: "found1"}, }}, {Type: "2", Attributes: []abcitypes.EventAttribute{ - {Key: []byte("key2"), Value: []byte("found2")}, - {Key: []byte("ignore"), Value: []byte("should not see me")}, + {Key: "key2", Value: "found2"}, + {Key: "ignore", Value: "should not see me"}, }}, } diff --git a/go.mod b/go.mod index 647daad87..ffe2b9a9d 100644 --- a/go.mod +++ b/go.mod @@ -10,25 +10,25 @@ require ( github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 - github.com/cosmos/cosmos-sdk v0.46.2 + github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20221103211459-20448048a489 github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/ibc-go/v6 v6.0.0-20221104144119-b1f494c64328 + github.com/cosmos/ibc-go/v6 v6.0.0-20221103215613-bfe1168c7ec0 github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 github.com/docker/docker v20.10.17+incompatible github.com/docker/go-connections v0.4.0 github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 - github.com/google/go-cmp v0.5.8 + github.com/google/go-cmp v0.5.9 github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/libp2p/go-libp2p-core v0.15.1 github.com/mr-tron/base58 v1.2.0 github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 github.com/stretchr/testify v1.8.1 - github.com/tendermint/tendermint v0.34.21 + github.com/tendermint/tendermint v0.37.0-rc1 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 - golang.org/x/crypto v0.0.0-20220817201139-bc19a97f63c8 + golang.org/x/crypto v0.1.0 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 golang.org/x/tools v0.1.12 google.golang.org/grpc v1.50.1 @@ -39,10 +39,9 @@ require ( //require github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 require ( - cloud.google.com/go v0.102.1 // indirect - cloud.google.com/go/compute v1.7.0 // indirect - cloud.google.com/go/iam v0.4.0 // indirect - cloud.google.com/go/storage v1.22.1 // indirect + cosmossdk.io/api v0.2.4 // indirect + cosmossdk.io/core v0.3.2 // 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-beta.3 // indirect filippo.io/edwards25519 v1.0.0-rc.1 // indirect @@ -50,37 +49,41 @@ require ( github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect github.com/Microsoft/go-winio v0.5.2 // indirect github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.40.45 // 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.0 // indirect - github.com/btcsuite/btcd v0.22.1 // indirect + github.com/btcsuite/btcd v0.22.3 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.0 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect - github.com/cockroachdb/apd/v2 v2.0.2 // indirect + github.com/coinbase/rosetta-sdk-go v0.8.1 // indirect github.com/confio/ics23/go v0.7.0 // indirect github.com/cosmos/btcutil v1.0.4 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha7 // indirect + github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect + github.com/cosmos/gogogateway v1.2.0 // indirect + github.com/cosmos/gogoproto v1.4.2 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313 // indirect + github.com/cosmos/iavl v0.19.4 // indirect github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect github.com/cosmos/ledger-go v0.9.2 // indirect + github.com/creachadair/taskgroup v0.3.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/deckarep/golang-set v1.8.0 // indirect github.com/decred/base58 v1.0.4 // indirect github.com/decred/dcrd/crypto/blake256 v1.0.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v2 v2.2007.4 // indirect - github.com/dgraph-io/ristretto v0.1.0 // 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/go-units v0.4.0 // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/ethereum/go-ethereum v1.10.20 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/ethereum/go-ethereum v1.10.21 // indirect + github.com/felixge/httpsnoop v1.0.2 // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/gdamore/encoding v1.0.0 // indirect github.com/go-kit/kit v0.12.0 // indirect @@ -88,18 +91,15 @@ require ( github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/go-stack/stack v1.8.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/gateway v1.1.0 // indirect + github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869 // indirect github.com/gogo/protobuf v1.3.3 // indirect github.com/golang/glog v1.0.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/mock v1.6.0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/golang/snappy v0.0.4 // indirect - github.com/google/btree v1.0.1 // indirect - github.com/google/gofuzz v1.2.0 // indirect + github.com/google/btree v1.1.2 // indirect + github.com/google/orderedcode v0.0.1 // indirect github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.1.0 // indirect - github.com/googleapis/gax-go/v2 v2.4.0 // indirect - github.com/googleapis/go-type-adapters v1.0.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 @@ -108,20 +108,19 @@ require ( github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect 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.6.1 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/huandu/skiplist v1.2.0 // indirect + github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/go-cid v0.0.7 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect - github.com/klauspost/compress v1.15.9 // indirect + github.com/klauspost/compress v1.15.12 // indirect github.com/klauspost/cpuid/v2 v2.0.9 // indirect + github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/libp2p/go-openssl v0.0.7 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect @@ -132,9 +131,8 @@ require ( github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/mimoo/StrobeGo v0.0.0-20220103164710-9a04d6ca976b // indirect github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect + github.com/minio/highwayhash v1.0.2 // indirect github.com/minio/sha256-simd v1.0.0 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/go-testing-interface v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/multiformats/go-base32 v0.0.3 // indirect @@ -152,17 +150,16 @@ require ( 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.12.2 // indirect + github.com/prometheus/client_golang v1.13.1 // indirect github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.34.0 // indirect - github.com/prometheus/procfs v0.7.3 // indirect + github.com/prometheus/common v0.37.0 // indirect + github.com/prometheus/procfs v0.8.0 // indirect github.com/rakyll/statik v0.1.7 // indirect - github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect + github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect github.com/rivo/uniseg v0.2.0 // indirect github.com/rs/cors v1.8.2 // indirect - github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // 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 @@ -178,30 +175,22 @@ require ( github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/tendermint/tm-db v0.6.7 // indirect - github.com/ulikunitz/xz v0.5.8 // indirect github.com/vedhavyas/go-subkey v1.0.3 // indirect github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266 // indirect go.etcd.io/bbolt v1.3.6 // indirect - go.opencensus.io v0.23.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/goleak v1.1.12 // indirect - golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect + golang.org/x/exp v0.0.0-20221019170559-20944726eadf // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.0.0-20220726230323-06994584191e // indirect - golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2 // indirect - golang.org/x/sys v0.0.0-20220818161305-2296e01440c6 // indirect - golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect - google.golang.org/api v0.93.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959 // indirect + golang.org/x/net v0.1.0 // indirect + golang.org/x/sys v0.1.0 // indirect + golang.org/x/term v0.1.0 // indirect + golang.org/x/text v0.4.0 // indirect + google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a // indirect google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // 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 - gotest.tools/v3 v3.3.0 // indirect lukechampine.com/blake3 v1.1.6 // indirect lukechampine.com/uint128 v1.1.1 // indirect modernc.org/cc/v3 v3.36.0 // indirect @@ -212,19 +201,14 @@ require ( modernc.org/opt v0.1.1 // indirect modernc.org/strutil v1.1.1 // indirect modernc.org/token v1.0.0 // indirect + nhooyr.io/websocket v1.8.6 // indirect + pgregory.net/rapid v0.5.3 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) -replace github.com/vedhavyas/go-subkey => github.com/strangelove-ventures/go-subkey v1.0.7 - -replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - -//replace github.com/keybase/go-keychain => github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 - -replace github.com/ChainSafe/go-schnorrkel => github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d - -replace github.com/ChainSafe/go-schnorrkel/1 => github.com/ChainSafe/go-schnorrkel v1.0.0 - -//replace github.com/ComposableFi/go-substrate-rpc-client/v4 => ../../ComposableFi/go-substrate-rpc-client/ - -//replace github.com/cosmos/ibc-go/v6 => ../ibc-go_feat_wasm-client +replace ( + github.com/ChainSafe/go-schnorrkel => github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d + github.com/ChainSafe/go-schnorrkel/1 => github.com/ChainSafe/go-schnorrkel v1.0.0 + github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 + github.com/vedhavyas/go-subkey => github.com/strangelove-ventures/go-subkey v1.0.7 +) diff --git a/go.sum b/go.sum index 44bcb7f5e..10cc0145d 100644 --- a/go.sum +++ b/go.sum @@ -17,39 +17,17 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1 h1:vpK6iQWv/2uUeFJth4/cBHsQAGjn1iIE6AAlxipRaA0= -cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.4.0 h1:YBYU00SCDzZJdHqVc4I5d6lsklcYIjQZa1YmEz4jlSE= -cloud.google.com/go/iam v0.4.0/go.mod h1:cbaZxyScUhxl7ZAkNWiALgihfP75wS/fUsVNaa1r3vA= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -61,7 +39,12 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.22.1 h1:F6IlQJZrZM++apn9V5/VfS3gbTUYg98PS3EMQAzqtfg= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cosmossdk.io/api v0.2.4 h1:o2t77GXWWEN5egCzD2ZyyFgbsoAif/XdF3T+/sAYiHQ= +cosmossdk.io/api v0.2.4/go.mod h1:7xfxe8ghXHoKj3W2oG/HcuxGVwUHN3q8piiIEiJ3CEU= +cosmossdk.io/core v0.3.2 h1:KlQIufpJHJvOs7YLGTZsZcCo1WlkencDXepsr8STKZQ= +cosmossdk.io/core v0.3.2/go.mod h1:CO7vbe+evrBvHc0setFHL/u7nlY7HJGzdRSBkT/sirc= +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/math v1.0.0-beta.3 h1:TbZxSopz2LqjJ7aXYfn7nJSb8vNaBklW6BLpcei1qwM= @@ -83,32 +66,46 @@ github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1: 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/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.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +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/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/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/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= +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/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= 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/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= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= 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/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/avast/retry-go/v4 v4.0.4 h1:38hLf0DsRXh+hOF6HbTni0+5QGTNdw9zbaMD7KAO830= github.com/avast/retry-go/v4 v4.0.4/go.mod h1:HqmLvS2VLdStPCGDFjSuZ9pzlTqVRldCI4w2dO4m1Ms= -github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.40.45 h1:QN1nsY27ssD/JmW4s83qmSb+uL6DG4GmCDzjmJB4xUI= -github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -117,14 +114,14 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= -github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= +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/btcec/v2 v2.3.0 h1:S/6K1GEwlEsFzZP4cOOl5mg6PEd/pr0zz7hvXcaxhJ4= +github.com/btcsuite/btcd/btcec/v2 v2.3.0/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= @@ -135,6 +132,10 @@ github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVa github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/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/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= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= 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= @@ -145,7 +146,6 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= @@ -154,46 +154,61 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWs github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= 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/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= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= 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/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= +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/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/coinbase/rosetta-sdk-go v0.8.1 h1:WE+Temc8iz7Ra7sCpV9ymBJx78vItqFJ2xcSiPet1Pc= +github.com/coinbase/rosetta-sdk-go v0.8.1/go.mod h1:tXPR6AIW9ogsH4tYIaFOKOgfJNanCvcyl7JKLd4DToc= github.com/confio/ics23/go v0.7.0 h1:00d2kukk7sPoHWL4zZBZwzxnpA2pec1NPdwbSokJ5w8= github.com/confio/ics23/go v0.7.0/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= +github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= 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= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= -github.com/cosmos/cosmos-proto v1.0.0-alpha7 h1:yqYUOHF2jopwZh4dVQp3xgqwftE5/2hkrwIV6vkUbO0= -github.com/cosmos/cosmos-proto v1.0.0-alpha7/go.mod h1:dosO4pSAbJF8zWCzCoTWP7nNsjcvSUBQmniFxDg5daw= -github.com/cosmos/cosmos-sdk v0.46.2 h1:3dUNqbLas94ud5aTcJKCwxVOmNXpuGBtVQTMrYczTwY= -github.com/cosmos/cosmos-sdk v0.46.2/go.mod h1:0aUPGPU6PWaDEaHNjtgrpNhgxo9bAUrQ7BO7XCvFOfs= +github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= +github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= +github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20221103211459-20448048a489 h1:3HuJpT0o0o7Tz1vrRI4qLhwTB/gPmXK3I1aj59WrKoQ= +github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20221103211459-20448048a489/go.mod h1:mX1Ax6w2xyHZQNHW4c9Vm2NFc/hzJnm04Dt/Y6eNBMA= 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 h1:UeGRcmFW41l0G0MiefWhkPEVEwvu78SZsHBvI78dAYw= +github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313 h1:R7CnaI/0OLwOusy7n9750n8fqQ3yCQ8OJQI2L3ws9RA= -github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v6 v6.0.0-20221104144119-b1f494c64328 h1:AOYqtFV6sls3gIbDL0SVAsDeMU7neFVwQNBg/Q5Dfkg= -github.com/cosmos/ibc-go/v6 v6.0.0-20221104144119-b1f494c64328/go.mod h1:z48BvFJ36CTRVWIK5Z7d49UhZkgLwzTivUrKke1cfkk= +github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= +github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= +github.com/cosmos/ibc-go/v6 v6.0.0-20221103215613-bfe1168c7ec0 h1:mATzkVrmxgRl7F9Xd8t22Y5ffL62+Tlbk4kTM1AK4BM= +github.com/cosmos/ibc-go/v6 v6.0.0-20221103215613-bfe1168c7ec0/go.mod h1:b8XbttSmUlxvN+WA7PfyU+ea5qDfRo5QKtUIr74/0XY= github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= 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.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= +github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +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/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= @@ -210,13 +225,16 @@ 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 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= +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/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= github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= +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 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= @@ -228,29 +246,36 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.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 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +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/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= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.10.20 h1:75IW830ClSS40yrQC1ZCMZCt5I+zU16oqId2SiQwdQ4= -github.com/ethereum/go-ethereum v1.10.20/go.mod h1:LWUN82TCHGpxB3En5HVmLLzPD7YSrEUFmFfN1nKkVN0= +github.com/ethereum/go-ethereum v1.10.21 h1:5lqsEx92ZaZzRyOqBEXux4/UR06m296RGzN3ol3teJY= +github.com/ethereum/go-ethereum v1.10.21/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 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= 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/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/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= @@ -261,11 +286,16 @@ github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 h1:QqwPZCwh/k1uYqq6uXSb9TRDhTkfQbO80v8zhnIe5zM= github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1/go.mod h1:Az6Jt+M5idSED2YPGtwnfJV0kXohgdCBPmHGSYc1r04= 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.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= 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-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= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= @@ -278,22 +308,38 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/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/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/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +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= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +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/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/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= -github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869 h1:kRpU4zq+Pzh4feET49aEWPOzwQy3U2SsbZEQ7QEcif0= +github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/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= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -301,7 +347,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -320,16 +365,16 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= +github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -342,20 +387,16 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -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/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 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= -github.com/google/martian/v3 v3.2.1/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= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= @@ -366,39 +407,36 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -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/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= 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= github.com/googleapis/enterprise-certificate-proxy v0.1.0 h1:zO8WHNx/MYiAKJ3d5spxZXZE6KHmIQGQcAzwUzV7qQw= -github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= -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 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.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.1/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/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/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +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= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= @@ -408,58 +446,80 @@ github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= 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 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.6.1 h1:NASsgP4q6tL94WH6nJxKWj8As2H/2kop/bB1d8JMyRY= -github.com/hashicorp/go-getter v1.6.1/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +github.com/hashicorp/go-getter v1.6.2 h1:7jX7xcB+uVCliddZgeKyNxv0xoT7qL5KDtH7rU4IqIk= 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 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= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= -github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= -github.com/hashicorp/go-uuid v1.0.0 h1:RS8zrF7PhGwyNPOtxSClXXj9HA8feRnJzgnI1RJCSnM= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= +github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= +github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= +github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= 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/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 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= github.com/inconshreveable/mousetrap v1.0.1/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.0.7 h1:ysQJVJA3fNDF1qigJbsSQOdjhVLsOEoPdh0+R97k3jY= github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= +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= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -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/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= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= 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.11/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/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= @@ -467,10 +527,11 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= 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.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.10.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.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= -github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM= +github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= @@ -479,32 +540,37 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxv 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.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= 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/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= +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/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-core v0.15.1 h1:0RY+Mi/ARK9DgG1g9xVQLb8dDaaU8tCePMtGALEfBnM= github.com/libp2p/go-libp2p-core v0.15.1/go.mod h1:agSaboYM4hzB1cWekgVReqV5M4g5M+2eNNejV+1EEhs= github.com/libp2p/go-openssl v0.0.7 h1:eCAzdLejcNVBzP/iZM9vqHnQm+XyCEbSSIheIPRGNsw= github.com/libp2p/go-openssl v0.0.7/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +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/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +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.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= 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 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +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.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0= @@ -512,28 +578,36 @@ github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4 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 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= 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= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= +github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= 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/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= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= 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/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= 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/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= @@ -560,11 +634,23 @@ github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXS 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/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/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= +github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +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/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/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= 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= @@ -576,22 +662,38 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= 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 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.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec= github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +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= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +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/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= 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.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.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= +github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +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= github.com/pierrec/xxHash v0.1.5/go.mod h1:w2waW5Zoa/Wc4Yqe0wgrIYAGKqRMf7czn2HNKXmuL+I= github.com/pierrre/gotestcover v0.0.0-20160517101806-924dca7d15f0/go.mod h1:4xpMLz7RBWyB+ElzHu8Llua96TRCB3YwX+l5EP1wmHk= @@ -599,42 +701,54 @@ github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE 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= +github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= 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/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 v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +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.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= -github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.13.1 h1:3gMjIY2+/hzmqhtUC/aQNYldJA6DtH3CgQvwS+02K1c= +github.com/prometheus/client_golang v1.13.1/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= 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= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +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.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.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= -github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= 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= 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.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.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= +github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= 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-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= +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 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= @@ -647,21 +761,30 @@ github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C 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.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= +github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= 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= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +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/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/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= +github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU= github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= @@ -673,12 +796,14 @@ github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfA 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.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/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 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= @@ -687,6 +812,9 @@ github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= 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/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.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.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -713,16 +841,23 @@ github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RM github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= 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/tendermint/tendermint v0.34.21 h1:UiGGnBFHVrZhoQVQ7EfwSOLuCtarqCSsRf8VrklqB7s= -github.com/tendermint/tendermint v0.34.21/go.mod h1:XDvfg6U7grcFTDx7VkzxnhazQ/bspGJAn4DZ6DcLLjQ= +github.com/tendermint/tendermint v0.37.0-rc1 h1:+m+u7s10QD+7vPh5MORrnYjulCdYtGuzjaqKumDKofY= +github.com/tendermint/tendermint v0.37.0-rc1/go.mod h1:z0MZllXL+s0PgIMMpf2P0PrMttQufQio3kUjY2zebeo= github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4= github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA= +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/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/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= -github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +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/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= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -733,8 +868,12 @@ github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266 h1:O9XLFXGkVswDFmH9LaYpqu+r/AAFWqr0DL6V00KEVFg= github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +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= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -742,9 +881,10 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +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.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -752,14 +892,18 @@ go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ 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.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= 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/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.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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= @@ -774,8 +918,8 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220817201139-bc19a97f63c8 h1:GIAS/yBem/gq2MUqgNIzUHW7cJMmx3TGZOrnyYaNQ6c= -golang.org/x/crypto v0.0.0-20220817201139-bc19a97f63c8/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= 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= @@ -786,8 +930,9 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= 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-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= +golang.org/x/exp v0.0.0-20221019170559-20944726eadf h1:nFVjjKDgNY37+ZSYCJmtYf7tOlfQswHqplG2eosjOMg= +golang.org/x/exp v0.0.0-20221019170559-20944726eadf/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= 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= @@ -801,7 +946,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -818,9 +962,12 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 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-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= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -831,6 +978,7 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL 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-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= @@ -838,6 +986,7 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= @@ -848,27 +997,18 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= 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= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= 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-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/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= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220726230323-06994584191e h1:wOQNKh1uuDGRnmgF0jDxh7ctgGy/3P4rYWQRVJD4/Yg= -golang.org/x/net v0.0.0-20220726230323-06994584191e/go.mod h1:AaygXjzTFtRAg2ttMY5RMuhpJ3cNnI0XpyFJD1iQRSM= +golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= 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= @@ -878,19 +1018,9 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2 h1:+jnHzr9VPj32ykQVai5DNahi9+NSp7yYuCsl5eAQtL0= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= 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= @@ -902,16 +1032,18 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -922,12 +1054,14 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w 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-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-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-20191026070338-33540a1f6037/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-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= @@ -939,6 +1073,7 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w 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= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= 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= @@ -955,55 +1090,35 @@ golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7w 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= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/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-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-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-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211107104306-e0b2ad06fe42/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= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220818161305-2296e01440c6 h1:Sx/u41w+OwrInGdEckYmEuU5gHoGSL4QbDz3S9s6j4U= -golang.org/x/sys v0.0.0-20220818161305-2296e01440c6/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 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= +golang.org/x/sys v0.1.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-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 h1:Q5284mrmYTpACcm+eAKjKJH48BBwSyfJqmmGDTtT8Vc= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= 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= @@ -1012,18 +1127,22 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= 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 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +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-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +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= 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= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= 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= @@ -1033,6 +1152,8 @@ golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgw 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= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1040,6 +1161,7 @@ golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1070,9 +1192,6 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -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.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= @@ -1081,10 +1200,9 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T 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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +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= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1104,29 +1222,9 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= google.golang.org/api v0.93.0 h1:T2xt9gi0gHdxdnRkVQhT8mIvPaXKNsDNWz+L696M66M= -google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= 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= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= @@ -1140,6 +1238,7 @@ google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRn 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-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= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1173,59 +1272,20 @@ google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6D 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= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959 h1:hw4Y42zL1VyVKxPgRHHh191fpVBGV8sNVmcow5Z8VXY= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a h1:GH6UPn3ixhWcKDhpnEC55S75cerLPdpp3hrhfKYjZgw= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +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.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +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.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= @@ -1235,27 +1295,16 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1269,7 +1318,6 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 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 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1278,10 +1326,10 @@ 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.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= 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/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= @@ -1289,6 +1337,7 @@ gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHN gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= 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= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1303,8 +1352,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 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/v3 v3.3.0 h1:MfDY1b1/0xN1CyMlQDac0ziEy9zJQd9CXBRRDHw2jJo= -gotest.tools/v3 v3.3.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= +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= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1350,10 +1399,13 @@ modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.5.1 h1:RTNHdsrOpeoSeOF4FbzTo8gBYByaJ5xT7NgZ9ZqRiJM= modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= -pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= -pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= +nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pgregory.net/rapid v0.5.3 h1:163N50IHFqr1phZens4FQOdPgfJscR7a562mjQqeo4M= +pgregory.net/rapid v0.5.3/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/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= 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/ibc/types.go b/ibc/types.go index 482932a0d..e8c637c7e 100644 --- a/ibc/types.go +++ b/ibc/types.go @@ -4,7 +4,7 @@ import ( "reflect" "strconv" - simappparams "github.com/cosmos/cosmos-sdk/simapp/params" + "github.com/cosmos/cosmos-sdk/types/module/testutil" ibcexported "github.com/cosmos/ibc-go/v6/modules/core/03-connection/types" ) @@ -39,7 +39,7 @@ type ChainConfig struct { // Override config parameters for files at filepath. ConfigFileOverrides map[string]any // Non-nil will override the encoding config, used for cosmos chains only. - EncodingConfig *simappparams.EncodingConfig + EncodingConfig *testutil.TestEncodingConfig } func (c ChainConfig) Clone() ChainConfig { diff --git a/interchain_test.go b/interchain_test.go index 0b3e82536..7b8405f6c 100644 --- a/interchain_test.go +++ b/interchain_test.go @@ -10,7 +10,6 @@ import ( cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" - "github.com/cosmos/cosmos-sdk/types" sdk "github.com/cosmos/cosmos-sdk/types" ibctest "github.com/strangelove-ventures/ibctest/v6" "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" @@ -196,7 +195,7 @@ func TestInterchain_CreateUser(t *testing.T) { _, mnemonic, err := kr.NewMnemonic( keyName, keyring.English, - hd.CreateHDPath(types.CoinType, 0, 0).String(), + hd.CreateHDPath(sdk.CoinType, 0, 0).String(), "", // Empty passphrase. hd.Secp256k1, ) @@ -286,7 +285,8 @@ func TestCosmosChain_BroadcastTx(t *testing.T) { t.Run("broadcast success", func(t *testing.T) { b := cosmos.NewBroadcaster(t, gaia0.(*cosmos.CosmosChain)) - transferAmount := types.Coin{Denom: gaia0.Config().Denom, Amount: types.NewInt(sendAmount)} + transferAmount := sdk.Coin{Denom: gaia0.Config().Denom, Amount: sdk.NewInt(sendAmount)} + memo := "" msg := transfertypes.NewMsgTransfer( "transfer", @@ -296,7 +296,7 @@ func TestCosmosChain_BroadcastTx(t *testing.T) { testUser.(*cosmos.CosmosWallet).FormattedAddressWithPrefix(gaia1.Config().Bech32Prefix), clienttypes.NewHeight(1, 1000), 0, - "", + memo, ) resp, err := cosmos.BroadcastTx(ctx, b, testUser.(*cosmos.CosmosWallet), msg) require.NoError(t, err) From 17d841172a356531213558969bda9ef0a7a6ff3d Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Fri, 4 Nov 2022 07:24:42 +0100 Subject: [PATCH 02/50] bump go --- .github/workflows/tests.yml | 22 +++++++++++----------- go.mod | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3f95a4981..40994ec84 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -6,9 +6,9 @@ on: branches: - main paths: - - '**.go' - - '**.mod' - - '**.sum' + - "**.go" + - "**.mod" + - "**.sum" jobs: test-unit: @@ -16,10 +16,10 @@ jobs: runs-on: [self-hosted, linux] steps: # Install and setup go - - name: Set up Go 1.18 + - name: Set up Go 1.19 uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 - name: checkout ibctest uses: actions/checkout@v3 @@ -38,10 +38,10 @@ jobs: runs-on: [self-hosted, linux] steps: # Install and setup go - - name: Set up Go 1.18 + - name: Set up Go 1.19 uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 - name: checkout ibctest uses: actions/checkout@v3 @@ -59,10 +59,10 @@ jobs: runs-on: [self-hosted, linux] steps: # Install and setup go - - name: Set up Go 1.18 + - name: Set up Go 1.19 uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 - name: checkout ibctest uses: actions/checkout@v3 @@ -80,10 +80,10 @@ jobs: runs-on: [self-hosted, linux] steps: # Install and setup go - - name: Set up Go 1.18 + - name: Set up Go 1.19 uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.19 - name: checkout ibctest uses: actions/checkout@v3 diff --git a/go.mod b/go.mod index ffe2b9a9d..aca211c1d 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/strangelove-ventures/ibctest/v6 -go 1.18 +go 1.19 require ( github.com/99designs/keyring v1.2.1 From 236a82011bcd6884e34c8e58a907615df6e616be Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Tue, 13 Dec 2022 11:57:32 +0100 Subject: [PATCH 03/50] updates --- chain/cosmos/codec.go | 38 ++++++++- go.mod | 78 +++++++++++------ go.sum | 192 +++++++++++++++++++++++++----------------- 3 files changed, 203 insertions(+), 105 deletions(-) diff --git a/chain/cosmos/codec.go b/chain/cosmos/codec.go index 23c77f3a5..68aba3471 100644 --- a/chain/cosmos/codec.go +++ b/chain/cosmos/codec.go @@ -5,14 +5,50 @@ import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module/testutil" + "github.com/cosmos/cosmos-sdk/x/auth" authTx "github.com/cosmos/cosmos-sdk/x/auth/tx" "github.com/cosmos/cosmos-sdk/x/bank" + "github.com/cosmos/cosmos-sdk/x/capability" + "github.com/cosmos/cosmos-sdk/x/consensus" + distr "github.com/cosmos/cosmos-sdk/x/distribution" + "github.com/cosmos/cosmos-sdk/x/genutil" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/cosmos/cosmos-sdk/x/gov" + govclient "github.com/cosmos/cosmos-sdk/x/gov/client" + "github.com/cosmos/cosmos-sdk/x/mint" + "github.com/cosmos/cosmos-sdk/x/params" + paramsclient "github.com/cosmos/cosmos-sdk/x/params/client" + "github.com/cosmos/cosmos-sdk/x/slashing" + "github.com/cosmos/cosmos-sdk/x/staking" + "github.com/cosmos/cosmos-sdk/x/upgrade" + upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" transfer "github.com/cosmos/ibc-go/v6/modules/apps/transfer" ibccore "github.com/cosmos/ibc-go/v6/modules/core" ) func DefaultEncoding() testutil.TestEncodingConfig { - return testutil.MakeTestEncodingConfig(bank.AppModuleBasic{}, transfer.AppModuleBasic{}, ibccore.AppModuleBasic{}) + return testutil.MakeTestEncodingConfig( + auth.AppModuleBasic{}, + genutil.NewAppModuleBasic(genutiltypes.DefaultMessageValidator), + bank.AppModuleBasic{}, + capability.AppModuleBasic{}, + staking.AppModuleBasic{}, + mint.AppModuleBasic{}, + distr.AppModuleBasic{}, + gov.NewAppModuleBasic( + []govclient.ProposalHandler{ + paramsclient.ProposalHandler, + upgradeclient.LegacyProposalHandler, + upgradeclient.LegacyCancelProposalHandler, + }, + ), + params.AppModuleBasic{}, + slashing.AppModuleBasic{}, + upgrade.AppModuleBasic{}, + consensus.AppModuleBasic{}, + transfer.AppModuleBasic{}, + ibccore.AppModuleBasic{}, + ) } func decodeTX(interfaceRegistry codectypes.InterfaceRegistry, txbz []byte) (sdk.Tx, error) { diff --git a/go.mod b/go.mod index aca211c1d..11e839781 100644 --- a/go.mod +++ b/go.mod @@ -10,9 +10,9 @@ require ( github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 - github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20221103211459-20448048a489 + github.com/cosmos/cosmos-sdk v0.47.0-alpha2.0.20221208102534-4997976e49ce github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/ibc-go/v6 v6.0.0-20221103215613-bfe1168c7ec0 + github.com/cosmos/ibc-go/v6 v6.0.0-20221212195438-6a9f0d7f2631 github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 github.com/docker/docker v20.10.17+incompatible @@ -25,13 +25,13 @@ require ( github.com/mr-tron/base58 v1.2.0 github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 github.com/stretchr/testify v1.8.1 - github.com/tendermint/tendermint v0.37.0-rc1 + github.com/tendermint/tendermint v0.37.0-rc2 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 - golang.org/x/crypto v0.1.0 - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 + golang.org/x/crypto v0.3.0 + golang.org/x/sync v0.1.0 golang.org/x/tools v0.1.12 - google.golang.org/grpc v1.50.1 + google.golang.org/grpc v1.51.0 gopkg.in/yaml.v3 v3.0.1 modernc.org/sqlite v1.17.3 ) @@ -39,35 +39,43 @@ require ( //require github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 require ( - cosmossdk.io/api v0.2.4 // indirect + cloud.google.com/go v0.105.0 // indirect + cloud.google.com/go/compute v1.12.1 // indirect + cloud.google.com/go/compute/metadata v0.2.1 // indirect + cloud.google.com/go/iam v0.7.0 // indirect + cloud.google.com/go/storage v1.27.0 // indirect + cosmossdk.io/api v0.2.5 // indirect cosmossdk.io/core v0.3.2 // 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-beta.3 // indirect + cosmossdk.io/math v1.0.0-beta.4 // indirect + cosmossdk.io/tools/rosetta v0.2.0 // indirect filippo.io/edwards25519 v1.0.0-rc.1 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect github.com/Microsoft/go-winio v0.5.2 // indirect github.com/armon/go-metrics v0.4.1 // indirect + github.com/aws/aws-sdk-go v1.40.45 // 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.0 // indirect github.com/btcsuite/btcd v0.22.3 // indirect - github.com/btcsuite/btcd/btcec/v2 v2.3.0 // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect - github.com/coinbase/rosetta-sdk-go v0.8.1 // indirect - github.com/confio/ics23/go v0.7.0 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect + github.com/confio/ics23/go v0.9.0 // indirect + github.com/cosmos/btcutil v1.0.5 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.1 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.2 // indirect + github.com/cosmos/gogoproto v1.4.3 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/cosmos/iavl v0.19.4 // indirect - github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect - github.com/cosmos/ledger-go v0.9.2 // indirect + github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab // indirect + github.com/cosmos/ledger-cosmos-go v0.12.1 // indirect + github.com/cosmos/rosetta-sdk-go v0.9.0 // indirect github.com/creachadair/taskgroup v0.3.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/deckarep/golang-set v1.8.0 // indirect @@ -84,7 +92,7 @@ require ( github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/ethereum/go-ethereum v1.10.21 // indirect github.com/felixge/httpsnoop v1.0.2 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gdamore/encoding v1.0.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect @@ -94,12 +102,15 @@ require ( github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869 // indirect github.com/gogo/protobuf v1.3.3 // indirect github.com/golang/glog v1.0.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/mock v1.6.0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/uuid v1.3.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect + github.com/googleapis/gax-go/v2 v2.6.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 @@ -108,7 +119,10 @@ require ( github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect 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.6.2 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect @@ -116,6 +130,7 @@ require ( github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/ipfs/go-cid v0.0.7 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/klauspost/compress v1.15.12 // indirect @@ -126,6 +141,7 @@ require ( github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/magiconair/properties v1.8.6 // 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.16 // indirect github.com/mattn/go-runewidth v0.0.13 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect @@ -133,6 +149,8 @@ require ( github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/minio/sha256-simd v1.0.0 // indirect + github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/mitchellh/go-testing-interface v1.0.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect github.com/multiformats/go-base32 v0.0.3 // indirect @@ -150,8 +168,8 @@ require ( 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.13.1 // indirect - github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect github.com/rakyll/statik v0.1.7 // indirect @@ -159,34 +177,42 @@ require ( github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect github.com/rivo/uniseg v0.2.0 // indirect github.com/rs/cors v1.8.2 // indirect + github.com/rs/zerolog v1.28.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 github.com/spaolacci/murmur3 v1.1.0 // indirect - github.com/spf13/afero v1.8.2 // indirect + github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.13.0 // indirect + github.com/spf13/viper v1.14.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a // indirect github.com/tendermint/btcd v0.1.1 // indirect github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/tendermint/tm-db v0.6.7 // indirect + github.com/ulikunitz/xz v0.5.8 // indirect github.com/vedhavyas/go-subkey v1.0.3 // indirect - github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266 // indirect + github.com/zondax/hid v0.9.1 // indirect + github.com/zondax/ledger-go v0.14.0 // indirect go.etcd.io/bbolt v1.3.6 // indirect + go.opencensus.io v0.23.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/goleak v1.1.12 // indirect golang.org/x/exp v0.0.0-20221019170559-20944726eadf // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.1.0 // indirect - golang.org/x/sys v0.1.0 // indirect - golang.org/x/term v0.1.0 // indirect + golang.org/x/net v0.2.0 // indirect + golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect + golang.org/x/sys v0.2.0 // indirect + golang.org/x/term v0.2.0 // indirect golang.org/x/text v0.4.0 // indirect - google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/api v0.102.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect diff --git a/go.sum b/go.sum index 10cc0145d..15efe5aec 100644 --- a/go.sum +++ b/go.sum @@ -17,17 +17,23 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.102.1 h1:vpK6iQWv/2uUeFJth4/cBHsQAGjn1iIE6AAlxipRaA0= +cloud.google.com/go v0.105.0 h1:DNtEKRBAAzeS4KyIory52wWHuClNaXJ5x1F7xa4q+5Y= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= +cloud.google.com/go/compute v1.12.1 h1:gKVJMEyqV5c/UnpzjjQbo3Rjvvqpr9B1DFSbJC4OXr0= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.4.0 h1:YBYU00SCDzZJdHqVc4I5d6lsklcYIjQZa1YmEz4jlSE= +cloud.google.com/go/iam v0.7.0 h1:k4MuwOsS7zGJJ+QfZ5vBK8SgHBAvYN/23BWsiihJ1vs= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -38,17 +44,20 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.22.1 h1:F6IlQJZrZM++apn9V5/VfS3gbTUYg98PS3EMQAzqtfg= -cosmossdk.io/api v0.2.4 h1:o2t77GXWWEN5egCzD2ZyyFgbsoAif/XdF3T+/sAYiHQ= -cosmossdk.io/api v0.2.4/go.mod h1:7xfxe8ghXHoKj3W2oG/HcuxGVwUHN3q8piiIEiJ3CEU= +cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cosmossdk.io/api v0.2.5 h1:XKq7CAxTWs7JObceQKkjdI9J+aLB8ofXDGBEaPcPsks= +cosmossdk.io/api v0.2.5/go.mod h1:vxhlMTeKWgQUaanTHPq7/vR3dkhhJ6pOgXK0EIBrBYw= cosmossdk.io/core v0.3.2 h1:KlQIufpJHJvOs7YLGTZsZcCo1WlkencDXepsr8STKZQ= cosmossdk.io/core v0.3.2/go.mod h1:CO7vbe+evrBvHc0setFHL/u7nlY7HJGzdRSBkT/sirc= 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/math v1.0.0-beta.3 h1:TbZxSopz2LqjJ7aXYfn7nJSb8vNaBklW6BLpcei1qwM= -cosmossdk.io/math v1.0.0-beta.3/go.mod h1:3LYasri3Zna4XpbrTNdKsWmD5fHHkaNAod/mNT9XdE4= +cosmossdk.io/math v1.0.0-beta.4 h1:JtKedVLGzA0vv84xjYmZ75RKG35Kf2WwcFu8IjRkIIw= +cosmossdk.io/math v1.0.0-beta.4/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM= +cosmossdk.io/tools/rosetta v0.2.0 h1:Ae499UiZ9yPNCXvjOBO/R9I1pksCJfxoqWauEZgA/gs= +cosmossdk.io/tools/rosetta v0.2.0/go.mod h1:3mn8QuE2wLUdTi77/gbDXdFqXZdBdiBJhgAWUTSXPv8= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= @@ -80,7 +89,6 @@ github.com/StirlingMarketingGroup/go-namecase v1.0.0/go.mod h1:ZsoSKcafcAzuBx+sn 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/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= @@ -103,8 +111,10 @@ github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn github.com/avast/retry-go/v4 v4.0.4 h1:38hLf0DsRXh+hOF6HbTni0+5QGTNdw9zbaMD7KAO830= github.com/avast/retry-go/v4 v4.0.4/go.mod h1:HqmLvS2VLdStPCGDFjSuZ9pzlTqVRldCI4w2dO4m1Ms= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.40.45 h1:QN1nsY27ssD/JmW4s83qmSb+uL6DG4GmCDzjmJB4xUI= +github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= @@ -114,24 +124,16 @@ github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+Ce github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= -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/btcec/v2 v2.3.0 h1:S/6K1GEwlEsFzZP4cOOl5mg6PEd/pr0zz7hvXcaxhJ4= -github.com/btcsuite/btcd/btcec/v2 v2.3.0/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= +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/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -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/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/snappy-go v0.0.0-20151229074030-0bdef8d06723/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/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= @@ -146,6 +148,7 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= @@ -168,39 +171,41 @@ github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b80 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/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/rosetta-sdk-go v0.8.1 h1:WE+Temc8iz7Ra7sCpV9ymBJx78vItqFJ2xcSiPet1Pc= -github.com/coinbase/rosetta-sdk-go v0.8.1/go.mod h1:tXPR6AIW9ogsH4tYIaFOKOgfJNanCvcyl7JKLd4DToc= -github.com/confio/ics23/go v0.7.0 h1:00d2kukk7sPoHWL4zZBZwzxnpA2pec1NPdwbSokJ5w8= -github.com/confio/ics23/go v0.7.0/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= +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/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= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +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-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= -github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= -github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= -github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= -github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20221103211459-20448048a489 h1:3HuJpT0o0o7Tz1vrRI4qLhwTB/gPmXK3I1aj59WrKoQ= -github.com/cosmos/cosmos-sdk v0.46.0-beta2.0.20221103211459-20448048a489/go.mod h1:mX1Ax6w2xyHZQNHW4c9Vm2NFc/hzJnm04Dt/Y6eNBMA= +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.1 h1:iDL5qh++NoXxG8hSy93FdYJut4XfgbShIocllGaXx/0= +github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= +github.com/cosmos/cosmos-sdk v0.47.0-alpha2.0.20221208102534-4997976e49ce h1:DpLpK+tjKVmZ8Uu8jW+8Hhh/KP/C19govUkoXDzi1Ww= +github.com/cosmos/cosmos-sdk v0.47.0-alpha2.0.20221208102534-4997976e49ce/go.mod h1:uxSbJ8xSato49U0ARdReqDHLydHg5nOPoeZdRWRu0pM= 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 h1:UeGRcmFW41l0G0MiefWhkPEVEwvu78SZsHBvI78dAYw= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= +github.com/cosmos/gogoproto v1.4.3 h1:RP3yyVREh9snv/lsOvmsAPQt8f44LgL281X0IOIhhcI= +github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v6 v6.0.0-20221103215613-bfe1168c7ec0 h1:mATzkVrmxgRl7F9Xd8t22Y5ffL62+Tlbk4kTM1AK4BM= -github.com/cosmos/ibc-go/v6 v6.0.0-20221103215613-bfe1168c7ec0/go.mod h1:b8XbttSmUlxvN+WA7PfyU+ea5qDfRo5QKtUIr74/0XY= -github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= -github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= -github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= -github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= +github.com/cosmos/ibc-go/v6 v6.0.0-20221212195438-6a9f0d7f2631 h1:io3wqaKxf8g2gsrjaR/eCzzROXl85yEWlMW9ZG788TQ= +github.com/cosmos/ibc-go/v6 v6.0.0-20221212195438-6a9f0d7f2631/go.mod h1:DWC+K7CMOO8GAFF1xFj7V4MZ5wtcGyb3fk8ZM83B6Vo= +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.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= +github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= +github.com/cosmos/rosetta-sdk-go v0.9.0 h1:3mj2naR+GUhUXabtb96WWSsPFZDCYkdtp6r0jffgugg= +github.com/cosmos/rosetta-sdk-go v0.9.0/go.mod h1:2v41yXL25xxAXrczVSnbDHcQH9CgildruDlGQGKW/JU= 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.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= @@ -211,7 +216,6 @@ github.com/cucumber/common/gherkin/go/v22 v22.0.0 h1:4K8NqptbvdOrjL9DEea6HFjSpbd github.com/cucumber/common/messages/go/v17 v17.1.1 h1:RNqopvIFyLWnKv0LfATh34SWBhXeoFTJnSrgm9cT/Ts= 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= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -279,8 +283,9 @@ github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2 github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= 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 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= 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/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 h1:QqwPZCwh/k1uYqq6uXSb9TRDhTkfQbO80v8zhnIe5zM= @@ -328,6 +333,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/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869 h1:kRpU4zq+Pzh4feET49aEWPOzwQy3U2SsbZEQ7QEcif0= @@ -340,6 +346,7 @@ github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4er 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= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= @@ -392,9 +399,11 @@ github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN 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/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 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= 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= @@ -413,11 +422,12 @@ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.1.2/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.1.0 h1:zO8WHNx/MYiAKJ3d5spxZXZE6KHmIQGQcAzwUzV7qQw= +github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= -github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= +github.com/googleapis/gax-go/v2 v2.6.0 h1:SXk3ABtQYDT/OH8jAyvEOQ58mgawq5C4o/4/89qN2ZU= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= 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= @@ -452,7 +462,9 @@ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv 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.6.2 h1:7jX7xcB+uVCliddZgeKyNxv0xoT7qL5KDtH7rU4IqIk= +github.com/hashicorp/go-getter v1.6.2/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= 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= @@ -461,11 +473,13 @@ github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHh 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= github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -500,15 +514,17 @@ github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/ipfs/go-cid v0.0.7 h1:ysQJVJA3fNDF1qigJbsSQOdjhVLsOEoPdh0+R97k3jY= github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= -github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/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-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= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +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/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= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -526,8 +542,8 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNU github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= 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.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/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.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM= @@ -565,12 +581,17 @@ github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPK 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.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= 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= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0= @@ -714,15 +735,16 @@ github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3O github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= 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/client_golang v1.13.1 h1:3gMjIY2+/hzmqhtUC/aQNYldJA6DtH3CgQvwS+02K1c= -github.com/prometheus/client_golang v1.13.1/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= +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-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= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= 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.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= @@ -765,6 +787,9 @@ github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XF github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY= +github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= 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= @@ -791,8 +816,8 @@ 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.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.9.2/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= @@ -808,8 +833,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.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= -github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= +github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= +github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= 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/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -841,8 +866,8 @@ github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RM github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= 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/tendermint/tendermint v0.37.0-rc1 h1:+m+u7s10QD+7vPh5MORrnYjulCdYtGuzjaqKumDKofY= -github.com/tendermint/tendermint v0.37.0-rc1/go.mod h1:z0MZllXL+s0PgIMMpf2P0PrMttQufQio3kUjY2zebeo= +github.com/tendermint/tendermint v0.37.0-rc2 h1:2n1em+jfbhSv6QnBj8F6KHCpbIzZCB8KgcjidJUQNlY= +github.com/tendermint/tendermint v0.37.0-rc2/go.mod h1:uYQO9DRNPeZROa9X3hJOZpYcVREDC2/HST+EiU5g2+A= github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4= @@ -855,6 +880,7 @@ github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljT 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/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= +github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= 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/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= @@ -865,9 +891,10 @@ 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.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266 h1:O9XLFXGkVswDFmH9LaYpqu+r/AAFWqr0DL6V00KEVFg= -github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +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.0 h1:dlMC7aO8Wss1CxBq2I96kZ69Nh1ligzbs8UWOtq/AsA= +github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= @@ -881,6 +908,7 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= 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= @@ -901,7 +929,6 @@ 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.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/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= @@ -912,14 +939,13 @@ golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8U 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-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= 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= @@ -997,18 +1023,20 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= 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= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/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-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= 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= @@ -1020,7 +1048,8 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2 h1:+jnHzr9VPj32ykQVai5DNahi9+NSp7yYuCsl5eAQtL0= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= 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= @@ -1032,8 +1061,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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/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= @@ -1098,27 +1127,31 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/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-20211107104306-e0b2ad06fe42/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/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-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +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 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= +golang.org/x/sys v0.2.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-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/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 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= 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= @@ -1134,7 +1167,7 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb 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-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858 h1:Dpdu/EMxGMFgq0CeYMh4fazTD2vtlZRYE7wyynxJb9U= 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= @@ -1201,7 +1234,8 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0= +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.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= @@ -1222,7 +1256,8 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.93.0 h1:T2xt9gi0gHdxdnRkVQhT8mIvPaXKNsDNWz+L696M66M= +google.golang.org/api v0.102.0 h1:JxJl2qQ85fRMPNvlZY/enexbxpCjLwGhZUtgfGeQ51I= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= 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= @@ -1275,8 +1310,8 @@ google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a h1:GH6UPn3ixhWcKDhpnEC55S75cerLPdpp3hrhfKYjZgw= -google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= 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= @@ -1303,8 +1338,8 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY= -google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= 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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1327,6 +1362,7 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 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= +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= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= From b80db9ebf440540200cbd7d962b5a4b69223aab3 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Tue, 13 Dec 2022 11:58:53 +0100 Subject: [PATCH 04/50] updates --- chain/internal/tendermint/events.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chain/internal/tendermint/events.go b/chain/internal/tendermint/events.go index 3e65d2ac3..b08bb5c6c 100644 --- a/chain/internal/tendermint/events.go +++ b/chain/internal/tendermint/events.go @@ -13,8 +13,8 @@ func AttributeValue(events []abcitypes.Event, eventType, attrKey string) (string continue } for _, attr := range event.Attributes { - if string(attr.Key) == attrKey { - return string(attr.Value), true + if attr.Key == attrKey { + return attr.Value, true } } } From cc55b435975b29ad19caeb72afa3f902899fa505 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Tue, 13 Dec 2022 17:43:29 +0100 Subject: [PATCH 05/50] feedback --- chain/cosmos/codec.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/chain/cosmos/codec.go b/chain/cosmos/codec.go index 68aba3471..d2467e415 100644 --- a/chain/cosmos/codec.go +++ b/chain/cosmos/codec.go @@ -22,8 +22,10 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking" "github.com/cosmos/cosmos-sdk/x/upgrade" upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" + transfer "github.com/cosmos/ibc-go/v6/modules/apps/transfer" ibccore "github.com/cosmos/ibc-go/v6/modules/core" + ibctm "github.com/cosmos/ibc-go/v6/modules/light-clients/07-tendermint" ) func DefaultEncoding() testutil.TestEncodingConfig { @@ -48,6 +50,7 @@ func DefaultEncoding() testutil.TestEncodingConfig { consensus.AppModuleBasic{}, transfer.AppModuleBasic{}, ibccore.AppModuleBasic{}, + ibctm.AppModuleBasic{}, ) } From 0bf5f38715a75558576d5959fc9c4d8fdc74c30c Mon Sep 17 00:00:00 2001 From: Cian Hatton Date: Wed, 11 Jan 2023 19:44:09 +0000 Subject: [PATCH 06/50] Fix BroadcastSync for cosmos broadcaster (#360) * Fix BroadcastSync for cosmos broadcaster * Fixing docstring --- .gitignore | 4 ++- chain/cosmos/broadcaster.go | 32 ++++++++++++++++++- testutil/{wait_for_blocks.go => wait.go} | 25 +++++++++++++++ .../{wait_for_blocks_test.go => wait_test.go} | 0 4 files changed, 59 insertions(+), 2 deletions(-) rename testutil/{wait_for_blocks.go => wait.go} (74%) rename testutil/{wait_for_blocks_test.go => wait_test.go} (100%) diff --git a/.gitignore b/.gitignore index 43241f22a..cb53a9ff0 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ # regardless of where it was built. ibctest.test -/bin \ No newline at end of file +/bin +.idea +vendor diff --git a/chain/cosmos/broadcaster.go b/chain/cosmos/broadcaster.go index 05fc86931..94bac3c3d 100644 --- a/chain/cosmos/broadcaster.go +++ b/chain/cosmos/broadcaster.go @@ -6,6 +6,7 @@ import ( "fmt" "path" "testing" + "time" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" @@ -13,8 +14,10 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keyring" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/tx/signing" + authTx "github.com/cosmos/cosmos-sdk/x/auth/tx" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v6/testutil" ) type ClientContextOpt func(clientContext client.Context) client.Context @@ -202,5 +205,32 @@ func BroadcastTx(ctx context.Context, broadcaster *Broadcaster, broadcastingUser return sdk.TxResponse{}, err } - return broadcaster.UnmarshalTxResponseBytes(ctx, txBytes) + err = testutil.WaitForCondition(time.Second*30, time.Second*5, func() (bool, error) { + _, err := broadcaster.GetTxResponseBytes(ctx, broadcastingUser) + if err != nil { + return false, nil + } + return true, nil + }) + + if err != nil { + return sdk.TxResponse{}, err + } + + txBytes, err = broadcaster.GetTxResponseBytes(ctx, broadcastingUser) + if err != nil { + return sdk.TxResponse{}, err + } + + respWithTxHash, err := broadcaster.UnmarshalTxResponseBytes(ctx, txBytes) + if err != nil { + return sdk.TxResponse{}, err + } + + resp, err := authTx.QueryTx(cc, respWithTxHash.TxHash) + if err != nil { + return sdk.TxResponse{}, err + } + + return *resp, nil } diff --git a/testutil/wait_for_blocks.go b/testutil/wait.go similarity index 74% rename from testutil/wait_for_blocks.go rename to testutil/wait.go index 32ac68686..f3788afbe 100644 --- a/testutil/wait_for_blocks.go +++ b/testutil/wait.go @@ -3,6 +3,7 @@ package testutil import ( "context" "fmt" + "time" "golang.org/x/sync/errgroup" ) @@ -112,3 +113,27 @@ func (h *height) update(height uint64) { } h.current = height } + +// WaitForCondition periodically executes the given function fn based on the provided pollingInterval. +// The function fn should return true of the desired condition is met. If the function never returns true within the timeoutAfter +// period, or fn returns an error, the condition will not have been met. +func WaitForCondition(timeoutAfter, pollingInterval time.Duration, fn func() (bool, error)) error { + ctx, cancel := context.WithTimeout(context.Background(), timeoutAfter) + defer cancel() + + for { + select { + case <-ctx.Done(): + return fmt.Errorf("failed waiting for condition after %f seconds", timeoutAfter.Seconds()) + case <-time.After(pollingInterval): + reachedCondition, err := fn() + if err != nil { + return fmt.Errorf("error occurred while waiting for condition: %s", err) + } + + if reachedCondition { + return nil + } + } + } +} diff --git a/testutil/wait_for_blocks_test.go b/testutil/wait_test.go similarity index 100% rename from testutil/wait_for_blocks_test.go rename to testutil/wait_test.go From 0350de5d10254b0265bfae6a4914849a453d5545 Mon Sep 17 00:00:00 2001 From: Andrew Gouin Date: Tue, 10 Jan 2023 21:06:09 -0700 Subject: [PATCH 07/50] public grpc, register tmlightclient codecs as no longer by default, attempt base64 decode on key if string value doesn't match for backwards compatibility Add test for IBC with chains pre/post SDK 47 upgrade --- chain/cosmos/chain_node.go | 8 + chain/internal/tendermint/events.go | 15 ++ configuredChains.yaml | 14 ++ examples/cosmos/sdk_47_boundary_test.go | 89 +++++++++ go.mod | 19 +- go.sum | 234 ++++++++++++++++++++++-- relayer/rly/cosmos_relayer.go | 3 +- 7 files changed, 354 insertions(+), 28 deletions(-) create mode 100644 examples/cosmos/sdk_47_boundary_test.go diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index 50d2b13cf..29706b987 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -239,6 +239,14 @@ func (tn *ChainNode) SetTestConfig(ctx context.Context) error { a := make(testutil.Toml) a["minimum-gas-prices"] = tn.Chain.Config().GasPrices + + grpc := make(testutil.Toml) + + // Enable public GRPC + grpc["address"] = "0.0.0.0:9090" + + a["grpc"] = grpc + return testutil.ModifyTomlConfigFile( ctx, tn.logger(), diff --git a/chain/internal/tendermint/events.go b/chain/internal/tendermint/events.go index b08bb5c6c..bb9c086a4 100644 --- a/chain/internal/tendermint/events.go +++ b/chain/internal/tendermint/events.go @@ -1,6 +1,8 @@ package tendermint import ( + "encoding/base64" + abcitypes "github.com/tendermint/tendermint/abci/types" ) @@ -16,6 +18,19 @@ func AttributeValue(events []abcitypes.Event, eventType, attrKey string) (string if attr.Key == attrKey { return attr.Value, true } + + // tendermint < v0.37-alpha returns base64 encoded strings in events. + key, err := base64.StdEncoding.DecodeString(attr.Key) + if err != nil { + continue + } + if string(key) == attrKey { + value, err := base64.StdEncoding.DecodeString(attr.Value) + if err != nil { + continue + } + return string(value), true + } } } return "", false diff --git a/configuredChains.yaml b/configuredChains.yaml index f8da76299..3f5072928 100644 --- a/configuredChains.yaml +++ b/configuredChains.yaml @@ -59,6 +59,20 @@ icad: uid-gid: 1025:1025 no-host-mount: false +ibc-go-simd: + name: ibc-go-simd + type: cosmos + bin: simd + bech32-prefix: cosmos + denom: photon + gas-prices: 0.0photon + gas-adjustment: 1.2 + trusting-period: 504h + images: + - repository: ghcr.io/strangelove-ventures/heighliner/ibc-go-simd + uid-gid: 1025:1025 + no-host-mount: false + juno: name: juno type: cosmos diff --git a/examples/cosmos/sdk_47_boundary_test.go b/examples/cosmos/sdk_47_boundary_test.go new file mode 100644 index 000000000..ab84300f7 --- /dev/null +++ b/examples/cosmos/sdk_47_boundary_test.go @@ -0,0 +1,89 @@ +package cosmos_test + +import ( + "context" + "testing" + + ibctest "github.com/strangelove-ventures/ibctest/v6" + "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v6/conformance" + "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v6/relayer" + "github.com/strangelove-ventures/ibctest/v6/relayer/rly" + "github.com/strangelove-ventures/ibctest/v6/testreporter" + "github.com/stretchr/testify/require" + "go.uber.org/zap/zaptest" +) + +func TestSDK47Boundary(t *testing.T) { + if testing.Short() { + t.Skip("skipping in short mode") + } + + t.Parallel() + + cf := ibctest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*ibctest.ChainSpec{ + { + Name: "gaia", + ChainName: "gaia", + Version: "v7.0.3", + }, + { + Name: "ibc-go-simd", + ChainName: "ibc-go-simd", + Version: "andrew-47-rc1", + }, + }) + + chains, err := cf.Chains(t.Name()) + require.NoError(t, err) + + client, network := ibctest.DockerSetup(t) + + chain, counterpartyChain := chains[0].(*cosmos.CosmosChain), chains[1].(*cosmos.CosmosChain) + + const ( + path = "ibc-path" + relayerName = "relayer" + ) + + // Get a relayer instance + rf := ibctest.NewBuiltinRelayerFactory( + ibc.CosmosRly, + zaptest.NewLogger(t), + relayer.StartupFlags("-b", "100"), + relayer.CustomDockerImage("ghcr.io/cosmos/relayer", "andrew-tendermint_v0.37", rly.RlyDefaultUidGid), + relayer.ImagePull(false), + ) + + r := rf.Build(t, client, network) + + ic := ibctest.NewInterchain(). + AddChain(chain). + AddChain(counterpartyChain). + AddRelayer(r, relayerName). + AddLink(ibctest.InterchainLink{ + Chain1: chain, + Chain2: counterpartyChain, + Relayer: r, + Path: path, + }) + + ctx := context.Background() + + rep := testreporter.NewNopReporter() + + require.NoError(t, ic.Build(ctx, rep.RelayerExecReporter(t), ibctest.InterchainBuildOptions{ + TestName: t.Name(), + Client: client, + NetworkID: network, + BlockDatabaseFile: ibctest.DefaultBlockDatabaseFilepath(), + SkipPathCreation: false, + })) + t.Cleanup(func() { + _ = ic.Close() + }) + + // test IBC conformance + conformance.TestChainPair(t, ctx, client, network, chain, counterpartyChain, rf, rep, r, path) +} diff --git a/go.mod b/go.mod index 11e839781..b37d69bc1 100644 --- a/go.mod +++ b/go.mod @@ -10,9 +10,9 @@ require ( github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 - github.com/cosmos/cosmos-sdk v0.47.0-alpha2.0.20221208102534-4997976e49ce + github.com/cosmos/cosmos-sdk v0.47.0-rc1 github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/ibc-go/v6 v6.0.0-20221212195438-6a9f0d7f2631 + github.com/cosmos/ibc-go/v6 v6.0.0-20230112164833-fb2c8bfb3a3d github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 github.com/docker/docker v20.10.17+incompatible @@ -28,7 +28,7 @@ require ( github.com/tendermint/tendermint v0.37.0-rc2 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 - golang.org/x/crypto v0.3.0 + golang.org/x/crypto v0.4.0 golang.org/x/sync v0.1.0 golang.org/x/tools v0.1.12 google.golang.org/grpc v1.51.0 @@ -44,7 +44,7 @@ require ( cloud.google.com/go/compute/metadata v0.2.1 // indirect cloud.google.com/go/iam v0.7.0 // indirect cloud.google.com/go/storage v1.27.0 // indirect - cosmossdk.io/api v0.2.5 // indirect + cosmossdk.io/api v0.2.6 // indirect cosmossdk.io/core v0.3.2 // indirect cosmossdk.io/depinject v1.0.0-alpha.3 // indirect cosmossdk.io/errors v1.0.0-beta.7 // indirect @@ -90,7 +90,7 @@ require ( github.com/docker/go-units v0.4.0 // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/ethereum/go-ethereum v1.10.21 // indirect + github.com/ethereum/go-ethereum v1.10.17 // indirect github.com/felixge/httpsnoop v1.0.2 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gdamore/encoding v1.0.0 // indirect @@ -194,6 +194,7 @@ require ( github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect github.com/tendermint/go-amino v0.16.0 // indirect github.com/tendermint/tm-db v0.6.7 // indirect + github.com/tidwall/btree v1.5.2 // indirect github.com/ulikunitz/xz v0.5.8 // indirect github.com/vedhavyas/go-subkey v1.0.3 // indirect github.com/zondax/hid v0.9.1 // indirect @@ -204,11 +205,11 @@ require ( go.uber.org/goleak v1.1.12 // indirect golang.org/x/exp v0.0.0-20221019170559-20944726eadf // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.2.0 // indirect + golang.org/x/net v0.3.0 // indirect golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect - golang.org/x/sys v0.2.0 // indirect - golang.org/x/term v0.2.0 // indirect - golang.org/x/text v0.4.0 // indirect + golang.org/x/sys v0.3.0 // indirect + golang.org/x/term v0.3.0 // indirect + golang.org/x/text v0.5.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.102.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/go.sum b/go.sum index 15efe5aec..8d1afc7ce 100644 --- a/go.sum +++ b/go.sum @@ -1,12 +1,14 @@ 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= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -25,6 +27,7 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= cloud.google.com/go/compute v1.12.1 h1:gKVJMEyqV5c/UnpzjjQbo3Rjvvqpr9B1DFSbJC4OXr0= cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48= @@ -46,8 +49,9 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cosmossdk.io/api v0.2.5 h1:XKq7CAxTWs7JObceQKkjdI9J+aLB8ofXDGBEaPcPsks= -cosmossdk.io/api v0.2.5/go.mod h1:vxhlMTeKWgQUaanTHPq7/vR3dkhhJ6pOgXK0EIBrBYw= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +cosmossdk.io/api v0.2.6 h1:AoNwaLLapcLsphhMK6+o0kZl+D6MMUaHVqSdwinASGU= +cosmossdk.io/api v0.2.6/go.mod h1:u/d+GAxil0nWpl1XnQL8nkziQDIWuBDhv8VnDm/s6dI= cosmossdk.io/core v0.3.2 h1:KlQIufpJHJvOs7YLGTZsZcCo1WlkencDXepsr8STKZQ= cosmossdk.io/core v0.3.2/go.mod h1:CO7vbe+evrBvHc0setFHL/u7nlY7HJGzdRSBkT/sirc= cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= @@ -65,6 +69,9 @@ 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.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= +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-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0= @@ -74,6 +81,7 @@ github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQ 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/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= 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.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= @@ -84,19 +92,25 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE 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/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/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= 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= 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/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= 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= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -116,6 +130,15 @@ github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN github.com/aws/aws-sdk-go v1.40.45 h1:QN1nsY27ssD/JmW4s83qmSb+uL6DG4GmCDzjmJB4xUI= github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +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/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.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -127,13 +150,18 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1U github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= 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/btcec/v2 v2.1.2/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/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/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= 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= @@ -143,6 +171,7 @@ github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 h1:HW3XP9G3mXr0gYPfxCAQLD29u+Ys0uIeotv9RWfnhrM= github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10/go.mod h1:5g1oM4Zu3BOaLpsKQ+O8PAv2kNuq+kPcA1VzFbsSqxE= +github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= 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= @@ -159,6 +188,7 @@ github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6D 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/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= 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= @@ -173,6 +203,8 @@ 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/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/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= 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= @@ -184,8 +216,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.1 h1:iDL5qh++NoXxG8hSy93FdYJut4XfgbShIocllGaXx/0= github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= -github.com/cosmos/cosmos-sdk v0.47.0-alpha2.0.20221208102534-4997976e49ce h1:DpLpK+tjKVmZ8Uu8jW+8Hhh/KP/C19govUkoXDzi1Ww= -github.com/cosmos/cosmos-sdk v0.47.0-alpha2.0.20221208102534-4997976e49ce/go.mod h1:uxSbJ8xSato49U0ARdReqDHLydHg5nOPoeZdRWRu0pM= +github.com/cosmos/cosmos-sdk v0.47.0-rc1 h1:ptoLIOAqFGoqnZeqgec9KvC2JIZ6CVIyMHHjti9p6dQ= +github.com/cosmos/cosmos-sdk v0.47.0-rc1/go.mod h1:yWd503ULBJ71Zuv7GD0/dYJuyeg4LGWAvjeI4wK/dfY= 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= @@ -198,8 +230,8 @@ github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4 github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v6 v6.0.0-20221212195438-6a9f0d7f2631 h1:io3wqaKxf8g2gsrjaR/eCzzROXl85yEWlMW9ZG788TQ= -github.com/cosmos/ibc-go/v6 v6.0.0-20221212195438-6a9f0d7f2631/go.mod h1:DWC+K7CMOO8GAFF1xFj7V4MZ5wtcGyb3fk8ZM83B6Vo= +github.com/cosmos/ibc-go/v6 v6.0.0-20230112164833-fb2c8bfb3a3d h1:f332iPSBL9f/biCiv0tHoSShBTp34T6+weJcp+XU+ME= +github.com/cosmos/ibc-go/v6 v6.0.0-20230112164833-fb2c8bfb3a3d/go.mod h1:omsrp79MCGmlP4CEWjuE/wILhfnDxZCupX9g2Le+C+U= 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.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= @@ -212,10 +244,13 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= 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/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= 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/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -229,8 +264,11 @@ 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/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= +github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= 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= @@ -239,17 +277,25 @@ github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KP 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 v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= 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/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= 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.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= github.com/docker/docker v20.10.17+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-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= +github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -258,6 +304,7 @@ github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= 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/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= 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= @@ -268,8 +315,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.10.21 h1:5lqsEx92ZaZzRyOqBEXux4/UR06m296RGzN3ol3teJY= -github.com/ethereum/go-ethereum v1.10.21/go.mod h1:EYFyF19u3ezGLD4RqOkLq+ZCXzYbLoNDdZlMt7kyKFg= +github.com/ethereum/go-ethereum v1.10.17 h1:XEcumY+qSr1cZQaWsQs5Kck3FHB0V2RiMHPdTBJ+oT8= +github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= 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= @@ -277,6 +324,8 @@ 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/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +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 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= @@ -286,15 +335,21 @@ 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/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 h1:QqwPZCwh/k1uYqq6uXSb9TRDhTkfQbO80v8zhnIe5zM= github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1/go.mod h1:Az6Jt+M5idSED2YPGtwnfJV0kXohgdCBPmHGSYc1r04= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= 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.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= +github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= 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= @@ -313,6 +368,9 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/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-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +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= @@ -320,7 +378,9 @@ github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD87 github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= 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-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.4.1/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= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= @@ -334,10 +394,14 @@ github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/E 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/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869 h1:kRpU4zq+Pzh4feET49aEWPOzwQy3U2SsbZEQ7QEcif0= github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +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/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= @@ -378,10 +442,12 @@ github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8l github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -398,6 +464,7 @@ 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/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.1-0.20200604201612-c04b05f3adfa/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= @@ -420,6 +487,7 @@ github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLe 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.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.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= @@ -439,8 +507,10 @@ 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.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/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= 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= @@ -459,6 +529,7 @@ github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIv 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 v1.0.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-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= @@ -496,12 +567,16 @@ github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2p github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +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= github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= github.com/huandu/skiplist v1.2.0 h1:gox56QD77HzSC0w+Ws3MH3iie755GBJU1OER3h5VsYw= github.com/huandu/skiplist v1.2.0/go.mod h1:7v3iFjLcSAzO4fN5B8dvebvo/qsfumiLiDXMrPiHF9w= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= 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= @@ -511,9 +586,22 @@ github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPt github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= +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-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= +github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= +github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= github.com/ipfs/go-cid v0.0.7 h1:ysQJVJA3fNDF1qigJbsSQOdjhVLsOEoPdh0+R97k3jY= github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= 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-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= @@ -535,33 +623,48 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr 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.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/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.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM= github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= +github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= 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.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.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= 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/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= 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/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= 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= @@ -578,24 +681,36 @@ github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0Q github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +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/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= +github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.7/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.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.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.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 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.3/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.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0= github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= 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 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -620,8 +735,10 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= 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/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= 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= @@ -630,11 +747,13 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN 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/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= 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/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= 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/multiformats/go-base32 v0.0.3 h1:tw5+NhuwaOjJCC5Pp82QuXbrmLzWg7uxlMFp8Nq/kkI= @@ -658,6 +777,8 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW 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/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 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= @@ -671,10 +792,13 @@ 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/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= +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= @@ -694,6 +818,7 @@ github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b 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= +github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= @@ -704,6 +829,7 @@ github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIw github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= 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.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= @@ -711,8 +837,11 @@ github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCko github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= +github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= 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= @@ -724,6 +853,7 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= 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= @@ -745,8 +875,10 @@ 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-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.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= @@ -765,6 +897,7 @@ 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 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= 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/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= @@ -775,10 +908,12 @@ github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5 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 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 h1:xe+mmCnDN82KhC010l3NfYlA8ZbOuzbXAzSYBa6wbMc= github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8/go.mod h1:WIfMkQNY+oq/mWwtsjOYHIZBuwthioY2srOmljJkTnk= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= +github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s= 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= @@ -798,7 +933,11 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0 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/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= 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= @@ -835,6 +974,7 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= 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/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= @@ -845,6 +985,7 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ 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 v1.2.0/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= @@ -858,6 +999,7 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/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.20220614013038-64ee5596c38a h1:1ur3QoCqvE5fl+nylMaIr9PVV1w343YRDtsy+Rwu7XI= github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= @@ -870,10 +1012,16 @@ github.com/tendermint/tendermint v0.37.0-rc2 h1:2n1em+jfbhSv6QnBj8F6KHCpbIzZCB8K github.com/tendermint/tendermint v0.37.0-rc2/go.mod h1:uYQO9DRNPeZROa9X3hJOZpYcVREDC2/HST+EiU5g2+A= github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= +github.com/tidwall/btree v1.5.2 h1:5eA83Gfki799V3d3bJo9sWk+yL2LRoTEah3O/SA6/8w= +github.com/tidwall/btree v1.5.2/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= 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.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= 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-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= 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= @@ -883,7 +1031,13 @@ github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= 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/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +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/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= 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= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -925,6 +1079,7 @@ go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9i 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/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= 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.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= @@ -937,16 +1092,23 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U 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-20190909091759-094676da4a83/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-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-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +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-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.3.0 h1:a06MkbcxBrEFc0w0QIZWXrH/9cCX6KJyWbBOIwAn+7A= -golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= +golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= +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-20190121172915-509febef88a4/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-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= @@ -959,6 +1121,7 @@ golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMk golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= golang.org/x/exp v0.0.0-20221019170559-20944726eadf h1:nFVjjKDgNY37+ZSYCJmtYf7tOlfQswHqplG2eosjOMg= golang.org/x/exp v0.0.0-20221019170559-20944726eadf/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= 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= @@ -1020,23 +1183,28 @@ 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-20201010224723-4f7140c49acb/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= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/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-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk= +golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= 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= @@ -1074,6 +1242,7 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1083,6 +1252,7 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w 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-20190813064441-fde4db37ae7a/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-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1093,6 +1263,7 @@ golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7w 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-20200107162124-548cf772de50/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-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1106,10 +1277,13 @@ 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-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/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= @@ -1121,7 +1295,10 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/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-20210420205809-ac73e9fd8988/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-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1129,6 +1306,7 @@ golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/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-20210819135213-f52c844e1c1c/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= @@ -1143,15 +1321,15 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.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-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0 h1:z85xZCsEl7bi/KwbNADeBYoOP0++7W1ipu+aGnpwzRM= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= 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= @@ -1161,16 +1339,20 @@ 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.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= 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-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-20220609170525-579cf78fd858 h1:Dpdu/EMxGMFgq0CeYMh4fazTD2vtlZRYE7wyynxJb9U= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= 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= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/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= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1195,6 +1377,7 @@ golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1236,6 +1419,12 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/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= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +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.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= @@ -1274,6 +1463,7 @@ google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRn 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-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= 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= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1281,6 +1471,7 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 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-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/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= @@ -1361,6 +1552,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= @@ -1370,9 +1562,11 @@ 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/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/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= 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/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1388,6 +1582,8 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 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.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= @@ -1397,6 +1593,7 @@ 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= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= lukechampine.com/blake3 v1.1.6 h1:H3cROdztr7RCfoaTpGZFQsrqvweFLrqS73j7L7cmR5c= lukechampine.com/blake3 v1.1.6/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU= @@ -1439,6 +1636,7 @@ nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0 pgregory.net/rapid v0.5.3 h1:163N50IHFqr1phZens4FQOdPgfJscR7a562mjQqeo4M= pgregory.net/rapid v0.5.3/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= 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/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/relayer/rly/cosmos_relayer.go b/relayer/rly/cosmos_relayer.go index 6a6704f94..294fc0f29 100644 --- a/relayer/rly/cosmos_relayer.go +++ b/relayer/rly/cosmos_relayer.go @@ -64,7 +64,7 @@ type CosmosRelayerChainConfig struct { const ( DefaultContainerImage = "ghcr.io/cosmos/relayer" - DefaultContainerVersion = "v2.1.2" + DefaultContainerVersion = "v2.2.0-rc3" ) // Capabilities returns the set of capabilities of the Cosmos relayer. @@ -221,6 +221,7 @@ func (commander) LinkPath(pathName, homeDir string, channelOpts ibc.CreateChanne "--order", channelOpts.Order.String(), "--version", channelOpts.Version, "--client-tp", clientOpt.TrustingPeriod, + "--debug", "--home", homeDir, } From cfaab3066448017290a45ed93de6d7f49e726d41 Mon Sep 17 00:00:00 2001 From: Andrew Gouin Date: Fri, 13 Jan 2023 14:39:52 -0700 Subject: [PATCH 08/50] Bump ibc-go to latest commit --- go.mod | 4 +--- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index b37d69bc1..955c61dc7 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 github.com/cosmos/cosmos-sdk v0.47.0-rc1 github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/ibc-go/v6 v6.0.0-20230112164833-fb2c8bfb3a3d + github.com/cosmos/ibc-go/v6 v6.0.0-20230113152752-e650be91614c github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 github.com/docker/docker v20.10.17+incompatible @@ -36,8 +36,6 @@ require ( modernc.org/sqlite v1.17.3 ) -//require github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 - require ( cloud.google.com/go v0.105.0 // indirect cloud.google.com/go/compute v1.12.1 // indirect diff --git a/go.sum b/go.sum index 8d1afc7ce..79d1a711d 100644 --- a/go.sum +++ b/go.sum @@ -230,8 +230,8 @@ github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4 github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v6 v6.0.0-20230112164833-fb2c8bfb3a3d h1:f332iPSBL9f/biCiv0tHoSShBTp34T6+weJcp+XU+ME= -github.com/cosmos/ibc-go/v6 v6.0.0-20230112164833-fb2c8bfb3a3d/go.mod h1:omsrp79MCGmlP4CEWjuE/wILhfnDxZCupX9g2Le+C+U= +github.com/cosmos/ibc-go/v6 v6.0.0-20230113152752-e650be91614c h1:zMVPJXCEWZM41JcNLcxjU2g5Cz8IHrN6Iu3q+IgnNAY= +github.com/cosmos/ibc-go/v6 v6.0.0-20230113152752-e650be91614c/go.mod h1:omsrp79MCGmlP4CEWjuE/wILhfnDxZCupX9g2Le+C+U= 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.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= From 0fcd87d2151ad3b276397c9858bb174037178b9a Mon Sep 17 00:00:00 2001 From: Damian Nolan Date: Tue, 24 Jan 2023 17:23:48 +0100 Subject: [PATCH 09/50] deps: upgrade to ibc-go/v7 and bump ibctest go mod (#372) * bumping ibc-go to v7 branch * bumping ibctest go mod to v7 --- Makefile | 2 +- chain/cosmos/broadcaster.go | 4 ++-- chain/cosmos/chain_node.go | 8 +++---- chain/cosmos/codec.go | 6 ++--- chain/cosmos/cosmos_chain.go | 12 +++++----- chain/cosmos/node_test.go | 2 +- chain/cosmos/osmosis.go | 2 +- chain/cosmos/poll.go | 4 ++-- chain/cosmos/wallet.go | 2 +- chain/internal/tendermint/tendermint_node.go | 6 ++--- chain/penumbra/penumbra_app_node.go | 4 ++-- chain/penumbra/penumbra_chain.go | 8 +++---- chain/penumbra/wallet.go | 2 +- chain/polkadot/keys_test.go | 2 +- chain/polkadot/parachain_node.go | 4 ++-- chain/polkadot/polkadot_chain.go | 4 ++-- chain/polkadot/polkadot_chain_test.go | 4 ++-- chain/polkadot/relay_chain_node.go | 4 ++-- chain/polkadot/tx.go | 2 +- chain/polkadot/wallet.go | 2 +- chainfactory.go | 10 ++++----- chainset.go | 4 ++-- chainspec.go | 4 ++-- chainspec_test.go | 4 ++-- cmd/ibctest/flags.go | 2 +- cmd/ibctest/ibctest_test.go | 16 +++++++------- cmd/ibctest/matrix_test.go | 2 +- conformance/flush.go | 10 ++++----- conformance/relayersetup.go | 10 ++++----- conformance/test.go | 22 +++++++++---------- examples/cosmos/chain_upgrade_ibc_test.go | 14 ++++++------ examples/cosmos/chain_upgrade_test.go | 8 +++---- examples/cosmos/light_client_test.go | 10 ++++----- examples/cosmos/sdk_47_boundary_test.go | 14 ++++++------ examples/cosmos/state_sync_test.go | 8 +++---- examples/ibc/interchain_accounts_test.go | 12 +++++----- examples/ibc/interchain_queries_test.go | 14 ++++++------ examples/ibc/learn_ibc_test.go | 8 +++---- examples/ibc/packet_forward_test.go | 16 +++++++------- examples/penumbra/penumbra_chain_test.go | 6 ++--- examples/polkadot/polkadot_chain_test.go | 10 ++++----- .../polkadot/push_wasm_client_code_test.go | 10 ++++----- .../polkadot/substrate_cosmos_ibc_test.go | 10 ++++----- go.mod | 8 +++---- go.sum | 12 +++++----- ibc/chain.go | 2 +- ibc/packet.go | 2 +- ibc/relayer.go | 6 ++--- ibc/relayer_test.go | 2 +- ibc/types.go | 2 +- interchain.go | 4 ++-- interchain_test.go | 16 +++++++------- internal/blockdb/messages_view_test.go | 10 ++++----- internal/blockdb/tui/model.go | 2 +- internal/blockdb/tui/model_test.go | 2 +- .../blockdb/tui/presenter/cosmos_message.go | 2 +- .../tui/presenter/cosmos_message_test.go | 2 +- internal/blockdb/tui/presenter/test_case.go | 2 +- .../blockdb/tui/presenter/test_case_test.go | 2 +- internal/blockdb/tui/presenter/tx.go | 2 +- internal/blockdb/tui/presenter/tx_test.go | 2 +- internal/blockdb/tui/update.go | 2 +- internal/blockdb/tui/update_test.go | 2 +- internal/blockdb/tui/views.go | 4 ++-- internal/dockerutil/fileretriever_test.go | 4 ++-- internal/dockerutil/filewriter_test.go | 4 ++-- internal/dockerutil/setup_test.go | 4 ++-- internal/mocktesting/t_test.go | 2 +- relayer/docker.go | 4 ++-- relayer/options.go | 2 +- relayer/rly/cosmos_relayer.go | 4 ++-- relayer/rly/wallet.go | 2 +- relayerfactory.go | 8 +++---- tempdir_test.go | 4 ++-- test_setup.go | 8 +++---- test_user.go | 6 ++--- testreporter/messages.go | 2 +- testreporter/messages_test.go | 4 ++-- testreporter/reporter.go | 2 +- testreporter/reporter_test.go | 6 ++--- testutil/poll_for_state.go | 2 +- testutil/poll_for_state_test.go | 2 +- testutil/toml.go | 2 +- 83 files changed, 234 insertions(+), 234 deletions(-) diff --git a/Makefile b/Makefile index 85716be4b..05d1ca4e2 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ help: ## Print this help message .PHONY: ibctest ibctest: gen ## Build ibctest binary into ./bin - go test -ldflags "-X github.com/strangelove-ventures/ibctest/v6/internal/version.GitSha=$(shell git describe --always --dirty)" -c -o ./bin/ibctest ./cmd/ibctest + go test -ldflags "-X github.com/strangelove-ventures/ibctest/v7/internal/version.GitSha=$(shell git describe --always --dirty)" -c -o ./bin/ibctest ./cmd/ibctest .PHONY: test test: ## Run unit tests diff --git a/chain/cosmos/broadcaster.go b/chain/cosmos/broadcaster.go index 94bac3c3d..cc16b41a1 100644 --- a/chain/cosmos/broadcaster.go +++ b/chain/cosmos/broadcaster.go @@ -16,8 +16,8 @@ import ( "github.com/cosmos/cosmos-sdk/types/tx/signing" authTx "github.com/cosmos/cosmos-sdk/x/auth/tx" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/testutil" ) type ClientContextOpt func(clientContext client.Context) client.Context diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index 29706b987..d3b2090d6 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -27,10 +27,10 @@ import ( dockerclient "github.com/docker/docker/client" "github.com/docker/docker/errdefs" "github.com/docker/go-connections/nat" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/testutil" tmjson "github.com/tendermint/tendermint/libs/json" "github.com/tendermint/tendermint/p2p" rpcclient "github.com/tendermint/tendermint/rpc/client" diff --git a/chain/cosmos/codec.go b/chain/cosmos/codec.go index d2467e415..fe0af864e 100644 --- a/chain/cosmos/codec.go +++ b/chain/cosmos/codec.go @@ -23,9 +23,9 @@ import ( "github.com/cosmos/cosmos-sdk/x/upgrade" upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" - transfer "github.com/cosmos/ibc-go/v6/modules/apps/transfer" - ibccore "github.com/cosmos/ibc-go/v6/modules/core" - ibctm "github.com/cosmos/ibc-go/v6/modules/light-clients/07-tendermint" + transfer "github.com/cosmos/ibc-go/v7/modules/apps/transfer" + ibccore "github.com/cosmos/ibc-go/v7/modules/core" + ibctm "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" ) func DefaultEncoding() testutil.TestEncodingConfig { diff --git a/chain/cosmos/cosmos_chain.go b/chain/cosmos/cosmos_chain.go index 0c7401363..87f87834d 100644 --- a/chain/cosmos/cosmos_chain.go +++ b/chain/cosmos/cosmos_chain.go @@ -20,15 +20,15 @@ import ( "github.com/cosmos/cosmos-sdk/types" authTx "github.com/cosmos/cosmos-sdk/x/auth/tx" bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" - chanTypes "github.com/cosmos/ibc-go/v6/modules/core/04-channel/types" + chanTypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" dockertypes "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" - "github.com/strangelove-ventures/ibctest/v6/chain/internal/tendermint" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7/chain/internal/tendermint" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/testutil" "go.uber.org/zap" "golang.org/x/sync/errgroup" "google.golang.org/grpc" diff --git a/chain/cosmos/node_test.go b/chain/cosmos/node_test.go index c2d4933ac..fbf2d88bd 100644 --- a/chain/cosmos/node_test.go +++ b/chain/cosmos/node_test.go @@ -5,7 +5,7 @@ import ( "testing" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" "github.com/stretchr/testify/require" ) diff --git a/chain/cosmos/osmosis.go b/chain/cosmos/osmosis.go index b1e5b51fb..7aa629dda 100644 --- a/chain/cosmos/osmosis.go +++ b/chain/cosmos/osmosis.go @@ -7,7 +7,7 @@ import ( "path/filepath" "strings" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" ) // OsmosisPoolParams defines parameters for creating an osmosis gamm liquidity pool diff --git a/chain/cosmos/poll.go b/chain/cosmos/poll.go index e6805c5c6..d41343d6a 100644 --- a/chain/cosmos/poll.go +++ b/chain/cosmos/poll.go @@ -6,8 +6,8 @@ import ( "fmt" codectypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testutil" ) // PollForProposalStatus attempts to find a proposal with matching ID and status. diff --git a/chain/cosmos/wallet.go b/chain/cosmos/wallet.go index 8c46118c2..5d0b4bae3 100644 --- a/chain/cosmos/wallet.go +++ b/chain/cosmos/wallet.go @@ -2,7 +2,7 @@ package cosmos import ( "github.com/cosmos/cosmos-sdk/types" - "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v7/ibc" ) var _ ibc.Wallet = &CosmosWallet{} diff --git a/chain/internal/tendermint/tendermint_node.go b/chain/internal/tendermint/tendermint_node.go index 881029ca2..87d84c3d2 100644 --- a/chain/internal/tendermint/tendermint_node.go +++ b/chain/internal/tendermint/tendermint_node.go @@ -14,9 +14,9 @@ import ( dockerclient "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/hashicorp/go-version" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/testutil" tmjson "github.com/tendermint/tendermint/libs/json" "github.com/tendermint/tendermint/p2p" rpcclient "github.com/tendermint/tendermint/rpc/client" diff --git a/chain/penumbra/penumbra_app_node.go b/chain/penumbra/penumbra_app_node.go index 6efb83c9a..22443280c 100644 --- a/chain/penumbra/penumbra_app_node.go +++ b/chain/penumbra/penumbra_app_node.go @@ -13,8 +13,8 @@ import ( "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" "github.com/docker/go-connections/nat" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" "go.uber.org/zap" ) diff --git a/chain/penumbra/penumbra_chain.go b/chain/penumbra/penumbra_chain.go index 85042449f..ea4409038 100644 --- a/chain/penumbra/penumbra_chain.go +++ b/chain/penumbra/penumbra_chain.go @@ -17,10 +17,10 @@ import ( "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" - "github.com/strangelove-ventures/ibctest/v6/chain/internal/tendermint" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7/chain/internal/tendermint" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/testutil" "go.uber.org/zap" "golang.org/x/sync/errgroup" ) diff --git a/chain/penumbra/wallet.go b/chain/penumbra/wallet.go index 038a78e80..d7754188a 100644 --- a/chain/penumbra/wallet.go +++ b/chain/penumbra/wallet.go @@ -2,7 +2,7 @@ package penumbra import ( "github.com/cosmos/cosmos-sdk/types" - "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v7/ibc" ) var _ ibc.Wallet = &PenumbraWallet{} diff --git a/chain/polkadot/keys_test.go b/chain/polkadot/keys_test.go index d81408de8..5ba176e02 100644 --- a/chain/polkadot/keys_test.go +++ b/chain/polkadot/keys_test.go @@ -8,7 +8,7 @@ import ( "github.com/centrifuge/go-substrate-rpc-client/v4/signature" p2pCrypto "github.com/libp2p/go-libp2p-core/crypto" "github.com/libp2p/go-libp2p-core/peer" - "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" + "github.com/strangelove-ventures/ibctest/v7/chain/polkadot" "github.com/stretchr/testify/require" ) diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index e981562f8..a89cd1c49 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -17,8 +17,8 @@ import ( "github.com/icza/dyno" p2pcrypto "github.com/libp2p/go-libp2p-core/crypto" "github.com/libp2p/go-libp2p-core/peer" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" "go.uber.org/zap" ) diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index bf455e91b..355678c76 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -19,8 +19,8 @@ import ( "github.com/docker/docker/client" "github.com/icza/dyno" p2pcrypto "github.com/libp2p/go-libp2p-core/crypto" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" "go.uber.org/zap" "golang.org/x/sync/errgroup" ) diff --git a/chain/polkadot/polkadot_chain_test.go b/chain/polkadot/polkadot_chain_test.go index 69cc7a253..725beef98 100644 --- a/chain/polkadot/polkadot_chain_test.go +++ b/chain/polkadot/polkadot_chain_test.go @@ -5,8 +5,8 @@ import ( "fmt" "testing" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/ibc" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/ibc" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/chain/polkadot/relay_chain_node.go b/chain/polkadot/relay_chain_node.go index a9fe991d9..41cf14e8b 100644 --- a/chain/polkadot/relay_chain_node.go +++ b/chain/polkadot/relay_chain_node.go @@ -20,8 +20,8 @@ import ( "go.uber.org/zap" "github.com/decred/dcrd/dcrec/secp256k1/v2" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" ) // RelayChainNode defines the properties required for running a polkadot relay chain node. diff --git a/chain/polkadot/tx.go b/chain/polkadot/tx.go index 60865d262..8d36c19ab 100644 --- a/chain/polkadot/tx.go +++ b/chain/polkadot/tx.go @@ -6,7 +6,7 @@ import ( gsrpc "github.com/centrifuge/go-substrate-rpc-client/v4" "github.com/centrifuge/go-substrate-rpc-client/v4/signature" gstypes "github.com/centrifuge/go-substrate-rpc-client/v4/types" - "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v7/ibc" ) // SendFundsTx sends funds to a wallet using the SubstrateAPI diff --git a/chain/polkadot/wallet.go b/chain/polkadot/wallet.go index 87bc7382d..81688f2f7 100644 --- a/chain/polkadot/wallet.go +++ b/chain/polkadot/wallet.go @@ -1,7 +1,7 @@ package polkadot import ( - "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v7/ibc" ) var _ ibc.Wallet = &PolkadotWallet{} diff --git a/chainfactory.go b/chainfactory.go index 7556c92f3..93c92a7d7 100644 --- a/chainfactory.go +++ b/chainfactory.go @@ -7,11 +7,11 @@ import ( "strings" "sync" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/chain/penumbra" - "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/label" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/chain/penumbra" + "github.com/strangelove-ventures/ibctest/v7/chain/polkadot" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/label" "go.uber.org/zap" "gopkg.in/yaml.v3" ) diff --git a/chainset.go b/chainset.go index 953e9983f..caf775f3b 100644 --- a/chainset.go +++ b/chainset.go @@ -9,8 +9,8 @@ import ( "time" "github.com/docker/docker/client" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" "go.uber.org/multierr" "go.uber.org/zap" "golang.org/x/sync/errgroup" diff --git a/chainspec.go b/chainspec.go index 473783550..efc68590b 100644 --- a/chainspec.go +++ b/chainspec.go @@ -8,8 +8,8 @@ import ( "sync" "sync/atomic" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/label" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/label" "go.uber.org/zap" ) diff --git a/chainspec_test.go b/chainspec_test.go index fe5162398..c5b168a88 100644 --- a/chainspec_test.go +++ b/chainspec_test.go @@ -5,8 +5,8 @@ import ( "testing" "github.com/google/go-cmp/cmp" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/ibc" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/ibc" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/cmd/ibctest/flags.go b/cmd/ibctest/flags.go index 9193b920c..0015356a4 100644 --- a/cmd/ibctest/flags.go +++ b/cmd/ibctest/flags.go @@ -6,7 +6,7 @@ import ( "os" "time" - ibctest "github.com/strangelove-ventures/ibctest/v6" + ibctest "github.com/strangelove-ventures/ibctest/v7" "go.uber.org/zap" "go.uber.org/zap/zapcore" ) diff --git a/cmd/ibctest/ibctest_test.go b/cmd/ibctest/ibctest_test.go index b6c90e157..bcaed542c 100644 --- a/cmd/ibctest/ibctest_test.go +++ b/cmd/ibctest/ibctest_test.go @@ -13,14 +13,14 @@ import ( "time" "github.com/rivo/tview" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/conformance" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" - blockdbtui "github.com/strangelove-ventures/ibctest/v6/internal/blockdb/tui" - "github.com/strangelove-ventures/ibctest/v6/internal/version" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/testreporter" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/conformance" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" + blockdbtui "github.com/strangelove-ventures/ibctest/v7/internal/blockdb/tui" + "github.com/strangelove-ventures/ibctest/v7/internal/version" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/testreporter" "go.uber.org/zap" ) diff --git a/cmd/ibctest/matrix_test.go b/cmd/ibctest/matrix_test.go index 84fdfb708..9bc8c9814 100644 --- a/cmd/ibctest/matrix_test.go +++ b/cmd/ibctest/matrix_test.go @@ -5,7 +5,7 @@ import ( "encoding/json" "testing" - ibctest "github.com/strangelove-ventures/ibctest/v6" + ibctest "github.com/strangelove-ventures/ibctest/v7" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/conformance/flush.go b/conformance/flush.go index 47f1368a8..e27ad83de 100644 --- a/conformance/flush.go +++ b/conformance/flush.go @@ -6,11 +6,11 @@ import ( "testing" "github.com/cosmos/cosmos-sdk/types" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" ) diff --git a/conformance/relayersetup.go b/conformance/relayersetup.go index 956cff8db..d0bf2c456 100644 --- a/conformance/relayersetup.go +++ b/conformance/relayersetup.go @@ -5,11 +5,11 @@ import ( "fmt" "testing" - conntypes "github.com/cosmos/ibc-go/v6/modules/core/03-connection/types" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "golang.org/x/sync/errgroup" ) diff --git a/conformance/test.go b/conformance/test.go index 2c65d188e..6f042be75 100644 --- a/conformance/test.go +++ b/conformance/test.go @@ -14,8 +14,8 @@ // import ( // "testing" // -// "github.com/strangelove-ventures/ibctest/v6/conformance" -// "github.com/strangelove-ventures/ibctest/v6/ibc" +// "github.com/strangelove-ventures/ibctest/v7/conformance" +// "github.com/strangelove-ventures/ibctest/v7/ibc" // ) // // func TestMyRelayer(t *testing.T) { @@ -35,16 +35,16 @@ import ( "testing" "time" - transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" "github.com/docker/docker/client" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/label" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/label" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "golang.org/x/sync/errgroup" ) diff --git a/examples/cosmos/chain_upgrade_ibc_test.go b/examples/cosmos/chain_upgrade_ibc_test.go index 92e3e3b93..3f2621d6c 100644 --- a/examples/cosmos/chain_upgrade_ibc_test.go +++ b/examples/cosmos/chain_upgrade_ibc_test.go @@ -5,13 +5,13 @@ import ( "testing" "time" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/conformance" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/conformance" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/cosmos/chain_upgrade_test.go b/examples/cosmos/chain_upgrade_test.go index 205af786a..2cfdc25d2 100644 --- a/examples/cosmos/chain_upgrade_test.go +++ b/examples/cosmos/chain_upgrade_test.go @@ -8,10 +8,10 @@ import ( "time" "github.com/icza/dyno" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/cosmos/light_client_test.go b/examples/cosmos/light_client_test.go index 32794047d..97714653c 100644 --- a/examples/cosmos/light_client_test.go +++ b/examples/cosmos/light_client_test.go @@ -4,11 +4,11 @@ import ( "context" "testing" - clienttypes "github.com/cosmos/ibc-go/v6/modules/core/02-client/types" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testreporter" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testreporter" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/cosmos/sdk_47_boundary_test.go b/examples/cosmos/sdk_47_boundary_test.go index ab84300f7..034cce1c8 100644 --- a/examples/cosmos/sdk_47_boundary_test.go +++ b/examples/cosmos/sdk_47_boundary_test.go @@ -4,13 +4,13 @@ import ( "context" "testing" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/conformance" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/relayer/rly" - "github.com/strangelove-ventures/ibctest/v6/testreporter" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/conformance" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/relayer/rly" + "github.com/strangelove-ventures/ibctest/v7/testreporter" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/cosmos/state_sync_test.go b/examples/cosmos/state_sync_test.go index 158ec0a1a..c3571bc7b 100644 --- a/examples/cosmos/state_sync_test.go +++ b/examples/cosmos/state_sync_test.go @@ -7,10 +7,10 @@ import ( "testing" "time" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/ibc/interchain_accounts_test.go b/examples/ibc/interchain_accounts_test.go index 2f75fe0e2..2ea43e1ce 100644 --- a/examples/ibc/interchain_accounts_test.go +++ b/examples/ibc/interchain_accounts_test.go @@ -9,12 +9,12 @@ import ( "time" "github.com/cosmos/cosmos-sdk/crypto/keyring" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/ibc/interchain_queries_test.go b/examples/ibc/interchain_queries_test.go index a8989cb2f..ca8592f44 100644 --- a/examples/ibc/interchain_queries_test.go +++ b/examples/ibc/interchain_queries_test.go @@ -9,13 +9,13 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/icza/dyno" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/ibc/learn_ibc_test.go b/examples/ibc/learn_ibc_test.go index 9f496cc95..61a98e0ae 100644 --- a/examples/ibc/learn_ibc_test.go +++ b/examples/ibc/learn_ibc_test.go @@ -6,10 +6,10 @@ import ( "testing" "time" - transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testreporter" + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testreporter" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/ibc/packet_forward_test.go b/examples/ibc/packet_forward_test.go index 38ead3e84..1a3b2921e 100644 --- a/examples/ibc/packet_forward_test.go +++ b/examples/ibc/packet_forward_test.go @@ -6,14 +6,14 @@ import ( "testing" "time" - transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/relayer/rly" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/relayer/rly" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/penumbra/penumbra_chain_test.go b/examples/penumbra/penumbra_chain_test.go index c8587882b..ea995d97e 100644 --- a/examples/penumbra/penumbra_chain_test.go +++ b/examples/penumbra/penumbra_chain_test.go @@ -4,9 +4,9 @@ import ( "context" "testing" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/polkadot/polkadot_chain_test.go b/examples/polkadot/polkadot_chain_test.go index cf9b23aac..45ca1af00 100644 --- a/examples/polkadot/polkadot_chain_test.go +++ b/examples/polkadot/polkadot_chain_test.go @@ -5,11 +5,11 @@ import ( "fmt" "testing" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/polkadot" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/examples/polkadot/push_wasm_client_code_test.go b/examples/polkadot/push_wasm_client_code_test.go index 1da6b2a33..ce0866534 100644 --- a/examples/polkadot/push_wasm_client_code_test.go +++ b/examples/polkadot/push_wasm_client_code_test.go @@ -6,11 +6,11 @@ import ( "encoding/hex" "testing" - "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" //simappparams "github.com/cosmos/cosmos-sdk/simapp/params" diff --git a/examples/polkadot/substrate_cosmos_ibc_test.go b/examples/polkadot/substrate_cosmos_ibc_test.go index 9b29532fe..2a0343b80 100644 --- a/examples/polkadot/substrate_cosmos_ibc_test.go +++ b/examples/polkadot/substrate_cosmos_ibc_test.go @@ -6,11 +6,11 @@ import ( "testing" "time" - "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/go.mod b/go.mod index 955c61dc7..39f7df092 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/strangelove-ventures/ibctest/v6 +module github.com/strangelove-ventures/ibctest/v7 go 1.19 @@ -12,7 +12,7 @@ require ( github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 github.com/cosmos/cosmos-sdk v0.47.0-rc1 github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/ibc-go/v6 v6.0.0-20230113152752-e650be91614c + github.com/cosmos/ibc-go/v7 v7.0.0-20230120105519-ae96bf3d5ee9 github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 github.com/docker/docker v20.10.17+incompatible @@ -31,7 +31,7 @@ require ( golang.org/x/crypto v0.4.0 golang.org/x/sync v0.1.0 golang.org/x/tools v0.1.12 - google.golang.org/grpc v1.51.0 + google.golang.org/grpc v1.52.0 gopkg.in/yaml.v3 v3.0.1 modernc.org/sqlite v1.17.3 ) @@ -203,7 +203,7 @@ require ( go.uber.org/goleak v1.1.12 // indirect golang.org/x/exp v0.0.0-20221019170559-20944726eadf // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.3.0 // indirect + golang.org/x/net v0.4.0 // indirect golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect golang.org/x/sys v0.3.0 // indirect golang.org/x/term v0.3.0 // indirect diff --git a/go.sum b/go.sum index 79d1a711d..4a94e222d 100644 --- a/go.sum +++ b/go.sum @@ -230,8 +230,8 @@ github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4 github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v6 v6.0.0-20230113152752-e650be91614c h1:zMVPJXCEWZM41JcNLcxjU2g5Cz8IHrN6Iu3q+IgnNAY= -github.com/cosmos/ibc-go/v6 v6.0.0-20230113152752-e650be91614c/go.mod h1:omsrp79MCGmlP4CEWjuE/wILhfnDxZCupX9g2Le+C+U= +github.com/cosmos/ibc-go/v7 v7.0.0-20230120105519-ae96bf3d5ee9 h1:sFDeAy3X9Oyvvc93Lnmu2Ui5EIDFmQoRmTV3t1oh6bQ= +github.com/cosmos/ibc-go/v7 v7.0.0-20230120105519-ae96bf3d5ee9/go.mod h1:MPkVYbOkwFTK9b7Va8kQuK78zkyc1FRkgdHmPKMllKA= 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.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= @@ -1203,8 +1203,8 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx 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-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk= -golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= 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= @@ -1529,8 +1529,8 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.51.0 h1:E1eGv1FTqoLIdnBCZufiSHgKjlqG6fKFf6pPWtMTh8U= -google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= 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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/ibc/chain.go b/ibc/chain.go index 0d63a9f7c..994c55113 100644 --- a/ibc/chain.go +++ b/ibc/chain.go @@ -4,7 +4,7 @@ import ( "context" "github.com/docker/docker/client" - //"github.com/strangelove-ventures/ibctest/v6/ibc" + //"github.com/strangelove-ventures/ibctest/v7/ibc" ) type Chain interface { diff --git a/ibc/packet.go b/ibc/packet.go index f05e2e4aa..948a6c074 100644 --- a/ibc/packet.go +++ b/ibc/packet.go @@ -5,7 +5,7 @@ import ( "fmt" "reflect" - host "github.com/cosmos/ibc-go/v6/modules/core/24-host" + host "github.com/cosmos/ibc-go/v7/modules/core/24-host" "go.uber.org/multierr" ) diff --git a/ibc/relayer.go b/ibc/relayer.go index 372820bd8..03e9705f9 100644 --- a/ibc/relayer.go +++ b/ibc/relayer.go @@ -5,9 +5,9 @@ import ( "fmt" "time" - chantypes "github.com/cosmos/ibc-go/v6/modules/core/04-channel/types" - ptypes "github.com/cosmos/ibc-go/v6/modules/core/05-port/types" - host "github.com/cosmos/ibc-go/v6/modules/core/24-host" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" + ptypes "github.com/cosmos/ibc-go/v7/modules/core/05-port/types" + host "github.com/cosmos/ibc-go/v7/modules/core/24-host" ) // Relayer represents an instance of a relayer that can be support IBC. diff --git a/ibc/relayer_test.go b/ibc/relayer_test.go index 174f0bfe0..333de7147 100644 --- a/ibc/relayer_test.go +++ b/ibc/relayer_test.go @@ -3,7 +3,7 @@ package ibc import ( "testing" - chantypes "github.com/cosmos/ibc-go/v6/modules/core/04-channel/types" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" "github.com/stretchr/testify/require" ) diff --git a/ibc/types.go b/ibc/types.go index e8c637c7e..0f6f4c2e8 100644 --- a/ibc/types.go +++ b/ibc/types.go @@ -5,7 +5,7 @@ import ( "strconv" "github.com/cosmos/cosmos-sdk/types/module/testutil" - ibcexported "github.com/cosmos/ibc-go/v6/modules/core/03-connection/types" + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" ) // ChainConfig defines the chain parameters requires to run an ibctest testnet for a chain. diff --git a/interchain.go b/interchain.go index c7941bf72..1e54eb2c0 100644 --- a/interchain.go +++ b/interchain.go @@ -5,8 +5,8 @@ import ( "fmt" "github.com/docker/docker/client" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/testreporter" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/testreporter" "go.uber.org/zap" "golang.org/x/sync/errgroup" ) diff --git a/interchain_test.go b/interchain_test.go index 7b8405f6c..ef89e64f7 100644 --- a/interchain_test.go +++ b/interchain_test.go @@ -11,18 +11,18 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" sdk "github.com/cosmos/cosmos-sdk/types" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer/rly" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer/rly" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap" "go.uber.org/zap/zaptest" - transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" - clienttypes "github.com/cosmos/ibc-go/v6/modules/core/02-client/types" + transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" ) func TestInterchain_DuplicateChain(t *testing.T) { diff --git a/internal/blockdb/messages_view_test.go b/internal/blockdb/messages_view_test.go index 0878a03c1..74a46104d 100644 --- a/internal/blockdb/messages_view_test.go +++ b/internal/blockdb/messages_view_test.go @@ -10,11 +10,11 @@ import ( "testing" "github.com/cosmos/cosmos-sdk/types" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/testreporter" - "github.com/strangelove-ventures/ibctest/v6/testutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/testreporter" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/internal/blockdb/tui/model.go b/internal/blockdb/tui/model.go index a595a1669..ebb8ca4ab 100644 --- a/internal/blockdb/tui/model.go +++ b/internal/blockdb/tui/model.go @@ -6,7 +6,7 @@ import ( "github.com/atotto/clipboard" "github.com/rivo/tview" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" ) //go:generate go run golang.org/x/tools/cmd/stringer -type=mainContent diff --git a/internal/blockdb/tui/model_test.go b/internal/blockdb/tui/model_test.go index b590141f7..0767939d9 100644 --- a/internal/blockdb/tui/model_test.go +++ b/internal/blockdb/tui/model_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" "github.com/stretchr/testify/require" ) diff --git a/internal/blockdb/tui/presenter/cosmos_message.go b/internal/blockdb/tui/presenter/cosmos_message.go index 394082a7e..9c2d6579d 100644 --- a/internal/blockdb/tui/presenter/cosmos_message.go +++ b/internal/blockdb/tui/presenter/cosmos_message.go @@ -4,7 +4,7 @@ import ( "strconv" "strings" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" ) // CosmosMessage presents a blockdb.CosmosMessageResult. diff --git a/internal/blockdb/tui/presenter/cosmos_message_test.go b/internal/blockdb/tui/presenter/cosmos_message_test.go index 58d542a19..d1cf4177a 100644 --- a/internal/blockdb/tui/presenter/cosmos_message_test.go +++ b/internal/blockdb/tui/presenter/cosmos_message_test.go @@ -4,7 +4,7 @@ import ( "database/sql" "testing" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" "github.com/stretchr/testify/require" ) diff --git a/internal/blockdb/tui/presenter/test_case.go b/internal/blockdb/tui/presenter/test_case.go index 328068342..bcef8de42 100644 --- a/internal/blockdb/tui/presenter/test_case.go +++ b/internal/blockdb/tui/presenter/test_case.go @@ -3,7 +3,7 @@ package presenter import ( "strconv" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" ) // TestCase presents a blockdb.TestCaseResult. diff --git a/internal/blockdb/tui/presenter/test_case_test.go b/internal/blockdb/tui/presenter/test_case_test.go index 53fe8c4ec..5389ca937 100644 --- a/internal/blockdb/tui/presenter/test_case_test.go +++ b/internal/blockdb/tui/presenter/test_case_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" "github.com/stretchr/testify/require" ) diff --git a/internal/blockdb/tui/presenter/tx.go b/internal/blockdb/tui/presenter/tx.go index a06d23920..5b7b4925f 100644 --- a/internal/blockdb/tui/presenter/tx.go +++ b/internal/blockdb/tui/presenter/tx.go @@ -6,7 +6,7 @@ import ( "strconv" "sync" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" ) var bufPool = sync.Pool{New: func() any { return new(bytes.Buffer) }} diff --git a/internal/blockdb/tui/presenter/tx_test.go b/internal/blockdb/tui/presenter/tx_test.go index f3f069946..a91fc8587 100644 --- a/internal/blockdb/tui/presenter/tx_test.go +++ b/internal/blockdb/tui/presenter/tx_test.go @@ -4,7 +4,7 @@ import ( "encoding/json" "testing" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" "github.com/stretchr/testify/require" ) diff --git a/internal/blockdb/tui/update.go b/internal/blockdb/tui/update.go index 1dc618050..10f452aa4 100644 --- a/internal/blockdb/tui/update.go +++ b/internal/blockdb/tui/update.go @@ -7,7 +7,7 @@ import ( "github.com/gdamore/tcell/v2" "github.com/rivo/tview" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb/tui/presenter" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb/tui/presenter" ) // Update should be the argument for *(tview.Application).SetInputCapture. diff --git a/internal/blockdb/tui/update_test.go b/internal/blockdb/tui/update_test.go index 14291460d..352d2d40f 100644 --- a/internal/blockdb/tui/update_test.go +++ b/internal/blockdb/tui/update_test.go @@ -9,7 +9,7 @@ import ( "github.com/gdamore/tcell/v2" "github.com/rivo/tview" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" "github.com/stretchr/testify/require" ) diff --git a/internal/blockdb/tui/views.go b/internal/blockdb/tui/views.go index 5dd053343..50470725f 100644 --- a/internal/blockdb/tui/views.go +++ b/internal/blockdb/tui/views.go @@ -8,8 +8,8 @@ import ( "github.com/gdamore/tcell/v2" "github.com/rivo/tview" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" - "github.com/strangelove-ventures/ibctest/v6/internal/blockdb/tui/presenter" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb" + "github.com/strangelove-ventures/ibctest/v7/internal/blockdb/tui/presenter" ) func headerView(m *Model) *tview.Flex { diff --git a/internal/dockerutil/fileretriever_test.go b/internal/dockerutil/fileretriever_test.go index 8e4c26f49..886cf4231 100644 --- a/internal/dockerutil/fileretriever_test.go +++ b/internal/dockerutil/fileretriever_test.go @@ -5,8 +5,8 @@ import ( "testing" volumetypes "github.com/docker/docker/api/types/volume" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/internal/dockerutil/filewriter_test.go b/internal/dockerutil/filewriter_test.go index 4efd1cdb9..161448a0a 100644 --- a/internal/dockerutil/filewriter_test.go +++ b/internal/dockerutil/filewriter_test.go @@ -5,8 +5,8 @@ import ( "testing" volumetypes "github.com/docker/docker/api/types/volume" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) diff --git a/internal/dockerutil/setup_test.go b/internal/dockerutil/setup_test.go index e4457d782..d79106cf8 100644 --- a/internal/dockerutil/setup_test.go +++ b/internal/dockerutil/setup_test.go @@ -7,8 +7,8 @@ import ( volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/errdefs" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/internal/mocktesting" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/internal/mocktesting" "github.com/stretchr/testify/require" ) diff --git a/internal/mocktesting/t_test.go b/internal/mocktesting/t_test.go index 2ab877290..d4373e25e 100644 --- a/internal/mocktesting/t_test.go +++ b/internal/mocktesting/t_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/strangelove-ventures/ibctest/v6/internal/mocktesting" + "github.com/strangelove-ventures/ibctest/v7/internal/mocktesting" "github.com/stretchr/testify/require" ) diff --git a/relayer/docker.go b/relayer/docker.go index a35d7bf08..454c9e1e1 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -15,8 +15,8 @@ import ( volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" "github.com/docker/docker/pkg/stdcopy" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" "go.uber.org/zap" ) diff --git a/relayer/options.go b/relayer/options.go index e48832a9c..134622850 100644 --- a/relayer/options.go +++ b/relayer/options.go @@ -1,7 +1,7 @@ package relayer import ( - "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v7/ibc" ) // RelayerOption is used to customize the relayer configuration, whether constructed with the diff --git a/relayer/rly/cosmos_relayer.go b/relayer/rly/cosmos_relayer.go index 294fc0f29..3714bedc0 100644 --- a/relayer/rly/cosmos_relayer.go +++ b/relayer/rly/cosmos_relayer.go @@ -9,8 +9,8 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/docker/docker/client" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/relayer" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/relayer" "go.uber.org/zap" ) diff --git a/relayer/rly/wallet.go b/relayer/rly/wallet.go index 8ea3f6e85..4da53110c 100644 --- a/relayer/rly/wallet.go +++ b/relayer/rly/wallet.go @@ -1,7 +1,7 @@ package rly import ( - "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v7/ibc" ) var _ ibc.Wallet = &RlyWallet{} diff --git a/relayerfactory.go b/relayerfactory.go index 3063afb6f..8a19a2a12 100644 --- a/relayerfactory.go +++ b/relayerfactory.go @@ -5,10 +5,10 @@ import ( "testing" "github.com/docker/docker/client" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/label" - "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/relayer/rly" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/label" + "github.com/strangelove-ventures/ibctest/v7/relayer" + "github.com/strangelove-ventures/ibctest/v7/relayer/rly" "go.uber.org/zap" ) diff --git a/tempdir_test.go b/tempdir_test.go index 8dc4eedfa..b3f138c2c 100644 --- a/tempdir_test.go +++ b/tempdir_test.go @@ -6,8 +6,8 @@ import ( "strings" "testing" - ibctest "github.com/strangelove-ventures/ibctest/v6" - "github.com/strangelove-ventures/ibctest/v6/internal/mocktesting" + ibctest "github.com/strangelove-ventures/ibctest/v7" + "github.com/strangelove-ventures/ibctest/v7/internal/mocktesting" "github.com/stretchr/testify/require" ) diff --git a/test_setup.go b/test_setup.go index b7e06c066..6a34658e2 100644 --- a/test_setup.go +++ b/test_setup.go @@ -8,10 +8,10 @@ import ( "time" "github.com/docker/docker/client" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/internal/version" - "github.com/strangelove-ventures/ibctest/v6/testreporter" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/internal/version" + "github.com/strangelove-ventures/ibctest/v7/testreporter" ) const ( diff --git a/test_user.go b/test_user.go index df08d2577..41ae60cc8 100644 --- a/test_user.go +++ b/test_user.go @@ -5,9 +5,9 @@ import ( "fmt" "testing" - "github.com/strangelove-ventures/ibctest/v6/ibc" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" - "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/strangelove-ventures/ibctest/v7/ibc" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/testutil" "github.com/stretchr/testify/require" "golang.org/x/sync/errgroup" ) diff --git a/testreporter/messages.go b/testreporter/messages.go index fb0bcb139..84c9c3500 100644 --- a/testreporter/messages.go +++ b/testreporter/messages.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - "github.com/strangelove-ventures/ibctest/v6/label" + "github.com/strangelove-ventures/ibctest/v7/label" ) // Message is the sentinel interface to all testreporter messages. diff --git a/testreporter/messages_test.go b/testreporter/messages_test.go index 7af27db9c..922a8ba2d 100644 --- a/testreporter/messages_test.go +++ b/testreporter/messages_test.go @@ -6,8 +6,8 @@ import ( "time" "github.com/google/go-cmp/cmp" - "github.com/strangelove-ventures/ibctest/v6/label" - "github.com/strangelove-ventures/ibctest/v6/testreporter" + "github.com/strangelove-ventures/ibctest/v7/label" + "github.com/strangelove-ventures/ibctest/v7/testreporter" "github.com/stretchr/testify/require" ) diff --git a/testreporter/reporter.go b/testreporter/reporter.go index 242e8881a..8490b68d7 100644 --- a/testreporter/reporter.go +++ b/testreporter/reporter.go @@ -6,7 +6,7 @@ import ( "io" "time" - "github.com/strangelove-ventures/ibctest/v6/label" + "github.com/strangelove-ventures/ibctest/v7/label" ) // T is a subset of testing.TB, diff --git a/testreporter/reporter_test.go b/testreporter/reporter_test.go index 544b584b3..c09216602 100644 --- a/testreporter/reporter_test.go +++ b/testreporter/reporter_test.go @@ -8,9 +8,9 @@ import ( "time" "github.com/google/go-cmp/cmp" - "github.com/strangelove-ventures/ibctest/v6/internal/mocktesting" - "github.com/strangelove-ventures/ibctest/v6/label" - "github.com/strangelove-ventures/ibctest/v6/testreporter" + "github.com/strangelove-ventures/ibctest/v7/internal/mocktesting" + "github.com/strangelove-ventures/ibctest/v7/label" + "github.com/strangelove-ventures/ibctest/v7/testreporter" "github.com/stretchr/testify/require" ) diff --git a/testutil/poll_for_state.go b/testutil/poll_for_state.go index 4fbd9eb82..c62143430 100644 --- a/testutil/poll_for_state.go +++ b/testutil/poll_for_state.go @@ -7,7 +7,7 @@ import ( "strings" "github.com/davecgh/go-spew/spew" - "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v7/ibc" ) var ErrNotFound = errors.New("not found") diff --git a/testutil/poll_for_state_test.go b/testutil/poll_for_state_test.go index c0993ca70..30e54018a 100644 --- a/testutil/poll_for_state_test.go +++ b/testutil/poll_for_state_test.go @@ -6,7 +6,7 @@ import ( "fmt" "testing" - "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v7/ibc" "github.com/stretchr/testify/require" ) diff --git a/testutil/toml.go b/testutil/toml.go index 8334ca21f..6597a1c4d 100644 --- a/testutil/toml.go +++ b/testutil/toml.go @@ -8,7 +8,7 @@ import ( "github.com/BurntSushi/toml" "github.com/docker/docker/client" - "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v7/internal/dockerutil" "go.uber.org/zap" ) From 8936b0f6fe3878b0ab45ab24765fe55b0ef7a190 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Wed, 25 Jan 2023 12:14:51 -0700 Subject: [PATCH 10/50] Initial commit for hyperspace relayer --- go.mod | 7 +- go.sum | 1 + ibc/types.go | 1 + relayer/rly/hyperspace.go | 538 ++++++++++++++++++++++++++++++++++++++ relayerfactory.go | 8 + 5 files changed, 552 insertions(+), 3 deletions(-) create mode 100644 relayer/rly/hyperspace.go diff --git a/go.mod b/go.mod index 647daad87..dc3899033 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,9 @@ require ( github.com/StirlingMarketingGroup/go-namecase v1.0.0 github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 + github.com/btcsuite/btcd v0.22.1 github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 + github.com/cosmos/btcutil v1.0.4 github.com/cosmos/cosmos-sdk v0.46.2 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/ibc-go/v6 v6.0.0-20221104144119-b1f494c64328 @@ -23,6 +25,7 @@ require ( github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/libp2p/go-libp2p-core v0.15.1 github.com/mr-tron/base58 v1.2.0 + github.com/pelletier/go-toml/v2 v2.0.5 github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 github.com/stretchr/testify v1.8.1 github.com/tendermint/tendermint v0.34.21 @@ -55,14 +58,13 @@ require ( 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.0 // indirect - github.com/btcsuite/btcd v0.22.1 // indirect + github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect github.com/confio/ics23/go v0.7.0 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect github.com/cosmos/cosmos-proto v1.0.0-alpha7 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313 // indirect @@ -147,7 +149,6 @@ require ( github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect github.com/pierrec/xxHash v0.1.5 // indirect github.com/pkg/errors v0.9.1 // indirect diff --git a/go.sum b/go.sum index 44bcb7f5e..c46bbfe7e 100644 --- a/go.sum +++ b/go.sum @@ -126,6 +126,7 @@ github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= 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-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= diff --git a/ibc/types.go b/ibc/types.go index 482932a0d..bb9233e3f 100644 --- a/ibc/types.go +++ b/ibc/types.go @@ -226,6 +226,7 @@ type RelayerImplementation int64 const ( CosmosRly RelayerImplementation = iota Hermes + Hyperspace ) // ChannelFilter provides the means for either creating an allowlist or a denylist of channels on the src chain diff --git a/relayer/rly/hyperspace.go b/relayer/rly/hyperspace.go new file mode 100644 index 000000000..f7bbe9af2 --- /dev/null +++ b/relayer/rly/hyperspace.go @@ -0,0 +1,538 @@ +// Package rly provides an interface to the cosmos relayer running in a Docker container. +package rly + +import ( + "context" + "encoding/hex" + "encoding/json" + "fmt" + "github.com/cosmos/cosmos-sdk/types" + "strings" + + "github.com/btcsuite/btcd/chaincfg" + keys "github.com/cosmos/btcutil/hdkeychain" + "github.com/docker/docker/client" + "github.com/pelletier/go-toml/v2" + "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v6/relayer" + "go.uber.org/zap" +) + +// HyperspaceRelayer is the ibc.Relayer implementation for github.com/ComposableFi/hyperspace. +type HyperspaceRelayer struct { + // Embedded DockerRelayer so commands just work. + *relayer.DockerRelayer +} + +func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, networkID string, options ...relayer.RelayerOption) *HyperspaceRelayer { + c := hyperspaceCommander{log: log} + for _, opt := range options { + switch o := opt.(type) { + case relayer.RelayerOptionExtraStartFlags: + c.extraStartFlags = o.Flags + } + } + dr, err := relayer.NewDockerRelayer(context.TODO(), log, testName, cli, networkID, c, options...) + if err != nil { + panic(err) // TODO: return + } + + r := &HyperspaceRelayer{ + DockerRelayer: dr, + } + + return r +} + +type HyperspaceRelayerChainConfig struct { + Type string `toml:"type"` + Name string `toml:"name"` + ParaID uint32 `toml:"para_id"` + ParachainRPCURL string `toml:"parachain_rpc_url"` + RelayChainRPCURL string `toml:"relay_chain_rpc_url"` + ClientID string `toml:"client_id"` + ConnectionID string `toml:"connection_id"` + BeefyActivation uint32 `toml:"beefy_activation_block"` + CommitmentPrefix string `toml:"commitment_prefix"` + PrivateKey string `toml:"private_key"` + SS58Version uint8 `toml:"ss58_version"` + ChannelWhitelist []string `toml:"channel_whitelist"` + FinalityProtocol string `toml:"finality_protocol"` + KeyType string `toml:"key_type"` +} + +/* + /// Chain name + pub name: String, + /// rpc url for cosmos + pub rpc_url: Url, + /// grpc url for cosmos + pub grpc_url: Url, + /// websocket url for cosmos + pub websocket_url: Url, + /// Cosmos chain Id + pub chain_id: String, + /// Light client id on counterparty chain + pub client_id: Option, + /// Connection Id + pub connection_id: Option, + /// Account prefix + pub account_prefix: String, + /// Store prefix + pub store_prefix: String, + /// Maximun transaction size + pub max_tx_size: usize, + /// The key that signs transactions + pub keybase: KeyEntry, + +*/ + +type KeyEntry struct { + PublicKey string `toml:"public_key"` + PrivateKey string `toml:"private_key"` + Account string `toml:"account"` + Address []byte `toml:"address"` +} + +type HyperspaceRelayerCosmosChainConfigValue struct { + Name string `toml:"name"` + RPCUrl string `toml:"rpc_url"` + GRPCUrl string `toml:"grpc_url"` + WebsocketUrl string `toml:"websocket_url"` + ChainID string ` toml:"chain_id"` + AccountPrefix string `toml:"account_prefix"` + StorePrefix string `toml:"store_prefix"` + MaxTxSize uint64 `toml:"max_tx_size"` + Keybase KeyEntry `toml:"keybase"` + + //Debug bool `json:"debug" toml:"debug"` + //GasAdjustment float64 `json:"gas-adjustment" toml:"gas_adjustment"` + //GasPrices string `json:"gas-prices" toml:"gas_prices"` + //Key string `json:"key" toml:"key"` + //KeyringBackend string `json:"keyring-backend" toml:"keyring_backend"` + //OutputFormat string `json:"output-format" toml:"output_format"` + //SignMode string `json:"sign-mode" toml:"sign_mode"` + //Timeout string `json:"timeout" toml:"timeout"` +} + +type HyperspaceRelayerCoreConfig struct { + PrometheusEndpoint string +} + +type HyperspaceRelayerConfig struct { + ChainA HyperspaceRelayerChainConfig `toml:"chain_a"` + ChainB HyperspaceRelayerChainConfig `toml:"chain_b"` + Core HyperspaceRelayerCoreConfig `toml:"core"` +} + +const ( + HyperspaceDefaultContainerImage = "hyperspace" + HyperspaceDefaultContainerVersion = "latest" +) + +// HyperspaceCapabilities returns the set of capabilities of the Cosmos relayer. +// +// Note, this API may change if the rly package eventually needs +// to distinguish between multiple rly versions. +func HyperspaceCapabilities() map[relayer.Capability]bool { + // RC1 matches the full set of capabilities as of writing. + return nil // relayer.FullCapabilities() +} + +func GenKey() KeyEntry { + testVec1MasterHex := "000102030405060708090a0b0c0d0e0f" + masterSeed, err := hex.DecodeString(testVec1MasterHex) + if err != nil { + panic(err) + } + net := chaincfg.SimNetParams + extKey, err := keys.NewMaster(masterSeed, &net) + if err != nil { + panic(err) + } + extKey, err = extKey.Derive(0) + if err != nil { + panic(err) + } + + privStr := extKey.String() + pubKey, err := extKey.Neuter() + if err != nil { + panic(err) + } + pubKey, err = pubKey.Neuter() + if err != nil { + panic(err) + } + pubStr := pubKey.String() + + address, err := pubKey.Address(&net) + if err != nil { + panic(err) + } + /* + addrBytes, err := c.GetAddress(egCtx, keyName) + b32, err := types.Bech32ifyAddressBytes(config.Bech32Prefix, addrBytes) + */ + //KeyBech32 + account1 := types.MustBech32ifyAddressBytes("cosmos", address.ScriptAddress()) + fmt.Println("account1", account1) + + //account := address.EncodeAddress() + // sdk.AccAddressFromBech32(user.Bech32Address(b.chain.Config().Bech32Prefix)) + account2, err := types.AccAddressFromBech32(address.EncodeAddress()) + fmt.Println("account2", account2) + fmt.Println("account2", account2.String()) + //account3, err := types.AccAddressFromBech32(address.) + //fmt.Println("account3", account3) + + return KeyEntry{ + PublicKey: pubStr, + PrivateKey: privStr, + Account: account2.String(), + Address: address.ScriptAddress(), + } +} + +func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, rpcAddr, gprcAddr string) interface{} { + chainType := chainConfig.Type + if chainType == "polkadot" || chainType == "parachain" || chainType == "relaychain" { + chainType = "parachain" + } + addrs := strings.Split(rpcAddr, ",") + paraRpcAddr := rpcAddr + relayRpcAddr := gprcAddr + if len(addrs) > 1 { + paraRpcAddr, relayRpcAddr = addrs[0], addrs[1] + } + + if chainType == "parachain" { + return HyperspaceRelayerChainConfig{ + Type: chainType, + Name: chainConfig.Name, + ParaID: 2001, + ParachainRPCURL: paraRpcAddr, + RelayChainRPCURL: relayRpcAddr, + ClientID: "10-grandpa-0", + ConnectionID: "connection-0", + CommitmentPrefix: "0x6962632f", + PrivateKey: "//Alice", + SS58Version: 49, + KeyType: "sr25519", + FinalityProtocol: "grandpa", + } + } else if chainType == "cosmos" { + return HyperspaceRelayerCosmosChainConfigValue{ + ChainID: chainConfig.ChainID, + AccountPrefix: chainConfig.Bech32Prefix, + GRPCUrl: gprcAddr, + RPCUrl: rpcAddr, + StorePrefix: "", + MaxTxSize: 200000, + Keybase: GenKey(), + //Debug: true, + //GasAdjustment: chainConfig.GasAdjustment, + //GasPrices: chainConfig.GasPrices, + //KeyringBackend: "test", + //OutputFormat: "toml", + //SignMode: "direct", + //Timeout: "10s", + } + } else { + panic(fmt.Sprintf("unsupported chain type %s", chainType)) + } +} + +// hyperspaceCommander satisfies relayer.RelayerCommander. +type hyperspaceCommander struct { + log *zap.Logger + extraStartFlags []string +} + +func (hyperspaceCommander) Name() string { + return "rly" +} + +func (hyperspaceCommander) DockerUser() string { + return "501:20" // docker run -it --rm --entrypoint echo ghcr.io/cosmos/relayer "$(id -u):$(id -g)" +} + +func (hyperspaceCommander) AddChainConfiguration(containerFilePath, homeDir string) []string { + fmt.Println("[hyperspace] AddChainConfiguration ", containerFilePath, homeDir) + return []string{ + "hyperspace", + "-h", + // "rly", "chains", "add", "-f", containerFilePath, + // "--home", homeDir, + } +} + +func (hyperspaceCommander) AddKey(chainID, keyName, coinType, homeDir string) []string { + fmt.Println("[hyperspace] AddKey", chainID, keyName, homeDir) + return []string{ + "hyperspace", + "-h", + // "rly", "keys", "add", chainID, keyName, + // "--home", homeDir, + } +} + +func (hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { + fmt.Println("[hyperspace] CreateChannel", pathName, opts, homeDir) + return []string{ + "hyperspace", + "-h", + // "rly", "tx", "channel", pathName, + // "--src-port", opts.SourcePortName, + // "--dst-port", opts.DestPortName, + // "--order", opts.Order.String(), + // "--version", opts.Version, + + // "--home", homeDir, + } +} + +func (hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { + fmt.Println("[hyperspace] CreateClients", pathName, opts, homeDir) + return []string{ + "hyperspace", + "-h", + //"rly", "tx", "clients", pathName, "--client-tp", opts.TrustingPeriod, + //"--home", homeDir, + } +} + +// CreateClient passing a value of 0 for customeClientTrustingPeriod will use default +func (hyperspaceCommander) CreateClient(pathName, homeDir, customeClientTrustingPeriod string) []string { + fmt.Println("[hyperspace] CreateClient", pathName, homeDir, customeClientTrustingPeriod) + return []string{ + "hyperspace", + "-h", + //"rly", "tx", "client", pathName, "--client-tp", customeClientTrustingPeriod, + //"--home", homeDir, + } +} + +func (hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { + fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) + return []string{ + "hyperspace", + "-h", + //"rly", "tx", "connection", pathName, + //"--home", homeDir, + } +} + +func (hyperspaceCommander) FlushAcknowledgements(pathName, channelID, homeDir string) []string { + fmt.Println("[hyperspace] FlushAcknowledgements", pathName, channelID, homeDir) + return []string{ + "hyperspace", + "-h", + //"rly", "tx", "relay-acks", pathName, channelID, + //"--home", homeDir, + } +} + +func (hyperspaceCommander) FlushPackets(pathName, channelID, homeDir string) []string { + fmt.Println("[hyperspace] FlushPackets", pathName, channelID, homeDir) + return []string{ + "hyperspace", + "-h", + //"rly", "tx", "relay-pkts", pathName, channelID, + //"--home", homeDir, + } +} + +func (hyperspaceCommander) GeneratePath(srcChainID, dstChainID, pathName, homeDir string) []string { + fmt.Println("[hyperspace] GeneratePath", srcChainID, dstChainID, pathName, homeDir) + return []string{ + "hyperspace", + "-h", + // "rly", "paths", "new", srcChainID, dstChainID, pathName, + // "--home", homeDir, + } +} + +func (hyperspaceCommander) UpdatePath(pathName, homeDir string, filter ibc.ChannelFilter) []string { + fmt.Println("[hyperspace] UpdatePath", pathName, homeDir, filter) + return []string{ + "hyperspace", + "-h", + // "rly", "paths", "update", pathName, + // "--home", homeDir, + // "--filter-rule", filter.Rule, + // "--filter-channels", strings.Join(filter.ChannelList, ","), + } +} + +func (hyperspaceCommander) GetChannels(chainID, homeDir string) []string { + + fmt.Println("[hyperspace] GetChannels", chainID, homeDir) + return []string{ + "hyperspace", + "query", + "channels", + chainID, + "--config", "rococo-local.config", + //"rly", "q", "channels", chainID, + //"--home", homeDir, + } +} + +func (hyperspaceCommander) GetConnections(chainID, homeDir string) []string { + fmt.Println("[hyperspace] GetConnections", chainID, homeDir) + return []string{ + "hyperspace", + "-h", + //"rly", "q", "connections", chainID, + //"--home", homeDir, + } +} + +func (hyperspaceCommander) GetClients(chainID, homeDir string) []string { + panic("Implement me") +} + +func (hyperspaceCommander) LinkPath(pathName, homeDir string, channelOpts ibc.CreateChannelOptions, clientOpt ibc.CreateClientOptions) []string { + fmt.Println("[hyperspace] LinkPath", pathName, homeDir, channelOpts, clientOpt) + return []string{ + "hyperspace", + "-h", + // "rly", "tx", "link", pathName, + // "--src-port", channelOpts.SourcePortName, + // "--dst-port", channelOpts.DestPortName, + // "--order", channelOpts.Order.String(), + // "--version", channelOpts.Version, + // "--client-tp", clientOpt.TrustingPeriod, + + // "--home", homeDir, + } +} + +func (hyperspaceCommander) RestoreKey(chainID, keyName, cointType, mnemonic, homeDir string) []string { + fmt.Println("[hyperspace] RestoreKey", chainID, keyName, mnemonic, homeDir) + return []string{ + "hyperspace", + "-h", + //"rly", "keys", "restore", chainID, keyName, mnemonic, + //"--home", homeDir, + } +} + +func (c hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { + fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) + cmd := []string{ + "hyperspace", + "relay", + "--config-a", homeDir + "/config_a.toml", + "--config-b", homeDir + "/config_b.toml", + "--config-core", homeDir + "/config_core.toml", + } + cmd = append(cmd, c.extraStartFlags...) + // cmd = append(cmd, pathNames...) + return cmd +} + +func (hyperspaceCommander) UpdateClients(pathName, homeDir string) []string { + fmt.Println("[hyperspace] UpdateClients", pathName, homeDir) + return []string{ + "hyperspace", + "-h", + // "rly", "tx", "update-clients", pathName, + // "--home", homeDir, + } +} + +func (hyperspaceCommander) ConfigContent(ctx context.Context, cfg ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) ([]byte, error) { + fmt.Println("[hyperspace] ConfigContent", cfg, keyName, rpcAddr, grpcAddr) + HyperspaceRelayerChainConfig := ChainConfigToHyperspaceRelayerChainConfig(cfg, keyName, rpcAddr, grpcAddr) + bytes, err := toml.Marshal(HyperspaceRelayerChainConfig) + if err != nil { + return nil, err + } + return bytes, nil +} + +func (hyperspaceCommander) DefaultContainerImage() string { + return HyperspaceDefaultContainerImage +} + +func (hyperspaceCommander) DefaultContainerVersion() string { + return HyperspaceDefaultContainerVersion +} + +func (hyperspaceCommander) ParseAddKeyOutput(stdout, stderr string) (ibc.Wallet, error) { + fmt.Println("[hyperspace] ParseAddKeyOutput", stdout, stderr) + + var wallet ibc.Wallet + err := json.Unmarshal([]byte(stdout), &wallet) + return wallet, err +} + +func (hyperspaceCommander) ParseRestoreKeyOutput(stdout, stderr string) string { + fmt.Println("[hyperspace] ParseRestoreKeyOutput", stdout, stderr) + //return strings.Replace(stdout, "\n", "", 1) + return "5DdfLppz85oT7jPPw3vANQmJ3HM1V545NXnAb2RBkjqc6hdH" +} + +func (c hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc.ChannelOutput, error) { + fmt.Println("[hyperspace] ParseGetChannelsOutput", stdout, stderr) + var channels []ibc.ChannelOutput + channelSplit := strings.Split(stdout, "\n") + for _, channel := range channelSplit { + if strings.TrimSpace(channel) == "" { + continue + } + var channelOutput ibc.ChannelOutput + err := json.Unmarshal([]byte(channel), &channelOutput) + if err != nil { + c.log.Error("Failed to parse channels json", zap.Error(err)) + continue + } + channels = append(channels, channelOutput) + } + + return channels, nil +} + +func (c hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc.ConnectionOutputs, error) { + fmt.Println("[hyperspace] ParseGetConnectionsOutput", stdout, stderr) + + var connections ibc.ConnectionOutputs + for _, connection := range strings.Split(stdout, "\n") { + if strings.TrimSpace(connection) == "" { + continue + } + + var connectionOutput ibc.ConnectionOutput + if err := json.Unmarshal([]byte(connection), &connectionOutput); err != nil { + c.log.Error( + "Error parsing connection json", + zap.Error(err), + ) + + continue + } + connections = append(connections, &connectionOutput) + } + + return connections, nil +} + +func (c hyperspaceCommander) ParseGetClientsOutput(stdout, stderr string) (ibc.ClientOutputs, error) { + panic("Implement me") +} + +func (hyperspaceCommander) Init(homeDir string) []string { + fmt.Println("[hyperspace] Init", homeDir) + return []string{ + "hyperspace", + "-h", + // "rly", "config", "init", + // "--home", homeDir, + } +} + +func (c hyperspaceCommander) CreateWallet(keyName, address, mnemonic string) ibc.Wallet { + return NewWallet(keyName, address, mnemonic) +} \ No newline at end of file diff --git a/relayerfactory.go b/relayerfactory.go index 3063afb6f..0ff5c276e 100644 --- a/relayerfactory.go +++ b/relayerfactory.go @@ -65,6 +65,14 @@ func (f builtinRelayerFactory) Build( networkID, f.options..., ) + case ibc.Hyperspace: + return rly.NewHyperspaceRelayer( + f.log, + t.Name(), + cli, + networkID, + f.options..., + ) default: panic(fmt.Errorf("RelayerImplementation %v unknown", f.impl)) } From 5357971ae851231a996777f48a954cd374a59b02 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Thu, 26 Jan 2023 18:49:33 -0700 Subject: [PATCH 11/50] Add support for creating the core config and modifying chain configs. --- chain/polkadot/polkadot_chain.go | 6 +- chain/polkadot/ss58.go | 6 +- examples/hyperspace/hyperspace_test.go | 254 +++++++++++++++++++++++++ relayer/docker.go | 80 +++++++- relayer/rly/hyperspace.go | 205 ++++++++++---------- 5 files changed, 429 insertions(+), 122 deletions(-) create mode 100644 examples/hyperspace/hyperspace_test.go diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index bf455e91b..71cf545b6 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -592,7 +592,7 @@ func (c *PolkadotChain) CreateKey(ctx context.Context, keyName string) error { return err } - kp, err := signature.KeyringPairFromSecret(mnemonic, ss58Format) + kp, err := signature.KeyringPairFromSecret(mnemonic, Ss58Format) if err != nil { return fmt.Errorf("failed to create keypair: %w", err) } @@ -617,7 +617,7 @@ func (c *PolkadotChain) RecoverKey(ctx context.Context, keyName, mnemonic string return fmt.Errorf("Key already exists: %s", keyName) } - kp, err := signature.KeyringPairFromSecret(mnemonic, ss58Format) + kp, err := signature.KeyringPairFromSecret(mnemonic, Ss58Format) if err != nil { return fmt.Errorf("failed to create keypair: %w", err) } @@ -634,7 +634,7 @@ func (c *PolkadotChain) RecoverKey(ctx context.Context, keyName, mnemonic string return err } -// GetAddress fetches the bech32 address for a test key on the "user" node (either the first fullnode or the first validator if no fullnodes). +// GetAddress fetches the address for a test key on the "user" node (either the first fullnode or the first validator if no fullnodes). // Implements Chain interface. func (c *PolkadotChain) GetAddress(ctx context.Context, keyName string) ([]byte, error) { krItem, err := c.keyring.Get(keyName) diff --git a/chain/polkadot/ss58.go b/chain/polkadot/ss58.go index 89be9cd29..69717f47d 100644 --- a/chain/polkadot/ss58.go +++ b/chain/polkadot/ss58.go @@ -9,12 +9,12 @@ import ( ) const ( - ss58Format = 42 + Ss58Format = 42 ss58Prefix = "SS58PRE" ) func EncodeAddressSS58(key []byte) (string, error) { - input := []byte{ss58Format} + input := []byte{Ss58Format} input = append(input, key...) checksum, err := ss58Checksum(input) @@ -36,7 +36,7 @@ func EncodeAddressSS58(key []byte) (string, error) { func DecodeAddressSS58(address string) ([]byte, error) { checksumPrefix := []byte(ss58Prefix) ss58AddrDecoded, err := base58.Decode(address) - if len(ss58AddrDecoded) == 0 || ss58AddrDecoded[0] != byte(ss58Format) || err != nil { + if len(ss58AddrDecoded) == 0 || ss58AddrDecoded[0] != byte(Ss58Format) || err != nil { return nil, err } var checksumLength int diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go new file mode 100644 index 000000000..51871ca75 --- /dev/null +++ b/examples/hyperspace/hyperspace_test.go @@ -0,0 +1,254 @@ +package hyperspace_test + +import ( + "context" + "crypto/sha256" + "encoding/hex" + "fmt" + "testing" + + "github.com/strangelove-ventures/ibctest/v6" + "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" + "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" + "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v6/relayer" + "github.com/strangelove-ventures/ibctest/v6/relayer/rly" + "github.com/strangelove-ventures/ibctest/v6/testreporter" + "github.com/strangelove-ventures/ibctest/v6/testutil" + "github.com/stretchr/testify/require" + "go.uber.org/zap/zaptest" +) + +// TestHyperspace setup +// * Uses simd docker image from heighliner built from feat/wasm-client branch (rebuild & publish if changed) +// * Uses "seunlanlege/centauri-polkadot" v0.9.27 and "seunlanlege/centauri-parachain" v0.9.27 +// * Build local Hyperspace docker from centauri repo: +// "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." + +// TestHyperspace features +// * sets up a Polkadot parachain +// * sets up a Cosmos chain +// * sets up the Hyperspace relayer +// * Funds a user wallet on both chains +// * Pushes a wasm client contract to the Cosmos chain +// * TODO: create client, connection, and channel in relayer +// * TODO: start relayer +// * TODO: send transfer over ibc +func TestHyperspace(t *testing.T) { + if testing.Short() { + t.Skip() + } + + t.Parallel() + + client, network := ibctest.DockerSetup(t) + + rep := testreporter.NewNopReporter() + eRep := rep.RelayerExecReporter(t) + + ctx := context.Background() + + nv := 5 // Number of validators + nf := 3 // Number of full nodes + + // Override config files to support an ~2.5MB contract + configFileOverrides := make(map[string]any) + + appTomlOverrides := make(testutil.Toml) + configTomlOverrides := make(testutil.Toml) + + apiOverrides := make(testutil.Toml) + apiOverrides["rpc-max-body-bytes"] = 1350000 + appTomlOverrides["api"] = apiOverrides + + rpcOverrides := make(testutil.Toml) + rpcOverrides["max_body_bytes"] = 1350000 + rpcOverrides["max_header_bytes"] = 1400000 + configTomlOverrides["rpc"] = rpcOverrides + + //mempoolOverrides := make(testutil.Toml) + //mempoolOverrides["max_tx_bytes"] = 6000000 + //configTomlOverrides["mempool"] = mempoolOverrides + + configFileOverrides["config/app.toml"] = appTomlOverrides + configFileOverrides["config/config.toml"] = configTomlOverrides + + // Get both chains + cf := ibctest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*ibctest.ChainSpec{ + { + ChainConfig: ibc.ChainConfig{ + Type: "polkadot", + Name: "composable", + ChainID: "rococo-local", + Images: []ibc.DockerImage{ + { + Repository: "seunlanlege/centauri-polkadot", + Version: "v0.9.27", + UidGid: "1025:1025", + }, + { + Repository: "seunlanlege/centauri-parachain", + Version: "v0.9.27", + //UidGid: "1025:1025", + }, + }, + Bin: "polkadot", + Bech32Prefix: "composable", + Denom: "uDOT", + GasPrices: "", + GasAdjustment: 0, + TrustingPeriod: "", + CoinType: "354", + }, + NumValidators: &nv, + NumFullNodes: &nf, + }, + { + ChainConfig: ibc.ChainConfig{ + Type: "cosmos", + Name: "ibc-go-simd", + ChainID: "simd", + Images: []ibc.DockerImage{ + { + Repository: "ibc-go-simd", + Version: "feat-wasm-client", + UidGid: "1025:1025", + }, + }, + Bin: "simd", + Bech32Prefix: "cosmos", + Denom: "stake", + GasPrices: "0.00stake", + GasAdjustment: 1.3, + TrustingPeriod: "504h", + //EncodingConfig: WasmClientEncoding(), + NoHostMount: true, + ConfigFileOverrides: configFileOverrides, + }, + }, + }) + + chains, err := cf.Chains(t.Name()) + require.NoError(t, err) + + polkadotChain := chains[0].(*polkadot.PolkadotChain) + cosmosChain := chains[1].(*cosmos.CosmosChain) + + fmt.Println("About to build relayer factory") + // Get a relayer instance + r := ibctest.NewBuiltinRelayerFactory( + ibc.Hyperspace, + zaptest.NewLogger(t), + // These two fields are used to pass in a custom Docker image built locally + relayer.ImagePull(false), + relayer.CustomDockerImage("hyperspace", "local", "1000:1000"), + //relayer.CustomDockerImage("hyperspace", "local", "501:20"), + ).Build(t, client, network) + + // Build the network; spin up the chains and configure the relayer + const pathName = "composable-simd" + const relayerName = "hyperspace" + + fmt.Println("About to create interchain") + ic := ibctest.NewInterchain(). + AddChain(polkadotChain). + AddChain(cosmosChain). + AddRelayer(r, relayerName). + AddLink(ibctest.InterchainLink{ + Chain1: polkadotChain, + Chain2: cosmosChain, + Relayer: r, + Path: pathName, + }) + + fmt.Println("About to build interchain") + require.NoError(t, ic.Build(ctx, eRep, ibctest.InterchainBuildOptions{ + TestName: t.Name(), + Client: client, + NetworkID: network, + BlockDatabaseFile: ibctest.DefaultBlockDatabaseFilepath(), + SkipPathCreation: true, // Skip path creation, so we can have granular control over the process + })) + fmt.Println("Interchain built") + + t.Cleanup(func() { + _ = ic.Close() + }) + + err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) + require.NoError(t, err, "cosmos or polkadot chain failed to make blocks1") + + // Fund user1 on both relay and parachain, must wait a block to fund user2 due to same faucet address + fundAmount := int64(12_333_000_000_000) + users := ibctest.GetAndFundTestUsers(t, ctx, "user1", fundAmount, polkadotChain, cosmosChain) + polkadotUser, cosmosUser := users[0], users[1] + err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) + require.NoError(t, err, "cosmos or polkadot chain failed to make blocks2") + + polkadotUserAmount, err := polkadotChain.GetBalance(ctx, polkadotUser.FormattedAddress(), polkadotChain.Config().Denom) + require.NoError(t, err) + fmt.Println("Polkadot user amount: ", polkadotUserAmount) + require.Equal(t, fundAmount, polkadotUserAmount, "Initial polkadot user amount not expected") + parachainUserAmount, err := polkadotChain.GetBalance(ctx, polkadotUser.FormattedAddress(), "") + require.NoError(t, err) + fmt.Println("Parachain user amount: ", parachainUserAmount) + require.Equal(t, fundAmount, parachainUserAmount, "Initial parachain user amount not expected") + cosmosUserAmount, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) + require.NoError(t, err) + fmt.Println("Cosmos user amount: ", cosmosUserAmount) + require.Equal(t, fundAmount, cosmosUserAmount, "Initial cosmos user amount not expected") + + codeHash, err := cosmosChain.StoreClientContract(ctx, cosmosUser.KeyName(), "../polkadot/ics10_grandpa_cw.wasm") + t.Logf("Contract codeHash: %s", codeHash) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) + require.NoError(t, err) + + var getCodeQueryMsgRsp GetCodeQueryMsgResponse + err = cosmosChain.QueryClientContractCode(ctx, codeHash, &getCodeQueryMsgRsp) + codeHashByte32 := sha256.Sum256(getCodeQueryMsgRsp.Code) + codeHash2 := hex.EncodeToString(codeHashByte32[:]) + t.Logf("Contract codeHash from code: %s", codeHash2) + require.NoError(t, err) + require.NotEmpty(t, getCodeQueryMsgRsp.Code) + require.Equal(t, codeHash, codeHash2) + + r.(*rly.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) + r.(*rly.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) + r.(*rly.HyperspaceRelayer).DockerRelayer.PrintCoreConfig(ctx, eRep) + + //err = testutil.WaitForBlocks(ctx, 22, polkadotChain, cosmosChain) + //require.NoError(t, err) + // Add contract hash to hyperspace config and create clients, connection, and channel + // Then send ibc tx from cosmos -> substrate and vice versa + + + // Generate a new IBC path between the chains + // This is like running `rly paths new` + //err = r.GeneratePath(ctx, eRep, composable.Config().ChainID, simd.Config().ChainID, pathName) + //require.NoError(t, err) + + // Attempt to create the light clients for both chains on the counterparty chain + //err = r.CreateClients(ctx, rep.RelayerExecReporter(t), pathName, ibc.DefaultClientOpts()) + //require.NoError(t, err) + + // Once client, connection, and handshake logic is implemented for the Substrate provider + // we can link the path, start the relayer and attempt to send a token transfer via IBC. + + //r.LinkPath() + // + //composable.SendIBCTransfer() + // + //r.StartRelayer() + //t.Cleanup(func() { + // err = r.StopRelayer(ctx, eRep) + // if err != nil { + // panic(err) + // } + //}) +} + +type GetCodeQueryMsgResponse struct { + Code []byte `json:"code"` +} \ No newline at end of file diff --git a/relayer/docker.go b/relayer/docker.go index a35d7bf08..427d1df09 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -15,8 +15,10 @@ import ( volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" "github.com/docker/docker/pkg/stdcopy" + "github.com/pelletier/go-toml/v2" "github.com/strangelove-ventures/ibctest/v6/ibc" "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" + "github.com/strangelove-ventures/ibctest/v6/testutil" "go.uber.org/zap" ) @@ -44,6 +46,10 @@ type DockerRelayer struct { wallets map[string]ibc.Wallet } +type HyperspaceRelayerCoreConfig struct { + PrometheusEndpoint string +} + var _ ibc.Relayer = (*DockerRelayer)(nil) // NewDockerRelayer returns a new DockerRelayer. @@ -119,6 +125,20 @@ func NewDockerRelayer(ctx context.Context, log *zap.Logger, testName string, cli } } + if r.c.Name() == "hyperspace" { + coreConfig := HyperspaceRelayerCoreConfig{ + PrometheusEndpoint: "", + } + bytes, err := toml.Marshal(coreConfig) + if err != nil { + return nil, err + } + fw := dockerutil.NewFileWriter(r.log, r.client, r.testName) + if err := fw.WriteFile(ctx, r.volumeName, "core.config", bytes); err != nil { + return nil, fmt.Errorf("failed writing core config: %w", err) + } + } + return &r, nil } @@ -289,22 +309,66 @@ func (r *DockerRelayer) Exec(ctx context.Context, rep ibc.RelayerExecReporter, c } func (r *DockerRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecReporter, chainID, keyName, coinType, mnemonic string) error { - cmd := r.c.RestoreKey(chainID, keyName, coinType, mnemonic, r.HomeDir()) + addrBytes := "" + switch r.c.Name() { + case "hyperspace": + chainConfig := make(testutil.Toml) + chainConfig["private_key"] = mnemonic + chainConfigFile := chainID + ".config" + err := testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, chainConfigFile, chainConfig) + if err != nil { + return err + } + case "rly": + cmd := r.c.RestoreKey(chainID, keyName, coinType, mnemonic, r.HomeDir()) - // Restoring a key should be near-instantaneous, so add a 1-minute timeout - // to detect if Docker has hung. + // Restoring a key should be near-instantaneous, so add a 1-minute timeout + // to detect if Docker has hung. + ctx, cancel := context.WithTimeout(ctx, time.Minute) + defer cancel() + + res := r.Exec(ctx, rep, cmd, nil) + if res.Err != nil { + return res.Err + } + addrBytes = r.c.ParseRestoreKeyOutput(string(res.Stdout), string(res.Stderr)) + } + + + r.wallets[chainID] = r.c.CreateWallet("", addrBytes, mnemonic) + + return nil +} + +func (r *DockerRelayer) PrintCoreConfig(ctx context.Context, rep ibc.RelayerExecReporter) error { + cmd := []string{ + "cat", + path.Join(r.HomeDir(), "core.config"), + } + ctx, cancel := context.WithTimeout(ctx, time.Minute) defer cancel() - res := r.Exec(ctx, rep, cmd, nil) if res.Err != nil { return res.Err } + fmt.Println(string(res.Stdout)) + return nil +} - addrBytes := r.c.ParseRestoreKeyOutput(string(res.Stdout), string(res.Stderr)) - - r.wallets[chainID] = r.c.CreateWallet("", addrBytes, mnemonic) - +func (r *DockerRelayer) PrintConfigs(ctx context.Context, rep ibc.RelayerExecReporter, chainID string) error { + cmd := []string{ + "cat", + path.Join(r.HomeDir(), chainID+".config"), + } + + ctx, cancel := context.WithTimeout(ctx, time.Minute) + defer cancel() + res := r.Exec(ctx, rep, cmd, nil) + if res.Err != nil { + return res.Err + } + fmt.Println(string(res.Stdout)) return nil } diff --git a/relayer/rly/hyperspace.go b/relayer/rly/hyperspace.go index f7bbe9af2..65a604acc 100644 --- a/relayer/rly/hyperspace.go +++ b/relayer/rly/hyperspace.go @@ -4,15 +4,17 @@ package rly import ( "context" "encoding/hex" - "encoding/json" "fmt" - "github.com/cosmos/cosmos-sdk/types" "strings" + "github.com/cosmos/cosmos-sdk/types" + "github.com/btcsuite/btcd/chaincfg" + "github.com/centrifuge/go-substrate-rpc-client/v4/signature" keys "github.com/cosmos/btcutil/hdkeychain" "github.com/docker/docker/client" "github.com/pelletier/go-toml/v2" + "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" "github.com/strangelove-ventures/ibctest/v6/ibc" "github.com/strangelove-ventures/ibctest/v6/relayer" "go.uber.org/zap" @@ -37,6 +39,8 @@ func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, panic(err) // TODO: return } + c.dockerRelayer = dr + r := &HyperspaceRelayer{ DockerRelayer: dr, } @@ -44,7 +48,7 @@ func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, return r } -type HyperspaceRelayerChainConfig struct { +type HyperspaceRelayerSubstrateChainConfig struct { Type string `toml:"type"` Name string `toml:"name"` ParaID uint32 `toml:"para_id"` @@ -94,14 +98,15 @@ type KeyEntry struct { Address []byte `toml:"address"` } -type HyperspaceRelayerCosmosChainConfigValue struct { +type HyperspaceRelayerCosmosChainConfig struct { Name string `toml:"name"` RPCUrl string `toml:"rpc_url"` GRPCUrl string `toml:"grpc_url"` WebsocketUrl string `toml:"websocket_url"` - ChainID string ` toml:"chain_id"` + ChainID string `toml:"chain_id"` AccountPrefix string `toml:"account_prefix"` StorePrefix string `toml:"store_prefix"` + Mnemonic string `toml:"mnemonic"` MaxTxSize uint64 `toml:"max_tx_size"` Keybase KeyEntry `toml:"keybase"` @@ -115,19 +120,9 @@ type HyperspaceRelayerCosmosChainConfigValue struct { //Timeout string `json:"timeout" toml:"timeout"` } -type HyperspaceRelayerCoreConfig struct { - PrometheusEndpoint string -} - -type HyperspaceRelayerConfig struct { - ChainA HyperspaceRelayerChainConfig `toml:"chain_a"` - ChainB HyperspaceRelayerChainConfig `toml:"chain_b"` - Core HyperspaceRelayerCoreConfig `toml:"core"` -} - const ( HyperspaceDefaultContainerImage = "hyperspace" - HyperspaceDefaultContainerVersion = "latest" + HyperspaceDefaultContainerVersion = "local" ) // HyperspaceCapabilities returns the set of capabilities of the Cosmos relayer. @@ -199,15 +194,15 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN if chainType == "polkadot" || chainType == "parachain" || chainType == "relaychain" { chainType = "parachain" } - addrs := strings.Split(rpcAddr, ",") - paraRpcAddr := rpcAddr - relayRpcAddr := gprcAddr - if len(addrs) > 1 { - paraRpcAddr, relayRpcAddr = addrs[0], addrs[1] - } if chainType == "parachain" { - return HyperspaceRelayerChainConfig{ + addrs := strings.Split(rpcAddr, ",") + paraRpcAddr := rpcAddr + relayRpcAddr := gprcAddr + if len(addrs) > 1 { + paraRpcAddr, relayRpcAddr = addrs[0], addrs[1] + } + return HyperspaceRelayerSubstrateChainConfig{ Type: chainType, Name: chainConfig.Name, ParaID: 2001, @@ -222,7 +217,8 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN FinalityProtocol: "grandpa", } } else if chainType == "cosmos" { - return HyperspaceRelayerCosmosChainConfigValue{ + return HyperspaceRelayerCosmosChainConfig{ + Name: chainConfig.Name, ChainID: chainConfig.ChainID, AccountPrefix: chainConfig.Bech32Prefix, GRPCUrl: gprcAddr, @@ -245,40 +241,38 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN // hyperspaceCommander satisfies relayer.RelayerCommander. type hyperspaceCommander struct { - log *zap.Logger - extraStartFlags []string + log *zap.Logger + chainConfigPaths []string + extraStartFlags []string + dockerRelayer *relayer.DockerRelayer } func (hyperspaceCommander) Name() string { - return "rly" + return "hyperspace" } func (hyperspaceCommander) DockerUser() string { return "501:20" // docker run -it --rm --entrypoint echo ghcr.io/cosmos/relayer "$(id -u):$(id -g)" } -func (hyperspaceCommander) AddChainConfiguration(containerFilePath, homeDir string) []string { +func (c hyperspaceCommander) AddChainConfiguration(containerFilePath, homeDir string) []string { fmt.Println("[hyperspace] AddChainConfiguration ", containerFilePath, homeDir) + c.chainConfigPaths = append(c.chainConfigPaths, containerFilePath) return []string{ "hyperspace", "-h", - // "rly", "chains", "add", "-f", containerFilePath, - // "--home", homeDir, } } + +// Hyperspace doesn't not have this functionality func (hyperspaceCommander) AddKey(chainID, keyName, coinType, homeDir string) []string { - fmt.Println("[hyperspace] AddKey", chainID, keyName, homeDir) - return []string{ - "hyperspace", - "-h", - // "rly", "keys", "add", chainID, keyName, - // "--home", homeDir, - } + panic("[AddKey] Do not call me") } func (hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { - fmt.Println("[hyperspace] CreateChannel", pathName, opts, homeDir) + panic("[CreateChannel] Implement me") + /*fmt.Println("[hyperspace] CreateChannel", pathName, opts, homeDir) return []string{ "hyperspace", "-h", @@ -289,72 +283,67 @@ func (hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannel // "--version", opts.Version, // "--home", homeDir, - } + }*/ } func (hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { - fmt.Println("[hyperspace] CreateClients", pathName, opts, homeDir) + panic("[CreateClients] Implement me") + /*fmt.Println("[hyperspace] CreateClients", pathName, opts, homeDir) return []string{ "hyperspace", "-h", //"rly", "tx", "clients", pathName, "--client-tp", opts.TrustingPeriod, //"--home", homeDir, - } + }*/ } // CreateClient passing a value of 0 for customeClientTrustingPeriod will use default func (hyperspaceCommander) CreateClient(pathName, homeDir, customeClientTrustingPeriod string) []string { - fmt.Println("[hyperspace] CreateClient", pathName, homeDir, customeClientTrustingPeriod) + panic("[CreateClient] Implement me") + /*fmt.Println("[hyperspace] CreateClient", pathName, homeDir, customeClientTrustingPeriod) return []string{ "hyperspace", "-h", //"rly", "tx", "client", pathName, "--client-tp", customeClientTrustingPeriod, //"--home", homeDir, - } + }*/ } func (hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { - fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) + panic("[CreateConnections] Implement me") + /*fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) return []string{ "hyperspace", "-h", //"rly", "tx", "connection", pathName, //"--home", homeDir, - } + }*/ } +// Hyperspace doesn't not have this functionality func (hyperspaceCommander) FlushAcknowledgements(pathName, channelID, homeDir string) []string { - fmt.Println("[hyperspace] FlushAcknowledgements", pathName, channelID, homeDir) - return []string{ - "hyperspace", - "-h", - //"rly", "tx", "relay-acks", pathName, channelID, - //"--home", homeDir, - } + panic("[FlushAcknowledgements] Do not call me") } +// Hyperspace doesn't not have this functionality func (hyperspaceCommander) FlushPackets(pathName, channelID, homeDir string) []string { - fmt.Println("[hyperspace] FlushPackets", pathName, channelID, homeDir) - return []string{ - "hyperspace", - "-h", - //"rly", "tx", "relay-pkts", pathName, channelID, - //"--home", homeDir, - } + panic("[FlushPackets] Do not call me") } func (hyperspaceCommander) GeneratePath(srcChainID, dstChainID, pathName, homeDir string) []string { - fmt.Println("[hyperspace] GeneratePath", srcChainID, dstChainID, pathName, homeDir) + panic("[GeneratePath] Implement me") + /*fmt.Println("[hyperspace] GeneratePath", srcChainID, dstChainID, pathName, homeDir) return []string{ "hyperspace", "-h", // "rly", "paths", "new", srcChainID, dstChainID, pathName, // "--home", homeDir, - } + }*/ } func (hyperspaceCommander) UpdatePath(pathName, homeDir string, filter ibc.ChannelFilter) []string { - fmt.Println("[hyperspace] UpdatePath", pathName, homeDir, filter) + panic("[UpdatePath] Implement me") + /*fmt.Println("[hyperspace] UpdatePath", pathName, homeDir, filter) return []string{ "hyperspace", "-h", @@ -362,12 +351,12 @@ func (hyperspaceCommander) UpdatePath(pathName, homeDir string, filter ibc.Chann // "--home", homeDir, // "--filter-rule", filter.Rule, // "--filter-channels", strings.Join(filter.ChannelList, ","), - } + }*/ } func (hyperspaceCommander) GetChannels(chainID, homeDir string) []string { - - fmt.Println("[hyperspace] GetChannels", chainID, homeDir) + panic("[GetChannels] Test me") + /*fmt.Println("[hyperspace] GetChannels", chainID, homeDir) return []string{ "hyperspace", "query", @@ -376,25 +365,27 @@ func (hyperspaceCommander) GetChannels(chainID, homeDir string) []string { "--config", "rococo-local.config", //"rly", "q", "channels", chainID, //"--home", homeDir, - } + }*/ } func (hyperspaceCommander) GetConnections(chainID, homeDir string) []string { - fmt.Println("[hyperspace] GetConnections", chainID, homeDir) + panic("[GetConnections] Implement me") + /*fmt.Println("[hyperspace] GetConnections", chainID, homeDir) return []string{ "hyperspace", "-h", //"rly", "q", "connections", chainID, //"--home", homeDir, - } + }*/ } func (hyperspaceCommander) GetClients(chainID, homeDir string) []string { - panic("Implement me") + panic("[GetClients] Implement me") } func (hyperspaceCommander) LinkPath(pathName, homeDir string, channelOpts ibc.CreateChannelOptions, clientOpt ibc.CreateClientOptions) []string { - fmt.Println("[hyperspace] LinkPath", pathName, homeDir, channelOpts, clientOpt) + panic("[LinkPath] Implement me") + /*fmt.Println("[hyperspace] LinkPath", pathName, homeDir, channelOpts, clientOpt) return []string{ "hyperspace", "-h", @@ -406,44 +397,39 @@ func (hyperspaceCommander) LinkPath(pathName, homeDir string, channelOpts ibc.Cr // "--client-tp", clientOpt.TrustingPeriod, // "--home", homeDir, - } + }*/ } +// There is no hyperspace call to restore the key, so this can't return an executable. +// DockerRelayer's RestoreKey will restore the key in the chain's config file func (hyperspaceCommander) RestoreKey(chainID, keyName, cointType, mnemonic, homeDir string) []string { - fmt.Println("[hyperspace] RestoreKey", chainID, keyName, mnemonic, homeDir) - return []string{ - "hyperspace", - "-h", - //"rly", "keys", "restore", chainID, keyName, mnemonic, - //"--home", homeDir, - } + panic("[RestoreKey] Do not call me") } func (c hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { - fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) + panic("[StartRelayer] Implement me") + /*fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) + if len(c.chainConfig) < 2 { + panic("[StartRelayer] Needs two chains to start") + } cmd := []string{ "hyperspace", "relay", - "--config-a", homeDir + "/config_a.toml", - "--config-b", homeDir + "/config_b.toml", - "--config-core", homeDir + "/config_core.toml", + "--config-a", c.chainConfigs[0], + "--config-b", c.chainConfigs[1]", + "--config-core", homeDir + "/core.config", } cmd = append(cmd, c.extraStartFlags...) // cmd = append(cmd, pathNames...) - return cmd + return cmd*/ } +// Hyperspace doesn't not have this functionality func (hyperspaceCommander) UpdateClients(pathName, homeDir string) []string { - fmt.Println("[hyperspace] UpdateClients", pathName, homeDir) - return []string{ - "hyperspace", - "-h", - // "rly", "tx", "update-clients", pathName, - // "--home", homeDir, - } + panic("[UpdateClients] Implement me") } -func (hyperspaceCommander) ConfigContent(ctx context.Context, cfg ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) ([]byte, error) { +func (c hyperspaceCommander) ConfigContent(ctx context.Context, cfg ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) ([]byte, error) { fmt.Println("[hyperspace] ConfigContent", cfg, keyName, rpcAddr, grpcAddr) HyperspaceRelayerChainConfig := ChainConfigToHyperspaceRelayerChainConfig(cfg, keyName, rpcAddr, grpcAddr) bytes, err := toml.Marshal(HyperspaceRelayerChainConfig) @@ -461,22 +447,21 @@ func (hyperspaceCommander) DefaultContainerVersion() string { return HyperspaceDefaultContainerVersion } +// There is no hyperspace call to add key, so there is no stdout to parse. +// DockerRelayer's RestoreKey will restore the key in the chain's config file func (hyperspaceCommander) ParseAddKeyOutput(stdout, stderr string) (ibc.Wallet, error) { - fmt.Println("[hyperspace] ParseAddKeyOutput", stdout, stderr) - - var wallet ibc.Wallet - err := json.Unmarshal([]byte(stdout), &wallet) - return wallet, err + panic("[ParseAddKeyOutput] Do not call me") } +// There is no hyperspace call to restore the key, so there is no stdout to parse. +// DockerRelayer's RestoreKey will restore the key in the chain's config file func (hyperspaceCommander) ParseRestoreKeyOutput(stdout, stderr string) string { - fmt.Println("[hyperspace] ParseRestoreKeyOutput", stdout, stderr) - //return strings.Replace(stdout, "\n", "", 1) - return "5DdfLppz85oT7jPPw3vANQmJ3HM1V545NXnAb2RBkjqc6hdH" + panic("[ParseRestoreKeyOutput] Do not call me") } func (c hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc.ChannelOutput, error) { - fmt.Println("[hyperspace] ParseGetChannelsOutput", stdout, stderr) + panic("[ParseGetChannelsOutput] Test me") + /*fmt.Println("[hyperspace] ParseGetChannelsOutput", stdout, stderr) var channels []ibc.ChannelOutput channelSplit := strings.Split(stdout, "\n") for _, channel := range channelSplit { @@ -492,11 +477,12 @@ func (c hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ib channels = append(channels, channelOutput) } - return channels, nil + return channels, nil*/ } func (c hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc.ConnectionOutputs, error) { - fmt.Println("[hyperspace] ParseGetConnectionsOutput", stdout, stderr) + panic("[ParseGetConnectionsOutput] Test me") + /*fmt.Println("[hyperspace] ParseGetConnectionsOutput", stdout, stderr) var connections ibc.ConnectionOutputs for _, connection := range strings.Split(stdout, "\n") { @@ -516,23 +502,26 @@ func (c hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (i connections = append(connections, &connectionOutput) } - return connections, nil + return connections, nil*/ } func (c hyperspaceCommander) ParseGetClientsOutput(stdout, stderr string) (ibc.ClientOutputs, error) { - panic("Implement me") + panic("[ParseGetClientsOutput] Implement me") } -func (hyperspaceCommander) Init(homeDir string) []string { +func (c hyperspaceCommander) Init(homeDir string) []string { fmt.Println("[hyperspace] Init", homeDir) + // Return hyperspace help to ensure hyperspace binary is accessible return []string{ "hyperspace", "-h", - // "rly", "config", "init", - // "--home", homeDir, } } func (c hyperspaceCommander) CreateWallet(keyName, address, mnemonic string) ibc.Wallet { - return NewWallet(keyName, address, mnemonic) + kp, err := signature.KeyringPairFromSecret(mnemonic, polkadot.Ss58Format) + if err != nil { + return NewWallet("", "", "") + } + return NewWallet("", kp.Address, mnemonic) } \ No newline at end of file From 110192ae3736a988cfaade279ccd40587fbca01e Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Thu, 26 Jan 2023 21:44:27 -0700 Subject: [PATCH 12/50] Move hyperspace to its own package --- examples/hyperspace/hyperspace_test.go | 8 ++--- relayer/{rly => hyperspace}/hyperspace.go | 2 +- relayer/hyperspace/wallet.go | 44 +++++++++++++++++++++++ relayerfactory.go | 3 +- 4 files changed, 51 insertions(+), 6 deletions(-) rename relayer/{rly => hyperspace}/hyperspace.go (99%) create mode 100644 relayer/hyperspace/wallet.go diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 51871ca75..6d04a8125 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -12,7 +12,7 @@ import ( "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" "github.com/strangelove-ventures/ibctest/v6/ibc" "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/relayer/rly" + "github.com/strangelove-ventures/ibctest/v6/relayer/hyperspace" "github.com/strangelove-ventures/ibctest/v6/testreporter" "github.com/strangelove-ventures/ibctest/v6/testutil" "github.com/stretchr/testify/require" @@ -214,9 +214,9 @@ func TestHyperspace(t *testing.T) { require.NotEmpty(t, getCodeQueryMsgRsp.Code) require.Equal(t, codeHash, codeHash2) - r.(*rly.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) - r.(*rly.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - r.(*rly.HyperspaceRelayer).DockerRelayer.PrintCoreConfig(ctx, eRep) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintCoreConfig(ctx, eRep) //err = testutil.WaitForBlocks(ctx, 22, polkadotChain, cosmosChain) //require.NoError(t, err) diff --git a/relayer/rly/hyperspace.go b/relayer/hyperspace/hyperspace.go similarity index 99% rename from relayer/rly/hyperspace.go rename to relayer/hyperspace/hyperspace.go index 65a604acc..acdf9eb58 100644 --- a/relayer/rly/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -1,5 +1,5 @@ // Package rly provides an interface to the cosmos relayer running in a Docker container. -package rly +package hyperspace import ( "context" diff --git a/relayer/hyperspace/wallet.go b/relayer/hyperspace/wallet.go new file mode 100644 index 000000000..7294142f2 --- /dev/null +++ b/relayer/hyperspace/wallet.go @@ -0,0 +1,44 @@ +package hyperspace + +import ( + "github.com/strangelove-ventures/ibctest/v6/ibc" +) + +var _ ibc.Wallet = &HyperspaceWallet{} + +type WalletModel struct { + Mnemonic string `json:"mnemonic"` + Address string `json:"address"` +} + +type HyperspaceWallet struct { + mnemonic string + address string + keyName string +} + +func NewWallet(keyname string, address string, mnemonic string) *HyperspaceWallet { + return &HyperspaceWallet{ + mnemonic: mnemonic, + address: address, + keyName: keyname, + } +} + +func (w *HyperspaceWallet) KeyName() string { + return w.keyName +} + +func (w *HyperspaceWallet) FormattedAddress() string { + return w.address +} + +// Get mnemonic, only used for relayer wallets +func (w *HyperspaceWallet) Mnemonic() string { + return w.mnemonic +} + +// Get Address +func (w *HyperspaceWallet) Address() []byte { + return []byte(w.address) +} diff --git a/relayerfactory.go b/relayerfactory.go index 0ff5c276e..5294715dd 100644 --- a/relayerfactory.go +++ b/relayerfactory.go @@ -9,6 +9,7 @@ import ( "github.com/strangelove-ventures/ibctest/v6/label" "github.com/strangelove-ventures/ibctest/v6/relayer" "github.com/strangelove-ventures/ibctest/v6/relayer/rly" + "github.com/strangelove-ventures/ibctest/v6/relayer/hyperspace" "go.uber.org/zap" ) @@ -66,7 +67,7 @@ func (f builtinRelayerFactory) Build( f.options..., ) case ibc.Hyperspace: - return rly.NewHyperspaceRelayer( + return hyperspace.NewHyperspaceRelayer( f.log, t.Name(), cli, From a6c09342ad16751aa02c64d886b8cf16f2793a35 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Sun, 29 Jan 2023 18:56:44 -0700 Subject: [PATCH 13/50] Populate hyperspace's cosmos config with key information, i.e. KeyEntry --- examples/hyperspace/hyperspace_test.go | 1 + go.mod | 5 +- go.sum | 1 - ibc/relayer.go | 2 +- interchain.go | 3 +- relayer/docker.go | 21 ++++- relayer/hyperspace/hyperspace.go | 120 ++++++++----------------- relayer/hyperspace/hyperspace_test.go | 27 ++++++ 8 files changed, 89 insertions(+), 91 deletions(-) create mode 100644 relayer/hyperspace/hyperspace_test.go diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 6d04a8125..a73eba921 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -121,6 +121,7 @@ func TestHyperspace(t *testing.T) { GasPrices: "0.00stake", GasAdjustment: 1.3, TrustingPeriod: "504h", + CoinType: "118", //EncodingConfig: WasmClientEncoding(), NoHostMount: true, ConfigFileOverrides: configFileOverrides, diff --git a/go.mod b/go.mod index dc3899033..c2e8848f9 100644 --- a/go.mod +++ b/go.mod @@ -9,9 +9,7 @@ require ( github.com/StirlingMarketingGroup/go-namecase v1.0.0 github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 - github.com/btcsuite/btcd v0.22.1 github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 - github.com/cosmos/btcutil v1.0.4 github.com/cosmos/cosmos-sdk v0.46.2 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/ibc-go/v6 v6.0.0-20221104144119-b1f494c64328 @@ -58,13 +56,14 @@ require ( 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.0 // indirect - github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect + github.com/btcsuite/btcd v0.22.1 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect github.com/confio/ics23/go v0.7.0 // indirect + github.com/cosmos/btcutil v1.0.4 // indirect github.com/cosmos/cosmos-proto v1.0.0-alpha7 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313 // indirect diff --git a/go.sum b/go.sum index c46bbfe7e..44bcb7f5e 100644 --- a/go.sum +++ b/go.sum @@ -126,7 +126,6 @@ github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= 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-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= diff --git a/ibc/relayer.go b/ibc/relayer.go index 372820bd8..b1ca56b8a 100644 --- a/ibc/relayer.go +++ b/ibc/relayer.go @@ -24,7 +24,7 @@ import ( // but the report will be missing details. type Relayer interface { // restore a mnemonic to be used as a relayer wallet for a chain - RestoreKey(ctx context.Context, rep RelayerExecReporter, chainID, keyName, coinType, mnemonic string) error + RestoreKey(ctx context.Context, rep RelayerExecReporter, cfg ChainConfig, keyName, mnemonic string) error // generate a new key AddKey(ctx context.Context, rep RelayerExecReporter, chainID, keyName, coinType string) (Wallet, error) diff --git a/interchain.go b/interchain.go index c7941bf72..24a9b0984 100644 --- a/interchain.go +++ b/interchain.go @@ -420,8 +420,7 @@ func (ic *Interchain) configureRelayerKeys(ctx context.Context, rep *testreporte if err := r.RestoreKey(ctx, rep, - c.Config().ChainID, chainName, - c.Config().CoinType, + c.Config(), chainName, ic.relayerWallets[relayerChain{R: r, C: c}].Mnemonic(), ); err != nil { return fmt.Errorf("failed to restore key to relayer %s for chain %s: %w", ic.relayers[r], chainName, err) diff --git a/relayer/docker.go b/relayer/docker.go index 427d1df09..ab72625bf 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -308,12 +308,29 @@ func (r *DockerRelayer) Exec(ctx context.Context, rep ibc.RelayerExecReporter, c } } -func (r *DockerRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecReporter, chainID, keyName, coinType, mnemonic string) error { +func (r *DockerRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, keyName, mnemonic string) error { addrBytes := "" + chainID := cfg.ChainID + coinType := cfg.CoinType + chainType := cfg.Type + switch r.c.Name() { case "hyperspace": chainConfig := make(testutil.Toml) - chainConfig["private_key"] = mnemonic + switch chainType { + case "cosmos": + chainConfig["private_key"] = mnemonic + bech32Prefix := cfg.Bech32Prefix + keyEntry := r.c.RestoreKey(chainID, bech32Prefix, coinType, mnemonic, r.HomeDir()) + keyEntryOverrides := make(testutil.Toml) + keyEntryOverrides["account"] = keyEntry[0] + keyEntryOverrides["private_key"] = keyEntry[1] + keyEntryOverrides["public_key"] = keyEntry[2] + keyEntryOverrides["address"] = []byte(keyEntry[3]) + chainConfig["keybase"] = keyEntryOverrides + case "polkadot": + chainConfig["private_key"] = mnemonic + } chainConfigFile := chainID + ".config" err := testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, chainConfigFile, chainConfig) if err != nil { diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index acdf9eb58..1ebe8801b 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -5,13 +5,13 @@ import ( "context" "encoding/hex" "fmt" + "strconv" "strings" - - "github.com/cosmos/cosmos-sdk/types" - - "github.com/btcsuite/btcd/chaincfg" + "github.com/centrifuge/go-substrate-rpc-client/v4/signature" - keys "github.com/cosmos/btcutil/hdkeychain" + "github.com/cosmos/cosmos-sdk/crypto/hd" + "github.com/cosmos/cosmos-sdk/crypto/keyring" + "github.com/cosmos/cosmos-sdk/types" "github.com/docker/docker/client" "github.com/pelletier/go-toml/v2" "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" @@ -65,32 +65,6 @@ type HyperspaceRelayerSubstrateChainConfig struct { KeyType string `toml:"key_type"` } -/* - /// Chain name - pub name: String, - /// rpc url for cosmos - pub rpc_url: Url, - /// grpc url for cosmos - pub grpc_url: Url, - /// websocket url for cosmos - pub websocket_url: Url, - /// Cosmos chain Id - pub chain_id: String, - /// Light client id on counterparty chain - pub client_id: Option, - /// Connection Id - pub connection_id: Option, - /// Account prefix - pub account_prefix: String, - /// Store prefix - pub store_prefix: String, - /// Maximun transaction size - pub max_tx_size: usize, - /// The key that signs transactions - pub keybase: KeyEntry, - -*/ - type KeyEntry struct { PublicKey string `toml:"public_key"` PrivateKey string `toml:"private_key"` @@ -99,6 +73,7 @@ type KeyEntry struct { } type HyperspaceRelayerCosmosChainConfig struct { + Type string `toml:"type"` //New Name string `toml:"name"` RPCUrl string `toml:"rpc_url"` GRPCUrl string `toml:"grpc_url"` @@ -106,8 +81,12 @@ type HyperspaceRelayerCosmosChainConfig struct { ChainID string `toml:"chain_id"` AccountPrefix string `toml:"account_prefix"` StorePrefix string `toml:"store_prefix"` - Mnemonic string `toml:"mnemonic"` + Mnemonic string `toml:"mnemonic"` //new MaxTxSize uint64 `toml:"max_tx_size"` + //ConnectionId string `toml:"connection_id"` // connection-1 + //ClientId string `toml:"client_id"` // 07-tendermint-0 + //WasmCodeId string `toml:"wasm_code_id"` // "Hash" + //WasmClientType string `toml:"wasm_client_type` // 10-grandpa Keybase KeyEntry `toml:"keybase"` //Debug bool `json:"debug" toml:"debug"` @@ -134,58 +113,29 @@ func HyperspaceCapabilities() map[relayer.Capability]bool { return nil // relayer.FullCapabilities() } -func GenKey() KeyEntry { - testVec1MasterHex := "000102030405060708090a0b0c0d0e0f" - masterSeed, err := hex.DecodeString(testVec1MasterHex) - if err != nil { - panic(err) - } - net := chaincfg.SimNetParams - extKey, err := keys.NewMaster(masterSeed, &net) +func GenKeyEntry(bech32Prefix, coinType, mnemonic string) KeyEntry { + coinType64, err := strconv.ParseUint(coinType, 10, 32) if err != nil { - panic(err) - } - extKey, err = extKey.Derive(0) - if err != nil { - panic(err) + return KeyEntry{} } + algo := keyring.SignatureAlgo(hd.Secp256k1) + hdPath := hd.CreateHDPath(uint32(coinType64), 0, 0).String() - privStr := extKey.String() - pubKey, err := extKey.Neuter() - if err != nil { - panic(err) - } - pubKey, err = pubKey.Neuter() + // create master key and derive first key for keyring + derivedPriv, err := algo.Derive()(mnemonic, "", hdPath) if err != nil { - panic(err) + return KeyEntry{} } - pubStr := pubKey.String() - address, err := pubKey.Address(&net) - if err != nil { - panic(err) - } - /* - addrBytes, err := c.GetAddress(egCtx, keyName) - b32, err := types.Bech32ifyAddressBytes(config.Bech32Prefix, addrBytes) - */ - //KeyBech32 - account1 := types.MustBech32ifyAddressBytes("cosmos", address.ScriptAddress()) - fmt.Println("account1", account1) - - //account := address.EncodeAddress() - // sdk.AccAddressFromBech32(user.Bech32Address(b.chain.Config().Bech32Prefix)) - account2, err := types.AccAddressFromBech32(address.EncodeAddress()) - fmt.Println("account2", account2) - fmt.Println("account2", account2.String()) - //account3, err := types.AccAddressFromBech32(address.) - //fmt.Println("account3", account3) + privKey := algo.Generate()(derivedPriv) + address := types.AccAddress(privKey.PubKey().Address()) + bech32Addr := types.MustBech32ifyAddressBytes(bech32Prefix, address) return KeyEntry{ - PublicKey: pubStr, - PrivateKey: privStr, - Account: account2.String(), - Address: address.ScriptAddress(), + PublicKey: hex.EncodeToString(privKey.PubKey().Bytes()), //PubKeySecp256k1{0316AE4C34FB51C56AFB8126CB9AD725BCF0BD7FB4AD1684FD50DC45A67CBC0A7D} + PrivateKey: hex.EncodeToString(privKey.Bytes()), // i.e. ac26db8374e68403a3cf38cc2b196d688d2f094cec0908978b2460d4442062f7 + Account: bech32Addr , // i.e. cosmos1g5r2vmnp6lta9cpst4lzc4syy3kcj2lj0nuhmy + Address: address.Bytes(), // i.e. [69 6 166 110 97 215 215 210 224 48 93 126 44 86 4 36 109 137 43 242] } } @@ -205,11 +155,11 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN return HyperspaceRelayerSubstrateChainConfig{ Type: chainType, Name: chainConfig.Name, - ParaID: 2001, + ParaID: 2000, ParachainRPCURL: paraRpcAddr, RelayChainRPCURL: relayRpcAddr, - ClientID: "10-grandpa-0", - ConnectionID: "connection-0", + //ClientID: "10-grandpa-0", + //ConnectionID: "connection-0", CommitmentPrefix: "0x6962632f", PrivateKey: "//Alice", SS58Version: 49, @@ -225,7 +175,6 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN RPCUrl: rpcAddr, StorePrefix: "", MaxTxSize: 200000, - Keybase: GenKey(), //Debug: true, //GasAdjustment: chainConfig.GasAdjustment, //GasPrices: chainConfig.GasPrices, @@ -402,8 +351,15 @@ func (hyperspaceCommander) LinkPath(pathName, homeDir string, channelOpts ibc.Cr // There is no hyperspace call to restore the key, so this can't return an executable. // DockerRelayer's RestoreKey will restore the key in the chain's config file -func (hyperspaceCommander) RestoreKey(chainID, keyName, cointType, mnemonic, homeDir string) []string { - panic("[RestoreKey] Do not call me") +// For now, we will hack this for cosmos chain's use case +func (hyperspaceCommander) RestoreKey(chainID, bech32Prefix, coinType, mnemonic, homeDir string) []string { + keyEntry := GenKeyEntry(bech32Prefix, coinType, mnemonic) + return []string{ + keyEntry.Account, + keyEntry.PrivateKey, + keyEntry.PublicKey, + string(keyEntry.Address), + } } func (c hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { diff --git a/relayer/hyperspace/hyperspace_test.go b/relayer/hyperspace/hyperspace_test.go new file mode 100644 index 000000000..9c1a5cfd3 --- /dev/null +++ b/relayer/hyperspace/hyperspace_test.go @@ -0,0 +1,27 @@ +package hyperspace_test + +import ( + "testing" + + "github.com/strangelove-ventures/ibctest/v6/relayer/hyperspace" + "github.com/stretchr/testify/require" +) + +func TestKeys(t *testing.T) { + bech32Prefix := "cosmos" + coinType := "118" + mnemonic := "taste shoot adapt slow truly grape gift need suggest midnight burger horn whisper hat vast aspect exit scorpion jewel axis great area awful blind" + + expectedKeyEntry := hyperspace.KeyEntry{ + PublicKey: "02c1732ca9cb7c6efaa7c205887565b9787cab5ebdb7bc1dd872a21fc8c9efb56a", + PrivateKey: "ac26db8374e68403a3cf38cc2b196d688d2f094cec0908978b2460d4442062f7", + Address: []byte{69, 6, 166, 110, 97, 215, 215, 210, 224, 48, 93, 126, 44, 86, 4, 36, 109, 137, 43, 242}, + Account: "cosmos1g5r2vmnp6lta9cpst4lzc4syy3kcj2lj0nuhmy", + } + + keyEntry := hyperspace.GenKeyEntry(bech32Prefix, coinType, mnemonic) + require.Equal(t, expectedKeyEntry.PublicKey, keyEntry.PublicKey, "PublicKey is wrong") + require.Equal(t, expectedKeyEntry.PrivateKey, keyEntry.PrivateKey, "PrivateKey is wrong") + require.Equal(t, expectedKeyEntry.Account, keyEntry.Account, "Account is wrong") + require.Equal(t, expectedKeyEntry.Address, keyEntry.Address, "Address is wrong") +} From cb722bac79658b3521cc79fa616421206448a1d2 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Mon, 30 Jan 2023 10:57:18 -0700 Subject: [PATCH 14/50] Add wasm code id and wasm client type to cosmos chain config --- examples/hyperspace/hyperspace_test.go | 2 ++ ibc/relayer.go | 4 +++ relayer/docker.go | 17 +++++++++++ relayer/hyperspace/hyperspace.go | 42 ++++++++++++++------------ 4 files changed, 45 insertions(+), 20 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index a73eba921..5e3359505 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -215,6 +215,8 @@ func TestHyperspace(t *testing.T) { require.NotEmpty(t, getCodeQueryMsgRsp.Code) require.Equal(t, codeHash, codeHash2) + r.SetClientContractHash(ctx, eRep, cosmosChain.Config(), codeHash) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintCoreConfig(ctx, eRep) diff --git a/ibc/relayer.go b/ibc/relayer.go index b1ca56b8a..1464afafd 100644 --- a/ibc/relayer.go +++ b/ibc/relayer.go @@ -96,6 +96,10 @@ type Relayer interface { // // "env" are environment variables in the format "MY_ENV_VAR=value" Exec(ctx context.Context, rep RelayerExecReporter, cmd []string, env []string) RelayerExecResult + + // Set the wasm client contract hash in the chain's config if the counterparty chain in a path used 08-wasm + // to instantiate the client. + SetClientContractHash(ctx context.Context, rep RelayerExecReporter, cfg ChainConfig, hash string) error } // GetTransferChannel will return the transfer channel assuming only one client, diff --git a/relayer/docker.go b/relayer/docker.go index ab72625bf..b018bf7e0 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -561,6 +561,23 @@ func (r *DockerRelayer) UseDockerNetwork() bool { return true } +func (r *DockerRelayer) SetClientContractHash(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, hash string) error { + switch r.c.Name() { + case "hyperspace": + chainConfig := make(testutil.Toml) + chainConfig["wasm_code_id"] = hash + chainConfigFile := cfg.ChainID + ".config" + err := testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, chainConfigFile, chainConfig) + if err != nil { + return err + } + case "rly": + panic("[rly/SetClientContractHash] Implement me") + } + + return nil +} + type RelayerCommander interface { // Name is the name of the relayer, e.g. "rly" or "hermes". Name() string diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index 1ebe8801b..b996f4756 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -63,6 +63,8 @@ type HyperspaceRelayerSubstrateChainConfig struct { ChannelWhitelist []string `toml:"channel_whitelist"` FinalityProtocol string `toml:"finality_protocol"` KeyType string `toml:"key_type"` + WasmCodeId string `toml:"wasm_code_id"` + WasmClientType string `toml:"wasm_client_type"` } type KeyEntry struct { @@ -73,21 +75,20 @@ type KeyEntry struct { } type HyperspaceRelayerCosmosChainConfig struct { - Type string `toml:"type"` //New - Name string `toml:"name"` - RPCUrl string `toml:"rpc_url"` - GRPCUrl string `toml:"grpc_url"` - WebsocketUrl string `toml:"websocket_url"` - ChainID string `toml:"chain_id"` - AccountPrefix string `toml:"account_prefix"` - StorePrefix string `toml:"store_prefix"` - Mnemonic string `toml:"mnemonic"` //new - MaxTxSize uint64 `toml:"max_tx_size"` + Type string `toml:"type"` //New + Name string `toml:"name"` + RPCUrl string `toml:"rpc_url"` + GRPCUrl string `toml:"grpc_url"` + WebsocketUrl string `toml:"websocket_url"` + ChainID string `toml:"chain_id"` + AccountPrefix string `toml:"account_prefix"` + StorePrefix string `toml:"store_prefix"` + MaxTxSize uint64 `toml:"max_tx_size"` + WasmCodeId string `toml:"wasm_code_id"` + WasmClientType string `toml:"wasm_client_type"` //ConnectionId string `toml:"connection_id"` // connection-1 //ClientId string `toml:"client_id"` // 07-tendermint-0 - //WasmCodeId string `toml:"wasm_code_id"` // "Hash" - //WasmClientType string `toml:"wasm_client_type` // 10-grandpa - Keybase KeyEntry `toml:"keybase"` + Keybase KeyEntry `toml:"keybase"` //Debug bool `json:"debug" toml:"debug"` //GasAdjustment float64 `json:"gas-adjustment" toml:"gas_adjustment"` @@ -168,13 +169,14 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN } } else if chainType == "cosmos" { return HyperspaceRelayerCosmosChainConfig{ - Name: chainConfig.Name, - ChainID: chainConfig.ChainID, - AccountPrefix: chainConfig.Bech32Prefix, - GRPCUrl: gprcAddr, - RPCUrl: rpcAddr, - StorePrefix: "", - MaxTxSize: 200000, + Name: chainConfig.Name, + ChainID: chainConfig.ChainID, + AccountPrefix: chainConfig.Bech32Prefix, + GRPCUrl: gprcAddr, + RPCUrl: rpcAddr, + StorePrefix: "", + MaxTxSize: 200000, + WasmClientType: "10-grandpa", //Debug: true, //GasAdjustment: chainConfig.GasAdjustment, //GasPrices: chainConfig.GasPrices, From 91540a41b59164191cb469cd9a283e8dacd502c8 Mon Sep 17 00:00:00 2001 From: Cian Hatton Date: Tue, 31 Jan 2023 14:51:24 +0000 Subject: [PATCH 15/50] chore: align User interface with CosmosWallet and fix issue with broadcast mode sync (#388) --- chain/cosmos/broadcaster.go | 24 +++++++++++++----------- chain/cosmos/wallet.go | 1 + 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/chain/cosmos/broadcaster.go b/chain/cosmos/broadcaster.go index cc16b41a1..f121e02dd 100644 --- a/chain/cosmos/broadcaster.go +++ b/chain/cosmos/broadcaster.go @@ -27,7 +27,6 @@ type FactoryOpt func(factory tx.Factory) tx.Factory type User interface { KeyName() string FormattedAddress() string - FormattedAddressWithPrefix(prefix string) string } type Broadcaster struct { @@ -80,7 +79,7 @@ func (b *Broadcaster) GetFactory(ctx context.Context, user User) (tx.Factory, er return tx.Factory{}, err } - sdkAdd, err := sdk.AccAddressFromBech32(user.FormattedAddressWithPrefix(b.chain.Config().Bech32Prefix)) + sdkAdd, err := sdk.AccAddressFromBech32(user.FormattedAddress()) if err != nil { return tx.Factory{}, err } @@ -115,7 +114,7 @@ func (b *Broadcaster) GetClientContext(ctx context.Context, user User) (client.C b.keyrings[user] = kr } - sdkAdd, err := sdk.AccAddressFromBech32(user.FormattedAddressWithPrefix(chain.Config().Bech32Prefix)) + sdkAdd, err := sdk.AccAddressFromBech32(user.FormattedAddress()) if err != nil { return client.Context{}, err } @@ -153,7 +152,7 @@ func (b *Broadcaster) defaultClientContext(fromUser User, sdkAdd sdk.AccAddress) cn := b.chain.getFullNode() return cn.CliContext(). WithOutput(b.buf). - WithFrom(fromUser.FormattedAddressWithPrefix(b.chain.Config().Bech32Prefix)). + WithFrom(fromUser.FormattedAddress()). WithFromAddress(sdkAdd). WithFromName(fromUser.KeyName()). WithSkipConfirmation(true). @@ -206,7 +205,9 @@ func BroadcastTx(ctx context.Context, broadcaster *Broadcaster, broadcastingUser } err = testutil.WaitForCondition(time.Second*30, time.Second*5, func() (bool, error) { - _, err := broadcaster.GetTxResponseBytes(ctx, broadcastingUser) + var err error + txBytes, err = broadcaster.GetTxResponseBytes(ctx, broadcastingUser) + if err != nil { return false, nil } @@ -217,11 +218,6 @@ func BroadcastTx(ctx context.Context, broadcaster *Broadcaster, broadcastingUser return sdk.TxResponse{}, err } - txBytes, err = broadcaster.GetTxResponseBytes(ctx, broadcastingUser) - if err != nil { - return sdk.TxResponse{}, err - } - respWithTxHash, err := broadcaster.UnmarshalTxResponseBytes(ctx, txBytes) if err != nil { return sdk.TxResponse{}, err @@ -229,7 +225,13 @@ func BroadcastTx(ctx context.Context, broadcaster *Broadcaster, broadcastingUser resp, err := authTx.QueryTx(cc, respWithTxHash.TxHash) if err != nil { - return sdk.TxResponse{}, err + // if we fail to query the tx, it means an error occurred with the original message broadcast. + // we should return this instead. + originalResp, err := broadcaster.UnmarshalTxResponseBytes(ctx, txBytes) + if err != nil { + return sdk.TxResponse{}, err + } + return originalResp, nil } return *resp, nil diff --git a/chain/cosmos/wallet.go b/chain/cosmos/wallet.go index 5d0b4bae3..7066aaa26 100644 --- a/chain/cosmos/wallet.go +++ b/chain/cosmos/wallet.go @@ -6,6 +6,7 @@ import ( ) var _ ibc.Wallet = &CosmosWallet{} +var _ User = &CosmosWallet{} type CosmosWallet struct { mnemonic string From 8556491773fb9f64698c54d9ecc92d93c3c4b1bb Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Thu, 2 Feb 2023 09:58:08 -0700 Subject: [PATCH 16/50] Hyperspace create-client is populating client-ids in chain configs. Reverted to using preset keys for both parachain and cosmos. Added 08-wasm types for codec registry. --- chain/cosmos/08-wasm-types/client_state.go | 130 ++ chain/cosmos/08-wasm-types/codec.go | 32 + chain/cosmos/08-wasm-types/consensus_state.go | 23 + chain/cosmos/08-wasm-types/msgs.go | 23 + chain/cosmos/08-wasm-types/tx.pb.go | 636 +++++++++ chain/cosmos/08-wasm-types/wasm.pb.go | 1248 +++++++++++++++++ chain/cosmos/codec.go | 3 + examples/hyperspace/hyperspace_test.go | 43 +- go.mod | 6 +- ibc/relayer.go | 2 +- interchain.go | 2 +- relayer/docker.go | 16 +- relayer/hyperspace/hyperspace.go | 153 +- 13 files changed, 2220 insertions(+), 97 deletions(-) create mode 100644 chain/cosmos/08-wasm-types/client_state.go create mode 100644 chain/cosmos/08-wasm-types/codec.go create mode 100644 chain/cosmos/08-wasm-types/consensus_state.go create mode 100644 chain/cosmos/08-wasm-types/msgs.go create mode 100644 chain/cosmos/08-wasm-types/tx.pb.go create mode 100644 chain/cosmos/08-wasm-types/wasm.pb.go diff --git a/chain/cosmos/08-wasm-types/client_state.go b/chain/cosmos/08-wasm-types/client_state.go new file mode 100644 index 000000000..667a89eac --- /dev/null +++ b/chain/cosmos/08-wasm-types/client_state.go @@ -0,0 +1,130 @@ +package wasmclienttypes + +import ( + ics23 "github.com/confio/ics23/go" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" + clienttypes "github.com/cosmos/ibc-go/v6/modules/core/02-client/types" + "github.com/cosmos/ibc-go/v6/modules/core/exported" +) + +var _ exported.ClientState = (*ClientState)(nil) + +func (c ClientState) ClientType() string { + return "" +} + +func (c ClientState) GetLatestHeight() exported.Height { + return c.LatestHeight +} + +func (c ClientState) Validate() error { + return nil +} + +func (c ClientState) Status(ctx sdk.Context, store sdk.KVStore, cdc codec.BinaryCodec) exported.Status { + return exported.Active +} + +func (c ClientState) ExportMetadata(store sdk.KVStore) []exported.GenesisMetadata { + return []exported.GenesisMetadata{} +} + +func (c ClientState) ZeroCustomFields() exported.ClientState { + return &c +} + +func (c ClientState) GetTimestampAtHeight( + ctx sdk.Context, + clientStore sdk.KVStore, + cdc codec.BinaryCodec, + height exported.Height, +) (uint64, error) { + return 0, nil +} + +func (c ClientState) Initialize(context sdk.Context, marshaler codec.BinaryCodec, store sdk.KVStore, state exported.ConsensusState) error { + return nil +} + +func (c ClientState) VerifyMembership( + ctx sdk.Context, + clientStore sdk.KVStore, + cdc codec.BinaryCodec, + height exported.Height, + delayTimePeriod uint64, + delayBlockPeriod uint64, + proof []byte, + path []byte, + value []byte, +) error { + return nil +} + +func (c ClientState) VerifyNonMembership( + ctx sdk.Context, + clientStore sdk.KVStore, + cdc codec.BinaryCodec, + height exported.Height, + delayTimePeriod uint64, + delayBlockPeriod uint64, + proof []byte, + path []byte, +) error { + return nil +} + +// VerifyClientMessage must verify a ClientMessage. A ClientMessage could be a Header, Misbehaviour, or batch update. +// It must handle each type of ClientMessage appropriately. Calls to CheckForMisbehaviour, UpdateState, and UpdateStateOnMisbehaviour +// will assume that the content of the ClientMessage has been verified and can be trusted. An error should be returned +// if the ClientMessage fails to verify. +func (c ClientState) VerifyClientMessage(ctx sdk.Context, cdc codec.BinaryCodec, clientStore sdk.KVStore, clientMsg exported.ClientMessage) error { + return nil +} + +func (c ClientState) CheckForMisbehaviour(ctx sdk.Context, cdc codec.BinaryCodec, clientStore sdk.KVStore, msg exported.ClientMessage) bool { + return true +} + +// UpdateStateOnMisbehaviour should perform appropriate state changes on a client state given that misbehaviour has been detected and verified +func (c ClientState) UpdateStateOnMisbehaviour(ctx sdk.Context, cdc codec.BinaryCodec, clientStore sdk.KVStore, clientMsg exported.ClientMessage) { + +} + +func (c ClientState) UpdateState(ctx sdk.Context, cdc codec.BinaryCodec, clientStore sdk.KVStore, clientMsg exported.ClientMessage) []exported.Height { + return []exported.Height{c.LatestHeight} +} + +func (c ClientState) CheckSubstituteAndUpdateState( + ctx sdk.Context, cdc codec.BinaryCodec, subjectClientStore, + substituteClientStore sdk.KVStore, substituteClient exported.ClientState, +) error { + return nil +} + +func (c ClientState) VerifyUpgradeAndUpdateState( + ctx sdk.Context, + cdc codec.BinaryCodec, + store sdk.KVStore, + newClient exported.ClientState, + newConsState exported.ConsensusState, + proofUpgradeClient, + proofUpgradeConsState []byte, +) error { + return nil +} + +func (c *ClientState) GetProofSpecs() []*ics23.ProofSpec { + return c.ProofSpecs +} + +// NewClientState creates a new ClientState instance. +func NewClientState(latestSequence uint64, consensusState *ConsensusState) *ClientState { + return &ClientState{ + Data: []byte{0}, + CodeId: []byte{}, + LatestHeight: clienttypes.Height{}, + ProofSpecs: []*ics23.ProofSpec{}, + Repository: "", + } +} \ No newline at end of file diff --git a/chain/cosmos/08-wasm-types/codec.go b/chain/cosmos/08-wasm-types/codec.go new file mode 100644 index 000000000..4334946da --- /dev/null +++ b/chain/cosmos/08-wasm-types/codec.go @@ -0,0 +1,32 @@ +package wasmclienttypes + +import ( + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/ibc-go/v6/modules/core/exported" +) + +// RegisterInterfaces registers the tendermint concrete client-related +// implementations and interfaces. +func RegisterInterfaces(registry codectypes.InterfaceRegistry) { + registry.RegisterImplementations( + (*exported.ClientState)(nil), + &ClientState{}, + ) + registry.RegisterImplementations( + (*exported.ConsensusState)(nil), + &ConsensusState{}, + ) + registry.RegisterImplementations( + (*sdk.Msg)(nil), + &MsgPushNewWasmCode{}, + ) + /*cfg.InterfaceRegistry.RegisterImplementations( + *exported.ClientMessage)(nil), + &Misbehavior{}, + ) + cfg.InterfaceRegistry.RegisterImplementations( + *exported.ClientMessage)(nil), + &Header{}, + )*/ +} \ No newline at end of file diff --git a/chain/cosmos/08-wasm-types/consensus_state.go b/chain/cosmos/08-wasm-types/consensus_state.go new file mode 100644 index 000000000..0802ca3a3 --- /dev/null +++ b/chain/cosmos/08-wasm-types/consensus_state.go @@ -0,0 +1,23 @@ +package wasmclienttypes + +import ( + "github.com/cosmos/ibc-go/v6/modules/core/exported" +) + +var _ exported.ConsensusState = (*ConsensusState)(nil) + +func (m ConsensusState) ClientType() string { + return "" +} + +func (m ConsensusState) GetTimestamp() uint64 { + return m.Timestamp +} + +func (m ConsensusState) GetRoot() exported.Root { + return m.Root +} + +func (m ConsensusState) ValidateBasic() error { + return nil +} diff --git a/chain/cosmos/08-wasm-types/msgs.go b/chain/cosmos/08-wasm-types/msgs.go new file mode 100644 index 000000000..e33543f35 --- /dev/null +++ b/chain/cosmos/08-wasm-types/msgs.go @@ -0,0 +1,23 @@ +package wasmclienttypes + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +var ( + _ sdk.Msg = &MsgPushNewWasmCode{} +) + +func (m MsgPushNewWasmCode) ValidateBasic() error { + return nil +} + + +func (m MsgPushNewWasmCode) GetSigners() []sdk.AccAddress { + signer, err := sdk.AccAddressFromBech32(m.Signer) + if err != nil { + panic(err) + } + return []sdk.AccAddress{signer} +} + diff --git a/chain/cosmos/08-wasm-types/tx.pb.go b/chain/cosmos/08-wasm-types/tx.pb.go new file mode 100644 index 000000000..f51d01b9b --- /dev/null +++ b/chain/cosmos/08-wasm-types/tx.pb.go @@ -0,0 +1,636 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/lightclients/wasm/v1/tx.proto + +package wasmclienttypes + +import ( + context "context" + fmt "fmt" + grpc1 "github.com/gogo/protobuf/grpc" + proto "github.com/gogo/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + 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 + +// Message type to push new wasm code +type MsgPushNewWasmCode struct { + Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` + Code []byte `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` +} + +func (m *MsgPushNewWasmCode) Reset() { *m = MsgPushNewWasmCode{} } +func (m *MsgPushNewWasmCode) String() string { return proto.CompactTextString(m) } +func (*MsgPushNewWasmCode) ProtoMessage() {} +func (*MsgPushNewWasmCode) Descriptor() ([]byte, []int) { + return fileDescriptor_1d9737363bf1e38d, []int{0} +} +func (m *MsgPushNewWasmCode) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgPushNewWasmCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgPushNewWasmCode.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 *MsgPushNewWasmCode) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgPushNewWasmCode.Merge(m, src) +} +func (m *MsgPushNewWasmCode) XXX_Size() int { + return m.Size() +} +func (m *MsgPushNewWasmCode) XXX_DiscardUnknown() { + xxx_messageInfo_MsgPushNewWasmCode.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgPushNewWasmCode proto.InternalMessageInfo + +func (m *MsgPushNewWasmCode) GetSigner() string { + if m != nil { + return m.Signer + } + return "" +} + +func (m *MsgPushNewWasmCode) GetCode() []byte { + if m != nil { + return m.Code + } + return nil +} + +// Response in case of successful handling +type MsgPushNewWasmCodeResponse struct { + CodeId []byte `protobuf:"bytes,1,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` +} + +func (m *MsgPushNewWasmCodeResponse) Reset() { *m = MsgPushNewWasmCodeResponse{} } +func (m *MsgPushNewWasmCodeResponse) String() string { return proto.CompactTextString(m) } +func (*MsgPushNewWasmCodeResponse) ProtoMessage() {} +func (*MsgPushNewWasmCodeResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_1d9737363bf1e38d, []int{1} +} +func (m *MsgPushNewWasmCodeResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgPushNewWasmCodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgPushNewWasmCodeResponse.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 *MsgPushNewWasmCodeResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgPushNewWasmCodeResponse.Merge(m, src) +} +func (m *MsgPushNewWasmCodeResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgPushNewWasmCodeResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgPushNewWasmCodeResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgPushNewWasmCodeResponse proto.InternalMessageInfo + +func (m *MsgPushNewWasmCodeResponse) GetCodeId() []byte { + if m != nil { + return m.CodeId + } + return nil +} + +func init() { + proto.RegisterType((*MsgPushNewWasmCode)(nil), "ibc.lightclients.wasm.v1.MsgPushNewWasmCode") + proto.RegisterType((*MsgPushNewWasmCodeResponse)(nil), "ibc.lightclients.wasm.v1.MsgPushNewWasmCodeResponse") +} + +func init() { proto.RegisterFile("ibc/lightclients/wasm/v1/tx.proto", fileDescriptor_1d9737363bf1e38d) } + +var fileDescriptor_1d9737363bf1e38d = []byte{ + // 274 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcc, 0x4c, 0x4a, 0xd6, + 0xcf, 0xc9, 0x4c, 0xcf, 0x28, 0x49, 0xce, 0xc9, 0x4c, 0xcd, 0x2b, 0x29, 0xd6, 0x2f, 0x4f, 0x2c, + 0xce, 0xd5, 0x2f, 0x33, 0xd4, 0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0xc8, + 0x4c, 0x4a, 0xd6, 0x43, 0x56, 0xa2, 0x07, 0x52, 0xa2, 0x57, 0x66, 0xa8, 0xe4, 0xc0, 0x25, 0xe4, + 0x5b, 0x9c, 0x1e, 0x50, 0x5a, 0x9c, 0xe1, 0x97, 0x5a, 0x1e, 0x9e, 0x58, 0x9c, 0xeb, 0x9c, 0x9f, + 0x92, 0x2a, 0x24, 0xc6, 0xc5, 0x56, 0x9c, 0x99, 0x9e, 0x97, 0x5a, 0x24, 0xc1, 0xa8, 0xc0, 0xa8, + 0xc1, 0x19, 0x04, 0xe5, 0x09, 0x09, 0x71, 0xb1, 0x24, 0xe7, 0xa7, 0xa4, 0x4a, 0x30, 0x2b, 0x30, + 0x6a, 0xf0, 0x04, 0x81, 0xd9, 0x4a, 0xa6, 0x5c, 0x52, 0x98, 0x26, 0x04, 0xa5, 0x16, 0x17, 0xe4, + 0xe7, 0x15, 0xa7, 0x0a, 0x89, 0x73, 0xb1, 0x83, 0x54, 0xc5, 0x67, 0xa6, 0x80, 0x8d, 0xe2, 0x09, + 0x62, 0x03, 0x71, 0x3d, 0x53, 0x8c, 0x6a, 0xb8, 0x98, 0x7d, 0x8b, 0xd3, 0x85, 0x4a, 0xb9, 0xf8, + 0xd1, 0x2d, 0xd7, 0xd1, 0xc3, 0xe5, 0x5a, 0x3d, 0x4c, 0x8b, 0xa4, 0x4c, 0x48, 0x51, 0x0d, 0x73, + 0x96, 0x53, 0xc4, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, + 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xd9, 0xa5, 0x67, + 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x27, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, + 0x67, 0x26, 0x25, 0xeb, 0xa6, 0xe7, 0xeb, 0x97, 0x99, 0xea, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, + 0x16, 0x43, 0x42, 0x5b, 0x17, 0x16, 0xdc, 0x86, 0x06, 0xba, 0x20, 0x2b, 0xad, 0x41, 0x44, 0x12, + 0x1b, 0x38, 0xc4, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x87, 0x5c, 0x5b, 0x96, 0x01, + 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// MsgClient is the client API for Msg service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type MsgClient interface { + // PushNewWasmCode defines a rpc handler method for PushNewWasmCode. + PushNewWasmCode(ctx context.Context, in *MsgPushNewWasmCode, opts ...grpc.CallOption) (*MsgPushNewWasmCodeResponse, error) +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +func (c *msgClient) PushNewWasmCode(ctx context.Context, in *MsgPushNewWasmCode, opts ...grpc.CallOption) (*MsgPushNewWasmCodeResponse, error) { + out := new(MsgPushNewWasmCodeResponse) + err := c.cc.Invoke(ctx, "/ibc.lightclients.wasm.v1.Msg/PushNewWasmCode", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// MsgServer is the server API for Msg service. +type MsgServer interface { + // PushNewWasmCode defines a rpc handler method for PushNewWasmCode. + PushNewWasmCode(context.Context, *MsgPushNewWasmCode) (*MsgPushNewWasmCodeResponse, error) +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func (*UnimplementedMsgServer) PushNewWasmCode(ctx context.Context, req *MsgPushNewWasmCode) (*MsgPushNewWasmCodeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PushNewWasmCode not implemented") +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +func _Msg_PushNewWasmCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgPushNewWasmCode) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).PushNewWasmCode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ibc.lightclients.wasm.v1.Msg/PushNewWasmCode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).PushNewWasmCode(ctx, req.(*MsgPushNewWasmCode)) + } + return interceptor(ctx, in, info, handler) +} + +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "ibc.lightclients.wasm.v1.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "PushNewWasmCode", + Handler: _Msg_PushNewWasmCode_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "ibc/lightclients/wasm/v1/tx.proto", +} + +func (m *MsgPushNewWasmCode) 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 *MsgPushNewWasmCode) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgPushNewWasmCode) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Code) > 0 { + i -= len(m.Code) + copy(dAtA[i:], m.Code) + i = encodeVarintTx(dAtA, i, uint64(len(m.Code))) + i-- + dAtA[i] = 0x1a + } + if len(m.Signer) > 0 { + i -= len(m.Signer) + copy(dAtA[i:], m.Signer) + i = encodeVarintTx(dAtA, i, uint64(len(m.Signer))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgPushNewWasmCodeResponse) 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 *MsgPushNewWasmCodeResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgPushNewWasmCodeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.CodeId) > 0 { + i -= len(m.CodeId) + copy(dAtA[i:], m.CodeId) + i = encodeVarintTx(dAtA, i, uint64(len(m.CodeId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgPushNewWasmCode) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Signer) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Code) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgPushNewWasmCodeResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CodeId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgPushNewWasmCode) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgPushNewWasmCode: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgPushNewWasmCode: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Signer", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Signer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Code = append(m.Code[:0], dAtA[iNdEx:postIndex]...) + if m.Code == nil { + m.Code = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgPushNewWasmCodeResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgPushNewWasmCodeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgPushNewWasmCodeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CodeId", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CodeId = append(m.CodeId[:0], dAtA[iNdEx:postIndex]...) + if m.CodeId == nil { + m.CodeId = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipTx(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, ErrIntOverflowTx + } + 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, ErrIntOverflowTx + } + 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, ErrIntOverflowTx + } + 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, ErrInvalidLengthTx + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupTx + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthTx + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthTx = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowTx = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/cosmos/08-wasm-types/wasm.pb.go b/chain/cosmos/08-wasm-types/wasm.pb.go new file mode 100644 index 000000000..982cedd7c --- /dev/null +++ b/chain/cosmos/08-wasm-types/wasm.pb.go @@ -0,0 +1,1248 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: ibc/lightclients/wasm/v1/wasm.proto + +package wasmclienttypes + +import ( + fmt "fmt" + _go "github.com/confio/ics23/go" + types "github.com/cosmos/ibc-go/v6/modules/core/02-client/types" + types1 "github.com/cosmos/ibc-go/v6/modules/core/23-commitment/types" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + 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 + +// Wasm light client's Client state +type ClientState struct { + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + CodeId []byte `protobuf:"bytes,2,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + LatestHeight types.Height `protobuf:"bytes,3,opt,name=latest_height,json=latestHeight,proto3" json:"latest_height" yaml:"latest_height"` + ProofSpecs []*_go.ProofSpec `protobuf:"bytes,4,rep,name=proof_specs,json=proofSpecs,proto3" json:"proof_specs,omitempty"` + Repository string `protobuf:"bytes,5,opt,name=repository,proto3" json:"repository,omitempty"` +} + +func (m *ClientState) Reset() { *m = ClientState{} } +func (m *ClientState) String() string { return proto.CompactTextString(m) } +func (*ClientState) ProtoMessage() {} +func (*ClientState) Descriptor() ([]byte, []int) { + return fileDescriptor_678928ebbdee1807, []int{0} +} +func (m *ClientState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ClientState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ClientState.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 *ClientState) XXX_Merge(src proto.Message) { + xxx_messageInfo_ClientState.Merge(m, src) +} +func (m *ClientState) XXX_Size() int { + return m.Size() +} +func (m *ClientState) XXX_DiscardUnknown() { + xxx_messageInfo_ClientState.DiscardUnknown(m) +} + +var xxx_messageInfo_ClientState proto.InternalMessageInfo + +// Wasm light client's ConsensusState +type ConsensusState struct { + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + CodeId []byte `protobuf:"bytes,2,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + // timestamp that corresponds to the block height in which the ConsensusState + // was stored. + Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // commitment root + Root *types1.MerkleRoot `protobuf:"bytes,4,opt,name=root,proto3" json:"root,omitempty"` +} + +func (m *ConsensusState) Reset() { *m = ConsensusState{} } +func (m *ConsensusState) String() string { return proto.CompactTextString(m) } +func (*ConsensusState) ProtoMessage() {} +func (*ConsensusState) Descriptor() ([]byte, []int) { + return fileDescriptor_678928ebbdee1807, []int{1} +} +func (m *ConsensusState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConsensusState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConsensusState.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 *ConsensusState) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConsensusState.Merge(m, src) +} +func (m *ConsensusState) XXX_Size() int { + return m.Size() +} +func (m *ConsensusState) XXX_DiscardUnknown() { + xxx_messageInfo_ConsensusState.DiscardUnknown(m) +} + +var xxx_messageInfo_ConsensusState proto.InternalMessageInfo + +// Wasm light client Header +type Header struct { + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + Height types.Height `protobuf:"bytes,2,opt,name=height,proto3" json:"height" yaml:"height"` +} + +func (m *Header) Reset() { *m = Header{} } +func (m *Header) String() string { return proto.CompactTextString(m) } +func (*Header) ProtoMessage() {} +func (*Header) Descriptor() ([]byte, []int) { + return fileDescriptor_678928ebbdee1807, []int{2} +} +func (m *Header) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Header.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 *Header) XXX_Merge(src proto.Message) { + xxx_messageInfo_Header.Merge(m, src) +} +func (m *Header) XXX_Size() int { + return m.Size() +} +func (m *Header) XXX_DiscardUnknown() { + xxx_messageInfo_Header.DiscardUnknown(m) +} + +var xxx_messageInfo_Header proto.InternalMessageInfo + +// Wasm light client Misbehaviour +type Misbehaviour struct { + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty" yaml:"client_id"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (m *Misbehaviour) Reset() { *m = Misbehaviour{} } +func (m *Misbehaviour) String() string { return proto.CompactTextString(m) } +func (*Misbehaviour) ProtoMessage() {} +func (*Misbehaviour) Descriptor() ([]byte, []int) { + return fileDescriptor_678928ebbdee1807, []int{3} +} +func (m *Misbehaviour) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Misbehaviour) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Misbehaviour.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 *Misbehaviour) XXX_Merge(src proto.Message) { + xxx_messageInfo_Misbehaviour.Merge(m, src) +} +func (m *Misbehaviour) XXX_Size() int { + return m.Size() +} +func (m *Misbehaviour) XXX_DiscardUnknown() { + xxx_messageInfo_Misbehaviour.DiscardUnknown(m) +} + +var xxx_messageInfo_Misbehaviour proto.InternalMessageInfo + +func init() { + proto.RegisterType((*ClientState)(nil), "ibc.lightclients.wasm.v1.ClientState") + proto.RegisterType((*ConsensusState)(nil), "ibc.lightclients.wasm.v1.ConsensusState") + proto.RegisterType((*Header)(nil), "ibc.lightclients.wasm.v1.Header") + proto.RegisterType((*Misbehaviour)(nil), "ibc.lightclients.wasm.v1.Misbehaviour") +} + +func init() { + proto.RegisterFile("ibc/lightclients/wasm/v1/wasm.proto", fileDescriptor_678928ebbdee1807) +} + +var fileDescriptor_678928ebbdee1807 = []byte{ + // 515 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0x4d, 0x8b, 0xd3, 0x40, + 0x18, 0x6e, 0x76, 0x63, 0xb5, 0xd3, 0xae, 0x2c, 0xa1, 0x62, 0x28, 0x4b, 0x52, 0xe2, 0xc1, 0x5e, + 0x9a, 0x98, 0x2e, 0x7a, 0x58, 0xc1, 0x43, 0xf7, 0xb2, 0x3d, 0x2c, 0x48, 0xf6, 0x22, 0x8a, 0x94, + 0x64, 0x32, 0xa6, 0x83, 0x99, 0xbe, 0x21, 0x33, 0x8d, 0xec, 0x3f, 0xf0, 0xe8, 0xd5, 0x9b, 0x3f, + 0x67, 0x8f, 0x7b, 0xf4, 0x54, 0xa4, 0xfd, 0x07, 0xfd, 0x05, 0x32, 0x33, 0xe9, 0x87, 0x20, 0x08, + 0x5e, 0x92, 0xf7, 0xe3, 0xc9, 0x33, 0xcf, 0xfb, 0x64, 0x5e, 0xf4, 0x8c, 0x26, 0x38, 0xc8, 0x69, + 0x36, 0x13, 0x38, 0xa7, 0x64, 0x2e, 0x78, 0xf0, 0x25, 0xe6, 0x2c, 0xa8, 0x42, 0xf5, 0xf6, 0x8b, + 0x12, 0x04, 0x58, 0x36, 0x4d, 0xb0, 0x7f, 0x08, 0xf2, 0x55, 0xb3, 0x0a, 0x7b, 0xdd, 0x0c, 0x32, + 0x50, 0xa0, 0x40, 0x46, 0x1a, 0xdf, 0x73, 0x25, 0x29, 0x86, 0x92, 0x04, 0x1a, 0x2f, 0xe9, 0x74, + 0x54, 0x03, 0x9e, 0xef, 0x01, 0xc0, 0x18, 0x15, 0x6c, 0x0b, 0xda, 0x65, 0x35, 0xb0, 0x53, 0x94, + 0x00, 0x9f, 0xb8, 0xce, 0xbc, 0x8d, 0x81, 0xda, 0x97, 0x8a, 0xe7, 0x46, 0xc4, 0x82, 0x58, 0x16, + 0x32, 0xd3, 0x58, 0xc4, 0xb6, 0xd1, 0x37, 0x06, 0x9d, 0x48, 0xc5, 0xd6, 0x53, 0xf4, 0x10, 0x43, + 0x4a, 0xa6, 0x34, 0xb5, 0x8f, 0x54, 0xb9, 0x29, 0xd3, 0x49, 0x6a, 0x7d, 0x44, 0x27, 0x79, 0x2c, + 0x08, 0x17, 0xd3, 0x19, 0x91, 0xa3, 0xd8, 0xc7, 0x7d, 0x63, 0xd0, 0x1e, 0xf5, 0x7c, 0x39, 0x9c, + 0xd4, 0xe2, 0xd7, 0x12, 0xab, 0xd0, 0xbf, 0x52, 0x88, 0xf1, 0xd9, 0xdd, 0xd2, 0x6d, 0x6c, 0x96, + 0x6e, 0xf7, 0x36, 0x66, 0xf9, 0x85, 0xf7, 0xc7, 0xe7, 0x5e, 0xd4, 0xd1, 0xb9, 0xc6, 0x5a, 0x21, + 0x6a, 0x2b, 0xad, 0x53, 0x5e, 0x10, 0xcc, 0x6d, 0xb3, 0x7f, 0x3c, 0x68, 0x8f, 0x4e, 0x7d, 0x8a, + 0xf9, 0xe8, 0xdc, 0x7f, 0x2b, 0x3b, 0x37, 0x05, 0xc1, 0x11, 0x2a, 0xb6, 0x21, 0xb7, 0x1c, 0x84, + 0x4a, 0x52, 0x00, 0xa7, 0x02, 0xca, 0x5b, 0xfb, 0x41, 0xdf, 0x18, 0xb4, 0xa2, 0x83, 0xca, 0x85, + 0xf9, 0xf5, 0x87, 0xdb, 0xf0, 0xbe, 0x1b, 0xe8, 0xf1, 0x25, 0xcc, 0x39, 0x99, 0xf3, 0x05, 0xff, + 0x8f, 0xb9, 0xcf, 0x50, 0x4b, 0x50, 0x46, 0xb8, 0x88, 0x59, 0xa1, 0x66, 0x36, 0xa3, 0x7d, 0xc1, + 0x7a, 0x85, 0xcc, 0x12, 0x40, 0xd8, 0xa6, 0x32, 0xc3, 0x3b, 0x30, 0x63, 0xff, 0x2b, 0xaa, 0xd0, + 0xbf, 0x26, 0xe5, 0xe7, 0x9c, 0x44, 0x00, 0x22, 0x52, 0xf8, 0x5a, 0x1b, 0x43, 0xcd, 0x2b, 0x12, + 0xa7, 0xa4, 0xfc, 0xab, 0xa4, 0x09, 0x6a, 0xd6, 0x56, 0x1f, 0xfd, 0xd3, 0xea, 0x27, 0xb5, 0xd5, + 0x27, 0xda, 0xea, 0xad, 0xc7, 0x35, 0x41, 0x7d, 0xdc, 0x07, 0xd4, 0xb9, 0xa6, 0x3c, 0x21, 0xb3, + 0xb8, 0xa2, 0xb0, 0x28, 0xad, 0x10, 0xb5, 0x34, 0x91, 0x9c, 0x5a, 0x9e, 0xdc, 0x1a, 0x77, 0x37, + 0x4b, 0xf7, 0x54, 0x73, 0xec, 0x5a, 0x5e, 0xf4, 0x48, 0xc7, 0x93, 0x74, 0xa7, 0xf3, 0x68, 0xaf, + 0x53, 0x93, 0x8f, 0xdf, 0xdd, 0xad, 0x1c, 0xe3, 0x7e, 0xe5, 0x18, 0xbf, 0x56, 0x8e, 0xf1, 0x6d, + 0xed, 0x34, 0xee, 0xd7, 0x4e, 0xe3, 0xe7, 0xda, 0x69, 0xbc, 0x7f, 0x93, 0x51, 0x31, 0x5b, 0x24, + 0xd2, 0x92, 0x00, 0x03, 0x67, 0xc0, 0x03, 0x9a, 0xe0, 0x61, 0x06, 0x41, 0xf5, 0x32, 0x60, 0x90, + 0x2e, 0x72, 0xc2, 0xf5, 0x0e, 0x0d, 0xb7, 0x4b, 0x14, 0xbe, 0x18, 0xca, 0x15, 0x79, 0x2d, 0x1f, + 0x49, 0x53, 0xdd, 0xde, 0xf3, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x37, 0x92, 0x65, 0x50, 0x6c, + 0x03, 0x00, 0x00, +} + +func (m *ClientState) 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 *ClientState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ClientState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Repository) > 0 { + i -= len(m.Repository) + copy(dAtA[i:], m.Repository) + i = encodeVarintWasm(dAtA, i, uint64(len(m.Repository))) + i-- + dAtA[i] = 0x2a + } + if len(m.ProofSpecs) > 0 { + for iNdEx := len(m.ProofSpecs) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ProofSpecs[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintWasm(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + { + size, err := m.LatestHeight.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintWasm(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + if len(m.CodeId) > 0 { + i -= len(m.CodeId) + copy(dAtA[i:], m.CodeId) + i = encodeVarintWasm(dAtA, i, uint64(len(m.CodeId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = encodeVarintWasm(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ConsensusState) 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 *ConsensusState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ConsensusState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Root != nil { + { + size, err := m.Root.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintWasm(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.Timestamp != 0 { + i = encodeVarintWasm(dAtA, i, uint64(m.Timestamp)) + i-- + dAtA[i] = 0x18 + } + if len(m.CodeId) > 0 { + i -= len(m.CodeId) + copy(dAtA[i:], m.CodeId) + i = encodeVarintWasm(dAtA, i, uint64(len(m.CodeId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = encodeVarintWasm(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Header) 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 *Header) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Height.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintWasm(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = encodeVarintWasm(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Misbehaviour) 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 *Misbehaviour) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Misbehaviour) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = encodeVarintWasm(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0x12 + } + if len(m.ClientId) > 0 { + i -= len(m.ClientId) + copy(dAtA[i:], m.ClientId) + i = encodeVarintWasm(dAtA, i, uint64(len(m.ClientId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintWasm(dAtA []byte, offset int, v uint64) int { + offset -= sovWasm(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *ClientState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Data) + if l > 0 { + n += 1 + l + sovWasm(uint64(l)) + } + l = len(m.CodeId) + if l > 0 { + n += 1 + l + sovWasm(uint64(l)) + } + l = m.LatestHeight.Size() + n += 1 + l + sovWasm(uint64(l)) + if len(m.ProofSpecs) > 0 { + for _, e := range m.ProofSpecs { + l = e.Size() + n += 1 + l + sovWasm(uint64(l)) + } + } + l = len(m.Repository) + if l > 0 { + n += 1 + l + sovWasm(uint64(l)) + } + return n +} + +func (m *ConsensusState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Data) + if l > 0 { + n += 1 + l + sovWasm(uint64(l)) + } + l = len(m.CodeId) + if l > 0 { + n += 1 + l + sovWasm(uint64(l)) + } + if m.Timestamp != 0 { + n += 1 + sovWasm(uint64(m.Timestamp)) + } + if m.Root != nil { + l = m.Root.Size() + n += 1 + l + sovWasm(uint64(l)) + } + return n +} + +func (m *Header) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Data) + if l > 0 { + n += 1 + l + sovWasm(uint64(l)) + } + l = m.Height.Size() + n += 1 + l + sovWasm(uint64(l)) + return n +} + +func (m *Misbehaviour) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ClientId) + if l > 0 { + n += 1 + l + sovWasm(uint64(l)) + } + l = len(m.Data) + if l > 0 { + n += 1 + l + sovWasm(uint64(l)) + } + return n +} + +func sovWasm(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozWasm(x uint64) (n int) { + return sovWasm(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *ClientState) 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 ErrIntOverflowWasm + } + 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: ClientState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ClientState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CodeId", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CodeId = append(m.CodeId[:0], dAtA[iNdEx:postIndex]...) + if m.CodeId == nil { + m.CodeId = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LatestHeight", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LatestHeight.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofSpecs", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofSpecs = append(m.ProofSpecs, &_go.ProofSpec{}) + if err := m.ProofSpecs[len(m.ProofSpecs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Repository", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + 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 ErrInvalidLengthWasm + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Repository = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipWasm(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthWasm + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ConsensusState) 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 ErrIntOverflowWasm + } + 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: ConsensusState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ConsensusState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CodeId", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CodeId = append(m.CodeId[:0], dAtA[iNdEx:postIndex]...) + if m.CodeId == nil { + m.CodeId = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Root", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Root == nil { + m.Root = &types1.MerkleRoot{} + } + if err := m.Root.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipWasm(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthWasm + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Header) 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 ErrIntOverflowWasm + } + 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: Header: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Header: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Height.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipWasm(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthWasm + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Misbehaviour) 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 ErrIntOverflowWasm + } + 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: Misbehaviour: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Misbehaviour: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + 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 ErrInvalidLengthWasm + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ClientId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowWasm + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthWasm + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthWasm + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipWasm(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthWasm + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipWasm(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, ErrIntOverflowWasm + } + 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, ErrIntOverflowWasm + } + 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, ErrIntOverflowWasm + } + 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, ErrInvalidLengthWasm + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupWasm + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthWasm + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthWasm = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowWasm = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupWasm = fmt.Errorf("proto: unexpected end of group") +) diff --git a/chain/cosmos/codec.go b/chain/cosmos/codec.go index ec024ce74..d9d70dcab 100644 --- a/chain/cosmos/codec.go +++ b/chain/cosmos/codec.go @@ -11,6 +11,7 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" ibctypes "github.com/cosmos/ibc-go/v6/modules/core/types" + wasmclienttypes "github.com/strangelove-ventures/ibctest/v6/chain/cosmos/08-wasm-types" ) func DefaultEncoding() simappparams.EncodingConfig { @@ -25,6 +26,8 @@ func DefaultEncoding() simappparams.EncodingConfig { banktypes.RegisterInterfaces(cfg.InterfaceRegistry) ibctypes.RegisterInterfaces(cfg.InterfaceRegistry) transfertypes.RegisterInterfaces(cfg.InterfaceRegistry) + wasmclienttypes.RegisterInterfaces(cfg.InterfaceRegistry) + return cfg } diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 5e3359505..4fb762302 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -82,13 +82,13 @@ func TestHyperspace(t *testing.T) { ChainID: "rococo-local", Images: []ibc.DockerImage{ { - Repository: "seunlanlege/centauri-polkadot", - Version: "v0.9.27", + Repository: "polkadot-node", + Version: "local", UidGid: "1025:1025", }, { - Repository: "seunlanlege/centauri-parachain", - Version: "v0.9.27", + Repository: "parachain-node", + Version: "local", //UidGid: "1025:1025", }, }, @@ -111,7 +111,8 @@ func TestHyperspace(t *testing.T) { Images: []ibc.DockerImage{ { Repository: "ibc-go-simd", - Version: "feat-wasm-client", + Version: "local", + //Version: "feat-wasm-clients", UidGid: "1025:1025", }, }, @@ -153,7 +154,12 @@ func TestHyperspace(t *testing.T) { fmt.Println("About to create interchain") ic := ibctest.NewInterchain(). AddChain(polkadotChain). - AddChain(cosmosChain). + AddChain(cosmosChain, ibc.WalletAmount{ + // Use test keys temporarily + Address: "cosmos1nnypkcfrvu3e9dhzeggpn4kh622l4cq7wwwrn0", + Denom: "stake", + Amount: 10_000_000_000_000, + }). AddRelayer(r, relayerName). AddLink(ibctest.InterchainLink{ Chain1: polkadotChain, @@ -215,12 +221,35 @@ func TestHyperspace(t *testing.T) { require.NotEmpty(t, getCodeQueryMsgRsp.Code) require.Equal(t, codeHash, codeHash2) - r.SetClientContractHash(ctx, eRep, cosmosChain.Config(), codeHash) + r.SetClientContractHash(ctx, eRep, cosmosChain.Config(), polkadotChain.Config(), codeHash) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintCoreConfig(ctx, eRep) + // Create new clients + err = r.CreateClients(ctx, eRep, pathName, ibc.CreateClientOptions{TrustingPeriod: "330h"}) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) + require.NoError(t, err) + + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintCoreConfig(ctx, eRep) + err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) + require.NoError(t, err) + // Create a new connection + ////err = r.CreateConnections(ctx, eRep, pathName) + ////require.NoError(t, err) + + ////err = testutil.WaitForBlocks(ctx, 5, chain1, chain2) + ////require.NoError(t, err) + + // Query for the newly created connection + ////connections, err := r.GetConnections(ctx, eRep, chain1.Config().ChainID) + ////require.NoError(t, err) + ////require.Equal(t, 1, len(connections)) //err = testutil.WaitForBlocks(ctx, 22, polkadotChain, cosmosChain) //require.NoError(t, err) // Add contract hash to hyperspace config and create clients, connection, and channel diff --git a/go.mod b/go.mod index c2e8848f9..3941743f1 100644 --- a/go.mod +++ b/go.mod @@ -10,6 +10,7 @@ require ( github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 + github.com/confio/ics23/go v0.7.0 github.com/cosmos/cosmos-sdk v0.46.2 github.com/cosmos/go-bip39 v1.0.0 github.com/cosmos/ibc-go/v6 v6.0.0-20221104144119-b1f494c64328 @@ -18,6 +19,7 @@ require ( github.com/docker/docker v20.10.17+incompatible github.com/docker/go-connections v0.4.0 github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 + github.com/gogo/protobuf v1.3.3 github.com/google/go-cmp v0.5.8 github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 @@ -62,7 +64,6 @@ require ( github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect - github.com/confio/ics23/go v0.7.0 // indirect github.com/cosmos/btcutil v1.0.4 // indirect github.com/cosmos/cosmos-proto v1.0.0-alpha7 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect @@ -90,7 +91,6 @@ require ( github.com/go-stack/stack v1.8.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/gateway v1.1.0 // indirect - github.com/gogo/protobuf v1.3.3 // indirect github.com/golang/glog v1.0.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect @@ -226,5 +226,3 @@ replace github.com/ChainSafe/go-schnorrkel => github.com/ChainSafe/go-schnorrkel replace github.com/ChainSafe/go-schnorrkel/1 => github.com/ChainSafe/go-schnorrkel v1.0.0 //replace github.com/ComposableFi/go-substrate-rpc-client/v4 => ../../ComposableFi/go-substrate-rpc-client/ - -//replace github.com/cosmos/ibc-go/v6 => ../ibc-go_feat_wasm-client diff --git a/ibc/relayer.go b/ibc/relayer.go index 1464afafd..3aba3b61b 100644 --- a/ibc/relayer.go +++ b/ibc/relayer.go @@ -99,7 +99,7 @@ type Relayer interface { // Set the wasm client contract hash in the chain's config if the counterparty chain in a path used 08-wasm // to instantiate the client. - SetClientContractHash(ctx context.Context, rep RelayerExecReporter, cfg ChainConfig, hash string) error + SetClientContractHash(ctx context.Context, rep RelayerExecReporter, cfg, counterChainCfg ChainConfig, hash string) error } // GetTransferChannel will return the transfer channel assuming only one client, diff --git a/interchain.go b/interchain.go index 24a9b0984..29d0aac63 100644 --- a/interchain.go +++ b/interchain.go @@ -366,7 +366,7 @@ func (ic *Interchain) genesisWalletAmounts(ctx context.Context) (map[ibc.Chain][ walletAmounts[c] = append(walletAmounts[c], ibc.WalletAmount{ Address: wallet.FormattedAddress(), Denom: c.Config().Denom, - Amount: 1_000_000_000_000, // Every wallet gets 1t units of denom. + Amount: 10_000_000_000_000, // Every wallet gets 1t units of denom. }) } diff --git a/relayer/docker.go b/relayer/docker.go index b018bf7e0..8a3cac08e 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -204,7 +204,9 @@ func (r *DockerRelayer) CreateChannel(ctx context.Context, rep ibc.RelayerExecRe func (r *DockerRelayer) CreateClients(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, opts ibc.CreateClientOptions) error { cmd := r.c.CreateClients(pathName, opts, r.HomeDir()) + fmt.Println("Create Client cmd: ", cmd) res := r.Exec(ctx, rep, cmd, nil) + fmt.Println("CreateClientsOutput: ", string(res.Stdout)) return res.Err } @@ -319,7 +321,7 @@ func (r *DockerRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecRepor chainConfig := make(testutil.Toml) switch chainType { case "cosmos": - chainConfig["private_key"] = mnemonic + //chainConfig["private_key"] = mnemonic bech32Prefix := cfg.Bech32Prefix keyEntry := r.c.RestoreKey(chainID, bech32Prefix, coinType, mnemonic, r.HomeDir()) keyEntryOverrides := make(testutil.Toml) @@ -329,7 +331,8 @@ func (r *DockerRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecRepor keyEntryOverrides["address"] = []byte(keyEntry[3]) chainConfig["keybase"] = keyEntryOverrides case "polkadot": - chainConfig["private_key"] = mnemonic + chainConfig["private_key"] = "//Alice" + //chainConfig["private_key"] = mnemonic } chainConfigFile := chainID + ".config" err := testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, chainConfigFile, chainConfig) @@ -561,7 +564,7 @@ func (r *DockerRelayer) UseDockerNetwork() bool { return true } -func (r *DockerRelayer) SetClientContractHash(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, hash string) error { +func (r *DockerRelayer) SetClientContractHash(ctx context.Context, rep ibc.RelayerExecReporter, cfg, counterChainCfg ibc.ChainConfig, hash string) error { switch r.c.Name() { case "hyperspace": chainConfig := make(testutil.Toml) @@ -571,6 +574,13 @@ func (r *DockerRelayer) SetClientContractHash(ctx context.Context, rep ibc.Relay if err != nil { return err } + counterChainConfig := make(testutil.Toml) + counterChainConfig["counterparty_wasm_code_id"] = hash + counterChainConfigFile := counterChainCfg.ChainID + ".config" + err = testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, counterChainConfigFile, counterChainConfig) + if err != nil { + return err + } case "rly": panic("[rly/SetClientContractHash] Implement me") } diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index b996f4756..0a4c204ab 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -3,8 +3,9 @@ package hyperspace import ( "context" - "encoding/hex" + //"encoding/hex" "fmt" + "path" "strconv" "strings" @@ -34,12 +35,12 @@ func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, c.extraStartFlags = o.Flags } } - dr, err := relayer.NewDockerRelayer(context.TODO(), log, testName, cli, networkID, c, options...) + dr, err := relayer.NewDockerRelayer(context.TODO(), log, testName, cli, networkID, &c, options...) if err != nil { panic(err) // TODO: return } - c.dockerRelayer = dr + //c.dockerRelayer = dr r := &HyperspaceRelayer{ DockerRelayer: dr, @@ -54,8 +55,8 @@ type HyperspaceRelayerSubstrateChainConfig struct { ParaID uint32 `toml:"para_id"` ParachainRPCURL string `toml:"parachain_rpc_url"` RelayChainRPCURL string `toml:"relay_chain_rpc_url"` - ClientID string `toml:"client_id"` - ConnectionID string `toml:"connection_id"` + //ClientID string `toml:"client_id"` + //ConnectionID string `toml:"connection_id"` BeefyActivation uint32 `toml:"beefy_activation_block"` CommitmentPrefix string `toml:"commitment_prefix"` PrivateKey string `toml:"private_key"` @@ -63,8 +64,8 @@ type HyperspaceRelayerSubstrateChainConfig struct { ChannelWhitelist []string `toml:"channel_whitelist"` FinalityProtocol string `toml:"finality_protocol"` KeyType string `toml:"key_type"` - WasmCodeId string `toml:"wasm_code_id"` - WasmClientType string `toml:"wasm_client_type"` + //WasmCodeId string `toml:"wasm_code_id"` + //WasmClientType string `toml:"wasm_client_type"` } type KeyEntry struct { @@ -130,17 +131,23 @@ func GenKeyEntry(bech32Prefix, coinType, mnemonic string) KeyEntry { privKey := algo.Generate()(derivedPriv) address := types.AccAddress(privKey.PubKey().Address()) - bech32Addr := types.MustBech32ifyAddressBytes(bech32Prefix, address) + _ = types.MustBech32ifyAddressBytes(bech32Prefix, address) + //bech32Addr := types.MustBech32ifyAddressBytes(bech32Prefix, address) + // Use test keys temporarily return KeyEntry{ - PublicKey: hex.EncodeToString(privKey.PubKey().Bytes()), //PubKeySecp256k1{0316AE4C34FB51C56AFB8126CB9AD725BCF0BD7FB4AD1684FD50DC45A67CBC0A7D} - PrivateKey: hex.EncodeToString(privKey.Bytes()), // i.e. ac26db8374e68403a3cf38cc2b196d688d2f094cec0908978b2460d4442062f7 - Account: bech32Addr , // i.e. cosmos1g5r2vmnp6lta9cpst4lzc4syy3kcj2lj0nuhmy - Address: address.Bytes(), // i.e. [69 6 166 110 97 215 215 210 224 48 93 126 44 86 4 36 109 137 43 242] + PublicKey: "spub4W7TSjsuqcUE17mSB2ajhZsbwkefsHWKsXCbERimu3z2QLN9EFgqqpppiBn4tTNPFoNVTo1b3BgCZAaFJuUgTZeFhzJjUHkK8X7kSC5c7yn", + PrivateKey: "sprv8H873EM21Euvndgy513jLRvsPipBTpnUWJGzS3KALiT3XY2zgiNbJ2WLrvPzRhg7GuAoujHd5d6cpBe887vTbJghja8kmRdkHoNgamx6WWr", + Account: "cosmos1nnypkcfrvu3e9dhzeggpn4kh622l4cq7wwwrn0", + Address: []byte{156, 200, 27, 97, 35, 103, 35, 146, 182, 226, 202, 16, 25, 214, 215, 210, 149, 250, 224, 30}, + //PublicKey: hex.EncodeToString(privKey.PubKey().Bytes()), // i.e. 02c1732ca9cb7c6efaa7c205887565b9787cab5ebdb7bc1dd872a21fc8c9efb56a + //PrivateKey: hex.EncodeToString(privKey.Bytes()), // i.e. ac26db8374e68403a3cf38cc2b196d688d2f094cec0908978b2460d4442062f7 + //Account: bech32Addr , // i.e. cosmos1g5r2vmnp6lta9cpst4lzc4syy3kcj2lj0nuhmy + //Address: address.Bytes(), // i.e. [69 6 166 110 97 215 215 210 224 48 93 126 44 86 4 36 109 137 43 242] } } -func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, rpcAddr, gprcAddr string) interface{} { +func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) interface{} { chainType := chainConfig.Type if chainType == "polkadot" || chainType == "parachain" || chainType == "relaychain" { chainType = "parachain" @@ -149,7 +156,7 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN if chainType == "parachain" { addrs := strings.Split(rpcAddr, ",") paraRpcAddr := rpcAddr - relayRpcAddr := gprcAddr + relayRpcAddr := grpcAddr if len(addrs) > 1 { paraRpcAddr, relayRpcAddr = addrs[0], addrs[1] } @@ -157,26 +164,29 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN Type: chainType, Name: chainConfig.Name, ParaID: 2000, - ParachainRPCURL: paraRpcAddr, - RelayChainRPCURL: relayRpcAddr, + ParachainRPCURL: strings.Replace(strings.Replace(paraRpcAddr, "http", "ws", 1), "9933", "27451", 1), + RelayChainRPCURL: strings.Replace(strings.Replace(relayRpcAddr, "http", "ws", 1),"9933", "27451", 1), //ClientID: "10-grandpa-0", //ConnectionID: "connection-0", CommitmentPrefix: "0x6962632f", PrivateKey: "//Alice", - SS58Version: 49, + SS58Version: polkadot.Ss58Format, KeyType: "sr25519", - FinalityProtocol: "grandpa", + FinalityProtocol: "Grandpa", } } else if chainType == "cosmos" { + wsUrl := strings.Replace(rpcAddr, "http", "ws", 1) + "/websocket" return HyperspaceRelayerCosmosChainConfig{ + Type: chainType, Name: chainConfig.Name, ChainID: chainConfig.ChainID, AccountPrefix: chainConfig.Bech32Prefix, - GRPCUrl: gprcAddr, + GRPCUrl: "http://"+grpcAddr, RPCUrl: rpcAddr, - StorePrefix: "", + StorePrefix: "ibc", MaxTxSize: 200000, WasmClientType: "10-grandpa", + WebsocketUrl: wsUrl, //Debug: true, //GasAdjustment: chainConfig.GasAdjustment, //GasPrices: chainConfig.GasPrices, @@ -195,7 +205,7 @@ type hyperspaceCommander struct { log *zap.Logger chainConfigPaths []string extraStartFlags []string - dockerRelayer *relayer.DockerRelayer + //dockerRelayer *relayer.DockerRelayer } func (hyperspaceCommander) Name() string { @@ -206,7 +216,7 @@ func (hyperspaceCommander) DockerUser() string { return "501:20" // docker run -it --rm --entrypoint echo ghcr.io/cosmos/relayer "$(id -u):$(id -g)" } -func (c hyperspaceCommander) AddChainConfiguration(containerFilePath, homeDir string) []string { +func (c *hyperspaceCommander) AddChainConfiguration(containerFilePath, homeDir string) []string { fmt.Println("[hyperspace] AddChainConfiguration ", containerFilePath, homeDir) c.chainConfigPaths = append(c.chainConfigPaths, containerFilePath) return []string{ @@ -221,7 +231,7 @@ func (hyperspaceCommander) AddKey(chainID, keyName, coinType, homeDir string) [] panic("[AddKey] Do not call me") } -func (hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { +func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { panic("[CreateChannel] Implement me") /*fmt.Println("[hyperspace] CreateChannel", pathName, opts, homeDir) return []string{ @@ -237,30 +247,36 @@ func (hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannel }*/ } -func (hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { - panic("[CreateClients] Implement me") - /*fmt.Println("[hyperspace] CreateClients", pathName, opts, homeDir) +func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { + fmt.Println("[hyperspace] CreateClients", pathName, opts, homeDir) + if(len(c.chainConfigPaths) < 2) { + fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) + panic("Hyperspace needs two chain configs") + } return []string{ "hyperspace", - "-h", - //"rly", "tx", "clients", pathName, "--client-tp", opts.TrustingPeriod, - //"--home", homeDir, - }*/ + "create-clients", + "--config-a", + c.chainConfigPaths[0], + "--config-b", + c.chainConfigPaths[1], + "--config-core", + path.Join(homeDir, "core.config"), + "--delay-period", + "10", + "--port-id", + "transfer", + "--order", + "unordered", + } } -// CreateClient passing a value of 0 for customeClientTrustingPeriod will use default -func (hyperspaceCommander) CreateClient(pathName, homeDir, customeClientTrustingPeriod string) []string { - panic("[CreateClient] Implement me") - /*fmt.Println("[hyperspace] CreateClient", pathName, homeDir, customeClientTrustingPeriod) - return []string{ - "hyperspace", - "-h", - //"rly", "tx", "client", pathName, "--client-tp", customeClientTrustingPeriod, - //"--home", homeDir, - }*/ +// Hyperspace doesn't implement this +func (hyperspaceCommander) CreateClient(pathName, homeDir, customClientTrustingPeriod string) []string { + panic("[CreateClient] Do not use me") } -func (hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { +func (c *hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { panic("[CreateConnections] Implement me") /*fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) return []string{ @@ -281,28 +297,15 @@ func (hyperspaceCommander) FlushPackets(pathName, channelID, homeDir string) []s panic("[FlushPackets] Do not call me") } +// Hyperspace does not have paths, just two configs func (hyperspaceCommander) GeneratePath(srcChainID, dstChainID, pathName, homeDir string) []string { - panic("[GeneratePath] Implement me") - /*fmt.Println("[hyperspace] GeneratePath", srcChainID, dstChainID, pathName, homeDir) - return []string{ - "hyperspace", - "-h", - // "rly", "paths", "new", srcChainID, dstChainID, pathName, - // "--home", homeDir, - }*/ + panic("[GeneratePath] Do not call me") } +// Hyperspace does not have paths, just two configs func (hyperspaceCommander) UpdatePath(pathName, homeDir string, filter ibc.ChannelFilter) []string { - panic("[UpdatePath] Implement me") - /*fmt.Println("[hyperspace] UpdatePath", pathName, homeDir, filter) - return []string{ - "hyperspace", - "-h", - // "rly", "paths", "update", pathName, - // "--home", homeDir, - // "--filter-rule", filter.Rule, - // "--filter-channels", strings.Join(filter.ChannelList, ","), - }*/ + panic("[UpdatePath] Do not call me") + } func (hyperspaceCommander) GetChannels(chainID, homeDir string) []string { @@ -334,21 +337,9 @@ func (hyperspaceCommander) GetClients(chainID, homeDir string) []string { panic("[GetClients] Implement me") } +// Hyperspace does not have link cmd, call create clients, create connection, and create channel func (hyperspaceCommander) LinkPath(pathName, homeDir string, channelOpts ibc.CreateChannelOptions, clientOpt ibc.CreateClientOptions) []string { - panic("[LinkPath] Implement me") - /*fmt.Println("[hyperspace] LinkPath", pathName, homeDir, channelOpts, clientOpt) - return []string{ - "hyperspace", - "-h", - // "rly", "tx", "link", pathName, - // "--src-port", channelOpts.SourcePortName, - // "--dst-port", channelOpts.DestPortName, - // "--order", channelOpts.Order.String(), - // "--version", channelOpts.Version, - // "--client-tp", clientOpt.TrustingPeriod, - - // "--home", homeDir, - }*/ + panic("[LinkPath] Do not use me") } // There is no hyperspace call to restore the key, so this can't return an executable. @@ -364,7 +355,7 @@ func (hyperspaceCommander) RestoreKey(chainID, bech32Prefix, coinType, mnemonic, } } -func (c hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { +func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { panic("[StartRelayer] Implement me") /*fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) if len(c.chainConfig) < 2 { @@ -384,10 +375,10 @@ func (c hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) [ // Hyperspace doesn't not have this functionality func (hyperspaceCommander) UpdateClients(pathName, homeDir string) []string { - panic("[UpdateClients] Implement me") + panic("[UpdateClients] Do not use me") } -func (c hyperspaceCommander) ConfigContent(ctx context.Context, cfg ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) ([]byte, error) { +func (hyperspaceCommander) ConfigContent(ctx context.Context, cfg ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) ([]byte, error) { fmt.Println("[hyperspace] ConfigContent", cfg, keyName, rpcAddr, grpcAddr) HyperspaceRelayerChainConfig := ChainConfigToHyperspaceRelayerChainConfig(cfg, keyName, rpcAddr, grpcAddr) bytes, err := toml.Marshal(HyperspaceRelayerChainConfig) @@ -417,7 +408,7 @@ func (hyperspaceCommander) ParseRestoreKeyOutput(stdout, stderr string) string { panic("[ParseRestoreKeyOutput] Do not call me") } -func (c hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc.ChannelOutput, error) { +func (hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc.ChannelOutput, error) { panic("[ParseGetChannelsOutput] Test me") /*fmt.Println("[hyperspace] ParseGetChannelsOutput", stdout, stderr) var channels []ibc.ChannelOutput @@ -438,7 +429,7 @@ func (c hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ib return channels, nil*/ } -func (c hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc.ConnectionOutputs, error) { +func (hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc.ConnectionOutputs, error) { panic("[ParseGetConnectionsOutput] Test me") /*fmt.Println("[hyperspace] ParseGetConnectionsOutput", stdout, stderr) @@ -463,11 +454,11 @@ func (c hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (i return connections, nil*/ } -func (c hyperspaceCommander) ParseGetClientsOutput(stdout, stderr string) (ibc.ClientOutputs, error) { +func (hyperspaceCommander) ParseGetClientsOutput(stdout, stderr string) (ibc.ClientOutputs, error) { panic("[ParseGetClientsOutput] Implement me") } -func (c hyperspaceCommander) Init(homeDir string) []string { +func (hyperspaceCommander) Init(homeDir string) []string { fmt.Println("[hyperspace] Init", homeDir) // Return hyperspace help to ensure hyperspace binary is accessible return []string{ @@ -476,7 +467,7 @@ func (c hyperspaceCommander) Init(homeDir string) []string { } } -func (c hyperspaceCommander) CreateWallet(keyName, address, mnemonic string) ibc.Wallet { +func (hyperspaceCommander) CreateWallet(keyName, address, mnemonic string) ibc.Wallet { kp, err := signature.KeyringPairFromSecret(mnemonic, polkadot.Ss58Format) if err != nil { return NewWallet("", "", "") From fe7a90ed70255833e3eef406f94ef33f104759f0 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Thu, 2 Feb 2023 17:41:13 -0700 Subject: [PATCH 17/50] Add CreateConnections, GetClients, and ParseGetClientsOuput. CreateConnection only commits MsgConnectionOpenInit. Removes wasm_client_type and counterparty_wasm_code_id from chain configs. Increases max rpc body size for a larger contract. Subs out FindTxs for polkadot chains to not impact cosmos chains block db functions. --- chain/polkadot/polkadot_chain.go | 8 +++- examples/hyperspace/hyperspace_test.go | 61 +++++++++++------------- examples/polkadot/ics10_grandpa_cw.wasm | Bin 651606 -> 782032 bytes ibc/relayer.go | 2 +- relayer/docker.go | 11 ++--- relayer/hyperspace/hyperspace.go | 54 ++++++++++++++++----- 6 files changed, 81 insertions(+), 55 deletions(-) diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index 71cf545b6..644e6afc4 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -20,6 +20,7 @@ import ( "github.com/icza/dyno" p2pcrypto "github.com/libp2p/go-libp2p-core/crypto" "github.com/strangelove-ventures/ibctest/v6/ibc" + "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" "go.uber.org/zap" "golang.org/x/sync/errgroup" @@ -354,7 +355,7 @@ func (c *PolkadotChain) modifyRelayChainGenesis(ctx context.Context, chainSpec i if err := dyno.Set(chainSpec, parachains, runtimeGenesisPath("paras", "paras")...); err != nil { return fmt.Errorf("error setting parachains: %w", err) } - if err := dyno.Set(chainSpec, 10, "genesis", "runtime", "session_length_in_blocks"); err != nil { + if err := dyno.Set(chainSpec, 40, "genesis", "runtime", "session_length_in_blocks"); err != nil { return fmt.Errorf("error setting session_length_in_blocks: %w", err) } return nil @@ -788,3 +789,8 @@ func (c *PolkadotChain) GetKeyringPair(keyName string) (signature.KeyringPair, e return kp, nil } + +// FindTxs implements blockdb.BlockSaver (Not implemented yet for polkadot, but we don't want to exit) +func (c *PolkadotChain) FindTxs(ctx context.Context, height uint64) ([]blockdb.Tx, error) { + return []blockdb.Tx{}, nil +} \ No newline at end of file diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 4fb762302..654e00803 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -58,12 +58,12 @@ func TestHyperspace(t *testing.T) { configTomlOverrides := make(testutil.Toml) apiOverrides := make(testutil.Toml) - apiOverrides["rpc-max-body-bytes"] = 1350000 + apiOverrides["rpc-max-body-bytes"] = 1_800_000 appTomlOverrides["api"] = apiOverrides rpcOverrides := make(testutil.Toml) - rpcOverrides["max_body_bytes"] = 1350000 - rpcOverrides["max_header_bytes"] = 1400000 + rpcOverrides["max_body_bytes"] = 1_800_000 + rpcOverrides["max_header_bytes"] = 1_900_000 configTomlOverrides["rpc"] = rpcOverrides //mempoolOverrides := make(testutil.Toml) @@ -221,7 +221,7 @@ func TestHyperspace(t *testing.T) { require.NotEmpty(t, getCodeQueryMsgRsp.Code) require.Equal(t, codeHash, codeHash2) - r.SetClientContractHash(ctx, eRep, cosmosChain.Config(), polkadotChain.Config(), codeHash) + r.SetClientContractHash(ctx, eRep, cosmosChain.Config(), codeHash) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) @@ -231,47 +231,35 @@ func TestHyperspace(t *testing.T) { err = r.CreateClients(ctx, eRep, pathName, ibc.CreateClientOptions{TrustingPeriod: "330h"}) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 3, cosmosChain, polkadotChain) require.NoError(t, err) - + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintCoreConfig(ctx, eRep) - err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) - require.NoError(t, err) + // Create a new connection - ////err = r.CreateConnections(ctx, eRep, pathName) - ////require.NoError(t, err) + err = r.CreateConnections(ctx, eRep, pathName) + require.NoError(t, err) - ////err = testutil.WaitForBlocks(ctx, 5, chain1, chain2) - ////require.NoError(t, err) + err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) + require.NoError(t, err) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) + // Query for the newly created connection - ////connections, err := r.GetConnections(ctx, eRep, chain1.Config().ChainID) - ////require.NoError(t, err) - ////require.Equal(t, 1, len(connections)) - //err = testutil.WaitForBlocks(ctx, 22, polkadotChain, cosmosChain) + //cosmosConnections, err := r.GetConnections(ctx, eRep, cosmosChain.Config().ChainID) //require.NoError(t, err) - // Add contract hash to hyperspace config and create clients, connection, and channel - // Then send ibc tx from cosmos -> substrate and vice versa - - - // Generate a new IBC path between the chains - // This is like running `rly paths new` - //err = r.GeneratePath(ctx, eRep, composable.Config().ChainID, simd.Config().ChainID, pathName) + //print cosmos connections + //polkadotConnections, err := r.GetConnections(ctx, eRep, polkadotChain.Config().ChainID) //require.NoError(t, err) + //print polkadot connections - // Attempt to create the light clients for both chains on the counterparty chain - //err = r.CreateClients(ctx, rep.RelayerExecReporter(t), pathName, ibc.DefaultClientOpts()) + // Create a new channel & get channels from each chain + //err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) //require.NoError(t, err) - - // Once client, connection, and handshake logic is implemented for the Substrate provider - // we can link the path, start the relayer and attempt to send a token transfer via IBC. - - //r.LinkPath() - // - //composable.SendIBCTransfer() - // + + // Start relayer //r.StartRelayer() //t.Cleanup(func() { // err = r.StopRelayer(ctx, eRep) @@ -279,6 +267,11 @@ func TestHyperspace(t *testing.T) { // panic(err) // } //}) + + // Then send ibc tx from cosmos -> substrate and vice versa + //polkadotChain.SendIBCTransfer(), verify + //cosmosChain.SendIBCTransfer(), verify + } type GetCodeQueryMsgResponse struct { diff --git a/examples/polkadot/ics10_grandpa_cw.wasm b/examples/polkadot/ics10_grandpa_cw.wasm index eb4bf8a37db5ea943ed6d51c5e04952d2758fa67..5f768239c31838b6d3069e06f58cc8dbafe4c995 100644 GIT binary patch literal 782032 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 z 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�}|0vdt;q|R+LOYjd?NENxneop`?NZK9~(c4h0=$ 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%0Ah~Fk!mH(wQ0Yv4)VO4{u_L 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%0A9`MY&uaj+YYdr+SFV=Vli(uk?rAJtWGJ}xh4 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
c?8QD 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 PcGVD_{d|m1U*Z1%2{7Sm literal 651606 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

MA2{ey9gax96JVZ0cQtiYzIzuCP$K= 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 T$a4`q}u?~n^!)3 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̸F+5x=( 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 Date: Fri, 3 Feb 2023 09:29:43 -0700 Subject: [PATCH 18/50] Temporarily force simd for chain A and rococo-local for chain B --- relayer/hyperspace/hyperspace.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index 7468668da..a4c33edd1 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -251,13 +251,18 @@ func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClie fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } + // Temporarily force simd for chain A and rococo for chain B + simd := 1 + if strings.Contains(c.chainConfigPaths[0], "simd") { + simd = 0 + } return []string{ "hyperspace", "create-clients", "--config-a", - c.chainConfigPaths[0], + c.chainConfigPaths[simd], "--config-b", - c.chainConfigPaths[1], + c.chainConfigPaths[(simd+1)%2], "--config-core", path.Join(homeDir, "core.config"), "--delay-period", @@ -276,13 +281,18 @@ func (hyperspaceCommander) CreateClient(pathName, homeDir, customClientTrustingP func (c *hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) + // Temporarily force simd for chain A and rococo for chain B + simd := 1 + if strings.Contains(c.chainConfigPaths[0], "simd") { + simd = 0 + } return []string{ "hyperspace", "create-connection", "--config-a", - c.chainConfigPaths[0], + c.chainConfigPaths[simd], "--config-b", - c.chainConfigPaths[1], + c.chainConfigPaths[(simd+1)%2], "--config-core", path.Join(homeDir, "core.config"), "--delay-period", From 93ace02448c8d603096945da2245b325524f1b5d Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 3 Feb 2023 12:09:39 -0700 Subject: [PATCH 19/50] Create connection working in hyperspace/interchaintest --- chain/cosmos/08-wasm-types/codec.go | 12 ++++++------ chain/cosmos/08-wasm-types/header.go | 15 +++++++++++++++ chain/cosmos/08-wasm-types/misbehavior.go | 17 +++++++++++++++++ chain/polkadot/parachain_node.go | 6 ++++++ chain/polkadot/relay_chain_node.go | 2 ++ 5 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 chain/cosmos/08-wasm-types/header.go create mode 100644 chain/cosmos/08-wasm-types/misbehavior.go diff --git a/chain/cosmos/08-wasm-types/codec.go b/chain/cosmos/08-wasm-types/codec.go index 4334946da..9fef645b3 100644 --- a/chain/cosmos/08-wasm-types/codec.go +++ b/chain/cosmos/08-wasm-types/codec.go @@ -21,12 +21,12 @@ func RegisterInterfaces(registry codectypes.InterfaceRegistry) { (*sdk.Msg)(nil), &MsgPushNewWasmCode{}, ) - /*cfg.InterfaceRegistry.RegisterImplementations( - *exported.ClientMessage)(nil), - &Misbehavior{}, + registry.RegisterImplementations( + (*exported.ClientMessage)(nil), + &Misbehaviour{}, ) - cfg.InterfaceRegistry.RegisterImplementations( - *exported.ClientMessage)(nil), + registry.RegisterImplementations( + (*exported.ClientMessage)(nil), &Header{}, - )*/ + ) } \ No newline at end of file diff --git a/chain/cosmos/08-wasm-types/header.go b/chain/cosmos/08-wasm-types/header.go new file mode 100644 index 000000000..e6b1a0914 --- /dev/null +++ b/chain/cosmos/08-wasm-types/header.go @@ -0,0 +1,15 @@ +package wasmclienttypes + +import ( + "github.com/cosmos/ibc-go/v6/modules/core/exported" +) + +var _ exported.ClientMessage = &Header{} + +func (m Header) ClientType() string { + return "" +} + +func (m Header) ValidateBasic() error { + return nil +} diff --git a/chain/cosmos/08-wasm-types/misbehavior.go b/chain/cosmos/08-wasm-types/misbehavior.go new file mode 100644 index 000000000..9274b43a6 --- /dev/null +++ b/chain/cosmos/08-wasm-types/misbehavior.go @@ -0,0 +1,17 @@ +package wasmclienttypes + +import ( + exported "github.com/cosmos/ibc-go/v6/modules/core/exported" +) + +var ( + _ exported.ClientMessage = &Misbehaviour{} +) + +func (m Misbehaviour) ClientType() string { + return "" +} + +func (m Misbehaviour) ValidateBasic() error { + return nil +} diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index e981562f8..ad2532b37 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -237,6 +237,12 @@ func (pn *ParachainNode) CreateNodeContainer(ctx context.Context) error { "--unsafe-rpc-external", "--prometheus-external", "--rpc-cors=all", + "--ws-external", + "--rpc-external", + "--rpc-methods=unsafe", + "--log=ibc_transfer=trace,pallet_ibc=trace,grandpa-verifier=trace,runtime=trace", + "--force-authoring", + "--enable-offchain-indexing=true", fmt.Sprintf("--prometheus-port=%s", strings.Split(prometheusPort, "/")[0]), fmt.Sprintf("--listen-addr=/ip4/0.0.0.0/tcp/%s", strings.Split(nodePort, "/")[0]), fmt.Sprintf("--public-addr=%s", multiAddress), diff --git a/chain/polkadot/relay_chain_node.go b/chain/polkadot/relay_chain_node.go index a9fe991d9..27d0d7283 100644 --- a/chain/polkadot/relay_chain_node.go +++ b/chain/polkadot/relay_chain_node.go @@ -217,6 +217,8 @@ func (p *RelayChainNode) CreateNodeContainer(ctx context.Context) error { "--unsafe-ws-external", "--unsafe-rpc-external", "--prometheus-external", + "--enable-offchain-indexing=true", + "--rpc-methods=unsafe", fmt.Sprintf("--prometheus-port=%s", strings.Split(prometheusPort, "/")[0]), fmt.Sprintf("--listen-addr=/ip4/0.0.0.0/tcp/%s", strings.Split(nodePort, "/")[0]), fmt.Sprintf("--public-addr=%s", multiAddress), From e992e30006e0e32dcbaee2c7bf70abd5649b63bf Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 3 Feb 2023 14:58:22 -0700 Subject: [PATCH 20/50] Add create channel and get connections. Create channels works. --- examples/hyperspace/hyperspace_test.go | 70 +++++++-- relayer/docker.go | 2 + relayer/hyperspace/hyperspace.go | 206 +++++++++++++++---------- 3 files changed, 179 insertions(+), 99 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 654e00803..fd4f145d6 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -17,6 +17,7 @@ import ( "github.com/strangelove-ventures/ibctest/v6/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" + //transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" ) // TestHyperspace setup @@ -231,7 +232,7 @@ func TestHyperspace(t *testing.T) { err = r.CreateClients(ctx, eRep, pathName, ibc.CreateClientOptions{TrustingPeriod: "330h"}) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 3, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) require.NoError(t, err) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) @@ -241,33 +242,70 @@ func TestHyperspace(t *testing.T) { err = r.CreateConnections(ctx, eRep, pathName) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) + require.NoError(t, err) + + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) + + // Create a new channel & get channels from each chain + err = r.CreateChannel(ctx, eRep, pathName, ibc.DefaultChannelOpts()) + require.NoError(t, err) + + err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) require.NoError(t, err) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - // Query for the newly created connection - //cosmosConnections, err := r.GetConnections(ctx, eRep, cosmosChain.Config().ChainID) + // Hyperspace panics on "hyperspace query channels --config xxx", this is needed. + //_, err = r.GetChannels(ctx, eRep, cosmosChain.Config().ChainID) //require.NoError(t, err) - //print cosmos connections - //polkadotConnections, err := r.GetConnections(ctx, eRep, polkadotChain.Config().ChainID) + //fmt.Println("Cosmos connection: ", cosmosConnections[0].ID) + //_, err = r.GetChannels(ctx, eRep, polkadotChain.Config().ChainID) //require.NoError(t, err) - //print polkadot connections - - // Create a new channel & get channels from each chain + //fmt.Println("Polkadot connection: ", polkadotConnections[0].ID) //err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) //require.NoError(t, err) // Start relayer - //r.StartRelayer() - //t.Cleanup(func() { - // err = r.StopRelayer(ctx, eRep) - // if err != nil { - // panic(err) - // } - //}) + /*r.StartRelayer(ctx, eRep, pathName) + require.NoError(t, err) + t.Cleanup(func() { + err = r.StopRelayer(ctx, eRep) + if err != nil { + panic(err) + } + }) + // Send Transaction + amountToSend := int64(177_000_000) + dstAddress := polkadotUser.FormattedAddress() + transfer := ibc.WalletAmount{ + Address: dstAddress, + Denom: cosmosChain.Config().Denom, + Amount: amountToSend, + } + tx, err := cosmosChain.SendIBCTransfer(ctx, "channel-0", cosmosUser.KeyName(), transfer, ibc.TransferOptions{}) + require.NoError(t, err) + require.NoError(t, tx.Validate()) // test source wallet has decreased funds + + err = testutil.WaitForBlocks(ctx, 20, cosmosChain, polkadotChain) + require.NoError(t, err) + + expectedBal := cosmosUserAmount - amountToSend + cosmosUserBalNew, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) + require.NoError(t, err) + require.Equal(t, expectedBal, cosmosUserBalNew)*/ + + // Trace IBC Denom + //srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", cosmosChain.Config().Denom)) + //dstIbcDenom := srcDenomTrace.IBCDenom() + + // Test destination wallet has increased funds + //polkadotUserBalNew, err := polkadotChain.GetBalance(ctx, polkadotUser.FormattedAddress(), dstIbcDenom) + //require.NoError(t, err) + //require.Equal(t, amountToSend, polkadotUserBalNew) // Then send ibc tx from cosmos -> substrate and vice versa //polkadotChain.SendIBCTransfer(), verify //cosmosChain.SendIBCTransfer(), verify diff --git a/relayer/docker.go b/relayer/docker.go index 8bb365b0b..7878a2fe3 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -198,7 +198,9 @@ func (r *DockerRelayer) GetWallet(chainID string) (ibc.Wallet, bool) { func (r *DockerRelayer) CreateChannel(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, opts ibc.CreateChannelOptions) error { cmd := r.c.CreateChannel(pathName, opts, r.HomeDir()) + fmt.Println("Create Channel cmd: ", cmd) res := r.Exec(ctx, rep, cmd, nil) + fmt.Println("CreateChannelOutput: ", string(res.Stdout)) return res.Err } diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index a4c33edd1..8d45f5338 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -19,6 +19,8 @@ import ( "github.com/strangelove-ventures/ibctest/v6/ibc" "github.com/strangelove-ventures/ibctest/v6/relayer" "go.uber.org/zap" + ibcexported "github.com/cosmos/ibc-go/v6/modules/core/03-connection/types" + types23 "github.com/cosmos/ibc-go/v6/modules/core/23-commitment/types" ) // HyperspaceRelayer is the ibc.Relayer implementation for github.com/ComposableFi/hyperspace. @@ -164,8 +166,6 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN ParaID: 2000, ParachainRPCURL: strings.Replace(strings.Replace(paraRpcAddr, "http", "ws", 1), "9933", "27451", 1), RelayChainRPCURL: strings.Replace(strings.Replace(relayRpcAddr, "http", "ws", 1),"9933", "27451", 1), - //ClientID: "10-grandpa-0", - //ConnectionID: "connection-0", CommitmentPrefix: "0x6962632f", PrivateKey: "//Alice", SS58Version: polkadot.Ss58Format, @@ -183,15 +183,7 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN RPCUrl: rpcAddr, StorePrefix: "ibc", MaxTxSize: 200000, - //WasmClientType: "10-grandpa", WebsocketUrl: wsUrl, - //Debug: true, - //GasAdjustment: chainConfig.GasAdjustment, - //GasPrices: chainConfig.GasPrices, - //KeyringBackend: "test", - //OutputFormat: "toml", - //SignMode: "direct", - //Timeout: "10s", } } else { panic(fmt.Sprintf("unsupported chain type %s", chainType)) @@ -230,19 +222,34 @@ func (hyperspaceCommander) AddKey(chainID, keyName, coinType, homeDir string) [] } func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { - panic("[CreateChannel] Implement me") - /*fmt.Println("[hyperspace] CreateChannel", pathName, opts, homeDir) + fmt.Println("[hyperspace] CreateChannel", pathName, homeDir) + if(len(c.chainConfigPaths) < 2) { + fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) + panic("Hyperspace needs two chain configs") + } + // Temporarily force simd for chain A and rococo for chain B + simd := 1 + if strings.Contains(c.chainConfigPaths[0], "simd") { + simd = 0 + } return []string{ "hyperspace", - "-h", - // "rly", "tx", "channel", pathName, - // "--src-port", opts.SourcePortName, - // "--dst-port", opts.DestPortName, - // "--order", opts.Order.String(), - // "--version", opts.Version, - - // "--home", homeDir, - }*/ + "create-channel", + "--config-a", + c.chainConfigPaths[simd], + "--config-b", + c.chainConfigPaths[(simd+1)%2], + "--config-core", + path.Join(homeDir, "core.config"), + "--delay-period", + "10", + "--port-id", + opts.SourcePortName, + "--order", + "unordered", + "--version", + opts.Version, + } } func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { @@ -281,6 +288,10 @@ func (hyperspaceCommander) CreateClient(pathName, homeDir, customClientTrustingP func (c *hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) + if(len(c.chainConfigPaths) < 2) { + fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) + panic("Hyperspace needs two chain configs") + } // Temporarily force simd for chain A and rococo for chain B simd := 1 if strings.Contains(c.chainConfigPaths[0], "simd") { @@ -326,30 +337,31 @@ func (hyperspaceCommander) UpdatePath(pathName, homeDir string, filter ibc.Chann } func (hyperspaceCommander) GetChannels(chainID, homeDir string) []string { - panic("[GetChannels] Test me") - /*fmt.Println("[hyperspace] GetChannels", chainID, homeDir) + panic("Panic because hyperspace will panic") + /*fmt.Println("[hyperspace] Get Channels") + configFilePath := path.Join(homeDir, chainID + ".config") return []string{ "hyperspace", "query", "channels", - chainID, - "--config", "rococo-local.config", - //"rly", "q", "channels", chainID, - //"--home", homeDir, + "--config", + configFilePath, }*/ } +// Prints chain config which is populated by hyperspace +// Ideally, there should be a command from hyperspace to get this output func (hyperspaceCommander) GetConnections(chainID, homeDir string) []string { - panic("[GetConnections] Implement me") - /*fmt.Println("[hyperspace] GetConnections", chainID, homeDir) + fmt.Println("[hyperspace] Get Connections") + configFilePath := path.Join(homeDir, chainID + ".config") return []string{ - "hyperspace", - "-h", - //"rly", "q", "connections", chainID, - //"--home", homeDir, - }*/ + "cat", + configFilePath, + } } +// Prints chain config which is populated by hyperspace +// Ideally, there should be a command from hyperspace to get this output func (hyperspaceCommander) GetClients(chainID, homeDir string) []string { fmt.Println("[hyperspace] Get Clients") configFilePath := path.Join(homeDir, chainID + ".config") @@ -378,21 +390,34 @@ func (hyperspaceCommander) RestoreKey(chainID, bech32Prefix, coinType, mnemonic, } func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { - panic("[StartRelayer] Implement me") - /*fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) - if len(c.chainConfig) < 2 { - panic("[StartRelayer] Needs two chains to start") + fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) + if(len(c.chainConfigPaths) < 2) { + fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) + panic("Hyperspace needs two chain configs") } - cmd := []string{ + // Temporarily force simd for chain A and rococo for chain B + simd := 1 + if strings.Contains(c.chainConfigPaths[0], "simd") { + simd = 0 + } + return []string{ "hyperspace", - "relay", - "--config-a", c.chainConfigs[0], - "--config-b", c.chainConfigs[1]", - "--config-core", homeDir + "/core.config", + "create-channel", + "--config-a", + c.chainConfigPaths[simd], + "--config-b", + c.chainConfigPaths[(simd+1)%2], + "--config-core", + path.Join(homeDir, "core.config"), + "--delay-period", + "10", + "--port-id", + "transfer", + "--order", + "unordered", + "--version", + "ics20-1", } - cmd = append(cmd, c.extraStartFlags...) - // cmd = append(cmd, pathNames...) - return cmd*/ } // Hyperspace doesn't not have this functionality @@ -431,51 +456,66 @@ func (hyperspaceCommander) ParseRestoreKeyOutput(stdout, stderr string) string { } func (hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc.ChannelOutput, error) { - panic("[ParseGetChannelsOutput] Test me") - /*fmt.Println("[hyperspace] ParseGetChannelsOutput", stdout, stderr) - var channels []ibc.ChannelOutput - channelSplit := strings.Split(stdout, "\n") - for _, channel := range channelSplit { - if strings.TrimSpace(channel) == "" { - continue - } - var channelOutput ibc.ChannelOutput - err := json.Unmarshal([]byte(channel), &channelOutput) - if err != nil { - c.log.Error("Failed to parse channels json", zap.Error(err)) - continue - } - channels = append(channels, channelOutput) - } - - return channels, nil*/ + panic("Re-add once hyperspace can query channels successfully") +/* fmt.Println("Channels output: ", stdout) + + return []ibc.ChannelOutput{ + { + State: "", + Ordering: "", + Counterparty: ibc.ChannelCounterparty{ + PortID: "", + ChannelID: "", + }, + ConnectionHops: []string{}, + Version: "", + PortID: "", + ChannelID: "", + }, + }, nil*/ } +// Parses output of chain config which is populated by hyperspace +// Ideally, there should be a command from hyperspace to get this output func (hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc.ConnectionOutputs, error) { - panic("[ParseGetConnectionsOutput] Test me") - /*fmt.Println("[hyperspace] ParseGetConnectionsOutput", stdout, stderr) - - var connections ibc.ConnectionOutputs - for _, connection := range strings.Split(stdout, "\n") { - if strings.TrimSpace(connection) == "" { - continue + clientId := "" + connectionId := "" + lines := strings.Split(stdout, "\n") + for _, line := range lines { + if strings.Contains(line, "client_id") { + fields := strings.Split(line, "\"") + clientId = fields[1] } - - var connectionOutput ibc.ConnectionOutput - if err := json.Unmarshal([]byte(connection), &connectionOutput); err != nil { - c.log.Error( - "Error parsing connection json", - zap.Error(err), - ) - - continue + if strings.Contains(line, "connection_id") { + fields := strings.Split(line, "\"") + connectionId = fields[1] } - connections = append(connections, &connectionOutput) } - - return connections, nil*/ + return ibc.ConnectionOutputs{ + &ibc.ConnectionOutput{ + ID: connectionId, + ClientID: clientId, + Versions: []*ibcexported.Version{ + { + Identifier: "", + Features: []string{}, + }, + }, + State: "", + Counterparty: &ibcexported.Counterparty{ + ClientId: "", + ConnectionId: "", + Prefix: types23.MerklePrefix{ + KeyPrefix: []byte{}, + }, + }, + DelayPeriod: "10", + }, + }, nil } +// Parses output of chain config which is populated by hyperspace +// Ideally, there should be a command from hyperspace to get this output func (hyperspaceCommander) ParseGetClientsOutput(stdout, stderr string) (ibc.ClientOutputs, error) { clientId := "" chainId := "" From 0b9af62d28613c4a4a8c20fd3ebe8fcb15572af1 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 3 Feb 2023 18:12:49 -0700 Subject: [PATCH 21/50] Reduce session length to 20 blocks again. Debugging starting the relayer. And using ibc-go-simd from heighliner. --- chain/polkadot/polkadot_chain.go | 2 +- examples/hyperspace/hyperspace_test.go | 38 ++++++++++++++++++++------ relayer/docker.go | 3 -- relayer/hyperspace/hyperspace.go | 12 +++++--- 4 files changed, 38 insertions(+), 17 deletions(-) diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index 644e6afc4..7989456ea 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -355,7 +355,7 @@ func (c *PolkadotChain) modifyRelayChainGenesis(ctx context.Context, chainSpec i if err := dyno.Set(chainSpec, parachains, runtimeGenesisPath("paras", "paras")...); err != nil { return fmt.Errorf("error setting parachains: %w", err) } - if err := dyno.Set(chainSpec, 40, "genesis", "runtime", "session_length_in_blocks"); err != nil { + if err := dyno.Set(chainSpec, 20, "genesis", "runtime", "session_length_in_blocks"); err != nil { return fmt.Errorf("error setting session_length_in_blocks: %w", err) } return nil diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index fd4f145d6..213ffd215 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -21,10 +21,28 @@ import ( ) // TestHyperspace setup -// * Uses simd docker image from heighliner built from feat/wasm-client branch (rebuild & publish if changed) -// * Uses "seunlanlege/centauri-polkadot" v0.9.27 and "seunlanlege/centauri-parachain" v0.9.27 +// Must build local docker images of hyperspace, parachain, and polkadot +// ###### hyperspace ###### +// * Repo: ComposableFi/centauri +// * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw +// * Commit: 043470ce1932c418d15df635480da8efb61d66d7 // * Build local Hyperspace docker from centauri repo: -// "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." +// amd64: "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." +// arm64: "docker build -f scripts/hyperspace.aarch64.Dockerfile -t hyperspace:latest --platform=linux/arm64/v8 . +// ###### parachain ###### +// * Repo: ComposableFi/centauri +// * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw +// * Commit: 043470ce1932c418d15df635480da8efb61d66d7 +// * Build local parachain docker from centauri repo: +// ./scripts/build-parachain-node-docker.sh (you can change the script to compile for ARM arch if needed) +// ###### polkadot ###### +// * Repo: paritytech/polkadot +// * Branch: release-v0.9.33 +// * Commit: c7d6c21242fc654f6f069e12c00951484dff334d +// * Build local polkadot docker from polkadot repo +// amd64: docker build -f scripts/ci/dockerfiles/polkadot/polkadot_builder.Dockerfile . -t polkadot-node:local +// arm64: docker build --platform linux/arm64 -f scripts/ci/dockerfiles/polkadot/polkadot_builder.aarch64.Dockerfile . -t polkadot-node:local + // TestHyperspace features // * sets up a Polkadot parachain @@ -32,7 +50,7 @@ import ( // * sets up the Hyperspace relayer // * Funds a user wallet on both chains // * Pushes a wasm client contract to the Cosmos chain -// * TODO: create client, connection, and channel in relayer +// * create client, connection, and channel in relayer // * TODO: start relayer // * TODO: send transfer over ibc func TestHyperspace(t *testing.T) { @@ -111,9 +129,8 @@ func TestHyperspace(t *testing.T) { ChainID: "simd", Images: []ibc.DockerImage{ { - Repository: "ibc-go-simd", - Version: "local", - //Version: "feat-wasm-clients", + Repository: "ghcr.io/strangelove-ventures/heighliner/ibc-go-simd", + Version: "feat-wasm-client-230118", UidGid: "1025:1025", }, }, @@ -269,7 +286,7 @@ func TestHyperspace(t *testing.T) { //require.NoError(t, err) // Start relayer - /*r.StartRelayer(ctx, eRep, pathName) + r.StartRelayer(ctx, eRep, pathName) require.NoError(t, err) t.Cleanup(func() { err = r.StopRelayer(ctx, eRep) @@ -277,6 +294,8 @@ func TestHyperspace(t *testing.T) { panic(err) } }) + err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) + require.NoError(t, err) // Send Transaction amountToSend := int64(177_000_000) @@ -296,7 +315,8 @@ func TestHyperspace(t *testing.T) { expectedBal := cosmosUserAmount - amountToSend cosmosUserBalNew, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) require.NoError(t, err) - require.Equal(t, expectedBal, cosmosUserBalNew)*/ + require.Equal(t, expectedBal, cosmosUserBalNew) + fmt.Println("Initial: ", cosmosUserAmount, " Final:", cosmosUserBalNew) // Trace IBC Denom //srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", cosmosChain.Config().Denom)) diff --git a/relayer/docker.go b/relayer/docker.go index 7878a2fe3..22c16b750 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -200,7 +200,6 @@ func (r *DockerRelayer) CreateChannel(ctx context.Context, rep ibc.RelayerExecRe cmd := r.c.CreateChannel(pathName, opts, r.HomeDir()) fmt.Println("Create Channel cmd: ", cmd) res := r.Exec(ctx, rep, cmd, nil) - fmt.Println("CreateChannelOutput: ", string(res.Stdout)) return res.Err } @@ -208,7 +207,6 @@ func (r *DockerRelayer) CreateClients(ctx context.Context, rep ibc.RelayerExecRe cmd := r.c.CreateClients(pathName, opts, r.HomeDir()) fmt.Println("Create Client cmd: ", cmd) res := r.Exec(ctx, rep, cmd, nil) - fmt.Println("CreateClientsOutput: ", string(res.Stdout)) return res.Err } @@ -216,7 +214,6 @@ func (r *DockerRelayer) CreateConnections(ctx context.Context, rep ibc.RelayerEx cmd := r.c.CreateConnections(pathName, r.HomeDir()) fmt.Println("Create connection cmd: ", cmd) res := r.Exec(ctx, rep, cmd, nil) - fmt.Println("CreateConnectionOutput: ", string(res.Stdout)) return res.Err } diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index 8d45f5338..cbc8b56d9 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -203,7 +203,7 @@ func (hyperspaceCommander) Name() string { } func (hyperspaceCommander) DockerUser() string { - return "501:20" // docker run -it --rm --entrypoint echo ghcr.io/cosmos/relayer "$(id -u):$(id -g)" + return "1000:1000" // docker run -it --rm --entrypoint echo ghcr.io/cosmos/relayer "$(id -u):$(id -g)" } func (c *hyperspaceCommander) AddChainConfiguration(containerFilePath, homeDir string) []string { @@ -395,14 +395,18 @@ func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } + return []string{ + "sleep", + "500", + } // Temporarily force simd for chain A and rococo for chain B - simd := 1 + /*simd := 1 if strings.Contains(c.chainConfigPaths[0], "simd") { simd = 0 } return []string{ "hyperspace", - "create-channel", + "relay", "--config-a", c.chainConfigPaths[simd], "--config-b", @@ -417,7 +421,7 @@ func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) "unordered", "--version", "ics20-1", - } + }*/ } // Hyperspace doesn't not have this functionality From c82764f0ec26f47c1eab33a4462f07d859eebe84 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Sat, 4 Feb 2023 12:46:36 -0700 Subject: [PATCH 22/50] Start hyperspace relayer --- examples/hyperspace/hyperspace_test.go | 8 +++++--- relayer/hyperspace/hyperspace.go | 8 ++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 213ffd215..8373763e0 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -95,6 +95,7 @@ func TestHyperspace(t *testing.T) { // Get both chains cf := ibctest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*ibctest.ChainSpec{ { + ChainName: "composable", // Set ChainName so that a suffix with a "dash" is not appended (required for hyperspace) ChainConfig: ibc.ChainConfig{ Type: "polkadot", Name: "composable", @@ -123,9 +124,10 @@ func TestHyperspace(t *testing.T) { NumFullNodes: &nf, }, { + ChainName: "simd", // Set chain name so that a suffix with a "dash" is not appended (required for hyperspace) ChainConfig: ibc.ChainConfig{ Type: "cosmos", - Name: "ibc-go-simd", + Name: "simd", ChainID: "simd", Images: []ibc.DockerImage{ { @@ -294,7 +296,7 @@ func TestHyperspace(t *testing.T) { panic(err) } }) - err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 20, cosmosChain, polkadotChain) require.NoError(t, err) // Send Transaction @@ -309,7 +311,7 @@ func TestHyperspace(t *testing.T) { require.NoError(t, err) require.NoError(t, tx.Validate()) // test source wallet has decreased funds - err = testutil.WaitForBlocks(ctx, 20, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 50, cosmosChain, polkadotChain) require.NoError(t, err) expectedBal := cosmosUserAmount - amountToSend diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index cbc8b56d9..04db9d454 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -395,12 +395,8 @@ func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } - return []string{ - "sleep", - "500", - } // Temporarily force simd for chain A and rococo for chain B - /*simd := 1 + simd := 1 if strings.Contains(c.chainConfigPaths[0], "simd") { simd = 0 } @@ -421,7 +417,7 @@ func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) "unordered", "--version", "ics20-1", - }*/ + } } // Hyperspace doesn't not have this functionality From e1ddd4a94a711ea8190bcb53e910b51303636cbd Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 10 Feb 2023 11:21:53 -0700 Subject: [PATCH 23/50] IBC transfers working in both directions --- chain/cosmos/chain_node.go | 2 +- chain/polkadot/keys_test.go | 2 +- chain/polkadot/parachain_node.go | 87 ++++++++++++++++-- chain/polkadot/polkadot_chain.go | 33 ++++++- chain/polkadot/query.go | 4 +- chain/polkadot/relay_chain_node.go | 2 +- chain/polkadot/tx.go | 118 +++++++++++++++++++++++-- examples/hyperspace/hyperspace_test.go | 105 +++++++++++++++++----- go.mod | 6 +- go.sum | 14 +-- interchain.go | 2 +- relayer/docker.go | 4 +- relayer/hyperspace/hyperspace.go | 14 +-- 13 files changed, 333 insertions(+), 60 deletions(-) diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index 50d2b13cf..e020867da 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -68,7 +68,7 @@ type ChainNodes []*ChainNode const ( valKey = "validator" - blockTime = 2 // seconds + blockTime = 6 // seconds p2pPort = "26656/tcp" rpcPort = "26657/tcp" grpcPort = "9090/tcp" diff --git a/chain/polkadot/keys_test.go b/chain/polkadot/keys_test.go index d81408de8..591ef4ce8 100644 --- a/chain/polkadot/keys_test.go +++ b/chain/polkadot/keys_test.go @@ -5,7 +5,7 @@ import ( "encoding/hex" "testing" - "github.com/centrifuge/go-substrate-rpc-client/v4/signature" + "github.com/misko9/go-substrate-rpc-client/v4/signature" p2pCrypto "github.com/libp2p/go-libp2p-core/crypto" "github.com/libp2p/go-libp2p-core/peer" "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index ad2532b37..b9bae6e1b 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -8,9 +8,10 @@ import ( "path/filepath" "strings" "time" + "strconv" "github.com/avast/retry-go/v4" - gsrpc "github.com/centrifuge/go-substrate-rpc-client/v4" + gsrpc "github.com/misko9/go-substrate-rpc-client/v4" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" @@ -20,6 +21,7 @@ import ( "github.com/strangelove-ventures/ibctest/v6/ibc" "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" "go.uber.org/zap" + sdktypes "github.com/cosmos/cosmos-sdk/types" ) // ParachainNode defines the properties required for running a polkadot parachain node. @@ -347,14 +349,13 @@ func (pn *ParachainNode) GetBalance(ctx context.Context, address string, denom s } // GetIbcBalance returns the Coins type of ibc coins in account -// [Add back when we move from centrifuge -> ComposableFi's go-substrate-rpc-client (for ibc methods)] -/*func (pn *ParachainNode) GetIbcBalance(ctx context.Context, address []byte) (sdktypes.Coins, error) { +func (pn *ParachainNode) GetIbcBalance(ctx context.Context, address []byte) (sdktypes.Coins, error) { res, err := pn.api.RPC.IBC.QueryBalanceWithAddress(ctx, address) if err != nil { return nil, err } return res, nil -}*/ +} // SendFunds sends funds to a wallet from a user account. // Implements Chain interface. @@ -363,7 +364,12 @@ func (pn *ParachainNode) SendFunds(ctx context.Context, keyName string, amount i if err != nil { return err } - + pn.log.Info( + "ParachainNode SendFunds", + zap.String("From", kp.Address), + zap.String("To", amount.Address), + zap.String("Amount", strconv.FormatInt(amount.Amount, 10)), + ) hash, err := SendFundsTx(pn.api, kp, amount) if err != nil { return err @@ -372,3 +378,74 @@ func (pn *ParachainNode) SendFunds(ctx context.Context, keyName string, amount i pn.log.Info("Transfer sent", zap.String("hash", fmt.Sprintf("%#x", hash)), zap.String("container", pn.Name())) return nil } + +// Turns on sending and receiving ibc transfers +func (pn *ParachainNode) EnableIbc() error { + kp, err := pn.Chain.(*PolkadotChain).GetKeyringPair("alice") + if err != nil { + return err + } + + hash, err := EnableIbc(pn.api, kp) + if err != nil { + return err + } + + pn.log.Info("Enable Ibc sent", zap.String("hash", fmt.Sprintf("%#x", hash)), zap.String("container", pn.Name())) + return nil +} + +// SendIbcFunds sends funds to a wallet from a user account. +func (pn *ParachainNode) SendIbcFunds( + ctx context.Context, + channelID string, + keyName string, + amount ibc.WalletAmount, + options ibc.TransferOptions, + ) error { + kp, err := pn.Chain.(*PolkadotChain).GetKeyringPair(keyName) + if err != nil { + return err + } + + pn.log.Info( + "ParachainNode SendIbcFunds", + zap.String("From", kp.Address), + zap.String("To", amount.Address), + zap.String("Amount", strconv.FormatInt(amount.Amount, 10)), + ) + hash, err := SendIbcFundsTx(pn.api, kp, channelID, amount, options) + if err != nil { + pn.log.Info("IBC Transfer not sent", zap.String("hash", fmt.Sprintf("%#x", hash)), zap.String("container", pn.Name())) + return err + } + + pn.log.Info("IBC Transfer sent", zap.String("hash", fmt.Sprintf("%#x", hash)), zap.String("container", pn.Name())) + return nil +} + +// MintFunds mints an asset for a user on parachain, keyName must be the owner of the asset +func (pn *ParachainNode) MintFunds( + keyName string, + amount ibc.WalletAmount, + ) error { + kp, err := pn.Chain.(*PolkadotChain).GetKeyringPair(keyName) + if err != nil { + return err + } + + pn.log.Info( + "ParachainNode MintFunds", + zap.String("From", kp.Address), + zap.String("To", amount.Address), + zap.String("Amount", strconv.FormatInt(amount.Amount, 10)), + ) + hash, err := MintFundsTx(pn.api, kp, amount) + if err != nil { + pn.log.Info("MintFunds not sent", zap.String("hash", fmt.Sprintf("%#x", hash)), zap.String("container", pn.Name())) + return err + } + + pn.log.Info("MintFunds sent", zap.String("hash", fmt.Sprintf("%#x", hash)), zap.String("container", pn.Name())) + return nil +} diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index 7989456ea..0f62e8e8d 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -11,8 +11,8 @@ import ( "github.com/99designs/keyring" "github.com/StirlingMarketingGroup/go-namecase" - "github.com/centrifuge/go-substrate-rpc-client/v4/signature" - gstypes "github.com/centrifuge/go-substrate-rpc-client/v4/types" + "github.com/misko9/go-substrate-rpc-client/v4/signature" + gstypes "github.com/misko9/go-substrate-rpc-client/v4/types" "github.com/cosmos/go-bip39" "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" @@ -24,6 +24,7 @@ import ( "github.com/strangelove-ventures/ibctest/v6/internal/dockerutil" "go.uber.org/zap" "golang.org/x/sync/errgroup" + sdktypes "github.com/cosmos/cosmos-sdk/types" ) // PolkadotChain implements the ibc.Chain interface for substrate chains. @@ -728,7 +729,7 @@ func (c *PolkadotChain) SendIBCTransfer( amount ibc.WalletAmount, options ibc.TransferOptions, ) (ibc.Tx, error) { - panic("[SendIBCTransfer] not implemented yet") + return ibc.Tx{}, c.ParachainNodes[0][0].SendIbcFunds(ctx, channelID, keyName, amount, options) } // GetBalance fetches the current balance for a specific account address and denom. @@ -737,6 +738,17 @@ func (c *PolkadotChain) GetBalance(ctx context.Context, address string, denom st // If denom == polkadot denom, it is a relay chain query, else parachain query if denom == c.cfg.Denom { return c.RelayChainNodes[0].GetBalance(ctx, address, denom) + } else if strings.HasPrefix(denom, "ibc/") { + coins, err := c.ParachainNodes[0][0].GetIbcBalance(ctx, []byte(address)) + if err != nil { + return 0, err + } + for _, coin := range coins { + if coin.Denom == denom { + return coin.Amount.Int64(), nil + } + } + return 0, nil } return c.ParachainNodes[0][0].GetBalance(ctx, address, denom) @@ -793,4 +805,19 @@ func (c *PolkadotChain) GetKeyringPair(keyName string) (signature.KeyringPair, e // FindTxs implements blockdb.BlockSaver (Not implemented yet for polkadot, but we don't want to exit) func (c *PolkadotChain) FindTxs(ctx context.Context, height uint64) ([]blockdb.Tx, error) { return []blockdb.Tx{}, nil +} + +// GetIbcBalance returns the Coins type of ibc coins in account +func (c *PolkadotChain) GetIbcBalance(ctx context.Context, address []byte) (sdktypes.Coins, error) { + return c.ParachainNodes[0][0].GetIbcBalance(ctx, address) +} + +// Turns on sending and receiving ibc transfers +func (c *PolkadotChain) EnableIbcTransfers() error { + return c.ParachainNodes[0][0].EnableIbc() +} + +// MintFunds mints an asset for a user on parachain, keyName must be the owner of the asset +func (c *PolkadotChain) MintFunds(keyName string, amount ibc.WalletAmount) error { + return c.ParachainNodes[0][0].MintFunds(keyName, amount) } \ No newline at end of file diff --git a/chain/polkadot/query.go b/chain/polkadot/query.go index 56eea38ce..ee8861528 100644 --- a/chain/polkadot/query.go +++ b/chain/polkadot/query.go @@ -1,8 +1,8 @@ package polkadot import ( - gsrpc "github.com/centrifuge/go-substrate-rpc-client/v4" - gstypes "github.com/centrifuge/go-substrate-rpc-client/v4/types" + gsrpc "github.com/misko9/go-substrate-rpc-client/v4" + gstypes "github.com/misko9/go-substrate-rpc-client/v4/types" ) // GetBalance fetches the current balance for a specific account address using the SubstrateAPI diff --git a/chain/polkadot/relay_chain_node.go b/chain/polkadot/relay_chain_node.go index 27d0d7283..195b63333 100644 --- a/chain/polkadot/relay_chain_node.go +++ b/chain/polkadot/relay_chain_node.go @@ -9,7 +9,7 @@ import ( "time" "github.com/avast/retry-go/v4" - gsrpc "github.com/centrifuge/go-substrate-rpc-client/v4" + gsrpc "github.com/misko9/go-substrate-rpc-client/v4" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" diff --git a/chain/polkadot/tx.go b/chain/polkadot/tx.go index 60865d262..e15409884 100644 --- a/chain/polkadot/tx.go +++ b/chain/polkadot/tx.go @@ -2,10 +2,12 @@ package polkadot import ( "encoding/hex" + "math/big" + "strconv" - gsrpc "github.com/centrifuge/go-substrate-rpc-client/v4" - "github.com/centrifuge/go-substrate-rpc-client/v4/signature" - gstypes "github.com/centrifuge/go-substrate-rpc-client/v4/types" + gsrpc "github.com/misko9/go-substrate-rpc-client/v4" + "github.com/misko9/go-substrate-rpc-client/v4/signature" + gstypes "github.com/misko9/go-substrate-rpc-client/v4/types" "github.com/strangelove-ventures/ibctest/v6/ibc" ) @@ -32,7 +34,113 @@ func SendFundsTx(api *gsrpc.SubstrateAPI, senderKeypair signature.KeyringPair, a return hash, err } - // Create the extrinsic + return CreateSignSubmitExt(api, meta, senderKeypair, call) +} + +// Turns on sending and receiving ibc transfers +func EnableIbc(api *gsrpc.SubstrateAPI, senderKeypair signature.KeyringPair) (gstypes.Hash, error) { + hash := gstypes.Hash{} + meta, err := api.RPC.State.GetMetadataLatest() + if err != nil { + return hash, err + } + + c, err := gstypes.NewCall(meta, "Ibc.set_params", gstypes.NewBool(true), gstypes.NewBool(true)) + if err != nil { + return hash, err + } + + sc, err := gstypes.NewCall(meta, "Sudo.sudo", c) + if err != nil { + return hash, err + } + + return CreateSignSubmitExt(api, meta, senderKeypair, sc) +} + +// SendIbcFundsTx sends funds to a wallet using the SubstrateAPI +func SendIbcFundsTx( + api *gsrpc.SubstrateAPI, + senderKeypair signature.KeyringPair, + channelID string, + amount ibc.WalletAmount, + options ibc.TransferOptions, +) (gstypes.Hash, error) { + hash := gstypes.Hash{} + meta, err := api.RPC.State.GetMetadataLatest() + if err != nil { + return hash, err + } + + assetNum, err := strconv.ParseInt(amount.Denom, 10, 64) + if err != nil { + return hash, err + } + + raw := gstypes.NewU8(1) + size := gstypes.NewU8(uint8(len(amount.Address) *4)) + to := gstypes.NewStorageDataRaw([]byte(amount.Address)) + channel := gstypes.NewU64(0) // Parse channel number from string + timeout := gstypes.NewU8(1) + timestamp := gstypes.NewOptionU64(gstypes.NewU64(0)) + height := gstypes.NewOptionU64(gstypes.NewU64(3000)) // Must set timestamp or height + assetId := gstypes.NewU128(*big.NewInt(assetNum)) + amount2 := gstypes.NewU128(*big.NewInt(amount.Amount)) + + call, err := gstypes.NewCall(meta, "Ibc.transfer", raw, size, to, channel, timeout, timestamp, height, assetId, amount2) + if err != nil { + return hash, err + } + + return CreateSignSubmitExt(api, meta, senderKeypair, call) +} + +// MintFunds mints an asset for a user on parachain, keyName must be the owner of the asset +func MintFundsTx( + api *gsrpc.SubstrateAPI, + senderKeypair signature.KeyringPair, + amount ibc.WalletAmount, +) (gstypes.Hash, error) { + hash := gstypes.Hash{} + meta, err := api.RPC.State.GetMetadataLatest() + if err != nil { + return hash, err + } + + assetNum, err := strconv.ParseUint(amount.Denom, 10, 64) + if err != nil { + return hash, err + } + + receiverPubKey, err := DecodeAddressSS58(amount.Address) + if err != nil { + return hash, err + } + + receiver, err := gstypes.NewMultiAddressFromHexAccountID(hex.EncodeToString(receiverPubKey)) + if err != nil { + return hash, err + } + + assetId := gstypes.NewUCompactFromUInt(assetNum) + amount2 := gstypes.NewUCompactFromUInt(uint64(amount.Amount)) + + call, err := gstypes.NewCall(meta, "Assets.mint", assetId, receiver, amount2) + if err != nil { + return hash, err + } + + return CreateSignSubmitExt(api, meta, senderKeypair, call) +} + +// Common tx function to create an extrinsic and sign/submit it +func CreateSignSubmitExt( + api *gsrpc.SubstrateAPI, + meta *gstypes.Metadata, + senderKeypair signature.KeyringPair, + call gstypes.Call, +) (gstypes.Hash, error) { + hash := gstypes.Hash{} ext := gstypes.NewExtrinsic(call) genesisHash, err := api.RPC.Chain.GetBlockHash(0) if err != nil { @@ -81,4 +189,4 @@ func SendFundsTx(api *gsrpc.SubstrateAPI, senderKeypair signature.KeyringPair, a hash, err = api.RPC.Author.SubmitExtrinsic(ext) return hash, err -} +} \ No newline at end of file diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 8373763e0..9855e3dc7 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -17,7 +17,7 @@ import ( "github.com/strangelove-ventures/ibctest/v6/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" - //transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" + transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" ) // TestHyperspace setup @@ -51,8 +51,8 @@ import ( // * Funds a user wallet on both chains // * Pushes a wasm client contract to the Cosmos chain // * create client, connection, and channel in relayer -// * TODO: start relayer -// * TODO: send transfer over ibc +// * start relayer +// * send transfer over ibc func TestHyperspace(t *testing.T) { if testing.Short() { t.Skip() @@ -225,6 +225,7 @@ func TestHyperspace(t *testing.T) { fmt.Println("Cosmos user amount: ", cosmosUserAmount) require.Equal(t, fundAmount, cosmosUserAmount, "Initial cosmos user amount not expected") + // Store grandpa contract codeHash, err := cosmosChain.StoreClientContract(ctx, cosmosUser.KeyName(), "../polkadot/ics10_grandpa_cw.wasm") t.Logf("Contract codeHash: %s", codeHash) require.NoError(t, err) @@ -241,7 +242,9 @@ func TestHyperspace(t *testing.T) { require.NotEmpty(t, getCodeQueryMsgRsp.Code) require.Equal(t, codeHash, codeHash2) - r.SetClientContractHash(ctx, eRep, cosmosChain.Config(), codeHash) + // Set client contract hash in cosmos chain config + err = r.SetClientContractHash(ctx, eRep, cosmosChain.Config(), codeHash) + require.NoError(t, err) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) @@ -251,7 +254,7 @@ func TestHyperspace(t *testing.T) { err = r.CreateClients(ctx, eRep, pathName, ibc.CreateClientOptions{TrustingPeriod: "330h"}) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) require.NoError(t, err) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) @@ -287,6 +290,9 @@ func TestHyperspace(t *testing.T) { //err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) //require.NoError(t, err) + err = polkadotChain.EnableIbcTransfers() + require.NoError(t, err) + // Start relayer r.StartRelayer(ctx, eRep, pathName) require.NoError(t, err) @@ -296,42 +302,95 @@ func TestHyperspace(t *testing.T) { panic(err) } }) - err = testutil.WaitForBlocks(ctx, 20, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) + require.NoError(t, err) + + // Mint 100 UNIT for alice and "polkadotUser", not sure why the ~1.5M UNIT from balance/genesis doesn't work + mint := ibc.WalletAmount{ + Address: polkadotUser.FormattedAddress(), + Denom: "1", + Amount: int64(100_000_000_000_000), // 100 UNITS, not 100T + } + err = polkadotChain.MintFunds("alice", mint) + require.NoError(t, err) + err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) + require.NoError(t, err) + mint2 := ibc.WalletAmount{ + Address: "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", // Alice + Denom: "1", + Amount: int64(100_000_000_000_000), // 100 UNITS, not 100T + } + err = polkadotChain.MintFunds("alice", mint2) require.NoError(t, err) - // Send Transaction - amountToSend := int64(177_000_000) - dstAddress := polkadotUser.FormattedAddress() + // Send IBC Transaction, from Cosmos to Parachain (stake) + amountToSend := int64(1_770_000) transfer := ibc.WalletAmount{ - Address: dstAddress, + Address: polkadotUser.FormattedAddress(), Denom: cosmosChain.Config().Denom, Amount: amountToSend, } tx, err := cosmosChain.SendIBCTransfer(ctx, "channel-0", cosmosUser.KeyName(), transfer, ibc.TransferOptions{}) require.NoError(t, err) require.NoError(t, tx.Validate()) // test source wallet has decreased funds - - err = testutil.WaitForBlocks(ctx, 50, cosmosChain, polkadotChain) + + err = testutil.WaitForBlocks(ctx, 10, cosmosChain, polkadotChain) require.NoError(t, err) + // Verify cosmosUser balance went down 1.77M expectedBal := cosmosUserAmount - amountToSend cosmosUserBalNew, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) require.NoError(t, err) require.Equal(t, expectedBal, cosmosUserBalNew) - fmt.Println("Initial: ", cosmosUserAmount, " Final:", cosmosUserBalNew) - // Trace IBC Denom - //srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", cosmosChain.Config().Denom)) - //dstIbcDenom := srcDenomTrace.IBCDenom() + // Trace IBC Denom of stake on parachain + srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", cosmosChain.Config().Denom)) + dstIbcDenom := srcDenomTrace.IBCDenom() + fmt.Println("Dst Ibc denom: ", dstIbcDenom) + + // Test destination wallet has increased funds, this is not working + //pubKey, err := polkadot.DecodeAddressSS58(polkadotUser.FormattedAddress()) + //polkadotUserIbcCoins2, err := polkadotChain.GetIbcBalance(ctx, pubKey) + //polkadotUserIbcCoins3, err := polkadotChain.GetIbcBalance(ctx, []byte(hex.EncodeToString(pubKey))) + polkadotUserIbcCoins, err := polkadotChain.GetIbcBalance(ctx, polkadotUser.Address()) + fmt.Println("IbcCoins: ", polkadotUserIbcCoins.String(), " -- this probably doesn't work, Error: ", err) + + // Send 1.18M stake from ParachainUser to CosmosUser + amountToSend2 := int64(1_180_000) + transfer2 := ibc.WalletAmount{ + Address: cosmosUser.FormattedAddress(), + Denom: "2", // stake + Amount: amountToSend2, + } + _, err = polkadotChain.SendIBCTransfer(ctx, "channel-0", polkadotUser.KeyName(), transfer2, ibc.TransferOptions{}) + require.NoError(t, err) + err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) + require.NoError(t, err) - // Test destination wallet has increased funds - //polkadotUserBalNew, err := polkadotChain.GetBalance(ctx, polkadotUser.FormattedAddress(), dstIbcDenom) - //require.NoError(t, err) - //require.Equal(t, amountToSend, polkadotUserBalNew) - // Then send ibc tx from cosmos -> substrate and vice versa - //polkadotChain.SendIBCTransfer(), verify - //cosmosChain.SendIBCTransfer(), verify + // Send 1.88T "UNIT" from Alice to CosmosUser + amountToSend1 := int64(1_880_000_000_000) + transfer1 := ibc.WalletAmount{ + Address: cosmosUser.FormattedAddress(), + Denom: "1", // UNIT + Amount: amountToSend1, + } + _, err = polkadotChain.SendIBCTransfer(ctx, "channel-0", "alice", transfer1, ibc.TransferOptions{}) + require.NoError(t, err) + err = testutil.WaitForBlocks(ctx, 30, cosmosChain, polkadotChain) + require.NoError(t, err) + cosmosUserNativeBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) + require.NoError(t, err) + require.Equal(t, expectedBal+amountToSend2, cosmosUserNativeBal) + fmt.Println("Initial: ", cosmosUserAmount, " Middle:", cosmosUserBalNew, " Final: ", cosmosUserNativeBal) + // Trace IBC Denom + srcDenomTrace2 := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", "UNIT")) + dstIbcDenom2 := srcDenomTrace2.IBCDenom() + fmt.Println("Dst Ibc denom:2 ", dstIbcDenom2) + cosmosUserIbcBal2, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), dstIbcDenom2) + require.NoError(t, err) + require.Equal(t, amountToSend1, cosmosUserIbcBal2) + fmt.Println("CosmosUserIbcBal2: ", cosmosUserIbcBal2) } type GetCodeQueryMsgResponse struct { diff --git a/go.mod b/go.mod index 3941743f1..00561c8dd 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,6 @@ require ( github.com/StirlingMarketingGroup/go-namecase v1.0.0 github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 - github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 github.com/confio/ics23/go v0.7.0 github.com/cosmos/cosmos-sdk v0.46.2 github.com/cosmos/go-bip39 v1.0.0 @@ -24,6 +23,7 @@ require ( github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/libp2p/go-libp2p-core v0.15.1 + github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230204195103-682c0d5b12fc github.com/mr-tron/base58 v1.2.0 github.com/pelletier/go-toml/v2 v2.0.5 github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 @@ -39,8 +39,6 @@ require ( modernc.org/sqlite v1.17.3 ) -//require github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 - require ( cloud.google.com/go v0.102.1 // indirect cloud.google.com/go/compute v1.7.0 // indirect @@ -51,6 +49,7 @@ require ( filippo.io/edwards25519 v1.0.0-rc.1 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect + github.com/ComposableFi/go-subkey/v2 v2.0.0-tm03420 // indirect github.com/Microsoft/go-winio v0.5.2 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/aws/aws-sdk-go v1.40.45 // indirect @@ -179,7 +178,6 @@ require ( github.com/tendermint/go-amino v0.16.0 // indirect github.com/tendermint/tm-db v0.6.7 // indirect github.com/ulikunitz/xz v0.5.8 // indirect - github.com/vedhavyas/go-subkey v1.0.3 // indirect github.com/zondax/hid v0.9.1-0.20220302062450-5552068d2266 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.23.0 // indirect diff --git a/go.sum b/go.sum index 44bcb7f5e..d09aaeac6 100644 --- a/go.sum +++ b/go.sum @@ -82,6 +82,8 @@ github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQ 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/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= @@ -138,8 +140,6 @@ github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46f 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.10 h1:HW3XP9G3mXr0gYPfxCAQLD29u+Ys0uIeotv9RWfnhrM= -github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10/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= @@ -277,7 +277,7 @@ 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.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/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.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= @@ -521,6 +521,8 @@ github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= 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/misko9/go-substrate-rpc-client/v4 v4.0.0-20230204195103-682c0d5b12fc h1:MuaORTDKypaZjqdjvH9uWS0rlR/0WSJMaQP9S87LkBM= +github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230204195103-682c0d5b12fc/go.mod h1:OUPgQR4t8vF+O7Dv36isL9BOZ6KiESjYfhmjIUkPKAY= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -685,8 +687,6 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= -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/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.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -717,8 +717,8 @@ github.com/tendermint/tendermint v0.34.21 h1:UiGGnBFHVrZhoQVQ7EfwSOLuCtarqCSsRf8 github.com/tendermint/tendermint v0.34.21/go.mod h1:XDvfg6U7grcFTDx7VkzxnhazQ/bspGJAn4DZ6DcLLjQ= github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= -github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4= -github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA= +github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= +github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= diff --git a/interchain.go b/interchain.go index 29d0aac63..327277246 100644 --- a/interchain.go +++ b/interchain.go @@ -366,7 +366,7 @@ func (ic *Interchain) genesisWalletAmounts(ctx context.Context) (map[ibc.Chain][ walletAmounts[c] = append(walletAmounts[c], ibc.WalletAmount{ Address: wallet.FormattedAddress(), Denom: c.Config().Denom, - Amount: 10_000_000_000_000, // Every wallet gets 1t units of denom. + Amount: 100_000_000_000_000, // Every wallet gets 100t units of denom. }) } diff --git a/relayer/docker.go b/relayer/docker.go index 22c16b750..bac6cf94a 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -332,8 +332,8 @@ func (r *DockerRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecRepor keyEntryOverrides["address"] = []byte(keyEntry[3]) chainConfig["keybase"] = keyEntryOverrides case "polkadot": - chainConfig["private_key"] = "//Alice" - //chainConfig["private_key"] = mnemonic + //chainConfig["private_key"] = "//Alice" + chainConfig["private_key"] = mnemonic } chainConfigFile := chainID + ".config" err := testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, chainConfigFile, chainConfig) diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index 04db9d454..50fed6631 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -9,7 +9,7 @@ import ( "strconv" "strings" - "github.com/centrifuge/go-substrate-rpc-client/v4/signature" + "github.com/misko9/go-substrate-rpc-client/v4/signature" "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/types" @@ -242,7 +242,8 @@ func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChan "--config-core", path.Join(homeDir, "core.config"), "--delay-period", - "10", + "0", + //"10", "--port-id", opts.SourcePortName, "--order", @@ -273,7 +274,8 @@ func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClie "--config-core", path.Join(homeDir, "core.config"), "--delay-period", - "10", + "0", + //"10", "--port-id", "transfer", "--order", @@ -307,7 +309,8 @@ func (c *hyperspaceCommander) CreateConnections(pathName, homeDir string) []stri "--config-core", path.Join(homeDir, "core.config"), "--delay-period", - "10", + "0", + //"10", "--port-id", "transfer", "--order", @@ -410,7 +413,8 @@ func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) "--config-core", path.Join(homeDir, "core.config"), "--delay-period", - "10", + "0", + //"10", "--port-id", "transfer", "--order", From 8c6ca8cda9f5737b51984aa3593cc4efa474edb1 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 10 Feb 2023 13:56:07 -0700 Subject: [PATCH 24/50] Poll for cosmos chain balance to reduce test time --- examples/hyperspace/hyperspace_test.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 9855e3dc7..cd32a8b5c 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -364,8 +364,6 @@ func TestHyperspace(t *testing.T) { } _, err = polkadotChain.SendIBCTransfer(ctx, "channel-0", polkadotUser.KeyName(), transfer2, ibc.TransferOptions{}) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) - require.NoError(t, err) // Send 1.88T "UNIT" from Alice to CosmosUser amountToSend1 := int64(1_880_000_000_000) @@ -376,12 +374,20 @@ func TestHyperspace(t *testing.T) { } _, err = polkadotChain.SendIBCTransfer(ctx, "channel-0", "alice", transfer1, ibc.TransferOptions{}) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 30, cosmosChain, polkadotChain) + + // Wait for MsgRecvPacket + pollForBalance := ibc.WalletAmount{ + Address: cosmosUser.FormattedAddress(), + Denom: cosmosChain.Config().Denom, + Amount: expectedBal+amountToSend2, + } + err = cosmos.PollForBalance(ctx, cosmosChain, 30, pollForBalance) require.NoError(t, err) + // Verify final balances cosmosUserNativeBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) require.NoError(t, err) - require.Equal(t, expectedBal+amountToSend2, cosmosUserNativeBal) + require.Equal(t, pollForBalance.Amount, cosmosUserNativeBal) fmt.Println("Initial: ", cosmosUserAmount, " Middle:", cosmosUserBalNew, " Final: ", cosmosUserNativeBal) // Trace IBC Denom srcDenomTrace2 := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", "UNIT")) From 312733c01d9e35e7120d1d4a4e4db0c7e297ee00 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Mon, 13 Feb 2023 07:56:22 -0700 Subject: [PATCH 25/50] Use interchaintest generated relayer wallet in hyperspace's cosmos chain config. --- examples/hyperspace/hyperspace_test.go | 7 +---- go.mod | 8 +++++- go.sum | 16 +++++++++++ relayer/hyperspace/hyperspace.go | 38 ++++++++++++++------------ relayer/hyperspace/hyperspace_test.go | 4 +-- 5 files changed, 47 insertions(+), 26 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index cd32a8b5c..c7899aebe 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -174,12 +174,7 @@ func TestHyperspace(t *testing.T) { fmt.Println("About to create interchain") ic := ibctest.NewInterchain(). AddChain(polkadotChain). - AddChain(cosmosChain, ibc.WalletAmount{ - // Use test keys temporarily - Address: "cosmos1nnypkcfrvu3e9dhzeggpn4kh622l4cq7wwwrn0", - Denom: "stake", - Amount: 10_000_000_000_000, - }). + AddChain(cosmosChain). AddRelayer(r, relayerName). AddLink(ibctest.InterchainLink{ Chain1: polkadotChain, diff --git a/go.mod b/go.mod index 00561c8dd..1937ecfc7 100644 --- a/go.mod +++ b/go.mod @@ -9,6 +9,8 @@ require ( github.com/StirlingMarketingGroup/go-namecase v1.0.0 github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 + github.com/btcsuite/btcd v0.22.1 + github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce github.com/confio/ics23/go v0.7.0 github.com/cosmos/cosmos-sdk v0.46.2 github.com/cosmos/go-bip39 v1.0.0 @@ -29,6 +31,8 @@ require ( github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 github.com/stretchr/testify v1.8.1 github.com/tendermint/tendermint v0.34.21 + github.com/tyler-smith/go-bip32 v1.0.0 + github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 golang.org/x/crypto v0.0.0-20220817201139-bc19a97f63c8 @@ -50,6 +54,8 @@ require ( github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/ChainSafe/go-schnorrkel v1.0.0 // 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.5.2 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/aws/aws-sdk-go v1.40.45 // indirect @@ -57,7 +63,7 @@ require ( 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.0 // indirect - github.com/btcsuite/btcd v0.22.1 // indirect + github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect diff --git a/go.sum b/go.sum index d09aaeac6..7dc22698b 100644 --- a/go.sum +++ b/go.sum @@ -85,6 +85,10 @@ github.com/ChainSafe/go-schnorrkel v1.0.0/go.mod h1:dpzHYVxLZcp8pjlV+O+UR8K0Hp/z 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/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= @@ -128,10 +132,12 @@ github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= 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-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= 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/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= @@ -155,6 +161,8 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn 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/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= @@ -692,6 +700,7 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ 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 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= @@ -720,6 +729,10 @@ github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXO github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= github.com/tklauser/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= 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.0.1-0.20181017060643-dbb3b84ba2ef h1:wHSqTBrZW24CsNJDfeh9Ex6Pm0Rcpc7qrgKBiL44vF4= +github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -758,6 +771,7 @@ go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95a go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +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-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1312,6 +1326,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= +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.6 h1:H3cROdztr7RCfoaTpGZFQsrqvweFLrqS73j7L7cmR5c= lukechampine.com/blake3 v1.1.6/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU= diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index 50fed6631..6203c34c2 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -3,24 +3,26 @@ package hyperspace import ( "context" - //"encoding/hex" "fmt" "path" "strconv" "strings" - - "github.com/misko9/go-substrate-rpc-client/v4/signature" + "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/types" + + ibcexported "github.com/cosmos/ibc-go/v6/modules/core/03-connection/types" + types23 "github.com/cosmos/ibc-go/v6/modules/core/23-commitment/types" "github.com/docker/docker/client" + "github.com/misko9/go-substrate-rpc-client/v4/signature" "github.com/pelletier/go-toml/v2" "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" "github.com/strangelove-ventures/ibctest/v6/ibc" "github.com/strangelove-ventures/ibctest/v6/relayer" + bip32 "github.com/tyler-smith/go-bip32" + bip39 "github.com/tyler-smith/go-bip39" "go.uber.org/zap" - ibcexported "github.com/cosmos/ibc-go/v6/modules/core/03-connection/types" - types23 "github.com/cosmos/ibc-go/v6/modules/core/23-commitment/types" ) // HyperspaceRelayer is the ibc.Relayer implementation for github.com/ComposableFi/hyperspace. @@ -131,22 +133,24 @@ func GenKeyEntry(bech32Prefix, coinType, mnemonic string) KeyEntry { privKey := algo.Generate()(derivedPriv) address := types.AccAddress(privKey.PubKey().Address()) - _ = types.MustBech32ifyAddressBytes(bech32Prefix, address) - //bech32Addr := types.MustBech32ifyAddressBytes(bech32Prefix, address) + bech32Addr := types.MustBech32ifyAddressBytes(bech32Prefix, address) + + // Derive extended private key + seed := bip39.NewSeed(mnemonic, "") + masterKey, _ := bip32.NewMasterKey(seed) + purposeKey, _ := masterKey.NewChildKey(0x8000002C) // 44' + coinTypeKey, _ := purposeKey.NewChildKey(0x80000000 + uint32(coinType64)) // 118' + accountKey, _ := coinTypeKey.NewChildKey(0x80000000) // 0' + changeKey, _ := accountKey.NewChildKey(0) // 0 + indexKey, _ := changeKey.NewChildKey(0) // 0 - // Use test keys temporarily return KeyEntry{ - PublicKey: "spub4W7TSjsuqcUE17mSB2ajhZsbwkefsHWKsXCbERimu3z2QLN9EFgqqpppiBn4tTNPFoNVTo1b3BgCZAaFJuUgTZeFhzJjUHkK8X7kSC5c7yn", - PrivateKey: "sprv8H873EM21Euvndgy513jLRvsPipBTpnUWJGzS3KALiT3XY2zgiNbJ2WLrvPzRhg7GuAoujHd5d6cpBe887vTbJghja8kmRdkHoNgamx6WWr", - Account: "cosmos1nnypkcfrvu3e9dhzeggpn4kh622l4cq7wwwrn0", - Address: []byte{156, 200, 27, 97, 35, 103, 35, 146, 182, 226, 202, 16, 25, 214, 215, 210, 149, 250, 224, 30}, - //PublicKey: hex.EncodeToString(privKey.PubKey().Bytes()), // i.e. 02c1732ca9cb7c6efaa7c205887565b9787cab5ebdb7bc1dd872a21fc8c9efb56a - //PrivateKey: hex.EncodeToString(privKey.Bytes()), // i.e. ac26db8374e68403a3cf38cc2b196d688d2f094cec0908978b2460d4442062f7 - //Account: bech32Addr , // i.e. cosmos1g5r2vmnp6lta9cpst4lzc4syy3kcj2lj0nuhmy - //Address: address.Bytes(), // i.e. [69 6 166 110 97 215 215 210 224 48 93 126 44 86 4 36 109 137 43 242] + PublicKey: indexKey.PublicKey().B58Serialize(), // i.e. "xpub6GNKSnPmR5zN3Ef3EqYkSJTZzjzGecb1n1SqJRUNnoFPsyxviG7QyoVzjEjP3gfqRu7AvRrEZMfXJazz8pZgmYP6yvvdRqC2pWmWpeQTMBP" + PrivateKey: indexKey.B58Serialize(), // i.e. "xprvA3Ny3GrsaiS4pkaa8p1k5AWqSi9nF9sAQnXEW34mETiR1BdnAioAS1BWsx3uAXKT3NbY6cpY2mQL6N7R8se1GVHqNkpjwc7rv5VRaQ9x8EB" + Account: bech32Addr, // i.e. "cosmos1pyxjp07wc207l7jecyr3wcmq9cr54tqwhcwugm" + Address: address.Bytes(), // i.e. [9, 13, 32, 191, 206, 194, 159, 239, 250, 89, 193, 7, 23, 99, 96, 46, 7, 74, 172, 14] } } - func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) interface{} { chainType := chainConfig.Type if chainType == "polkadot" || chainType == "parachain" || chainType == "relaychain" { diff --git a/relayer/hyperspace/hyperspace_test.go b/relayer/hyperspace/hyperspace_test.go index 9c1a5cfd3..cfcaf960f 100644 --- a/relayer/hyperspace/hyperspace_test.go +++ b/relayer/hyperspace/hyperspace_test.go @@ -13,8 +13,8 @@ func TestKeys(t *testing.T) { mnemonic := "taste shoot adapt slow truly grape gift need suggest midnight burger horn whisper hat vast aspect exit scorpion jewel axis great area awful blind" expectedKeyEntry := hyperspace.KeyEntry{ - PublicKey: "02c1732ca9cb7c6efaa7c205887565b9787cab5ebdb7bc1dd872a21fc8c9efb56a", - PrivateKey: "ac26db8374e68403a3cf38cc2b196d688d2f094cec0908978b2460d4442062f7", + PublicKey: "xpub6G1GwQBqWwXuCRhri9q1JzxZ9eMWFazo2ssoZNkAsqusDTT6MPUXiPaXMJS9v4RVaSmYPhA1HK5RCD7WPutmUn3eeqXduM142X7YRVBx8bn", + PrivateKey: "xprvA31vXtewgZybywdPc8Hzws1pbcX1r8GwfexCkzLZKWNtLf7worAHAbG3W3F1SagK47ng5877ihXkDvmNfZnVHSGw7Ad1JkzyPTKEtSpmSxa", Address: []byte{69, 6, 166, 110, 97, 215, 215, 210, 224, 48, 93, 126, 44, 86, 4, 36, 109, 137, 43, 242}, Account: "cosmos1g5r2vmnp6lta9cpst4lzc4syy3kcj2lj0nuhmy", } From a9ea13e1e86353a05ba2cf53bba4f25eb10136fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20D=C3=ADaz?= Date: Tue, 14 Feb 2023 14:12:23 -0400 Subject: [PATCH 26/50] add query channels (#397) * add query channels * code cleanup from PR commments * fix channel and portID fork polkadot mint --- examples/hyperspace/hyperspace_test.go | 86 ++++++++------- relayer/hyperspace/hyperspace.go | 146 +++++++++++++------------ 2 files changed, 123 insertions(+), 109 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index c7899aebe..655e2094e 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -7,6 +7,7 @@ import ( "fmt" "testing" + transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" "github.com/strangelove-ventures/ibctest/v6" "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" @@ -17,35 +18,33 @@ import ( "github.com/strangelove-ventures/ibctest/v6/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" - transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" ) // TestHyperspace setup // Must build local docker images of hyperspace, parachain, and polkadot // ###### hyperspace ###### // * Repo: ComposableFi/centauri -// * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw -// * Commit: 043470ce1932c418d15df635480da8efb61d66d7 -// * Build local Hyperspace docker from centauri repo: +// * Branch: edjroz/add-query-channels +// * Commit: 2996275ce29a2d7411af7bf3b1d65bc66a719da8 +// * Build local Hyperspace docker from centauri repo: // amd64: "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." // arm64: "docker build -f scripts/hyperspace.aarch64.Dockerfile -t hyperspace:latest --platform=linux/arm64/v8 . // ###### parachain ###### // * Repo: ComposableFi/centauri -// * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw +// * Branch: edjroz/add-query-channels // * Commit: 043470ce1932c418d15df635480da8efb61d66d7 -// * Build local parachain docker from centauri repo: +// * Build local parachain docker from centauri repo: // ./scripts/build-parachain-node-docker.sh (you can change the script to compile for ARM arch if needed) // ###### polkadot ###### // * Repo: paritytech/polkadot -// * Branch: release-v0.9.33 +// * Branch: release-v0.9.33 // * Commit: c7d6c21242fc654f6f069e12c00951484dff334d // * Build local polkadot docker from polkadot repo // amd64: docker build -f scripts/ci/dockerfiles/polkadot/polkadot_builder.Dockerfile . -t polkadot-node:local // arm64: docker build --platform linux/arm64 -f scripts/ci/dockerfiles/polkadot/polkadot_builder.aarch64.Dockerfile . -t polkadot-node:local - // TestHyperspace features -// * sets up a Polkadot parachain +// * sets up a Polkadot parachain // * sets up a Cosmos chain // * sets up the Hyperspace relayer // * Funds a user wallet on both chains @@ -118,7 +117,7 @@ func TestHyperspace(t *testing.T) { GasPrices: "", GasAdjustment: 0, TrustingPeriod: "", - CoinType: "354", + CoinType: "354", }, NumValidators: &nv, NumFullNodes: &nf, @@ -144,7 +143,7 @@ func TestHyperspace(t *testing.T) { TrustingPeriod: "504h", CoinType: "118", //EncodingConfig: WasmClientEncoding(), - NoHostMount: true, + NoHostMount: true, ConfigFileOverrides: configFileOverrides, }, }, @@ -185,11 +184,11 @@ func TestHyperspace(t *testing.T) { fmt.Println("About to build interchain") require.NoError(t, ic.Build(ctx, eRep, ibctest.InterchainBuildOptions{ - TestName: t.Name(), - Client: client, - NetworkID: network, + TestName: t.Name(), + Client: client, + NetworkID: network, BlockDatabaseFile: ibctest.DefaultBlockDatabaseFilepath(), - SkipPathCreation: true, // Skip path creation, so we can have granular control over the process + SkipPathCreation: true, // Skip path creation, so we can have granular control over the process })) fmt.Println("Interchain built") @@ -219,7 +218,7 @@ func TestHyperspace(t *testing.T) { require.NoError(t, err) fmt.Println("Cosmos user amount: ", cosmosUserAmount) require.Equal(t, fundAmount, cosmosUserAmount, "Initial cosmos user amount not expected") - + // Store grandpa contract codeHash, err := cosmosChain.StoreClientContract(ctx, cosmosUser.KeyName(), "../polkadot/ics10_grandpa_cw.wasm") t.Logf("Contract codeHash: %s", codeHash) @@ -251,10 +250,10 @@ func TestHyperspace(t *testing.T) { err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) require.NoError(t, err) - + r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - + // Create a new connection err = r.CreateConnections(ctx, eRep, pathName) require.NoError(t, err) @@ -264,27 +263,38 @@ func TestHyperspace(t *testing.T) { r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - + // Create a new channel & get channels from each chain err = r.CreateChannel(ctx, eRep, pathName, ibc.DefaultChannelOpts()) require.NoError(t, err) - + err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) require.NoError(t, err) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - + // Hyperspace panics on "hyperspace query channels --config xxx", this is needed. - //_, err = r.GetChannels(ctx, eRep, cosmosChain.Config().ChainID) - //require.NoError(t, err) + cosmosChannelOutput, err := r.GetChannels(ctx, eRep, cosmosChain.Config().ChainID) + require.NoError(t, err) + require.Equal(t, len(cosmosChannelOutput), 1) + + require.Equal(t, cosmosChannelOutput[0].ChannelID, "channel-0") + require.Equal(t, cosmosChannelOutput[0].PortID, "transfer") + //fmt.Println("Cosmos connection: ", cosmosConnections[0].ID) - //_, err = r.GetChannels(ctx, eRep, polkadotChain.Config().ChainID) - //require.NoError(t, err) + polkadotChannelOutput, err := r.GetChannels(ctx, eRep, polkadotChain.Config().ChainID) + require.NoError(t, err) + + require.Equal(t, polkadotChannelOutput[0].ChannelID, "channel-0") + require.Equal(t, polkadotChannelOutput[0].PortID, "transfer") + + require.Equal(t, len(polkadotChannelOutput), 1) + //fmt.Println("Polkadot connection: ", polkadotConnections[0].ID) - //err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) - //require.NoError(t, err) - + // err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) + // require.NoError(t, err) + err = polkadotChain.EnableIbcTransfers() require.NoError(t, err) @@ -325,9 +335,9 @@ func TestHyperspace(t *testing.T) { Denom: cosmosChain.Config().Denom, Amount: amountToSend, } - tx, err := cosmosChain.SendIBCTransfer(ctx, "channel-0", cosmosUser.KeyName(), transfer, ibc.TransferOptions{}) + tx, err := cosmosChain.SendIBCTransfer(ctx, cosmosChannelOutput[0].ChannelID, cosmosUser.KeyName(), transfer, ibc.TransferOptions{}) require.NoError(t, err) - require.NoError(t, tx.Validate()) // test source wallet has decreased funds + require.NoError(t, tx.Validate()) // test source wallet has decreased funds err = testutil.WaitForBlocks(ctx, 10, cosmosChain, polkadotChain) require.NoError(t, err) @@ -339,7 +349,7 @@ func TestHyperspace(t *testing.T) { require.Equal(t, expectedBal, cosmosUserBalNew) // Trace IBC Denom of stake on parachain - srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", cosmosChain.Config().Denom)) + srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(cosmosChannelOutput[0].PortID, cosmosChannelOutput[0].ChannelID, cosmosChain.Config().Denom)) dstIbcDenom := srcDenomTrace.IBCDenom() fmt.Println("Dst Ibc denom: ", dstIbcDenom) @@ -349,7 +359,7 @@ func TestHyperspace(t *testing.T) { //polkadotUserIbcCoins3, err := polkadotChain.GetIbcBalance(ctx, []byte(hex.EncodeToString(pubKey))) polkadotUserIbcCoins, err := polkadotChain.GetIbcBalance(ctx, polkadotUser.Address()) fmt.Println("IbcCoins: ", polkadotUserIbcCoins.String(), " -- this probably doesn't work, Error: ", err) - + // Send 1.18M stake from ParachainUser to CosmosUser amountToSend2 := int64(1_180_000) transfer2 := ibc.WalletAmount{ @@ -357,7 +367,7 @@ func TestHyperspace(t *testing.T) { Denom: "2", // stake Amount: amountToSend2, } - _, err = polkadotChain.SendIBCTransfer(ctx, "channel-0", polkadotUser.KeyName(), transfer2, ibc.TransferOptions{}) + _, err = polkadotChain.SendIBCTransfer(ctx, polkadotChannelOutput[0].ChannelID, polkadotUser.KeyName(), transfer2, ibc.TransferOptions{}) require.NoError(t, err) // Send 1.88T "UNIT" from Alice to CosmosUser @@ -367,14 +377,14 @@ func TestHyperspace(t *testing.T) { Denom: "1", // UNIT Amount: amountToSend1, } - _, err = polkadotChain.SendIBCTransfer(ctx, "channel-0", "alice", transfer1, ibc.TransferOptions{}) + _, err = polkadotChain.SendIBCTransfer(ctx, polkadotChannelOutput[0].ChannelID, "alice", transfer1, ibc.TransferOptions{}) require.NoError(t, err) // Wait for MsgRecvPacket pollForBalance := ibc.WalletAmount{ Address: cosmosUser.FormattedAddress(), - Denom: cosmosChain.Config().Denom, - Amount: expectedBal+amountToSend2, + Denom: cosmosChain.Config().Denom, + Amount: expectedBal + amountToSend2, } err = cosmos.PollForBalance(ctx, cosmosChain, 30, pollForBalance) require.NoError(t, err) @@ -385,7 +395,7 @@ func TestHyperspace(t *testing.T) { require.Equal(t, pollForBalance.Amount, cosmosUserNativeBal) fmt.Println("Initial: ", cosmosUserAmount, " Middle:", cosmosUserBalNew, " Final: ", cosmosUserNativeBal) // Trace IBC Denom - srcDenomTrace2 := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", "UNIT")) + srcDenomTrace2 := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(polkadotChannelOutput[0].PortID, polkadotChannelOutputChannelOutput[0].ChannelID, "UNIT")) dstIbcDenom2 := srcDenomTrace2.IBCDenom() fmt.Println("Dst Ibc denom:2 ", dstIbcDenom2) cosmosUserIbcBal2, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), dstIbcDenom2) @@ -396,4 +406,4 @@ func TestHyperspace(t *testing.T) { type GetCodeQueryMsgResponse struct { Code []byte `json:"code"` -} \ No newline at end of file +} diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace.go index 6203c34c2..e8487bfff 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace.go @@ -11,7 +11,6 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/hd" "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/types" - ibcexported "github.com/cosmos/ibc-go/v6/modules/core/03-connection/types" types23 "github.com/cosmos/ibc-go/v6/modules/core/23-commitment/types" "github.com/docker/docker/client" @@ -54,11 +53,11 @@ func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, } type HyperspaceRelayerSubstrateChainConfig struct { - Type string `toml:"type"` - Name string `toml:"name"` - ParaID uint32 `toml:"para_id"` - ParachainRPCURL string `toml:"parachain_rpc_url"` - RelayChainRPCURL string `toml:"relay_chain_rpc_url"` + Type string `toml:"type"` + Name string `toml:"name"` + ParaID uint32 `toml:"para_id"` + ParachainRPCURL string `toml:"parachain_rpc_url"` + RelayChainRPCURL string `toml:"relay_chain_rpc_url"` //ClientID string `toml:"client_id"` //ConnectionID string `toml:"connection_id"` BeefyActivation uint32 `toml:"beefy_activation_block"` @@ -79,19 +78,19 @@ type KeyEntry struct { } type HyperspaceRelayerCosmosChainConfig struct { - Type string `toml:"type"` //New - Name string `toml:"name"` - RPCUrl string `toml:"rpc_url"` - GRPCUrl string `toml:"grpc_url"` - WebsocketUrl string `toml:"websocket_url"` - ChainID string `toml:"chain_id"` - AccountPrefix string `toml:"account_prefix"` - StorePrefix string `toml:"store_prefix"` - MaxTxSize uint64 `toml:"max_tx_size"` - WasmCodeId string `toml:"wasm_code_id"` + Type string `toml:"type"` //New + Name string `toml:"name"` + RPCUrl string `toml:"rpc_url"` + GRPCUrl string `toml:"grpc_url"` + WebsocketUrl string `toml:"websocket_url"` + ChainID string `toml:"chain_id"` + AccountPrefix string `toml:"account_prefix"` + StorePrefix string `toml:"store_prefix"` + MaxTxSize uint64 `toml:"max_tx_size"` + WasmCodeId string `toml:"wasm_code_id"` //ConnectionId string `toml:"connection_id"` // connection-1 //ClientId string `toml:"client_id"` // 07-tendermint-0 - Keybase KeyEntry `toml:"keybase"` + Keybase KeyEntry `toml:"keybase"` //Debug bool `json:"debug" toml:"debug"` //GasAdjustment float64 `json:"gas-adjustment" toml:"gas_adjustment"` @@ -138,17 +137,17 @@ func GenKeyEntry(bech32Prefix, coinType, mnemonic string) KeyEntry { // Derive extended private key seed := bip39.NewSeed(mnemonic, "") masterKey, _ := bip32.NewMasterKey(seed) - purposeKey, _ := masterKey.NewChildKey(0x8000002C) // 44' + purposeKey, _ := masterKey.NewChildKey(0x8000002C) // 44' coinTypeKey, _ := purposeKey.NewChildKey(0x80000000 + uint32(coinType64)) // 118' - accountKey, _ := coinTypeKey.NewChildKey(0x80000000) // 0' - changeKey, _ := accountKey.NewChildKey(0) // 0 - indexKey, _ := changeKey.NewChildKey(0) // 0 + accountKey, _ := coinTypeKey.NewChildKey(0x80000000) // 0' + changeKey, _ := accountKey.NewChildKey(0) // 0 + indexKey, _ := changeKey.NewChildKey(0) // 0 return KeyEntry{ PublicKey: indexKey.PublicKey().B58Serialize(), // i.e. "xpub6GNKSnPmR5zN3Ef3EqYkSJTZzjzGecb1n1SqJRUNnoFPsyxviG7QyoVzjEjP3gfqRu7AvRrEZMfXJazz8pZgmYP6yvvdRqC2pWmWpeQTMBP" - PrivateKey: indexKey.B58Serialize(), // i.e. "xprvA3Ny3GrsaiS4pkaa8p1k5AWqSi9nF9sAQnXEW34mETiR1BdnAioAS1BWsx3uAXKT3NbY6cpY2mQL6N7R8se1GVHqNkpjwc7rv5VRaQ9x8EB" - Account: bech32Addr, // i.e. "cosmos1pyxjp07wc207l7jecyr3wcmq9cr54tqwhcwugm" - Address: address.Bytes(), // i.e. [9, 13, 32, 191, 206, 194, 159, 239, 250, 89, 193, 7, 23, 99, 96, 46, 7, 74, 172, 14] + PrivateKey: indexKey.B58Serialize(), // i.e. "xprvA3Ny3GrsaiS4pkaa8p1k5AWqSi9nF9sAQnXEW34mETiR1BdnAioAS1BWsx3uAXKT3NbY6cpY2mQL6N7R8se1GVHqNkpjwc7rv5VRaQ9x8EB" + Account: bech32Addr, // i.e. "cosmos1pyxjp07wc207l7jecyr3wcmq9cr54tqwhcwugm" + Address: address.Bytes(), // i.e. [9, 13, 32, 191, 206, 194, 159, 239, 250, 89, 193, 7, 23, 99, 96, 46, 7, 74, 172, 14] } } func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) interface{} { @@ -169,7 +168,7 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN Name: chainConfig.Name, ParaID: 2000, ParachainRPCURL: strings.Replace(strings.Replace(paraRpcAddr, "http", "ws", 1), "9933", "27451", 1), - RelayChainRPCURL: strings.Replace(strings.Replace(relayRpcAddr, "http", "ws", 1),"9933", "27451", 1), + RelayChainRPCURL: strings.Replace(strings.Replace(relayRpcAddr, "http", "ws", 1), "9933", "27451", 1), CommitmentPrefix: "0x6962632f", PrivateKey: "//Alice", SS58Version: polkadot.Ss58Format, @@ -179,15 +178,15 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN } else if chainType == "cosmos" { wsUrl := strings.Replace(rpcAddr, "http", "ws", 1) + "/websocket" return HyperspaceRelayerCosmosChainConfig{ - Type: chainType, - Name: chainConfig.Name, - ChainID: chainConfig.ChainID, - AccountPrefix: chainConfig.Bech32Prefix, - GRPCUrl: "http://"+grpcAddr, - RPCUrl: rpcAddr, - StorePrefix: "ibc", - MaxTxSize: 200000, - WebsocketUrl: wsUrl, + Type: chainType, + Name: chainConfig.Name, + ChainID: chainConfig.ChainID, + AccountPrefix: chainConfig.Bech32Prefix, + GRPCUrl: "http://" + grpcAddr, + RPCUrl: rpcAddr, + StorePrefix: "ibc", + MaxTxSize: 200000, + WebsocketUrl: wsUrl, } } else { panic(fmt.Sprintf("unsupported chain type %s", chainType)) @@ -196,9 +195,9 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN // hyperspaceCommander satisfies relayer.RelayerCommander. type hyperspaceCommander struct { - log *zap.Logger - chainConfigPaths []string - extraStartFlags []string + log *zap.Logger + chainConfigPaths []string + extraStartFlags []string //dockerRelayer *relayer.DockerRelayer } @@ -219,7 +218,6 @@ func (c *hyperspaceCommander) AddChainConfiguration(containerFilePath, homeDir s } } - // Hyperspace doesn't not have this functionality func (hyperspaceCommander) AddKey(chainID, keyName, coinType, homeDir string) []string { panic("[AddKey] Do not call me") @@ -227,7 +225,7 @@ func (hyperspaceCommander) AddKey(chainID, keyName, coinType, homeDir string) [] func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { fmt.Println("[hyperspace] CreateChannel", pathName, homeDir) - if(len(c.chainConfigPaths) < 2) { + if len(c.chainConfigPaths) < 2 { fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } @@ -259,7 +257,7 @@ func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChan func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { fmt.Println("[hyperspace] CreateClients", pathName, opts, homeDir) - if(len(c.chainConfigPaths) < 2) { + if len(c.chainConfigPaths) < 2 { fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } @@ -294,7 +292,7 @@ func (hyperspaceCommander) CreateClient(pathName, homeDir, customClientTrustingP func (c *hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) - if(len(c.chainConfigPaths) < 2) { + if len(c.chainConfigPaths) < 2 { fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } @@ -340,27 +338,27 @@ func (hyperspaceCommander) GeneratePath(srcChainID, dstChainID, pathName, homeDi // Hyperspace does not have paths, just two configs func (hyperspaceCommander) UpdatePath(pathName, homeDir string, filter ibc.ChannelFilter) []string { panic("[UpdatePath] Do not call me") - + } func (hyperspaceCommander) GetChannels(chainID, homeDir string) []string { - panic("Panic because hyperspace will panic") - /*fmt.Println("[hyperspace] Get Channels") - configFilePath := path.Join(homeDir, chainID + ".config") + //panic("Panic because hyperspace will panic") + fmt.Println("[hyperspace] Get Channels") + configFilePath := path.Join(homeDir, chainID+".config") return []string{ "hyperspace", "query", "channels", "--config", configFilePath, - }*/ + } } // Prints chain config which is populated by hyperspace // Ideally, there should be a command from hyperspace to get this output func (hyperspaceCommander) GetConnections(chainID, homeDir string) []string { fmt.Println("[hyperspace] Get Connections") - configFilePath := path.Join(homeDir, chainID + ".config") + configFilePath := path.Join(homeDir, chainID+".config") return []string{ "cat", configFilePath, @@ -371,7 +369,7 @@ func (hyperspaceCommander) GetConnections(chainID, homeDir string) []string { // Ideally, there should be a command from hyperspace to get this output func (hyperspaceCommander) GetClients(chainID, homeDir string) []string { fmt.Println("[hyperspace] Get Clients") - configFilePath := path.Join(homeDir, chainID + ".config") + configFilePath := path.Join(homeDir, chainID+".config") return []string{ "cat", configFilePath, @@ -398,7 +396,7 @@ func (hyperspaceCommander) RestoreKey(chainID, bech32Prefix, coinType, mnemonic, func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) - if(len(c.chainConfigPaths) < 2) { + if len(c.chainConfigPaths) < 2 { fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } @@ -464,23 +462,29 @@ func (hyperspaceCommander) ParseRestoreKeyOutput(stdout, stderr string) string { } func (hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc.ChannelOutput, error) { - panic("Re-add once hyperspace can query channels successfully") -/* fmt.Println("Channels output: ", stdout) - - return []ibc.ChannelOutput{ - { - State: "", - Ordering: "", - Counterparty: ibc.ChannelCounterparty{ - PortID: "", - ChannelID: "", - }, - ConnectionHops: []string{}, - Version: "", - PortID: "", - ChannelID: "", - }, - }, nil*/ + outputs := make([]ibc.ChannelOutput, 0) + lines := strings.Split(stdout, "\n") + for _, line := range lines { + if strings.Contains(line, ": ") { + channel := strings.Split(line, ": ") + channelId := channel[0] + portId := channel[1] + + outputs = append(outputs, ibc.ChannelOutput{ + State: "", + Ordering: "", + Counterparty: ibc.ChannelCounterparty{ // TODO: retrieve from hyperspace + PortID: "", + ChannelID: "", + }, + ConnectionHops: []string{}, + Version: "", + PortID: portId, + ChannelID: channelId, + }) + } + } + return outputs, nil } // Parses output of chain config which is populated by hyperspace @@ -501,17 +505,17 @@ func (hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc } return ibc.ConnectionOutputs{ &ibc.ConnectionOutput{ - ID: connectionId, + ID: connectionId, ClientID: clientId, Versions: []*ibcexported.Version{ { Identifier: "", - Features: []string{}, + Features: []string{}, }, }, State: "", Counterparty: &ibcexported.Counterparty{ - ClientId: "", + ClientId: "", ConnectionId: "", Prefix: types23.MerklePrefix{ KeyPrefix: []byte{}, @@ -542,7 +546,7 @@ func (hyperspaceCommander) ParseGetClientsOutput(stdout, stderr string) (ibc.Cli &ibc.ClientOutput{ ClientID: clientId, ClientState: ibc.ClientState{ - ChainID: chainId, + ChainID: chainId, }, }, }, nil @@ -563,4 +567,4 @@ func (hyperspaceCommander) CreateWallet(keyName, address, mnemonic string) ibc.W return NewWallet("", "", "") } return NewWallet("", kp.Address, mnemonic) -} \ No newline at end of file +} From cb40dbac4418179200d5696bccc67785d15e1bdc Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Wed, 15 Feb 2023 16:37:14 -0700 Subject: [PATCH 27/50] Add test for requiring governance on PushNewWasmCode msg --- chain/cosmos/chain_node.go | 22 +- chain/cosmos/cosmos_chain.go | 28 ++ chain/cosmos/types.go | 13 + .../polkadot/push_wasm_client_code_test.go | 97 ++++--- go.mod | 41 ++- go.sum | 247 +++--------------- 6 files changed, 182 insertions(+), 266 deletions(-) diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index e020867da..5aca2800e 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -764,7 +764,7 @@ func (tn *ChainNode) QueryClientContractCode(ctx context.Context, codeHash strin func (tn *ChainNode) VoteOnProposal(ctx context.Context, keyName string, proposalID string, vote string) error { _, err := tn.ExecTx(ctx, keyName, "gov", "vote", - proposalID, vote, + proposalID, vote, "--gas", "auto", ) return err } @@ -783,6 +783,26 @@ func (tn *ChainNode) QueryProposal(ctx context.Context, proposalID string) (*Pro return &proposal, nil } +// SubmitProposal submits a gov v1 proposal to the chain. +func (tn *ChainNode) SubmitProposal(ctx context.Context, keyName string, prop TxProposalv1) (string, error) { + // Write msg to container + file := "proposal.json" + propJson, err := json.MarshalIndent(prop, "", " ") + if err != nil { + return "", err + } + fw := dockerutil.NewFileWriter(tn.logger(), tn.DockerClient, tn.TestName) + if err := fw.WriteFile(ctx, tn.VolumeName, file, propJson); err != nil { + return "", fmt.Errorf("writing contract file to docker volume: %w", err) + } + + command := []string{ + "gov", "submit-proposal", + path.Join(tn.HomeDir(), file), "--gas", "auto", + } + + return tn.ExecTx(ctx, keyName, command...) +} // UpgradeProposal submits a software-upgrade governance proposal to the chain. func (tn *ChainNode) UpgradeProposal(ctx context.Context, keyName string, prop SoftwareUpgradeProposal) (string, error) { command := []string{ diff --git a/chain/cosmos/cosmos_chain.go b/chain/cosmos/cosmos_chain.go index 0c7401363..be07747d2 100644 --- a/chain/cosmos/cosmos_chain.go +++ b/chain/cosmos/cosmos_chain.go @@ -3,6 +3,8 @@ package cosmos import ( "bytes" "context" + "crypto/sha256" + "encoding/hex" "fmt" "io" "os" @@ -19,11 +21,14 @@ import ( "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/types" authTx "github.com/cosmos/cosmos-sdk/x/auth/tx" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" chanTypes "github.com/cosmos/ibc-go/v6/modules/core/04-channel/types" dockertypes "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" + "github.com/strangelove-ventures/ibctest/v6/chain/cosmos/08-wasm-types" "github.com/strangelove-ventures/ibctest/v6/chain/internal/tendermint" "github.com/strangelove-ventures/ibctest/v6/ibc" "github.com/strangelove-ventures/ibctest/v6/internal/blockdb" @@ -349,6 +354,29 @@ func (c *CosmosChain) QueryProposal(ctx context.Context, proposalID string) (*Pr return c.getFullNode().QueryProposal(ctx, proposalID) } +// PushNewWasmClientProposal submits a new wasm client governance proposal to the chain +func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName string, fileName string, prop TxProposalv1) (TxProposal, string, error) { + tx := TxProposal{} + content, err := os.ReadFile(fileName) + if err != nil { + return tx, "", err + } + message := wasmclienttypes.MsgPushNewWasmCode{ + Signer: authtypes.NewModuleAddress(govtypes.ModuleName).String(), + Code: content, + } + msg, err := c.cfg.EncodingConfig.Codec.MarshalInterfaceJSON(&message) + prop.Messages = append(prop.Messages, msg) + txHash, err := c.getFullNode().SubmitProposal(ctx, keyName, prop) + if err != nil { + return tx, "", fmt.Errorf("failed to submit wasm client proposal: %w", err) + } + codeHashByte32 := sha256.Sum256(content) + codeHash := hex.EncodeToString(codeHashByte32[:]) + tx, err = c.txProposal(txHash) + return tx, codeHash, err +} + // UpgradeProposal submits a software-upgrade governance proposal to the chain. func (c *CosmosChain) UpgradeProposal(ctx context.Context, keyName string, prop SoftwareUpgradeProposal) (tx TxProposal, _ error) { txHash, err := c.getFullNode().UpgradeProposal(ctx, keyName, prop) diff --git a/chain/cosmos/types.go b/chain/cosmos/types.go index 32f5f5dfb..758835367 100644 --- a/chain/cosmos/types.go +++ b/chain/cosmos/types.go @@ -1,5 +1,9 @@ package cosmos +import ( + "encoding/json" +) + const ( ProposalVoteYes = "yes" ProposalVoteNo = "no" @@ -14,6 +18,15 @@ const ( ProposalStatusDepositPeriod = "PROPOSAL_STATUS_DEPOSIT_PERIOD" ) +// TxProposalv1 contains chain proposal transaction detail for gov module v1 (sdk v0.46.0+) +type TxProposalv1 struct { + Messages []json.RawMessage `json:"messages"` + Metadata string `json:"metadata"` + Deposit string `json:"deposit"` + Title string `json:"title"` + Summary string `json:"summary"` +} + // TxProposal contains chain proposal transaction details. type TxProposal struct { // The block height. diff --git a/examples/polkadot/push_wasm_client_code_test.go b/examples/polkadot/push_wasm_client_code_test.go index 1da6b2a33..47c13ab92 100644 --- a/examples/polkadot/push_wasm_client_code_test.go +++ b/examples/polkadot/push_wasm_client_code_test.go @@ -5,7 +5,10 @@ import ( "crypto/sha256" "encoding/hex" "testing" + "encoding/json" + "fmt" + "github.com/icza/dyno" "github.com/strangelove-ventures/ibctest/v6" "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" "github.com/strangelove-ventures/ibctest/v6/ibc" @@ -13,17 +16,13 @@ import ( "github.com/strangelove-ventures/ibctest/v6/testutil" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" - //simappparams "github.com/cosmos/cosmos-sdk/simapp/params" ) -// Re-add once feat/wasm-client branch is on ibc-go v6 -/*func WasmClientEncoding() *simappparams.EncodingConfig { - cfg := cosmos.DefaultEncoding() - - wasmclient.RegisterInterfaces(cfg.InterfaceRegistry) - - return &cfg -}*/ +const ( + heightDelta = uint64(20) + votingPeriod = "30s" + maxDepositPeriod = "10s" +) // Spin up a simd chain, push a contract, and get that contract code from chain func TestPushWasmClientCode(t *testing.T) { @@ -47,12 +46,12 @@ func TestPushWasmClientCode(t *testing.T) { configTomlOverrides := make(testutil.Toml) apiOverrides := make(testutil.Toml) - apiOverrides["rpc-max-body-bytes"] = 1350000 + apiOverrides["rpc-max-body-bytes"] = 2_000_000 appTomlOverrides["api"] = apiOverrides rpcOverrides := make(testutil.Toml) - rpcOverrides["max_body_bytes"] = 1350000 - rpcOverrides["max_header_bytes"] = 1400000 + rpcOverrides["max_body_bytes"] = 2_000_000 + rpcOverrides["max_header_bytes"] = 2_100_000 configTomlOverrides["rpc"] = rpcOverrides //mempoolOverrides := make(testutil.Toml) @@ -63,22 +62,14 @@ func TestPushWasmClientCode(t *testing.T) { configFileOverrides["config/config.toml"] = configTomlOverrides cf := ibctest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*ibctest.ChainSpec{ - /*{ - Name: "ibc-go-simd", - Version: "feat/wasm-client", - ChainConfig: ibc.ChainConfig{ - GasPrices: "0.00stake", - EncodingConfig: WasmClientEncoding(), - } - },*/ {ChainConfig: ibc.ChainConfig{ Type: "cosmos", Name: "ibc-go-simd", ChainID: "simd", Images: []ibc.DockerImage{ { - Repository: "ibc-go-simd", - Version: "feat-wasm-client", + Repository: "ghcr.io/strangelove-ventures/heighliner/ibc-go-simd", + Version: "feat-wasm-client-230215v6", UidGid: "1025:1025", }, }, @@ -91,21 +82,19 @@ func TestPushWasmClientCode(t *testing.T) { //EncodingConfig: WasmClientEncoding(), NoHostMount: true, ConfigFileOverrides: configFileOverrides, + ModifyGenesis: modifyGenesisShortProposals(votingPeriod, maxDepositPeriod), }, }, }) - t.Logf("Calling cf.Chains") chains, err := cf.Chains(t.Name()) require.NoError(t, err) simd := chains[0] - t.Logf("NewInterchain") ic := ibctest.NewInterchain(). AddChain(simd) - t.Logf("Interchain build options") require.NoError(t, ic.Build(ctx, eRep, ibctest.InterchainBuildOptions{ TestName: t.Name(), Client: client, @@ -119,27 +108,40 @@ func TestPushWasmClientCode(t *testing.T) { }) // Create and Fund User Wallets - fundAmount := int64(100_000_000) + fundAmount := int64(10_000_000_000) users := ibctest.GetAndFundTestUsers(t, ctx, "default", int64(fundAmount), simd) simd1User := users[0] - err = testutil.WaitForBlocks(ctx, 2, simd) - require.NoError(t, err) - simd1UserBalInitial, err := simd.GetBalance(ctx, simd1User.FormattedAddress(), simd.Config().Denom) require.NoError(t, err) require.Equal(t, fundAmount, simd1UserBalInitial) - err = testutil.WaitForBlocks(ctx, 2, simd) - require.NoError(t, err) - simdChain := simd.(*cosmos.CosmosChain) - codeHash, err := simdChain.StoreClientContract(ctx, simd1User.KeyName(), "ics10_grandpa_cw.wasm") - t.Logf("Contract codeHash: %s", codeHash) - require.NoError(t, err) + // Verify a normal user cannot push a wasm light client contract + _, err = simdChain.StoreClientContract(ctx, simd1User.KeyName(), "ics10_grandpa_cw.wasm") + require.ErrorContains(t, err, "invalid authority") + + proposal := cosmos.TxProposalv1{ + Metadata: "none", + Deposit: "500000000" + simdChain.Config().Denom, // greater than min deposit + Title: "Grandpa Contract", + Summary: "new grandpa contract", + } + + proposalTx, codeHash, err := simdChain.PushNewWasmClientProposal(ctx, simd1User.KeyName(), "ics10_grandpa_cw.wasm", proposal) + require.NoError(t, err, "error submitting new wasm contract proposal tx") + + height, err := simdChain.Height(ctx) + require.NoError(t, err, "error fetching height before submit upgrade proposal") + + err = simdChain.VoteOnProposalAllValidators(ctx, proposalTx.ProposalID, cosmos.ProposalVoteYes) + require.NoError(t, err, "failed to submit votes") - err = testutil.WaitForBlocks(ctx, 5, simd) + _, err = cosmos.PollForProposalStatus(ctx, simdChain, height, height+heightDelta, proposalTx.ProposalID, cosmos.ProposalStatusPassed) + require.NoError(t, err, "proposal status did not change to passed in expected number of blocks") + + err = testutil.WaitForBlocks(ctx, 2, simd) require.NoError(t, err) var getCodeQueryMsgRsp GetCodeQueryMsgResponse @@ -155,3 +157,26 @@ func TestPushWasmClientCode(t *testing.T) { type GetCodeQueryMsgResponse struct { Code []byte `json:"code"` } + +func modifyGenesisShortProposals(votingPeriod string, maxDepositPeriod string) func(ibc.ChainConfig, []byte) ([]byte, error) { + return func(chainConfig ibc.ChainConfig, genbz []byte) ([]byte, error) { + g := make(map[string]interface{}) + if err := json.Unmarshal(genbz, &g); err != nil { + return nil, fmt.Errorf("failed to unmarshal genesis file: %w", err) + } + if err := dyno.Set(g, votingPeriod, "app_state", "gov", "voting_params", "voting_period"); err != nil { + return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) + } + if err := dyno.Set(g, maxDepositPeriod, "app_state", "gov", "deposit_params", "max_deposit_period"); err != nil { + return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) + } + if err := dyno.Set(g, chainConfig.Denom, "app_state", "gov", "deposit_params", "min_deposit", 0, "denom"); err != nil { + return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) + } + out, err := json.Marshal(g) + if err != nil { + return nil, fmt.Errorf("failed to marshal genesis bytes to json: %w", err) + } + return out, nil + } +} \ No newline at end of file diff --git a/go.mod b/go.mod index 1937ecfc7..f4aeaeb5b 100644 --- a/go.mod +++ b/go.mod @@ -9,11 +9,10 @@ require ( github.com/StirlingMarketingGroup/go-namecase v1.0.0 github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 - github.com/btcsuite/btcd v0.22.1 - github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce github.com/confio/ics23/go v0.7.0 github.com/cosmos/cosmos-sdk v0.46.2 github.com/cosmos/go-bip39 v1.0.0 + github.com/cosmos/gogoproto v1.4.4 github.com/cosmos/ibc-go/v6 v6.0.0-20221104144119-b1f494c64328 github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 @@ -21,7 +20,7 @@ require ( github.com/docker/go-connections v0.4.0 github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 github.com/gogo/protobuf v1.3.3 - github.com/google/go-cmp v0.5.8 + github.com/google/go-cmp v0.5.9 github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/libp2p/go-libp2p-core v0.15.1 @@ -36,18 +35,19 @@ require ( go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 golang.org/x/crypto v0.0.0-20220817201139-bc19a97f63c8 - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 + golang.org/x/sync v0.1.0 golang.org/x/tools v0.1.12 - google.golang.org/grpc v1.50.1 + google.golang.org/grpc v1.52.3 gopkg.in/yaml.v3 v3.0.1 modernc.org/sqlite v1.17.3 ) require ( - cloud.google.com/go v0.102.1 // indirect - cloud.google.com/go/compute v1.7.0 // indirect - cloud.google.com/go/iam v0.4.0 // indirect - cloud.google.com/go/storage v1.22.1 // indirect + cloud.google.com/go v0.105.0 // indirect + cloud.google.com/go/compute v1.12.1 // indirect + cloud.google.com/go/compute/metadata v0.2.1 // indirect + cloud.google.com/go/iam v0.7.0 // indirect + cloud.google.com/go/storage v1.27.0 // indirect cosmossdk.io/errors v1.0.0-beta.7 // indirect cosmossdk.io/math v1.0.0-beta.3 // indirect filippo.io/edwards25519 v1.0.0-rc.1 // indirect @@ -63,7 +63,7 @@ require ( 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.0 // indirect - github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect + github.com/btcsuite/btcd v0.22.1 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect @@ -103,9 +103,8 @@ require ( github.com/google/btree v1.0.1 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.1.0 // indirect - github.com/googleapis/gax-go/v2 v2.4.0 // indirect - github.com/googleapis/go-type-adapters v1.0.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect + github.com/googleapis/gax-go/v2 v2.6.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 @@ -191,15 +190,15 @@ require ( go.uber.org/goleak v1.1.12 // indirect golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.0.0-20220726230323-06994584191e // indirect - golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2 // indirect - golang.org/x/sys v0.0.0-20220818161305-2296e01440c6 // indirect - golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect - google.golang.org/api v0.93.0 // indirect + golang.org/x/net v0.4.0 // indirect + golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect + golang.org/x/sys v0.3.0 // indirect + golang.org/x/term v0.3.0 // indirect + golang.org/x/text v0.5.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/api v0.102.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959 // indirect + google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 7dc22698b..4a0ec11d5 100644 --- a/go.sum +++ b/go.sum @@ -17,39 +17,23 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= -cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= -cloud.google.com/go v0.102.1 h1:vpK6iQWv/2uUeFJth4/cBHsQAGjn1iIE6AAlxipRaA0= -cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.105.0 h1:DNtEKRBAAzeS4KyIory52wWHuClNaXJ5x1F7xa4q+5Y= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= -cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= -cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= -cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= -cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= -cloud.google.com/go/compute v1.7.0 h1:v/k9Eueb8aAJ0vZuxKMrgm6kPhCLZU9HxFU+AFDs9Uk= -cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.12.1 h1:gKVJMEyqV5c/UnpzjjQbo3Rjvvqpr9B1DFSbJC4OXr0= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute/metadata v0.2.1 h1:efOwf5ymceDhK6PKMnnrTHP4pppY5L22mle96M1yP48= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= -cloud.google.com/go/iam v0.4.0 h1:YBYU00SCDzZJdHqVc4I5d6lsklcYIjQZa1YmEz4jlSE= -cloud.google.com/go/iam v0.4.0/go.mod h1:cbaZxyScUhxl7ZAkNWiALgihfP75wS/fUsVNaa1r3vA= +cloud.google.com/go/iam v0.7.0 h1:k4MuwOsS7zGJJ+QfZ5vBK8SgHBAvYN/23BWsiihJ1vs= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -60,8 +44,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.22.1 h1:F6IlQJZrZM++apn9V5/VfS3gbTUYg98PS3EMQAzqtfg= -cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= 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-beta.3 h1:TbZxSopz2LqjJ7aXYfn7nJSb8vNaBklW6BLpcei1qwM= @@ -132,12 +116,10 @@ github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= 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-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= 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/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= @@ -166,12 +148,6 @@ github.com/cmars/basen v0.0.0-20150613233007-fe3947df716e/go.mod h1:P13beTBKr5Q1 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= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -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/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= @@ -189,6 +165,8 @@ github.com/cosmos/cosmos-sdk v0.46.2/go.mod h1:0aUPGPU6PWaDEaHNjtgrpNhgxo9bAUrQ7 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/gogoproto v1.4.4 h1:nVAsgLlAf5jeN0fV7hRlkZvf768zU+dy4pG+hxc2P34= +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/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/iavl v0.19.2-0.20220916140702-9b6be3095313 h1:R7CnaI/0OLwOusy7n9750n8fqQ3yCQ8OJQI2L3ws9RA= @@ -245,10 +223,6 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ethereum/go-ethereum v1.10.20 h1:75IW830ClSS40yrQC1ZCMZCt5I+zU16oqId2SiQwdQ4= github.com/ethereum/go-ethereum v1.10.20/go.mod h1:LWUN82TCHGpxB3En5HVmLLzPD7YSrEUFmFfN1nKkVN0= @@ -309,9 +283,7 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -328,7 +300,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -350,9 +321,8 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= -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/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= @@ -362,7 +332,6 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi 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 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -374,29 +343,17 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -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/uuid v1.1.2/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= -github.com/googleapis/enterprise-certificate-proxy v0.1.0 h1:zO8WHNx/MYiAKJ3d5spxZXZE6KHmIQGQcAzwUzV7qQw= -github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= -github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= -github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= -github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/gax-go/v2 v2.6.0 h1:SXk3ABtQYDT/OH8jAyvEOQ58mgawq5C4o/4/89qN2ZU= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= @@ -756,7 +713,6 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= @@ -815,7 +771,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -865,24 +820,17 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= 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-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/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= -golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.0.0-20220726230323-06994584191e h1:wOQNKh1uuDGRnmgF0jDxh7ctgGy/3P4rYWQRVJD4/Yg= -golang.org/x/net v0.0.0-20220726230323-06994584191e/go.mod h1:AaygXjzTFtRAg2ttMY5RMuhpJ3cNnI0XpyFJD1iQRSM= +golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= 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= @@ -892,19 +840,10 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2 h1:+jnHzr9VPj32ykQVai5DNahi9+NSp7yYuCsl5eAQtL0= -golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= 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= @@ -916,9 +855,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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/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= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -969,65 +907,44 @@ golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7w 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= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/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-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-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-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211107104306-e0b2ad06fe42/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= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220818161305-2296e01440c6 h1:Sx/u41w+OwrInGdEckYmEuU5gHoGSL4QbDz3S9s6j4U= -golang.org/x/sys v0.0.0-20220818161305-2296e01440c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.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-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 h1:Q5284mrmYTpACcm+eAKjKJH48BBwSyfJqmmGDTtT8Vc= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= 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= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= 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 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= 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= @@ -1083,10 +1000,6 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -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.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= @@ -1095,10 +1008,9 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T 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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0= -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.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1118,28 +1030,8 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= -google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= -google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= -google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= -google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= -google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= -google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= -google.golang.org/api v0.93.0 h1:T2xt9gi0gHdxdnRkVQhT8mIvPaXKNsDNWz+L696M66M= -google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.102.0 h1:JxJl2qQ85fRMPNvlZY/enexbxpCjLwGhZUtgfGeQ51I= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1187,54 +1079,9 @@ google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6D 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= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= -google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959 h1:hw4Y42zL1VyVKxPgRHHh191fpVBGV8sNVmcow5Z8VXY= -google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6 h1:a2S6M0+660BgMNl++4JPlcAO/CjkqYItDEZwkoDQK7c= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1253,23 +1100,8 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.50.1 h1:DS/BukOZWp8s6p4Dt/tOaJaTQyPyOoCcrjroHuCeLzY= -google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc v1.52.3 h1:pf7sOysg4LdgBqduXveGKrcEwbStiK2rtfghdzlUYDQ= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= 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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1283,7 +1115,6 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= 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 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= From 3ee0a18c006a972d8cbfc6cd3b371aec3ea2239b Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Thu, 16 Feb 2023 11:12:09 -0700 Subject: [PATCH 28/50] Fix denom trace param --- examples/hyperspace/hyperspace_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 655e2094e..b2d8456ab 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -24,15 +24,15 @@ import ( // Must build local docker images of hyperspace, parachain, and polkadot // ###### hyperspace ###### // * Repo: ComposableFi/centauri -// * Branch: edjroz/add-query-channels -// * Commit: 2996275ce29a2d7411af7bf3b1d65bc66a719da8 +// * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw +// * Commit: 1880a8439ccc480b0b16e07a6e37840893df4344 // * Build local Hyperspace docker from centauri repo: // amd64: "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." // arm64: "docker build -f scripts/hyperspace.aarch64.Dockerfile -t hyperspace:latest --platform=linux/arm64/v8 . // ###### parachain ###### // * Repo: ComposableFi/centauri -// * Branch: edjroz/add-query-channels -// * Commit: 043470ce1932c418d15df635480da8efb61d66d7 +// * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw +// * Commit: 1880a8439ccc480b0b16e07a6e37840893df4344 // * Build local parachain docker from centauri repo: // ./scripts/build-parachain-node-docker.sh (you can change the script to compile for ARM arch if needed) // ###### polkadot ###### @@ -395,7 +395,7 @@ func TestHyperspace(t *testing.T) { require.Equal(t, pollForBalance.Amount, cosmosUserNativeBal) fmt.Println("Initial: ", cosmosUserAmount, " Middle:", cosmosUserBalNew, " Final: ", cosmosUserNativeBal) // Trace IBC Denom - srcDenomTrace2 := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(polkadotChannelOutput[0].PortID, polkadotChannelOutputChannelOutput[0].ChannelID, "UNIT")) + srcDenomTrace2 := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(polkadotChannelOutput[0].PortID, polkadotChannelOutput[0].ChannelID, "UNIT")) dstIbcDenom2 := srcDenomTrace2.IBCDenom() fmt.Println("Dst Ibc denom:2 ", dstIbcDenom2) cosmosUserIbcBal2, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), dstIbcDenom2) From e4a76f61ab941c700c072efeb6289f90b8434857 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Thu, 16 Feb 2023 18:50:06 -0700 Subject: [PATCH 29/50] Add submitting a proposal for a new wasm contract. Clean up the test case. --- examples/hyperspace/hyperspace_test.go | 283 +++++++++++++------------ 1 file changed, 151 insertions(+), 132 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index b2d8456ab..e5e47ee00 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -6,14 +6,15 @@ import ( "encoding/hex" "fmt" "testing" + "encoding/json" + "github.com/icza/dyno" transfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" "github.com/strangelove-ventures/ibctest/v6" "github.com/strangelove-ventures/ibctest/v6/chain/cosmos" "github.com/strangelove-ventures/ibctest/v6/chain/polkadot" "github.com/strangelove-ventures/ibctest/v6/ibc" "github.com/strangelove-ventures/ibctest/v6/relayer" - "github.com/strangelove-ventures/ibctest/v6/relayer/hyperspace" "github.com/strangelove-ventures/ibctest/v6/testreporter" "github.com/strangelove-ventures/ibctest/v6/testutil" "github.com/stretchr/testify/require" @@ -43,6 +44,12 @@ import ( // amd64: docker build -f scripts/ci/dockerfiles/polkadot/polkadot_builder.Dockerfile . -t polkadot-node:local // arm64: docker build --platform linux/arm64 -f scripts/ci/dockerfiles/polkadot/polkadot_builder.aarch64.Dockerfile . -t polkadot-node:local +const ( + heightDelta = uint64(20) + votingPeriod = "30s" + maxDepositPeriod = "10s" +) + // TestHyperspace features // * sets up a Polkadot parachain // * sets up a Cosmos chain @@ -131,7 +138,7 @@ func TestHyperspace(t *testing.T) { Images: []ibc.DockerImage{ { Repository: "ghcr.io/strangelove-ventures/heighliner/ibc-go-simd", - Version: "feat-wasm-client-230118", + Version: "feat-wasm-client-230215v6", UidGid: "1025:1025", }, }, @@ -145,6 +152,7 @@ func TestHyperspace(t *testing.T) { //EncodingConfig: WasmClientEncoding(), NoHostMount: true, ConfigFileOverrides: configFileOverrides, + ModifyGenesis: modifyGenesisShortProposals(votingPeriod, maxDepositPeriod), }, }, }) @@ -155,7 +163,6 @@ func TestHyperspace(t *testing.T) { polkadotChain := chains[0].(*polkadot.PolkadotChain) cosmosChain := chains[1].(*cosmos.CosmosChain) - fmt.Println("About to build relayer factory") // Get a relayer instance r := ibctest.NewBuiltinRelayerFactory( ibc.Hyperspace, @@ -163,14 +170,12 @@ func TestHyperspace(t *testing.T) { // These two fields are used to pass in a custom Docker image built locally relayer.ImagePull(false), relayer.CustomDockerImage("hyperspace", "local", "1000:1000"), - //relayer.CustomDockerImage("hyperspace", "local", "501:20"), ).Build(t, client, network) // Build the network; spin up the chains and configure the relayer const pathName = "composable-simd" const relayerName = "hyperspace" - fmt.Println("About to create interchain") ic := ibctest.NewInterchain(). AddChain(polkadotChain). AddChain(cosmosChain). @@ -182,7 +187,6 @@ func TestHyperspace(t *testing.T) { Path: pathName, }) - fmt.Println("About to build interchain") require.NoError(t, ic.Build(ctx, eRep, ibctest.InterchainBuildOptions{ TestName: t.Name(), Client: client, @@ -196,108 +200,56 @@ func TestHyperspace(t *testing.T) { _ = ic.Close() }) - err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) - require.NoError(t, err, "cosmos or polkadot chain failed to make blocks1") - - // Fund user1 on both relay and parachain, must wait a block to fund user2 due to same faucet address - fundAmount := int64(12_333_000_000_000) - users := ibctest.GetAndFundTestUsers(t, ctx, "user1", fundAmount, polkadotChain, cosmosChain) - polkadotUser, cosmosUser := users[0], users[1] - err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) - require.NoError(t, err, "cosmos or polkadot chain failed to make blocks2") - - polkadotUserAmount, err := polkadotChain.GetBalance(ctx, polkadotUser.FormattedAddress(), polkadotChain.Config().Denom) - require.NoError(t, err) - fmt.Println("Polkadot user amount: ", polkadotUserAmount) - require.Equal(t, fundAmount, polkadotUserAmount, "Initial polkadot user amount not expected") - parachainUserAmount, err := polkadotChain.GetBalance(ctx, polkadotUser.FormattedAddress(), "") - require.NoError(t, err) - fmt.Println("Parachain user amount: ", parachainUserAmount) - require.Equal(t, fundAmount, parachainUserAmount, "Initial parachain user amount not expected") - cosmosUserAmount, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) - require.NoError(t, err) - fmt.Println("Cosmos user amount: ", cosmosUserAmount) - require.Equal(t, fundAmount, cosmosUserAmount, "Initial cosmos user amount not expected") - - // Store grandpa contract - codeHash, err := cosmosChain.StoreClientContract(ctx, cosmosUser.KeyName(), "../polkadot/ics10_grandpa_cw.wasm") - t.Logf("Contract codeHash: %s", codeHash) - require.NoError(t, err) - - err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) - require.NoError(t, err) - - var getCodeQueryMsgRsp GetCodeQueryMsgResponse - err = cosmosChain.QueryClientContractCode(ctx, codeHash, &getCodeQueryMsgRsp) - codeHashByte32 := sha256.Sum256(getCodeQueryMsgRsp.Code) - codeHash2 := hex.EncodeToString(codeHashByte32[:]) - t.Logf("Contract codeHash from code: %s", codeHash2) - require.NoError(t, err) - require.NotEmpty(t, getCodeQueryMsgRsp.Code) - require.Equal(t, codeHash, codeHash2) + // Create a proposal, vote, and wait for it to pass. Return code hash for relayer. + codeHash := pushWasmContractViaGov(t, ctx, cosmosChain) // Set client contract hash in cosmos chain config err = r.SetClientContractHash(ctx, eRep, cosmosChain.Config(), codeHash) require.NoError(t, err) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintCoreConfig(ctx, eRep) + // Ensure parachain has started (starts 1 session/epoch after relay chain) + err = testutil.WaitForBlocks(ctx, 1, polkadotChain) + require.NoError(t, err, "polkadot chain failed to make blocks") + + // Enable IBC transfers on parachain + err = polkadotChain.EnableIbcTransfers() + require.NoError(t, err) + + // Fund users on both cosmos and parachain, mints Asset 1 for Alice + fundAmount := int64(12_333_000_000_000) + polkadotUser, cosmosUser := fundUsers(t, ctx, fundAmount, polkadotChain, cosmosChain) // Create new clients err = r.CreateClients(ctx, eRep, pathName, ibc.CreateClientOptions{TrustingPeriod: "330h"}) require.NoError(t, err) - - err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) // these 1 block waits may be needed, not sure require.NoError(t, err) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - // Create a new connection err = r.CreateConnections(ctx, eRep, pathName) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) require.NoError(t, err) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - // Create a new channel & get channels from each chain err = r.CreateChannel(ctx, eRep, pathName, ibc.DefaultChannelOpts()) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) require.NoError(t, err) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, cosmosChain.Config().ChainID) - r.(*hyperspace.HyperspaceRelayer).DockerRelayer.PrintConfigs(ctx, eRep, polkadotChain.Config().ChainID) - - // Hyperspace panics on "hyperspace query channels --config xxx", this is needed. + // Get channels cosmosChannelOutput, err := r.GetChannels(ctx, eRep, cosmosChain.Config().ChainID) require.NoError(t, err) require.Equal(t, len(cosmosChannelOutput), 1) - require.Equal(t, cosmosChannelOutput[0].ChannelID, "channel-0") require.Equal(t, cosmosChannelOutput[0].PortID, "transfer") - //fmt.Println("Cosmos connection: ", cosmosConnections[0].ID) polkadotChannelOutput, err := r.GetChannels(ctx, eRep, polkadotChain.Config().ChainID) require.NoError(t, err) - + require.Equal(t, len(polkadotChannelOutput), 1) require.Equal(t, polkadotChannelOutput[0].ChannelID, "channel-0") require.Equal(t, polkadotChannelOutput[0].PortID, "transfer") - require.Equal(t, len(polkadotChannelOutput), 1) - - //fmt.Println("Polkadot connection: ", polkadotConnections[0].ID) - // err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) - // require.NoError(t, err) - - err = polkadotChain.EnableIbcTransfers() - require.NoError(t, err) - // Start relayer r.StartRelayer(ctx, eRep, pathName) require.NoError(t, err) @@ -307,28 +259,10 @@ func TestHyperspace(t *testing.T) { panic(err) } }) - err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) - require.NoError(t, err) + //err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) + //require.NoError(t, err) - // Mint 100 UNIT for alice and "polkadotUser", not sure why the ~1.5M UNIT from balance/genesis doesn't work - mint := ibc.WalletAmount{ - Address: polkadotUser.FormattedAddress(), - Denom: "1", - Amount: int64(100_000_000_000_000), // 100 UNITS, not 100T - } - err = polkadotChain.MintFunds("alice", mint) - require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) - require.NoError(t, err) - mint2 := ibc.WalletAmount{ - Address: "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", // Alice - Denom: "1", - Amount: int64(100_000_000_000_000), // 100 UNITS, not 100T - } - err = polkadotChain.MintFunds("alice", mint2) - require.NoError(t, err) - - // Send IBC Transaction, from Cosmos to Parachain (stake) + // Send 1.77 stake from cosmosUser to parachainUser amountToSend := int64(1_770_000) transfer := ibc.WalletAmount{ Address: polkadotUser.FormattedAddress(), @@ -338,72 +272,157 @@ func TestHyperspace(t *testing.T) { tx, err := cosmosChain.SendIBCTransfer(ctx, cosmosChannelOutput[0].ChannelID, cosmosUser.KeyName(), transfer, ibc.TransferOptions{}) require.NoError(t, err) require.NoError(t, tx.Validate()) // test source wallet has decreased funds - - err = testutil.WaitForBlocks(ctx, 10, cosmosChain, polkadotChain) + err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) require.NoError(t, err) - // Verify cosmosUser balance went down 1.77M - expectedBal := cosmosUserAmount - amountToSend - cosmosUserBalNew, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) - require.NoError(t, err) - require.Equal(t, expectedBal, cosmosUserBalNew) - - // Trace IBC Denom of stake on parachain + /*// Trace IBC Denom of stake on parachain srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(cosmosChannelOutput[0].PortID, cosmosChannelOutput[0].ChannelID, cosmosChain.Config().Denom)) dstIbcDenom := srcDenomTrace.IBCDenom() fmt.Println("Dst Ibc denom: ", dstIbcDenom) - // Test destination wallet has increased funds, this is not working + // Test destination wallet has increased funds, this is not working, want to verify IBC balance on parachain //pubKey, err := polkadot.DecodeAddressSS58(polkadotUser.FormattedAddress()) //polkadotUserIbcCoins2, err := polkadotChain.GetIbcBalance(ctx, pubKey) //polkadotUserIbcCoins3, err := polkadotChain.GetIbcBalance(ctx, []byte(hex.EncodeToString(pubKey))) polkadotUserIbcCoins, err := polkadotChain.GetIbcBalance(ctx, polkadotUser.Address()) - fmt.Println("IbcCoins: ", polkadotUserIbcCoins.String(), " -- this probably doesn't work, Error: ", err) + fmt.Println("IbcCoins: ", polkadotUserIbcCoins.String(), " -- this probably doesn't work, Error: ", err)*/ - // Send 1.18M stake from ParachainUser to CosmosUser - amountToSend2 := int64(1_180_000) - transfer2 := ibc.WalletAmount{ + // Send 1.16 stake from parachainUser to cosmosUser + amountToReflect := int64(1_160_000) + reflectTransfer := ibc.WalletAmount{ Address: cosmosUser.FormattedAddress(), Denom: "2", // stake - Amount: amountToSend2, + Amount: amountToReflect, } - _, err = polkadotChain.SendIBCTransfer(ctx, polkadotChannelOutput[0].ChannelID, polkadotUser.KeyName(), transfer2, ibc.TransferOptions{}) + _, err = polkadotChain.SendIBCTransfer(ctx, polkadotChannelOutput[0].ChannelID, polkadotUser.KeyName(), reflectTransfer, ibc.TransferOptions{}) require.NoError(t, err) - // Send 1.88T "UNIT" from Alice to CosmosUser - amountToSend1 := int64(1_880_000_000_000) - transfer1 := ibc.WalletAmount{ + // Send 1.88 "UNIT" from Alice to cosmosUser + amountUnits := int64(1_880_000_000_000) + unitTransfer := ibc.WalletAmount{ Address: cosmosUser.FormattedAddress(), Denom: "1", // UNIT - Amount: amountToSend1, + Amount: amountUnits, } - _, err = polkadotChain.SendIBCTransfer(ctx, polkadotChannelOutput[0].ChannelID, "alice", transfer1, ibc.TransferOptions{}) + _, err = polkadotChain.SendIBCTransfer(ctx, polkadotChannelOutput[0].ChannelID, "alice", unitTransfer, ibc.TransferOptions{}) require.NoError(t, err) - // Wait for MsgRecvPacket - pollForBalance := ibc.WalletAmount{ + // Wait for MsgRecvPacket on cosmos chain + finalStakeBal := fundAmount - amountToSend + amountToReflect + err = cosmos.PollForBalance(ctx, cosmosChain, 20, ibc.WalletAmount{ Address: cosmosUser.FormattedAddress(), Denom: cosmosChain.Config().Denom, - Amount: expectedBal + amountToSend2, - } - err = cosmos.PollForBalance(ctx, cosmosChain, 30, pollForBalance) + Amount: finalStakeBal, + }) require.NoError(t, err) - // Verify final balances - cosmosUserNativeBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) + // Verify final cosmos user "stake" balance + cosmosUserStakeBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) require.NoError(t, err) - require.Equal(t, pollForBalance.Amount, cosmosUserNativeBal) - fmt.Println("Initial: ", cosmosUserAmount, " Middle:", cosmosUserBalNew, " Final: ", cosmosUserNativeBal) - // Trace IBC Denom - srcDenomTrace2 := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(polkadotChannelOutput[0].PortID, polkadotChannelOutput[0].ChannelID, "UNIT")) - dstIbcDenom2 := srcDenomTrace2.IBCDenom() - fmt.Println("Dst Ibc denom:2 ", dstIbcDenom2) - cosmosUserIbcBal2, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), dstIbcDenom2) + require.Equal(t, finalStakeBal, cosmosUserStakeBal) + // Verify final cosmos user "unit" balance + unitDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(polkadotChannelOutput[0].PortID, polkadotChannelOutput[0].ChannelID, "UNIT")) + cosmosUserUnitBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), unitDenomTrace.IBCDenom()) require.NoError(t, err) - require.Equal(t, amountToSend1, cosmosUserIbcBal2) - fmt.Println("CosmosUserIbcBal2: ", cosmosUserIbcBal2) + require.Equal(t, amountUnits, cosmosUserUnitBal) } type GetCodeQueryMsgResponse struct { Code []byte `json:"code"` } + +func pushWasmContractViaGov(t *testing.T, ctx context.Context, cosmosChain *cosmos.CosmosChain) string { + // Set up cosmos user for pushing new wasm code msg via governance + fundAmountForGov := int64(10_000_000_000) + contractUsers := ibctest.GetAndFundTestUsers(t, ctx, "default", int64(fundAmountForGov), cosmosChain) + contractUser := contractUsers[0] + + contractUserBalInitial, err := cosmosChain.GetBalance(ctx, contractUser.FormattedAddress(), cosmosChain.Config().Denom) + require.NoError(t, err) + require.Equal(t, fundAmountForGov, contractUserBalInitial) + + proposal := cosmos.TxProposalv1{ + Metadata: "none", + Deposit: "500000000" + cosmosChain.Config().Denom, // greater than min deposit + Title: "Grandpa Contract", + Summary: "new grandpa contract", + } + + proposalTx, codeHash, err := cosmosChain.PushNewWasmClientProposal(ctx, contractUser.KeyName(), "../polkadot/ics10_grandpa_cw.wasm", proposal) + require.NoError(t, err, "error submitting new wasm contract proposal tx") + + height, err := cosmosChain.Height(ctx) + require.NoError(t, err, "error fetching height before submit upgrade proposal") + + err = cosmosChain.VoteOnProposalAllValidators(ctx, proposalTx.ProposalID, cosmos.ProposalVoteYes) + require.NoError(t, err, "failed to submit votes") + + _, err = cosmos.PollForProposalStatus(ctx, cosmosChain, height, height+heightDelta, proposalTx.ProposalID, cosmos.ProposalStatusPassed) + require.NoError(t, err, "proposal status did not change to passed in expected number of blocks") + + err = testutil.WaitForBlocks(ctx, 1, cosmosChain) + require.NoError(t, err) + + var getCodeQueryMsgRsp GetCodeQueryMsgResponse + err = cosmosChain.QueryClientContractCode(ctx, codeHash, &getCodeQueryMsgRsp) + codeHashByte32 := sha256.Sum256(getCodeQueryMsgRsp.Code) + codeHash2 := hex.EncodeToString(codeHashByte32[:]) + t.Logf("Contract codeHash from code: %s", codeHash2) + require.NoError(t, err) + require.NotEmpty(t, getCodeQueryMsgRsp.Code) + require.Equal(t, codeHash, codeHash2) + + return codeHash +} + +func fundUsers(t *testing.T, ctx context.Context, fundAmount int64, polkadotChain ibc.Chain, cosmosChain ibc.Chain)(ibc.Wallet, ibc.Wallet) { + users := ibctest.GetAndFundTestUsers(t, ctx, "user", fundAmount, polkadotChain, cosmosChain) + polkadotUser, cosmosUser := users[0], users[1] + err := testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) // Only waiting 1 block is flaky for parachain + require.NoError(t, err, "cosmos or polkadot chain failed to make blocks") + + // Check balances are correct + polkadotUserAmount, err := polkadotChain.GetBalance(ctx, polkadotUser.FormattedAddress(), polkadotChain.Config().Denom) + require.NoError(t, err) + require.Equal(t, fundAmount, polkadotUserAmount, "Initial polkadot user amount not expected") + parachainUserAmount, err := polkadotChain.GetBalance(ctx, polkadotUser.FormattedAddress(), "") + require.NoError(t, err) + require.Equal(t, fundAmount, parachainUserAmount, "Initial parachain user amount not expected") + cosmosUserAmount, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) + require.NoError(t, err) + require.Equal(t, fundAmount, cosmosUserAmount, "Initial cosmos user amount not expected") + + // Mint 100 "UNIT"/"Asset 1" for alice , not sure why the ~1.5M UNIT from balance/genesis doesn't work + mint := ibc.WalletAmount{ + Address: "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", // Alice + Denom: "1", + Amount: int64(100_000_000_000_000), // 100 UNITS, not 100T + } + err = polkadotChain.(*polkadot.PolkadotChain).MintFunds("alice", mint) + require.NoError(t, err) + + return polkadotUser, cosmosUser +} + +func modifyGenesisShortProposals(votingPeriod string, maxDepositPeriod string) func(ibc.ChainConfig, []byte) ([]byte, error) { + return func(chainConfig ibc.ChainConfig, genbz []byte) ([]byte, error) { + g := make(map[string]interface{}) + if err := json.Unmarshal(genbz, &g); err != nil { + return nil, fmt.Errorf("failed to unmarshal genesis file: %w", err) + } + if err := dyno.Set(g, votingPeriod, "app_state", "gov", "voting_params", "voting_period"); err != nil { + return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) + } + if err := dyno.Set(g, maxDepositPeriod, "app_state", "gov", "deposit_params", "max_deposit_period"); err != nil { + return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) + } + if err := dyno.Set(g, chainConfig.Denom, "app_state", "gov", "deposit_params", "min_deposit", 0, "denom"); err != nil { + return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) + } + out, err := json.Marshal(g) + if err != nil { + return nil, fmt.Errorf("failed to marshal genesis bytes to json: %w", err) + } + return out, nil + } +} \ No newline at end of file From 47288175f4d82d057a3c73ee643dd60c15e25d07 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 17 Feb 2023 17:04:02 -0700 Subject: [PATCH 30/50] Bump to ibc-go v7, cosmos-sdk v0.47, polkadot v0.9.36, update parachains mint funds & send ibc tx msgs --- chain/cosmos/08-wasm-types/client_state.go | 13 +- chain/cosmos/08-wasm-types/codec.go | 2 +- chain/cosmos/08-wasm-types/consensus_state.go | 2 +- chain/cosmos/08-wasm-types/header.go | 2 +- chain/cosmos/08-wasm-types/misbehavior.go | 2 +- chain/cosmos/08-wasm-types/module.go | 57 ++++++ chain/cosmos/08-wasm-types/msgs.go | 2 +- chain/cosmos/08-wasm-types/tx.pb.go | 20 +- chain/cosmos/08-wasm-types/wasm.pb.go | 176 ++++-------------- chain/cosmos/codec.go | 2 + chain/cosmos/cosmos_chain.go | 2 +- chain/polkadot/tx.go | 7 +- examples/hyperspace/hyperspace_test.go | 20 +- examples/polkadot/ics10_grandpa_cw.wasm | Bin 782032 -> 776512 bytes .../polkadot/push_wasm_client_code_test.go | 10 +- go.mod | 10 +- 16 files changed, 138 insertions(+), 189 deletions(-) create mode 100644 chain/cosmos/08-wasm-types/module.go diff --git a/chain/cosmos/08-wasm-types/client_state.go b/chain/cosmos/08-wasm-types/client_state.go index 51409d906..2c115391f 100644 --- a/chain/cosmos/08-wasm-types/client_state.go +++ b/chain/cosmos/08-wasm-types/client_state.go @@ -1,7 +1,6 @@ -package wasmclienttypes +package wasm import ( - ics23 "github.com/confio/ics23/go" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" @@ -55,7 +54,7 @@ func (c ClientState) VerifyMembership( delayTimePeriod uint64, delayBlockPeriod uint64, proof []byte, - path []byte, + path exported.Path, value []byte, ) error { return nil @@ -69,7 +68,7 @@ func (c ClientState) VerifyNonMembership( delayTimePeriod uint64, delayBlockPeriod uint64, proof []byte, - path []byte, + path exported.Path, ) error { return nil } @@ -114,17 +113,11 @@ func (c ClientState) VerifyUpgradeAndUpdateState( return nil } -func (c *ClientState) GetProofSpecs() []*ics23.ProofSpec { - return c.ProofSpecs -} - // NewClientState creates a new ClientState instance. func NewClientState(latestSequence uint64, consensusState *ConsensusState) *ClientState { return &ClientState{ Data: []byte{0}, CodeId: []byte{}, LatestHeight: clienttypes.Height{}, - ProofSpecs: []*ics23.ProofSpec{}, - Repository: "", } } \ No newline at end of file diff --git a/chain/cosmos/08-wasm-types/codec.go b/chain/cosmos/08-wasm-types/codec.go index c7b19b93f..9a7d49b6a 100644 --- a/chain/cosmos/08-wasm-types/codec.go +++ b/chain/cosmos/08-wasm-types/codec.go @@ -1,4 +1,4 @@ -package wasmclienttypes +package wasm import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" diff --git a/chain/cosmos/08-wasm-types/consensus_state.go b/chain/cosmos/08-wasm-types/consensus_state.go index 5b9afd9c2..5014a1472 100644 --- a/chain/cosmos/08-wasm-types/consensus_state.go +++ b/chain/cosmos/08-wasm-types/consensus_state.go @@ -1,4 +1,4 @@ -package wasmclienttypes +package wasm import ( "github.com/cosmos/ibc-go/v7/modules/core/exported" diff --git a/chain/cosmos/08-wasm-types/header.go b/chain/cosmos/08-wasm-types/header.go index 9a0515c18..df26cdbec 100644 --- a/chain/cosmos/08-wasm-types/header.go +++ b/chain/cosmos/08-wasm-types/header.go @@ -1,4 +1,4 @@ -package wasmclienttypes +package wasm import ( "github.com/cosmos/ibc-go/v7/modules/core/exported" diff --git a/chain/cosmos/08-wasm-types/misbehavior.go b/chain/cosmos/08-wasm-types/misbehavior.go index bc426ed46..9f0b6b18f 100644 --- a/chain/cosmos/08-wasm-types/misbehavior.go +++ b/chain/cosmos/08-wasm-types/misbehavior.go @@ -1,4 +1,4 @@ -package wasmclienttypes +package wasm import ( exported "github.com/cosmos/ibc-go/v7/modules/core/exported" diff --git a/chain/cosmos/08-wasm-types/module.go b/chain/cosmos/08-wasm-types/module.go new file mode 100644 index 000000000..9551ce0b7 --- /dev/null +++ b/chain/cosmos/08-wasm-types/module.go @@ -0,0 +1,57 @@ +package wasm + +import ( + "encoding/json" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/types/module" + //grpc "github.com/cosmos/gogoproto/grpc" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/spf13/cobra" +) + +var _ module.AppModuleBasic = AppModuleBasic{} + +// AppModuleBasic defines the basic application module used by the tendermint light client. +// Only the RegisterInterfaces function needs to be implemented. All other function perform +// a no-op. +type AppModuleBasic struct{} + +// Name returns the tendermint module name. +func (AppModuleBasic) Name() string { + return "08-wasm" +} + +// RegisterLegacyAminoCodec performs a no-op. The Wasm client does not support amino. +func (AppModuleBasic) RegisterLegacyAminoCodec(*codec.LegacyAmino) {} + +// RegisterInterfaces registers module concrete types into protobuf Any. This allows core IBC +// to unmarshal wasm light client types. +func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry) { + RegisterInterfaces(registry) +} + +// DefaultGenesis performs a no-op. Genesis is not supported for the tendermint light client. +func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { + return nil +} + +// ValidateGenesis performs a no-op. Genesis is not supported for the tendermint light cilent. +func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error { + return nil +} + +// RegisterGRPCGatewayRoutes performs a no-op. +func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) {} + +// GetTxCmd performs a no-op. Please see the 02-client cli commands. +func (AppModuleBasic) GetTxCmd() *cobra.Command { + return nil +} + +// GetQueryCmd performs a no-op. Please see the 02-client cli commands. +func (AppModuleBasic) GetQueryCmd() *cobra.Command { + return nil +} diff --git a/chain/cosmos/08-wasm-types/msgs.go b/chain/cosmos/08-wasm-types/msgs.go index e33543f35..9691d2a75 100644 --- a/chain/cosmos/08-wasm-types/msgs.go +++ b/chain/cosmos/08-wasm-types/msgs.go @@ -1,4 +1,4 @@ -package wasmclienttypes +package wasm import ( sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/chain/cosmos/08-wasm-types/tx.pb.go b/chain/cosmos/08-wasm-types/tx.pb.go index f51d01b9b..fe1927eae 100644 --- a/chain/cosmos/08-wasm-types/tx.pb.go +++ b/chain/cosmos/08-wasm-types/tx.pb.go @@ -1,13 +1,13 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: ibc/lightclients/wasm/v1/tx.proto -package wasmclienttypes +package wasm import ( context "context" fmt "fmt" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" + grpc1 "github.com/cosmos/gogoproto/grpc" + proto "github.com/cosmos/gogoproto/proto" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -30,7 +30,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // Message type to push new wasm code type MsgPushNewWasmCode struct { Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` - Code []byte `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + Code []byte `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` } func (m *MsgPushNewWasmCode) Reset() { *m = MsgPushNewWasmCode{} } @@ -140,7 +140,7 @@ var fileDescriptor_1d9737363bf1e38d = []byte{ 0x4c, 0x4a, 0xd6, 0x43, 0x56, 0xa2, 0x07, 0x52, 0xa2, 0x57, 0x66, 0xa8, 0xe4, 0xc0, 0x25, 0xe4, 0x5b, 0x9c, 0x1e, 0x50, 0x5a, 0x9c, 0xe1, 0x97, 0x5a, 0x1e, 0x9e, 0x58, 0x9c, 0xeb, 0x9c, 0x9f, 0x92, 0x2a, 0x24, 0xc6, 0xc5, 0x56, 0x9c, 0x99, 0x9e, 0x97, 0x5a, 0x24, 0xc1, 0xa8, 0xc0, 0xa8, - 0xc1, 0x19, 0x04, 0xe5, 0x09, 0x09, 0x71, 0xb1, 0x24, 0xe7, 0xa7, 0xa4, 0x4a, 0x30, 0x2b, 0x30, + 0xc1, 0x19, 0x04, 0xe5, 0x09, 0x09, 0x71, 0xb1, 0x24, 0xe7, 0xa7, 0xa4, 0x4a, 0x30, 0x29, 0x30, 0x6a, 0xf0, 0x04, 0x81, 0xd9, 0x4a, 0xa6, 0x5c, 0x52, 0x98, 0x26, 0x04, 0xa5, 0x16, 0x17, 0xe4, 0xe7, 0x15, 0xa7, 0x0a, 0x89, 0x73, 0xb1, 0x83, 0x54, 0xc5, 0x67, 0xa6, 0x80, 0x8d, 0xe2, 0x09, 0x62, 0x03, 0x71, 0x3d, 0x53, 0x8c, 0x6a, 0xb8, 0x98, 0x7d, 0x8b, 0xd3, 0x85, 0x4a, 0xb9, 0xf8, @@ -148,9 +148,9 @@ var fileDescriptor_1d9737363bf1e38d = []byte{ 0x96, 0x53, 0xc4, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xd9, 0xa5, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x27, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, - 0x67, 0x26, 0x25, 0xeb, 0xa6, 0xe7, 0xeb, 0x97, 0x99, 0xea, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, - 0x16, 0x43, 0x42, 0x5b, 0x17, 0x16, 0xdc, 0x86, 0x06, 0xba, 0x20, 0x2b, 0xad, 0x41, 0x44, 0x12, - 0x1b, 0x38, 0xc4, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb6, 0x87, 0x5c, 0x5b, 0x96, 0x01, + 0x67, 0x26, 0x25, 0xeb, 0xa6, 0xe7, 0xeb, 0x97, 0x99, 0xeb, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, + 0x16, 0x43, 0x42, 0x5b, 0x17, 0x16, 0xdc, 0x06, 0x16, 0xba, 0x20, 0x2b, 0xad, 0x41, 0x44, 0x12, + 0x1b, 0x38, 0xc4, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x56, 0x95, 0x69, 0x96, 0x01, 0x00, 0x00, } @@ -261,7 +261,7 @@ func (m *MsgPushNewWasmCode) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.Code) i = encodeVarintTx(dAtA, i, uint64(len(m.Code))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x12 } if len(m.Signer) > 0 { i -= len(m.Signer) @@ -411,7 +411,7 @@ func (m *MsgPushNewWasmCode) Unmarshal(dAtA []byte) error { } m.Signer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType) } diff --git a/chain/cosmos/08-wasm-types/wasm.pb.go b/chain/cosmos/08-wasm-types/wasm.pb.go index 8bc41db02..859c5ad05 100644 --- a/chain/cosmos/08-wasm-types/wasm.pb.go +++ b/chain/cosmos/08-wasm-types/wasm.pb.go @@ -1,15 +1,14 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: ibc/lightclients/wasm/v1/wasm.proto -package wasmclienttypes +package wasm import ( fmt "fmt" - _go "github.com/confio/ics23/go" + _ "github.com/cosmos/gogoproto/gogoproto" + proto "github.com/cosmos/gogoproto/proto" types "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" types1 "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" io "io" math "math" math_bits "math/bits" @@ -28,11 +27,9 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // Wasm light client's Client state type ClientState struct { - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - CodeId []byte `protobuf:"bytes,2,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` - LatestHeight types.Height `protobuf:"bytes,3,opt,name=latest_height,json=latestHeight,proto3" json:"latest_height" yaml:"latest_height"` - ProofSpecs []*_go.ProofSpec `protobuf:"bytes,4,rep,name=proof_specs,json=proofSpecs,proto3" json:"proof_specs,omitempty"` - Repository string `protobuf:"bytes,5,opt,name=repository,proto3" json:"repository,omitempty"` + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + CodeId []byte `protobuf:"bytes,2,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + LatestHeight types.Height `protobuf:"bytes,3,opt,name=latest_height,json=latestHeight,proto3" json:"latest_height" yaml:"latest_height"` } func (m *ClientState) Reset() { *m = ClientState{} } @@ -202,40 +199,36 @@ func init() { } var fileDescriptor_678928ebbdee1807 = []byte{ - // 515 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0x4d, 0x8b, 0xd3, 0x40, - 0x18, 0x6e, 0x76, 0x63, 0xb5, 0xd3, 0xae, 0x2c, 0xa1, 0x62, 0x28, 0x4b, 0x52, 0xe2, 0xc1, 0x5e, - 0x9a, 0x98, 0x2e, 0x7a, 0x58, 0xc1, 0x43, 0xf7, 0xb2, 0x3d, 0x2c, 0x48, 0xf6, 0x22, 0x8a, 0x94, - 0x64, 0x32, 0xa6, 0x83, 0x99, 0xbe, 0x21, 0x33, 0x8d, 0xec, 0x3f, 0xf0, 0xe8, 0xd5, 0x9b, 0x3f, - 0x67, 0x8f, 0x7b, 0xf4, 0x54, 0xa4, 0xfd, 0x07, 0xfd, 0x05, 0x32, 0x33, 0xe9, 0x87, 0x20, 0x08, - 0x5e, 0x92, 0xf7, 0xe3, 0xc9, 0x33, 0xcf, 0xfb, 0x64, 0x5e, 0xf4, 0x8c, 0x26, 0x38, 0xc8, 0x69, - 0x36, 0x13, 0x38, 0xa7, 0x64, 0x2e, 0x78, 0xf0, 0x25, 0xe6, 0x2c, 0xa8, 0x42, 0xf5, 0xf6, 0x8b, - 0x12, 0x04, 0x58, 0x36, 0x4d, 0xb0, 0x7f, 0x08, 0xf2, 0x55, 0xb3, 0x0a, 0x7b, 0xdd, 0x0c, 0x32, - 0x50, 0xa0, 0x40, 0x46, 0x1a, 0xdf, 0x73, 0x25, 0x29, 0x86, 0x92, 0x04, 0x1a, 0x2f, 0xe9, 0x74, - 0x54, 0x03, 0x9e, 0xef, 0x01, 0xc0, 0x18, 0x15, 0x6c, 0x0b, 0xda, 0x65, 0x35, 0xb0, 0x53, 0x94, - 0x00, 0x9f, 0xb8, 0xce, 0xbc, 0x8d, 0x81, 0xda, 0x97, 0x8a, 0xe7, 0x46, 0xc4, 0x82, 0x58, 0x16, - 0x32, 0xd3, 0x58, 0xc4, 0xb6, 0xd1, 0x37, 0x06, 0x9d, 0x48, 0xc5, 0xd6, 0x53, 0xf4, 0x10, 0x43, - 0x4a, 0xa6, 0x34, 0xb5, 0x8f, 0x54, 0xb9, 0x29, 0xd3, 0x49, 0x6a, 0x7d, 0x44, 0x27, 0x79, 0x2c, - 0x08, 0x17, 0xd3, 0x19, 0x91, 0xa3, 0xd8, 0xc7, 0x7d, 0x63, 0xd0, 0x1e, 0xf5, 0x7c, 0x39, 0x9c, - 0xd4, 0xe2, 0xd7, 0x12, 0xab, 0xd0, 0xbf, 0x52, 0x88, 0xf1, 0xd9, 0xdd, 0xd2, 0x6d, 0x6c, 0x96, - 0x6e, 0xf7, 0x36, 0x66, 0xf9, 0x85, 0xf7, 0xc7, 0xe7, 0x5e, 0xd4, 0xd1, 0xb9, 0xc6, 0x5a, 0x21, - 0x6a, 0x2b, 0xad, 0x53, 0x5e, 0x10, 0xcc, 0x6d, 0xb3, 0x7f, 0x3c, 0x68, 0x8f, 0x4e, 0x7d, 0x8a, - 0xf9, 0xe8, 0xdc, 0x7f, 0x2b, 0x3b, 0x37, 0x05, 0xc1, 0x11, 0x2a, 0xb6, 0x21, 0xb7, 0x1c, 0x84, - 0x4a, 0x52, 0x00, 0xa7, 0x02, 0xca, 0x5b, 0xfb, 0x41, 0xdf, 0x18, 0xb4, 0xa2, 0x83, 0xca, 0x85, - 0xf9, 0xf5, 0x87, 0xdb, 0xf0, 0xbe, 0x1b, 0xe8, 0xf1, 0x25, 0xcc, 0x39, 0x99, 0xf3, 0x05, 0xff, - 0x8f, 0xb9, 0xcf, 0x50, 0x4b, 0x50, 0x46, 0xb8, 0x88, 0x59, 0xa1, 0x66, 0x36, 0xa3, 0x7d, 0xc1, - 0x7a, 0x85, 0xcc, 0x12, 0x40, 0xd8, 0xa6, 0x32, 0xc3, 0x3b, 0x30, 0x63, 0xff, 0x2b, 0xaa, 0xd0, - 0xbf, 0x26, 0xe5, 0xe7, 0x9c, 0x44, 0x00, 0x22, 0x52, 0xf8, 0x5a, 0x1b, 0x43, 0xcd, 0x2b, 0x12, - 0xa7, 0xa4, 0xfc, 0xab, 0xa4, 0x09, 0x6a, 0xd6, 0x56, 0x1f, 0xfd, 0xd3, 0xea, 0x27, 0xb5, 0xd5, - 0x27, 0xda, 0xea, 0xad, 0xc7, 0x35, 0x41, 0x7d, 0xdc, 0x07, 0xd4, 0xb9, 0xa6, 0x3c, 0x21, 0xb3, - 0xb8, 0xa2, 0xb0, 0x28, 0xad, 0x10, 0xb5, 0x34, 0x91, 0x9c, 0x5a, 0x9e, 0xdc, 0x1a, 0x77, 0x37, - 0x4b, 0xf7, 0x54, 0x73, 0xec, 0x5a, 0x5e, 0xf4, 0x48, 0xc7, 0x93, 0x74, 0xa7, 0xf3, 0x68, 0xaf, - 0x53, 0x93, 0x8f, 0xdf, 0xdd, 0xad, 0x1c, 0xe3, 0x7e, 0xe5, 0x18, 0xbf, 0x56, 0x8e, 0xf1, 0x6d, - 0xed, 0x34, 0xee, 0xd7, 0x4e, 0xe3, 0xe7, 0xda, 0x69, 0xbc, 0x7f, 0x93, 0x51, 0x31, 0x5b, 0x24, - 0xd2, 0x92, 0x00, 0x03, 0x67, 0xc0, 0x03, 0x9a, 0xe0, 0x61, 0x06, 0x41, 0xf5, 0x32, 0x60, 0x90, - 0x2e, 0x72, 0xc2, 0xf5, 0x0e, 0x0d, 0xb7, 0x4b, 0x14, 0xbe, 0x18, 0xca, 0x15, 0x79, 0x2d, 0x1f, - 0x49, 0x53, 0xdd, 0xde, 0xf3, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x37, 0x92, 0x65, 0x50, 0x6c, - 0x03, 0x00, 0x00, + // 458 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0xc1, 0x6e, 0xd3, 0x30, + 0x18, 0xc7, 0xe3, 0x12, 0x15, 0xea, 0x75, 0x08, 0x45, 0x45, 0x44, 0xd5, 0x94, 0x4c, 0xe1, 0xc0, + 0x2e, 0x8d, 0x09, 0x48, 0x80, 0x86, 0xc4, 0xa1, 0xbb, 0xac, 0x87, 0x5d, 0xc2, 0x05, 0x81, 0xd0, + 0xe4, 0x24, 0x56, 0x6a, 0x11, 0xf7, 0x9b, 0x62, 0x37, 0x88, 0x37, 0xe0, 0xc8, 0x95, 0x13, 0x3c, + 0xce, 0x8e, 0x3b, 0x72, 0xaa, 0x50, 0xfb, 0x06, 0x7b, 0x02, 0x64, 0x3b, 0x6d, 0x86, 0x84, 0x84, + 0xb4, 0x4b, 0xf2, 0xd9, 0xfe, 0xf9, 0xff, 0xfd, 0xfd, 0xd7, 0x87, 0x1f, 0xf3, 0x2c, 0x27, 0x15, + 0x2f, 0xe7, 0x2a, 0xaf, 0x38, 0x5b, 0x28, 0x49, 0x3e, 0x53, 0x29, 0x48, 0x93, 0x98, 0x7f, 0x7c, + 0x51, 0x83, 0x02, 0xcf, 0xe7, 0x59, 0x1e, 0xdf, 0x84, 0x62, 0x73, 0xd8, 0x24, 0xe3, 0x51, 0x09, + 0x25, 0x18, 0x88, 0xe8, 0xca, 0xf2, 0xe3, 0x50, 0x8b, 0xe6, 0x50, 0x33, 0x62, 0x79, 0x2d, 0x67, + 0xab, 0x16, 0x78, 0xd2, 0x01, 0x20, 0x04, 0x57, 0x62, 0x0b, 0xed, 0x56, 0x16, 0x8c, 0x7e, 0x20, + 0xbc, 0x77, 0x62, 0x6e, 0xbe, 0x55, 0x54, 0x31, 0xcf, 0xc3, 0x6e, 0x41, 0x15, 0xf5, 0xd1, 0x21, + 0x3a, 0x1a, 0xa6, 0xa6, 0xf6, 0x1e, 0xe1, 0xbb, 0x39, 0x14, 0xec, 0x9c, 0x17, 0x7e, 0xcf, 0x6c, + 0xf7, 0xf5, 0x72, 0x56, 0x78, 0x1f, 0xf1, 0x7e, 0x45, 0x15, 0x93, 0xea, 0x7c, 0xce, 0xb4, 0x79, + 0xff, 0xce, 0x21, 0x3a, 0xda, 0x7b, 0x36, 0x8e, 0xf5, 0x73, 0x74, 0xf7, 0xb8, 0x35, 0xd5, 0x24, + 0xf1, 0xa9, 0x21, 0xa6, 0x07, 0x97, 0xab, 0xd0, 0xb9, 0x5e, 0x85, 0xa3, 0x2f, 0x54, 0x54, 0xc7, + 0xd1, 0x5f, 0xd7, 0xa3, 0x74, 0x68, 0xd7, 0x96, 0x3d, 0x76, 0xbf, 0xfe, 0x0c, 0x9d, 0xe8, 0x3b, + 0xc2, 0xf7, 0x4f, 0x60, 0x21, 0xd9, 0x42, 0x2e, 0xe5, 0x2d, 0x4c, 0x1e, 0xe0, 0x81, 0xe2, 0x82, + 0x49, 0x45, 0xc5, 0x85, 0x31, 0xe8, 0xa6, 0xdd, 0x86, 0xf7, 0x02, 0xbb, 0x35, 0x80, 0xf2, 0x5d, + 0xe3, 0x3c, 0xba, 0xe1, 0xbc, 0x4b, 0xaa, 0x49, 0xe2, 0x33, 0x56, 0x7f, 0xaa, 0x58, 0x0a, 0xa0, + 0x52, 0xc3, 0xb7, 0xde, 0x04, 0xee, 0x9f, 0x32, 0x5a, 0xb0, 0xfa, 0x9f, 0x96, 0x66, 0xb8, 0xdf, + 0xe6, 0xd2, 0xfb, 0x6f, 0x2e, 0x0f, 0xdb, 0x5c, 0xf6, 0x6d, 0x2e, 0xdb, 0x40, 0x5a, 0x81, 0xb6, + 0xdd, 0x07, 0x3c, 0x3c, 0xe3, 0x32, 0x63, 0x73, 0xda, 0x70, 0x58, 0xd6, 0x5e, 0x82, 0x07, 0x56, + 0x48, 0xbf, 0x5a, 0x77, 0x1e, 0x4c, 0x47, 0xd7, 0xab, 0xf0, 0x81, 0xd5, 0xd8, 0x1d, 0x45, 0xe9, + 0x3d, 0x5b, 0xcf, 0x8a, 0x9d, 0xcf, 0x5e, 0xe7, 0xd3, 0x8a, 0x4f, 0xdf, 0x5d, 0xae, 0x03, 0x74, + 0xb5, 0x0e, 0xd0, 0xef, 0x75, 0x80, 0xbe, 0x6d, 0x02, 0xe7, 0x6a, 0x13, 0x38, 0xbf, 0x36, 0x81, + 0xf3, 0xfe, 0x4d, 0xc9, 0xd5, 0x7c, 0x99, 0xe9, 0x48, 0x48, 0x0e, 0x52, 0x80, 0x24, 0x3c, 0xcb, + 0x27, 0x25, 0x90, 0xe6, 0x25, 0x11, 0x50, 0x2c, 0x2b, 0x26, 0xed, 0x88, 0x4f, 0xb6, 0x33, 0xfe, + 0xf4, 0xd5, 0x44, 0x4f, 0xf0, 0x6b, 0xfd, 0xc9, 0xfa, 0x66, 0xd4, 0x9e, 0xff, 0x09, 0x00, 0x00, + 0xff, 0xff, 0x7c, 0x6a, 0x58, 0x13, 0x0b, 0x03, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { @@ -258,27 +251,6 @@ func (m *ClientState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.Repository) > 0 { - i -= len(m.Repository) - copy(dAtA[i:], m.Repository) - i = encodeVarintWasm(dAtA, i, uint64(len(m.Repository))) - i-- - dAtA[i] = 0x2a - } - if len(m.ProofSpecs) > 0 { - for iNdEx := len(m.ProofSpecs) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ProofSpecs[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintWasm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - } { size, err := m.LatestHeight.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -464,16 +436,6 @@ func (m *ClientState) Size() (n int) { } l = m.LatestHeight.Size() n += 1 + l + sovWasm(uint64(l)) - if len(m.ProofSpecs) > 0 { - for _, e := range m.ProofSpecs { - l = e.Size() - n += 1 + l + sovWasm(uint64(l)) - } - } - l = len(m.Repository) - if l > 0 { - n += 1 + l + sovWasm(uint64(l)) - } return n } @@ -669,72 +631,6 @@ func (m *ClientState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProofSpecs", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWasm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthWasm - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthWasm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ProofSpecs = append(m.ProofSpecs, &_go.ProofSpec{}) - if err := m.ProofSpecs[len(m.ProofSpecs)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Repository", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWasm - } - 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 ErrInvalidLengthWasm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthWasm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Repository = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipWasm(dAtA[iNdEx:]) diff --git a/chain/cosmos/codec.go b/chain/cosmos/codec.go index fe0af864e..ac5c1e70d 100644 --- a/chain/cosmos/codec.go +++ b/chain/cosmos/codec.go @@ -26,6 +26,7 @@ import ( transfer "github.com/cosmos/ibc-go/v7/modules/apps/transfer" ibccore "github.com/cosmos/ibc-go/v7/modules/core" ibctm "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint" + ibcwasm "github.com/strangelove-ventures/interchaintest/v7/chain/cosmos/08-wasm-types" ) func DefaultEncoding() testutil.TestEncodingConfig { @@ -51,6 +52,7 @@ func DefaultEncoding() testutil.TestEncodingConfig { transfer.AppModuleBasic{}, ibccore.AppModuleBasic{}, ibctm.AppModuleBasic{}, + ibcwasm.AppModuleBasic{}, ) } diff --git a/chain/cosmos/cosmos_chain.go b/chain/cosmos/cosmos_chain.go index 790398d95..f50b112b5 100644 --- a/chain/cosmos/cosmos_chain.go +++ b/chain/cosmos/cosmos_chain.go @@ -361,7 +361,7 @@ func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName str if err != nil { return tx, "", err } - message := wasmclienttypes.MsgPushNewWasmCode{ + message := wasm.MsgPushNewWasmCode{ Signer: authtypes.NewModuleAddress(govtypes.ModuleName).String(), Code: content, } diff --git a/chain/polkadot/tx.go b/chain/polkadot/tx.go index 4cb319106..e46793cbe 100644 --- a/chain/polkadot/tx.go +++ b/chain/polkadot/tx.go @@ -86,8 +86,9 @@ func SendIbcFundsTx( height := gstypes.NewOptionU64(gstypes.NewU64(3000)) // Must set timestamp or height assetId := gstypes.NewU128(*big.NewInt(assetNum)) amount2 := gstypes.NewU128(*big.NewInt(amount.Amount)) + memo := gstypes.NewU8(0) - call, err := gstypes.NewCall(meta, "Ibc.transfer", raw, size, to, channel, timeout, timestamp, height, assetId, amount2) + call, err := gstypes.NewCall(meta, "Ibc.transfer", raw, size, to, channel, timeout, timestamp, height, assetId, amount2, memo) if err != nil { return hash, err } @@ -107,7 +108,7 @@ func MintFundsTx( return hash, err } - assetNum, err := strconv.ParseUint(amount.Denom, 10, 64) + assetNum, err := strconv.ParseInt(amount.Denom, 10, 64) if err != nil { return hash, err } @@ -122,7 +123,7 @@ func MintFundsTx( return hash, err } - assetId := gstypes.NewUCompactFromUInt(assetNum) + assetId := gstypes.NewU128(*big.NewInt(assetNum)) amount2 := gstypes.NewUCompactFromUInt(uint64(amount.Amount)) call, err := gstypes.NewCall(meta, "Assets.mint", assetId, receiver, amount2) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 963d8d141..82086b31b 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -26,20 +26,20 @@ import ( // ###### hyperspace ###### // * Repo: ComposableFi/centauri // * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw -// * Commit: 1880a8439ccc480b0b16e07a6e37840893df4344 +// * Commit: 617a8b6b8e71b00cbed05498d87e43db2b6df952 // * Build local Hyperspace docker from centauri repo: // amd64: "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." // arm64: "docker build -f scripts/hyperspace.aarch64.Dockerfile -t hyperspace:latest --platform=linux/arm64/v8 . // ###### parachain ###### // * Repo: ComposableFi/centauri // * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw -// * Commit: 1880a8439ccc480b0b16e07a6e37840893df4344 +// * Commit: 617a8b6b8e71b00cbed05498d87e43db2b6df952 // * Build local parachain docker from centauri repo: // ./scripts/build-parachain-node-docker.sh (you can change the script to compile for ARM arch if needed) // ###### polkadot ###### // * Repo: paritytech/polkadot -// * Branch: release-v0.9.33 -// * Commit: c7d6c21242fc654f6f069e12c00951484dff334d +// * Branch: release-v0.9.36 +// * Commit: dc25abc712e42b9b51d87ad1168e453a42b5f0bc // * Build local polkadot docker from polkadot repo // amd64: docker build -f scripts/ci/dockerfiles/polkadot/polkadot_builder.Dockerfile . -t polkadot-node:local // arm64: docker build --platform linux/arm64 -f scripts/ci/dockerfiles/polkadot/polkadot_builder.aarch64.Dockerfile . -t polkadot-node:local @@ -138,7 +138,7 @@ func TestHyperspace(t *testing.T) { Images: []ibc.DockerImage{ { Repository: "ghcr.io/strangelove-ventures/heighliner/ibc-go-simd", - Version: "feat-wasm-client-230215v6", + Version: "feat-wasm-clients", UidGid: "1025:1025", }, }, @@ -410,14 +410,14 @@ func modifyGenesisShortProposals(votingPeriod string, maxDepositPeriod string) f if err := json.Unmarshal(genbz, &g); err != nil { return nil, fmt.Errorf("failed to unmarshal genesis file: %w", err) } - if err := dyno.Set(g, votingPeriod, "app_state", "gov", "voting_params", "voting_period"); err != nil { + if err := dyno.Set(g, votingPeriod, "app_state", "gov", "params", "voting_period"); err != nil { return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) } - if err := dyno.Set(g, maxDepositPeriod, "app_state", "gov", "deposit_params", "max_deposit_period"); err != nil { - return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) + if err := dyno.Set(g, maxDepositPeriod, "app_state", "gov", "params", "max_deposit_period"); err != nil { + return nil, fmt.Errorf("failed to set max deposit period in genesis json: %w", err) } - if err := dyno.Set(g, chainConfig.Denom, "app_state", "gov", "deposit_params", "min_deposit", 0, "denom"); err != nil { - return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) + if err := dyno.Set(g, chainConfig.Denom, "app_state", "gov", "params", "min_deposit", 0, "denom"); err != nil { + return nil, fmt.Errorf("failed to set min deposit in genesis json: %w", err) } out, err := json.Marshal(g) if err != nil { diff --git a/examples/polkadot/ics10_grandpa_cw.wasm b/examples/polkadot/ics10_grandpa_cw.wasm index 5f768239c31838b6d3069e06f58cc8dbafe4c995..a01fdd46146902d5c15d8dabfb982df39675545b 100644 GIT binary patch literal 776512 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

i>CR;2V=!_jefq)jb+CAf7jXM;aXOq7F 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

C0DX-R!!dK0R87bjucQObFIQM^Sf$md;Z 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Ν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 literal 782032 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 z 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�}|0vdt;q|R+LOYjd?NENxneop`?NZK9~(c4h0=$ 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%0Ah~Fk!mH(wQ0Yv4)VO4{u_L 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%0A9`MY&uaj+YYdr+SFV=Vli(uk?rAJtWGJ}xh4 zLNuXc+5js(i&&4(WzT4N9ajdJ3B;e@YjyvbUMpA$6M!q_t*ybX?J0_Q`{s6*^kqZi zbh-s{@8gtu;*2_(1hi$Wa@@Ij6O{yy@-M-M6J`QuSDp1i3@n zQ!_}*bDTNi6#O}PST-9?MZSrp>Z+`}eM2k>G?A+$U{bV?eJDpP>pt7!)h$2f1AO-M zw|(rBAc#p4TwA9`8}!NstL-AWG+waE2ZmKX)KwXyf+H$1i-x!d_5cV7H>$}z1tKi7 zy&t#T?B4{E(y6$+-@8fsa7^FDToH`^D{g$5oR;H#wzyCTVS@( z<0i>Y7Tdd|IHdY*cBdbWNAqpGPfCO`u zTfookE;ZP89U#^L#;#h$Xid~`lz6K|caMz1gEoX^IuFIe92YVGxfaR*$j zo0w7@i1tKXdK$_xf=m!$c%2wG+fx7nR#X8J@^S~`2pm~V<=$Ov0_Jf7&padz`Rbf9QD}2g-jaH89*WjzY9MO zS`we2&c!SG&kWgr^zOd@b~JgWR{BrJ^`G#e@52abXaeGNk1bV!%HCI3xKp;JK>3=IG>aJ>gmQ=WkpsLP?9tOO7(MV*9b z?sV{gUZ6437%r4nAcc6uIKx1ic@f+T|0c`@3qnle_n>|=j9+P=`4U}podsFL6F{qk zBche8wEG0kH~hpQ$qDv;LSGrGTc;(t<&C`1eQ-Q%-}3}w{J(2Y@e?~Q6@d|qtX$M1 zZu2_Xy2l6|Lu67#e& zbgql8NS5eT(iJLz?@Y!XlC4DnpJqfUIHD7M;a#;KVpGv64M;yfR^p(5GP5qJwU@R} z@ssw{KL3K^_tK%XW`c)wXX%2sH}a&n|tktwo0yqdQ&B00vX2~PHf>jEDDnE8O7u9bh|kI_y<4v-e36M zn||V_ZnDD_MO*JBa6c; z>gKiemC#9*HXa_0%cFom$d}Ni3*|0_7mSv9%R6Ob58AL%2XJT}hYR?i zMIM_kZ*N6SrTHON}K+l(E*-EOm^P&X9BP6B@n2Lj&gCh+bc zQX~j{z9lk@6f5Gw1e8$+K`Ck0@hcEyrB^g4zdpv?j=Sw=W7EII_A{d|Vh7rqJJ3+! zx0oX}d6@w7)iPJiQQCnQ-~fwox14F*Yn6H@s3lnrx^3J$*o^Jl3OiI=vM!T!Sj;r`a&fk%umCtZPq zxj{f|^GiF?&U{-pTbf0+Oe{+ z=m1pH3$wCq^)J_^|4Sk;R)-^1u#~NP9f!&w5kg`d)D!*}SVo@+K_5VS2ZQ9Bm1aIi z`@#0B`itR|bf73+TX2=SiZiOam&ZX>{k?q5uE+bSfkermE{>bUb2{Mx2!7f0x65+f zO{{CzFR)GcLfKhqA>!hcJ#t_zIxgZ=D&s0yRiN+e+mg8=)roF?C??c|SAoWDRI&!` z_!UoQ??bbvKtm{6Jg}GxP_W>rfX0FG`sJ|r8ed6rbAzBKrYi8z7Y>VPotEes?JO7t zuC3!G1GwQG=tB2=>y0?k2z_!kANXD5r3=PaMhxKbZzkA*J*;nI^DtK@Pm*Zvtz6@F zJDPr|Ew%>R+?%;(!V^Gj3o@Dhcuho`;y^LxCgN^m5joDp1VPY$v?#9t<*TcXh}_wU zU~AResTxPt*8=WG>7ptE2j7T~)M2$G+b0 z>1*74O&$wCi0Z5dk4zrDA4VMl00_iA9>dr)$Sa(W$#+vons(C<*eYoUy}Z=sYp>WX z@A%Rf)5|CPr0bPs$T79-84r$=`ON9*;E(~}0BGuMe?vF`(PeAG!9$;?=h~6~sVP(L z#JgCBm_AmP^$n;$&_8k~cx&l6NGW_Za>G!am`X!70WAMUglw`c5+ED0DX3x0Mwy>P zGxly=K`~GbvLwqWo+gV+%E0X*Ypew>A)62Z8k<|R2-!r^xO&V_glvL$37XIe2#|Ms zCFCkvkvKv&L!(6}8H8-siPxP|94B10;k2jHpRYPHs5-|TyjVHnSy>D2c-m%WAn;@pcJ#~R^y9+DtqM%n7SEF+S4F-djXJ& zjYjIHBWb5F25p-z;T%DJJ5KQwG5n`~fY`(n)IKW#6ApUw@9~V)1G>@P&b7}z>@!wt zaB=j{e%@!U)Vb9;m-{uJoy#-ghV!$zM64`b(2+|DSF;bdL}kWN3(k9aNx=vs6K4$K z*Z&181=96k5YA@2{I|X=S6?c8)o@}Jt+;~LLkNjlFkP^UeU;M>8CINdPemj!jt*gq z<+*mns8*QMR57Q6`cnXnd^p+ez(4Wf{Ea)+8KD!G{I=4eubATVlmj z=rs@P>vmCU+R3gsof)z<(GjOehFoG!CBi3w9EJ=cz>sD3%%)B9X?SVzs{!9*^)Y8v z>7jQPY>$(*NxxmlprdL~J`814Et*~cevK|ZBU6zRFXxWKNaz#ir=$!(MDk6)a;P0U zl>kKdOWEG`B$GWuy|5yHBhqrZ`0w*{(w_9Cx+j=*6W6ofXXQ3)qMt59L^zJ>WjzLW zlt?M@9pH%4kNy@D?zW%-HZYbRrSbf&qVy;HfGKP5{}_u+;O=kx0D-C&@g&zgTjC@& zEpZZ$FUNoUZQx{vY&&l6TSE3~fG@OX-?u({s9b!O+C~#$^RFD#_3wvut!O5x?2$p) zUoIELE3#IjfgGw!BlLq!6w`M`;jW0QKXFo5rwFkWRU)PO_eZ@yy1Z|^=d`Y_eCT{H zT9Gn4=RHknV$d5i2ni$k($u>zg(iNbOw5y*lP=i`3$PFnMlU#88DuH(aCHhK)Ja}x zQ^QQ#2mg}~$V(L%AG!4~XEi~JpeRrSnhj2@YH%^1@MHSLhvQ3A`0>E1?nqT}^`psd z=SusN*0|~pHxc`_%S&)kH)z{v$F$+r3Ix3fP#aZQqg;7ybj9q8S|u_hV1RvN@cQ4X0M>zmkRAi> zmZzyUGL?N}8c?1iz?xvn)BrxG24Rt}?mjzYf9!=JOH~2FLuSFHdu_uq8E{4>@aM`S zQ}GG%20i|2GX4AZSVx@QDcWal{U}!qCM#!Rg>0x#wGfGGx(}*jRPV8^ci!NDo}25gN@>%jkOV6ei{LFhxUMPUnRv65vNFgVX;_o*8=Z zXfaY)AtFg=5Ab+O;$`q05pC4V4FW<_nr5nLNeH|?%245`F zSmg5#Cm8M|f*n*FrgMf8!v&J;`uWKcM^Q@%Fmh-d0h07iS5Fm!f@ZUZ$5lw%v@IxB z@(>?5oJ#x1XuMR}Z||dPZK+MGCh+5fJNNp`k&pf`B0gdr0FNj8PV%>d(ooj{T?AJ7 ze|MGWsz^&W6^il8tT9RDz(E&5e&wPN7LV4S+L{Rt}^xBohR7%(`0%Ik;y zBgq2dN4TCnsbL&Gm^TmW9Kt$D)Mw($y%P0_L48kJ-ybYR=|37)m?uT72vq(Xc9vPj zn4!T$AW_7^M(!#+w^aCG#kX5`O;&I3UMY2!JYXYvvR zpST3^H4G{tH?w?AVtXnz?YpiKwP*j=I_Sc^M5Wdv*_J6X66k*_cUT)ravpT}0Kww- zl+<1wYsvUz|JJBJa#5NwlcG8bB_tHHL`&!%0<@H@E?-oU=(4g;gO*@Tw#2%jTvT$U zgM48J6B7^v0xZMN0LGrr@YX)g;G%OvqL_YJk=sv@C_5N@_r|jUyhlf($qPDFaG?VD!rL}Efqzg;yf~-C@_N*)0fOpP|;p= zX`lWB2=0}f7YUS`0`Ti0`?YU=sD zUC+;a)enju2Q&F!&q5{v#lI1aB-{Y$Gtv#`1sW0Kf{=%Zw~BGU_PGcA-wBu>>tVh` z{op@N^ynB?+CBt6;6R~ZCxp+m`M(!E>V-601l|PS5SOYDrJ?&}Y=Z1FRSmHTrjf~D ziA+7l?CJF^{Ng$n2ED%Z4?Dh@+0wAreLmU6NuK5Cz(^uJzN3}pg0jRe>aa%A~uO?k5iF!7OY|NP!9)cSz>Yci%>T;UqJn7$${8u4QZ(5=&=}r5wcrd^VrZi^xxf3e1@NiOJ+i4FuNAn(XEfCeflA#HOA$9pAhsPb|HAkR0W zIY8)A)S+&na0x_Ob^w?&D^;oZL~)f0a=-uApZZsi-220S_3d9eWx@L0Kl7>Y_{o3$ zrysxThUtIFiUQGr;i_ew7RB!2rvjNOdYocz6hKf->E2J21CKW(IKIZjqVw;5W@{YgQk{Z1#*`4kwKELoF?S;*0<>eG=a=X0?(SW9o@h z4^q$&T?td6YX9oFIwgKQqc^VbwV<&kaAZ|3roT~Db=v%l><=wpD7&!(P2r#r=N%!w=_yNU_$9bGZ~z=Wl)#GlqXttyb&_)<5Gqp#f{&8$1ytw_NF%L%f} zvtG5B80W>K2`d2{)e&-sTT{IzmfA$JbHqy=Yv@|<1}FXmgIJ8Pr`t`(wF$rA9Z87* zA&a5fR(^g25((A;?s?%9afmdD@cU4+82 zISnqtV2IY1S#q_OgHeM)6-iNGuOiF?XVPxh8uZRXS1p3=vwMUqB2C@25mDzDO-=2A zIp_dDsGj{noF_v&bX(NoWwp}WcEPQAy}R#Y0}1UmoZ=3QL*21Shlm5s;V~`ilB7+H zXu{}sO;-XL3{y|r$0-yUQTFYwlP8^UZVfJ`+_>w;_8WrF{dW9utImZJ!l2sdi&8-^ zNh)ARlU_C~L-opCC2DZ|S#-KRE%$%sFSA9}e%jlYwfFxC58~(pW9W;G*A%4kVVMmxbhkBGHU`Bv*g#_K>?~Ghud?{tz(eS zetuofv*$TWi@d-g`|T8uTBfPOMDk^Jfw%X48WetI`yfdm5(-Y z_mOW&y9LU2otYAjzkn`1rK7(SJ-TfAb^V}|0`XK-p%@RA^O=OX+)BRy6<+jwg(Ckf z9SAS_|Cu4Gh@JzU0YuxA&{uZ00X8|D$=dlLhtctqgrLksz@Zy2+@9Es85GZUph#7z zB|fxb!9$!*CCcFU{q@I+dDW)Wm_B5v5V)Bld?jwfHJ$s&8R(|=99Gq(=CnhVivMVT9|gJ^5{t z61b5FBTgkBEH8ykA%%5zKyT2Z7f2ZL)$R&eS_M_Gl+3bzo>~`^Pomt}9%{JwV1_^7 zO6-$xUX124Arx8yoz(;<*Fs8b!XP4c?ttp?txH4hV}gX{MGd+j7&$WZ1kuT)O07(i z%9&>5u^69_Q^9I>sfOoQOTE|6E7TmGl5_?H{pQ$V3PQEF|4XLU7!A1wIWFa!;30(WI&K?m`YY5Gvmkv zNsOz`l3?!!cbz4%g(ZO|CL$WF0fB{WfU2;FhY>eM&yvU8wirr?c|UVK>~nP#1Ee?X z<_jOipw&}4Z6SKo2y*Zo-rjCYQVyK6*8|bZ?DGUuq%&ZUy~~xtkFI~NA|-FyM`nJm zLKy${s@_l1f4STgOqQh10(15pEpev96o@tyQ@#y=1L*gcRn?o|iBUk@QL~($sj0MH z>rP>Y`+7Dy7R0ExUJY!CuJ{3;eug4~u${18lc)fXv0mS}9AVVFKVrSuLB6jp#}Rx4 zWgepechR@(UY`9a>tUzn7c2fVucC0~-j(8%hOC*PS2 zm=h;<+kbjZ%MKOIKobsO;S}0`@Y*1d?nA6m^Re5)0*;ir!vQS|#uoK7@UhR1aIt(5p|p(Pyxz_t4e2NVTzqx2RLi^(@sq za#3#fEihbaIz0W|d3B)2yh(CV0H8n7@6$mZS7bK@sX?+-tU#U=cV|K#FQB6q>_9-V z71KCsKa$i~6dl0h38dmfb%QtUNi$;~ZePl!O77LhB5~@0LhAaj!;ZL~wHPWZuiI_E zl#noXjbGP3_{p55O0}9$`PrYZUq?860mh)C)l?p{v4B`i|HF?VZ6(3(4exOclo1AR zPF1Q7)q?j#2{SEg?Mpbn^coN&(bg4&PMXUYq@oiDRMaOd8R-$HApE~#q1R?xtDaxX&$q8L=;Hf1Zr;*bmDG#6+)H-%QQ-m9C=?U@@3iWW{C_u%**|0zT7#+tNQxu7O@(r8HY_DukD?xLQ^Y(Lbp+(hs5P!=-jc~n0<6m z&FneWLMsqaO-$N9J7IPa&&lVt><@#luV0kc!+q-@${rYGO<`s*TyoceJrB-+eI=2K zfpkQ$rtP)qq0r}Fef6RaxC2oxoTEGe3g>_^{tRH;L)auM8Ny&05bkG)4IR2ndf>81 zmgWvj?SM>T0E!6YHMBFD6UuRrkb#t9e*{g{*DdPyL8nN@titFoT}<<~h?Iuh3i$}0 zT29rteOFWb(`ynp0pSVFe9pD$Z<)Z-%mWzH{L*U{rT7a*mDgP(b*pocihf5EQZARR-ld&KxfxkOSFiP8DizWu5;E zb#4{)G2esx9b5h#kaUULqyH(4wydi0nv#Gi zltIflZ@7F>661hNlBe+S>&PZ8-Lf+kG>XF_O-#`vX2<63Hx3Q^Bb>tQ?(lkE##KBM zT|}oMp%W=C;7BqeA`OMFfJnfJ6&m0n3$lz1DSd7+G=i5mekYgC2uCCq%iQ%&5hpTVxYNX*5CLWb7YXoFe8J*&?CdeZ9#xByM=t*P_ z%RQ0_?rEDi=4sdJ;QRjT@O?V63e@1+ZfHm##FEVFpHCJCGNvqccH7S*PF|k7maqs% zyATx<(u3**OATwz180&oJ0U_kHDIGt17OujmTyJh7@gdMObVgOZL&L`?-rZRlgJBg zqRf)FiA~5S$S1IC!q=kNG(QvMglJE-O}qNZD3zXUTZp>YUBAVqv&rrWlpu~Cq*4(2 zq{tM#JUI!_zM?AT*F)h(ap~GGW+C}*pX1u@*1FlDl90{CcDXK zY@z1T9Eh}MvDF`~jyByR9q@h6WcF^$CK)Qkk)dF4v1Ic@R#mrPMX;(uR;5+mu}H9` z4(?J;=k&@YOeuq(Em{hWMfE%k3mGen7srXbO32aF2@-D!Md~bqEBZB0i^p4X&O< z)0!)8aV9h=y@N@1NHzoRmT@8m)4&JY~WMJwb|$# z=%-E;D-cmbH!{X53}Ty?@Xg<@vLYD293ol`^>6^_z5|eUIjA-0E5Se1eHxi(LIB=_ zo;aDzT-S6*2K#8+77``ZN~?XzAeJk-o+fsj^}->1RDR=cU+l)y+&q)t z_}dq|**7QoW3T<~i`_JQbE`K#vDhuco7=tdiEnNj-rVVpPkeL7@aDtb_{2AN4{z@C z#wWhHcX;y=Z+zmL`-e9Vc;ge_oEqLd$lPZuRD- z{KntD*zMljlHd5-7rWD&+wvQK`(hvV=8pWv-@e#=-rSwv_}drzh&T7-zsygOBnBTLklgZNY6~uk#l#!)Vx}M$0_&ec8Hjr59 zQTUOwZJ^OwF%0e9aR35hm{yZF;B0ac#+!|&v2qcYgi;y()cecDYWA1we9<+C z%2@UKZc{~A%b>qW)edA<9CRAHHe@$<$OKlvLbgV^71=r{*U86W?NMiZ)f)wPm$a(2 zo`E4i?LeT7tZJakS*3lXBuiFn^tuCqYR~h7z**F2*xQqk(o@}Aoi;+j-*R1Q;LyO& z+5r}=1Ci}e7ta{$7O)SUjBe1?=}%U8HN~Mr$xXp)Znjc9 z(ZO(P90b}9xjvG{o6W3FVW)OJa6(-E$m6#$&`6&{jk;f>>{Xa{R28d=X-|oG2B293 zn^Re(D+*f#)&){TXb?Zqor`*xQ>;Y`@DapM1S8)z#pOq!XFhAN0Kq8Lp>$V-2c>hP zXuOk|H8eD#>XfmzYFua)>H~dut1cgVL`-(2;d`NCZhC#k*KS3XB3*)|2h56vdiNh^ zrFQN=R%Upk`>#swzp8it(Vk(ORrUc&#OYtxW1_ZzXx38%9N?<(59(3V&4UihM3dqR zHAG*LBp5n)nDYjKFiH-`894=jtak=3#!jd%IG*AN1e2wFYXKwLm{yEew`&|`067%^)r;c%o@j;RaR|L9qYwC z)B~L%5;5=>m6AW#fl81(IN>p&2%YVH9;_L4EL4X$3WQ{oT{lU}9NzNz>=Wy|5PH{K zH)_^Qk}H7#Ot%U#uE;}e3_v&Jj7iFfX}o-~9vpxGBG2HQuw%e*89dK2A!F;@`wD0G~hyfm8+IsjHyh+|j`6P;Lp4^K1C*Vh~FDzjxs{S!2Ciu8mO!)*hOyrQs*%<-=ia3baeTt5p!Y13hkq<;}&$k%i)^Rdj zY`>Y@>^>!zP<}~D(yeCaD*&#++ByB z5zC5bMW&RXayrmHV%F$arhYsOl-pBwCei}3hAWEg)BF8{2KV#`>WE-Pz{6;uzbeI= zQDLMnX_$=J6YDIVs{9zS_zC>}e*~m|5lA=1^p~q@oET*axJ&@<$i=VD2 z4$xT+0#SZus!{{~!K1A?tQr2Xh|N?87#M|3$LidYQK+p4qIA38*bSJ85MUoKDWX$ta4pkWoNUJ)_9T*E5QQQL@co6ab99srxaB1i}XX*%6+c zcQ4_o5F6<@ON94<5egw<2WW!+37YF2w0TcrW_DSGrXA6z z3&xLeFSsk__fPmhwSpW0vEKeLfHj2 zs>~525%2U!*XR$=7t#2V0hU=6!`MdzF%>CS#C~X(kbWPI&>_79NDVnsRuH5NEkknh zbsOY#>rEXwJukcY2*rAK^MKz((r$1@65OXZPxl|>-n7p~OKyaF-j*J^anRDu2H)D! zM@NJif*S;^kHigG+k_bz9pmA{hPEs*CI-Kd_eq11d%)uA3lU+#P9>N9-7do;Q{BLA z$X5dWL5NOkb^N6Nd+_1)*VZ$F8{J(Gy8R^!tQS*8Kf-IOCaz2sm0+}xK zDb8Rpx1(hnO87Mb>yht#0PIDxAXT5N|HV{k&7Q*fOjP+gu6Xbw+n6ru%cPbW68G9f zB2V284?UPcfNlm=G-Hr}+~MSkO8KPM1K| z;3mk@jHqB3N)kRy6*>z(CrJJ0ardW5iT$DeLBOz+3?)%9JG!LU@J|%u{Q35NM05*1 zQUrb3+_>b+^Az36^cysZs|yelXjCzuHCh|5+7G{*{<(*R{=wC8HrT!K^bg7usX1iU zvX}O;lo2T9tm{MJtCdiAWgK3PIzCvX@ZccHn?T%$0}0Op?XQ*tCT9%MJ@Y^qe^pMp5n)dj$GppO<`y#lkHz*Fz2Iq9dSl0j#bY7j@LfY5cs zT*FXjPG=O)2@1%`$poyouV$-H(ilPRe0B0YqP}M-!f-C;=PBkxYFRg><{MBN4PG|s zrYBuQzE}?^Scgu`%>%{Ipt@igP4WU(bsv?^e#=rcsaeU@vdLeDE~&VEI9eJseP{HA zraeW3O^k1jHZR)SdTv{$!0bgE^w>6%+I1;MM?%;R=7BtzWryiz?r?$;g^kzj7uD`vmI(?sUuTmek}h?k%o=FXF-~-z2_Oz!+XXAZYQ_KJjhb? zKT1GFXpp8P2W6wy1tV+V_hKj^{BoBWIS@1dh#Ah<(^1r;eM^}=^h`niK-SGfAc;G` z#}jM7KofzMlasj5i>oy7@XF|8ARnt9$@eVtBY09KbGFGoox0nW2+W=gO=zIjwV4#- z77iW<6S33o|41esdW$;kzMFW0Z{UZ55%-&T;KQR}#)bg0*@yaL#R8|itJ?@Y#Ny8o z>=e>%`Y-F$4BN&Bijcxeg9|L&-65AN$prb*stsk~j9j-YVNB4HJnI>TcC;vB@1RWg zDehm<<&ArCc~c#~_2kKur^q5;bO?ZAWuMf@dB1*p@rm~CV9~L4U)|^d_AW+df%aFJ zHQeSr^N1sq8LkutOmJ>dR3x_iA&6(jC?WZ%$Cc$WJSLLIP$QW*dYr6lde7oO=w z2^>Sniu6UHsaEBk?ifPCTWjYU)DY$c${67gQ~a{Qx~Yu`c7HuK$_PcuAGmTrmmgGk zwVSbfUHOEf?4ZB}KGlj)S%1NcMALjsj*p=r!N ze-?H3q|0!@yEJL-sb|yPJkE$$Vsr)7|JV|cE6Sf;Dej5xa`<_P9)dG5TXpSe6dkY< zt)jgbAC{Ml+sm-p+WWj>(J zs(&R91R5celq{k;^mx9Lmvtf$XlQ?3`F+tF`&FoMcj_1Wtm^@I-8MCSqlNYw7Uf+I8)?FiK4C3aFFDqY_e=0 zb*JTNBQ2R_7&IuFzK4Zy{VKlF$P&e+lbkRktQ;PI6DflRW#j5f9yTt8CQKi%U^>ID z$iD$N_&?9e49ptj;P&GL0f-b*28MsAWMfW<_bhvHxlO!iiVkF$cL)^}MOL?|E zSWNVC`xUZM)XCegm?Bm?(_(*$W(dLXnerHMXl47AtxSKvOvZB3Tj;5x0l42RoTszj zn}FxML)mEDr-AIDH}05;m2Pg^aks^s4jpPA{ui)xY>DJuK&qn@1|PYk0A-iCr+>+E z;{PDqu;nT_d?X%tMRh177LN{y>a<<8zu;%}>^~4X9r$#p?ebI;G>}@GE~o)53*-!I zIDX3M*B6OmahJCbCb<-N)}=%(#R&XE?P;75QWl%XRCh}ipI7mtiLTGcE15^bFGAv` zlNf;EBP#<*rw>*H9ne-{VF<@#dsuPECun=x-jYOK{Kg_vI*VvedD-LbSvaz{RpEI5 zM?WfIw72EQRa}Ld1Q22LpTP&wlT``Y35)ht8v~s9IP7asqXeN?4qtW>af#G@C`h1s z&XY|$t%LQdr!dd)HCJaWaXbVF6E9O4?ciBVZ?39Q+Bb$yAqFCJ4cHa)gGta*Fl5hQ zOSM<%h&5^|(;s4iU-)Ca+R*?1#D(n2|!obeO7#AQBZGqQZb$5R_FRxxZO>!0hGu z06O8-J>@XnS%L+WI)sH30xU+)2aAFF6R;SlKg{UaVG)6ODm8WqDcHec*j@N{-`&gM zE77~O=%HRmmYbA20fhFtgMwp)lcd4lyE6F5McwXsb`$GbnZm|Uv$)%ljQez;%|fzs zIqymoArnY+StOLJAppok%EmtyNRVlV_@VWK{2(Z1h|?#d6GV|`WSw-Rx~Ni}QUk!I zHbqM!j!cY197WK)wn1qNCJ%(?9AC-dUnV?w|@>HtK2xuP*HC9O(hy6plWw~(4 zgTrqf77ql&f(qzDgaqHT{O(>eJs|#Yx_0`{u5*&adt4ZQM<{vty$2TYkBnR8g5q9ezMp#As5HdZnM*a zlZc6gB@+V1&JDUF_A3l!^PZg>9HzmJq>6G|Vv3h2EBS z6g56W9dW$f3w7j`hoTV%q zPv=d7`m_L3OgYz?BK%0m@5*!T)gu3~OHgbNzm83wQIZ4h(NkfTaln0?RUhTQQJ0O& z$DVI*m7H%+!BKnebx_(<1zRI8DQap5Jv`q&%D`t91TAqCNeh1(*)^or|4fm$U3D#g zzmdb#+y_oKm-UQtJ^b1S`^IJD8lmlLuMNV!e0mwZci@-fiZ(j$)b}C>kG4t2vp0M>zNJ^u zk?yMMuj;sh5nu$kmB1sOqy-T5;hiZWh-ivj4&DPvP?}}T z$l_zNKItgdi`NFI4^^eA(Of=c|E(PuhK;dU9lg7BH&|xmab91_sVqxV!|yc&U?EF(x})>;- z8`M^`)F!B+paik`c3o6`aSo3cvpJ_aLY@qTV1X))DPP6;@>qBd1Lc!<=?4R4gY`~2 z8;5Hj*j3S;jEale7ANg7(uN~lSyAZ0LEs)_e;pX3Nmk`?K|e&RsuHNF+C{W6J%=@Pg3XdoWwa4_#}^SU7>nAQoD z-Dv?6rR!QqS5=0!Hl(Wx1Kk0EE+<}=3JaiWz@agsqh_nU<9lFNRYZk=B#=BRS;;KP z)J}IGiHV{$Rf1diAmHRV>6aAefGO=`-zCq3dY@~q&k zx(qF~pt;xY)l(27b${B8|)>F$>RjCH<0rLjZW~c#@;f}a`dm|9O zN<@*>AV4O5$vwmEucadYR;h&ooYGK)giTY(sVh()_6+za8^|65=L?eyM{S`IWr(F} z2jCJpm*4{E3ES0n(GcWeqohB92?PLz=nq|F9CKcDQ(iLX!ERla0V`ONzA8dFy>ep& zIx$Z4p6#O#Z}}iaMma&UroE2pdWH`1h@XS}1o@#Z&7^LG;q2B)vw@=EV$Hf&8bB=Pl*~#{RkXJz zMIF0xdrNiJ@cR-pAs|&j(E;em4nQa{Xg7rl z%)n{**oTt(R_IsT;?=1iA2e9Lwbn0+IfqIDoO+6*g6G&`d=S2c) zL%{TUSGY1M;zVD?R`!tGvYiuF@W|JMtUo2Tt}e&Yl-T{sf*XUd1-EKrg2(kh}`al%Or- z0#@3IpSZ`DyKc@i z`X5%-Q2#^kB3Xs~=L*-4DiKl@7qw3|7(op`a-PD1uRGaYDZA_5*%ST4*@Kt*O=_j7 z3I@M}qv6DSC)cj_rvl_0e5SP`<#+BmKKj10mH_m~_#_Il6|RIu4Ais>rH z&M=E8lx^X#34=jjY|E+Zg41wQH|NMU;4SEmM4r#jX$bWT-X4E=eNKDw-ufMJx7(h) zQ2cRNML1Q{SZPgNEAMe+2~9@Zyu^D*imj)Xte&zF`8< z44)>*EarJLaTkaJDScOb5NnfoT4oY>dE|qFJ+Z~-`)h|L3p5x7#hRWRgRs>Z=p^gbM2|HS z?KQ;v&lS5nhhVV&uj0S)T3q^PyaTYhuCSGhsL*-c{)*iJb`Ij4t=US611oQ5TVa+9 z%IyP<`-``vaRDef*@MZMKw->5*_9^mg94<#rdE-P9o8k~iwWEx4B-d3#vNx!HcSzr~o_ zY+tfF-%8Yl?`)1HB7g4yx8 zPr-jX<^Hg8_nv0^tuagDCxbz|U_gvN&iqWBW=!UrP<2qdV&eZ8328n$ zT)Ai~P9}CZj%%4h#*8btvq0okMQsz8#EHoD7$5pst`N8Sa(0>Q^_Y9v9I#I)5CEq~ z?}a6q25#A505~K95(Q=I1>iC(@!4;HFaqWTl>7aYq}yLoTuNg|$bXRBbqK{*)URVD zlCJudFVhzvK$ah^E`^Cu`qh-iVGpP?L!tWWa0gx)Lu!j9Rih+`Dg*B#HZ&Tzbg`qt zi9MMX?zy|PugWc&Ev?vWIeR~W{+^qV`Ig%^ON@Gce70a!vuMBP152wZC3olP>^&Q( zmHET=eaj+FW>?=>yiHtC0Fr;My--#{9%;D=XU{T&5hYLr%HmoC-(Y&19fuB{l?JfM=upt7j zK_1jNV9C}^HbeK&Fv(?S;Rl9e^0#nOO^ZMUDR3V_5g-~T5REfo^9igY3k(ut^)06Erv3Jk_3dOu`zuiXgUWplLXG;epyI_fLu>{L9mKeb{GvND1 z1w0~;lD7mtrjp9pfOhnW)gXh5SPe87HaygJI8N8ZiSA4Y(qRIo*&|I)UJrf(SU)X<&hs_H}SNQ3iRCG z&=168aO(;Yvy_l9J+!W`gisAvKtgiB^-@CWZ5%)Mf5*a=YV43Ndx zXAGAMdA78yg69!`h8ihY?|eTH`w||Y;635>6L6u}N;POPF_TvFuuaen4_bE$i|SpqN#L zP5NA4kCbrwIxZ=S_UGY2d<6N0dVxI<9K|xeY%3lgB_#r?)jQ3`Y{~Xk=E9u{ZF}6Ucge{ksH+pjS=i7x41pc)5f4UrQ;Pnl)Cs9B^|1Vr28gKPZZu zj+gIwvutRKf5tIvVNmawh4%nH1*>c}IHT-fQz!oo-yMtvKZ+hO%lMYh!>a(?->67+ zqt8Xw5dq9n#>Eh?PqFnBULBQTcL7#MypayPSUZ9B!RQSSm^ld~k=XVZFO}9cV(_A7 z9p?<_)*L{(gmMCKKEj$pGVJ-jeW<_F4`qcV6`pfqety(zqbwU){rO$pRdb$h;{#|$ z*kLK2Z!%nk}}UqGs0YL;lkvcz4d{M zK78}aUZY6#%63EFVv?6E1_22a9k|e@R7PrfiYGTr z3EJ{CigN$IFTY1HnWFxSmP zw`_s3!UVVQ3X(;`$tiJ#2o6duu^w zV)u>KcToG53zuveAwpjGFaK(9MMPOzFhA zkHh9%2(4xh;O(Flb#&Tvs!Wps)*xLKQL)M#F-wiRI1f`Tc)?YxJI;_MaFD>+mgQ0g z=o9EMKl6(=N`Zd)8LUWMfO24Zeg@+zT9^PiHu`6HD-5-c8Zl%qU#uNTB9mugKjPTn zG`f8yz7IgsE_TqWy<60cvloLq;;0Em z3n7Foo_=~#9ZEjITL_r}sd-_naeHz!d*23Fl>R{zDd*uquu|zd-|}a&2#h_S>Ev#- z*ikB;ZnqT(AP@;Wy#=p74x@|?@@je#jLk+Ca;l6^R>5lE<_=9J>H166}N{K~BtP?MKG*3)s9d|GZ`!f;>qaBiIP$BSzYb=LKYne{6m({~hAG z4v6q1=I?wO%O}4cxB?k|0DXXr6fgm~0q>{=2~Bv?T0;$_FQBU}Rt!Vw-F(I=#@(jw zq;Y!z+-BMwx@V#Hn^KGMJ?~l^HX;N`0r5gchwp+pRYw+h&CYA^%vq~sM}l=UVV<~V z0NJ+X)n0js^kJXLmKhiDzTW6w$IFc~-1%_Jm_S#_pDW-Vqh>ZQs$*0~vu`H= zGs#Vse32w20+Oj}iHiKL*etY}ub2W$LwlC*&GOoVi1b8$P3ui2Qh-rWpg)BC7rhY{_NBoLV;%lm# zUDdsrF>#Lb1lWqZd}UY;G(A-@U^rzAIp`D>cOID`1q;J%Z#2Fv);%13duw+Kz7`0p zJ2lZa_zLRYVSuGH?rq7-d%}K?I~##aQo%A?_T0?@>w0_3D0a+DpL5?u

c?8QD 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 PcGVD_{d|m1U*Z1%2{7Sm diff --git a/examples/polkadot/push_wasm_client_code_test.go b/examples/polkadot/push_wasm_client_code_test.go index 32363cca8..08f329c37 100644 --- a/examples/polkadot/push_wasm_client_code_test.go +++ b/examples/polkadot/push_wasm_client_code_test.go @@ -69,7 +69,7 @@ func TestPushWasmClientCode(t *testing.T) { Images: []ibc.DockerImage{ { Repository: "ghcr.io/strangelove-ventures/heighliner/ibc-go-simd", - Version: "feat-wasm-client-230215v6", + Version: "feat-wasm-clients", UidGid: "1025:1025", }, }, @@ -108,7 +108,7 @@ func TestPushWasmClientCode(t *testing.T) { }) // Create and Fund User Wallets - fundAmount := int64(100_000_000) + fundAmount := int64(10_000_000_000) users := interchaintest.GetAndFundTestUsers(t, ctx, "default", int64(fundAmount), simd) simd1User := users[0] @@ -164,13 +164,13 @@ func modifyGenesisShortProposals(votingPeriod string, maxDepositPeriod string) f if err := json.Unmarshal(genbz, &g); err != nil { return nil, fmt.Errorf("failed to unmarshal genesis file: %w", err) } - if err := dyno.Set(g, votingPeriod, "app_state", "gov", "voting_params", "voting_period"); err != nil { + if err := dyno.Set(g, votingPeriod, "app_state", "gov", "params", "voting_period"); err != nil { return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) } - if err := dyno.Set(g, maxDepositPeriod, "app_state", "gov", "deposit_params", "max_deposit_period"); err != nil { + if err := dyno.Set(g, maxDepositPeriod, "app_state", "gov", "params", "max_deposit_period"); err != nil { return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) } - if err := dyno.Set(g, chainConfig.Denom, "app_state", "gov", "deposit_params", "min_deposit", 0, "denom"); err != nil { + if err := dyno.Set(g, chainConfig.Denom, "app_state", "gov", "params", "min_deposit", 0, "denom"); err != nil { return nil, fmt.Errorf("failed to set voting period in genesis json: %w", err) } out, err := json.Marshal(g) diff --git a/go.mod b/go.mod index 7941a5c23..5fb2de988 100644 --- a/go.mod +++ b/go.mod @@ -9,17 +9,17 @@ require ( github.com/StirlingMarketingGroup/go-namecase v1.0.0 github.com/atotto/clipboard v0.1.4 github.com/avast/retry-go/v4 v4.0.4 - github.com/confio/ics23/go v0.9.0 github.com/cosmos/cosmos-sdk v0.47.0-rc2 github.com/cosmos/go-bip39 v1.0.0 + github.com/cosmos/gogoproto v1.4.4 github.com/cosmos/ibc-go/v7 v7.0.0-rc0 github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 github.com/docker/docker v20.10.17+incompatible github.com/docker/go-connections v0.4.0 github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 - github.com/gogo/protobuf v1.3.3 github.com/google/go-cmp v0.5.9 + github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/libp2p/go-libp2p-core v0.15.1 @@ -27,6 +27,7 @@ require ( github.com/mr-tron/base58 v1.2.0 github.com/pelletier/go-toml/v2 v2.0.6 github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 + github.com/spf13/cobra v1.6.1 github.com/stretchr/testify v1.8.1 github.com/tendermint/tendermint v0.37.0-rc2 github.com/tyler-smith/go-bip32 v1.0.0 @@ -72,10 +73,10 @@ require ( github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect + github.com/confio/ics23/go v0.9.0 // indirect github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-proto v1.0.0-beta.1 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.4 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/cosmos/iavl v0.19.5-rc.1 // indirect github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab // indirect @@ -105,6 +106,7 @@ require ( github.com/go-stack/stack v1.8.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869 // indirect + github.com/gogo/protobuf v1.3.3 // indirect github.com/golang/glog v1.0.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/mock v1.6.0 // indirect @@ -119,7 +121,6 @@ require ( github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect @@ -186,7 +187,6 @@ 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/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.15.0 // indirect From 13384cda3e096c60dfe92f5ac2ed61bc05ac90ad Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Sat, 18 Feb 2023 16:08:41 -0700 Subject: [PATCH 31/50] Refactor hyperspace into more manageable files --- ...{hyperspace.go => hyperspace_commander.go} | 177 ------------------ relayer/hyperspace/hyperspace_config.go | 135 +++++++++++++ relayer/hyperspace/hyperspace_relayer.go | 45 +++++ 3 files changed, 180 insertions(+), 177 deletions(-) rename relayer/hyperspace/{hyperspace.go => hyperspace_commander.go} (62%) create mode 100644 relayer/hyperspace/hyperspace_config.go create mode 100644 relayer/hyperspace/hyperspace_relayer.go diff --git a/relayer/hyperspace/hyperspace.go b/relayer/hyperspace/hyperspace_commander.go similarity index 62% rename from relayer/hyperspace/hyperspace.go rename to relayer/hyperspace/hyperspace_commander.go index 86e380627..b7b8f4abf 100644 --- a/relayer/hyperspace/hyperspace.go +++ b/relayer/hyperspace/hyperspace_commander.go @@ -5,194 +5,17 @@ import ( "context" "fmt" "path" - "strconv" "strings" - "github.com/cosmos/cosmos-sdk/crypto/hd" - "github.com/cosmos/cosmos-sdk/crypto/keyring" - "github.com/cosmos/cosmos-sdk/types" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" types23 "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" - "github.com/docker/docker/client" "github.com/misko9/go-substrate-rpc-client/v4/signature" "github.com/pelletier/go-toml/v2" "github.com/strangelove-ventures/interchaintest/v7/chain/polkadot" "github.com/strangelove-ventures/interchaintest/v7/ibc" - "github.com/strangelove-ventures/interchaintest/v7/relayer" - bip32 "github.com/tyler-smith/go-bip32" - bip39 "github.com/tyler-smith/go-bip39" "go.uber.org/zap" ) -// HyperspaceRelayer is the ibc.Relayer implementation for github.com/ComposableFi/hyperspace. -type HyperspaceRelayer struct { - // Embedded DockerRelayer so commands just work. - *relayer.DockerRelayer -} - -func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, networkID string, options ...relayer.RelayerOption) *HyperspaceRelayer { - c := hyperspaceCommander{log: log} - for _, opt := range options { - switch o := opt.(type) { - case relayer.RelayerOptionExtraStartFlags: - c.extraStartFlags = o.Flags - } - } - dr, err := relayer.NewDockerRelayer(context.TODO(), log, testName, cli, networkID, &c, options...) - if err != nil { - panic(err) // TODO: return - } - - //c.dockerRelayer = dr - - r := &HyperspaceRelayer{ - DockerRelayer: dr, - } - - return r -} - -type HyperspaceRelayerSubstrateChainConfig struct { - Type string `toml:"type"` - Name string `toml:"name"` - ParaID uint32 `toml:"para_id"` - ParachainRPCURL string `toml:"parachain_rpc_url"` - RelayChainRPCURL string `toml:"relay_chain_rpc_url"` - //ClientID string `toml:"client_id"` - //ConnectionID string `toml:"connection_id"` - BeefyActivation uint32 `toml:"beefy_activation_block"` - CommitmentPrefix string `toml:"commitment_prefix"` - PrivateKey string `toml:"private_key"` - SS58Version uint8 `toml:"ss58_version"` - ChannelWhitelist []string `toml:"channel_whitelist"` - FinalityProtocol string `toml:"finality_protocol"` - KeyType string `toml:"key_type"` - //WasmCodeId string `toml:"wasm_code_id"` -} - -type KeyEntry struct { - PublicKey string `toml:"public_key"` - PrivateKey string `toml:"private_key"` - Account string `toml:"account"` - Address []byte `toml:"address"` -} - -type HyperspaceRelayerCosmosChainConfig struct { - Type string `toml:"type"` //New - Name string `toml:"name"` - RPCUrl string `toml:"rpc_url"` - GRPCUrl string `toml:"grpc_url"` - WebsocketUrl string `toml:"websocket_url"` - ChainID string `toml:"chain_id"` - AccountPrefix string `toml:"account_prefix"` - StorePrefix string `toml:"store_prefix"` - MaxTxSize uint64 `toml:"max_tx_size"` - WasmCodeId string `toml:"wasm_code_id"` - //ConnectionId string `toml:"connection_id"` // connection-1 - //ClientId string `toml:"client_id"` // 07-tendermint-0 - Keybase KeyEntry `toml:"keybase"` - - //Debug bool `json:"debug" toml:"debug"` - //GasAdjustment float64 `json:"gas-adjustment" toml:"gas_adjustment"` - //GasPrices string `json:"gas-prices" toml:"gas_prices"` - //Key string `json:"key" toml:"key"` - //KeyringBackend string `json:"keyring-backend" toml:"keyring_backend"` - //OutputFormat string `json:"output-format" toml:"output_format"` - //SignMode string `json:"sign-mode" toml:"sign_mode"` - //Timeout string `json:"timeout" toml:"timeout"` -} - -const ( - HyperspaceDefaultContainerImage = "hyperspace" - HyperspaceDefaultContainerVersion = "local" -) - -// HyperspaceCapabilities returns the set of capabilities of the Cosmos relayer. -// -// Note, this API may change if the rly package eventually needs -// to distinguish between multiple rly versions. -func HyperspaceCapabilities() map[relayer.Capability]bool { - // RC1 matches the full set of capabilities as of writing. - return nil // relayer.FullCapabilities() -} - -func GenKeyEntry(bech32Prefix, coinType, mnemonic string) KeyEntry { - coinType64, err := strconv.ParseUint(coinType, 10, 32) - if err != nil { - return KeyEntry{} - } - algo := keyring.SignatureAlgo(hd.Secp256k1) - hdPath := hd.CreateHDPath(uint32(coinType64), 0, 0).String() - - // create master key and derive first key for keyring - derivedPriv, err := algo.Derive()(mnemonic, "", hdPath) - if err != nil { - return KeyEntry{} - } - - privKey := algo.Generate()(derivedPriv) - address := types.AccAddress(privKey.PubKey().Address()) - bech32Addr := types.MustBech32ifyAddressBytes(bech32Prefix, address) - - // Derive extended private key - seed := bip39.NewSeed(mnemonic, "") - masterKey, _ := bip32.NewMasterKey(seed) - purposeKey, _ := masterKey.NewChildKey(0x8000002C) // 44' - coinTypeKey, _ := purposeKey.NewChildKey(0x80000000 + uint32(coinType64)) // 118' - accountKey, _ := coinTypeKey.NewChildKey(0x80000000) // 0' - changeKey, _ := accountKey.NewChildKey(0) // 0 - indexKey, _ := changeKey.NewChildKey(0) // 0 - - return KeyEntry{ - PublicKey: indexKey.PublicKey().B58Serialize(), // i.e. "xpub6GNKSnPmR5zN3Ef3EqYkSJTZzjzGecb1n1SqJRUNnoFPsyxviG7QyoVzjEjP3gfqRu7AvRrEZMfXJazz8pZgmYP6yvvdRqC2pWmWpeQTMBP" - PrivateKey: indexKey.B58Serialize(), // i.e. "xprvA3Ny3GrsaiS4pkaa8p1k5AWqSi9nF9sAQnXEW34mETiR1BdnAioAS1BWsx3uAXKT3NbY6cpY2mQL6N7R8se1GVHqNkpjwc7rv5VRaQ9x8EB" - Account: bech32Addr, // i.e. "cosmos1pyxjp07wc207l7jecyr3wcmq9cr54tqwhcwugm" - Address: address.Bytes(), // i.e. [9, 13, 32, 191, 206, 194, 159, 239, 250, 89, 193, 7, 23, 99, 96, 46, 7, 74, 172, 14] - } -} -func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) interface{} { - chainType := chainConfig.Type - if chainType == "polkadot" || chainType == "parachain" || chainType == "relaychain" { - chainType = "parachain" - } - - if chainType == "parachain" { - addrs := strings.Split(rpcAddr, ",") - paraRpcAddr := rpcAddr - relayRpcAddr := grpcAddr - if len(addrs) > 1 { - paraRpcAddr, relayRpcAddr = addrs[0], addrs[1] - } - return HyperspaceRelayerSubstrateChainConfig{ - Type: chainType, - Name: chainConfig.Name, - ParaID: 2000, - ParachainRPCURL: strings.Replace(strings.Replace(paraRpcAddr, "http", "ws", 1), "9933", "27451", 1), - RelayChainRPCURL: strings.Replace(strings.Replace(relayRpcAddr, "http", "ws", 1), "9933", "27451", 1), - CommitmentPrefix: "0x6962632f", - PrivateKey: "//Alice", - SS58Version: polkadot.Ss58Format, - KeyType: "sr25519", - FinalityProtocol: "Grandpa", - } - } else if chainType == "cosmos" { - wsUrl := strings.Replace(rpcAddr, "http", "ws", 1) + "/websocket" - return HyperspaceRelayerCosmosChainConfig{ - Type: chainType, - Name: chainConfig.Name, - ChainID: chainConfig.ChainID, - AccountPrefix: chainConfig.Bech32Prefix, - GRPCUrl: "http://" + grpcAddr, - RPCUrl: rpcAddr, - StorePrefix: "ibc", - MaxTxSize: 200000, - WebsocketUrl: wsUrl, - } - } else { - panic(fmt.Sprintf("unsupported chain type %s", chainType)) - } -} - // hyperspaceCommander satisfies relayer.RelayerCommander. type hyperspaceCommander struct { log *zap.Logger diff --git a/relayer/hyperspace/hyperspace_config.go b/relayer/hyperspace/hyperspace_config.go new file mode 100644 index 000000000..617982fd5 --- /dev/null +++ b/relayer/hyperspace/hyperspace_config.go @@ -0,0 +1,135 @@ +// Package rly provides an interface to the cosmos relayer running in a Docker container. +package hyperspace + +import ( + "fmt" + "strconv" + "strings" + + "github.com/cosmos/cosmos-sdk/crypto/hd" + "github.com/cosmos/cosmos-sdk/crypto/keyring" + "github.com/cosmos/cosmos-sdk/types" + "github.com/strangelove-ventures/interchaintest/v7/chain/polkadot" + "github.com/strangelove-ventures/interchaintest/v7/ibc" + bip32 "github.com/tyler-smith/go-bip32" + bip39 "github.com/tyler-smith/go-bip39" +) + +type HyperspaceRelayerSubstrateChainConfig struct { + Type string `toml:"type"` + Name string `toml:"name"` + ParaID uint32 `toml:"para_id"` + ParachainRPCURL string `toml:"parachain_rpc_url"` + RelayChainRPCURL string `toml:"relay_chain_rpc_url"` + BeefyActivation uint32 `toml:"beefy_activation_block"` + CommitmentPrefix string `toml:"commitment_prefix"` + PrivateKey string `toml:"private_key"` + SS58Version uint8 `toml:"ss58_version"` + ChannelWhitelist []string `toml:"channel_whitelist"` + FinalityProtocol string `toml:"finality_protocol"` + KeyType string `toml:"key_type"` +} + +type KeyEntry struct { + PublicKey string `toml:"public_key"` + PrivateKey string `toml:"private_key"` + Account string `toml:"account"` + Address []byte `toml:"address"` +} + +type HyperspaceRelayerCosmosChainConfig struct { + Type string `toml:"type"` //New + Name string `toml:"name"` + RPCUrl string `toml:"rpc_url"` + GRPCUrl string `toml:"grpc_url"` + WebsocketUrl string `toml:"websocket_url"` + ChainID string `toml:"chain_id"` + AccountPrefix string `toml:"account_prefix"` + StorePrefix string `toml:"store_prefix"` + MaxTxSize uint64 `toml:"max_tx_size"` + WasmCodeId string `toml:"wasm_code_id"` + Keybase KeyEntry `toml:"keybase"` +} + +const ( + HyperspaceDefaultContainerImage = "hyperspace" + HyperspaceDefaultContainerVersion = "local" +) + + +func GenKeyEntry(bech32Prefix, coinType, mnemonic string) KeyEntry { + coinType64, err := strconv.ParseUint(coinType, 10, 32) + if err != nil { + return KeyEntry{} + } + algo := keyring.SignatureAlgo(hd.Secp256k1) + hdPath := hd.CreateHDPath(uint32(coinType64), 0, 0).String() + + // create master key and derive first key for keyring + derivedPriv, err := algo.Derive()(mnemonic, "", hdPath) + if err != nil { + return KeyEntry{} + } + + privKey := algo.Generate()(derivedPriv) + address := types.AccAddress(privKey.PubKey().Address()) + bech32Addr := types.MustBech32ifyAddressBytes(bech32Prefix, address) + + // Derive extended private key + seed := bip39.NewSeed(mnemonic, "") + masterKey, _ := bip32.NewMasterKey(seed) + purposeKey, _ := masterKey.NewChildKey(0x8000002C) // 44' + coinTypeKey, _ := purposeKey.NewChildKey(0x80000000 + uint32(coinType64)) // 118' + accountKey, _ := coinTypeKey.NewChildKey(0x80000000) // 0' + changeKey, _ := accountKey.NewChildKey(0) // 0 + indexKey, _ := changeKey.NewChildKey(0) // 0 + + return KeyEntry{ + PublicKey: indexKey.PublicKey().B58Serialize(), // i.e. "xpub6GNKSnPmR5zN3Ef3EqYkSJTZzjzGecb1n1SqJRUNnoFPsyxviG7QyoVzjEjP3gfqRu7AvRrEZMfXJazz8pZgmYP6yvvdRqC2pWmWpeQTMBP" + PrivateKey: indexKey.B58Serialize(), // i.e. "xprvA3Ny3GrsaiS4pkaa8p1k5AWqSi9nF9sAQnXEW34mETiR1BdnAioAS1BWsx3uAXKT3NbY6cpY2mQL6N7R8se1GVHqNkpjwc7rv5VRaQ9x8EB" + Account: bech32Addr, // i.e. "cosmos1pyxjp07wc207l7jecyr3wcmq9cr54tqwhcwugm" + Address: address.Bytes(), // i.e. [9, 13, 32, 191, 206, 194, 159, 239, 250, 89, 193, 7, 23, 99, 96, 46, 7, 74, 172, 14] + } +} +func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) interface{} { + chainType := chainConfig.Type + if chainType == "polkadot" || chainType == "parachain" || chainType == "relaychain" { + chainType = "parachain" + } + + if chainType == "parachain" { + addrs := strings.Split(rpcAddr, ",") + paraRpcAddr := rpcAddr + relayRpcAddr := grpcAddr + if len(addrs) > 1 { + paraRpcAddr, relayRpcAddr = addrs[0], addrs[1] + } + return HyperspaceRelayerSubstrateChainConfig{ + Type: chainType, + Name: chainConfig.Name, + ParaID: 2000, + ParachainRPCURL: strings.Replace(strings.Replace(paraRpcAddr, "http", "ws", 1), "9933", "27451", 1), + RelayChainRPCURL: strings.Replace(strings.Replace(relayRpcAddr, "http", "ws", 1), "9933", "27451", 1), + CommitmentPrefix: "0x6962632f", + PrivateKey: "//Alice", + SS58Version: polkadot.Ss58Format, + KeyType: "sr25519", + FinalityProtocol: "Grandpa", + } + } else if chainType == "cosmos" { + wsUrl := strings.Replace(rpcAddr, "http", "ws", 1) + "/websocket" + return HyperspaceRelayerCosmosChainConfig{ + Type: chainType, + Name: chainConfig.Name, + ChainID: chainConfig.ChainID, + AccountPrefix: chainConfig.Bech32Prefix, + GRPCUrl: "http://" + grpcAddr, + RPCUrl: rpcAddr, + StorePrefix: "ibc", + MaxTxSize: 200000, + WebsocketUrl: wsUrl, + } + } else { + panic(fmt.Sprintf("unsupported chain type %s", chainType)) + } +} diff --git a/relayer/hyperspace/hyperspace_relayer.go b/relayer/hyperspace/hyperspace_relayer.go new file mode 100644 index 000000000..3055681dd --- /dev/null +++ b/relayer/hyperspace/hyperspace_relayer.go @@ -0,0 +1,45 @@ +// Package rly provides an interface to the cosmos relayer running in a Docker container. +package hyperspace + +import ( + "context" + + "github.com/docker/docker/client" + "github.com/strangelove-ventures/interchaintest/v7/relayer" + "go.uber.org/zap" +) + +// HyperspaceRelayer is the ibc.Relayer implementation for github.com/ComposableFi/hyperspace. +type HyperspaceRelayer struct { + // Embedded DockerRelayer so commands just work. + *relayer.DockerRelayer +} + +func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, networkID string, options ...relayer.RelayerOption) *HyperspaceRelayer { + c := hyperspaceCommander{log: log} + for _, opt := range options { + switch o := opt.(type) { + case relayer.RelayerOptionExtraStartFlags: + c.extraStartFlags = o.Flags + } + } + dr, err := relayer.NewDockerRelayer(context.TODO(), log, testName, cli, networkID, &c, options...) + if err != nil { + panic(err) // TODO: return + } + + r := &HyperspaceRelayer{ + DockerRelayer: dr, + } + + return r +} + +// HyperspaceCapabilities returns the set of capabilities of the Cosmos relayer. +// +// Note, this API may change if the rly package eventually needs +// to distinguish between multiple rly versions. +func HyperspaceCapabilities() map[relayer.Capability]bool { + // RC1 matches the full set of capabilities as of writing. + return nil // relayer.FullCapabilities() +} From 903d8bbaa7c35b495fc2e11931a4b1b7f81500e9 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Sun, 19 Feb 2023 22:33:54 -0700 Subject: [PATCH 32/50] Add GeneratePath() to hyperspace relayer and move hyperspace-specific relayer functions out of DockerRelayer --- examples/hyperspace/hyperspace_test.go | 3 + relayer/docker.go | 129 +++++---------------- relayer/hyperspace/hyperspace_commander.go | 95 +++++++++------ relayer/hyperspace/hyperspace_config.go | 4 + relayer/hyperspace/hyperspace_relayer.go | 107 +++++++++++++++++ 5 files changed, 199 insertions(+), 139 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 82086b31b..16e6a3031 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -219,6 +219,9 @@ func TestHyperspace(t *testing.T) { fundAmount := int64(12_333_000_000_000) polkadotUser, cosmosUser := fundUsers(t, ctx, fundAmount, polkadotChain, cosmosChain) + err = r.GeneratePath(ctx, eRep, cosmosChain.Config().ChainID, polkadotChain.Config().ChainID, pathName) + require.NoError(t, err) + // Create new clients err = r.CreateClients(ctx, eRep, pathName, ibc.CreateClientOptions{TrustingPeriod: "330h"}) require.NoError(t, err) diff --git a/relayer/docker.go b/relayer/docker.go index 672a9ee1b..55f4a3e09 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -15,7 +15,6 @@ import ( volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" "github.com/docker/docker/pkg/stdcopy" - "github.com/pelletier/go-toml/v2" "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/dockerutil" @@ -46,10 +45,6 @@ type DockerRelayer struct { wallets map[string]ibc.Wallet } -type HyperspaceRelayerCoreConfig struct { - PrometheusEndpoint string -} - var _ ibc.Relayer = (*DockerRelayer)(nil) // NewDockerRelayer returns a new DockerRelayer. @@ -125,21 +120,27 @@ func NewDockerRelayer(ctx context.Context, log *zap.Logger, testName string, cli } } - if r.c.Name() == "hyperspace" { - coreConfig := HyperspaceRelayerCoreConfig{ - PrometheusEndpoint: "", - } - bytes, err := toml.Marshal(coreConfig) - if err != nil { - return nil, err - } - fw := dockerutil.NewFileWriter(r.log, r.client, r.testName) - if err := fw.WriteFile(ctx, r.volumeName, "core.config", bytes); err != nil { - return nil, fmt.Errorf("failed writing core config: %w", err) - } + return &r, nil +} + +// WriteFileToHomeDir writes the given contents to a file at the relative path specified. The file is relative +// to the home directory in the relayer container. +func (r *DockerRelayer) WriteFileToHomeDir(ctx context.Context, relativePath string, contents []byte) error { + fw := dockerutil.NewFileWriter(r.log, r.client, r.testName) + if err := fw.WriteFile(ctx, r.volumeName, relativePath, contents); err != nil { + return fmt.Errorf("failed to write file: %w", err) } + return nil +} - return &r, nil +// Modify a toml config file in relayer home directory +func (r *DockerRelayer) ModifyTomlConfigFile(ctx context.Context, relativePath string, modification testutil.Toml) error { + return testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, relativePath, modification) +} + +// AddWallet adds a stores a wallet for the given chain ID. +func (r *DockerRelayer) AddWallet(chainID string, wallet ibc.Wallet) { + r.wallets[chainID] = wallet } func (r *DockerRelayer) AddChainConfiguration(ctx context.Context, rep ibc.RelayerExecReporter, chainConfig ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) error { @@ -198,21 +199,18 @@ func (r *DockerRelayer) GetWallet(chainID string) (ibc.Wallet, bool) { func (r *DockerRelayer) CreateChannel(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, opts ibc.CreateChannelOptions) error { cmd := r.c.CreateChannel(pathName, opts, r.HomeDir()) - fmt.Println("Create Channel cmd: ", cmd) res := r.Exec(ctx, rep, cmd, nil) return res.Err } func (r *DockerRelayer) CreateClients(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, opts ibc.CreateClientOptions) error { cmd := r.c.CreateClients(pathName, opts, r.HomeDir()) - fmt.Println("Create Client cmd: ", cmd) res := r.Exec(ctx, rep, cmd, nil) return res.Err } func (r *DockerRelayer) CreateConnections(ctx context.Context, rep ibc.RelayerExecReporter, pathName string) error { cmd := r.c.CreateConnections(pathName, r.HomeDir()) - fmt.Println("Create connection cmd: ", cmd) res := r.Exec(ctx, rep, cmd, nil) return res.Err } @@ -312,84 +310,24 @@ func (r *DockerRelayer) Exec(ctx context.Context, rep ibc.RelayerExecReporter, c } func (r *DockerRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, keyName, mnemonic string) error { - addrBytes := "" chainID := cfg.ChainID coinType := cfg.CoinType - chainType := cfg.Type - - switch r.c.Name() { - case "hyperspace": - chainConfig := make(testutil.Toml) - switch chainType { - case "cosmos": - //chainConfig["private_key"] = mnemonic - bech32Prefix := cfg.Bech32Prefix - keyEntry := r.c.RestoreKey(chainID, bech32Prefix, coinType, mnemonic, r.HomeDir()) - keyEntryOverrides := make(testutil.Toml) - keyEntryOverrides["account"] = keyEntry[0] - keyEntryOverrides["private_key"] = keyEntry[1] - keyEntryOverrides["public_key"] = keyEntry[2] - keyEntryOverrides["address"] = []byte(keyEntry[3]) - chainConfig["keybase"] = keyEntryOverrides - case "polkadot": - //chainConfig["private_key"] = "//Alice" - chainConfig["private_key"] = mnemonic - } - chainConfigFile := chainID + ".config" - err := testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, chainConfigFile, chainConfig) - if err != nil { - return err - } - case "rly": - cmd := r.c.RestoreKey(chainID, keyName, coinType, mnemonic, r.HomeDir()) - - // Restoring a key should be near-instantaneous, so add a 1-minute timeout - // to detect if Docker has hung. - ctx, cancel := context.WithTimeout(ctx, time.Minute) - defer cancel() - - res := r.Exec(ctx, rep, cmd, nil) - if res.Err != nil { - return res.Err - } - addrBytes = r.c.ParseRestoreKeyOutput(string(res.Stdout), string(res.Stderr)) - } + cmd := r.c.RestoreKey(chainID, keyName, coinType, mnemonic, r.HomeDir()) - r.wallets[chainID] = r.c.CreateWallet("", addrBytes, mnemonic) - - return nil -} - -func (r *DockerRelayer) PrintCoreConfig(ctx context.Context, rep ibc.RelayerExecReporter) error { - cmd := []string{ - "cat", - path.Join(r.HomeDir(), "core.config"), - } - + // Restoring a key should be near-instantaneous, so add a 1-minute timeout + // to detect if Docker has hung. ctx, cancel := context.WithTimeout(ctx, time.Minute) defer cancel() - res := r.Exec(ctx, rep, cmd, nil) - if res.Err != nil { - return res.Err - } - fmt.Println(string(res.Stdout)) - return nil -} -func (r *DockerRelayer) PrintConfigs(ctx context.Context, rep ibc.RelayerExecReporter, chainID string) error { - cmd := []string{ - "cat", - path.Join(r.HomeDir(), chainID+".config"), - } - - ctx, cancel := context.WithTimeout(ctx, time.Minute) - defer cancel() res := r.Exec(ctx, rep, cmd, nil) if res.Err != nil { return res.Err } - fmt.Println(string(res.Stdout)) + addrBytes := r.c.ParseRestoreKeyOutput(string(res.Stdout), string(res.Stderr)) + + r.wallets[chainID] = r.c.CreateWallet("", addrBytes, mnemonic) + return nil } @@ -566,20 +504,7 @@ func (r *DockerRelayer) UseDockerNetwork() bool { } func (r *DockerRelayer) SetClientContractHash(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, hash string) error { - switch r.c.Name() { - case "hyperspace": - chainConfig := make(testutil.Toml) - chainConfig["wasm_code_id"] = hash - chainConfigFile := cfg.ChainID + ".config" - err := testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, chainConfigFile, chainConfig) - if err != nil { - return err - } - case "rly": - panic("[rly/SetClientContractHash] Implement me") - } - - return nil + panic("[rly/SetClientContractHash] Implement me") } type RelayerCommander interface { diff --git a/relayer/hyperspace/hyperspace_commander.go b/relayer/hyperspace/hyperspace_commander.go index b7b8f4abf..6c237eed2 100644 --- a/relayer/hyperspace/hyperspace_commander.go +++ b/relayer/hyperspace/hyperspace_commander.go @@ -19,9 +19,23 @@ import ( // hyperspaceCommander satisfies relayer.RelayerCommander. type hyperspaceCommander struct { log *zap.Logger - chainConfigPaths []string + paths map[string]*pathConfiguration + //chainConfigPaths []string extraStartFlags []string - //dockerRelayer *relayer.DockerRelayer +} + +// pathConfiguration represents the concept of a "path" which is implemented at the interchain test level rather +// than the hyperspace level. +type pathConfiguration struct { + chainA, chainB pathChainConfig +} + +// pathChainConfig holds all values that will be required when interacting with a path. +type pathChainConfig struct { + chainID string + clientID string + connectionID string + portID string } func (hyperspaceCommander) Name() string { @@ -34,7 +48,7 @@ func (hyperspaceCommander) DockerUser() string { func (c *hyperspaceCommander) AddChainConfiguration(containerFilePath, homeDir string) []string { fmt.Println("[hyperspace] AddChainConfiguration ", containerFilePath, homeDir) - c.chainConfigPaths = append(c.chainConfigPaths, containerFilePath) + //c.chainConfigPaths = append(c.chainConfigPaths, containerFilePath) return []string{ "hyperspace", "-h", @@ -48,7 +62,7 @@ func (hyperspaceCommander) AddKey(chainID, keyName, coinType, homeDir string) [] func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { fmt.Println("[hyperspace] CreateChannel", pathName, homeDir) - if len(c.chainConfigPaths) < 2 { + /*if len(c.chainConfigPaths) < 2 { fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } @@ -56,19 +70,18 @@ func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChan simd := 1 if strings.Contains(c.chainConfigPaths[0], "simd") { simd = 0 - } + }*/ return []string{ "hyperspace", "create-channel", "--config-a", - c.chainConfigPaths[simd], + configPath(homeDir, c.paths[pathName].chainA.chainID), "--config-b", - c.chainConfigPaths[(simd+1)%2], + configPath(homeDir, c.paths[pathName].chainB.chainID), "--config-core", path.Join(homeDir, "core.config"), "--delay-period", "0", - //"10", "--port-id", opts.SourcePortName, "--order", @@ -80,7 +93,7 @@ func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChan func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { fmt.Println("[hyperspace] CreateClients", pathName, opts, homeDir) - if len(c.chainConfigPaths) < 2 { + /*if len(c.chainConfigPaths) < 2 { fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } @@ -88,19 +101,18 @@ func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClie simd := 1 if strings.Contains(c.chainConfigPaths[0], "simd") { simd = 0 - } + }*/ return []string{ "hyperspace", "create-clients", "--config-a", - c.chainConfigPaths[simd], + configPath(homeDir, c.paths[pathName].chainA.chainID), "--config-b", - c.chainConfigPaths[(simd+1)%2], + configPath(homeDir, c.paths[pathName].chainB.chainID), "--config-core", path.Join(homeDir, "core.config"), "--delay-period", "0", - //"10", "--port-id", "transfer", "--order", @@ -109,13 +121,13 @@ func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClie } // Hyperspace doesn't implement this -func (hyperspaceCommander) CreateClient(pathName, homeDir, customClientTrustingPeriod string) []string { - panic("[CreateClient] Do not use me") -} +//func (hyperspaceCommander) CreateClient(pathName, homeDir, customClientTrustingPeriod string) []string { +// panic("[CreateClient] Do not use me") +//} func (c *hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) - if len(c.chainConfigPaths) < 2 { + /*if len(c.chainConfigPaths) < 2 { fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } @@ -123,19 +135,18 @@ func (c *hyperspaceCommander) CreateConnections(pathName, homeDir string) []stri simd := 1 if strings.Contains(c.chainConfigPaths[0], "simd") { simd = 0 - } + }*/ return []string{ "hyperspace", "create-connection", "--config-a", - c.chainConfigPaths[simd], + configPath(homeDir, c.paths[pathName].chainA.chainID), "--config-b", - c.chainConfigPaths[(simd+1)%2], + configPath(homeDir, c.paths[pathName].chainB.chainID), "--config-core", path.Join(homeDir, "core.config"), "--delay-period", "0", - //"10", "--port-id", "transfer", "--order", @@ -153,9 +164,20 @@ func (hyperspaceCommander) FlushPackets(pathName, channelID, homeDir string) []s panic("[FlushPackets] Do not call me") } -// Hyperspace does not have paths, just two configs -func (hyperspaceCommander) GeneratePath(srcChainID, dstChainID, pathName, homeDir string) []string { - panic("[GeneratePath] Do not call me") +// GeneratePath establishes an in memory path representation. The concept does not exist in hyperspace. +func (c *hyperspaceCommander) GeneratePath(srcChainID, dstChainID, pathName, homeDir string) []string { + if c.paths == nil { + c.paths = map[string]*pathConfiguration{} + } + c.paths[pathName] = &pathConfiguration{ + chainA: pathChainConfig{ + chainID: srcChainID, + }, + chainB: pathChainConfig{ + chainID: dstChainID, + }, + } + return []string{"true"} } // Hyperspace does not have paths, just two configs @@ -205,21 +227,14 @@ func (hyperspaceCommander) LinkPath(pathName, homeDir string, channelOpts ibc.Cr } // There is no hyperspace call to restore the key, so this can't return an executable. -// DockerRelayer's RestoreKey will restore the key in the chain's config file -// For now, we will hack this for cosmos chain's use case +// HyperspaceRelayer's RestoreKey will restore the key in the chain's config file func (hyperspaceCommander) RestoreKey(chainID, bech32Prefix, coinType, mnemonic, homeDir string) []string { - keyEntry := GenKeyEntry(bech32Prefix, coinType, mnemonic) - return []string{ - keyEntry.Account, - keyEntry.PrivateKey, - keyEntry.PublicKey, - string(keyEntry.Address), - } + panic("[RestoreKey] Do not use me") } func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) - if len(c.chainConfigPaths) < 2 { + /*if len(c.chainConfigPaths) < 2 { fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) panic("Hyperspace needs two chain configs") } @@ -227,14 +242,15 @@ func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) simd := 1 if strings.Contains(c.chainConfigPaths[0], "simd") { simd = 0 - } + }*/ + pathName := pathNames[0] return []string{ "hyperspace", "relay", "--config-a", - c.chainConfigPaths[simd], + configPath(homeDir, c.paths[pathName].chainA.chainID), "--config-b", - c.chainConfigPaths[(simd+1)%2], + configPath(homeDir, c.paths[pathName].chainB.chainID), "--config-core", path.Join(homeDir, "core.config"), "--delay-period", @@ -391,3 +407,8 @@ func (hyperspaceCommander) CreateWallet(keyName, address, mnemonic string) ibc.W } return NewWallet("", kp.Address, mnemonic) } + +func configPath(homeDir, chainID string) string { + chainConfigFile := chainID + ".config" + return path.Join(homeDir, chainConfigFile) +} \ No newline at end of file diff --git a/relayer/hyperspace/hyperspace_config.go b/relayer/hyperspace/hyperspace_config.go index 617982fd5..6181f83e8 100644 --- a/relayer/hyperspace/hyperspace_config.go +++ b/relayer/hyperspace/hyperspace_config.go @@ -15,6 +15,10 @@ import ( bip39 "github.com/tyler-smith/go-bip39" ) +type HyperspaceRelayerCoreConfig struct { + PrometheusEndpoint string +} + type HyperspaceRelayerSubstrateChainConfig struct { Type string `toml:"type"` Name string `toml:"name"` diff --git a/relayer/hyperspace/hyperspace_relayer.go b/relayer/hyperspace/hyperspace_relayer.go index 3055681dd..e39410ae4 100644 --- a/relayer/hyperspace/hyperspace_relayer.go +++ b/relayer/hyperspace/hyperspace_relayer.go @@ -3,16 +3,33 @@ package hyperspace import ( "context" + "fmt" + "path" + "time" "github.com/docker/docker/client" + "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/relayer" + "github.com/strangelove-ventures/interchaintest/v7/testutil" + "github.com/pelletier/go-toml/v2" "go.uber.org/zap" ) +var _ ibc.Relayer = &HyperspaceRelayer{} +// ******* DockerRelayer methods that will panic in hyperspace commander, no overrides yet ******* +// FlushAcknowledgements() - no hyperspace implementation yet +// FlushPackets() - no hypersapce implementation yet +// UpdatePath() - hyperspace doesn't understand paths, may not be needed. +// LinkPath() - doesn't make sense for hyperspace, interchaintest.Build() will fail because of parachain setup time (if used with parachain) +// UpdateClients() - no hyperspace implementation yet +// AddKey() - no hyperspace implementation yet + + // HyperspaceRelayer is the ibc.Relayer implementation for github.com/ComposableFi/hyperspace. type HyperspaceRelayer struct { // Embedded DockerRelayer so commands just work. *relayer.DockerRelayer + hc *hyperspaceCommander } func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, networkID string, options ...relayer.RelayerOption) *HyperspaceRelayer { @@ -28,8 +45,21 @@ func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, panic(err) // TODO: return } + coreConfig := HyperspaceRelayerCoreConfig{ + PrometheusEndpoint: "", + } + bytes, err := toml.Marshal(coreConfig) + if err != nil { + panic(err) // TODO: return + } + err = dr.WriteFileToHomeDir(context.TODO(), "core.config", bytes) + if err != nil { + panic(err) // TODO: return + } + r := &HyperspaceRelayer{ DockerRelayer: dr, + hc: &c, } return r @@ -43,3 +73,80 @@ func HyperspaceCapabilities() map[relayer.Capability]bool { // RC1 matches the full set of capabilities as of writing. return nil // relayer.FullCapabilities() } + +func (r *HyperspaceRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, keyName, mnemonic string) error { + addrBytes := "" + chainID := cfg.ChainID + coinType := cfg.CoinType + chainType := cfg.Type + + chainConfig := make(testutil.Toml) + switch chainType { + case "cosmos": + //chainConfig["private_key"] = mnemonic + bech32Prefix := cfg.Bech32Prefix + keyEntry := GenKeyEntry(bech32Prefix, coinType, mnemonic) + keyEntryOverrides := make(testutil.Toml) + keyEntryOverrides["account"] = keyEntry.Account + keyEntryOverrides["private_key"] = keyEntry.PrivateKey + keyEntryOverrides["public_key"] = keyEntry.PublicKey + keyEntryOverrides["address"] = keyEntry.Address + chainConfig["keybase"] = keyEntryOverrides + case "polkadot": + //chainConfig["private_key"] = "//Alice" + chainConfig["private_key"] = mnemonic + } + chainConfigFile := chainID + ".config" + err := r.DockerRelayer.ModifyTomlConfigFile(ctx, chainConfigFile, chainConfig) + if err != nil { + return err + } + + r.AddWallet(chainID, NewWallet(chainID, addrBytes, mnemonic)) + + return nil +} + +func (r *HyperspaceRelayer) SetClientContractHash(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, hash string) error { + chainConfig := make(testutil.Toml) + chainConfig["wasm_code_id"] = hash + chainConfigFile := cfg.ChainID + ".config" + err := r.ModifyTomlConfigFile(ctx, chainConfigFile, chainConfig) + if err != nil { + return err + } + + return nil +} + +func (r *HyperspaceRelayer) PrintCoreConfig(ctx context.Context, rep ibc.RelayerExecReporter) error { + cmd := []string{ + "cat", + path.Join(r.HomeDir(), "core.config"), + } + + ctx, cancel := context.WithTimeout(ctx, time.Minute) + defer cancel() + res := r.Exec(ctx, rep, cmd, nil) + if res.Err != nil { + return res.Err + } + fmt.Println(string(res.Stdout)) + return nil +} + +func (r *HyperspaceRelayer) PrintConfigs(ctx context.Context, rep ibc.RelayerExecReporter, chainID string) error { + cmd := []string{ + "cat", + path.Join(r.HomeDir(), chainID+".config"), + } + + ctx, cancel := context.WithTimeout(ctx, time.Minute) + defer cancel() + res := r.Exec(ctx, rep, cmd, nil) + if res.Err != nil { + return res.Err + } + fmt.Println(string(res.Stdout)) + return nil +} \ No newline at end of file From c768581112279b3bcad3f284e9968206f5107744 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Mon, 20 Feb 2023 11:35:15 -0700 Subject: [PATCH 33/50] Add LinkPath to hyperspace relayer interface --- examples/hyperspace/hyperspace_test.go | 4 +- relayer/hyperspace/hyperspace_commander.go | 55 +++++++--------------- relayer/hyperspace/hyperspace_relayer.go | 22 +++++++-- 3 files changed, 36 insertions(+), 45 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 16e6a3031..e91b74a49 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -223,7 +223,7 @@ func TestHyperspace(t *testing.T) { require.NoError(t, err) // Create new clients - err = r.CreateClients(ctx, eRep, pathName, ibc.CreateClientOptions{TrustingPeriod: "330h"}) + err = r.CreateClients(ctx, eRep, pathName, ibc.DefaultClientOpts()) require.NoError(t, err) err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) // these 1 block waits may be needed, not sure require.NoError(t, err) @@ -262,8 +262,6 @@ func TestHyperspace(t *testing.T) { panic(err) } }) - //err = testutil.WaitForBlocks(ctx, 2, cosmosChain, polkadotChain) - //require.NoError(t, err) // Send 1.77 stake from cosmosUser to parachainUser amountToSend := int64(1_770_000) diff --git a/relayer/hyperspace/hyperspace_commander.go b/relayer/hyperspace/hyperspace_commander.go index 6c237eed2..4d76d33fe 100644 --- a/relayer/hyperspace/hyperspace_commander.go +++ b/relayer/hyperspace/hyperspace_commander.go @@ -20,7 +20,6 @@ import ( type hyperspaceCommander struct { log *zap.Logger paths map[string]*pathConfiguration - //chainConfigPaths []string extraStartFlags []string } @@ -62,15 +61,10 @@ func (hyperspaceCommander) AddKey(chainID, keyName, coinType, homeDir string) [] func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { fmt.Println("[hyperspace] CreateChannel", pathName, homeDir) - /*if len(c.chainConfigPaths) < 2 { - fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) - panic("Hyperspace needs two chain configs") + _, ok := c.paths[pathName] + if !ok { + panic(fmt.Sprintf("path %s not found", pathName)) } - // Temporarily force simd for chain A and rococo for chain B - simd := 1 - if strings.Contains(c.chainConfigPaths[0], "simd") { - simd = 0 - }*/ return []string{ "hyperspace", "create-channel", @@ -93,15 +87,10 @@ func (c *hyperspaceCommander) CreateChannel(pathName string, opts ibc.CreateChan func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { fmt.Println("[hyperspace] CreateClients", pathName, opts, homeDir) - /*if len(c.chainConfigPaths) < 2 { - fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) - panic("Hyperspace needs two chain configs") + _, ok := c.paths[pathName] + if !ok { + panic(fmt.Sprintf("path %s not found", pathName)) } - // Temporarily force simd for chain A and rococo for chain B - simd := 1 - if strings.Contains(c.chainConfigPaths[0], "simd") { - simd = 0 - }*/ return []string{ "hyperspace", "create-clients", @@ -120,22 +109,12 @@ func (c *hyperspaceCommander) CreateClients(pathName string, opts ibc.CreateClie } } -// Hyperspace doesn't implement this -//func (hyperspaceCommander) CreateClient(pathName, homeDir, customClientTrustingPeriod string) []string { -// panic("[CreateClient] Do not use me") -//} - func (c *hyperspaceCommander) CreateConnections(pathName, homeDir string) []string { fmt.Println("[hyperspace] CreateConnections", pathName, homeDir) - /*if len(c.chainConfigPaths) < 2 { - fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) - panic("Hyperspace needs two chain configs") + _, ok := c.paths[pathName] + if !ok { + panic(fmt.Sprintf("path %s not found", pathName)) } - // Temporarily force simd for chain A and rococo for chain B - simd := 1 - if strings.Contains(c.chainConfigPaths[0], "simd") { - simd = 0 - }*/ return []string{ "hyperspace", "create-connection", @@ -232,18 +211,17 @@ func (hyperspaceCommander) RestoreKey(chainID, bech32Prefix, coinType, mnemonic, panic("[RestoreKey] Do not use me") } +// hyperspace can only start 1 path func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) []string { fmt.Println("[hyperspace] StartRelayer", homeDir, pathNames) - /*if len(c.chainConfigPaths) < 2 { - fmt.Println("ChainConfigPaths length: ", len(c.chainConfigPaths)) - panic("Hyperspace needs two chain configs") + if len(pathNames) != 1 { + panic("Hyperspace's StartRelayer list of paths can only have 1 path") } - // Temporarily force simd for chain A and rococo for chain B - simd := 1 - if strings.Contains(c.chainConfigPaths[0], "simd") { - simd = 0 - }*/ pathName := pathNames[0] + _, ok := c.paths[pathName] + if !ok { + panic(fmt.Sprintf("path %s not found", pathName)) + } return []string{ "hyperspace", "relay", @@ -255,7 +233,6 @@ func (c *hyperspaceCommander) StartRelayer(homeDir string, pathNames ...string) path.Join(homeDir, "core.config"), "--delay-period", "0", - //"10", "--port-id", "transfer", "--order", diff --git a/relayer/hyperspace/hyperspace_relayer.go b/relayer/hyperspace/hyperspace_relayer.go index e39410ae4..b37f01a94 100644 --- a/relayer/hyperspace/hyperspace_relayer.go +++ b/relayer/hyperspace/hyperspace_relayer.go @@ -20,7 +20,6 @@ var _ ibc.Relayer = &HyperspaceRelayer{} // FlushAcknowledgements() - no hyperspace implementation yet // FlushPackets() - no hypersapce implementation yet // UpdatePath() - hyperspace doesn't understand paths, may not be needed. -// LinkPath() - doesn't make sense for hyperspace, interchaintest.Build() will fail because of parachain setup time (if used with parachain) // UpdateClients() - no hyperspace implementation yet // AddKey() - no hyperspace implementation yet @@ -29,7 +28,6 @@ var _ ibc.Relayer = &HyperspaceRelayer{} type HyperspaceRelayer struct { // Embedded DockerRelayer so commands just work. *relayer.DockerRelayer - hc *hyperspaceCommander } func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, networkID string, options ...relayer.RelayerOption) *HyperspaceRelayer { @@ -59,7 +57,6 @@ func NewHyperspaceRelayer(log *zap.Logger, testName string, cli *client.Client, r := &HyperspaceRelayer{ DockerRelayer: dr, - hc: &c, } return r @@ -74,6 +71,25 @@ func HyperspaceCapabilities() map[relayer.Capability]bool { return nil // relayer.FullCapabilities() } +// LinkPath performs the operations that happen when a path is linked. This includes creating clients, creating connections +// and establishing a channel. This happens across multiple operations rather than a single link path cli command. +// Parachains need a Polkadot epoch/session before starting, do not link in interchain.Build() +func (r *HyperspaceRelayer) LinkPath(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, channelOpts ibc.CreateChannelOptions, clientOpts ibc.CreateClientOptions) error { + if err := r.CreateClients(ctx, rep, pathName, clientOpts); err != nil { + return err + } + + if err := r.CreateConnections(ctx, rep, pathName); err != nil { + return err + } + + if err := r.CreateChannel(ctx, rep, pathName, channelOpts); err != nil { + return err + } + + return nil +} + func (r *HyperspaceRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, keyName, mnemonic string) error { addrBytes := "" chainID := cfg.ChainID From f425890a7610f66f9cd8df8cac4867b1a68e2a8a Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Mon, 20 Feb 2023 21:28:29 -0700 Subject: [PATCH 34/50] Override cosmos chain block time in test --- chain/cosmos/chain_node.go | 2 +- examples/hyperspace/hyperspace_test.go | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index aca5a3ac5..5ee24293b 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -68,7 +68,7 @@ type ChainNodes []*ChainNode const ( valKey = "validator" - blockTime = 6 // seconds + blockTime = 2 // seconds p2pPort = "26656/tcp" rpcPort = "26657/tcp" grpcPort = "9090/tcp" diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index e91b74a49..0cbe2391b 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -6,6 +6,7 @@ import ( "encoding/hex" "fmt" "testing" + "time" "encoding/json" "github.com/icza/dyno" @@ -89,7 +90,15 @@ func TestHyperspace(t *testing.T) { rpcOverrides := make(testutil.Toml) rpcOverrides["max_body_bytes"] = 1_800_000 rpcOverrides["max_header_bytes"] = 1_900_000 + + consensusOverrides := make(testutil.Toml) + blockTime := 5 // seconds, parachain is 12 second blocks, don't make relayer work harder than needed + blockT := (time.Duration(blockTime) * time.Second).String() + consensusOverrides["timeout_commit"] = blockT + consensusOverrides["timeout_propose"] = blockT + configTomlOverrides["rpc"] = rpcOverrides + configTomlOverrides["consensus"] = consensusOverrides //mempoolOverrides := make(testutil.Toml) //mempoolOverrides["max_tx_bytes"] = 6000000 From cd16f122cc1083166862ae2d5766d9bcb206fa57 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Mon, 20 Feb 2023 21:58:15 -0700 Subject: [PATCH 35/50] Scale polkadot/parachain additional wallets by a factor of 1mil relative to default --- chain/polkadot/parachain_node.go | 5 ++++- chain/polkadot/polkadot_chain.go | 5 ++++- interchain.go | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index a93ee1f94..29a5e98c7 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -24,6 +24,9 @@ import ( sdktypes "github.com/cosmos/cosmos-sdk/types" ) +// Increase parachain scaled wallet amounts relative to cosmos +const parachainScaling = int64(1_000_000) + // ParachainNode defines the properties required for running a polkadot parachain node. type ParachainNode struct { log *zap.Logger @@ -152,7 +155,7 @@ func (pn *ParachainNode) GenerateParachainGenesisFile(ctx context.Context, addit for _, wallet := range additionalGenesisWallets { balances = append(balances, - []interface{}{wallet.Address, wallet.Amount}, + []interface{}{wallet.Address, wallet.Amount * parachainScaling}, ) } if err := dyno.Set(chainSpec, balances, "genesis", "runtime", "balances", "balances"); err != nil { diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index 9d4a2c112..16fc89b6c 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -27,6 +27,9 @@ import ( sdktypes "github.com/cosmos/cosmos-sdk/types" ) +// Increase polkadot scaled wallet amounts relative to cosmos +const polkadotScaling = int64(1_000_000) + // PolkadotChain implements the ibc.Chain interface for substrate chains. type PolkadotChain struct { log *zap.Logger @@ -296,7 +299,7 @@ func (c *PolkadotChain) modifyRelayChainGenesis(ctx context.Context, chainSpec i } for _, wallet := range additionalGenesisWallets { balances = append(balances, - []interface{}{wallet.Address, wallet.Amount}, + []interface{}{wallet.Address, wallet.Amount * polkadotScaling}, ) } diff --git a/interchain.go b/interchain.go index e17a88537..d8a40f1a8 100644 --- a/interchain.go +++ b/interchain.go @@ -366,7 +366,7 @@ func (ic *Interchain) genesisWalletAmounts(ctx context.Context) (map[ibc.Chain][ walletAmounts[c] = append(walletAmounts[c], ibc.WalletAmount{ Address: wallet.FormattedAddress(), Denom: c.Config().Denom, - Amount: 100_000_000_000_000, // Every wallet gets 100t units of denom. + Amount: 1_000_000_000_000, // Every wallet gets 1t units of denom. }) } From 6b37a7d5dc0ab501ffda7e4cd7c1d214ef5a76a4 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 17 Mar 2023 12:47:26 -0600 Subject: [PATCH 36/50] Update test framework with latest changes from ibc-go, hyperspace, grandpa contract, and parachain. --- chain/cosmos/08-wasm-types/client_state.go | 2 +- chain/cosmos/08-wasm-types/codec.go | 2 +- chain/cosmos/08-wasm-types/consensus_state.go | 2 +- chain/cosmos/08-wasm-types/header.go | 2 +- chain/cosmos/08-wasm-types/misbehavior.go | 2 +- chain/cosmos/08-wasm-types/module.go | 2 +- chain/cosmos/08-wasm-types/msgs.go | 2 +- chain/cosmos/08-wasm-types/tx.pb.go | 14 ++-- chain/cosmos/08-wasm-types/wasm.pb.go | 62 +++++++------- chain/cosmos/chain_node.go | 5 +- chain/cosmos/cosmos_chain.go | 6 +- chain/polkadot/parachain_node.go | 5 +- chain/polkadot/polkadot_chain.go | 14 +--- chain/polkadot/relay_chain_node.go | 1 + chain/polkadot/ss58.go | 2 +- examples/hyperspace/hyperspace_test.go | 56 +++++++++---- examples/polkadot/ics10_grandpa_cw.wasm | Bin 776512 -> 779704 bytes go.mod | 2 +- go.sum | 2 + relayer/docker.go | 11 +++ relayer/hyperspace/hyperspace_config.go | 11 ++- relayer/hyperspace/hyperspace_relayer.go | 79 +++++++++++++----- 22 files changed, 179 insertions(+), 105 deletions(-) diff --git a/chain/cosmos/08-wasm-types/client_state.go b/chain/cosmos/08-wasm-types/client_state.go index 2c115391f..8a828fc82 100644 --- a/chain/cosmos/08-wasm-types/client_state.go +++ b/chain/cosmos/08-wasm-types/client_state.go @@ -1,4 +1,4 @@ -package wasm +package types import ( "github.com/cosmos/cosmos-sdk/codec" diff --git a/chain/cosmos/08-wasm-types/codec.go b/chain/cosmos/08-wasm-types/codec.go index 9a7d49b6a..2bf712d5e 100644 --- a/chain/cosmos/08-wasm-types/codec.go +++ b/chain/cosmos/08-wasm-types/codec.go @@ -1,4 +1,4 @@ -package wasm +package types import ( codectypes "github.com/cosmos/cosmos-sdk/codec/types" diff --git a/chain/cosmos/08-wasm-types/consensus_state.go b/chain/cosmos/08-wasm-types/consensus_state.go index 5014a1472..c49992bbc 100644 --- a/chain/cosmos/08-wasm-types/consensus_state.go +++ b/chain/cosmos/08-wasm-types/consensus_state.go @@ -1,4 +1,4 @@ -package wasm +package types import ( "github.com/cosmos/ibc-go/v7/modules/core/exported" diff --git a/chain/cosmos/08-wasm-types/header.go b/chain/cosmos/08-wasm-types/header.go index df26cdbec..f47a48f74 100644 --- a/chain/cosmos/08-wasm-types/header.go +++ b/chain/cosmos/08-wasm-types/header.go @@ -1,4 +1,4 @@ -package wasm +package types import ( "github.com/cosmos/ibc-go/v7/modules/core/exported" diff --git a/chain/cosmos/08-wasm-types/misbehavior.go b/chain/cosmos/08-wasm-types/misbehavior.go index 9f0b6b18f..daa3623a3 100644 --- a/chain/cosmos/08-wasm-types/misbehavior.go +++ b/chain/cosmos/08-wasm-types/misbehavior.go @@ -1,4 +1,4 @@ -package wasm +package types import ( exported "github.com/cosmos/ibc-go/v7/modules/core/exported" diff --git a/chain/cosmos/08-wasm-types/module.go b/chain/cosmos/08-wasm-types/module.go index 9551ce0b7..85fa9f128 100644 --- a/chain/cosmos/08-wasm-types/module.go +++ b/chain/cosmos/08-wasm-types/module.go @@ -1,4 +1,4 @@ -package wasm +package types import ( "encoding/json" diff --git a/chain/cosmos/08-wasm-types/msgs.go b/chain/cosmos/08-wasm-types/msgs.go index 9691d2a75..95b304fe5 100644 --- a/chain/cosmos/08-wasm-types/msgs.go +++ b/chain/cosmos/08-wasm-types/msgs.go @@ -1,4 +1,4 @@ -package wasm +package types import ( sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/chain/cosmos/08-wasm-types/tx.pb.go b/chain/cosmos/08-wasm-types/tx.pb.go index fe1927eae..dcbf69886 100644 --- a/chain/cosmos/08-wasm-types/tx.pb.go +++ b/chain/cosmos/08-wasm-types/tx.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: ibc/lightclients/wasm/v1/tx.proto -package wasm +package types import ( context "context" @@ -133,7 +133,7 @@ func init() { func init() { proto.RegisterFile("ibc/lightclients/wasm/v1/tx.proto", fileDescriptor_1d9737363bf1e38d) } var fileDescriptor_1d9737363bf1e38d = []byte{ - // 274 bytes of a gzipped FileDescriptorProto + // 276 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcc, 0x4c, 0x4a, 0xd6, 0xcf, 0xc9, 0x4c, 0xcf, 0x28, 0x49, 0xce, 0xc9, 0x4c, 0xcd, 0x2b, 0x29, 0xd6, 0x2f, 0x4f, 0x2c, 0xce, 0xd5, 0x2f, 0x33, 0xd4, 0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0xc8, @@ -145,13 +145,13 @@ var fileDescriptor_1d9737363bf1e38d = []byte{ 0xe7, 0x15, 0xa7, 0x0a, 0x89, 0x73, 0xb1, 0x83, 0x54, 0xc5, 0x67, 0xa6, 0x80, 0x8d, 0xe2, 0x09, 0x62, 0x03, 0x71, 0x3d, 0x53, 0x8c, 0x6a, 0xb8, 0x98, 0x7d, 0x8b, 0xd3, 0x85, 0x4a, 0xb9, 0xf8, 0xd1, 0x2d, 0xd7, 0xd1, 0xc3, 0xe5, 0x5a, 0x3d, 0x4c, 0x8b, 0xa4, 0x4c, 0x48, 0x51, 0x0d, 0x73, - 0x96, 0x53, 0xc4, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, - 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xd9, 0xa5, 0x67, + 0x96, 0x53, 0xe4, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, + 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xd9, 0xa7, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x27, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, 0x67, 0x26, 0x25, 0xeb, 0xa6, 0xe7, 0xeb, 0x97, 0x99, 0xeb, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, - 0x16, 0x43, 0x42, 0x5b, 0x17, 0x16, 0xdc, 0x06, 0x16, 0xba, 0x20, 0x2b, 0xad, 0x41, 0x44, 0x12, - 0x1b, 0x38, 0xc4, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x56, 0x95, 0x69, 0x96, 0x01, - 0x00, 0x00, + 0x16, 0x43, 0x42, 0x5b, 0x17, 0x16, 0xdc, 0x06, 0x16, 0xba, 0xe0, 0x10, 0x2f, 0xa9, 0x2c, 0x48, + 0x2d, 0x4e, 0x62, 0x03, 0x07, 0xb9, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x60, 0xe3, 0x92, 0xd7, + 0x97, 0x01, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/chain/cosmos/08-wasm-types/wasm.pb.go b/chain/cosmos/08-wasm-types/wasm.pb.go index 859c5ad05..ee6101e73 100644 --- a/chain/cosmos/08-wasm-types/wasm.pb.go +++ b/chain/cosmos/08-wasm-types/wasm.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. // source: ibc/lightclients/wasm/v1/wasm.proto -package wasm +package types import ( fmt "fmt" @@ -199,36 +199,36 @@ func init() { } var fileDescriptor_678928ebbdee1807 = []byte{ - // 458 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0xc1, 0x6e, 0xd3, 0x30, - 0x18, 0xc7, 0xe3, 0x12, 0x15, 0xea, 0x75, 0x08, 0x45, 0x45, 0x44, 0xd5, 0x94, 0x4c, 0xe1, 0xc0, - 0x2e, 0x8d, 0x09, 0x48, 0x80, 0x86, 0xc4, 0xa1, 0xbb, 0xac, 0x87, 0x5d, 0xc2, 0x05, 0x81, 0xd0, - 0xe4, 0x24, 0x56, 0x6a, 0x11, 0xf7, 0x9b, 0x62, 0x37, 0x88, 0x37, 0xe0, 0xc8, 0x95, 0x13, 0x3c, - 0xce, 0x8e, 0x3b, 0x72, 0xaa, 0x50, 0xfb, 0x06, 0x7b, 0x02, 0x64, 0x3b, 0x6d, 0x86, 0x84, 0x84, - 0xb4, 0x4b, 0xf2, 0xd9, 0xfe, 0xf9, 0xff, 0xfd, 0xfd, 0xd7, 0x87, 0x1f, 0xf3, 0x2c, 0x27, 0x15, - 0x2f, 0xe7, 0x2a, 0xaf, 0x38, 0x5b, 0x28, 0x49, 0x3e, 0x53, 0x29, 0x48, 0x93, 0x98, 0x7f, 0x7c, - 0x51, 0x83, 0x02, 0xcf, 0xe7, 0x59, 0x1e, 0xdf, 0x84, 0x62, 0x73, 0xd8, 0x24, 0xe3, 0x51, 0x09, - 0x25, 0x18, 0x88, 0xe8, 0xca, 0xf2, 0xe3, 0x50, 0x8b, 0xe6, 0x50, 0x33, 0x62, 0x79, 0x2d, 0x67, - 0xab, 0x16, 0x78, 0xd2, 0x01, 0x20, 0x04, 0x57, 0x62, 0x0b, 0xed, 0x56, 0x16, 0x8c, 0x7e, 0x20, - 0xbc, 0x77, 0x62, 0x6e, 0xbe, 0x55, 0x54, 0x31, 0xcf, 0xc3, 0x6e, 0x41, 0x15, 0xf5, 0xd1, 0x21, - 0x3a, 0x1a, 0xa6, 0xa6, 0xf6, 0x1e, 0xe1, 0xbb, 0x39, 0x14, 0xec, 0x9c, 0x17, 0x7e, 0xcf, 0x6c, - 0xf7, 0xf5, 0x72, 0x56, 0x78, 0x1f, 0xf1, 0x7e, 0x45, 0x15, 0x93, 0xea, 0x7c, 0xce, 0xb4, 0x79, - 0xff, 0xce, 0x21, 0x3a, 0xda, 0x7b, 0x36, 0x8e, 0xf5, 0x73, 0x74, 0xf7, 0xb8, 0x35, 0xd5, 0x24, - 0xf1, 0xa9, 0x21, 0xa6, 0x07, 0x97, 0xab, 0xd0, 0xb9, 0x5e, 0x85, 0xa3, 0x2f, 0x54, 0x54, 0xc7, - 0xd1, 0x5f, 0xd7, 0xa3, 0x74, 0x68, 0xd7, 0x96, 0x3d, 0x76, 0xbf, 0xfe, 0x0c, 0x9d, 0xe8, 0x3b, - 0xc2, 0xf7, 0x4f, 0x60, 0x21, 0xd9, 0x42, 0x2e, 0xe5, 0x2d, 0x4c, 0x1e, 0xe0, 0x81, 0xe2, 0x82, - 0x49, 0x45, 0xc5, 0x85, 0x31, 0xe8, 0xa6, 0xdd, 0x86, 0xf7, 0x02, 0xbb, 0x35, 0x80, 0xf2, 0x5d, - 0xe3, 0x3c, 0xba, 0xe1, 0xbc, 0x4b, 0xaa, 0x49, 0xe2, 0x33, 0x56, 0x7f, 0xaa, 0x58, 0x0a, 0xa0, - 0x52, 0xc3, 0xb7, 0xde, 0x04, 0xee, 0x9f, 0x32, 0x5a, 0xb0, 0xfa, 0x9f, 0x96, 0x66, 0xb8, 0xdf, - 0xe6, 0xd2, 0xfb, 0x6f, 0x2e, 0x0f, 0xdb, 0x5c, 0xf6, 0x6d, 0x2e, 0xdb, 0x40, 0x5a, 0x81, 0xb6, - 0xdd, 0x07, 0x3c, 0x3c, 0xe3, 0x32, 0x63, 0x73, 0xda, 0x70, 0x58, 0xd6, 0x5e, 0x82, 0x07, 0x56, - 0x48, 0xbf, 0x5a, 0x77, 0x1e, 0x4c, 0x47, 0xd7, 0xab, 0xf0, 0x81, 0xd5, 0xd8, 0x1d, 0x45, 0xe9, - 0x3d, 0x5b, 0xcf, 0x8a, 0x9d, 0xcf, 0x5e, 0xe7, 0xd3, 0x8a, 0x4f, 0xdf, 0x5d, 0xae, 0x03, 0x74, - 0xb5, 0x0e, 0xd0, 0xef, 0x75, 0x80, 0xbe, 0x6d, 0x02, 0xe7, 0x6a, 0x13, 0x38, 0xbf, 0x36, 0x81, - 0xf3, 0xfe, 0x4d, 0xc9, 0xd5, 0x7c, 0x99, 0xe9, 0x48, 0x48, 0x0e, 0x52, 0x80, 0x24, 0x3c, 0xcb, - 0x27, 0x25, 0x90, 0xe6, 0x25, 0x11, 0x50, 0x2c, 0x2b, 0x26, 0xed, 0x88, 0x4f, 0xb6, 0x33, 0xfe, - 0xf4, 0xd5, 0x44, 0x4f, 0xf0, 0x6b, 0xfd, 0xc9, 0xfa, 0x66, 0xd4, 0x9e, 0xff, 0x09, 0x00, 0x00, - 0xff, 0xff, 0x7c, 0x6a, 0x58, 0x13, 0x0b, 0x03, 0x00, 0x00, + // 459 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x4f, 0x8b, 0xd3, 0x40, + 0x18, 0xc6, 0x33, 0x35, 0x54, 0x3b, 0xdb, 0x15, 0x09, 0x15, 0x43, 0x59, 0x92, 0x25, 0x1e, 0xdc, + 0x4b, 0x33, 0x46, 0x41, 0x65, 0x2f, 0x42, 0xf7, 0xb2, 0x3d, 0xec, 0x25, 0x9e, 0x54, 0x64, 0x99, + 0x24, 0x43, 0x3a, 0x98, 0xe9, 0x5b, 0x32, 0xd3, 0xc8, 0x7e, 0x03, 0x8f, 0x5e, 0x3d, 0xe9, 0xc7, + 0xd9, 0xe3, 0x1e, 0x3d, 0x15, 0x69, 0xbf, 0xc1, 0x7e, 0x02, 0x99, 0x99, 0xf4, 0x8f, 0x20, 0x08, + 0x7b, 0xca, 0xfb, 0x66, 0x7e, 0xf3, 0xbc, 0xcf, 0x3c, 0xbc, 0xf8, 0x29, 0xcf, 0x72, 0x52, 0xf1, + 0x72, 0xaa, 0xf2, 0x8a, 0xb3, 0x99, 0x92, 0xe4, 0x0b, 0x95, 0x82, 0x34, 0x89, 0xf9, 0xc6, 0xf3, + 0x1a, 0x14, 0x78, 0x3e, 0xcf, 0xf2, 0x78, 0x1f, 0x8a, 0xcd, 0x61, 0x93, 0x0c, 0x07, 0x25, 0x94, + 0x60, 0x20, 0xa2, 0x2b, 0xcb, 0x0f, 0x43, 0x2d, 0x9a, 0x43, 0xcd, 0x88, 0xe5, 0xb5, 0x9c, 0xad, + 0x5a, 0xe0, 0xd9, 0x0e, 0x00, 0x21, 0xb8, 0x12, 0x1b, 0x68, 0xdb, 0x59, 0x30, 0xfa, 0x81, 0xf0, + 0xc1, 0x99, 0xb9, 0xf9, 0x4e, 0x51, 0xc5, 0x3c, 0x0f, 0xbb, 0x05, 0x55, 0xd4, 0x47, 0xc7, 0xe8, + 0xa4, 0x9f, 0x9a, 0xda, 0x7b, 0x82, 0xef, 0xe7, 0x50, 0xb0, 0x4b, 0x5e, 0xf8, 0x1d, 0xf3, 0xbb, + 0xab, 0xdb, 0x49, 0xe1, 0x7d, 0xc2, 0x87, 0x15, 0x55, 0x4c, 0xaa, 0xcb, 0x29, 0xd3, 0xe6, 0xfd, + 0x7b, 0xc7, 0xe8, 0xe4, 0xe0, 0xc5, 0x30, 0xd6, 0xcf, 0xd1, 0xd3, 0xe3, 0xd6, 0x54, 0x93, 0xc4, + 0xe7, 0x86, 0x18, 0x1f, 0x5d, 0x2f, 0x43, 0xe7, 0x76, 0x19, 0x0e, 0xae, 0xa8, 0xa8, 0x4e, 0xa3, + 0xbf, 0xae, 0x47, 0x69, 0xdf, 0xf6, 0x96, 0x3d, 0x75, 0xbf, 0xfe, 0x0c, 0x9d, 0xe8, 0x3b, 0xc2, + 0x0f, 0xcf, 0x60, 0x26, 0xd9, 0x4c, 0x2e, 0xe4, 0x1d, 0x4c, 0x1e, 0xe1, 0x9e, 0xe2, 0x82, 0x49, + 0x45, 0xc5, 0xdc, 0x18, 0x74, 0xd3, 0xdd, 0x0f, 0xef, 0x15, 0x76, 0x6b, 0x00, 0xe5, 0xbb, 0xc6, + 0x79, 0xb4, 0xe7, 0x7c, 0x97, 0x54, 0x93, 0xc4, 0x17, 0xac, 0xfe, 0x5c, 0xb1, 0x14, 0x40, 0xa5, + 0x86, 0x6f, 0xbd, 0x09, 0xdc, 0x3d, 0x67, 0xb4, 0x60, 0xf5, 0x3f, 0x2d, 0x4d, 0x70, 0xb7, 0xcd, + 0xa5, 0xf3, 0xdf, 0x5c, 0x1e, 0xb7, 0xb9, 0x1c, 0xda, 0x5c, 0x36, 0x81, 0xb4, 0x02, 0xed, 0xb8, + 0x8f, 0xb8, 0x7f, 0xc1, 0x65, 0xc6, 0xa6, 0xb4, 0xe1, 0xb0, 0xa8, 0xbd, 0x04, 0xf7, 0xac, 0x90, + 0x7e, 0xb5, 0x9e, 0xdc, 0x1b, 0x0f, 0x6e, 0x97, 0xe1, 0x23, 0xab, 0xb1, 0x3d, 0x8a, 0xd2, 0x07, + 0xb6, 0x9e, 0x14, 0x5b, 0x9f, 0x9d, 0x9d, 0x4f, 0x2b, 0x3e, 0x7e, 0x7f, 0xbd, 0x0a, 0xd0, 0xcd, + 0x2a, 0x40, 0xbf, 0x57, 0x01, 0xfa, 0xb6, 0x0e, 0x9c, 0x9b, 0x75, 0xe0, 0xfc, 0x5a, 0x07, 0xce, + 0x87, 0xb7, 0x25, 0x57, 0xd3, 0x45, 0xa6, 0x23, 0x21, 0x39, 0x48, 0x01, 0x92, 0xf0, 0x2c, 0x1f, + 0x95, 0x40, 0x9a, 0xd7, 0x44, 0x40, 0xb1, 0xa8, 0x98, 0xb4, 0x2b, 0x3e, 0xda, 0xec, 0xf8, 0xf3, + 0x37, 0x23, 0xb3, 0xe6, 0xea, 0x6a, 0xce, 0x64, 0xd6, 0x35, 0xbb, 0xf6, 0xf2, 0x4f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x66, 0x2e, 0x36, 0x86, 0x0c, 0x03, 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index 5ee24293b..7efeb0f1e 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -613,6 +613,7 @@ func (tn *ChainNode) SendIBCTransfer( if options.Memo != "" { command = append(command, "--memo", options.Memo) } + command = append(command, "--gas", "10000000000") // Temporary for wasm client until wasmvm gas is scaled return tn.ExecTx(ctx, keyName, command...) } @@ -746,7 +747,7 @@ func (tn *ChainNode) StoreClientContract(ctx context.Context, keyName string, fi return "", fmt.Errorf("writing contract file to docker volume: %w", err) } - _, err = tn.ExecTx(ctx, keyName, "ibc", "wasm-client", "push-wasm", path.Join(tn.HomeDir(), file), "--gas", "auto") + _, err = tn.ExecTx(ctx, keyName, "08-wasm", "push-wasm", path.Join(tn.HomeDir(), file), "--gas", "auto") if err != nil { return "", err } @@ -760,7 +761,7 @@ func (tn *ChainNode) StoreClientContract(ctx context.Context, keyName string, fi // QueryClientContractCode performs a query with the contract codeHash as the input and code as the output func (tn *ChainNode) QueryClientContractCode(ctx context.Context, codeHash string, response any) error { - stdout, _, err := tn.ExecQuery(ctx, "ibc", "wasm-client", "code", codeHash) + stdout, _, err := tn.ExecQuery(ctx, "08-wasm", "code", codeHash) if err != nil { return err } diff --git a/chain/cosmos/cosmos_chain.go b/chain/cosmos/cosmos_chain.go index f50b112b5..d99715cac 100644 --- a/chain/cosmos/cosmos_chain.go +++ b/chain/cosmos/cosmos_chain.go @@ -24,11 +24,11 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/strangelove-ventures/interchaintest/v7/chain/cosmos/08-wasm-types" chanTypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" dockertypes "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" + wasmtypes "github.com/strangelove-ventures/interchaintest/v7/chain/cosmos/08-wasm-types" "github.com/strangelove-ventures/interchaintest/v7/chain/internal/tendermint" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/blockdb" @@ -361,8 +361,8 @@ func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName str if err != nil { return tx, "", err } - message := wasm.MsgPushNewWasmCode{ - Signer: authtypes.NewModuleAddress(govtypes.ModuleName).String(), + message := wasmtypes.MsgPushNewWasmCode{ + Signer: types.MustBech32ifyAddressBytes(c.cfg.Bech32Prefix, authtypes.NewModuleAddress(govtypes.ModuleName)), Code: content, } msg, err := c.cfg.EncodingConfig.Codec.MarshalInterfaceJSON(&message) diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index 29a5e98c7..6afee4616 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -248,6 +248,7 @@ func (pn *ParachainNode) CreateNodeContainer(ctx context.Context) error { "--log=ibc_transfer=trace,pallet_ibc=trace,grandpa-verifier=trace,runtime=trace", "--force-authoring", "--enable-offchain-indexing=true", + "--pruning=archive", fmt.Sprintf("--prometheus-port=%s", strings.Split(prometheusPort, "/")[0]), fmt.Sprintf("--listen-addr=/ip4/0.0.0.0/tcp/%s", strings.Split(nodePort, "/")[0]), fmt.Sprintf("--public-addr=%s", multiAddress), @@ -352,10 +353,10 @@ func (pn *ParachainNode) GetBalance(ctx context.Context, address string, denom s } // GetIbcBalance returns the Coins type of ibc coins in account -func (pn *ParachainNode) GetIbcBalance(ctx context.Context, address []byte) (sdktypes.Coins, error) { +func (pn *ParachainNode) GetIbcBalance(ctx context.Context, address string) (sdktypes.Coin, error) { res, err := pn.api.RPC.IBC.QueryBalanceWithAddress(ctx, address) if err != nil { - return nil, err + return sdktypes.Coin{}, err } return res, nil } diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index 16fc89b6c..d88824bf6 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -742,16 +742,8 @@ func (c *PolkadotChain) GetBalance(ctx context.Context, address string, denom st if denom == c.cfg.Denom { return c.RelayChainNodes[0].GetBalance(ctx, address, denom) } else if strings.HasPrefix(denom, "ibc/") { - coins, err := c.ParachainNodes[0][0].GetIbcBalance(ctx, []byte(address)) - if err != nil { - return 0, err - } - for _, coin := range coins { - if coin.Denom == denom { - return coin.Amount.Int64(), nil - } - } - return 0, nil + coin, err := c.ParachainNodes[0][0].GetIbcBalance(ctx, address) + return coin.Amount.Int64(), err } return c.ParachainNodes[0][0].GetBalance(ctx, address, denom) @@ -811,7 +803,7 @@ func (c *PolkadotChain) FindTxs(ctx context.Context, height uint64) ([]blockdb.T } // GetIbcBalance returns the Coins type of ibc coins in account -func (c *PolkadotChain) GetIbcBalance(ctx context.Context, address []byte) (sdktypes.Coins, error) { +func (c *PolkadotChain) GetIbcBalance(ctx context.Context, address string) (sdktypes.Coin, error) { return c.ParachainNodes[0][0].GetIbcBalance(ctx, address) } diff --git a/chain/polkadot/relay_chain_node.go b/chain/polkadot/relay_chain_node.go index fe2fa3ddc..fd55be834 100644 --- a/chain/polkadot/relay_chain_node.go +++ b/chain/polkadot/relay_chain_node.go @@ -219,6 +219,7 @@ func (p *RelayChainNode) CreateNodeContainer(ctx context.Context) error { "--prometheus-external", "--enable-offchain-indexing=true", "--rpc-methods=unsafe", + "--pruning=archive", fmt.Sprintf("--prometheus-port=%s", strings.Split(prometheusPort, "/")[0]), fmt.Sprintf("--listen-addr=/ip4/0.0.0.0/tcp/%s", strings.Split(nodePort, "/")[0]), fmt.Sprintf("--public-addr=%s", multiAddress), diff --git a/chain/polkadot/ss58.go b/chain/polkadot/ss58.go index 69717f47d..0abcb3e87 100644 --- a/chain/polkadot/ss58.go +++ b/chain/polkadot/ss58.go @@ -9,7 +9,7 @@ import ( ) const ( - Ss58Format = 42 + Ss58Format = 49 ss58Prefix = "SS58PRE" ) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 0cbe2391b..d15884ed6 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -26,15 +26,15 @@ import ( // Must build local docker images of hyperspace, parachain, and polkadot // ###### hyperspace ###### // * Repo: ComposableFi/centauri -// * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw -// * Commit: 617a8b6b8e71b00cbed05498d87e43db2b6df952 +// * Branch: vmarkushin/wasm +// * Commit: 64f26da7a4fa3a301c5c147df363c5b5aef83c7d // * Build local Hyperspace docker from centauri repo: // amd64: "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." // arm64: "docker build -f scripts/hyperspace.aarch64.Dockerfile -t hyperspace:latest --platform=linux/arm64/v8 . // ###### parachain ###### // * Repo: ComposableFi/centauri -// * Branch: vmarkushin/cosmos-client+ics10-grandpa-cw -// * Commit: 617a8b6b8e71b00cbed05498d87e43db2b6df952 +// * Branch: vmarkushin/wasm +// * Commit: 64f26da7a4fa3a301c5c147df363c5b5aef83c7d // * Build local parachain docker from centauri repo: // ./scripts/build-parachain-node-docker.sh (you can change the script to compile for ARM arch if needed) // ###### polkadot ###### @@ -123,7 +123,7 @@ func TestHyperspace(t *testing.T) { }, { Repository: "parachain-node", - Version: "local", + Version: "latest", //UidGid: "1025:1025", }, }, @@ -249,8 +249,8 @@ func TestHyperspace(t *testing.T) { err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) require.NoError(t, err) - // Get channels - cosmosChannelOutput, err := r.GetChannels(ctx, eRep, cosmosChain.Config().ChainID) + // Get channels - Query channels was removed + /*cosmosChannelOutput, err := r.GetChannels(ctx, eRep, cosmosChain.Config().ChainID) require.NoError(t, err) require.Equal(t, len(cosmosChannelOutput), 1) require.Equal(t, cosmosChannelOutput[0].ChannelID, "channel-0") @@ -260,7 +260,7 @@ func TestHyperspace(t *testing.T) { require.NoError(t, err) require.Equal(t, len(polkadotChannelOutput), 1) require.Equal(t, polkadotChannelOutput[0].ChannelID, "channel-0") - require.Equal(t, polkadotChannelOutput[0].PortID, "transfer") + require.Equal(t, polkadotChannelOutput[0].PortID, "transfer")*/ // Start relayer r.StartRelayer(ctx, eRep, pathName) @@ -279,7 +279,7 @@ func TestHyperspace(t *testing.T) { Denom: cosmosChain.Config().Denom, Amount: amountToSend, } - tx, err := cosmosChain.SendIBCTransfer(ctx, cosmosChannelOutput[0].ChannelID, cosmosUser.KeyName(), transfer, ibc.TransferOptions{}) + tx, err := cosmosChain.SendIBCTransfer(ctx, "channel-0", cosmosUser.KeyName(), transfer, ibc.TransferOptions{}) require.NoError(t, err) require.NoError(t, tx.Validate()) // test source wallet has decreased funds err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) @@ -291,11 +291,10 @@ func TestHyperspace(t *testing.T) { fmt.Println("Dst Ibc denom: ", dstIbcDenom) // Test destination wallet has increased funds, this is not working, want to verify IBC balance on parachain - //pubKey, err := polkadot.DecodeAddressSS58(polkadotUser.FormattedAddress()) - //polkadotUserIbcCoins2, err := polkadotChain.GetIbcBalance(ctx, pubKey) - //polkadotUserIbcCoins3, err := polkadotChain.GetIbcBalance(ctx, []byte(hex.EncodeToString(pubKey))) - polkadotUserIbcCoins, err := polkadotChain.GetIbcBalance(ctx, polkadotUser.Address()) - fmt.Println("IbcCoins: ", polkadotUserIbcCoins.String(), " -- this probably doesn't work, Error: ", err)*/ + polkadotUserIbcCoins, err := polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address())) + fmt.Println("UserIbcCoins: ", polkadotUserIbcCoins.String()) + aliceIbcCoins, err := polkadotChain.GetIbcBalance(ctx, "5yNZjX24n2eg7W6EVamaTXNQbWCwchhThEaSWB7V3GRjtHeL") + fmt.Println("AliceIbcCoins: ", aliceIbcCoins.String())*/ // Send 1.16 stake from parachainUser to cosmosUser amountToReflect := int64(1_160_000) @@ -304,7 +303,7 @@ func TestHyperspace(t *testing.T) { Denom: "2", // stake Amount: amountToReflect, } - _, err = polkadotChain.SendIBCTransfer(ctx, polkadotChannelOutput[0].ChannelID, polkadotUser.KeyName(), reflectTransfer, ibc.TransferOptions{}) + _, err = polkadotChain.SendIBCTransfer(ctx, "channel-0", polkadotUser.KeyName(), reflectTransfer, ibc.TransferOptions{}) require.NoError(t, err) // Send 1.88 "UNIT" from Alice to cosmosUser @@ -314,7 +313,7 @@ func TestHyperspace(t *testing.T) { Denom: "1", // UNIT Amount: amountUnits, } - _, err = polkadotChain.SendIBCTransfer(ctx, polkadotChannelOutput[0].ChannelID, "alice", unitTransfer, ibc.TransferOptions{}) + _, err = polkadotChain.SendIBCTransfer(ctx, "channel-0", "alice", unitTransfer, ibc.TransferOptions{}) require.NoError(t, err) // Wait for MsgRecvPacket on cosmos chain @@ -331,10 +330,21 @@ func TestHyperspace(t *testing.T) { require.NoError(t, err) require.Equal(t, finalStakeBal, cosmosUserStakeBal) // Verify final cosmos user "unit" balance - unitDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(polkadotChannelOutput[0].PortID, polkadotChannelOutput[0].ChannelID, "UNIT")) + unitDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", "UNIT")) cosmosUserUnitBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), unitDenomTrace.IBCDenom()) require.NoError(t, err) require.Equal(t, amountUnits, cosmosUserUnitBal) + /*polkadotUserIbcCoins, err = polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address())) + fmt.Println("UserIbcCoins: ", polkadotUserIbcCoins.String()) + aliceIbcCoins, err = polkadotChain.GetIbcBalance(ctx, "5yNZjX24n2eg7W6EVamaTXNQbWCwchhThEaSWB7V3GRjtHeL") + fmt.Println("AliceIbcCoins: ", aliceIbcCoins.String())*/ + + fmt.Println("********************************") + fmt.Println("********* Test passed **********") + fmt.Println("********************************") + + //err = testutil.WaitForBlocks(ctx, 50, cosmosChain, polkadotChain) + //require.NoError(t, err) } type GetCodeQueryMsgResponse struct { @@ -404,12 +414,22 @@ func fundUsers(t *testing.T, ctx context.Context, fundAmount int64, polkadotChai // Mint 100 "UNIT"/"Asset 1" for alice , not sure why the ~1.5M UNIT from balance/genesis doesn't work mint := ibc.WalletAmount{ - Address: "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", // Alice + Address: "5yNZjX24n2eg7W6EVamaTXNQbWCwchhThEaSWB7V3GRjtHeL", Denom: "1", Amount: int64(100_000_000_000_000), // 100 UNITS, not 100T } err = polkadotChain.(*polkadot.PolkadotChain).MintFunds("alice", mint) require.NoError(t, err) + err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) // Only waiting 1 block is flaky for parachain + require.NoError(t, err, "cosmos or polkadot chain failed to make blocks") + // Mint 100 "UNIT"/"Asset 1" for alice , not sure why the ~1.5M UNIT from balance/genesis doesn't work + mint2 := ibc.WalletAmount{ + Address: polkadotUser.FormattedAddress(), // Alice + Denom: "1", + Amount: int64(123_789_000_000_000), // 100 UNITS, not 100T + } + err = polkadotChain.(*polkadot.PolkadotChain).MintFunds("alice", mint2) + require.NoError(t, err) return polkadotUser, cosmosUser } diff --git a/examples/polkadot/ics10_grandpa_cw.wasm b/examples/polkadot/ics10_grandpa_cw.wasm index a01fdd46146902d5c15d8dabfb982df39675545b..05772ff09b12429882482873003fdd026a263b7a 100644 GIT binary patch literal 779704 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 z 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
?b%;XU$7-64aS>mKISdLv%lC_ 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 z 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%0AW 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%0AjV&&8gtvzSo(C(J(VY_~rJ^Yy$>xNI? zmp$UZ@9IVz*uP`MlW*)B@u@en9qX?9;`m7;2 zfnkikOM_2Et;nG8*pySCnzs8`iwmZwl=+7HPYJGzWJSh>tx!?a8gWZ>e4s6S>G1C8 zS>sxc%k3^1{c87_xhn3p;Hx({(* P*Pia$a?R__e`Wk1d=rv9 literal 779704 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 z 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
DGkxkx^WnPrX8Rwndd5M61>(=_M02>zpJf>k+ zL0+f$g(8T#=3kiJf^Z(xT z_U;I~j}&-zZ+b@#yOHFMrQX`fA?GoJa7ZWt$Ekjj)lP`f^8<;VJDWQOT3Kb(I43etP7n!WpH<}2B%FlVzTbn{jI zw0}+EXJ>!!&${m!0piIpb%Y6XaZTh3!?ZhWCrcyy3<_8Ue6-)qNmdP%**dOAUBo<5 zQ*PyQ@DnI(LbamJSMA9T<@b6gA(?#nev-uC<@?PvUcP6gdIn^REsiu~pzH_P&y6Wm-BZ**BulxDY+uwPs*PJv<# zLuB6B33J7mxE1&DY&B%2B{&u;(S3I8=df*^LP;MAgVpvQ)iOl|I41N~xn2Aqt?%Ij zXpbgcAD#fT2GA;fQ`A^h@CSyRsNic@)YB#ey^FasowfB?=9*f_yYxWyRhaH*vAC@u z8@ZEY8}FQ&e0WMe)7jbiuT>u8e%r(Q_`52WF1$o#1L5xE`Um&v;lP|eIW?w7tMvP; z%?DLJ$?t!tyOOzm`}RrEZ)Q)^%8o^?>~JePdRp1h+X}ZuE4)~=LRGO9D#=^v4%Xyv zAC`c=AfW%OW}tC!QnyER3uWPxhi`0qcyZ_UQBWTJ1@{XCih!YesN_Df!>f5^NvnSzGxgLvH|nK92^PTO`97 zhuB~X20ddqBzwL?W7UBT7Hh*&F&40Aj?|Hd zAv~2II_0?Eg7F9fr+!uCQq&JFmvrz`Tvgf7xkH!dc6RI1>AX&tv@@+sBE#^i%KFZo zx;&?Y32{|rUFY?>T-iDlhK5S(g`e-lEG59nMj?s&akj ztx5gb%I419y4%!Y_rX<_=Xbt4slTAIt@AeBUDx>@UAA^+blK9mSC?x#_vvzN2fOy# z%0TCPbvN9Z#W=aD((F9oYk%kMT(7NEIuH83(P24|=Y5@rxxS#Xs)OcrRb^%89WGwc z!J^=PqVtHa7j?eR*ULKJ&-L2MWalB@U(tEg*DE{kl!(H{fQw#RX{SF>h5xCB5xBOl zqf?ua3H%rn+lK${%XO^ggF;Q32_0;@mbt>WQcUJj$U;0oLu729E4=3Nvi;Qnya*yA= zBCj6DQ@S#Ft3dX)eaT%O{99c0n_cx@zdkV+#xbeg!aG#e&g6~iQ1T|e+?Tw;-@V@7 z?eTYa`n&dNT}r;U419TVcO1wW|?Oi}) zYyU}&m5_dIE=%)crQ6(Ne5A@{pl)mL(+TeLL#TC_0ftBFRVv|M>v7&jsfy7Z=l)Bm zc%_qoq`2ZxQk)tgC1*z^X*nNA8a##08j||h_fS!KhkB|o@U%Yl=O6gpKl#7^$ARip zh0F;u8D`8clG~Fz)at+tR@*gmGc(v2Trel1_TPLEHNX42FzuQT7FEhHd&xUyrXKk3 zAN%#c{iVO_mz|>ful)RPVVLaZH%O90Wd_qkl^2Fu^Fg)5^BrboGte^6yUoqOajjC# zHvVNgvKC9P=t)m4f`!bH;%U(rhC8x0)?02@ntnamUHU@3J@eay;dbpRVB(JUR=A2+ zb|fPon!4iQd?2CkUu~9#w6&gqTTDQ>EoOcDk83dm5tc3ogIsMI&afR9UFI)uMIjh+ zCVmPv)b6wej!GP%M%Fc8_G8h9Lp38A9yJPrlg9m@bhi>= z!(|1+hRa0fO}bo!u;IIQXQ%GQkU3mNkU3mNJII`jyZ|YyE{Fw{H9X(>(dQ}8kABVi z^sQY=5q2670E|lf30B1m$(zk)7O`~c4m-r2cfy{;&G)+2H~Nb=_zQDpX)|}?^57Nm zl{Xif5WpV9?dup$T z${}4>-rMBiSb1-gQj%0{Zef87t{>YP`s@<3FE!uuC zkX4i?ksSC&L&-%zD8-2{=y67bud_9Tj0%ob5i`sQelAqgJH*PbndAPB*L(;P#bp2w z06T9XVSYh(zhgcdr-ljiPmr@gPKn6bm5UO z($^)^zC93bcPFn4x6VMD>`vZfII#8-;BcUTgFpZSjj*^oz+!g^7Wb5}?YZ9r3$2wh z@GdA&B|TeuL6La8Cu=FD0tf{XM)6?)U=*L^hf#dEF#|p9l^jnoRY+a}f^@xg28eKd zZTj8G?io~I0Q0uwy93qQJHaU5$Zbv+D1#d7>ytMa5{Cj{_9Uxrpg!rA6`LNsz;7mu z6%cfPj-cHEK|9pT9m&0XKaWp41WoVk_F}htf&Ojg8CmSzeEZfomj_${$f5o>CU?1&kgS>82SO_- zgrODO4Y3s_TNo+ovj{P7LG}aO?hUjM2>$h$neOU|ypluyK{s!A6^km6j#{&atrObakllo#_rt029$O0Zo-@6m3tMKY7y9l?M>&~gmn8jU(CezHtqU*R49e0lp}*1Yx-VMK^D&iyP=P!S=A4IVfq zndnpYl*o|uitq}p2+LIPy+ROK5%%HOdaip`gncr$@3SiL9c&g?=myWUTqH-cl4CmO z?fd#sw)~%LnGNwmkJozNcIs5Fi2>MV=gvU-%C<$@{lD|^q$6b z6`krtLL#i7!j2gc2q-8FnGvtnDqtj9HY2Rj$;JV~wv+hF3NA~*vZfC-Zgux?OI*i; zUq?ERWM4-89LZ3}veOoW31-*VolRWXr9C!9c!k_>oZBlmoV^O%*1R6kZ^N*ZC%#{H z8cxZgv;Ar%cqyY9rnQzsidzfo&2ubgDe#gc!G*(4I&^M1vL=7f_{X&M)6Sp0g)-VZ%2_dodj(A>V()cOaL9hwl;2XCb&#mGQ0 zES_LLG87KOV>v-}$wEXM`v8kBuZ23>uUWfCi!?i@#=iYSm~w=Liu-Xpr1sFnp~N;ULEi z<2D?aW}2Nf0GqO61rRk!Av$p5ufrYSHq-?=5!6^XM2RJDB7tXE}KyL#;oksEWySr!JNB&U=f<12m6(X`01%szA#wS5e3S zswft*8`(kLyd&9NezV+I5pdAR4)G=uzx?LXbz-O7$xs$p@kjE61@J=asz1o1IR%Uz zqdtN~fP{CAGD(QJaG5-S9P_~hRoT4D1_yzM{jaC2!<{yK zmcMaJ(t`VTu?EsG1;MQe!Z1y3t)Eal#$nzfe7)$;A?|g8ZjO$F+_M9-xIe%>(b@TZ zM8kfCdjM|!&eN@x?Y{s6+3b)!!r?*FNXZTj>76+crkoLnxsHVg$9O;rr*L!1Z>he% zP@tdG)c&6w1kzjK37T6=uvx5TKiyl^t>_51NM&~|R&|J!{m(Iwne;@P933tuJZYS@ z>4>p0+j(?sxR~iA-cM5ln`zFYH3jmx_qY;Jt$#w;>ijdd{t030#s7@0e*)Nwy2YC4mXYD1_-6FP*)iOB6l2VWm|J`y-Jh7v zc_~JC{u5&}|A{S{|HM?ye`3kzKNq?`Pjr8t?EXAe{M08H!u>k08>`jV<2n=R@N$wP zsOwyHf1IlVVU8@@(@_A;ey%#f{=~S>e(BGSaUQe|$T-Ax8P`)>@ifW`?kK@WdLd-#>d-z(J`6zZKycn$}!Nfnvu zh^gowBEG~S#XEU|GfJ^j@d=(?o~*)H^`QoeqKZ!@{Ul*gIh=r?fU5Aw{z+_DKAfaP z!4!Jf>pUtJ6L21>)?`<&8_0ViZnY`cbyTTiy>6_yzv3odES3nUQPE(@j&hCBLA9M1 z%ibvUF}b7c^NKGjD0%6<7MlSjej@%tRqPEXA>?6o05HJgmKn8yiB*WsU3QY|5 zN>FV0%NjjcO?!G;9)~y57$16*tW`ZwQvU#O!mKHS(|c_k@MdGTn)Z0@;-(dHe|Ceb zfEW%8`eZ!O5*dsEO1?o!%S~>HW39XKTlz@(srfToP4V~TJC<1F4X?9@6s!by-Rrvk zMpH?iU$-Ng!#xMWh&pPj7y3EPPk^kScZ!g1?Epts8Py`+PXbhypzknYxjvn@%|cc| zpgN2je?~#d_K@Ny5oLrAR2P||i4~ZtK5Q?{t<);a-l+onU=A~|SUnvhN|6WC`tV3K zl}A#0+UR`pIz6y!X1<#4@dI8usza4@geqSqI99vxobEznu_L9}RK#vMJ}iO)0r%~i zBwZ*MCIj2#c=L71o^lgqikJ@gP;V8ofGb%24Nhpb&hhci#j~Y5=^~Z!vAw+7d{pw% zGS+(_o?{NKTTKIzI!mbWJxcpD=5cXIQgc_>IxzwN}ZZ}S)G|#&x|W$ z!W^t;5=Sg9W_9LZJs$frusV%xG4ecF|It}p!P>gq?i^X2`^bd&`mD~w=FRhBbp|RQ z?LQw@XFT!I{|;6cIoTrq7P%h$EpC_Wm;!Gl!g48AS5RGKbp?S&R#%X6&g!~UFGdF| zVzh^=FkG%jsvY~E=c@#O1{Pp8Xs&m(%k{)q2s{$I$oZYv*{;Y6BMTHk?2Jq>6v1O& zuaCqF?}=<@(V|e9v)#E^IWPt1+_gM`VCrQqSK@(U&?UwMKU`}1s7~?tvXq4*micP2 zmL&-pq*qC0U_i{($nX}anRO*UVdL{xSRnFtIdp`cJ2qAxC?0lIS}BHS(Dkfb(_YZ$ zk~*ri*BePr)|cp{7<6wIC)=8do0y?2Uc}#u$Wl&*KhuL#+|)^UYAs}T0+WSh-VkWq zOsf>)Lq%|L)I|8 zDCtKRk-^p%o&8sAG-tl}qHx*%mi=S1XrX&b)F-OyIdLZ1CnHA}t}_ixQ@8 z6fE96pOwploOpbuMGYQl&nMtRHZzd0M(G9S(xzz)O}`WLqwvltdcnRZj-`|%jech@)Al_>*ckL(emEeI39z%q3ad@kaU{>nWu71}io38kh>tFQ_-3GaxS z8u@w{OPm`jq7-tH2SbB;sVM0VX5IxMGzDqZaE4Z`br-`G{b+f-C=k}9;}r!9F4)#B z5DvupiZ@QW07}YB;(8>xW%Bh%va1BRSP{zKGx)8@6(s_HUsOf|umygzj{KdtE_q5- z9wcC2rs^SWb`2|&EcGj4cu;3gvzGL;8$`7#B%t&ks(aVxiwaJNdG(SckVZ-ER5x@d1c%CiYp+Y|C%y2g9=#aVAGA3c7)Y7BE)( zXpPh@R9+%K2$Hy#KyrZ?``Ujhay2RPlUN&~UwjNnc;0Y8ReV9e9Z}W4mp#k8NOduy zs-Ji&oE-j$HVl_Y^VFTPnL?1VpF-G#@I%9*>HftH`+00wFSrwDX*gN7SIsNa#ey{G zjHIwM_%%5{UcOd&d}?CT3;jX?yAi_ zX7tM$!Uz+g<|Jr3_MXIW&fKIVtr}L+*Qqiz<&;gT?eFpkxq~w@1Y(yoNbV=Q_XE0z z`^M+V(8kIty-EJ{=?+`4!jP*HHz~U(9alI&KN=Wc1JmtyRI?McaK=Sd+2gB98{e;s z5@ro0B)=M_0cVu*Wr91>NKEpKoOBzwkidv6xCv>bE)I7(+Jn=hNsUIfxXu`0IT&a9 zkm$(SAy)vpPCvm`|7|WCh zj+ak+i@{cVzdM%_^9#Iy4dW45Rg0C1m{o z%V53;x(xn`QraU+Io>E{2N^s(J8o0zFG!FeLeyGv5J4hJk>`|^0Y{Vwb;dyGgE1p) zN!l1dMw(Ju$+^pg;V6kFooAMTKGe;s@|jYJ@#YsWbpj_sm}Tl-kBhMgy#|1 zm>r%&pe(%(REO4br^31kw^?Ht!XCsoV}Pmi5;FU0S_@> z68k(|0;Xa{C3bsK5+LPGpaF{B0~%c_Mn3N+NS4rZ(j(nw0BVjqnOa-99b&T`iF&gq z8D;_cm}WRjTq9D*7lz3*FbGA&pHyaO+ia9ElJ(D~O5AFA_Y1d9cK*_Xq@4F+R888z6&S zYnE8`Bn&s4)*xP>dEdGjS*a?SK%vW~5%V3N8%MY<3Q}Nw;aDXxJED!@Cpvvo~y$4NlqDfhFoJ)zt3nD<`1@azV-9ii3S(#v* zK6|o_D6!^*W?J6iM4IxH{ai&7hD;y zP3lJMy-LPSD{G#=RVbtVHE^s0Zk!(8bG#nQ1~`Zn3XrIX+AQXRl08~`*#JZ}!zx)# zy$$LcC%G789O*L5aXaJLXGk{dc{H9K+W$#@VFY&bksc)%Xv{|{J@unCX@kNsRNNhcDrA-HM}#P!-D)Ex&#X+UVu@@-cr$BdhaQBh zDeF;olwYJ-p52$Txsz|FU@|+PHzfSCkA8}R%d`2TdBLL(P_Q|Bic5GSvdU-jg7y>o zE{T)yk80KG{mi}Xd(v9i1rwxQ;(WH%>Ct+%R!7MY!Ra*U;iLvFE5mIisR^rBP;la- z0_Y^awn^ow@uSVV+x$x>ZM2yPHI4uC10t=wvW9=@)dByyI5x0>Ov!FQP5CsQ8b>e1 zUsLt1Y9o8vjkfukA} zx?P7X&iciPp9yd%zR>&HUDW!uYE?Uo^q(O+il$m45oNcikyf$SQ;d-5tj=fkTh@*? z>Oddhi#@=3HSOUUvdjV>jiuG1lnz$gKdb2zUK>-cOZ`rn+7(b3zktl6+04Us{%|5R z5+CZji}Oc5X+Tx@yVig04o3~p@zK!LZ~BPL8yFDcSOnSrc?~wo2@B3jNY!l_${3ka zrBO$)v|3M91KD#{<>_RfYCuTVoc62PmwpNkGuU3}q26Ke@~j^8gDy^C{Q|$+Ukr5R z&gEn+2BDXq(#s-PQn~DZ$0wOU`s^8f_NO}X6DrLoSv5PTmj}ZuPlTF9O*%HMH4G}D z2axf>zSbz$>?v4UR%`#IKKOhUe zjooeni1x>8truTlSJ9dE`SbbQT~NPc>mrrB$Gx+rwdI0ZYb~d<*<=t2zjR2PqSCsF zs^GqX3{4pf|0D#J)UbB-XBZiwjM@Bbbikc{m}7xF)fGu%q%!sSkALEiAA5ZE@W=0O zarajT9{zuS?dN~_hu`bFpZ?+b-~Z_EJo`7lC*qm~s~rkq+zln73s$8WjN>Wt%1$MqLjhuWXMz;DlQ zI)r|jRA!$j04eP?_`S1SJkNn{;y#M}JuWhX? zJ^0m+KJlAB`|xjk=2ptfAH4k+{_Oid{)sRD)(7-K`N5yQ>xVw}<>Mdyi7!=nPzEj1 z>lF}YiSN`F@f{Iyn92G(NH3uKcQjkySFP3Vuih7?MBTQ4CSq2XB~hi$VKI;KCd&BK zAO7g)f8dvYWbR`>cmKEPA%iQIy_$mzc$Fs*wpAAdshmzUCFV)3PDHP1M#aiG&QzNm zhpoz01()3n!WYfWisxqh#2>WBE8^q+AP(aXnynvcR{QTS1b!_W)G;(j_4Xe$)25F9 zmD-B4qy6P(hqENY4{8ZN8W|kHKQR*(iZ?qu!zk$Go;}mq+xBKGI#s#Vu?=<3u0^I` z!0*Yw=_AX;Eo)<)(9^>Mdb|C1&9txmARe?_Mu#g;{=TW?(kv`c7bfMtXP*{;I2ehW z+5D!CA@~0`M_5Z!O*nRyW}YphWQt8{I`WTYVQyJiYk$5uOn!H@h<#OaF{U$bWe>~_ z+)Rlg2Vb$5qb|kqwT49BaUSzzJ(*Nz8v+YJ5c3x+q$&EP^HDu$Uou5$fRqaZ^_zr}Xoqk5u0dV&zVQ-Ta zH90%gQ_syK_1gADy#Z~I0j6+QrmYzIg1|pZv;?f8p~X7ONsJ9Tn<1?xE_`M}F#w zPk!jgXa1iT-RnY1e&lc3WQy={7)O}OyADMc`4}bW>2R{A>@B6>*zwe>)&D4+nA$Go{mC|eS~zgBY#vKe?IQ#GdGn~ADUX* z1Di59s8yK?QV!Zwy{w>R1Dw_^pBeW_cKqY0_cG?`Re#oyAmB2s<)6J`yA=|`l|il6 zRz6bh%~$^V_y6iWUw+RAS7-!HCbYy^I?zF$QAu$6olhb!1J`IZ_J}Y#kx|iG>16MJef-vvXXj(n6V+=YInFW^?L*Xk)c7zBmfC-(Rwx|YD zL`AI=jauXW2GdQn(pTFa{^K@M zRNcZd9F$nkIGJ6Xhn?)`&g8u43Kq`p&}IpLmm(ISMshD`xyQ^(4tWF+r>!$+TG((Q8_($v<%%$=CgY74hN=hoYSQ3pjZ2 zPnyw)N&*Awz(fO!V%vrIQ)dXZB?B(yTNqogC~FMOCSD=r+)T^8FB?&;`Ua~qz%5fSQYM0t24y( z`1h)`qoQ{DT-s2?kSo8Gn>lVatEK1h-MX1%-PDgA|H^0o+q*vZ_V?ZIcGgY((no&# zvmf~IW6wOzzy^~`-4JQj`jT}XSlzFUsQ!V_awT0y%?GLZD%E_M9?e$M%V}W%iAYue zxX?pWpML1QfBAR6@z^^)9UwR`HTUkn{?V^J^Ob#HBzahWa+w=y%@F^<%RmtAiSn6r z)DMPd$OA!LH>DTND1Abb`lUv)b|xJ+kXP#Qtt2?;qv1Z?+?J9gc4fj*wW<=V0k1W# zt&grHD_z6#WX+7?s9Xo-%k6#h7TE@5iNz0G=ll6M?CMp5TG7$n|*29nng$IDu z@5;%1#>=jpPib};yrK zKu}A;Wrq2K=iU?AX!Jf1IcsA9~V&zV^_&Cf6mWkMZE(m z2Q$n=$|v+uzmB&|=mTYgNt>1ga3zamA8`RGiku*a^SbdJ!58bte%@icxyZXOoCTY zugk-jC?BIsd|$@rvShV;$+TB518rjPX`BGJz$czhcO~GHsZro_6x!3=f+B>^0EoT> zvI2>W)A)=)N|*-xKM)=rT9z=1et;dY$>ER8Xk%bJX#x8gCT1|)+ zJ_CKAN(W~x?KXFaGnxA%alLLq!+)1zRL6S>*Eu;oe10%KIF<_nK?d1 zx1y64{bPQHenq^M=(Y!+1>G*waI`|hQ=+@#&{I*MVfo}0EgkA=^T>_tItR;Mo zmmoE2xl&MmF6q8LKFx2zmH-b6WquO2mE%)%yB>U65}Yr;B|utqTgK-Ylq0HR7L@tz zY4dY2zwJUQ&~05T?)>m+erql>Uhvyueu{22?^{8_2D&|Wehb|v0FAQ|`p~ZCDGd~NuT^96&GCs$nl!t!Q%M0SSlE9cR z=ZjDCTMN1~@LN%u>Gu5jt@VWR{2cQvs7ucjJ}-#hNXPRdz;BV;qT5`* zE%DnbCX@IrZ=An=Yq~AtbGfySf{R=bzYUfE8r=Ee)BF|!J0ri9B!Y_^IO_IqkbzrOV;fL=(hl;SHG<$WA0_t+AfISieJ>kht3b5 z=C=m?8ThT{gX#AC`K|SY^88#LwQ%T1y$p1Fp8Bo$MO_xp`Qg+2HtGpW>bIg3S!Wl( zZ($bVw`>+F?5c5dqI&3M;J0fSaj-v8YJ;gflHiO&1?4XW>JZMmt}QV7zu0>pD7mUC z-@op?Rn^s9Ro#`OJL#kYxmBPx^FZSa&twqC++HKXV;q@Tt{H#7_0}5J`psI;U*hjA zKpx|7{Xm+R5Tc?YqT&D=9h8g$#y>bwK_cP^iUTSt3TRYNRFpWvh#K|x`R;x0ty|rl zbO&XeHH!|^{ddmU`|PvN-uvvc&pD=p<8pgW$RbCTk{PE9&Lhh_f%mq@f9@rNZ#$~R zktK;cB@5Tb9r6&hsVPkpDL-Iw&7F(?(}(F3j2h*;2dN0-mG>l)|58J7gcm0^({$j# zJ8euU>uRN>_arMfr>wk{kO7ApId}%u$>0U0NPM9HT$lD}yihJRmWPOb#6kf%)C7BAw|g_;z6W_lFONlvP`mPQrB(J|LT(j$Zl2tt^n3_XfEB0bVdI1=8* z+d7?gsR_u7Xn5(QHtFw^Aevg<)u5`%Q#t&@-3txodP{)I7a~Eg)j;|K|AO~AcoMtv z10F&B{)@iMM(MGDdisS<_vqDD&T-WF=nJ7Pp4#y0Srq-W3qc=@!>eagm1l@_VC1iw zFRt`wUXH5_M&o^Z55aEBiN+(ik8@fFp7!dglYhHD|JHn49Q!1y+?`Ad;)9<_wnJ~9 zi)8|jD0#j}OZ=6&=i^O^U5FGca#~Nzd^L4P*_zb%MR?(aR$da4&LObWwHoGpn8{&d z73L4@L{~b|7S_J-nOPrjrr@D-bkwWmwCCCL&t#R0POa+sp}9;FQHBL@YT&}mQB`y4 zL}Wy#GUens4QA{x4N*cwEEg-rS8fmumAX%sq3oRF$Kn zW@hbAXVq@wMfsrC>fiygJQfGYlCU^HmQun2vJ|QVWN{4im?rqcSM&4CS6|5Qs#jll zF3#|j`>p(*d+yA;?t9lqU-#43e)<+X`3daRy)YeO)1|b#m7AHPU(L^vWF4AWO;-A_ zURCW?Rj(vd=to=iyOpw2n_24BRIA$DTGa+>RU51ok43FWSk#JALaiv&YPCYHWBP29 z&bAKF>ww!-Et^)$rqy!h^Pjuv9hYAEg)4rdDGEHFLcC^(*9>vOJ`jgn^((~J3Gq%Z z5#q^Q#FGKUlR?CJED$GQfjFfE#3|GeM~l^Q{PkLh_#*&)1aMnIyk&^D9Pux_`g2!Z zu>F(o_$-q+2)#szCx&=ph{LfsRE2m=h#w)uCwp}vUZ0D2eE{+LAmTh0h?B5DoKgbf z6l#cLPK`>bjDmOz&`scu3h_}xeAE%Y^|pI{dd+KJ{qB|L^-yxMTz1jCzO z;Z65GrjqvB!dvHY4)A|_0Ppr7-aHm~ld!;>QUcx-YIviZhNOD6z;6`1TY@`}Q}+De zU4MV`=XSsEk5QorI^kVndPo(%0s`p{n~fE`=OuQ?T9bdHH}p^J-Muc z#mKU+#aQJNzx?U<9=rC<2cBUBU#x2yr=0xcatb4tA>n;!PWi+)Kl#4P_I>4(%a_zO zjZsc}av6nbaqF6gW|WH`y!2-e{L{BCKYB?$)A;12PcEMfYkagQpM3lKzkdHsd)~4A z%PvwD>zT$Vr$4!jG7@^`p&8|oOMm>PJFkE1H~-ZUU#w>ur@ZXR<&?3|GutKQ)0Pl# zo6>B%(!BGF@4n{ByVQV(PA#8QO7Sx}1xxg)!gz^^p$n6OBaQGp*d@S_f% z8jIZlKVkE8TbTpEGa&F227bc9-|)T<-S^O*@9iV9g|v$)qE!OF%D}HO@ED@VgSNo8 z4Sd_d;{p@YQshdewI?9{3c#-v_>~5JrGtNP&j)Y%%tv=^M=q0gF`gY4_;CY2Zs4&e z>D3*9?-=-wgJ(uktVfY-wM5|9R!|^(N#Iu*_*D-6v2EAh{@Ck2_vmp3elgaY6!=L4 zKWX4G3!CC-z%MiK%N)F-CY<${g2#oi6%@_|alnro_;Cln_4X?sd(WHS`LWL;B*Aqt z-diL1YYhGxgO7EGY*;S%%MJc=hfkFQ?@i)O6Z}=cpA`H_gFor;@BZ0EKlt3o-+Rw} z4u3J`n-csfgFj{PG1BPbD+GUq!C&Fu#_zsBL;aLuPL-*v^e z5B!_MUyS=!3;t?@zuMqqYthFi1b@QdPdNNlDJ^5%H-*n;4e%#{KPC8627k)oe|hf% z7k}Z)Kiu~{MCKCMuOavigWoXt$Q?TQO2J=g@K-u~>Kxc_HEypd;I9GxYQbM^@K-zh z{a3vI((69>`tNn@Fxxaq{E+*Mlj(=03@E|tpv6q zs04q+;Ey=`Pwcz@(mO8r)f@iUntw6&YYIH$6H_tLJcu6p`5J*=W8l{~_|?(~#(n^2 zZhI>zEJXf$Kk()6ZU5>O*Z#qIJ;d)~!mlOp3`harvf3kh=;l)bKV{&j9DGw6ferr@ zMcFX$BMVahk!`P^eftkCe-LL3X%}O@QGsVz3HVV1kL013uNL^#27a}JXS*peA4MLT z`1|ks=w17-{p@Aq27WQ#YYRMX1i-fqJc38!SK#NUeTdKAb8@pEiuebTz$14geFc7w+K2e{#fkr(ORxCWh1cBnx@Q{r#aM5dz%MiK%M3hX zN5WU&=cs*%KeRaUfAr-`zVhjtuXxMnk-U&9I^N(Nt!yjI_ z^L~fF82>F~`5i>_Lx1DHL(~5^@A%nOw|?Zi|0>N-{TJiEg)F~=XnyE#{C8;jKXTVq zkN@i%uloA)4E$p3w~*m?5XBGqjr|Ty{=2qb_xU?N_ru#aE{XdVvilCA_o2RV-=V4h z(7m_Z_U!|o{>U?z#C-GgKE}mC^ghI2g5uqO-S_YQ*vCKdp<@jEV!U@4dLQC1LGga& z=8xa{-aG&G@uq=ajP(vf??e10DBeB)@W`9DzJAvYI9HY+`3^(xL;NKu-rL^!xqtrQ zyLNw(+2bV$zQfS_5Pu1Z_e)>d{+bIfxc3SsZHa#eLWLPOJKdj zQ2G#m2}<{KZ{Gg**Wdo$hyTTu{$fh^FqA&jUxL#8=|8{W<3GFoga2}`!(YtkI}D`{ z`In${|KTT}z2T-`U-8z59R6b5cNj_^`Y%E09(eE*k34w)zRx`B@E2ph!%+Ire+f!= z-#6~N{LvrX^To#<{$g79FqA&@UxLxy44&FDJ}tq=W|pms02_>pUW z{fV2e{OQt+zQa)a(0>Vf_nuGv^nv?l_wIaTX-3~+=zZwF1jYN-ZI8Y7mTy1s)q9s_ z^c{xchyF{@ygz*1cfY^wg12t{q{Cl~{|-a*L;oeH-Y`!BiX zv9~?$zOKbI??E*Gh`^5+_z?%s#=wE~G&iR?CQb6pC;odr@UFLfea|;PK#cGbtiHog z{0st(^$tz^>#um=XP=w>?mL)@1N>sFcNlsf;v4H7n)p||{wJ4z;k&o&Auts1i>cj( z)IL3IAum6~H`Y5e@wff*jhBD%*Z2Qu8kgYWu9k(gK0Rz9CqKlmE9Cdk#DCN6S8o6C zBkz6i4-NccthbQTr-v=%eE*#%8u-O*z9s8?=2XRc)c(-K zzvJ)s?z{c*uf6_L*gSZ87vsGp>wG3v#d{QaXzG9D!k>Tb;kQ2a?K>R)V$63Coj-qy z%>+*(_(@6dB${GKY>FZADTenRc=LDe{Lp7_R!o>e!WGQcwjjK=1>vx}et$dflNv{Mfx;`OstcKKM77-eU2TS>OjEC*QjJsxRL9f$i^l81SR#5_79% z=|tdGwfcz{M<6u2=MtIQBJiE4-5OD(-J_^jdM=^7T4hCGZ$!+mw$F-vPaHxN+2NiI zNmAeBYMt+7a)j?>a+L36(zRV?(j#pHENymDY3_?7?Ttgs9p%O+R@mT1_e7YUSYZba z-LqNPiIocXG2v(@R)`|zF6EAxVeTfmBczzS4tH!0!d-*ADelNU*^6h6<&m99_;56L z+EXQ-S<4;!X>d2r9Xpk9*W!+iOt`CZH_n}cQ%|h0VFq^sxyvwEBv9f|^%2KSfJ=dG>UJ*y&Ub3l_S}2)E(ZjZ)-ZQRqIBsJu|XPWBX3d37&fmPZv3%G*t1Hkx(NZl{ns{e%NW4Ehw)`vGcxxHKe$M=vx#GYVF8#oVKNG*Iw>&@jbZDzuaOOwXeD!

!_?Mr3`WHD;Ueex}2pmeBWrGfmu{kEWD?<0v^|{>_X?u(6%<(&T z9)8Jn@WVrqHi6=XW74=e7gJ%TwS60Nm?d;pl+dA~bI{RIMndQ3H+`w%2(l%R2r>sj z#EFo&BxXMXA;|s?NKp_3Q`X7rWJ*OSbF-TpB%F5LVKEOVcZ4$f_OFEUZH_Wqdhp1a zZ>t9ILxcH!*0&yj~VRacj%@!;Wez4YPhmgLwd%X8nQ2t)u&&>{TuPX_}~kA(0SVNVU|bDZc&4Xsi3aWiIbs9{?-XGoEAosC#jqwQf-(`D(T)nZ3p z(-x1YD62l3JgI6UY11Cr=1GtBbi^L-@rtvW%SzyMyFiCTH>$q=u<8OWmN_lzC0eX5 z(Sq(ihZgI-;(b!E%bBFY98$1rA+@?IVZ9I6{ZK+fn`2o(V=cUs7uLeNp$Pljkc1oK zi}ebf;>BrNX2kV$wxDA8FeSne;9#|67k;mFhg#-*!AU@R*-po->bsmUqv@DuaY_uQ zqxQHfe_Z8sGV+MI2IvH()F2{R@5uR-T34bJ5^fHqHf=Gw^eM$jEJ`)NGxjD=QVHeR z%A&ify;Swz$D*lGrus!Y7bB+zkQ z$v()wS~t77SwrxUvatIG8#+N@U9ncy>YB0=45}Y3svngeZ8Wp}+2AxW=R`Vb?>JOJ zMCW7_d$jG|2z(p2r^lVht#r9P?(xT*k#{-Gosl^)%o^gJydfSB4S{GGw+2un=r27o zZ;`sU$dGU(?1TJM=~{zi8(R_p=iK5O-SN1FBt!-|G7e~2y4oHe${%}%24~f)T1mFc zZUW?LfeIQ-Y=P=CVHrfKc!?M+E0B|-D1c_+Dd$km4b@AGF9WhC2Xb2h1fk-!odclJ z=QJcyICh%#Nkjeng8R-x`9A-ma|=E@57nw?aoKsO)aPH6uA||dclN^?jApFQcvl%s zQ^W3_9J_}Cc5t(B%Q3^W*$%qL@7N}lQlNy^5d>BfQ3{dmR@UQQ*02{)GukP;=%(!F z%{+g{OmrT)F4uIpQ_5x5`VY4Lj*92qh*dcKkBm)JIQChAP_RX<`mB8Ee^@ZBtiCd_ zy|~gFH*~39Sf^9nst_Y!hUWw9L|B4N7sf2p?$DoD9gm*BMrPXna9V8i?8~b0ZAd4PZl*mq?dWG@2eVcByyv=Uvy<=w9Z{L*dl`Ho4CvV2EdzMkdlTE5isbu3>pkdJ-bkUq;S-#W{8 zq~$xp@~yReQ_4r=*hWxo4dhPA-65n+*siwRt1S0Q%ROPaS6FU>VaZ(|$lZZL>$NO2 zW)Uan3ELi+r7`KdO}PxZ3-sn{R% zS62A*WoX#x(WjHD6V7igL1w$jm)auG%~I3Z?w_&r^GBgdv(Ze%_gPk_>VW5NJFqn8 zVo-HP0GOLCCqXQhVVzsrvLkUR$tV+xPTHr=UdNdRnmYLvWg?SMX=4?Q%}~dx{!y&4 zO+6pmP$c1XUJ?iUvS~Ik7x^Ov52eHTlL~BNDh;VfEn?NzM%wg8ECfnoM_IKN2dUcE zCN{q%#vmpyhfVrd)r*{YQ5cviDjV^y3^&+F$9T2le0OU zCt&wQJ99QaZx&wb)>vO`g{Fy}HyevR{oc--t)0oP>?9OWZK=zld^%}Xr>KBq(WkVN zvFgCelz!)&xhwRgv~Hh5hZ1e5aXBvs7%FcusH0=6%V|qj5<{?ZVl!O^0AV*5iJ^Bn zaeAndE#J(FSCu6SFn0#h0ve7N$(%w)8$YVIPdb{QARTS9IO%lU(|>N#8H-X&I4PTb z+~uN)urfi7ZgYu=_$i245cW`fs2-7n;a1Yj`gxo&((EO;91x*r!LirP{3hB8)2O3X zF!kwFyJGWB_Le!9F=9e2b1Gzo;TE5F#}}p@El%kz_XLb+k-cJNhG8Vw;|azu?2UVZ z$4M}fjwk{9OfvlN1S>A=t*``WPTszh!5f#If8($W!qUk!Z1_P{vw~O&A<@Fn~w^CWOpYF1So6@+q zfTA|)tx^{4$u!vdMT=6^T~TikjP(c%G2;Sn-4f@VYmMLQh(7SMRil*}YQw34!;qn; zdnu;z>ORD4p73YI9BX-~`%3^eTUc?FBfV_7hs^{TX4{@PR@-;kUP%N65A6tNIX zN6HCDJmDr17DG@s#Tglv6E-~IMiMqkpoL@FIq$7wt)xXM14zlPk{gYo zL$E#dAW;$XkOZ7`k`KYOtX-Cu>XoQw$(iBWF)P{Q4=|D1KlL==h1j?ngX6Fo& z#@_8RB%FYP@ycGiOwLhHtw|NNmB=~T&*kiKO!83F9Z}|eQP*6r_e5Ruo*_6*P2LtU z_ywNQoMvsH^BZJLQZp;00^=gP3#P8fa%Q8`{&$#^(S#`N8C2FzsEEZCZO7HV0sJef zIrbhe%;AZ&X@}zFE*{edck4w=6-oebKn@>9^}#UTgM6|Nl)g8zQxSI1?qg}EOvAB0 z38(}F>ytOMiAt6UQf?Q931!lTPNI~I2iPfNS-G4t7mRr$C?(tm6-I>bNT|T&WFDE@ zTl&2-a2A>A2;PFFK1ms`6cg)!)8;QEb(&8}onYA%!sK@=bqXmX`Qn1-DXH^Bqz+QW z`Yck$IyF+qqzzKY9Pmgb%{BinrH;uQqypDnLFVm_x;D$QC(_9&8tY@8<^pJMUjV6( zE8vY!E@A9&4P=~&t6UmMX0TbNQjK~4rn|d%vaae9V4lqBclTv;^|VQQi4F<6vQ+6T zsI!$)va%#2kbVm(ZKagBEi1WE$)VidEBcRQkL2QfWsJ%RvS)8Ks`o<|LSjjKhF(SO zw1{uTxqOr!X!JedQhK~4P9^`y(cS%Qm}UA{%|B}6s-jGs*!ozrk8$aJ-QL&rUWl`2 zA`um;ibqZ;rXVh23OsT`F$Equp_l@XobZ?eP-Ye=nRyyf28v%uIO6EUisBcNnF;O` zzmUwdxs$3*W@_9iejz6CV1~Jeg#GXcNZ`~YZYhkJgm~r;NF)xAXL{U8!^SgfxRY*= zXO?rPXo`4dggZr3#4|B>3IvH~>I!o3-QON(+;^P99TZ{_t90f@lbL6bR;EQVvyMAO zcM$HwouWIEnKAAZ-NAuo+!dwQq(!*vX@i3t%wyRgh;j5TO)_7o`iOV4zw;&t~?f z$x0@A8KVR%h^b5V88b7=1Sj*64UT;63L1L=djD=_|}Fnucb<;FGa;E;*4#&u8xH z+?lqbC1f~}T=Vp;biy({Bu9bbpf^im@?kXeZ+)eL#fZIP(3al{P=_=dfor;L9ynD~>&!Kb|OQl}reFHM=jl4?h12xVFVpEYg zMh!*cv;n8UDkhc;hld;o+v}E2h218UI4jq_KJEg6hgT# zw`siVf)|q6OlBmrwWk8utU>p3V+}fsxuQrm#S}CHr5|_1a?;@*6Jj~(g3x7N%n%Er zFkxU%ssY3#hsuErn!HZoIHH8fnn#)K@FZiZcjV z3Mq9gdij9c%&q>WL!zT#juuUf_!#iac-oeyl|@!gOB_QPq^E6rS~X@l?L<0W9^`o1 zQA=xmPOMf+Pd_r>l*n)!F5*EreRTP}m#zKFp933O-zZg#lzXB`RER&)Y%0XA$%;TF@^!!k8N9yY4w(Su z0i^8D!Db5%T_sizDLHdddn6t$S8fPA17fZS`{b4FD!%HEPHlka&6c~0OSTZjypmpV zmzgvliz@M^G_G!n_3wQB(z_~u&SVWo(>K`iJ8H+wfybOM-l`+nr{iib)>*U>Kj8y8 zqRxFWryA?KIyTul_s4d~wtZ@nr>)bXb>29k>Y6c#{Jd(NKFf~k6+QcxEPTLz)7hqR2wz{dY~Qes@)`OWK|eJhn$Pt ziSVRBNH(viu_nj0E4ip}d&D;Rkqm3vvaf?WHzjISfjF)Lf@eZx?uN783srvSpJ*zZ zBkJ79-E`ccNhe;|RxH9=QN0UnbcpWk`*^SF?L;$n-kQMD)C&x`PdPo9>CVmrLps?V z)&Xa=UnLvW9V`$Z6OS{fpy{ULwK|Vp0|#-eQwB)ZhQE)hyrEQ;H~j9Z@|xt(t>SI- zJ8vH=Fv{XBqt(jra5PN!cvc0~z3r9?*OS`At%iEcXL%;9>h;5I+)3Gl^H_93rP>!xWR}$uq=u0m)YQdI2TCF^VP(LS(UmI1`H0dqy8E3Cc|)lrSQ^; zEfBS`pOWlo#)D${WG3DqOE0_p*RrH=6=$E}!?C1H=-SVTQ@d+$H_aQ8Fk!0Dmi0Ul zb%KS%C@{O^m&EVgtAaaXo;w=!n_axiHt>qETeeRRHy$9>=Osn~%yBo~3CD$pkwyLl ztM?UmBfuf*vY~dq{F($`s26C=+M5QK0CdR2@=n z#IGTLDj_C&8%QuUoGip1 z#`Z=3`KZSX;tCw1{~thNK_1Uu;ZYJvrH(ao=27U#9Nw|gWij6s7o!83Jhq`5)tilU zTvRMpCC(|E?YtO6S@nMYnS49z1m?)}R6i%%tEX0GgEm!w<`O<9RnJf1&kplZyu{-P zTGR`^R^TE3cuS-+wX$~3W@qhysxkb8Q4|ShzuS)2Pqj~?vVNJfN5~)=}P1&KVWlun8-1r|; zXv`)q{ARHeYYYl8Q^X9+7Sd=i3X(xgTPvhs&81*1yX-eE1#2b+|CB5W^H2*P(e?e$b~K|(Ie0~iW|8DH{Q9(He^qBWQBT;?4~UXAPXxA*-i72#U^lU zg)5r2+(&B)qnp!7Ka@m6!7o7rh~yAXqK8s?$eL5#pvbCdCn+Vpu1m9GQB9tWsBWB1 zzdA5<=2^NwC!76sawd0^=bUv`Z^#S~4Ys4SZuVv!lQHq$lcYlwd5Y{~rJ%LxHq2B7 zSB>>CEX+TbGp3p%7&KO|zMzfr#;K9k^B#h`M_LL(%a(%BD4n!nPKUIvc9QNfbCJ7o zOcOl({C~=nx1q+t_-$$u!J%3AF(8uQ72k*%vwJSoiw1XiA@=dmxdEw$4qG4G9WF8r zy5Lb%a3dTWY*0gBa}{aTt>ON_(mn+ZU(uAiQbyT{o6(bmPm?-1v#SQF zYCuH0lDM(Oubpt64A(SVr^9u9xNfv-b#wRwifj!4uzZ9-SIjbAoVW%0;zy!>KKK$0 z?v=P9Y#49Q{bj=i{*#K1&nBi@;|JEX2y;xDKUe#sn6Mt<1&U-ap_*0Ha%y&3U#6BT zRpbWr$`TIUt5d_M@UZ1vio4~UvlN5?KC&HLJXev-n!K}Oi^~sI=vsI^0-@kOPyf@fYeNOc|1NzP$-ZtEqgwU=_uwxh&MLn!!2`9SUQTdX&}ONL7OS$|qN$7$ z2!6RvJ-dVIh^w=NIy7&PUC<|~%h@H6)MPIV z0&8X4UM;an~OFO-_U&78+zQ3G=xUu%@9KDQ%EzUBXnV3Kn!mvcjn;gM#`{2kEE z$)@&!5ZT^~MH-E8@8*Nab`x7Rs?Vu04h)3V-kdMLqo5yn=^Ol=*+rGGB3GsjjBGrSc?;VHXX8M8I2%@|D<8m5`oCK)9Ra z`cx*Rxs&IS^75k4!$8`6bMuNi@R}!3e@$JK8aS`&6Di6ZeULKr(E(CQKbAZ3N8Av(wn^fXw5~7n|n`8w9qqhbLU~%P-EHG>BJeaKC(Ox@CtLsBu6Rb z?Mm4hNO@mKDZx-m>2_Imhs+!K7%5Zsq{>vkFQxpT%4{!~Qr()A^R20^$}^T-s*AJ` z#?zI$zg9n?3VPA`Uc)AUO5lDjj7Am&rw&<4`C~K97EG!BR!aG8rEFwB&_(*IR9SVW zkWvCg)}tGQcY2<({bvUEJc>~T^^^q*xmty^`c`FbwJ%hNIzb8NiyeNs(J$kb8b~}| zO1WQr(Hdy<1H4j7v2ZEnZA!U(Amu(!NjkTie;iffLh8p?r zWmWU9j|lDK_fA72yd>}kzG-GQ@hIj4(c)jw_v7uRlx{XboEl7xYnUImU?c(BYv`U)>~wszd=i@N4Vg&4UJeKqYN^DKV0QSPv@AWm5HygY&fFel1lXF?tyB>fHKJaadZy$e?I6D$(NNz6yC#L?U4z zu6LKeA?k(ZUV@UO_YuF0y2;I1f5czb4(?ef<#EqK$WwS0&L7|kDuxd!Q7@ar3^;|r zyI=-FX`LAqx6q{4s;aP8EP_q>Xad*hGla*4>WQz67FH>_nv5-nD~yaP8>ssKIhXOF z`|pVNzq}%DpC7-9T2;C&?*l`Ooy;et-tUgsx?HjUlb8WH`EamCFN8UW897_yD{hjP zZ&CA77iq#?<^njbzPo3%x3q-7813x`his zQc_hK<(fwz&5AETpmq*psU(_T<53l{5b4JBVIJvl>x)3GgA!<2 zj?$tWv^-CFSOi*Ox#khbCK={)&`PELtvG0vN|;B62`hIY4ni@DK+6wGpw&vSBo11W zr#vhIO>QW>YPqO2QASovBD>k-Cx8bHzDN8Csig0MCm>pnr0DC)uqz{jw{0pZ!60 zn?8R=pNC|vH<+{fH2e5ruVV)c9TT@u^IDgTLbhxAmu&`vg!{Sl^thhX|{i>+)EWt6Uk~4T#d2KKI3`OnDP%_#9)Vn7Aaye!N%t08HE z)~QG*iMlqGlW0peKbzkPHlO>8AVvZld(R$j(O*D92|Z*z`b1sd<+JCUEKo(r!7WIT#)Y~?|QX*!fgrYYC5k0&gF1_zJ!*Ho`Bc&AmW*8}@aJ}IT z)o+GoDMhPPM!y+ar4;Q_iheV+ODRT6Df-Po=PH_VtdyeP3}Ye17(;^JUn9hujNF|P zifV?x)KHIRSXO%9Z-!+;z3shWc_~G|8J3q)tSF`EH^Yijit$p4elv`hQcRRm^qXO# zlwxHmMZXzVmQt)LrBE~cWjms0uTl!+np|GqWMd3Let!*OWS=adT5gWjrT6{jSRJaM z23u1~(Ql45r4&=86#eFyDy3LkO3`nQwWSnClv4DY;; zQj9Uo`8_tmFadJ7?S>dk;EiNnsfXb-g0(M3;awz!BlCp2Ml-vb=*8@)Z09WYf-ELC zI;6ZU%I8WM6VJ@<;9{S%(;0>AR$?yTI|favl}IFpBXw~fHdOz! z2`{WNKEKFJGI*%;*(8@nhy>u7T?PY{KAYG=|5UT;i`oh=)>K5laFbbWZ7y4TQG3)r z&ts^zc5AP{sNJ#8^SG(KjL$bNxd;pXd00mAk`1XpAvIPM z?G(gOIt*Xo5l2L5u&=gb45^EjRJrRH^SvAMf3-ECR>qp)36Ro0$~Kp4Uxmbg)vdP$)96?FIFQBH1MuAYp9;tf&3zPWGhX zLY>XA_1Q$U9yt=gUZ{T|zgeFwc`koN#sH!JL_^qcfw2x;J@DQJ39V*^Lt@~)4Gl(` z84Nw}-UbBdmm2>HXq0cmfO<2l^RN8gjQ?sg8{%L2y_x(LT^rAJaHZ_{Hags>Fkq`# z93x{_ChjT>aTQ-(iYSveYt|y-^+}7B*kCMs6dL6L&mR3$$qtBaimA>N`j~YX0cMkU z9kP`9+iaQ^%GNh6fILP>rK{5Fb=yyqCgOhti~eWw!A5}DMvF0y(&3X(XKaJAndB^2 zI`cXdo1&9s^bbnU{j117E4Jq{je6}YxulOqE&b96hZ7F z^P-uUA*JzAE4w&vWzxz$LAlX&9H)^cw)3|gwXtfOf?gR~+uW5#+BQdpZMHFF_6A}#!^?OgmY-P^{6)m{--a7QtGephJ}rOg++1gtGTSHT z#s*$?h{xQ){iFQ&vaUKod3<0~4PblCY%BEB*go2(1G%XEv=Bvg2vf!Ntc@E)H4O!@ z_AB^WEc?rp8Ly{&C3S1^m#7BN>^bpiTq)~fa8^_Zr|M*Tm<)bS{7OrLKjb;_j!+@1 z7!~YXFLw_;IO@D#ceVlz(!5-hnT}s(R8##r&lO6(qVD}sFheCD;$4zM+pW-N>3BTywN-x)zlsyzL^}OpTH!U;_i01Lj7v3!>doCS8Y5 zLR2&35HKuvC`XI#vPLM!$zGvW5xGHf_mz3qRFt_{r}@o)EijlHd2YC(m3;Qt8K{%s zQez_aMpZVebR)Md)Q9tm3~6ee*-8Poi{>sV1UFoX9-+ESP0Mj?Gt^dVbJmG}SOwA1 z{tgI7`NEhsmZQkpFoFd{4*YuDd3Zo2+e;lCRRLp7TVBKdjmlExlSiWl~))6?zDZA_{*8+T| z_u8@->*kD=yw9s8QUov!uZzn^5ATR9aID-+BAa<@RV}-T6zfN$Qby>7g!-x%3V0rF zppjX>7jCVxVV><;uu#L!ZB{796ofbHfHcYWR-CrT4i=OaJV@7_*-JEm(N>6Y(;4zr z7eUm(?20QPrFT}EgIznIzQ9NtTU&(f7_y@s%!0gfCFCvh%GKp(c;(viGer1s`8g%L zjc3+)*#c(q&egEaUgI5_p7085dKvNFOso-h$*2Gm2z(m#27p!Ca|tXeX$v&5W2B<^SoWfoeMI-*ZWMsir#_=5JWRyFEK%^ z>~V($t-+K_5lXono(jtXDF&bw@OVUv$;NY5D=Auf)QOBqCL;g{bIdp+LJ%T-;PdRc ze0iI-Uq9HbjPSfX3)_H?{>S0_=9AC&2i{TQ`)xaOzAw{lUSHW+&a;b$ys!KgJ>*A; zOPjkY)xgMCp?LLU*` z>ec59FY?QbI2_@12cyeiM|q2!>~_?NAnmQVk-Lr9QKeQqR3>l6km<4_)1d^NE1c>0 z*urLaJHz8$-6*ua4AB$?EO98Q!H`nMLSG;r=7@zo+EvmQ&y0^ezpAX{D=+4X(Hw?$xuNwz8>f2Ox$%%VsXZdfSQD zz$|}%#1iEZwXz!Xo3eg}VUw=bu5__&`GfC*XaQS<&w0Vms!Tk$!m$Y%A%TEcrTKlX z<8+T@8X2r6o>>CkoFjy$%jW?J5Z%j6KT7a6*d&T7U|TPz3d{Ro0lZv*>kfFi${o%V ze4OL5@{ig(WqBqqYDywQfg zv1pSuPMm*Jo2==#3Hy9m5dUzxCN#*f8iewV7F^XJ!)lNOVz6|n}fYAXKC8$?nr{|A>7msYDLaa5@(T1cIzN`0zoAHA5R&(?UMy*Emo z#tTSmzWEs~%-u1xjy7u)t9qzkLmQ~^afi^y)oaWGQkMb2uR*k-=@+RU-UW*U9t!Qt;*PuXHz=Kz%hH2MI>Bb z*zE{MTV?`9WD?`r)k!fSac3YgD^7~UV^M zHic-5%ZQXZ041sL+=I5l3p!#++mWqh`>YkX)7*S`7&mW@gSxe96Q8{y{#)*_hfY@q zHg;meWD}I2W;}*iTMW?uG5-=uK9y zO1i=dw}$cp=U4O&S~XPEs(;XmvhbCJFZafK84G!M`dgNSfG;($?p=XL;hJGOG8c6e z<_M%Pn^ft2e=1i!#;d$@3ac{N$Q|Axq!=co*IM=qx5Fk}uyiFLhRxDNo{9;QTxQeLif4)| z9r$P`%4s8V_2Q~1l;hRwDZk^>J4y?jOzP7!q^XWlPj(F<%9pfcAV54?V;-tnBCX*-cB?%HfF#Lp2L$=+Ktusl#nBZ8!9iak zox`2BO^DTTWZi+`CSphX6L8uIQF_3~AlhHl_jt5M@i~9n@Ke?$9H-=*O3ogS+WG*& zGELctqL`KoJ3Ov8n@bTP$5oD(tc_(f%RXh-dHSR7PGdKru(c!1M2bF-0m4}7PbnWG zYLjo#D83KdJ8qJ!(;C+KV0}iGR^qE|rY}xVf$TPzOv*!GQr`CtHLOg88bUS6GFiCr znPX7l0kV~mqvOibp;MaT(0-#?*mTr@vQt*zSA)6_dv(z3G~2vzX!tK>VaIm2MQf@DSc|;FItjU z^gx>R;62cRSPxvds3ifR?eZR&gdS+|<+2#vKEh&@y`+e3?}*cb7NdH}w3|%a4Ooj} z6gn-|B43VH?~{xKAjj&cEA!SYMNFlbsUGAYZ&qUw+g`h!WUiH1wLN!7+*TY3wqnO@ z#j5N-%ma)*yB(59HldM2>f4Hz07%O$f;*HMEJo&^3yZO83)!_NYPaeZqnpeyr3ww) z9uy&sEY0W^qd~V_^oC?HqDVObH@A`8VnmS!ixC9|cl1WwV&sIq%(jSYX0vZ*c3P{L zGfYMdC?t+L8z>eg<7l3GWH2=gQi{~0vKgC_VhslKK9@5;+nTwtw&$y0smNHBIt&GGl1#)2grHEo98L$!Hvs z(P;UdBFL7@qgr|tM`gT}bUG!N3lf8Kg!9$XCeKiWE{XdxFA&ux*O7KED04Zb6I{`m zX7|%Ph5{`ogQ}0egj9T}?RlvI)S4}A(>qjb(;KWu!N6kdtp5TTag8PP`PuYu@RE520eVw}0OEx3e`lH*7 zR#U<-Qr6%@ObI4xR{1+wjn*75aa7OPQ29Ru53R*7wSi$=cB=v6mq>OK6CtH#)>GZB zCr4iyEjB{!Lkl5ApHf@FaQrPait*s@L2V_u;rNuJLzvY=WyicLusOpl3=}+0VW7p`z(A{7 z47B)iG#)(pndIY1`)+x@xLY1CmJBKlr`M`Xx#dS0z;#EGIRh>;i!5}ox6%h)E5o2` zBsl09XNtOkEJg9l!o4STXPw@)L0E2oRH)OwYc>8XInRY0R$07d1=S9k$h zrEdTo+k_k%Sq6fl_Co?tBS=Hd;t4{N z^%F44w@D6g>Q8bAa2PEXlN`*!Fc75eeeFnNvC9)Od`;w0nslzg?TLp7 zp3>AzHB8Oe6bLLLKGxI>U&SnRhZm$PUT~KBuNsa{{Q{UHojl84`A%wL1G<+@+K3Al zp0ueBOxmy?MloqKB$qKOZwi<3kX*(?C6_VrX~AV|cjhuC;7&c&H`$PLaVWTqx$C=( zxt(vz49#&F4IxHM@4E#xxh;x1#MW8~BQPiMyjg7(dnr|g(uTs~#TJY~l`WyfgYOFs1->=*@Z zYLMF`a8*|yvZw8maoUz~+AbNVZ5gL*ZfeRof)T`*(c+)Eo;((SlWeg z+U^^t+zuG0Q*z?8`^M>%d>ZY(aXO{q+I{163dn_V+Lm#e+-Tp&QnIE5B6PPw>oDsDFG=pYTJ!d z3zha@6hfYzK*Tje+U0%HE)!{&_epE9(8~+biY&?;k84WY!?!&)dO6MS102vJNPtLg z4-%lfJQ$sVIp}jZK0jl2J@~}hl{JWAo|fTwAix$U+6cok9gV!kA_KY#dhdiF42rT? zbTO>FE+^3haS@A7P|UL`HAQmA3VkLlW=I1%uADN=J7zx#bZOYUv<;y3mC#s5dk{vL(tR-5MfK_=2n8pu*(6%;S)6FnCK@YkEj76*4q^>RftgF(De)Gt5 zEk6`GdC-Q3u^4)HM1i9rq(x+?26+rGtFCBpC=6bF9|x~e08+o3&J8=#0jZ9YMGVTj z#=sfW7(H9Wh5}ncNG{9kitq{x$@TCG55h19Ezkng*K&jXW_?dX#9dN8u>r z23x9NlY$_S7e@?VD2_rxaTa8x#RL|t>yjsr(S^q?G)bXyA&%c*Apim_K>#W&^1en2^S3^fktW2|Q2J|)|r>+KXb-g6saen0Tr6$^rI4@WHzqt;3PeHkeKDAud0t>2s9#F?HH=IhCA#X zqad}pd&fk=mc2JD7D-DN17AeqE3Kpr&mvXfP86kNv58XD`K7jski{3a{EZb|wpuT{ z8<&jjW5e3G*CnJ=9-YKG2prQ>aBWu#dW zuyW&2DDs{u6}=*Eit@zrQCJkwJ34RLD zcisYzmA16m3siNq$l6QC$Wf0&=D2!Z4yt;{9NXsQfc-3o_1lVeA8GO8RzptQ^u!KX zY&pds(oK!#X11a!B%*D@6S=UfXiI3e%Av-j4BO!NN?0Cz4;^(xqlr{tq=6f0^CM@K zZD2QtcSKPVPU(px+0qK~%-YWMBzN>jIG(p!j4Q^F_F@v}--+M<0Dj44nHf@b?HFl$ zuvPpl`)5=Dg0^!~^Uf%)`8FRcfAmodyP!Z0mg>Nl>h9cGuP3U~3=KBm9?I;*hj?aW zmYohpUUl9z*?JCyM{v)Kyo6y5a+>uT(io7FMHoFlOPFaorUCccigMdZn{U|7noyy< zde~>jfGcUTh0V#-Fdl~t{SxhMnrNdjRCYHuLEg;H&&IRe|3Gijj&h%G`(ZisXI00c z8zv_)g-o%X8&FQ*#Ec&e0s@<}o=`_F^A?DHJh7cZ-lB1Bu{y)8&D}=Ao_=Y3Y^Bm; zGVRZ4-b8`q;1ZKfGL{ie#K{88%q7{nGa20^+23dnK{mlVJ7tSarHu2GF)7hP^|Q~i z^k--rNtV86EnX;LVhM+`cP}sxO)B(Jm>hvX8 zoPCI8KhAbutd*VIJ^xHzBDUK0R6i%%tEX1x$2>e4I6me$iU55{vlunjKY{+XK%Q(p z7EqFnor&}wIb{l&vj|`k?~l&Rs^8;xKjm+V-F za%-`Oh7Zfn0Xel+-gbFoYS&r@2|C^;v@UDiG?3!g~ibB0rNPRF^{$Js?OI6HuX zT}2HGP|PcjQfI!^ycA2K!3l#M5bF?IQQ{#!INg?BNinB65w%X4M)N&L6@^2LV%Cx#8iu9Dgy9}^}zyN7uu*4Cb`9J$K> z93m2B=f5IbcTTq|;|E@gHIn2=LivftxyaIG@M-pr7?;JOm>}3|F$QDj5nJcQu9N0M zkSD0(4kp31TBv8oKKSlcvI}rBy;AF;Y$TpwILk~8+rWGMRtaeUF;b9eUQ~08_rgY^ zR1EkxnB^%$IOl9*@M_O?=ccvr$R(Sy<-$fAUT4EFRJQ8W48+gQ-h`YvlSSzG;Xy>C z%E4JL&L-rNZT=>T>gQ)sH;Fen2s30kIFKFX^`g?P$D6Pb0b^-!x7*&@HGmP&TB%m~ zZ|-0DRl@eZ6b}y29Jh(8Obi)LDMo4X1>SGoJpXL;FkiC<7K1rJ2y49zAE9rR9V#lT zrkRsXfZ_s>s7^qn#x352&G+bd(wGX)C4fvO&}&8lG;-_;`uX$ERP7tgDrsOs7uq!60Ijb<9avR1}YIR0U!lHfs`_qV{SkmgVr z=QJzYrjKy*v&-XFG3Fu?+$mb7t4p}vNP#gvUh%J6`le{$;Sfv>W$t4Km59JV`Y4R! zs*@G0c&~}^)_ZMFTBpatUUI8NuLwz-Jvy~E;TrLspTp);h$I%3^M!_Ph*5AgpTc5N z(&HIkA!VTf*5^tjUF8aEKD8XEPF&nF$=2hKzD+mqBvZEO(bvuE_6aK7nAB z|CzDq;(qRqFbRf_BS@|?all5aiRs~j%b8wa7Q1AyW&ILCCMWGB%MkUA&CyN&XO)xL zWRF$GJ}9=u_}0twtS({)vsSthRA-X5(raWX%>jNomT3^Hn1+GSLT4B%$RW*~9<)|< zbj$?_8q`UnMQkrl3+3=8-h8sMW%TJ4`)eKaFML-ANOYC}qh7|!IGNE(fY9Q9WCa20 zjNc@4#}VL=&qDYG3=uCt2D`3CjIwX#k1uAo{wVuuh2`G99SvJ_b`v39t{|B9wv4`{ z(kcB7Je1xqcfp}5B37H0>QCqhgI@#e)%hT=H)H*}#TVkd?Jpze~Py3w9aB{z11)wSvI>z zXJ}?RzD?c~%bWe?pXj?fJc7>Jv?5P)Qo2>68xXOaw|> zoft0wj>TS$?O04abB?_FTH2J%g-C!EHPD!dDUNgGLDOq7HYx{paIC=$mh3D?InvEq z9@Nm%*wE&5TT+ZtP1yv}g8f(O-8`9zDz>#WD7J>0>8G(Sb&|F2bE|eHBnH2>k70g_ ztkPp;Lpk4GIL`Ls3AG(=mb>ZiX27F5v-{Nfb-;vTzB{y=1$0;hy+ZD(ppQQ+ zsC~RQI(Pgr>f;YB8B)(0$Y}G(^D^37R&({8&T7p{=G&4D<*sp!&+mIT$l0kOm~9RuI&N#Fh-OmYbv_;mq0kIp8m2@P+CxNOn+hA@<;X{AK_1~;c*z#7n*$-xsU z5f}L;ntx;?i~(rLDRL{To7gctHN4860bA@8<@r(ASv8n6!G135*Mr^LNJ|qtdVe_4iq0XT8?AxZ{)Iadm5j9^V}v*S41H@ipObsxXLcx zdkb6hTD`N&xbOTxra+OTh5mT-W|D9+geFoCa8DA+6mywf!(^?d=YTOVqg(D~X+?;k&v^ z3Ch(j{%J7Ej z&)@!{+U!4EFx0%N7PlE8TR-SlXv^UK;~1+GDq7h|w3?iHoCF$no~5Nd^+>;&!PI&V zA|F?m4i?CwuEjehniJN^Knx`7oo~cFoKGe(IF=9}j{fn*vbAK+FqNAPWzR^5;hL%L zaH6lAkS0%5ZF8?ltB;7EI70lK-sl!=>2&x^4qQSa$b?5%Gg5wWTS^T>V}xaLgdq%L zcHoR}=Eo-0XPVyF0f4F#J z=CENyN30Op6rW~bPZeb_$%OF}skLE!%`D;=M-cHtGGa=H3`kPBARYS?a|Dj*Jp10z zb1SQ9QBJtWEpU$Ni@H6b5*&sy_b8?%zENp0P0|a3Slxa)&clpM5Heb^Mai+51yt1? zfodh2y+#BRFnvO0UAFTzpQ>d4h4R*I&hF6t-q%w1&tno$F}Zhpnw57qs!R{sN|IKr z(?bGgyMF`kj&{B;r(!kR%TwpBM&}ESE~X+vPQ1a@>@jnjKoEDgrcv{`2pB`XC&dq# zsB?Q_;~sMMaJC3Q5nbdl0C`P+GKR$hM{A>XqErbADTPFR`2)piC2|R8_w)R$O69o_ z6{}MbKgrB%urk@hnijwxLv3^(RFZAQb~&CmD6sWBa``jTlI%pD_91GX6K}K(>k%R+ z^Db44t~S8qlo`;`=D_Mhakfvfb9^!UMKTm1!*Jn4W$lH0)5O;OEuZ9zP?VFUBla#X z?WY=xU!^t^OD-Nz^FJs4Q?6fvE6%nzx9YsBGk68kFHd73{oi@I<4vCe8oPsWPlS@@ zRbIxeZ~MePQ92zbRydPw9mcq+z>XlWlQ$%k2-3UW0&DEK4A%G_f=Xt*IY|_iNl0Zm z%NcA%mQDHw_3|v)y)hj&ow^@ej#8Kifb2acd8vX}=%(W8n$aPYR-xO2*~UEjtAf$M z^ZNcXQCG4gM7IR7rC=&CeDTb%MSia0nO-ZAnLi79!*VJPa3kN?3XHZ>05i;}SY3sk zxE!1Nn?{mUm7w`5ruhcdUctH?_XfczN}5i$;&e2km_283Nlr~1m^o!xN7)I|^gr&8~PA*{Me$XxWAB4|dr&}_n}b7jPJ(-ys&?|++H%el`0J7NpA z6PHt`Mo&b`ud3Eo)mQ0n$bQ35W0h>|Rjb;g;l9uf88q}Qv~di>S(Gt_JJhPjUPP<^E$yG4=RqTMxk-VKl z<0Hr&Xslc7$ZDn|N(FEnRA}tA#ap$vztk%U&d#sY3ghZ)FKAEY;=48FS!g4jKUtu< zI?vu(UA!GEGn9lKP4N^ete8(KN?28tz;Ts|O%w>7N$K_R!tzrN{HqSAbbis8sHiyS zboMLG=x8pDmiLqDwxAIsrve+CrGZ8apb9b&71>7~hh_nCOv#0uMpQ-e(QOU zqI8B>#aj%z05cr5EebHoQUcwYk0~^+byx$a4(oNW?iot3ZfP~sc{6#r7N8d1dQgB+ z#^zLla#vLtYk;KNf<)Fs!w1|Jq0U&G3U@P3k(4 zo_06_lgX!zjJpq!HE-Y5*X zp4gMPO^|qCk?JU543HF2pPs^I*%|wB#+$H1^}^py^;k@UFB*Bn@t0fDAf{@7Lk;!n;Wiubd!Z(ouo&um$PPKO8Vc`IDGHkwJw1e_s|#T% zF>{bL_&e+wjB#MbLq*05yU5G#X^4C6_&u6YHGBB|w}j(o51xxcsh*Cu6z$B8)gZtf zZ+P?=1aLqhylI;P3*~qKUkrvgR2;4*)k2urJey$#_iJU5ABba1ip&patcqlD}L zO`G+oZ0UO}rwP_%fh5Dvsv1jZ2`e|auo3Ax?#`4ENw>s;0+S?#Af){>k7>cW^1}t8 zug?MYQ6W_eC+Tna!+|d(7s3evm}K!eOfhH-9k7$fa1N5uSy__fDcSM6Le!z^@E2_D zg`lbl=TN6;7g(@p7g0v+7!F%31)EsSSfM9kL@$EK3sb^myHNtMT@Wv^2r8!#?-$N$ zAI!W)64NrGBx4aGy zwu^yxI**^l-I8a<)9PlNwcxh7^vzx# zr{i4_P0aP$h}rIh;KJVuW5bUzJd<=~^boIo^fqld1bWkHpjV*OJR032+`SG)BSE|; zV#40U1;0=>ue=tT@CL#cZ)hvtP|N(yJOXLhIY=PwL6u~e$vu*Nn4B6_21$P{!@!Fp zq#&PuYDGK8>eN>ga(}h~-(APYYfP1B91q)YQUAjXA>R)f9I{KbofK1hS%2Nwois*?#S*1+IAbHdfb3%DAKtwy*>~-4QSXDHg$4itU6svutBuLof;JKEGVQ71nz9tq{p@Eg}5KdbTxS zVH6NSfB+F3B0wM!WN;EgOmK*T1qd*S2m%aA-B>ZN&XGk()6-hKeQ$tp6tSV zp^l@ol~w)q@Z8tv_j-~_4IVkIBeFP!v!DGxh|`pp3a$tIE{knGCAz3i4i=Z z{-ClhRY1c6$AnG;y0`?-3j|(BbGwxWM>o&$wrxJiFJ>|=CilPqEMS=29$(LJoW6X8 zNr2fCD?Fo%6OPK9)xP{u=1W!Op{Q!z#1E>p6F7E$*;3jWo#lpHD;=PnQ8CzRWF6?l z`W*Hrk`v$3by}5T(6WI{q7sqIHi}}TSmVDNJG4DPehR*_H41*s6(To2UP5Q}c3ksXMx!%UdB4|$sjBv-Q`i8ULAt%)oI0mu5uY&x^T zHsldhnl=AA%rlwVE#V7qz2Pw*R0t_XwvehptyWZL-@8R}+R9YGwH5cfUN>6=Z5kDp ziutFwSJVBrZU$rLpYY2{qsc~X0PR|O!yKF1wKxwslaz*-#d#o}Y;qE;-rqcXs#;_w z=WG6^pUDYo%o+wgZL>Ew#TZ_;evrbB9w|)zWiPw+0orEk2b#4M&t-TItcbKdoU73l z(Q@8FUux=5yrUiJ@^qB<44)K?tu6}m=@l!YtNB#pw#@;GXPTE$LU~z&3ZR7YqC}W! z(gHIQ@jrkDF`@64tPeA|t-pocpR=j`P8qqken_agLzn#S;#c5y#xw?@a?`jwL1*4> zy+(z+WMn()H<%YvJdr41N0OrImS2Z^3^Ot6DAoWZQ_cWe$N>2YqQpv=-kR>UML}=i}4zh;#3S^`pLumn2sHgNOYpdV%H4&o9z80&O z6wz0E1&5LKHFnMRpF7v8n+K@K_0N}@FVoco>#47^uj~?i=PFz2!QzSQ2yL*t>+};N zf4VtYZw9z@vo>ggKLCC3cf-k$i@(>Zr~C=tuU)MDqesBB*@gUR zj>j9OKFyj}FO=?0m^uA%eqPU~%#Sn_q&}NAj$&zYuX(3=SAJt6->l~knE?lF=+yP1 zO&)Vzcnr8Ig}nKD9kQv*wL0i=$FP!0ct>5A7rQQInOxtv67?3&UPK#@w!^TRhANu| z!QhK$%L$nE=#3nDbpqh==mn1+y?AR3vmpF<%$nCod7;p^?Ief8_^--@nZP2QN^PVh z%}g3ytqGzgc3gLwS69~OSh~|=ULn|~8yJXZB3uk@V!AjjZP1}L6o?}9xyVc!)@Oqv zlKxElkr4^^lLX&JMRRD@U)rh2lcyex$Is^qWyn^2{n((b_4By(WGl8{VBG`7;y92( zVrs{SE{WWnmLMAgjh|ejH)s%2rXXSWyfuzN+gdg1sfz9vRcYp@?h_Wk62B_KK}6Lv z@Ofn+K{zrUdg`5JPY^Qvy0&kiIX)5pVP!0(?K|>`^=sSK7;EUW73s;kfZFET3O^Wj z*!5Xr#`eV!11i~j}cb9WaqEecOeLMVg!g} z>UN7cl*j)px@9@$=Ac^*NmIeTsD#{HM6E5RWCt|HqhVXOU|T8|lk!!dMqrB}nE^8J z6zC@{otU!mep_^>q}r(=DH^YbWOta`lzXCLv=9JOwf+?)%oVV!~F55;1AAoJZQ;WUb;_NLqR=bQtsf*nxa*b$M z@i8ZZejyEBQ%N^I?(SO8&F)I$4~VRETFF*$e4Ley)Gi)y|KDLLjpX0bkKz*vEIOj= zhxJEminu^0a45ANP(+QzP~O_K06f5MOI#SGP>p>c{lHICD}Ma8+Kg|=X47QV7GUdU zh$uv;(wR4&ZTww}sKp_b0UQ@Hf3sDs&!xaaO7DzqB9o971C~wlkH(7Bb`yaQplswf z`lp_Yn&^t)Tz zG5FmhCw-E?7w~d;eX0vSf1|bev)vNa@(Cbs_qBYQ>&;fn-k4)D5}gcz&x}EMe`LE4 zlKfr3VBY6D_73i9<=tO!H&EWag*)vxGZau$99m`mn9*VvT4@KXFhb=vL*c=nuq|s{L4g}hclosb|bjx8V{z8kgPT0w{ zsw{y6D4}I#$wexlab>}UDxiHufm*kXW_YfHM2_oJzLjgwCp7com}o5(Z|3p>pg4KB zWEJ+f=af+a$3<`RXk+Om5r;}*^ht}gzJ!tECdx#UYRh+;G1lPD&)CC;IqBOHX*!Y$ zRJXVGjJ9E$kUme(poZ^*J)^DU6HS#`vlj#QjJA^}gY*%4)kGofw5&<@+ ztGlK%E}HbsN+(0=uxXDACq2EuNtF{@DAFYcv8vJrWvCuiX+Xf!VG~3wAmN@nIT=}x zFjcSSED|P(i4aX7;`#9cp^pWAVap2U3t89*7e(_?)h>mr2?EjII6!=l+1cC`3O3Ow zt~Scg>57KIg88DyIk2Md<9P+QQlV3nd5cbz1mLM=>*Ni#)ixm5)eFU7k)KK@=zT4{ z9vgBS;v(9E#d?T+#!)gh^&cjY3#E^z2`Kbo*gE-zd8EcYZ7Jspq0|(!^%dp;MXa`4 z%40xbh_%=y|GM70zork1tAwusB9GQp)bD}`HA35$Zp_szLX91%)bwg%bv{UMaFL<72^+jv3=OE~lNdJ#%kzOE>m zvaf^^me5f(9y)6`Whtu2ml8^-FNFa@t@MH}SqdpDG*K-=2}=m*IuF6N+gQ&Oj8&AH zr1?@7ul>6$6zH;7P^;aVbXlT^NnzOpG^+12qq&rraZ1W%88K*jqYNeNd4MOiY&2}< z8)6F1HxK>bO7$i)0N=d6CPnaP7$qcFM&8GTp=m5?7yQzp+y}Vr{!~ zdd|d09!BxM0n=p+sIGQvG;U#$S!TVD%#yORt;yc=!E`&bRNUasWT%r7wDEq6>TD{i z4d7Dj_<_MAE;@OZ=rfGTSkUzqyTQ4~muzE2kFObfMA44kMH}H@;hy*LX&F3o#+Vzz z!N>NMN3eX3bB=(libuy5 zk(tVyDq(7``3ycm7aV{`N=!U3l0>oAFqpLpVvg3b4a`-ATk?VaFveN^E}GI2S&guu z%SHUKp0t1;I=qx0=1Ro#XV^{{9NLwEa-tU%df{fSjKpSP6i6dQyXzJKP78w zYdR*0>qSSL2i31*`jfUJ=KmT$9YZ1j#pq~GU8Zp)#qmzvg3H|oWFN^ZE-s}H{|$r| zikJg>KlaJiHtK{M44FhF@}kn|@5J8xpq5G5i%gtsV7CB0b=Ye~b1#=3Y|mzTz38m> z*7Hi?!S+%pM3o}#)QyUI`WyLPnkU`&J%($%yF9S6vai%;-umhG6QL?(YKY^!9xCZ8oG@ZB2K7H{5wo27a4f-DMgT_Ogr(^wE-ppL!4TlX|iIn zu9^KYTS>x~iiW|^PUIlrxl=(_!0gCmq<90bi{8DS!o?QaM1M(l!L}_eIVod63g26; zHnqYP?G#uEUa3wCXx0EFIxPwm0A=9ogiXzB%d2g|-4IjSCc;6b7&m>GP&G}ag`K9X zYO7&^is(hhOl~W(HF&?1*NUdFWbN{EdBB4-ndhbAwV4Q8mcW>l$tVsr zjur4&wWJkYoQ`l=c1M%Ava?JWdr{#Q`j(bGx3!GahkRMP-7=p$-%kZ4>g|f`&sTe2 z7z$Fu&-EH4nAa^)mTK0A)eA$6-GGH+7GjxY4H^1C$gp@JKS!~IL#7nU0z)dz@dY@c zv~q%HR$Qnx8yG(Uj-Sjiz`%Jbpb?plb>$8GL7V}~g{|%pHR2ehRFJs!oPy*zt7YBB;kak%#7ys#4~lX8Pgj|-U<-gYXjFi&Ck zBK|aC5Oz!P#wr*Jctf2Chyh;SnYSWc3Cr-az`@1nabadJm%U;EX8hey27-#olN;T3 zK=>PtlMpizwfG zm$aX5U>NtlIK{-qg(;bRBKZK&XmX#vZ!t=`t|9<)k zdt&UI`Em#qAucrMkOw2u+yd0Xyv2p?wnpH$c+{(p`?K&F0 z8&)k{J1GW~$|vMJL&a{0(daJSWxlDTQ5AYJ%CG^M&e3QZl8U)#G|QJS$;~;w0l6d) zl%=7J|Hw9Ii>mDYP%kU_r?oH= z%i)Fg8_))As@>`$TUC9#CY5hvM~t&sT4_Vf@}s>6OSAZ3Dp5=s2?~0)LstIlT@UFK z+A3rHxagW7v^rINuaS#YOf?oXQjcFgwsjf}*{I^WLUL#WlyM z-6V7rFmc7-mrbSfyX_Fa`^c5eL?`^lQ zHe8CfIIJzmeSmNdb3s}^F%|*lPRcL_b4Shl{W!&}i$b?YI1Nw?SoZcPY1vzaMM1+s-L!b5t1Bz| zeCtO{xw%jfq+OfPVg)_4zArxg?`OHcfR#3$3!g zC*E$cdz+?~P4gjACLpe<%;@Q2)VN3SFLZj0a0kus)Mp<&T7E53QCN1&1~QonzGG%< z(Xq^kMi!}2*CWd)p=;|=n(y~LqUTB@gQr4^UMMQxKUoooM%gR#j7wDPIlY&oR?-3) z)eC8I1+Fz-TZ`F1IF^iw$eBAzohvfntDw?`XnfMHOQqfl@RiTuQSO+T1+--#jjpbTmd7rFZ6`?TAlhu4# zVu8iy)#zfzSFqrLcr3Ujb$fC`EGU!$EV#*aiGiMawV+@T5!HP0b!=x_)%qf&0(-UL zgx1>5GLY@#wDQgADpm%;OKN>@uN7 z4Lm}i9LTn_B2*g+R-D405(~N)HK)OX%ZsV6#4{&Cg#Q?=fexZ=xhezY%yDD?ape0F zt1pGm4Fa=+UY%*|OiAwABhk*xQcxWZ#_hZ5;=82QuSQfE+jFx#K;8NV@v9DQzuSI5go=L3re$2ns2&q5BwjU!8gbhR(U>9 zq`lMHx$G0nH^!2c>L3l~C5=wDK8F}(v86KCw`xrBt+NDMim$+wKm+keIrF3u^`60q zkXwDG1_Rs1X?{7_4y-zB#3`$J4a2wkFio122W%Q91E!B#<8_|Oc;=+Hy>kct69!1# zTlnOp5IPm_lVihOehi}Hll!6hH;?;rpfMvr z15?opImGFrVau|b^?I2O|Fg3v%*(Xx|S*3bd@x&5*M?zf-%qLO8gM%p0H5`QqDz_D#>4dwH`Fl+^6e#2y4hjH|{9x}=uSOGqV4CTe z6;G{%U;K@HMY5>fVS?e>#-M9eI zj`Ew?A_kjcn~D}{G^FJu1FSU}B%1VFf9gy}TnQ`!7Am2);<4a*GP0=^)C@}U1E2Ct3x3JYRo>~@!@B!> zILDrC+FRVwru;VDiP@>Kp6@E}lEyA^zj}p65iOlY@kTYtLTHY#NRPznMn!N357>yB zaRP!XwHQ9yn+kb|gt|p%WvI64h>lgEAv$sg+PmNwq(NhyA3o{OYM9xilOrO_=2LTi zchTU#jg^3{r?sA?yUpYoI^wEfxWpwPLv#9J3X(Zh==$j1GEL&TAkOl7y8OljR_dBg zS(i8%r>jFAR=X@wtu)GkNq0wzHrtTE(x>Sur~evX;J^o&vILZ~13MX0mzJV-Oac*z zb-EfLMc`Fh&=apE^mM&^CTpNZv12oEcw8`o)xrwr7FGss`ggm#W zQ>37>P(sGetI0Le;>k6l>a9Nbjqa-pxVWrhYl$g^Syi04ih-h_;!U3}!~;E&Pkg4h zGjEiJJjPbIx8RDZR4q)s?sDzF))EpXQ?2o-Xi@l2mb4wq5rH#%I3_)8`wMF=(cBK(g<1}bM4Lcr(-s6HE@}n|NHq?T= z&BPqYyQdL{Ti+O$WzO|ak`eu$IS!ydf(6Ctn%~9(;R>*VArBKnN9*eeQ`Qt}({q0A zycer0%lGr+TpI|O{11fYqVe)0@LT>g7XC1vwtklD3B9O17)m?u&g}bpH~6aqJ&)n1OBRLKJZ0CRs_B(f#)ks z1zf|uij{IcUSn!ZpW>&IPNel9-C$m+H4|Xxcke6p89H-Ud4~`GdETm|1KmLqS_*GF zVt1ZqW+5_(69i;T(@9~lbqC=#B%ag|j|YNs^Q#o)O>juL+rxs;A~7=T@WJ_=4*4O` z{Aqm00>S3baeah8j_)gW1UZW^SbPEt{=DdVLegA_Z4-ya_86nUX{r?7hXvjG5cY*T zuFDyN`FbRQZU75Ri-hTsj|G>Wzez zcz-3YscgT4z;cgx11E;c7gN6R`zp`4`VweRP!+dYe3c(V9wA*RDnuR+xtg?fM(F*f zLNLtf4B>5GiToYrf+?EQO_xqcG0@d8w#nyTcGqfxd}FR@0!Pzm(|EE%j+K1-m({dU z>XkD@$!HT2{J4-We#VY#S~ubP7+79ubR%5R+G$>j#?=v2hdm>WPbIPg1{M59>)+ z*XFOB7+>$1E$cD%!G--e@812Y)^VO(ui`wuyi}}sGK@DDWcBiT_o>V49JXfS-yeG> zySooh%tiOS4DET~vG3lNLnmhWS!-K~e*n+#KiK7Y4d~)|eR|SNKWpvr@K;aV^H~FY zs1K*i8kJuSL*?FYcTuVRjzXnAJ!w?V1xpwD;5hg3we;?a$1S#_0on@C*rKp7HG6>`)(I)r^jf!>q~0E92z0V=GqF} zYQxGLw(#M(w!3!qQN^?7o(CaGz#w$nH>YxsK0RrnoAsEn(=3{qX*27d2g=R{Wo&2;h1J)c9hzuD|-4MHb9>6|rT@BZG2)xw+;Hg&VuLtiTid)yS({3c_M{w#J+ zAB%Dh346$p{MZuquJ4?fu(Rfr&3y)tImFjilX~Inq$lZ*7T?}sqn^!y=Z0_R0&U*@ zx#KkWHtsSxo>@K4nht?O;-;R-L}5@pwnO5?V=ypy!tOVtTk@b`^Q7hjvljPbeSC5s zd$QJ$&BvPHKP1i!|6vhUmW)02|CEI$>ZC5Y06*?PLLF5!<>=4Hoqf)N$Dg}!(G#9{ zUe@mX#^NVE`6;7Ip8B+<%YO6xk>coWa&V(&UOzo=49 zIRC76oFCworREKF&Q|$FHNhQ~UlboLuF>Wt=FhgVtq-)X2SB^nL34*Ip0I8I9sup4 zU})b6fcD$L&<+MbTNw=Pn*q>P1Vj5)0JIAoG);s1(Dd5@(4J|~`hq$X0P2D;P~Qmv z^$gcXEj0G&0zmy{7^v?DfLay? z>PP^nrD33c5CH0FVW55(0P3k>pnenpYDpNVqXD2s!$AEw0Mt{$Ks^`$>d9fCei8uc zNnxNK3IMe@4Ag%Ffcgys6*AiXGyqyB7~0PQptT*efU)~n0JJO^+Rp=^DUA_UW`HLA zMF2FVKMI5P%K&J~kmO<#PH6Bv8~{pbmBJeKs{m-qxD*EM*8$L!vDCO=7YuKL!KqG!E5ZY@3pea!pZ3|G6uML2v z1Y=>)HU&UaVzK}dyejGG^K|NgSI6A8gYm~>pL-ga{wrdAP>^FZwY{A5t~8K-WmYSg(8NG z1zY<=17&PWJeeT5&3zUhXYJv;uTLDv9D1g=SQJeL>z(w<)|@+%{X*0hTbr5Ip)bGk z*sK?#<`8WgPlH4MP@iR$2z|JbPR6zPA!#(l z&-Pn6V9&YYXZL)oTzMp|nq@ykCKbzjwE`K-nA($EO*p8XzjG3b?4ADyY#~pwbJC$n zkCyBl=ti|1zZiDOKnOOVW|K26(v7 z68NlJxY-t}W?l{K18|Q;@e1ojsQIyDr?iSa72w84<{02@Kbd2IM<1MHfQNp1Vt^+x zU=?_^y$Oq4o!`N;NSA6v6ARX#+H2^0tY4t!XyS+v406 zzL6&#L-oPMN+R%|U;)$?KG{PvvhrltI^8_ew{9~cLYFlOLif6`>OzGZq+UX+O_~_e&H?vZ|@9%<`(Wk+V-vh zXm0H;1lqd;p!Hk6>(X?405rFJH?w!A3++7t(A)}MNKfAz0L?Ap&FuW^wrxiMG`Efy z0&QmiG`Ex&($n_^Ky#~kA#MBX0BCMOFQjen4}j*@^g^KR3V`O8^+KTC9std)?1kX% z0|C(7;$8@}4+cPU>w9wr%`frI=m_u1!W{u^^GkdI(EcU>nqT4zfcCcm(E2U$b$j}E z0nq#sUqIXL41ngB_yVAPC;*yU;tS!B4+lW=t9$`t{oe;b^Q(LTJ-sUcnqTD$fcB99 zXnvJ10NOtUK=Z470nk1g0L`!R1wgwy0GeOr3!rHTG{4Fh(6)aJXq#K*3(@2s3xL*d zp|30T{}cetFZ2cUbawzWx6l_Nr~e!P&9C(ZwC&>o(EM6o0JM7op!v1F0BCyxp!v1F z0Pg)n05rGO7s79!41ngB`vThbsQ_sGmixNgyEgz@zvaFzv`+^>^UHk!J^f4oG{4*z z0PV8@(E2U+b$fbm05rec7r?!r3xMX9`$DAtUjm@{6~BPC{c8X;zv34FZC?O1zv34F z?eqPig|7HH()Kz(5Bu81TM3D9i`+W$!{P&;;)iuv+`IX5V!rYTXxtevBupE%l-p!yvBk4l)9#Kw zf--A>6MdLr4tf2qQuIC+77z?B3=ds;X035tzf)?D|2`nv-5joi(zzAAQV_ zz41uVy^~&knRWNJ&h-l2uDM?S+SjLrbHQJJt$xeTPMH96(Hg%5e(+aCYcv*h)jSF~ zG>O@)*dj&IHlMmM&pJ_7D`>6pm?=FsrfUI)AvEX9lU{0^L!@mm`kazJe(!9v zi-jTWUQ=F%G>0+iFhiLw#*EE65Np=FJJDyMeAXtQdVsYw#UwgzY5JgrJveqL5+jwJ zKba7;S@(QzpCE==_dL+}J!m4_L-R7XM`55MIo&jiqsS7hOW91h4Chc%4%@hWN|G{b zI&A4V2&Szw_8PANCq ztU2XypDE9*0q*?yiS6D;Y3$u+z5}OB=VI)gb-(YOYmqxT*Gl2GxhD1YxgIzJrDls6 zxRVFYQ<9pw96pTwHGKRVR=`Oa-*ecS-KRbcZ^|{P6AJ@^VW;{sC+3=ox6HNAXHOp{ zeoq?Ll^=V8%;_BQL%QnB&h^n*6sc}G!Hfe~-1X?Hj?OJBPlT#u$%>S7mGhcTu;9c` zvuQ8o_X}_bN5gPsCwO1a1%Zp#WffVC*K&97o9y9y zJf=&>hgB#nj_m@C9RKZ(z*IhIj*=~I$dFzyZ^&P6XFd9ds+0r9U`m|_w326>y-Vc% z7Ju-W$Ydv0sxdv3NbWGo_5QFzUF_fWx5;1Up+F64l25e%)u$1YBT>J1u#ITI>y~Lm*PYfC- zCZzuyF=^0@7;@&8ScMqHNvp!8h><{{^0^)2=T2I+=a#gdQ`8F*K^2{ISKPak?YdM+ zJXPL&JXJ(AvZ#Z3`##_QX83cj=TA_gy!ZSJz^43gxLz_=oK9^Aj_Z4!zP^j^#DpB1 zq24C>xfew)JG(sG@?uNC{-;ryO(GX2FQkZXZ*(+;w4SDrk!vL3!sO*#AV>T??8Gb8 zK@*jHQ6Ub)v6$Yl>yC|x^PO)kgaQ0>R=b3OiWfNi8*fae!Px2oXA+1>G%*_V2#C?3 zhbBgY9-0^qyEG9EIElHG3{L|N7HoMLww_3sf0f3yLZ>-l5$mQjx_i8z@i`0$sl2N5 zvXhGQt!~hiKP&|^9RYO$Q)a5sBf!pjly-esM{G6KL$qy1memkS~bdeth zEYO~X}%4kq1cH=zsDk-^>p8QV*xbYPy26z${ za8ZeA`9)64FGdJQymPL-tHAT1g!Pl&LZr@zD@W_S}v&g<$@W!fg>(gMl^~vvLnlX0A=?Cp) z`XYLuU&b3Bc@_ZeO99Y) z7uweXp!JJ9>q0va0Igr-Sr^*Z1EBSbJnKUH_x{kz$g>YrgCt5btwt34r?F;O- z<{SN6)9e>1*@bp60Gj958RIUy(7qV}>yjv~LAK^ZXhB?b`v+`sGIH_ViEyw0^l! zy3oE80IgqclrFUU`$H@Fb=G6l;Zxhy?ONGu>F(`gn9jO|Tl$Qm`(}#T>jv0yS{&0~ zO>z$~-*!iKSrQC?sT>&YvRH6-{gPLNxhO{Pc-5uAxce53z@vCPblzK$0z(cHmja_$ zfs&= zxoVoL^#NE26pMubWWX;>=JU(*rEYe{BrSK8cZVs;89NFzJGjv|WPutYz^)4V?y@K? zqD|e?+~tkxx_bSgoD_N-@TOfwjg8*#1viujM-M>z8DW8LT>r&UjfI&jf)(i)h4id4 z#c$l?Bv*5i>crgTt2%a6D42$H`gCkXI$HSf?TFygho5G3ktZ#E_~y47mD|!>T6nhP zW77hGpjD|J;K{P+ES;mvhfWXSBxNB4=kfsFT02a)x-4qy)LWJxR6!&O1F5hSpf2;L za9gmiJMX!1AaTc|dekOkqESCm(A(sA0vtX)1TgpXfauVV06OzEtIdpdTRNG9c6U6n zAzc`ygHtgY8&B)-WzL2!>1+OLbnu{whZgK?^$t&|t=_#YIe|S`&Z&}^<7=rGZil6t z5OYcn{Qb9TAkk#%D6Q)^nd)aMccJ|_09rp&xeM*V{?JO($rdU$}7Kb>^v!twq7g%-#SM`Oa6nQ5G5?(}my6#W2N`xgdCITMeb=u-?6=soq1g zsrU17oNDEPfy$jWEPX$i?~YpEuO?&qr!#^<5=R1ao!B|h9L}s^kCVhZ)ysy_S)74< zAn8;%mRn~w1A^m?+cCK1gm3mT2=iK?uq!trQNW$RAW&L?u$R!oIzPF*XKd7Y!{t3d zbS|^I*U9A?5a%^oyL65~zpZNQOO)if+s+j?wi8 z2-|qO&cSozD<2_!E|OA^txt9)upl2YIRvubY~ek&3>!Ae<_GM#8-2Q=zhXresESjI zEiK{GU8UYkGI%Uyi+CuC8Ps>u?WYz@4OQxcj|+3{W;)gzQWIPn?(3 z*QYllBzGiUO7i&Pc#~F;&%ZF)$nW?ECnhFX>zm+OZ2mASQ_@q%v_i%GL;3~rNB#W~ z|NO9iH*?3DiT04g047_y zdL)S>M!p(SD}>E^_HaGFlW&EMRz6RttMhb`p0e6a=>qFkLF#3m)VKGLn(j^_HTOnp zI&GxpeiEtoTJO4~-WTV|vxjSH`Q8{h7(J-fOu0e&!K)TDpg)z?BcOR%bU4-*OVXop zTV2&FgAirPLu^PPq?17Rssu1k+SMlei`C(_Y4;KvLj`)O`RBk%-T)oa?A83f;&wP@ zIt0zD`8_Hca&I)C$z{U>SzV?NepRuDlyDx)5Q-XLvffUzp>{*xT7zVMT8B+3=<~Y! z+$aZ%^2*w-p=zJln`wRs8Mz;a6U_YV;fnfE$s7KP)v>arvZ#d?UKk)2sLSU=#lWTp zOyP8!%o(T0>Jn@1;`GEuwFF)_P8aOyIUP$IPDfbgfYTXj#p{(yrCO<0t5JcwHXK}X zcOxfyhRih$=2kZ@P*^`6cP7$^1jHX({2Gp0t~J z4apwxI0nP@<1p;7`~E-kl8wMwD?w)$yM%2O=v74}rU65rwe*Q4{7h#;D_|Hk2mpi^kEf3{GPSY~(NWGh) zYWb@u|FG!L(tyJwHypu~yo6RR2!rP0nT-e2Xm)WtWFA>PQi%ozV(H!dlY%;8!&pAt zu8v2jT$r<(@7IGftU7xDVVm%2rK@A*UoaJ`hPGwH=atJV>y2whqbUF8CvSf{rbek& zd${JH@r4PcX!jzq=aTe=QVABj6~Hsr8AS4Me4Nl4nK1==g!V*ybM?%8GvfG$EFwM9 zX+q2};RM{|*h$(nLR`KUCdW>?XO?3x=o%}C671m{#>*4YhFH-?KJaV?W~s|1Q8fPG zXI}UIx4iDQfA~rC`;<ao?mLVblJ&zO;Cd5}cIXw%V#L^j7O)DzKW`OLIA!_kIZ zHvb7}v$BUaP1CVmxgpfi$&IYr6G@Y3rLoc3Bt62z^tN|E>#^4-4{7eMFCA=*W;nn~ zB=S%g?;YB(<}+sNXJVi+x`}=`HQS6Cw0$1t-$=wDSC1$eTwP#LZ zrWqYei7~-)0%3yXE>AEtI*>Lry35H!V?Ezg>Q5%tGPvsbZ7MPwKF$Yabf)?7V`LME z^gnj}=c{Q*mdmD*y_{&i!yG4OVqEvW4F=#I--cONJNx{|fr~8HTu|S}1dzL#qii%vz@!}01UK?XK$#=KQF3YU z!4l?0D^i1NUiV2c%}8!joX2QF$4p>5<|*xdy^XK2gv$`~VU`S>)3`U7nQ9KxTt(Aj zY#tZQoaS2-HFRg9c6H1pVlCU2Xx_FN?*$`S;r8!J`f0-*iPphxOOtectZBS_ z+&H@ukvWky>)Q}Z7-CH-%tGZV%D*jfsM=fymMLGPx2R9v7yzHKpGO0Y)v3~PR*Y-Q ziwU)Np4l8B5rbjT;KsnbW}3m212sbAe&IYz6;SJNY3mb?-r#J$&7>5qj1?c16J?pl zDNal|#|S!>AB{g{h`AADd8a0{)pm3=%V$7$9a6VPs%e^5qDrHgl%()G4djA5eoi*u z<94ZLWNy-9&N-Vti-8?;Ci7LJsLULMpRDGn4?E}`>3ruC+A)Zer7G&+iDX;Hc%sR> zqXq+Bq$?ZnzP;~NKe_+*w|!Uxo|O(Tz4R1l$9#{|*oe#5B9e~6<@vysyq##oEC4LC z@AHAxZG;@9OegqSrys;Dro?J6e6CNC+r|8T7g>IRl`N*@YD(zBbFx@+dj91zl zbV_n?1;x-Q_P(@O`$UXkmKPFC1sL@!QozxQNx~~mWI;n6M}}i9SD9zPWY@mCdPTaj zkX&P~QfSaxk_h5hf*weGhd7~i(uR=N5*muNobapj(=LK zq_>wvPjBlW`cM+%Og0fxPJS=4GLlDlG$LQQHw5Som%_pz-( zy{#2G3`79g`Xv9XBk`qHvJ?`FZy@otj>J&flNhRUt*y`3@GCt~70OUJ?ZNsR$xY@ig(|813F0Ioy5&A>Co5OCFJ1IYwV2jY^G+3mLSJdMaf4bJf^`SIg%3&ZL1NP>8DGc|u8l*)U2;5^TnH4soz{6Ul zR;xww55br1VP-%>8uS_G*Lo9et$JnmZv0=13q`fbC516pF{P$vn42lehTZ7GAg0#Y zYQVh>6jfrwh}+rJtEmPHO_d+kxG|_n7iuTJgMnN;+A~;45VXX1hjw*ol^FlY;CM`v zX&U8!Q+k0j+xHc>Q$30OxB&;caf59T^a*ad5RVMMD5>4DB#=%Vvpxb~FHfX<5S1j~ zjYA?u!Zy=>Q+1hbh65txo+4h_pk^uvO|&dR%D{dpUKN^N$p$1|?1A&*#WuInL=Xpg zYR359wBw7$8NFpoIOU3f#T&JnhTTbDWXT4ctz^(A=QoI0W6BlZLi{k-n5K#gG2>-X*otqgokqUBQn}z`Uj!P3)vLMRtgUU+ z3lt=~27lI9Be`B6=L`ki*`{66sjm--HU0BOPUB;>S-# z3;2WM*~T61G#lLEhbiZ{6%j)JftDw%&c(o-#Xh2g*w3j{ fG|JCiU|1)roTxI8+ zGd$u8=AF|z!(X0x*8FoGcQykycFNgW(vhq*&o141QyY_2MxKE4Iqh^R)eirw=}*1G z!UMlU9ah2(Si1z)#y)S|7B@31Kd&q&Q!IE5cwLwm8>K2md*6Lv(ggei2EhfY4bp1KgJ!PUs6=#%HFi&=^ zU{TDsLe5S3#;pI$(cE)_oBVSoYJebg$)kkX8uwTN{vJn2O-+`!NWYqQ{3A+SXZn}vl(Q7{mSm=Qpmjbo zA@l%EM`cDo<3A}x>26=SKEv{oMOqlK(vs%!MwEJ#Iq%sn)qgxLc*@oyJJGTzGOdi= z>S8Wz)mI}}mPj9IX>zNroN8(E7ifp2lI@w7CQYe_LHlKYXzHh}boL2yZ|V=uo#WiM8KvF&vHm=z&k% za_gHu`u2_M8{9qcjkkU9p?AFDr=N`&q{iR(&ClO=zW0fH?e6;%`ycr7M?QV~zuDcFx4!jP-}vN@H~igt0XguQU9Z@6-yeew#hI^Gn-5|N8%U?|Uz6oULwc+@$`cbrWAK6HAy^;X8e(OCOzC-NTwUrj3|Fn(t7p~LKzpXLgp1Z*ZNS^-CTPL)q>^Y z^$A7B!VdTg<{G$~Z%ljVpO^F!X|3$&G-bP9KlQ!C)0A!BJn6l2#6g4x!93%~zVWdi zANtWp-~8X6zp&9;{^R?<^^SYK^~qm6k@5vS@4xb6M_&8kfB5MacC0_{!7q02`}~(b z^TYSOOAmS(#-v)#J=516CiuoM7-fYL^5#FY5T}RqcextZt?c(D;BJKP@I;D{|F_N< zB(BRk)7YaBwVA%rbl(Pw4t9m+r$uYzn-}}`dU*@>Ow@@GpILTE#5<&0QZk|xw2O~Sy`f-{C}Zcamb-{S?5gdg5% zo)KZO`)Yka>nrL-XzS-{#nrC|imSWJt5?<=yN6ubmgO#M3no^ho#gP7MHA8BdR||Z ze-!&R^a@bl((a)ZZiMHE2-dF3nPuO;~A4h*oxOgr&#W#&-GnODlM5NTd1lGFM6 zDg#qzNWh^O;gzzSCd&6hr)0?Sp1m(GvJ^t=Ab}3d@!JD@qq(u7>BsWXh zaK)P;h_y$YxbW=j1$%atIg}>=>r`9&3Dz;Rb&7;4Sc;Z2C8Jx4>mi5|=uA<)>$ZGu zHl+diGOnr@&hSdLbsrP>Kbi6AS9pqFWm@pn)>nDDdd8<;x4R`OpPFH{s}i~BO)Zu2gwCaD_6lqV{mBwd_dzg7q1-j7q<*HTBy`MBCRk94F`TBImfLc9%ZGdZqDej#Q#H$ zR-Oxbv=&3>$|Z~(W{~64xjPs0J6CH-xG`Z9KcZ2=3D=TvyYOZkSB%z@Eb7!oLi_Ic zwIoHXnPQUxG2JQ>UQ@9eE_}r|*oX>41G`*6(x}RPxk4fIa$hbW!3ur>3EK25AX&5^ zpa&GOT<87#e2|y4_7G-@Y1r19e;&K_o+v;6a_qh&kMXm8=o=z?& zl-t1}@TnJ0r6|{ua1Z>dm8*cdYx|$#fGeH>EdL0BAo(-oG_2*%%ny8KkB<|t=KG3v@j9X2aw*mr z+KG_vX)__A(HgNDmTHX}h0*mdUFD`3G*9adACcDoNaL!7L{!m2+AQpdzO;Qvu>~?J zxBU}nSQcR`)v|%-nqiR*@mX)1c#ZIm3JXZ|)y3e&Ylf3vWIqMyPnj9nhd=))BKyfb z$Sy1L$bPbr{U(CT^CvlEKPBJ##V)ds6z!S@*(InDWWNbnqMkm;-tdL#ko_hcw%s<( zfNYcvifj=-*{b~D+ZcWZxn87Q$%u&UMwY19Ze+!C6}yqoBRD+G*=uYYjrpFtp1sLW zw1S?!$xp~DLR2q^@*UfXJO#uPh`mQtdcSx=QH^ayUX4B&FhTjF$u(_4??#iW+k-h4%xJQ_Q(fJjpS5(ovh%pruryg8N82=J zG`X~MrsHckdlBQ@;Hsxb(Z=!kma7@-_`ZdBAW8b~s)gB^`TEN{jfI_g1lsU&3zD%M zoXun5F`Jj2!5qsCnV8fS_kAsEEJUKJ?Ub@qQo_od+RfL`Q{-vZ)YeyPdkO@k2?-n2 zFUq$8@W-ucH`!;9W(}4j6zrbrZKk&pO92>M)jm5L(1!q4OHf0!Bs;r+k!JIOfy5b% ziWVzItkoUO7DujJn2qFnw_=O9-6mNpzpuQbY5C#uu9*?c;2;SV!;mhOT5D!Th7t6s z+Yga1U!4zKNh|9b8&l78ex$QuBxW=OC3UQcRf^U-{+}^xXAmU|BD2AKL?{8^AU*^k zpSupa?WMMum|q}m3^sUwIhv23iX0~*Qsqj9EPgH@PBr!qx&;_C)}Z^UQ&qr_eRxJz zg%*Qs#spetp49!2(dxNC;*FKCQB7oiTsBYGKbyNj#&Nw(yv;e>*pd!FYOC5Kuta5b zyOj-U*?tiZ7u%a>LeE;eA|A?%*^q=Ef=O>96xfE1j14X_bQnYAm1Qu%(rIeR&N1gau^4k} zF=zF8hQaxsIgLq;IR`Uh+!kdm7;6ONpH(vGyh$8X?cpGS6hHxov(M$nf+fVbkTg4& zKL$I^&S8H+cGhqz#+6#JVN+Z9qO1zfR(p8Xbr^1wDs-9uqZ2mmF#TsO;s$a zfk;xoxTs#6OjTE5wdDV_{yFUbGK#=5;7ckpt1|4%rl~larlNseYKz_IGG;IVDi|~H z3YH3&fAm~s65yfPF9Rx-l_0Z)r`OYhbGa*x7G5-?#a>)%dq%)F`DVTC0!%8m*s@FfllE2RN|t?7IxG4b3T&H3P15Rm3=@!GU_?PA23&05>o7I|H5GcVIt1CcX0w?SMm3zYuE<>obzuk}Cpxqe|T1*>LuF#%U}m%y3cDR$mE1 zwDnjd-=bV$d>o*f6x9_Lkx@fz0g30j^3h4t8aPrzWk+))WLt9pHnh39P9j$rvn?!N zo(kfB&3fD}=b2|cOcqiX{kl=c$D({6KdpZdWfR5y5WdU|oke=$MQgpJLN{gT*b|US zUPMt;6jGFxyCPLKzDajIEivIdO30&w6p0?@mL4>(((B%KQV1D>H-e*XwN0w)x%@*IBRHv75pl^pT$_~HX_c|HoW%(Z z6&Bbz#E4Xp9SAcvu^ad?w+CZ|M8q+0-N*c+PI?TRw2OT27aeKK8PIH9_3SGZ|Dmp}FAt&#m}?ULhOw65fL{RR5-F6mDu z_;j4#Wzpixtalh}khRiDE?;9LW2Ao)-}iJ>eoY(h*=8Ut_*6M>sm4QMl5S@EvDHTC zVi|}SUhZ*wx#g$?^~QZq%BNA?_beM(3j8!f$>TsvV42pDYBDA&u{1~63>}MPc*>nx zAyQU@KaUn+clb=*4C1mB%}{_&CSBtjY^Qqi9C}4Jt^l%@aS}9VvCw4OI(u@SCyIaM zjpfCzf<)5}3M>RzYio=@OVW%(2`IGCMWRY+t(w#742l9Qo8lNEDm#zcv6y3&7MQ;$ zQJ8eQ0_s?jD`NCxPyt(3B{zPpR`V74i!`Ggz+F_uVB^25bd|2tED@V;0>ch>jiyAI z#zL$*3**dcyrW!DpuzNbOV~mZc*-xlt~-|dFsUKGTv@y(6f?^ZmDLF8C&hX4rd!*t zx4(kCvzl-ahWGKOD zeD+xtT4k^fve;k+J?VpvZc`&hL4_83ir~3ol|+QmDhc-dtkMVduXoe-S=9Ts*sXq) znb9&W_aB#3MTcpqo3K?8#ORtKvQZAzRDJ<>8~#$2FX!sJkW(6@mz+uzGiqfBbg@1w z8ef5)m0ob`MucL{CZke+lpK2JEKo9sEU;(CEb2XpMA)w9kVRBLyhH^F+ktne-i)j7 zL4`}eIJa(1w3|JsyK=V@3M>}|9Qx;)Ave6|G-1K&JtZvkiIXkxALZW%&ulWxkL^-l zXAWzfOXm8kS)g?e>%H%Nr>EZAPLn>pW9RAV?=BPK$A0{{^WCSXzuVq*dg|SNn)vy^ zY3lFB(^T*N)5KT1-aiYznzh2e*R;}Oqwr^=5a!UD*z;Z?@RY{UIUIg=&&HaV!+N)x zWgDoDXU#@;eLy&VOxS4KX+q#(W1~O>&LQFUou={o&}p*IHqJ&(%psn4&W64lpUS+` z=9;!?AKyVlNL;yl;>G@aYPiD(PTB-U(aKj_>T4%7C^>JsPv*7XPE?o44C!UwJ zJHN5`Nl$*t=#r;CZRxV#Jb(Gqf9n|+JoCa8D}VciE4S;q@Fy4L~0PW&nXb%QJyC@jiPXeI*b}-%^3V^mUxNZLt0BuDu zw4Vk*yD%8q&jO%5GZ@;j0B9EkL;HCEv}XiE`$Yh>-wKBI%K&Ik4~F(|0JP=7(0&yF z?fhV9zYc)*o59c?34pdN7}^BO6aB`8rNPi%5diIJ!O&hA0PU&4&~6EUw!}dT7*96@ zKpPEi+p7YgJtY|0tpU)U91QK%0nnZl3~gfoG(zP9ZKOX7fc6`~&|VV&trHCGwE@uD z!O%7ZKw~*F5O1#wfJUyAKxls+0F6v5fzVzb0FBHnf)*gBn**Sc*Ci0z8v>va2^iSZ zHwHi>jZ9$M-V^|hBs76-+Y$hcMesmqZw`P)!ka*7ZwY`#&YVDKZw-J(vYkL^TLYkx zvL_JQ+XA2wKpY6|F9M*EBPbBs+XJAHVJHyVZ2{1Txe0{!mjTdhi($}A{2c+%NQ@NN zw!aF1Mp~snXxjpy5sDoM?VSP8Trdf-3Vl5o?+SoMf~df@y*mIJ8KwfEZ4ZFP)`dW5 z?+JiL$a^5P_Xa>C9yJi!jsR$c;RQn5832v2%s^=G3xGxxR3Nm!4uD1=Rv@(Z2S6hn zED+kR{?LGBkxPvo$3@^M{-&*Z%5B;@yUb#(IfalwoZA7;bH#cnzRG$16pn0xNXdBW z4lF$O*KXO1*bft5h4JarOI=V@|{Z}K<^3dx#_ z6*PbT>0w)f%s}Y}pup*l$GLkpSeW%n)}B5QFtY}@<*{2D+j^Ros5hOaC8`alDfHp+ zY3lFYrz!Md*K9&E=Wt1G*J+A-JT{vp$hpw7KJM{|tFO!P&J2A{m^L$62G&L3Y|l8?mbQ7dU!VMYiFA)1(XgtpTo{SJR5WGLy0@c zzMFiDly;MoZ+(!-+ldZx*>5wI?m;fLc`hcRhy7D4?Vtg7kc)P7O`Cj+GaWz3)}-D1 zX+2p@_sX4z7JsLFwpz{AQu`YhXFgcCv90S zQf{$b&-RTKDYta*HlN!SzK8|1h7Eq~(wU03`TvDBm#OSTXcNoh=z-;r4K(gflB&xM z$Nol_qmK>tqIj7e0hX~{q3pPVaAb&#E$t}Ru2Zj#So!Mc3G%krcD z_jQ08QSyk@8Cw{w@Y3s6?GnsNr_MBl#M4jZeJ0dh?Cr6Wcd`;tjQ%*x<;%&0?#mwlZ3uKo^0Wz&!TyW+H6fWx1ZdBhd<#Onpo;oHiJ=C?(`~l-_>#FXI&ScHmn*@ zrzr9xdz^`%ls-lev~&vEM&j8vZPQ6KO%2lq&&HFDW}uWUvhh`O_D0|1(3(C%#u)P~+AG%jy{KnZ`pVLk6##!Tm!&8b4!uEeD z-xdTbJ2<&)Y7*#8|EfK#lafHcK}9|Z^cJp_`f|I zjkdSl_irkhIZS=l05|plxN|1&`2Dnq4X4`JsNJUczS(Rle#N_*AFzhI4UgJ$D&IHx z6eO)~9M;&UZ&V^ke($8zMbT*k%|>O4igc@Pf22#d%5H0yZq+td!=T@jIGa+RHlkVE zvm>R|Nr@`J>QXyuy8 ztl8|&K5S+dsFIG#0{wUrSCpqgmSB-FchXp_oB$e#ZAjKGc6g)(o1ty<@6(MJSjl2a zuBK!%Yu=3z7JG5o=d2`B;!bSDE^m?=p(9mW+K5!(6SQi)XB0iS53%0KADM}8mNI>4 z|3A685@#lAz;RlqfR; zuUwMZd8bRcbEq4&H!y{HxRO%l4JqhzC!Mmb91}T3*nRhb&oOf=NGGApG?UQQlf|J; zq6@GM(hGaoz8hPSjuyuxD%E<|y2cC_+Nvems8kf9VUp@+QYl$jmAO#&0KrE-{>(by)J z4EY^M_+%~DwPh9}iLW)U=)fkg<4N+Q{2WCG7Pt;nz^uol%?K*+`4XSk$WF_%923fV z!MS}pLJ39q;fk9`d4gNI=5BfcYAFGh8fm*WU;@?v5$Kq^Ct8H6tqLfNOigm*{P(MZv!kP>S1^t)t&Vufon1r{5}{EEK->u^$_PUN$wPR_4kofs>=X%y#!M-0ONO(=xv*SUV92HE z`9>n-_{Ie0IZj}Zo04zzhT|Ja1~)x?1G~<^HcuhXrs&V$%NWn}8s8a2jK#+oIVv@1 zq}NU~pQ$U$kt+c{*?55HQhoB(#m}*iX^zNFb7FpIj$Ao3N2#V&0Pp4(s~)B7>6Y4S z)ZUx8Up&O_Hy~d{kLK&km_gMw#B1^^7Kn4XVGRH~M{K&jpvgCI2GmPGv)!o(d zTQ_7icbVO~VFQ#TgQe0Kabo7bkU#vJ-@aLduflp5IJg8_$WNnSAA0lhRX4;^#hB$ee3UA8bi}C0WIwK@5<`tea5XYN^ z*<_42Ap3aq`?ueC6IUY(JE^iDqp&BoeE&fD0-@PmKA&D!3bdiVUFk%p<}Pl&X*|1? z7qX2T$irAZt@b>f^uWJy^Gy)Hs!!7m!YAKnwGHAY#|OQqH%r5HVJlDPHuPVH9rX->gvm2BM5_RY*{ zw;B_=7u@@|@{l~}4bt%1@!#{ZDrY~8$D~Z=+gqVNW1>b92E>Ngp`LzRZ zpBiV6!ai`n{+sBe`eIyCJx;FoDjDl4^1cmasr*wzG<6);6<5{`+OE-vayXGLD8oLU zJig6_xbIYN!gw56s1H;o0y$P8`!A)+aBJTWXTx+I!Vf!KxW>0$KWLaBaixPVUgSmK z3N4lKXTAEyPBK1m%jX~YVErb(*>h~)i~kVrL!rt4w!Q=9al_rjOV4_BmfpA{-}K8Z zWLRtDe|773BeHq}zLEd(-(THWoxkDpA78DMgG03GP;_1Xc=$X&@SY8S`eI)B^iTgi ze(|afN3}QgFl&(InfGr0%jCtR@a4zcg4vKj>yAQmAPSVZ3Ef%7e6wr(P;~S7<8PvA z0=j+&U))F)e7P!X*i#y6A^;%ufFFdz+VAg>nM2Vl#-9bNkKeX_{f#?Tkt;3T(QZiH z=|F%+>svKR;ZS}tDHroc(8e(H4-)ih9&s>1Q#txaD9}|?{4s>)@4orN1cl%G<_~+{ z{M%%;cy1`?qCskJ4r|rFYz`>f=#2^QF~Im zN;cRS0t#a&!TP=_tX2?Rj4hCOP1okb1~ho+<@JMGEN1f1bD4wiMV2{0g*ajuwM zS{_SxIb@|9Q&Q3u9#v`H?mu9Nz&2F849e$cUq}ATf1`J+&W|~8QiC_ro$o74G`_0j zUwTTIFH&-EPYG(6lF#&%n3l-*_LMM5--a{KE6C93w^6o@t=dAn!#{%umXo+<4Gi-lZ?a=-v@in4biKW|7zcEwn6Z zT@?KxW|X+2EE~Ki`X4-vSU=!A_6w71^=i&x-|m;C+ zUFn!G%TZ^({EQMF$f7?2CdJzTMqjQ-amY~mwQh>Kuj;B@H=Hm zVkHx|f2&dy0c7IiUq1gOZ45x!eU>d$Gbb>wd6br3x#h%N`^Y=L{p$}ut?~c4 ze3)o4odoE7!W}K+bW$iL&83-zCbnX9BP$Q*=6uEZ4qm4KtD`I%AFjs@pPd*xHQ#yP z9@EPS4CHLo0hIE9Qr7Eii(Nd{gqT?sjI9~EuAB!~S4!-uU#5mlr_*a)pgMK|L{~st z8+)Yt&x!{}(kQ7Zmwc0q@~sEz9Q~r!kQQ}tZD+V>Sw{{G z#n8k-ARO4CftS*@k_qcHDQvJh>YNdDknF|0Lgw=btIAw4B$nlSjx14XW8k)aQR{8P zl^IMM`{dTAw^3P~D{!Z-yC zK^-#vi}!fNuPfsC1796ZzmtvuHyn1sg__^N_XT2cjWIvacjRMsv!y|$Bj*(@^>Z4C z7(z#LwC=CF`I~zmN|ZPND*6Ji3`kcRS5POv!(wI2&G&xwo+y7>{t!PdYdxnS0n;^| z#4rfWeP5BBYe`McG@-zyTn8kxMZ8N)^~`LU>>NT7+Y>Fu?ga!t_=x-!$HCpDDnHA# z4oaGF0Sf88c&TFvd#CnfI%Rl}l*S*0 z6`X1-C|VDYpL>CN!FM_^o1Xz396A}RQ-jocSKf!oZ&up&LBt%(x`ZcO9h3)=F5wR^ zy0r6zU6P7o9iZrtsf0FFOBK+F$eb=Z_Kj^%6-&08RU2=t$2DohqmeC7xSBzqhV9HL zEr$~nj6<}J`0Qf(T0l8WU&EC!?fmyL30?#kVOKa;vy|u>MC+2Z3UC8)SVQchY(Yo( zQQ;yX&rTCHAus9xqHv)~j~FhlIUX=fKZy!0bOJP*hCGfqa^%vRrLN^aA%K^%dPJamf=) z4NME{1ko*MIWC1moT}3O_@8Q^X`qw9S@KZGI+siTj0nc0K>ePK4O$@WH9+}EciO8v z!FIisy@7b;_tHX#41VB(x$kvSc9)r>6qB-!OA0lyL?b$cib1&)wx$qqleKXY*XTWL zF|)O#A$&hnj8^aIrtj4+N?Mu)+$H9yzA)xFAu&f+<&$Y?ibo=8Co3S6gArO#B4)El zQ=WL}8&^$Q7BHncn-u{@oNr>2I^8@%6<#a14h}TDu>=QE3X8O0p~h=s8G?GPXC0qm z0|!4S0D!WF`>R)L)O5OAjd%IVnH-yGr$Nyl=pb(|^3J#L&Qg-`6MLdb^|p6vG`DaH zvt}u>)dPMl=;e1^-<>6CKxwNM6}`P^D_OMO)_$#VLLl7l#*h2e6||iH-nyQMNwCi8 z1*U17+sTajwNvW&b*I$PU_5R-U3*b9Ptuh4oJ%)i1wH4|4O;={*wxp#qwJcwInsKe zlponab($Ycg2`c%66W4798~JHgX)^OdFgrKq6jxiqxB$@M%T{|VN$A}nq=BQDHcYz zRv}22>p^ z1mc&wV;Ow0823fu=0(vmemKI2X&vZlH?ZC7umeoSs|U?bF-HrM zrq&ag_PeK5v=7!A=ObJ$7{Q`XbZx;1u^X|X{BE-{q)Kf7xSm6v!HF%J%Z3v_X^jUd zK;Q5|#71WvP);!lPnGAH-+G!MTo@)T?Y;5;+e#kINb;gY-lhsyXPc?!nkE%hn(J#fBQ|pHj9}Q0&`vyO7@F!}r_S)6RXJVrmWe$KLYk3qJg&~i17BK_vo*dp zqL0wZ2H=1@JM$OwMrZy?huWFH95B2ttE{y*-I>3#iksfwif$?}V~i`01Mc|M zaeSQCSoFHu$RA>+%IZ}9pnjQn{7}EL`1moT#H}CcSaHr+5u%8#I65Ho*xNvi*Zy&y zFetrLNb0$5sON0}DI8fNF!Kk0MVyhQvy00DRMYsY7(ecq*iF!a`C>J~Vse@uLzya= zcGOsm<7;S!Q~ThC`EtHNEsMbltI184wRO)_*p=Hdr7c|3F^5A~Qcd#VzlM|I5kMj< zSe@f##p{1hbk#zs*)$@gkj~iP<8WbU@&!gBw@~}^Xn;k5_L=_OjB4SY+p{yr>EXoD z^KRMDJ`-Fy5`cJPz^eO^-$eHsp+u@S(&*bAMVU3u;Qf13mJ06>IvKc6lCQ#0XtIQmsn(>Kxyh$63Nj#QF04%ODmECF^d$ zm&{TJCzoeLe8^mlS7Q+Jn!;D|UkYx*$@6%?{zKQPJE7j1QPFwuRH#EeYdW7(lM_Zf zO?j!@smay3og!CYqJbdyV4|6wxucV`BXCi{GA!|dwr}_1q+a4=lK38v6O>-tB-P<% zcoJTai%Rc;8w-NMPEFVuXgH*>v^5Pr(n7lBnJ42IVEzOV!8rx zh}X~uI3xFRV4 zj_936dOS{in3Hglc5zbCI9U8M+D(?8YKapqPff)M){dly*USqUfRiC`(#sU)+MU0n zaO}=kk2_5UkW{n0iYzS1Cku<=mBz~%=PWE{g=S%C0)&MX^J5kkQ`mJ`BBKZ@nk~kg zW?{+pS_>yc&cc#S<}56{?e=2awXpcc4k)&7)?(#}^DZ|JyDY5=mR90aeN^DD_?5L) zkNy9WN*t%fP4912H&w*MSz8F2({g4pU4~mNhM%0lm3V{8G!zDx#meb13bDt8lC_20 z-!gRcfLCoReYSEz7+_hfynu=jwY^s-NK=`mH zLwv7_K>?fIoleEz-9Apmz+D3ARSYJt-8mJ*>Vn-Jr(&#jLF0=n6z*;YwZwbvO%b)?lT1gXO42&3}Y!u7dn_+`(YHkSB)Dhg(y|QcsVG8Tqz4L zN~qc-kFyvVaR?FLO%){wDN*7z9eF9OEA=8%s8BCbYlV8L(z)YANnQnF25L-QT+sL9 zBeQ^QW(LpO6b$bA@j&Amd{ANzSr)jW%))R}H=EM&vYm{|(5817~a1WX{GUDs%C|g5QSem`Yi2$A+)ngDkhc3wz2#s>S_?XLA2&aK@jY zH(L7!bV9mqe(T=1K3`5`wQtK>&L3UThSm=U8fzvAV!3Cp%4k<{a`rjZU&G7z|5Nw& z(Ux9if#>^i?!D*UbMLKFNhMUO3VF|=#Bv~Z^%`0j8l8G;kuL%!+AM~#U2B*%&giO3 zGgio?{evb2M2QkHwn3v}8zsFGXTq#>4=Oro4HDaoL%Y%to2Y3M>3|t0+ED|>Hg@Ls zd-i_c^PXF`l7Kj?n?(Xz%qr1D!yK#4S zOZOd>WUu6$f!L4A*mKyosY|l~oCCgj76fc0olkzDBIuEZvzCC)T8XtZC5GqL@VCrX zUm74Sh+Ip!;cto{>S~%)yk4BK>6zlVk#?Q2Il2}Uk25y!Ev^9VLc(Z~rPyQma`ZUs z@Fb$_X`8YY=80$ga^5R=Mu#|K(=kGb0v`(xO!Mq<-2a0!HuLbwgMBxuc$~4h>S)J= zc6BeLGd39xJ{D!;0abT?S))PYE(fD8IR4T)7jP#zbHhQk79YU<>EqOdKzWZtQf`pz~`zX8CpL`qlbqrNPqREGA_+JH&U-bb&}R zQeRcQjVHH%)`|U2u6}|EeUo3ymA}6F?znV6zpEQl1RhV3NH33{vN`DLSoOLbiRAM5 zTx#XwmB{zh6gAu1#~!r}D(o7)FE=`<*H4a}g8cBCML3v>j)A?!Whp-cLR@}%)TSD| z?U+VJ3WLZmrxu!e=U$CIkQx;xyiUUj?w~07Hol*v@k7E_bBD6u)Q9IA`bQIRzMZG5 zDZ=>HxC}VmWNmyyo89nwnDXY)49oVW@>Ki8W1kQnwta7STTud(z>p#^+nhtSky*;b z(M>0}t?>tdsDu~7d|HK`n&qhnUV`FCKt0bTA>C-Ez4_mP>hFz&jj5$bassaVot9(O zcM=T5<(rxct+lNnPd=p@M$LF?Kw*F3S%DYro#6HKcg?Q24QyO9N6F51{{kshDbPj2 zhQH@8Gj@A`_hLj?l#FS<`SsNqv?EnKx#g?5cr}N8Q#(!3eWNMGi#HGN!t9+PfZ(ln``LuiEQrq`f;mqX$%Bw4N1T z-CH&3IhQ_wfm#IhOd%02O0EFFdIvjP;muz!(ULLiZJ9!p&aB z5MOq(eCPaYuHIUUr_I-NFXzXamo>+}833C^b8PmqNSvZpa~2UE&DW5B9=%O|&rqNQ z6Gf6sUPVE$p{`%P1tFt=#xV1!^V>}*(rKBSHpGOkr$i^ow{d!$NUgtjo>o!wSn$!s zMRUp47+_Z1Fp)7^U8{ph5bJ&KJalm9r1=R6`|UID1>pA=jzIP{zG?6JE2{ffyh3qVNh-(Z)(RR-Nm!}tDM?}E zTrf7iZp=b<;*3jfQ+WsmYlfgTC5x=kx5`1R|6MumALzS2p zj3c8=(Y}KIz63mu&b*S!*MKEz3b+wOc?3GboC`i1H8w|RDOJ==e{GDFQ&1Kq@C@35 zzc-Zg4VA_yJ-fh1H=>EbzA!BIA1$yxnY-C}{C5!#4KcIm2iud0#2RcLzXjAc7y9b**^8;`m8yXlNwWh{!7-6f@7dTMqwny`J==h@QHu94sQwzO9gg58o+C9JhP+wsl zj@@D2?2qwSQXgbzWKg@X3GNZ&JO7H%SGSwyXIXXbS9Q`NGIO3zoF zJYTU$6ir+pXq*9u@O-i6K+l){`|x~C^n9&f6D5=9i<05_S`W{c|q0X@{plQ&fK&Qd=PAT1Z+vjn*T28NV_y9Tu8va zz4QC;EAXz?(+`jzi^uhE0sY_k5QNUise5$A*4iPw&OCkOm;awX#f(~Q-#Np20#8=j z6;PbZ75#8Xbe^D~oZnZ1veLeb!n$ej-~A&lA*ZM{Se{RtjaL9p=R20ia#wNpdfulm z(^G5aznkBmN9k81%h_csua@O!nn}_#?+<4dg zWjgqRBTX)CUUmnX^|t$U)uiOqFOZ&$eKERieqwanj&8aaJxybDmXFcFvUkzb_F{A$ zJ;gT*dJ=}+C}Tt$@}4H8cUR5i(k+5FJsY^(In0yrJl%wpI`M6kKP> zgu$8t`?};uGMfp_%m$`D@lCN72g+KiK>tH4KRR}ov1wz zwhvQBpjGxoo-WxTD$rgW>lXHRT8_Hq&p{N8^Fs0{Z&VvJ7^WW>Z>=|57Z(R~F)M3W zXi9InK=W?4{#J2;Z(rnw0xZ^d*~a=+1P~zi$U~D?+s8vbElY{fx$Q(~3_R!|6N(dcoB0(Tjk4urG619$ieDz~{fGx+e@ubI+erc@*u} zu^7dTCh%2Zz0c}eEr^Iy-k`6L;_6Is=kqui10lBZ^!&p1kunq|`NR3<>>vY9iJ^QD z-0%G052NNnQZG|7Pht?3g#9g39v=n!OUXPe(C7p%vM0r_Qmlb*OVALePIqQI?L}Ac z`^d8_^bT=+$mB!E&C}QHY+q8O|E-?$e=p=cI9fLcboIIKxHFly-zIp^6T! zv-8C3ef+oH7L(aU_Jzp54xoelY=~6*#qUji!0$0XAl!(bi!@U9lRVIDrz`h2@@fn1 zJ}pQQk(jQP_TEkvXm0@v+Har?s(kyPH;;)IT7ST3KRQ_?Z#EaiQ5~ui7c~1(rQLtv z0yJ`3>~~GNK;vOQfBN^Rdi&A$(mmsVR53EbOhHUm!X&n*Xbw^fZP{HI3RcBIt4V8L z*7Wl5px+r~tvML4-U{?!_ZV4UTffx~y~qwlg}E;1*#}gZyYwQp&!{jzSZf-c#%s+H zd_1_(4XS{}SXbF09c~Ujfx6E`062=A(KX~cvS{eWbQeLOugCOq(~aY{gEKUlYvYvE z!6&hq55GtKl;30iPM-+J{Ba#Zy4LhLj4%_%nDh7)UZO-0zm)r$7oS_NPgpP#~ zJM39xT74yZM$2os48cqw{@mW-htKv7!%CO{T$XQXO*L;HqlmXxx6`CA6HW~0b|Cj2 z9_JhJgX-oUxPIZ=D|#AEMXIvyR_zrGDmEhxm=x_Ne=@HZ&{MU^t4Htjfxa4ChfnG# z)>CDOni^$7UfE!^RV0_j^HzDw&km|Q^H{DjCJ#DOVipZvB%(h8LPvm+If1C_^kF~v zKkb8Vrnvi9LfNMRC5{3#mV$gCZk(|rr{?=H$IMlnS5Pz0RpfyxppiTCWHjH0q{b8tPJ}~jl7nivf5#S>&h>0dvg7&s z4jYV8{W@OVm&GGRJ)$~qd_ft*Ph%E7`!gh4_9k$3o8ypd!nw^ zu1N`~xPpk~nWxPD2OwZY6(E_;H-d2lj*tek01rw=22b*&foVF3D9)%HOa`On467C~ znvoeRbUY6VfQfj_!2!gnO>rx(W`Lm8?abHhB;CR6w*ApOqb+0A1;kh6vg>SFi75%O zJbf8jGhJccAR1m7RbsP|ebbxQ52XQzlf%L3dT&;6aprns2>5YW$m%DkbI^`n5UPs) zqvG}bx1-53wbXy@R4S0@9G`Hu2{C?j>3lnM%jiEjZQm3EgQ968zO6DL&*&6mMrqy= zZ`MW3l>}*imNCP&m|}m_MLUrF|ARw0&Ug1bRcE5opw)?n<_?l?>jhdt8pDNB&|iqh z3Iq5`Gb@67siQ^WusFf<19J=kbbe`{@}i5bvmooaT!tCa1t(g`O1n?se8W#1lAK`o zCz)Z0@_x-E2IDfTGs5CLZ14CyV*I~oALA!n|B67D)rVZ1fj>&FkeNxo11r!$3~?dQ z&RkkUOr?#&Y9cR=jCEVs7Ff1ty+2`Un@*J&PFJozSGj$CIcgiFQm*hKu}$w^`a|>C zgn*9eY}GcG@@IXgU5N!syml`#-{tq?>*jTP;m-EqqF)fOdx=1)SFb&DF$)89YjOFg z`EV*b;Vo+K{4G4%48E;SCjnkFal2lXr&Zhl{5aWnphz<&nXO;Irx{UbR&bOg`og5my>~Y%kSrzWn!NzaQ`6! z_bE1wUYY{;2-mkZ3ta~<2Az77TAoUi8Bn0dA??lEX@t1pEy&c^3A?@5#D!PUB$c&K zd-EXONs+2l3H7E*#02*Hb2zbpmJ^8CxLqBuIW*ZSPCoLJzyE=M`6D;}+%H}~`EcE( z56y~~ro}6ytuXF}aR&*&t;uA-WJ6dRatOaQm!>7WqN!9`NH@v(3dbP`wp(dlRbTE^ z3d$dgOIHgE`EssD=y<ahZJ*r)?IIE!%{nc0O=t%Z&20w_Tl_;*OQq4v_A zMs|WT$YXv+2vicRSd<5b)$v6`3YDY4EL!>kVdoc9n(BR0mURTo|590EpaEBKL&N|A zu5LP(;lt(Y7BIOx6e3^}zsTiS8>6-aT^D;ktvpI~lRy2YO>ZoU}0u!cgc|6FzbCxT&< zIpRm2?|ik)6?2rE(g+;P z4FY13ZCVF<_FKZYy;<}o++LFu=k zGAIory-Zd#Ztt-xCSA$9!>hVMA(yE(?*9^fROZ(*H!yrlf7Kes>u=s;1t zs^BVh6=zg;FOP$&`g{49U61z@bN7-#U7U2=-pOana?O?FtJk6OWJ;P>N=H1KVM)&+ zQ;({VxVTEj6j(d`V6svqHnEIfG%viABr<}%ZB()f$@mpdr~ep*o&pU?pYgzA#+}f8 zq5^seXxA=BGuoLm8a!GjO9pWLJ7QDG8%TK}N!Lky z{0|V5#)&Uyl3Awz?#QO8-^wLdERBCv{T8nAo*zp;)E4XUZSHEWnP>V$Yqmu$+T=W; z_g^<<+WYbjJlT_n%d*ai%W$rsPI^OhnR6}RJUML_y^1_r(vA5yBF~m(t<+7-ovZp< zNZVBcXV9&@Td4p(696~LT#lzQI;=-JgELg(s+~siY{Q1;F7j;QRmLCri9B0|pbc&( zVkxe6y*!TB^P&|Vk!Kq^5x76dv#rqs*urmraT3Tiq#2d|y!o(CsF1x;(~~zHo*XW# zceRvaA~5nemWb%{w*b4Ecb}19-m>KZ_y>pYb1c<97kR4kN5$M7fIQEh--6r@A4V`XS&he zlb?OkXZZW^A@t8a=d=AhBe|z5_eGx>|6y0N{A|YXf*TVwgeh++99m3@*f3fsmlqd| zFm_UnLHzoM@imKAgF!f(@$wgaSuVeneJdj)4pUr4>oGB+Rv6*evMzS=VROL~?kUP* ze(4Zcm*+b6K~x;jR58=rgGCN#BuYxqi>;bDsGexsn&^mAByE=@!X?^f0RXfOB0$^n4K+=gKk{nBA4-d+|r<@m^%+s7o z+cvf$3sx9?L z)sVN+fCtkbTA!7S5#~QmKi!D;Wsi#A=u!FCW#Z4I5p)IyQ9@`G%S;u(OhD$1~%}?_@xy1uuzthSm{SlRD&qYfkW8e-gOD6~=?6bJjFtp{`GzHLQ-)XJD zXqH+=*LkNbE+>a58j5Q=p+|`dI|nYsFOyN6LCMjMQKaFM#c%57$Ijl*uS& zbe+0_ut8`wVBUzH?N_BYE^zu&XUt*_dGcymP{>C#$EaE{>2N|`jU(H@Nj14R#wnJt zw(jRkJT)yjxQOwU$WWwr;q47MOZ^c=6*hb=a>Y`(m^q}c+|EAoA~8OIaywmve_>Rr zNPT#4XWIG<^}-)U#78*daS@UlMHc|jur!=wpEkOWf2ONMC!_Z0wEnpI|9V_aXtM5z60{$+||Q6 zhpZ_mZiVE*L46Nd-ybeCk-tBzFi(n8_m$`@v&_Oc8cYNdRl@(0Y?VSMZ!W46 z{%h(avhuzbA+qWuvh=hux7}w!TY;c~wDFt;mnjC|CrYeuV^9gXndQ@orGwq0_Fbn% z?diW*3+s=pd(WLnF{(19CIbDZa))&pOU{E1?;~6LBPF$0Ct5Z3m^eQd=__}QX* z>Leue+C)pJZUVHFtS+5bvHYR3PlJ|VyS49JKv@R+QrePJv;*<+yfD{GTK&ju{Gym}P6f^dLW z>Yv+FmuaC+pApYm5=NL7^U-UaKcRoHzp9iL)uMkunyC(^iMCk-Lrr{0hewVU4=!D2 zM6e0eHF`9d3%R}p?F*%%NK~9h1{4KmkYf7M1OcgNH@dWs{TT%Ja^6CLH#7b1-TVpX z`R``khk^Hs0_g_Usv84y0ti8;GmrkDP?^m8!0BLt080b})c~@83MOD)?4UAT4r_97 z4ut1Wsyb{cqu6e2f@x$jSRhl6F}r#_6=CSLE2H{e-|)qb zZw7HJ(W-|6)FI)e47w!6&LIjc1EZ;Da|%}c!71=Qz<|_F;NFH{K`01>(~k3Zvz*J* zWm!pQ!74_MujVzxMJEHoG7GdEiYWgzQS>`Ty{oxieq}&BLmh~seQjNDhz(~>B;#bP zav8PE-E8ISV}&Pqhu}vVDL} zaqR`0yek)~+D{`t6)NZybct7K-9C0YbM!<5mf2f*>yOI4}(L~)f0jz0MJ zzwplifQNLd5tzzx>4efBu)g_~|>YpZrl)6jFK~t;Oz-F1G}kDmDi}*M=e$ zKu}HTB4?BX4-_Rky~cdz56JW92v^cL=&3uDCA)x2+$tW{0c%M|5Z2`8iP@2rmoYj; zZvR z&=7tEB!5tHY$0i-9lTBcbX6ucn$4pSu$q#sP4C0+Ms0EBGr-|OOJuyq7_<*1mlT^W zJ^Sn$!g>0sHSLaF&+#Sm0u%D%6pvaasY3J7(2uf1qFZtLFiWM=iqk-cBNRwWVGlN? zl&n>9*LzboV9B}L+!C?+G}J%gJfO64`I5U*m~BszCp@-$um(wyJyI%vORX|aw6T) zO4gChw$ZGh)9k!LYLVh&d=0d{YL_EacpF56F%9KL<}h4tR@BU{v5sd+hlwq!DmMk> z3?EjGuAItwqB~T>^D9OE>t^`fRs2{F&HTJO)^src?M=5s)CdP_bFDNm+nN5Bv2k`G zhgQ?M!>BX~JQTqy0B0&nx6gbSGBSC5@^7l-z(rx`9k@kBvJ4}`2~|cQS9T@&vn#kn zz*V;y_}QCsYmfsY<5{3oXfvp3FNuc{r3LiKsuthFv}D)@7WH|JqP;-_U*>M(4s=k< z^Y1o3nU%my%ClE#1UXatzvDyePXBf?=l%mdxf$HheNI=FFLQCQbd+sh##8o^DAmL_jyItQIeKn&OR8 z3%e*dj_$)1p0ky$EzCjgRP!lP4(W(VngC?_y(kNTp%5rsJL027(&%B~QbW0O+ERVb zP<*EU!Gs}a3+U~*VjcfFSMy4}ubBQ-Y_$x@O#dU2mR9o5qlxFs0Q@+d2YeSUTm>l~ zLKY>}L!lXZ^{F@d4Ag%wU5$%WTO$Ng&Gj_ZJkp^v{T^tSnhs4qH>>ug<9i{>adH{} zpf5;^9pq7CyD8Wk@-F2%3-V}?u}&Yb0|7xE)5!X?q);H@0FQ^a1x8%&O?$>oMGv(v z;Zk+uO2dGx7n9#z_Z@gEuEUO}vhv!U_8W=DvZm(R_UYfrTMVe+kmof0i?wTG*VGy& zSk)((I%i{!spZ;jevBrUWGXehZ&uvAiIQ$dN7b9Rol5x#W z0&W8dQqc)`GlCN}jD~9zN)WihNocbztnu3EpRaYJ#noa~Uom}p?K_t{&0`Y(oZ-|> zpmvp@6L-ri;MeR;Nu$K456?=9ybu4ojhaEMN%{2eMu2!;ypb{j^eXaFtso&oHT``Q zj1E&`?TPQsgv~g8H+TThWrX0(^s}Zh^W?iZOMzKp`7{SsKc42xv|nD;*IhdgUy6Dy zJU(9AJJzefVP$O$Qxk&TguhjNe$(oC7(#(Jqf^so@uO8BqB2<8KR01^YiN=Qy66vs zudkbz*TIzLg!>sH8;@jx1#pqGNt2z`{h(OYMG=9#ilC=Cpeu`p zV)3m10#}^omzHS~tEy+Zjd)h!C9Bi}j-+ z$dW&%N5=)kP$arKVf?fiFss9PI7CbcH4w94L21T8iOC)^`1C`6*}T%Z2=__MS5jrf zPoTnqX%Ybr^|h`tDBp2rU%Nn#%4lw{%CzS9M12gY;C?3-e+ML8l0e2rewn`Erdz-~ z*r;MBG3ABKLZMNLA>pn&QOw9aSCew@D5g*bE#tiY(s_yF-yN(9Zl~9>5vOz;JJ^tg z9DHy+0fV{4D$F7VlEt*NKf) zAh=dAr1TM*4c&1UryHFTuJJa-H9aDdZWTA#3I8OtXDm&1g(DG;>~|P1= z+Uk|)ArqK*RJN$GDXlU(#bu3yKKI5h(xd1}Z2ORVBoo}#HYu``uGPW!{nx>_9T_JE z!?^pQF^x)y81;N##+3Q?PWvKUbwJs?E7h*mokoa?3F$#~ihRFS=Yf~ac8HKp4Os8g zfL=M%P*(X6_Bg$xw*8SgOBC#_)LO6sqK?y^To&q0fj+(aSUA04+urOXS_`slAmV-0E0e zYYaiRAL27 zj;HUjY?7fu92p7*7YjB&WL0$wRs^dmWK|k?y$q#O!ClJ9j9y6~QU*Wd&nJ#W^*js= zl{i&U0tQSVs2Ga&D9r^Xtva)bugnY+;2oBveco}6UJ#|XL3t#wqAH3BJUE4d+96$& z5VR9iY}OG?xwRaDp_S?c14gx~I~@W+D4)ywcLi5ZLSj|#dK{NR9 zvt+92hkA0>Y2BGd>PxdFR&{)la>;ioU<02*s|Z<^&`+Ic9-N+cLFofr#;eFq?IwmPSnyojj~;tBqt?$ZctGzbBB4|?KcQoL)rBZED(Z3~H# zYNgelWT5jn1XzqyR@-ssA$;VuS)`%s!qVw1*sIztC*c9uJ18+)AaOB}w<58s*R}JN zJ>+dt1dHd9w_Pjn;5(g_XI~;gJ~xp*gA5M+#-ca;wqxXpH~#i-Zt~3;{`kh;ms$#@riHlAKpCZjZb{@!0_f_Z+zmLhlV$gdE*n`JUYC2!W*CX=JDap zQ{MQ*H%|_4p7F*fzPSObtbID)_}jm^$v0>CV=;gGVz+p6V}9drU+hEP+??O|+ZVgt zn_Kf6fBRy0d2?HS<8NQ=qu$(^-}u`XyT_Zm^BaHrV)uFTvHZs0zSt+dxi`P@w=edf zH}~f^{`SQl_U3{7#^1i!W8OTJ-}u`Xd%~MX^BaHrVo!PVcz)w=U+l@@n=EI02D8%1 z+11Qjhq6Q7CDTdz)gh zlZQqw!Aop(R#hkb2lIP|h=nY@h}~uuP8nG`rR(VpvT_+KWmw7?K7NHC8*U6VS}TU3 zy(czYM-0=O*|2Sr@bN{j0i#NLes^tEwdiNi& zGX7p=AD~2>{&hVzJ*26!o+97?SA~C2kD6{CbXX=j4jPG1B*DvKa%ZNU}I9ZUZ^af1bil((dV-`r2SdukjxTwix-JQ`tjc!hpa%vjz^{@q3Mhj zSxINwMb{z!2;JF5~qHSKLL(bru}G0P{RuXV5oubzY@?Kp9U({Qp9_D0_L%Dyz1rPW0j)>VeJ>i5U3vO39z=KqW{XobZ@XgwFOp z4`N0g3)P*20wEb?*G-Z#hc)g$(7)C=ujf#ip_-tS;`wv~x6@HITaufS7{YKTV^eoYU9E1cLxj>n?tL?ff!wc-1jHrH( zER0*Jfr6a#sKkqhWhZuyc^Lf($6HpFX}u6hZgrU(k);LpS9&w!CPH$!}KGN;+dB<=-R# zcf0QURqRKwX!DKMnNN?O|V9%dS1_mC7b`P17FsKR!Y#y|ie7 zW^uGg(Dbj9V9tqE&^GNxCun|=(4N4`)?O}A0g!YtG94Na?erXk!cT_o&Z}Km5O^8L z$b?^9yqIWRDa;Rs5-~zxvWNa9oG-v}Yn&AuuR`Ji8|8LHYU7=5u^J}!TnRNV9$=YO z1uV%Z6_zRWJPs281{g2^Zx6IfNWTY1=#X9lWHNK&6kW`Vj)&yr>o&;ghVSjjX}Im% zS?uO6ipdY+!;kt+Z2JbzNP>Ix=CS^R+?)0Zzw-P6ig%o6j}Py8&!DAexQUiNJ|b-f z+#p;%5;sJ|F*7nc!9!0qCbOi&nCRqOOqB*>@r=dI0EjRzsdmO5$?ugl=G8DPCKPQ# zi*2e{!*u5U2i9IyPf6Bsc?dJ~MI4w%DU+7_HF4!qadSvvFyww zZ7AW_q-5R)@8XL6W$sn5bNT#LTJviu`FK>xK}kM%fo)7!aVfP-*~H_TL?Vy=2t4#a z1_6pLRMD&uZvg9o5g46TeN!OVb9(=i1}tbDL*5A{ZD~#=Bzc)Z z;RMW>lp3o8EUd_ni;QObVS=-N5HO@d5(`%nj4m$NCGFxOigA8udk?2ww9q3(5Zdmp z#MTR*DpR?B48+FX2E=4LRLp1Xnkc$+H>=qq@reGx)ja?MQMfYsf6J7HG-TGIOnVRP zk-ny_6Z_1_YAG{P8HcG=#|O(49vmbu#7c%#m^Y{(%jJN{xpO5MfAqu24GKxWiH~Y^ zB|>|_vhIBoWK-q&PftP|Yw7}Ex-+uDvUF?*vZ}nJW(^9?3H(~_&_{d-l%u)G(1M{( zoz5tpSJ<$t3lp&B`bPW7RhPTWdDHI}^*xOPhI5pkr=6EdNrGhD`NyAWhfabByW1U1I{blWjE%vK0M~ z5!DS1(k-w-*{Ib+WE%Lr7)na2+-16dRAl}UGn`pQM^O*=EoJu5GX?p>6Qa!JQJvfY zKAuc^|jSOkwiskA5%G|?W+BGKdYy|$%Mv!9|zlRTNxaU zskO;GOw1}t?=(z2`rlbFlHu(&gmNuW`jEHI(Qb7o2qJ*a!r{xG0=uIp+ND_Nu@d! zH}+Ice(a`#j_X*BL`Ty08*m#F?iFI96FuU7u%@GqH}2PQfE_4PN;4~Y?&Y*yx7}&< z+$z(dGgSeVEGvOZe4Sq^K@*!FsSbhIG88`1CO+6LxsEkOF2B}x1(B%mppsRn1wq+P z(cb>7@PLYwTV1sue!%kW*o$ij3n+C63n>Ixj8aebhD9g9J6PCu2b(0ZS$T1;+{}NrV6B(%@sqn0D8*8*xKr z3R{7i#odl%%uK-X$vc{_G{b`E0w}FGC||RaU0Ui z2xuRH5>`Fquzw>&Op(`2N&#VJZt^3+q&vh19m>=S?3jIH3l*tur1kuI9z zG~2u3mc7W=*X{84C6^xNt&+m5jR|eR5^+b6sB>Naf-T@C`2`uXv2jTH!o1RJI4Luu zY2<`iQzX<(zKU-^YJHc1#k*d+B~bS|)(3KvGI4mEB1;Te&Tp0PBK0(CIjhWC)N^W* zes|&**yi7z$wjV3V1O)PWl~CJC7JP)JU;emKE1fSE?~eM#|TeNKDt@1i)H!<>V=O$ z%mTNBTiWu3+EY3-bHk#7)LCAGD~!eyJRK}9AjWfXQIaUfPeE)BLLRjneB08wwz-B! zpP?;^ar^tl4w-eBpjT~?9mdfUNG=xQV9j2y_OMrBD4X|Wd$IQ&S&S8a3hc00K>@28 zk-B*e6~+e4vG}=--CGEx#^Eh%?Y(S%jAvw~dh#gOi#Jb(zrRNMl-XH} z&);Q}IvAqvS5{EK3=>_b9C1*XH9k!pacau*eVM7#)6;@XS!R%6$_{O(=H}crE5Z@) zgK*^V_yA3UBMWf#u3IEOG-60(b!~6KIJCh^id@-S--6HX{M&Ti9!Uo@4fLZuGq#*%4A=qu0!S z8e;VNY*dLMQaJazw$~NCX4KK^i~;V~zYehv`nn3kvDd=4hi(A*Ir_PbrKz7uzv}vl z26PR4NR%#{652~By{n%i`&sYRPhCua8;Ch1a~xeQE9=uA#IxgID9FYM(8gLkZ^1RU z5*{eV#<@`63=~j(%9tKG)dh!V$i~wKN<9rR#F@>GVC&gR6B**UOvCzsGE2YxA*qY=Hk zZ$?fYYaik#meOXZ819q-dD4kMoBrGIFb2ycFgvTN6TC&j1WIA%ggVc$w{8PGD{J01 z!ql^ zkT%D1W8U_u5a+c{ozNia_6t0DCD;H`yrHR2j$Cxl;)fs7ndG+0wdarOS@klVAuF)==Bw>}KLAi)-ag&|_1ltaGEEArQUVQC zY2a`GZaONS0fQmN@1P@9$A{lXg>goF3>^N7&@m2=BE2{x{`U@7=Ou+0<6??T3h`Ei z$9iDpj36>CO$r>F23>(HOqv=-u(1U`4TS04d?Fv$1;# zRXt}E_ZJBr z*=qN}C>AXO>i9Bb4+k`oI~_+e9*CnEN6mpd=KDftjHR|(7UYk|im}*hcqX}6Klngj z2DKF}wFxTQY-Erd96GFFl8bw&3YhH~DMl!bT;NYiW6D=PG2$gv$5ojh03O_vbe7}q zJb_|m2iLCvoP$T6x$TO#v8U^R9+#2l&YCXRvj@+@x-r*vwR0Zq4!cKfZEtRc!Go&m z1kBR`hoHY*cbo5WCr%x*P}DNt*Ui(Y=`SlMcIA?0lbFjTqV8qaaJHL@E9s1}Astw( z9OLxT)Kwq>JZ*8zfk|}8jb3S@z5D$ToCl}Y&<(Y6?$@>L!T%)`BYhlM42(r2~m z#%M2{bR8>QS3|n0GOV^CT~!$94hVE92gXxj0aObth=x5FI7Onp`6k#^6+s+81IeS3 zmCO>%sePaWNq~;lR0+=TLBNUS7~sQxFs1z@X9%}1hk736i}YCvt26sJkQZQxVQaZY`Jy|Qe z{}pK_&A;m_Taw=%-6mle~LJNSAoRh0ej zV?ERdQO&f|tf(P^F4GO(G@cfw{Q9pTBNKZ||Nk zBOv)QS{TN}x}dC`Za<1nk!a4Z#md{eCmj_q&_M9mu1=&5JOKOG+oS3)>nCq#!4uJ+ z2D%mHRFRMHHgq7I!fMFG?j%3drK!}7Fr41P>02lYy2{tQ(g3>NgBPkqRngw66m{bA ztxef6l$I37fDxbs-vZbc=&&TBy+{r-Dc%LYFF_OXM-&ttfF9}q)Vofhq=nP)tmEWv z{)qZq&MSD_k3&;igUIXDC3ontQ-=}?)C&}7>IrMZL1OzlD-uu}@|)Jmf-bGfr9OR| zX%+2_KtA$4)6-u~Prq;Z>8Earvfsb_^pkhS)Auhw{q^+prsb!fO!fXi_q6>$T%|@o z#Y+tTD&?KtoZmn{aI#N$wmcZ}1$e4>RcUbtdO2l*>N2Q6WQP= zn8=1qq~7cN=vpQV@oy(<%Cm|UmsXj?<;H^F!lFW4#y6cF80Wf$xWqOLad`#5$VN_O zM^z9sEZyY*)}$s+P?K4ms3I=<&o`30q(Whn@Hckpe^^;V{SUp11#U_Zu5kUR5~*-_ zZqsVJj%8cJkDRBl;OkCySIX|XclJd8aQ0w~T%}f;ssMSnaWtIbJlRyc+MfzgsP124 ztw{OpkDMHR?>woTI9pXZnN#*2Nsbes&qENPl!zOA)k+z(m z6#z&5zMfr+wivo2iDI+;4I9}8Z;wB`-rt_NyM9O9?X+iZzUO*&mjPogJq(nR48TK? z9I;h9(dND7-tX4+K|}2mzX5`3c=1Vd1%IApYG+KXC(e=nzB&CfV!|=c8;QF>6iDe? zI_?sjel6%Cm6Byf$2ZiDWx;Tb_UXQS;!o(8gD0vvR6B0(?bMvk4t!Dq`X%}&c&2jO zBMqDWX?RXaU9YFyvCx#mImW!k4_tDJwIz*{Odh?iuiz&*?mat zhQOC!QJGteDcBQRe6GKCXgr4pD=1czpN#4S4(vki%z?VvYl!z>Eq1mK!eISh#eXZS zap|9xZGhEvh20%U;+WO#$L$WVa}fJCr%NUFExny?hFLBsxAw)FgiUGO!LB7~f;rql zl1-PpA*Jpk1?;|#C{@=mFCT%c(kDDJ{9C!=Ff4Gzq<%UEeY&g{O3y>vXek}jBjGye zE%PV0$e#oQX?8=WcV&CVU66dXzgKX|~=HI1&fH z;fn@D)SuA`DZ-)j!?}pEqXcY`s+k-n$@?OH7Rc3bqUT6(5Ah18yM8yGie~HPUuxX5 zXZ&goHZdr%81s@t03i6Z3m(*gun{)JWlX0$DaB7HLn-&$OFJVB(52`wS5%Srt_L*{ zJK0uQ9+ce3_D|~k*5*b`=2fUVs9iDfe};r~4-4F*Xe&-8b~uh}nL@^l%eb>ZY*U2V z7DP%vV}F?V(9d#(^R>b3GTCb}_p&))pHLtGPLDnixrK1*zQX`;NCYe{&eRLQWme3a zge!y*FsGp09~&p#{^H^|jUgfbc5>I@W%}Cs)kGpI*a%d_pPg7WW z2LwJl-r9&~u2m`8_uR6un$n?FJe|I09knv|uYK>Lh?CiMdquoWTu=bAXGMFFtb}dM zV-`^K&~Rg%&RmS{ zV)D0eQca6M1u1Y3K@lKYNg!Iugzcsl4afJ6L^&4I_g_Y4tk1y4Wr0DVK%p<873*EJ z63nviAyT~kQ$;|X$AWC4Sz=lM6EJ+jxB`I0aSgBT`Zoi^+?U~a9CYXx9mf6HcxzSc z9W;PKF{|6Zuo2uvVn*1$gA&nZ`vpr7mazn9SayK#8x`<~JnA|V_?Sv6X9L>NCt_IS z;<{jyL|jvlNW_%`Mn{=s=Re3IOzIc>C8phCh#!Q5#D+|R5uiKLuXhjn)ptAk6*Nl! zwE&_Ee*t}TJ$GQM?LRSYP{yFRRWc>2(cKzUvpT6yFekw&aY80eiEYx!#d;_gx38xD z?UUCdw?fB2wjmx9&kyl9YL~<#(q|za4M`#%^XABkM|(p*5RbvFD@4pfLc;XWy1oTM zHC+J-$uTqw35nleIMAS#C5F2KwxK`Z%O9cGLa|do7Gs|>TrT9<(y|JkTS`w+;uutW z%MSvvZ{UG}ey<+{gCg^J&|+dHt>$5ypc}}gem4COdK&`!U*+927DW5U15^yEv=44L zJ(zN~UmVmq#3u=6sX<7Ng_OF9f+5LwaB5kX=d{JFGVEBHh>oO$)7NovQMA7X58@-p zFVqX{fgoQGkc^BOQKxAC(C#MQ8EdbmKP`4?&*-m)hlW!-j0vm=l=#6g*so_W48@Y5 z;hWHSy+Rizbg8bC-f69MT8JVs_PVVn+xGI__t}%_FOFSE8hJEKs~Hv6I0Hcx1eXXw@neYF!56qixm&%CSUulwwsGVckGw7?GqBU~ zu>BFK2q~!R@I2xMlkZBx|HOA&IYxvxcqiwHts);q=ND$8Fz%7B&<>G#*}~Eek(cN; zuv_!Kv(>K7V!JPOmh6o>)O0!AS91=y$scYsg!U>t1-yH0 zgq_z<&5;gfa3oSua8G%^aSAhdU8FxRN+)vWWN|`lDSMhe;%>qB#*zdQM9{0oGYb78@@Xb0Y8fFb7#U$pNCfgxW7@6YF_RU>qzTfp^T%lS)O9+DZDx=!|npCj(9z7 zzPfq}>x0po9x!zh@E2_Pi@g zl-hr4c0tr@qlAsD{(`RVsySb`@jf)8?67nHUHSu-c`7BfeyFcCjnIOPffb>p8crjo zd~%?zF_iPL!D9gyzY9OY8a@=o5pPlSWqBhPn|Cf zw2qL)IEO4o3l|zi2QIV;m9ZTq#giMR1aRmp&NcE4Fh>3_Z^;c}&&?=E#u1lwYd7GN zR~*L91mq$LpYyR8l1xfR4NAkSw!>VfYOyJ|K-tI>Re2jASu~uSGUydgLG9y zMU**mmN+RAs8KC=!Bwj}&Xgu_ki^-Ra47@y3G|qs`9&M0K)?LVv$g;{<-qj(493OD zOgo}b~ZFx5J0#E`vozIr%`OrDATh+~t}>;=07W=8|P;|${~__N6_capJ38nfkX zv&|N3A6O6JAE9NfdNo-E%S5v@LvkeF(}OZ5jt1fzYCRi%OTYtG0xw*u|2YA#+yy+L z_C^7ARctf52SC!IGtjENRn+~M9?js6IBJ5?5+4a!Jo%Gxbujq^Zzg31q~?XW#_gGr zXAa9Yf^~FTs2xxtRlaTdGoA;=Uchv6H=1v&pKUhV<_lO46SO%i;AV(qxlNTk`S?}$ z%!^W8faz#dg(qJg)3CF+iW`w|mGR7d#^K4gd_(~ac5lE<_=<-|50g?}R%myBQITMr~*LrF;ZSPr`UC5fD z*^8Pj2=WYhj9?>}j~Ho>&I-sB|Jdw2{yWHZ9T4G3%-;nxmNl(?mm$OVp%1Wt6eb`y z;2qT=+F8HW$&2;_&>U0QJ0j`+URK z>)q>kxqg;AA8r{FXq5cf0`4(trn90tL3K3yHaAlaxk<9Z#a+HKEeD#Os2DJu zGKL&3!icIQ}qi=8M^Uq2^Q?|EgqObE6)V<9BOKIHOl9xXj_Iupf z2xO89mf5oBZU$Icvp7=uFDB2r?jn|en)^KB*@*9|_NP)sUnCW*A(=vzk*g7Q7UA?C zhRYqRPSD@&swxCSkPOdWH<{Nv?UcP>fzHV?qKC>e>y!_H!B8P}_VVRj-ea}7l`0P;4M5!y*c=sf1n76t7AZ2NL1dG z!lI1kkuc~}ozfzc1939!yx6Bxbx|tRV)3$dYHo$@s=LhzjZ!0ao@P!{YMdQWAI^Cy za_`PIwGQYu6gu@k2v7^2dmZvxx{sTIsb2TnRmI^Ku1e0{7*)5~s*vzs00vkHrumvA zuIkUI^+7Qm0WTCt*hc;!Oau9M@=~=WEO7zEu@Ri{)hV_{pCXII(gdTsWgC1KEuBMfF)*v zSX!VNPD&H_#oTZfRtxZlDK-SZf*J6qe5L?8(0?AFLrw|kE6YH43UgOLt`3-C&c(!H z9YWy!iwKBk`2PB8wcekY&>JOeB%83chiQhWIT{6%yU{@vm1i8*VIVr>)J;PEpaTdF zSF%C-$?&sq^VoI1@;}@F>);>Ig9!%(q3G~pJ<=v1S?M8h34ly((nL&c)HaT+)rkrN zKv-!ecg)#LmsaF>G57@$+bUohJdg_Q#IEiqzB6bhkCmc$2|%jkk?3M^SAs3kbG|U& zmI|die&n%C@N%P&1TQ;I6)s9lc(e)n!5H{qYZhk?yy)2!A0bTG)i}OI!HZ1`qT)^J zf8u>P^GK@)YhSlK zIUTcXiiC&6Mhl81T0jrRO%mSlrCApZQlvNFq-hT>2{ldoOfyymc;Wr3A-W)u0ft#j z;(5B00S_PPvLitGAf)QV^1o1^=BrYurVqx3^1zrj)i0drMnr~z)jsMs@E@Bq)_sE~ zF}CPVq!4}!@J(W2?DRZ5(GY?TN)asL>Jd;aD@IAU0P3GCqH);0@jw@3&_ zAhAKw?zbM58Bw$nX3vtoD;*HSLQtHR5 z;%a>%t|Co4X$!KS)n#$T;W6+JX(AH4XQCiV5Rw&IF|WE${a{IHPW^CkDS@r^VPFe$ zBFGLF6FPu+yGZ?rjRBD_KoM%pxJz!}a_R@Ga)4zyNc|Y6)Q>Uts)10IjbZd#k%5uV>h@m`!k-r;907%moE_*0)_xO>>R1OOf_3P2 zrn7l&QOE*AK20W5J*qEouo*@BsQ5*@qvEl#X=Xi_Y+X3yJKS!*Xi*0m^aabWFW9_r z@R|uRJ+vb|UrlctZ(Y!Lf(rIW-e@ku?dAo`6?{TKfWJ=Q1;#c(Pwcy8AP@=x;*4xI zu1{1agv4?LFm`;{9RUR8x@!Dw)~zKS6XHBAMFJDBOmJ0lB7w@j(JEiI5#OE5Cpqh2I2xSR76%=s|Gn#50@5^y+K#L|MOPV+OWJ2x>y zcGrLNH4#~7TtU(sFN~x;w;Ph)Sdg?yDg%-pEl9dk`&mJlNP1%zNh@E$Zf5<*HNY{f z8^!JD;^OG6>_>j?v=^YA$4@;RbUA8|4KsM~;D2r1n88D$Ov>OHHIdJgCefyBK9Uqx z+E0l|%!Qc5SqlIblqsQGnlTK*DB%q}Q_`4{g*SyHFNthL{|ekEa*dpkf$UltvK?09 zTYZFgt$rY$g+*j-mRqd!>}0#Cga2~Su>+(H(zTuejI8c_p7f$)lH$~s84}ld>LCpt z8oL>L4X2)i$vHf}x*!dZGAq6 zA)=m@Hd)4p+^G`D=XO6l-kMUkcO9z_#MyU_&YP#-fy6FFXLLvnfD@o?e?Vjc;^Iwe zfHDco*I70)Y%y?)DEy-51Ke`GK-VI;pTPBDXl2#3wb&7nGRqcDI(G-#8e@(f4Y;`67udG*As_tg^ zyXMVEYlSVrLY>MTG>B*`XmarCr|1d}j`mOeCH(rw{xSx7BgZJG|K8-AwATSRGJTTt zym;xUNYKtT-_cgrwQKL7^QFegs*8p_e=F<{T=38j_Sx$66G*q{fl+Zm1xo_Uoc2Eg zI)#7<-7>w);F#x^Rvbwa)z-Sf?7?J)99&H3U^bb%;*Pu@m6=JXjc-QR*y7nvEY=Pd zx?pRtPjGvnn_og>gM>#o3ywmHd{TrJ8X#Vc`f%T-ej)sJYXI^oP;OVASU1hugQ_+96WS~pz=y7Cf922r?8VKRr%_(w zg8mLXoS04LM#I@=04qyi9VM?uuR~T0Jf~zMsh#M^vF>*EAox|bPyT2+>5s16*j+|m zf7&oPgC}zIhbHTZWpWPu9c2Tx(pK3%P_KkFa zFdLf%4Ka?)i`N{-e)M`{lrh{ST9$Ux zNtA`&mnaM34IjRifWe51i=zGYYzct**%U@DN_s;}fB`av3nz2OfaGPFOC=)_wguad z8non-^4~e0ivW+Lys0I>=^~EM-6~C`v=7G%bv#F^Y-}&Xh5+c|1Y?EPA z>o*JP1$1iWhILhbf;Tk?$AoV%kii2|wNI#Smj&mH3UMauKq$Ef0$?T`oGhn58DcZg zjz0Ch%jFSsFy;e8wSURmz>y$wgT2-Mnw}Goq(|#Zd?B-w8wS#iML-Kr&@_93Iu4i6 zj&>8;B^`baR*81W5#FI45ZaA)Dfpr5S|HS42HHgpbHi>yS?5B#h&c|>u2!%t97yN{ z{jEs@TAP7(vAS?K+L7zgq1`SA(hEhqc~~#8r4H1*7oX~Yw~J4;6i3Q|RpL?;)r9}% zMkfrIJL9VM)1QJ#2@O)a^Bk#x`8isFMDU*;dM^w_hjhr!289`){E}b<#XL8Jf|P&| ztnVxcg-X=t03Y~kQ5h$F1(j{tA84G!pb$?B-6x_rIRd4WcJ4A$kv4bhs$ukugiP|v zh6qSCZ#=hGb|d?G4C6wYGJUr9Bg@O9ERm~o6IB2>Vz_DfRq*mb3|Fu0 zQViFe8;B~7qDqn5SQ_)fc=_7dyj&r*n#8q6^9i3%6W9$t&l(okHlWUpdLiF}mny{#lCB@ky4%LLR?U6kC6CcjZu zbsxbVCDSNRhvyq4%&pqbsY4Kfl$94vNsPG7u_7O3tGy}yj(Z8cnU~p|jq>FDV5cv+ z_|y-uWdG5;JbCC_m+ON6q28G25IeNi)4#~o^YjiRB-o@cfrP7?gsT}`GsWV`cm199 za?J$cN3qXJhSKZbB5-1Mo!ULe{|~ulZQ!>M_6!dXoB|)>G$IXq^q<~Ea_7T&+pLllOZgNs`-F8zk-#xpS#5t19h%9aj^ysZTgxnl>zDZVu?SUg z@rnp{a`8$EE_iS#R2_svxUR-l(*qYOXoT@yYOgPxZ3IBtp$oZ6%L1#z*!)cEO01kD zdn8C$Lm~E*%AWj;6RGW6#dy+0{H*3PEEB=7ROY8FLyo9rD$2kJ{%(1cpGWW-H|(MN zNZQ22O_zb(0p9RJ|1@`-{9vnSbjON>cn97IC^xlbFB3A#gcUf-95K?b7BBIaUlJ(< zUB1xh($hXSJo?q(RUP~2AnBNRbk{Ct>u&m*a<-^ahk`Qrxa%_jgY~^4eW{^FRy7T( zTpG@Z;W75oJ?r_~oRX2&HhE%)KL;20ul7BA6?gBCvj~7E?9iK^xHN=skEQVh4#mO{ z+CL6zmL`xjYyHq;T?iw7qvG-6;terya3}gZUt!=pci?ZNpQKqvqS#prB)L?iDu6M7Lne?C4HE+p@los48eGHeX?G$5wbC1&njffF=MGVz zGdvW5K`cvH^0OAnDk4jFGs$JGBwCk3qCL@TXg>$D%VfN4KjYw1<|N}TQbM{D`g%*p zd84OvNheiU&r<#l<4TPu#dJV*iF&g28w67mE)ZQPNo3k|EqZ^;xD)1OKEmzAwc3nQsMV{Y2jfQn6@pA zFloWs+{<$c99XV(U`7Wr76erJelO7&Ku#K2$gU(rpvVx~xdL2jy$>L~V38=qe$?&+ zjv~b3P-6K~B$;TaHgj?^gE^;1ag+~gA-(OQMa-L>PO-4Tn|l+ghGvqHMurL?!o8kk zZ(0cy7>l=MiEY!<1gpIC(cUIQ7zC=5Jgz1mEZv+lW-ggx*&*em)=cX%mK6;U-OG2> zl4V2TM5F!S27%htnJ!Gne1!K4e2@r`8SzaJf$2Jv57x^$nw|GF6+}i9sbldaX*o%{ zlEVs1U{g6|rre=u6`xWS$Q{lD8%!2>pe(~t*p}HlgtD(>;i>^XpVPs^ z$t>@jubKMpnsVB}!4vyOK7VE*{7R!BmewW*kLHh@G&>4NiRvuvF0Kn76wQz-*(hLZ zly9ZuyJce5ih{&Pd&ul)sY)IP8(l-&3`P-9QXV3d@ltj=&*ZmP$UltKS-67Q+aMJw zO-(G?Wi}TXQ)y~gJQwrvtBa}mzhY|Is%0)ihd-=YUYu)&l6rI246TRZ=6sQPh}24I z&>n`{hI6!m{+~47Fx-Ndr8#;o!!0M@25gey7E5b}bF{I0j*x-Q5vp&Vqm5<~PPjbA z(9YZfsrty9g2Bb2W z+<DLULnuRFv_vQ>6dbh%M1jcCuINovT8zT3vtFm}r;Xu6q?(%h81wS15?>yV^8bozG%CBB;qRI^D-0ka$k_4`K_+c5 zBFNf2DelY#F=S5$SOkk#QarifRUc1|FZyuu1j$#<^5Pt$)ka2XEN_ZhgPHBqZjgG< zjTj7RUsTn<+VJx+r`ILM&=3|*Oe&|B5rHmZ=;9)H-i4N(6=!M}%$RveK!EceMPe9* zMHJRKH3q3nm|GlOETnk%D3J`ZATlGLk7TgmnzhIquhI&1NG8(7Gs#3=HX6PP#ymEt zO}Y7a4?0hEUScvn2g$_tku3-!b^jt=P*bn0=4`e)#rC*b8CkUD1a@}?qbS)0H$%f7h4i7z?W9RZG zZ>8bq-MQQ&KTsE`=BD+@Lshp0#H{FB1`+kezyjhpjY?jRiQlpdNATIjwi#z{f}ygw zFsxEQrJnv=h_cw%0;!V3W$Fd_`PjUXvoFiZOPdxg#Q9ThvvJl=9o>V}hx5oUInCD2 zu@^^LwM>t@GS9!ghu-=U42t8E@(^}dC)dzlIZ#OdGys7|xASftKSZ`Pz~l)m71I(N z#M~>sQrmVs#GF#;(zYE}dYDRdr~p6q>~XbMkCBnn)Lo5THI`y>2y6gQ_i>1hHbl|> zTO7QHIS8kioJgmh!JZ0ykHZ~c&-_^0z`yWhrA=Pl9S_uZ*=FZs+{6yBf8Tt)*s7Ek zR*;engeaHu*0qUc$j!AK1fDrAtc8_@7WsBXUJaKVbHVdA)mZ6dIcSSk9f6fWiwIbLJ02K-TV>+&?3BX3VFXpOx?U=*wE)0F14g;if6 z7mT|)1v}|?ntu=G-zNVa%fH9-@2lgtK9&DRD-}+rXkbkITAiV4U%R6a(`>I?hFW#a zu?*Al<|e2Q!D~a(lD2edn6RoQV9ilD@=e1UYZUZuyO`D9KGld_6k-zILr#O zA}gZo*nO%Els2rz!Ct`se$b`;FRA3%srDJKZ~yU5T4QABO!-cER7_``WF(CRSHuTE z1@zJBE7>rfVSq|`NDLi3hj@Qz9Viy!jRT0BO(qm9+LwpxHxBoE%ANshojEBiTBqy| zxC1=LJ0dYv3eix=)f>Otx${4kewRDKIcO>`t)ZwGNV_|no}{RjL6E5VQHI&RoO?*- zQLk_Mi9GJ_N`wb$D+XZrR>cVXymBMvpoPkFHc(`EcCwZXtM(acaFCVHkMc>y%(&sH zSDx2;%q#u5qE>s$hcco5gT6s@cgJUgp%;loU4wPsV4WJQ+mBI$4TeUgDpltOy-E#o zWrONXupc*u{(GslX*ayoWiV`$9x7+<`AML$)!yb0I+I>IvW%`s-z6?7gQCZD#;IZ21NCzes*ZlnJ=KjOI;WEpKrS=#v{z^? z9dgcghfjYZmSxp68_6Fym$$c2DCsi!!42JmFCAy%P{+ExDWJYL&Lp)wq0SP{eA%ttf5(@B zpeP9hc06fT8Mpp1;&fQdTb(yxbRsa044YxRnGP4u^DL6O+S%O)18hmzpL;)T5hL zn4wBRkdJPHY&)kV$2aNii6_W^IB)V(aD)?A`3NVj@)1s4N!H zE1_cNn_@1Cov$R5wQ-MVtuj=LZt*@siv3@j5OwvXhv~K`h@w`M#6Zl3P)7g)s0Y_k zA3w;p>&$J+E#!meX|llF5;d(`i-*kzmqZ5_DfS8~My6ClXf(vG* zVrG~tc4Xl^u;Z-nXZrVvJR5BGR-bZ*gNmt#ig%|SN%=2r}04-+GjqDrtu4E#k+3Z3JKk#DJI8uYcv2R zDHgGz<1hDW%Cn<#L%k$z!R!DLY-i*#xhI?NOKB&G(ZHx3J~nM+Zj~94N1dpYja77V73egmcAWidXWQ>x z(|NqfCI5$&wWT~BKBKA_6rQ$|_3fh47$`%_m2$vpRLW_SgGx=UjL)o;45yx7utm~A z_h#cI9}?Q(B7+)cDV(L00B~AIJ6}Qi8>iM{MuxQ-=l@bI-e}mMY##s0?%dKrN+qC^v6Bu|6W?QQpn6Y!r7BnY5FceQ z1>ecpWlhBX`GMzx6bMo*M+G;y3+#19q7jgJ1g**l!F+wPWO{_iowEl8+(?}Z;v?u0 z=C3y-ts!w$_4WL|`#m>|-URPzT31LvP8rrF{}fY?aaJ|Vcpi`TQ;J994}P@mV*q7e48(a`Pi6ST_AH6!dQyW;6QkpkFe zAuXCry~tpt4?S3Ul)-AR84{g{fn+Dz2wZX^yH)K;1%Cr*SLcEOtLPw~FpLGRw(KFZ zs*)qmZvH>+-UB|WqWd2{+fyMFr3yC@DMAVzLR~sig#c1C*(93+NjB_mLhl^`1*9m5 zC{^iI5D=sYC|#O}2!e_tO~D4j|9fWc-R!0)KKMMp_w$C&<=)vl^~{;mXD;XnKS4BP zT7v0CXqZ?7^22AsNTp7?SjapHNb?}LN@05u6$w2ZXwM7bRZl!oQ*^Test>j3n=*N0 zOCN3~ZA-U^=l8Q3h2(}rN$WZYFxCzDPw_8f)q|q?mjM?n%WGZb_RxDYQ5X+peSWpx ze@94UJ}q>47@AEc5_}&xd2eh#SZna?4K~@Y76a?qBh*L|d z=u0wB=Sc4o5T$Wqa}~WG&R@bU1i}Q|Na3VJQ$2nHMP~M7QUVc#hg$%D@PbPMB~V`! z7_1J0_z~u8{G&P$`2(XXZ@lNBg54qqqV}w7xbGlU2;r142<3Pt?lEf_!to6(?+4CC zfe9X&&w#XG?d&nefY^-WF`7epU`*h>ICb@`7F`wQ5By-Afb(_BqF$DMeuD-a=g zk_to-po3tCg8#7iu71;2wQH&D6pK$~*cg)Fp6m&eb|=tG4(UP@T3U??fB^>YeEbSe zYR!dlC7w1v)XSmXBABf)RzxPUa0@>H8^W+ISyB>vc`;ws-^KV!;tBX$Ru6p^bqVa? zZ~a;)i?4>8t^DO+?fFMMvl&e>^B02qpy+wvTpj%jcw!(mMD1pLa7n z&j`&NX3CU69U)LtJSoV@Rr4-7Jf6g(me1`o0`EQhXrIEDb^ttpn!HQ6k@|W+v501ewJA-EM8V};fRsVH|PR=)R_Qb zz-u;nVF4Hz8wCWK#N6_tax**a{+dXgS;YXA&CILiQQgH=!| zQgK!gca~oG1W`TnL`Wp8q9T*AB{#_*ufvb>yUGD52ad;<5y(YSEk+*5MPi!`N85sM zu!JLIaZzCaLG5o2yQ}IKHL@`#RTs5W6>j^70w6b~Zk?hNM`!>{GPX>z3?Z)X zmxRzqT<4`HUT)==DD6$*alit?f{;N79n?DTjOXA|peIvEG|9c-lL0Wv02jiYP@{Yn z^B%^O0`57{4>W+J%Dg^Bi}+}oRgYisSsc~|kyT?;*hdTT4Z0AMa;{T+8B>%#D97Pb zK*(9#I`}TPsG6^sD;d1Gl28HJtOIHyxDp#KC0D{PetawVJ@%v=ek zIp#`Sk|{(K`VT3DIgi?1o&g}LhxOoDWj&Z<_Ew>zD99!}mG8`CrAa_C6!VDYgny!d ziDiuyR9@JQ0eo=~kccBRLg44lFo+N3GoK=)S-f4euz=YHGxyB)iCnX7)d_(|%a?$!FqVe30{nInK!`q#G`8B&jBg6dh|LA2_o!dHXF?c#Y*V=$sq%rryA)T)tp^*i= z_v81w#x^SGeE`27x%*7y$Ys_ml$p1IAd%s~nuX64l%tTyvGBDeQ=dW>cIoF=6Q%;6 zki;OrAG7YllbjJ+Q$8)?$X5(y_^@S+S*Mp^QIxgb!A;$W!VrUDN`)Bro1uj}N&u8s zCCt=+M5Ep%s{E(F&hn&n?TWzL~g11aqSf z0O+!46q>$l6eotOjbc{-K*awSPzyRJ`oU*D3uHw}A<^jI6VqP$wk*^y5K!NYQEZP6 z9EGzSM}UyR{0KKEo0H_~g0%?toigIgSCc$OpLv9zH5@-NF%A@pm#Sca^|SFsj8J@{ z2!0~=0m+TukXv||uMI^U?G-$n|bvq2Tr~voR=>@tBc#6r(JsfKkf7CaZ-;4*ry~Z2SYr>#| zL@WHEAfs@Xv0;+WjTKyka|K@3N&P_!#9%=@2qoE!&npA&4PI*^?oZzTweUP)p!p}^ zc`U3Ue8UsampAYb3k@0M*SDbKV-zAVq=y`%sxZTl%hMr0VVO(m@(Nf&MM8t*T0r2& zE(LYa`|8SSzzL9oO$>qG`ofYKHA)D8{{IS`|I)|E@`GqCU@d#Wur``Oe;f%f7=TEu z)xtKyu!LbmRTi;iSeK+gSV-7~Bi0z_q`+GiPc(&UZ^xvA$tb#Zpx;LE1syO)_{**0 zBSdhY;0SIj2~io7#<2$`{*7HDC<;qBtP|`km$V))L9{`4gx3?(?;+ZFQi(R6RHBV1 zm1rX;6K#$!1f%8fKX3*~w7n_`vY-ZfTp^kBjjm;R=EoFrddO>VPc1r#Ni;! zz13q>e1--hj46Q7Aw(CR6$uv|T1*Co1&{|tQr0sw?p3e!Xu z#d&T*1#vxOfrs)Xnq_x`uy>atChYmejQQI5HSGlS zinBkuxS7W#!~8y+Kpf%i%?{L3A^j0SK)A*YIFHXOLK+sN6zCT6v0o_LBrV|-1Wt@wFcvx= z&Wwc^s<(pXa1y0Bq4b46;S%P7~Uf4ijXFi%Uiom}b z1=LC&1r{8S0<@M#5$HP#435A18lVj*P!0&U|LTAOeFk(cXF!GjYCwhMfC|e26_x`k zT;PB(WE?n%FOjK}RalMtWi)Y=GbYIxcs2(hl1Jx{ zsa%2JsZ0X(q5{N3uwnp~fc1M!BB=>32p}n3yfB=5p{W6AYS7RW=nQrv&E_cZubIt3 zOT2Lx@lQH-pFsiV6^NykFLB|KiDk!G$KX9i8 z#>1}dR*d|CJ3lKT@kQtZ@(KxqgXWz=?}BQOT=}uY#Jz?vBI>DL&9Sfzr zKXM1lB3tON?b>J^4FMqU(cb94q0rN2AdmRd8+AH^mhirth;5I2t~c~PgFK@f_ggp- zjbDtC(gmJ88>-QJ1MI=rUyJ?PVt*O-YqJ}a_iGE2EiAWeXE8(WLO1e}EJaw1N3s_ERvMES^K#yhamGO-ELfakmXjNgrT z=H}p|5^b=H3RUq(miZ`m9An77R6~wrhQ}Pq3<)8bK^TMP4B){Es2CBwrbQOAk}ZM? zO(Lienm*SJbqe}?83Aqf5b;SD0>2?qGgJU5cu-)=g`p6i+7u>Q2BD58$GU4N1Re1e zD(#b33~{{kQUTBvhPXBbm^XC_kj*m%u%OE3c(HN&LWSZ+aJ-e)$Tf~~1ho!y17$-) z4Y>4jo$2M*8FkrMgOK9&ZtML|AdEr~KxUX^jIE)J;S>lgL~*Jyv=Hv7{HWYRcr6*O zSey6_E%IqkXd0i80!A_hi#I~wVPBWds)*sC8MNhT=!tBse7r+t)-xvbt~}ckb=FYp z+2erHW)=rANuR3yLUy#mmSfgwffZhThLTTwUItW2!68^$gLR0t8bF@y4mg2E{)cV) zyz=oQxEL$L=pdYwA}kWQMjk?Qpa2N{bLH(@9KB(Fj?>}9NXA>eAI1*{Woxpz9 zuLJq_OK0%-R!Q{*qW%`#3TTDj-+2?i7gB#l)ZoR#2zU^B6RIpXOUZ}he5q?v)~zS&v{bE8H8;D9J#C4AX}RN~+uo*1bDp^=fD^SClN-`H&v%vBFm+=um?s)qr&2cqQ#a5H29n4xSCB7tGca}I zg9bs}3{2g44+p3lvj{wE)D4S8RXv%uftXZM7{rozVV&Zu0VpCidBBjO5ibO$AR?MH zOOh3n$9tuiPC*u7#;g%8ecX1{^FI-vJQvQs)lr+ zw(v{fE?jN`>!nkWIV#@b3;;eh0Ea4Mt0w}8RIWn=;Ks^1RUp{P>`r9Us^BvNM4pS{ zP=VZ41Y5<4L!3t|!A=P%@7XY-iem@_F~d))Q(~()07)om0FMWQ0UREr@K)sP7!uo7 zS*V9m*Q&5(;xBjpo=0dhYc%?NcK))Kt!)5SkOP{VPN=i&!>CTcN~EzDXnCMM0B4Kh z95mL>*c4U|H;Cj>7!?M=ACwuTZ=egpuWTTLonC%Jj6=%MI%-4wjIhgt1n5G8^^CYo z*pc9|<7UQXF+czdl|D$8&auD4Pi$!bj|5GGXAt6*coH9m1cyVYG}i}xjRiF;$5ICh zhK$mI@C>rWEudd$Fu!5y&WDj+U8PcY;3E5Nk;S3}w+b_tL21+h^8?C4(n1{;n7I(x zB~Vm$k!#{!=jy6I_KoE3YLM(I^BzxES+(@)s=tVD@pRR{pKv&ct_BsfN+6RqDuj4=MkSFdC}&g>y~HOE z^Nh-mM^%V%oTb8?Q88})&8UKaI6>;Dg7O;`#-L&kqZGcX*tU$^ZQ+mAt$Kvi(=&iQ zFq&g+dE*ZVIJ>JLr#>G3c)2y$3+97~0?RPdh$Bba0?UB4jJk}?XL(+?u$Tvd(|W*@ zViirKghi0id`r$dHuHPodQJ;GI(4fpGq(V2OJb5V0_X*jWE~NRUgV;keCAeV{D@s& z6>t+ab`Vq<{0%!RM}7xzU@Wn>J_NVIb(y-Vf#aaA;zJ-g)HQIf5y300SmQg;Sj22u zQ#XMdxI4VdaH@-j^lZ#9HACr@NR||~NkW~9xPcPhy&SEQV84zW#H0G@Mu!~}_ z>ihDMp1CqXkr0HHx42*jI@=Aswzzm#CvtjqprFkym>=rs#Q#k@IkC+Iblq!P3wD-B zRe`s)pf@aS!}Fr|Zpgden0w^F9*@7sVSwt*OUbiAMtsf3BsR!Mvp{~^V|=P{9Dt2%Mj^Ht#SUHI8?+S!EF%((btWUW z>VjUQ=8>$2Sg}VJxTZ(SYfCJYByG#Cs2y2BMTocTVr)oNkY{t?_5MjUYF8D%xOl2;y>q$YA3NYhX}-Rj-BhJa z$k{;v5XZbFKpGTd8!R*#_EeSxBEn2r zJd9&J_)AZW%fK>4Clq3-^E3sRL~J$+loDnH;0b&^A~u_CpjvFU#}LY$5gu*vb`eN4 zs`Powx&&{&)f^;ebUxY^)Db~Wxbp2h(qP|_0$Iffg)YOc5N7JLd17hr`1?BNiP z7tREAyu9!*3h7M9XSDx@=SM0@+Q8n{>-ED0Zoz(TW?Copek^W*s+cC;VW4ly|HLY{ zR>i(eot~sE1p*>-5XO5plw+KN251HJ)*_&HST~Sdno+ZWkXNwbl&1%K_f1xR95u?H zL>8ZZhL{KX7RF*Y3l-3WR}F=`+!zBQqY@V0tRY)s5m*<9dVMOxT9*{avj<#0`|pO<*5t2Ygs*zoSz_0^EiMANLY1ZZ;1R3V&F%5y-9v8f;$bIs3bRhb6|E1 z14*c5=nDn}cb-=SGe>TRi2!bnU;e8QVAwDF0Y(MK|0-asY`Rk;&OxRLFo4Xx43zLP z33Uo}0ASn;#A4%jriNP3@n6IQV_reRgjVBS12h<)aC8O_7Ftdd{J~ld0%qivWR!J8 z0Rn3!FjwYY>e*vca?`JT$f>Zclk$Ic9t?|l+Ec~P|3-6yxclHut1PVc_5SYj6tKK>dzd=e+D1}8NwR!;~ zKCVVc6UfCuI{pujg1pALd)WQ9qUhV;y}^(u>DYoIu~3kQOl zhAUVD@{8MJxB~6bG@OlSNGlV=EW_~z(I5QmH+(3*UZsp58fM~8iGbfL=9pEG*ZhVn zP`+YT;hiWocIZ%E%)^I5;0l~=QiI8bofWDv3hKnMz$nAcSEiwwt_+sOMhfW7ta5@t zvt<$F9-IzwvSCmT(WZQ(=!Dw`?O@=LL0Usj6eLayi8#jbvwo4 z<5&aepSZzF49}{NO=Y#PaE9s(kP1YZ0&??cq3fcXLbK-K>)G08KtB*Pif+Tytys`i zh8K$nup#3O&#F+0dF(8l05kvw^A?C|7&dkjvDq*TlA|7V;bz3>Vct|nZ$gzua8j?) z_k()HmE|5ix5y$W3z!(V1ObfY*%}B?kQ>)VFRH~fV?->t>T-%R@Kiu}m0<%XMhc%X zY$j|1fXN0(!kh5m?T{6yBW5(`5d*u`3V6g!()n0k6vK2F&>qU?mB*!8XL8V9Eg{;Gv=&C1h4>MZZKhWvyP=hA>}0A8dn80DQtcpe7aD zc+(nCkTJ)KnaP1S2G7`L#sGlm9&E#Md=zXmJPNk?NoQ1CCQh*IcI{`Kw#(}k=&KG;?g@*{OqD=sb5j_m~*@#CtQ3j~TY;%-2b%|#Y z6*0E(ab--QyT$T@WCmg@Wt+;z-#jiHkZrpbf-Eplq6ef znmsXENlhH6G*p^fJ6oH#jp-Tb%yPLCBJ0(xS-Vbr-FgYNl9FoL>n7H#Wv^eiuFY1b zdaasu>({JZt9Jc5b!$ddk4#IAciNnTB5i4Dj)X{;Ga)j;k(Opp;3iy=@ouNx9+}}t zv`08y08a?@CZfT5B7fZT_Qjr!B>rzWSkl}3#empv^>ONJ}ewel0x@>=?3HJzH_ zwmUOyX^P$HbU33GJE!f5N>+x`Zc9k9#i!Yo1oS0ZAv%w~Jc~Zq(=*+J6i-R+Duw7m zs2JX9^`9^jmCv`o-W_bLM0u6zP~aE=qlh$nM&&9z!bF!_O{lOrX(lpx)zckqKk1d8 zt)?Fhb^`J$JOMzjdR7_=ngd5#Vyu&AAQrt;ssdtJ8E&OvBM*vr;4%gs4Mv@L`@(gk z*^^`yjT^~2Jmto!yU9&O9vp$I20Bg z4}#SX)0E+|32K$#$lytH%jM!uO}B$&q-J3HT=tAayE7>(Bhh6`Omx~^u2lRmuxnO) z2Ul`xV!A6i+2)E(OHEG&xywu&6zj<7!uL)Y8TM?u)0LHwfHDHfZD|8+gHRkmNKM4D zNJp7;&?&{~aJUtKHrbuR5DW3e^?{nJ5C{mLKscq-9T1}(0MAgh86pDH} z;LbQ#99Ix7uKNjG4D%AWY)Xq%S7w?GG&emn&CX-D33lYPyR)1bKp$I%tQBP2J}?uU z#GaToh)SX?|8bv7;d*=oa=D$U8Oh9-4xrENQ0G;2ocqpgaliR0jmwq>{*gFHiFbgn z46rA9_oWQp$7dxa*`4SwV@aB0K%!mX0>&aIRIv|Cu-g;uK%Imvr;C}d$e;+eWKYZ) zC|FjalI(P3Wh!o4vW6!8?1SX0!7Q(|NZzEqLpJSQRAh=H-5%+31L-0o5^T<7N2Jr9 zoQi=C5}Y|X)t!WIwt44|6? zkk(eV4G?o{sR5}@yW$>{33jSf)@Dkn0(dm@lYQ)ldmz$rxbwW7N8ew-y&EpZmArI3 zevsSlQW;`nrFxVCJxcu6+xrbT*^3Zaq6XHB@~IOfi`vSi)yC#Z@tMc6c;`K@Pa)kx ztSDzomKMC7!u@|Uo?fxgwnrKNA;xe+dK8&_ne!|8TKMuKjE@}%L(W$&Mb ziL|>S&!Rlf#bw+BaKEmmWf7u~fDnS{L0EI{u4*Z3LO-=i&Ib{@G&1~XksL#q5ke@X96ysD=aH}Y9>am4(24@7sl^eU$wD%kFAS6AzRCTANiR! zY5BeLb;XL*@>K}*&8NYj8&*a28ugS)m6UJ=^|VL6BDlYZJJXPav{aBeo*3~EgEd2L zyz|4mp}6zBsB_j5JVtAd=HgvZywm!nmKWHjmEVp$OlNagNly8*xyoyB0H@2)By?kt zERQpHs20{I|CPjVyk50?R%Wu(2J+RmS#!~LExhNP+V9OF>Wdfntv%lH*gfyWkcm?8 zdm;SZ4e~iiBxs{XV4yH~xl&|+F z{jg;W0`FJHrHKBaN0f;2ytaMXcex!-d#opS0i&VCC|k3jF%(?K0Glg4Pglfn(4niS zvjytJ>}Moq+G10{1?|q*6wp??E8ibuU3NEUa3Q(=g~X${AeLn$1KM0zk%gr`rJ!zJ z1FUPMu}mDUt(4RRSM{iHwTbYA0fHI=25wL%K@Mpy+Tb~BkBfP>Z(Hagi%jSZ3r1&= zm-)CO%dJ3m!f2B1Qk>$BH3xx**w-+tW{t+p9a(9K5U$*sv=!GPHQDZRw{_dodD+HQ z1DSKC+90qcI_$2DN^bCWFxW>ZC)I846$=xdYM8GTR6063&5`ViOHjq?E_PQ|8uSKV zu{uME0|QgVYRI)1Cx+~S>*H{w1cxh~5hUE@P7JReQ6r+dlne$6IxFYlR^bqO5$#RK z#d5Zm2FvnEGvDI(D#uijUJA2PpoHwr^0ta7BSS){GV%-NoHJQ55X-S%(le_mETM}> zB?0UXQx{OPvVl%SR9!p!hA@-dxZI$Z(RGq@f{ zPOXUY{Kxd@-! zjacDHsi5$w?m@9)ZZmC8rW?Gt#bYYyh&s_KIdNID+$jzxN(_+Mvf|TH6Jjx@=7M!} zW$F#F*$EaJYg6;4+FedNl!#b?GHJ-+a>vSFWMf(ZPymp7-wYrQNlwRLdxqLE^{rP| zJEXee?J1yJ4v6az5;GEGeTS8l>O_OSzqL{a-kBA&tc-pcjse^PQ$1H-7}ZjfQWJ!# zBNR_`kYPCfMJ5l-T(N(XGg0t}xVEZRZ%?dIyLR>ZN~XYM zg;yu*fiU?fM7^H~A*MOrAZ5KiQYvSW%#9o_HdVGtjZ9$eILny|D{Fz=QL;v{RHSSG zx}3v1BU9sHZRFA_YmHEuYD9MR2=4{-8R%@GWpv)T{ zhsN_*`0u|#<6}zr(s-8Xn&M(uvTcXkX1McJ3ztSmym`Pe)bVIMpeqapzI8r@I@wO= z-A--%wib2rpVnS}bgOAeNw?I6Ac#`)l+?7uE?8+D9qv}JBqs{R8U$9DNzrT6>D^Wx zq%~uL_wOthCp+9R(1?BVv%Kw%$5=`^1Yh!kL@4WjK}s2NsV+rY=9mhnCN@y|+Y@EK zc#iq1kLxd1p|_06MnoYTH7pfEjO$F>f^li--gsvGW1(e`-JN3zV|NUGpMr91GfPOZ zC-hTXS@B>V?ku+*rZG4(GBF;zl%J4iCGv*iuGL)(o#nQ^!dzHz&!LjwR*4F%n~LB} znmo?3m*8gjUoviK&dAlW;s7rhDYzKd8Gp4g4a1mBNHae0ACi1PEH%W%Ydor6 zxDZpLB#nbDohMYxBsIo+1sAWECb+aZN8p)Z>|JM5q^-D`;nMQeMq`{$OGhK!2I*Ep zf@nD~6IQT9D-6ilcAid;QIn^#cNwV*x3;_63lT+%oGw_6$&Gj3W2}dIxi1ozS=ZoP zL<^CR=TmFHF7h!Q_!sP-5VNGM`~cc`4t0hCNIX_89f>sCSG06Jq}fiUr5hs6dX<)L zhBWt8OE*WF?H4&XsM@gOIt$hq5tR@7?V6gLVS_2yj<;ME7pf6g3*0sOBdxcZ(8Noe z=bWdYTTH9)deXXJPxNLn|I{R!j|oc1RguyfjwQ~kDc<3BJJOX@Xo&3Q;Ge*dux=rw zpi8l-8EIfk(591YX)e2`ze_Eb{c+a?%*M=-01+mwjlseF3N{-UXZBy$` zbysphEOWUqICvbqv-`}^F63u3vLF9x^=-y8kCic)X<}~X<;B}*Zh2`>oR2%x_C>h!dW#y^+`)67;Yhcov$qz% zox?k(nP1_~c3q}f{09`Hwzzn`x5L#Qm-o94NO#2530G%a&*SQXt1GS;T;6%RA>ESw z=NkFXEBR74McQ82c&pfjFtQy`j6^enPp?8BS$2&8a2TF&twHhzJl!6#0Qdnu2Kt^MTyI$74yP?yE@#rp zk3xC2k>^A2pfU?zUv#t^ei$_WWl27m;xI*bs4ELZAaJD7>} zg@0utME7V`g%Clb)}n8`7Pa(icxKr}lOMeGC3>b{ed%#X5Tu2F&8IqB?c=++vn_5T z?wA6K!kyOz)8bHEdGX2HbNXmLRqr~Phoq-+#6vPP1UqDqxVTysrGKqC?%W5}*yVYT zumII@uTYGdHvxBE%W*K=f(JmC!Ij~VWnADbYQB-U^So*Eq-uH25SR`g; zLY8H%NbMnhJBfG9S9AAKGvCMI-EV51g8HWBb!qv^Rtga~)DvZU;bJ|Gb-NdFu{_7| zCULlIxZ-go;7Y{Byd?=2%kwF?QgQXg)el!1uE)VK=B0INvE#m`%G?rCFdz2BSm9r@ zJFzTYL%-wDPB<=>*R^zAJhM!#rCI+Hy2WGoZS(d=_Jdbvh04+{!!nP8OH03x=V!dq z_wiiTEBz;)8Mn3ktmCp??Va}bN*Bj_?{r|U{G9fFAB=Qiukt~;-WOKW){H?yu;!qL z*eoaHdZA;2rm2w-nmU5I+EqgmXRF6!Eua#7zR(-@~aA*-UOjji9B*N&$@)W#+P^bXed>VP=z>j>i9L>>w3S;Pw zv7E!j{8CF_Rnyw|+5cUqmUMr&e^&a2`{2%cTU!-I!We{fCVpobOUOuUQV?bdsok)d zl_e~pWg*W*0qg2U<`b|8uolZ;l z&y^mGG~=@N{uG|Q%WJr*y*C0Ed5kQ}utknxoUW#E6ZAL(ceueQ6PKX=UaG-kN47iP??ipf|Emq6qO6HhL@BXNv3;F-1*|TI{MZ2-S1#uLW4FBhT=>!wjPRL40eQCb>I1#C8C!=CrhVPwNkP^4k$=SAdg zz*Fs=CsAK3)aOl3c>ews-$bH4N$`LO83TR>?Xdoyjf>?n#^V9FKx3t?Rt@-I(V6M3 z92E=C!Zb@2)OwgVl))v{D$T0Nwii#-o*mMrfC=`k0dSIK zXf3@6X|5FdKKK2Y=0K z@&FiS1$9{M9m&zrT>-GfECi%Chk*~I2yoKEZV}HNi7S?!In1-p z){;D{3p&HHSzaAm7;8Lzfx!pcN2+_ug<_p>Ijx@Opj0#OQ|;TTu^5s3AdqpMTH+8_ z4LcC>O{p#A;8nOYJpR?Oiim5cYcJ|%`|dNa<8WVNwCJh~TZRLh7ZMNz^Ka`JX%0uf ztW1V5{CIVw9iu6p+2_Rbui5^F;dwZ&9@1)%AUyraij8-aB-%R-fPW)8TKFg81j)0h z9t~l0W`-#or|uMp5?mHyfc8f7`U?LMOjqKqps-qhSVw;fmzEv__*C;szoe$Qzr}I! z{IG9vB(8kA$5I6|R0tJn@ISi?Usfm=QR^vUq<4+%AxD z(i}Dp*hg6*6GPU4=`G!!?r;v$95Wg4Pe7h>pdI*BY)WD(?_6NRwrE%^DGp9$_((}B zt!@bI!C18M{{UQOT~JG(Mw;ykT6(RTCh649#TI6TF zXdmv3H^*_$t^3_l-*vD%`=yC^eI7M3NRTCs$HjUz52HJ1jw-e zf~nHucWqi<`dz1@ede=|Uw5`WAu`>Oh$S^2b+<>IM*xHhT=!$xbTm<|AXkc$!+z0b zh9iRmFtKM)djhVikH4WmiRecMTs*Jrf^mwsBA`GZo0f-dXKeo&g^Sk{U!!r2!8I1w z|FJ;v?R@lQ+7!ZXwO$ALS9xPQ%le7b?OQ+$s*+f47^j-^VOxc}Ss zWA8e_>hkQ5YQrQM8)$ett_`u*i2YO?P|JAl)Yyh0V(uRYZoI1Fu~RF9&7w6TY6^oH zLiE+8LCeubZ}h7duFANihzz&58x}Ypk>;>NNUq>(lIBv6&Qxw63P>UKQfwc@LfR!0zY@H6E&6CfUyN92%lI7Gw%&OvFLX_$PopiED*X7Vzy$>0s0}6vkrM&N*iD64EKh~9S=FEb zPKzLOS4wK8`U5CmY@Q$08dbA{(CK2KUB^OS_2}u|rWx!dE%2Qzof97xi}o%v9rnjWOyr{T`FiN&}xUEYN|!|V|5Ov|t1ULJRKY{EQ_ ziDWmo8e1)m9WI_;MCfy;;R^XPC+M zJ32CQcLDEm*Hus*Og_BrDk?lv6H&)Xw8L`wJAf7UM+TOAV-4c2kcazr1b3bv*(V9Y z4$>G3n5ea?7^vaDzM0&g)trroP=vkvAz?|R<<;u%CPER#s_K-Hw}97cS%at>yQbA} zMr%f*Zx%01);cNhWj^}G_$kNJP1-Q>l*Z8hmzG@gN1Kx`(LY{C*KubZK-XOE6D)~4 zr>o)4bQOfpOSWV>M>GS!^L+Bfc~pD3j}3h?%Jch$xU)>V40pzbwd(IO#)G#~bD(WA z;Sm%(33;v}594v(KyVJ36j9(lz4Gm2!#w6FoK)ZmiV<{M=vJ)OK&6qcK4B+CL7Itn zHJzvm_rXgB{SWNQDsPqn?^>rN36{KQXbTyK&hiYm+Z_9s9852Gs0j!(b)?7JGWs>c zg&*Uw-CTxCVNw#^j#zbXzgUG#`t3F+eoIGyoyxF84wb%&7vjJ4RM^zu6%zbN1aPI} zRDc{dBF+s+v&Gxf>;tip1tDTAN;vwpM8v3@X(jYdXKFlNxUAX}2%Ml;8sk$Js|&Gt zyphxkj{nrwkuU%@KM}hWo|%^AVhO3X>NsXPDFC^*rHoJHIV*%qXv_Z}jonIZgol$w6}3yT+#Q!%ji(&@Ls+lw3@4Y<(=A?X zUQu$`wv-O7ohuOKg-HYWCC;zlydr=zH6z=B003zekiiy055w|A6pzQ2uMJ&ul*k?( zZXF`x{j~8s4f{s0*Z4{!%|0jJrhVJx5FcPLx|5`^o+lBfe))-exUX7Hs*_AC*le*)PD9%cLUWwBafBPCK|(+T}=|!7UB001Pzm=#r$!v zxh4q@t&PTLlj*aTu8%a^sXXHobTE}81_esxpqbbps@Rg)W~qvfN+xhmHlWqF6?G}N zatyAj8sJNiqoakEAWS^R7kXFFXbMoE6YK$LDDl$%{>bh3&C0fe9;Q@4V2>;2(4c6qFUZ!(h~_!DDuun z8Rk!Uy+Exc_`Vk)(7wdx7wk=qYt^M=JD(0Hs{F0= z?I3lYOx|#Zy{YjD+H?!8TXRe2g#1KD`?w7A!SbBE0?&Q23w}NkZ3X~VGjL}(@4~$X z?tkC{v)~<1*hioS=L-JdiR)F_9^<3pQ*lT~dDek8XA)v?7zs}`FA|W^xSYs5PmL~k zmEyEkr4j+o0;INMn| zc?l2Gma?5CoFBCe?+k&xPX#bj1qoEHt264d;;!M6wj&&X>&oXz%*T7S6I8~;zJ@#N zwyY1$!ZjOL30(haOgQUb{HMdkFnD|$yxf_@3r~68HzpiQ-jNU;4Z|MXRrZ92o`oCB zYJe*`x=oGRbsCGaFFZ^jVL)^=^oi(bsm2Rs+s7oPp3wk32u?7yo|YNe+Sv_0zpF&3 zZAOx#fL2;c6$R>10U02Uh*Q#3;~k&Vk+-k8jA%YxltwuWmL+1|DhaciJlDdv>W01} z@D#&?uq8%EcTt}Tf|!r#v4GnCStsHVv%z4WCa;( z(c3ms4{4P?bOGIUvZvGg{T#e+ffqQw)2G~A{NBu#2#Xd(I6S|Oi)}SbKiBYE~;981n87{VubJ^v&((kIj z4OGj%hx7_uD{-yDta7t(C3TU6$RBeBNbuAYIL?tan-~o1&KeFjv`~NNcd-K6|IN zvWwNSyKChX$LF%Vp{1)M{iIjA7Sg4? z(ru6~?EHl#m4tgLyV0)xgO7kZjky>0N0>lN={Ow?W_;&-OG{JSOqB7)vi=TNmy(H{g}X>aDM zsnfxX*c85#N`}LF0JT~cmR<~Pe-gp(MyK=}%dvQ3e_KT)2cCe+veVLA3p<+vaJNqEd zFJ0~Mo4WDK zr!}rRCB-za-wx}&6`zkOKPYr~u~LUG_P+jYX!4FWg{jw-i?A=ZEoKeS)ponDb93Yq%*+@{q{w4+uJ-v#@{WA z(b2fk&yKqNg@NYGY4SmdKfsUb&EGix7c)&Aw;{M!2Lo-}F#FpT(MH<2sN-wL`UFsX zhtgYI-7R!-*YRhzcJ`-Y)+(RZYvNA_#>`myq0LC^LTkMDMl}m{_|@HFK(e03ja>iz z+C=O*s?^|a$6E%f{>_O~*AW!=&W0_z1L+2edTHj#Wf$S&4nB0`{R=v(_NCJC-L6Ex zFZ_7jy>~5CHevbF$;oE2Z#X-#?hhs!)a>=sr^^J;*H=pQ{BEU%&aA5U*@AX~lsNKD z!|+fur4O&^xA=mY%%kIrel*xbF5_kUr>)I&a8>ywrujxHv!>;%JFgn)^u?CZmy4UI z@Pn6oH|%PmgT;pr={CkherrRO5)CbM;n|Us$AXIf^37gTtBd~hNAjF9$99?M<$BHD zns~-SXInk9x>qG5wP`-St-iN~s#eSlxfEfd!@cgstgZ|Az88J$_)Y`$c~d`k(_|fe zKPm3debo$Pn)h0t&J~SxVsOyJl6{SI?$E@NVT+CQRoALr?7-{v5%f;jZa=y{;EQ?h zcMqh)MIV&ATFywr{4G1)Rs1QV){n#gtfi-!J4e)LptDeL-|N>ifWK>g-u8}tlb*Vj z>N)91SA2di`}pXA6%jwbD8g0hZN#iRJMDwp4b1e$SFav=?JYC4xj%2f@#;pJv+$hb zgE_$SAC49?95U1Ei>Hn)w#c9SpDxv`>!%iq`}4wu*|Q9Eq3DR|Vdcyecyvmu@rMmG zYFFv7uH%f95zw(+tAl1T7)y@*Al5>rsi7zPG%(VWn~u$k%+}L}PrtnP-N!oG@%73* z{yhQb#^G~xp+@SkI;807A|}dsv(T)Y*=Bm-r%4w}Z}F$mC1-`TZD^*tHRg3VbvuB@ ze$ipZGoKZr2^W+WZN?i&KWg)f>rd-xm#gyZjh)T(TCqxhmi05z=n4eRmhgc}%kKK)LUpLZ$ zABLRibv1}SA2MzIJ6~An`%agiT5`}tt&6x5541ATs}=oU|LSe5htqcsPWePfh6aZZ zj_7Bgm%f-&E2)&8k_+7)bo4gp%kZiJpW@(`z5^b9HK{Z9=)L^erLkY?D9rC;L(7py z+BjlSwPOo{Xw1M_n|7lgW0FQqtG5Moq~H57dp8G>$^QK0`dx!5>v)~$6A*gRTYv1T z`KOVdJ$9p9l|p(7aYh`Ch&0ocspIBe>~Ep3%C#JL;x6cc>-C!JqAZk^dQFL$ZKk77 zF4?)r&p^E%raX0hiHXJ(dg8&eMT4ojep}MPHK22&8;%*cS4XcDzrUycK!5t}LO#a=3&0-0jZ zX#eq7boBa}VzKv-9v;)8Zsmg(I??ySTYEd}=$Rs|{b&7Tprh44*?6Ohg|_d^+7ve5 zOhv!m-otNt5Y63|wQ$q=LX@)n{QQRFb>v^7SCv8o3{>n-rEagYMCKL!%RfYaVlPe~ zkUrT$*;^O3ZkK7H5-Uo7KYF#E4x8sTI~{1EAI`q=M7NP<>b7d{!~M@#X#ML)k3RwW zGjaY>Ym5>=UE3WV)~t<@_U)K_b^39CD);Gt8HZl8(5|`1%KlmvI^c=4Lo41i(t6YH zHSGaLTD&D<uy5{9`OE;S7{P7=Vx7uW(W2MJ^|7(UH)q3uQ z(c9iKkYVsMuXG=5r0J{5`A_ViqY6jXmF!(yPw8(aEt-MDl)f3(V^>+gqs!|rZ!>>l zpjQp2_KiY-;*TROwTjj@(wcXE`*QYfz-w9Y&wqcyM5nriJ)B9{I&?t^*0|r{r(eIA= z7qMtZoeJ0W^uzR@=ubE_Ll<2b<$@wQbKUxrUA{L^WK`wwY?Le7`*K77I(~HI`z~1> zHV0Dd*uV!D%US4~)Pr&6H_i0k)uZ8I)cykVv{ zj|MIYXk?%gjz-TqQY_SWXwUSeMNRa4){@LO;^2R3)o}7I(6LMPZyYG!6?F5B$+1y3 z6MeXP#*b6yKyrO&=;~FeeiT!<%G2MM^QV5(r%tj0|4-I#yl-`YAD!B@_Pff5^mHX{ z^0hdu_oV}NkE?<}zH6Vg8e*?wrlI?OTKzT*0PmfMCfBbz$}ap-wL~akOYc|vtxW^y zuFY?RG;FFTd(+(?eIKZ&rLNf(&Q37UvqNW`U;be*-7I83HEoB9E;T*eq|i-2T5-!( zb46#+&6o6FKX(OoU}L2@Lw+~Wk3a5m)=Dwa&?D<2CQj7RaC6IjiE}{bLVkN^ObtC9 ze|q@uYX)FlZreU}77PuiS6!XcTj6t}?`@df$wWyrlByVgGSOXY+tq7c@uLaZ*Y=Ki z(VtpcKUq-ss6V;4b(#O*4ERO4bx(f0#zZ&6UitAk;8(=w&pf$cgMnNVJD=?Rn~7e$ zdar)UGz;|`x25i{;RZ5yyxnXJ;GAVWGile_<&r&K>M-!>`D-{b{sCDefbz@qZ z=~%TfYsyp$peN6qEVHYIKTYesY|ot^jWlu9(Uza>vQW35&u1z{jFfmKZ2rUZ7J8=U z#kh0W$ni$@&1s+a(bJT9hO}=0_sKN}PH9&j>!RxRC+}A?(|ezfEP8jSj(WYTytI0o zfqr~1zI9fxo?5=&V83IJg^ss#&Dp=yNQGu?m|Owy-QRf0!Iz7tW22~uBX@c)tNZ$T_e4Ht=fjwZHcN6x}Oy|%#Ye;eQ>3{Lq}~tY_jXhN)ye0 z;@OW14G*BC!d*+;m}Q~i56&kv9A>5)r4OvS1$oile{}m>jZAbaYGcjb5A+m2HRz?J zvL+g}~aYvT{9b7cOM3+}>pd)K;&9r|6JCM82puKjM z2VZ=?X<5v7;KoLUL3iHnG4r#_po^QAy>_DJ3IlDp-t&V&dyV9%(V=AU9wRlpdFbGb z5YXeNOzxFu4YcZ5^She^{OOf*g;)N3ESN5T<9g<)nQ zs;9xVUOsrQrim^uF5bQSeG^Ta`|5yiFM)ovz4FG(m;I@0cgx0mZOr66-1O}2sR3j^ z>F;hI3OEf;-y7Tma^2U{%e)0SYDKdqB{$bG(%ey<-dow(L@|4d?=4cvOqnI@W;gi0 zefRjES{yghs2MkIO?2xhD7()WX$y3;{#XNZ_Ft~r8~Vg&a%o#SLPik>c10wbIQ-3tOCESc4Wisk6zN#5M8H--LfrY zd!=}v!|xeLH>UcYTEM$?$Bg0MUW7d+*;(@)$TO*P!i{e%&{O4CpZfIH8Uy`QYu}x~ z=4NW)?0jWUqMkBmEGqR@d#tbRum3t0a?0yFYW({9p#XZRsSlO}pI&Aop$YtBXswd}leRpu%K&3!QNqnJx(+WE%m2Xzv3^yBYUwkF*& z(#+mz3m$%Nqz~4&+dgTEjy{?7Y~s!}X4<;E*zcL0gK1mUl?!Zk3-xs0d8W&XKx*B4 zMe*xt7Se6G-q63AKYeuKZhX)M*j_uij_UC7reAI)jNY>e@_YKGyN%F(v^KdR}d@5#%zgGTCT z`K?%6-R33=owneok8A2_)c%qqLQWa!rP512>+~Gx^|m&~!*`5S?uq8(KI?C$;-#h! z9PovXHkZ!)GPSioC2ih#yFNBS4Y@qIUFZrUJy^T&W*b&7R9$DHx=+0O zD$9M%dwzKT+uzMp_=j(Qh>X^gxx8-Hl>SC4|Hexx=2QbcHSlbwh94Sf(&YPn`!@@q z?1nq9+)4ANmumbv^DgxE-Xo1i&v!FWn+2&`&f)-(gsHDwi*9A1n!BcFjEe)mxHyff z9>p1Jt^Fz$LAzgMHT<;0ToVoW{pcqTelXII&xgNYPSR2Dy}jn2U2mZ)y~2jPfDdEs z8NM{B@JA*JnDko>=j$dKx2jmg_yYm7^ZSR(T0RT-&29HVrI-9@X^+U;35yKm{CL>7 z0Z9gGd8YH189Fn*$Q`u!`Tz?R8Mft>>7aWZ#`h{WY^j+p?hk3UuZ)>Ce=xhriiIZ1 zYCUmnZOA`M5<4{e`8Nx#8Q*5TrH!5vI&F`gcs7tWJl(DFtS5BT=tRkP&ww8ms=n~k zZr_1lbsSWoP8BnqvmGy2?mE#P$CkoBPs7aoenge~!4K={sr3ie zkzZ}I(5dA+{cm3~(MLrV)N27fcg4)igiz46GKc5S83sA#aP6k)N*@zFlYQaURexBh zg{^G;@sKZDz2z5?Tm^QE)z=SAC|ZazZ-mwFcNqB6sKu6^qaY7Oy!GSfy-bvTG~m_{ z$g}3SfFsrVK#y`Ce);}DJ?+0%^Ym-rvz80L-f4BzL~UD)UDLT1^ovd<|EL0acjAia zU2G}fPuJR?dcGdyn{U!q?d)lyWfM29xiZN>Q{H{G`yb63U zYTfwh=K$!(rHh|waua&|r2RdEZhUX1j+2%oeF6FI!pUPpGN2E~c5OI(W15L(k8N}^ zDirjn@$tbe4q0ez&u+g=sca(uiJ#x9vN?cmhaS1~-p~NLw*RM_*CPCB(cVhGMt<){ zPq&OckO_J6&0YX4m^> z3E5X>Z)~OsoRIyseWi!e_|3BCC)bzs^TC{9>jb`O^ z^yO~n`Bpy|XxUd^PaLN+(SxpEUR&4%{NTI!vp(yurytuzT55xj)VMS3leH5OfnDonr&lMJ2q42n*T{FO2h#MZrL0SJ0n~eH zX5;bS!iK*yW^?h^;d7f^$(ns!M}^&u=UVm{==S7M<&Hv*tJ?GJuNyoCdV6h5$sX-Z z^j^lAYSn=k84DI~e|DycE|#wo6aYRw^OvvuzKIQ@(d+x)`UrUNT+{N!W?k^7RX5x- zpI)dV<>k!6rM`vybhGWH&ZXdY51buR^ne z>M8Bm*NuOSDMY(hG@L%$;79sq#SbOV@u$v-C!zcgxRpwITa(R0(aLe#BwllNP~u2T0! zo6E9JM<<=belQs<^!1yQ&)fAo`qs`7kH&;UMeE;>dUT8l# zMPIXIE7)P)%`UPEn<>M-?eMW*xjlsQ0`K$c4wQbgKL0 z77LAO-96tW+^da&lftS8I7R@vW{uuzrb2@Q>~H*KhSEU3zJM$(;+$(-<+Kh+ykchm0Q{Ag0;g!${f z($m`K7qoe1oPlcg9-P|d9QfX5=YXG1f`3%}{P^JSp#Syx;-{x@Na5vu4HoI1fLvh6 zYO)FTyFLSSncM$>J@}dZG35>!Y5t|?erGQQQqdC2NfgU81yE)^^n1H{Ef7%%y%bW>Y}5h?#Cxgf!(@_(=X{%Yd>mru;jJ%-61zE z-JG_#9_Ufj$@i*4&wQ)x$&U)HHd0jR@J+pD8OgTj!vzN*H#}Ii)4u+Wp2lWJ>qAQ# z=#`f45*vqEXxXq2-*@W9bJxz;Vx|}G{8&G35$xo{{ZH?C75Yc{h#@z6=;*D?Pu`4x9q_^WIS;=Z zXrN{uBYNPtLCd`Rc0@EA;cg z&#%|8{#X=x@PIAvcdt+ecH`p{x|Z8*qR3C$4&DQ}e7RtIMDz6qI)8Tms5z7T=qvrW z>fZ(XQ}U`;KP(CUS7zN4Mb5?f(Ucld#s0JfQqPDf@9#bY`uqNj$a-cAolmTL=LNlm zelfoB@MGxLU#x$&e4l;Lr(b`9{oKN%0j1-<*HyWiegZ={iLgpGIya>VW8 zuf842@^mTF4<(<6p0h;>|E(2#;Lq>>q~UW0$T7Q1Wks9l>citAuWJ5ypb^H|8;jJfLRsS;=lLX^JO7n4f_pifb0oL2>VVH zAqoNtnuO#FL_?BhL2#)-sY|t$TCG;mLW@hQZLM{yMa7D1t=blss;yvcwXam^d)oTk z`2Wt#o$tE|pjhnx{ontC$=sPav(KD4bLPyMBKR-9*S<6;6^7Wb;lG}8;F6#xZ}atY^*}vLgTNkoCx&xf6rT+tFwL$AK+l;CD{Fsc8Z0?$8^rZanca z@WRuL%TIj*zWe#H`~PwreEJWre`VVs==J1B|CIJ}#QOElQNI1lQ>@g?(_UN3K7ROj zFR!@aAZPZOd(PXMYMIrWw^IA?kK?Ni^H z+y^@5`kjydeiVF|k4heGgHLnK)g61S*~!*L7hT(x(w1Uf^Xj?Z7&Fpm{qp1wE2C*a zYvB3K$tjnzFUwu|y(xEcUNoxg+R@9yR%!PB-nXt~AG-VcffsxyY^B|E?blvoKI}g2 z#gFfuVOv*z`M196WWSa6^w<0M{*BN2N9LDq?{_lm%B8~^8S&s$JZ0)t*XT6fUvLyINzqR#@_S3o^;9T*RVefrq zIp-Ar{85JeaL9Vt&L7!<5Y0=cTv2mXf1h>ncdpp}_&@#DePyG6aUvIS`jxHBeqxE= zdiQ&yZ}{Map!L+v-@EgZQ&X(XcRy`E_+Q93{q)=Sw86JZ{xCMi|Mg_+hI22O`9TN! z@}}lDzA`gxy|Un``EQJd|9#8%Gr#?A(E8xR4<4HG0Q>OHe+J%UefnV7rGI!Cx_|V* z4_}=Net7mTQ|2r!4_bX6zJ1WfZ^LJM>V)NK;LW7tM_x6(Ib?;0Uod+u`|OMVmUYcZ z8DXpPrElN#-HM3y%9O1i)Z8Dnrkq%^t(^VJ{s-GDUVAHObzM9C+AHB#Jk~X2`Bm&s z2d|h=_b&XqC+mNkHKY>!eAk@H9qf1BUOV8lHZIrh-G9m1x4mgw)yMDt_JSbv?}k(Q zJOw}df#!abvu|ac*k#vz_syX7^C{cv9-9=l4&L+nGo?<@I_2+oj=Ac3()<1R^;K2y z)4Tk;<~-}S&e}NR@yp>K99;M44eQ|Z-mxw1xUuX5Z^*pjqnlXwYf>KAdipzI>&As$ zH(&h~@Z3j%1x5Gyj!9mD$CuW})EhXt^;|talUwIS?z#P0=qYbG3z3QJbG7X8)sTQ9 zA7R|PT(=T;YVT}SPmMWT)I->_7WsNqSc%+_E2mJfVIIF@kuUg^`*3SxP3RnK*YX{E zC~qxgTjrMU7uXR@0P_fjqY~>;jPZMnZzbU3UK%%It8&TEz2kW%ZDBnDoXDq0I!|KQ zI$OWQ{HyZJPZL*uHfA8^ivd|Ek=h zN$)!9<#_4_Ic9OhX5^KX_?^u2z8IP3zruX69hi`3ykwK^zY_A0GRWLm!_7l8a1NE} z)Us7v06IGcyosOBw~Tc!K6wT=EKOy&VXCCG7hIs<8b1zO@;jD#8GO>?y-AdhsVhMs z;@SG8N7Qj}V@Z3vOTmNWKZyKmuusP>!^paF5)WWAZ(7ksuP$JsatQUa?5ly3@%nEl zFFHTCWlU+)FVu2*kkP7b+_G@{jc1xg<)IYC6b+bjfgg%(;=$fh@qUMG)|Hp}=D0xV z85W!(0%LXQHo6 z540l-TNjhQl`$!1FGlyPZgqfIL|JU(f;`W?e1ktIg3sROB?vKE6FRF@; z6EOEx6}kU}Mx}YuPeNX~Epu{5L%I98AhyB%nuGq0B_KVsVq4wPe}nXObGzWWaowgQ zN4N11d!_Ag1Me;0pKyEIPawSEuzsy2Ynzs=ZL4ZI>x9lG)S}F+uXjh17T{MmtZ%$n z%XZ&{9U{(c*n($G+mSBHB%o8(waM;f_ziF>sJXt-wTlkzH4R%w%jCf8IV$ln3oD?i+G3SMt0Gco}zYi*jFCjlYfRrti8K_&Lv6qDlUk zypT)@+AEv_)eePu;0fZFdg3!~5lj{_d1j`2zh^fv13fU^?zM6S=q?r(2R(O^?d!;9WH3dJ!l#n%7&*@QZRZFFk-`me`CGv7d%tpp+?K(Gq zJ$&Y=(z{+ujA(T?-vx+hYY$Zl^0Tb#84K59uEt!6xdL-JMpN8?$Qyi0;69Ms5G3AW(iw6AJ=7`CiQTDxM8XV%|;2>t@z7W-;OQg%*{UTztc_QKL|5x;a~aQ zk2#h-6vvwC_wQH>OD^la7D`?QU%t)vJD39)x8sy1iqet_=T_oLTQ6NWdCo}{`ZYFv zF-R7s)$Y5D-1y-_jZ*JYQNi6^2emTdhZ-C%2eCY~I~!X%`9kFbZxF>nQ98>?03>X4A+)FM~&zYnEQhbI+OEYwc=>{1PltaO+?Oa#eOaxE(8*V=CHRz=+ zEoz*rM-^qDtgUTrjWsh8qyzY0%k){p7*)-_?1a3)6&_h{GcBJu>v zPE6F#%EGEAkI9}ir@Lt?Y|hAm1};Kfi_#YW$yyhSj~_>=aynw+N%KC^p6N+@T95L} z9^6}>(_MGZb-ZNDv903^iSJ#4#CLi0A`dIE6?cg=JLC)Q#i7tTy zll|&a_0rXL2KLbf$t=x&Fsk}LJT z)x`TYaiop@ZDrLej;$v0ttOxIFe5O=y@~G}%znbVpCcw7dut+CgtYqk2Ro-WDJWrQk`@RLSM3JqRcS zR0tyPgcw@`3N(ti!C>s`&_^cOs%&JX##iu=tmY`4tA_|?eNgY&<}F@*hOA6N>oOJv zs@C1;<+mK5z1p`f1%$7Zq9Ek}ucE&-(1-CAA7kZSg!;>xp46 zbZ@%D1iQLJ4igjBuNnb|O|^-El*i5vaz!-Ob(^0uz}#fb2vB<-84`M*sn1eiP<(W? z)=y>b+ZqK_?nPh5olxNN;B}TY>RaiGKRjEhRYXpgd1i3$fAfuUvb8N|b@%@Oe>ZK^ z+__Jh;pdI}A#QaK7{u%K{|Ns|^lb=V)9e4S>tEEv{}bHHM6;3F7pv8?TRe_lEyX;L zhYrxHvaYpzy21$a1a*sR6E>UaS=S>^AO1DhXq>Z%8Tvo1*ZC64QcD@RmZ12G+};l@dg$F8QZz^JA_RL!ZYUh7azry9jleXmkhD@Y#-e@n*lILxQ$!akxR z(t>Ym{aP|sB`q`Wp!>DL7r~?*qS(PbgoJtAbItEMXs>5%S?bG-E#FUK4bFQLj%@#{@8!WunNt`!wcEo<6q zsFP`lBjKuBuhY1SIn1LSwII2*>GA8T)gg*$*vCdt06RH2u`6PCbh^YjE~B z6K@ZUUg3Kk8c!5lH^myzs}55HjSh7%x;x_eaeYAT(GQKMz?}lpGC68aEt)WglyW=s4Qx^XA-Jq0rrBYYR(>lmCpqlbGYZt=T>xU;ZlW9DGwdoE@kCfhBu zzEm515xfALQpul%mo zX*-Sj%a}0k`FsnlHLJ0Mox9rDNYQE;YAEo|`*)Qsu7~EIlfWy)z*Gb^J!$fi|m7OU%~fyk9!N>LMNJV;m^qU@w#Vu+&A(qZE3>AE&LVZ z{vqE&8yokJ`Id8LA zW#x4x4GqPyvikCp*rc+u+S<~>lH#&S#S=>=PAV-cE-1`r0=A)(Ghb<`REtLY#%A5s z*0!6q9^F?!?jp-%-0$HQ++p1Rz@3HrSlS#dcCp<0)v$4k%rlaP9JGeqqTBod>L>He zxVc_t2_7@mw4QN!(ER1i!P_eEkajz$1l4n_geDH!^l`MZmGizk9!T@ zvhOkB;ublV#*VS=jE{C+9F(^@H3gwbT{VNg;CgU+*V2%WKucqTNMG@8=B*khpF_I| z%_hI!M!xrzOU{@+YEFBrKkusp`#e|popB?|lXhI%v}pgeALKEJ z%3n&JZCLu?@2k#z^4@W`?;4Oa|L(h=-#oqM`wG=yNcLew{%bZi5pE7r8SD zFLJcjSXZRLx`Z%kX9=5#Tv!_{Bss+2fxn~*)kJcfu`2cH?iLEZ-A=*<{~{p8%T>s$ zw&{4U_K1hpRDu-aFCO__U}XI;3_KhQd$XJX4< z0yff_oH;`}aA2(XZn_dmfWs92Fe>%cE+*Cni>YHHBStEo?}A&aNL$v14s7YeP1rIX zO?l~V5g4EeliNMOyGo% za0ED0I~9Efu%m!I!Da6l-a7Jr@}e;Y^;xZ#&hQwPXbw)Kh$T9 zA{vMgfE!02=F$kwu{AAqBBmfm^xmnyI!5&ocHl5sI@kAD(E&Ni5n0_C3S zB;+R$bxce~Ycp|+d&H%TPIitnF7aZzI#RNB0W0g>ud#jDzr_~(QJavii07|jv^&|H zLDJynrM&ua=2aLqSfwY`L-C0gk7F9r{fP8W#uhMW1=A>r(mSShi>u}?f(P~^Evvg8 zTh@(}n|Ugykym`FaH7{dwO55e4>Itwt}OG)B?_03!`W`*O`mJ1QoF}mX6jkHNnn`YZNW>`H?p zb)5{LC&&@%Gf_c3<$LW!X3zH)gKrxM#$j~8R@dTV4 z#|2Gz-A?&dQois{^qSKjTX1k8w#X(NK1*j>_dMBS121dR+1N5ad&Em*7>}Cp+De>( z#JSte^YCq+fIqa=<6+iIq#<*nN52bztPgQOcdKFzxwE?*bNA*~2gBAvV5Ch13Zf@ za@i(tGq-_PnI~`zG6KNLnljtP`;Plcl6wxXNiD)Nf2w5=9cZ8Tp@IK2dx-8SG?F84_u@u%^^*D(?dC0N*nn!hgsh%1F?XE;)C*H0HWi%?HplZhLF2PWo39 z-4%{C2RPYZB2EVXSpy-m(g_Wr=y^b_CSarw6TD0pNAvPbU8AEO`V(Ybxw=k06ew}F z5J&hryRqfx7Juy6M6%Y?gb5#E54O&WgNTn$+LBk$*JCzXC%mA zby2O_Ht2chuF_8WJ(?DuhAlLlTb|k`Iq%~>fylQYz-_G}T=pk!c)UTSAm#- zjKp-7uxm|NcXW~H5xT#^={^STB94r|-(braK$!7U`|1F2(pT>3;UQC%+AD4PR0&b7 z3Mcd4bj3GvTZSH5-3fycks$aMOgMHMYdNLS;-d{BD8=ri!pUDiynOOG3!Ckz=bbkl ze<>?!tc}Me**~?clch;D_-7;wkC^m?rZnmH=x>d`++N=c>|kI8Ex3K5!-e>Z_X@o5 z`*a&>`B=Se&%sY_cy^=owL7oPk!_4JHy=pEo>jHt<&IMMKcYbr41XL@WL22K}`G)jPxb=d4X zdM2`haM`~erc6EB16{_zdiOV;v<`vY;li49-Tu@|oHV+Ar_|J+>(lLsYI7b=ygbTd zPELfs5V>FXtt%0ssyoE>GwC0>EEQ^*F_^V6#^7hIaofWxARVD=O*-*%nhgYD8-S5E zG%%8vY2dAdsePT%Gw+5>PH-e-4kBuefTAlkcOP-&Y{lCrCcXV8J$G;JsaL#>B0tx- z*;^j(c*`MN`qZ1gH+-QR?xn+BdV+og#khpHZZp;b;D!Ef$JV$=5vA^4Lr85dz00*X zk%VK{$%?X`uC#Ul@7+@yX2%}EA~CC7%uX1=S226nGlF83iAyz)5)eA*_U$vp`&G-=?1xCzzPzNLwc)7 zSMk2Eg*LnuTh@-AJ?O@XGbSL4*05fQh_1>HeGDSJWpZ-Cp(997*5y~QWo`1%=t3+) zcgyXAHpd<3++H`^s;TUXAOktn8Sd@RjJevSMt9CJ1FGYXRg2sE>F-2us0Ep)qF|# zb%e{_??33!0JfOF^1UA;eEwSrmtSH(a1zp6yd_VVtiuBT4&SD%GIrO++RlW=RP*jR zx2%c$U5wvzf|AYwV6(9GdfyE|&it(*yYx8G;oe+0(FgRs7Y#pj=y-_rRmpOhVps!O|`eT-!#zbN!}`xfGt|7-D)p>DUHBfj7V(|+Ds zr9Z68rV-d-NJ8S}0HfBd1kc^@TNn%S)HD1My1bTsnKL$jY!&cAkFLZP9)~(rG?{BA zyAz+lrY&-XW1xlYVPRV)jZ56}ZN--M{UJ6(!TJ%lJZ*o)i3lqN+oEH z1SG=put(#_RIlGa#9CYG*2-iC<2$6?LHvo>W{!S#3NPoxQ+cDonz+sKlq-la7typ9$zlv zO0=G=^w#C1DYUGHNd&67g#R6c%bGJ+2slmnC=@GaV9yaIb8EjTm&%XF#OmZ;3ER+i zS9G;4md{yJQAzb$?g!?_-+%v*c)|z#6-H>qIC5Je2T$!9B`#&j)nCdN7#GiSvy|Io zhB?^oHp*OBBEmXc;xc5HfN;HT_z&y7ZukrdLkiO)mON#zBzWX#<#cSyXVwiL-(I&LxA?tJ+5zk!CWMi1 zRG_PShSEARhLd`@qqxPd0zZc(LcRFtIYbCDam4Wf*+Z(rx zV~LOIGt28nrLOY3-HnS%$8K@GeS=yt%j-rhv?YFT5f_!E7SEel@~*vn55^3^IBveE zUhU>aHLWFnqaKG=7dVWRS-z#MvM{EtM)Yu_mdz5s8sd(^9*vQ>@-1=4V7zg?ZWDK_ z8+RBQ_jugm_Y!d@VCP^Yu6#?rJQJYk8i^~qYrO7!+~U{w3HWl@ zg&2t|-x62h9~3c2`;_#UU&cxv@CI~i7>IAMu!4E%rc5<2iA zY;`u>198QnnG$!oFkb^+_?S!dBln;q*=Gp{t+TWQe<`2*#F|JsOuVn-mUv4IY0JdQ zd{XmqyGUE$7q!GgH7h{yiC|lj7NnvS?6^0gE8=g8UE(vwaRt8!80Qv9Vog{Bregt-a$8!^{muEIQxk>9c4orb2^hFn!EP)5daGk>Dv46z5*p2F`Hvz%~EP2|SM#-B-F+WudatK!5Urp2l{+Jr)2 zQ`syl(fg#km~?MpqGn+m_fK(4oxN^vI4Z%_*gsUJY+daJIU9rp`dNgE+L%I#NI7;q zt@odTCj@8YRZqwrx$?9r)4t#e|Al;{zM?Bk_!39E?yjIu%(yy*Z?F4Q+~U{zD`;u# zRhZK-@{P)Rs~RKwO&RMoJ>0dp#qW0FuEwsz)MMnE=TfY<@Spka^^aJ|NeT zu?15uB^AY6CPqku2RPZ~)%I1Rb+}QoNa{3fa)Hm_~a^lC*jga5Xv1b+{w_{ zS2(ZYFQp?DL@_)!-|%~vFxfcOcWSjcdP~|JD*ahafa}d`{EE6&f`2dKt`-$!MpX+n zTj=_m`nudi#hR)oOzIF{@$@XUy4*N%e@>i)NpUUyX<+?Y!yS*~&IWb? zs9A|^c$#o8lR_>~dBnHWeJar_B}*f0)8Zm6E@bT|o-ko*S93HAuSoInsGwe|x&N#f zkcmZX)N^{1VCq|2r#44Ul<7Mo|+sgyB0T|inm~~Wmbn^J{R{W*^;yI!O zw3+i(R(6pSK}SWiloQTc_s+eGc(Q3p#M87uLai7ZBVgq44S}HbX#8NKsG8kM|Fs^Q z_%ob1fQAKS!m zztx-&RGT@`_cwYRnec?NC5U~(yk&|HLDH)tOxnrBQ*zUKG%-LMTAF&Ky9VWC?ewCQ z`*Om(?Lg1Dassqw?Yj0`-MFTW<8@{JJwcck-zcFI{NKP|>M7-@R-V;zNTLtClmb44 zw;CGT;=EU2KO)XJY?DuX+>&0wZ@cFcuX{q)&{_yg&v74T3zKdu;j(!*>6<>?g1?M; z1aV7ny;a$b`5Ei6E5|LblFmbB1 zumP5y`|a>MI@|T?(D!+LK*_l7ejp*7SFnie2jKL}xrAURBnPzSo@@#>hq$s?uf_p zE*xhqB#s;|fn{Amzn-zP!D%g!eu`b1;C2;^v$}{|e3<+sGj-7+kr~uuVSX{~y^}a1 zC=qYp1Vb4e9_!?ALlAsR126}G6#_L5D-Zy%l*Yk^yr}2gQrhtj4=wZ)zLydvzyBMX zuvO#*%8zft?j--8V(!A+jkyPNFXldsm+17m4bk})X&sK}JeGPKs#&;BCM%lb^vSHe zmHv4yhy09s2<0lY=ly(-dPyt8S&LgXo>?PCjv75?Z1%YE6LNA33X6(MCYF|!PnrQP zn=^Ob`~{WA9l!8|MO7!Bv}EbY%T}Cn>dG2~YwBZb8_zhiX0~8v|i~Mz5Dd-*I!2*kU4PB;2}eY4R=&e9(23%U@i?K5V}VX9;8nzCQmtd zaO$+_I^zGnzpCVVcv6+AZUwrvPoi~b7Y*QT9W&1Lp!wg|0tYQyCa2Us-i@Bo(XIA_ z2J8AI#zyzrmrVR$S^q?J-QuV8sCA;g8lY#b4{5;vMa?kn;K9#1{-+=O|7ZMD`-9Uz zXZ;WUzh3|Jm(#81ewS`-!Bk<=G0(9^SG|V$1LpUbS23?(fR#PI()+21Ot=!_hEDEm zMqGu1LQ%CT+RNBxSzUWI4fn;;Bbp8o#^GJ0zZ@FkN{k$Kb}FWb;XWKjO+LJS&9j2u za^qe@JlR7T_dR?&9{0U`kM_7f;#>A^2L5Bdh4wUVQ4%A(3$HuL;})ecUUza2cyW8f zQ*jHeZqiHX5iW{r1ilh(3eRCk^P>rt!+IDNnXl`;iis;qRfNxA+@jDx;vQ)XRJ!|9 zwf}G5xNbG9xg69_H3(0HN;bLacVSC9mtvEoHP>jqlY1uaPGD^<*8pmr(%jXJqR!PV zVV<>vII^!Wd5NrCoOyY!DR1s&)uU9qAW4{Im>?3_q**k9z#= zqMX9G{ycQ?1JJ_qllGGFcbGzU*SyfdX}gv#&TVVYEn8g_D=8^1t}Q4moK#y}m>(-I zY$#jZkk6i|qeXN35foASR@>V1<6IV1?w2U{8RU69M#`PLv?A|R?4@t$eUR8vE@PkU zx|j8^m%Hv2u1yrn!ML32yPkwo-A@RAVN^?k4#o}KqXMN7Bv5Pz;|9LlEl>bFfmb~x z$(opwyeIIkZh=xcPv9O2TxVj+aaCqk_JV*qyA$^E%uX`76@!R_6bn9X4Utk`= z$oFo{qZk=lQq0GCxF5$YelHRC3G62^689;L#Qi14oS;12!~HAV;@9`hbn6-HXE732 zz9sH+7(v#O@2`8fe}h~6s)+kr>^&HXE8h}#u1Mu@D*im*5?{;uVyxyuUOB7#RnDqx_~X-{$)r%mK^>!sYj0p73}1 zeh>2xjFx1TV<^Rjb5AQ2$4;waB<{7Ok%fIM{V%C=hF_dlSf)_8UTUi)<7x>L?7f?O zs>$a9j4Y6G)Q;TwWb0IGgLRE{x3ve2-Whg*y~rMpEbU5bqjjxykM%q{zI)q+_F_BN zI^#cdoy8WkXKX$Xixvg{h!I!^4<|?+NQ~??BzUwEp z_!;}ZT{m7TQL!Zh`5F5#CED}Cr^?|mt#|W^>bXC^XL11M+^QfSxP6V8R&FUGbPU8Tf&ZIDztDuR$a$)1fl__ z%+-K{G)r}RN4-pgS1H{}^0)~jw5OrHjzS4uJnn786CPx5PuctMjq-TZSS&rO1x-{4 zJr^3anb+ueHZS2_SWE&m96_ERyRtNo7IO9lrDR~Ip_#JFPKexMi52W0t z{|E7XEPa1uK}v22(fKct=PL59!$=v7yWVv#b#;3$kE{Ex;?RXExSI^!gRY~pMRkdo+R)i13K6(1qSwlV zCcdVPRu*yPC-X$n|HrO0NvRBwxe+RLPUEnQNt199*kQrN`38T)aTJG?Tj^uXK`H>{KI3@vWVde;N7m zrns8h^|<9HV?O8adW?IqYB_!et1jeQ+B6D^UE#v2dB!s=ZY?U7Fq!Ml^mqW<39OuX zk04Jojz{u+>@rBAzcODPMoHzikKu?0_#8OldXibu39$qA1m9FDzC;{<1rI3 z$6gax=XqQEQ4e6jP_I%0!BBmuwVc=*_h8q3ETa|`Cv2%ZHX2>k5Nm~{d0NOD#)cBt zkY4WiuXKf-k6xRb1zU2oBv-wV!G0y@j$D$ezZxFRd998as}@-4^8T;tVJ z7|aoGc%B;`fAF;411b?k<@XjM$Or&7SWlucEPu8wQFH8prwKnTwW2VKW6P- zpVm|=+iJK-YPwt7-__fhJ82ymVKbW`xWUR`RY+|{lBX>S_@3=9RE8H+f}i|kWO~0B zyvOAe!b&k^m}BXAlv*q4T9-1{N+S`7%cZ+I<#h=4z?KN5$fX!mJA=0* z;`jSVh(Jk*BzPM36pVCM1px-xPUbstu&EDkkEO$8InLEDw1`x6L3f@Q1Mg6zvffqb zJk2R|CTN*D*Jr#_H0qza?1ExskQ#SB-@>0T?n1t$(~Mh?ycfQ_NBE>3Zb2EsKz64n zLS`Ehx4ncQ<6@Qbz7`HC!6RUmijWFxr7{N#bM znI5=VeDm^6Y&P~B%v{W|j45>y8k)rnC*@`+%_H6Um<5RrTC$9kH0vekV7TgIM=CmOhAyj4;56EP=YYUGg}u8U@TsK;K8 z!}#M{#$!6Rw2QITdonc%_Y}fqT$=D>X%CGugf1GS``*e(ii>cRk^Yn{XU4`)eD^b zq~6lT^7F=BO}N)xhue&|qu2yTnN!l-Y^N(KMCVB@wtLH5-*%TP+VL}`#M4L`R)lGu6(L##k8G1w8`gpm*m_$jAL|>yCcR}es*JOqxyMO=O>bBZFw*`qw&Z7Q zY4TO1DZIkVX?Qt!tH)EYpTNiXZot$xw(F%lp0HPJG42^pOSHuHA-?IKqrnI1w2}NO zoQiJ!yoUVOVtUq5bmry@*MvIG_(a#?3gXLpRn^jn<{O1fr?}czrX3oe?H~jxdfRoQ zLnJn|=mzT|JxNCn4~sGHJoJEmAsZEgG7N-yC4)(?7w+zmiT@DsM7VShb{cliJXLJ6 zc$aWlLj~^%UU1J0nRV!aWekYqBQwrf+tPBTR?AbXecZu#i-&8GhhzGc3d`F*DJ0mh7tb$mBtyf7`eTU|erS9AGG zxOaLM(2 zMzGlG-C{LF1f?XjV=`uxa!|M@9dcuQKk>7HABBNfsOPmA9?b;Zc8f;7c7_s-?%9g% z8{6~c9X@GG&wR{hgr3=+@21Eom_vM_!h|~Vj5an`og5ylm#0Q+>(nDzknSC^4VMG& z0Q>p!Q&H9Qxr_Lvp8O6aJlO%j;b*T<4bJO~<%x(eNO+91Wa-SMbE{97x#W0E*$V0HnSd12>r;oTt zz)80(v2AB+Ey-42e})o;Ht-XHAAm`K2!YIlSR#dDR1&~qn?pRIR!lr$uLz4rbm+zN zQB6;45>?VWmpFnUOq?dZWo0++v-uWGCL-ZyQE!wgaJf0Ypuzqf}H z=lq7wW~GOW5w)K(R*|Q?@gS?`F{jU(?Y$ScFp$yhUZ8QCdx2he7WsdkRZZGPeiYq0 zmv56+8I34?YTV|IUiGPq^6QXCZ^=LELsZ2`&863?TveL5BFDb&-H{~#<#cJ;+9op#`rN)re%+to#TPM zfp6K>nzZlYdxXb*H{ZfoGyQ%P)Mh-b7UK26d~uz+zCa<_upYBgCz-F7>y~;NrH53b`R)-PzGl&gwMPVRhE*E}oKAYKfJQSD|888GK;OeH!C6NqEI35pU3*LMbTgKL#*n*o)c~?6|Sy)ug zm3?|zpEawLG*|A3a8cRzWi;EfyOB>56sN}l3rA3gpI}RQqJ;5)=J&Xm>+dd<4 zOFNtJQMetP=eSe>w2C_K<2Vc{$5{P&=NSGBbazMXhVwjeFD9<^_w=z)HB)lnsiIQb zsi-)oeQo2qIuy>r6nF>a?Avbz=>IgnT6R!`)0d- zRoGK7Ihgaw+?212?@bsvM)Ue#h}+O>iDM(~z*XxPcH$fy!~UWCTT}G>?827yEks47 zU22)uqU%ZBo#PMzYW=g$K~-6Zs@6v7t3%5IZe^6Eq-LmHVLf@td@}3J(d?e3zVef{ zmtEzdc_iMLX(b;i$1>ogPUAede~JhUJK3;R#~qqP;-n2~991Q<3)Z*JR0MA_>X99l z4pM65Cwq@SVhc{X6I;spQ*3G5n<#{=2b{dOaJt}0lD$z{hMHenfff8^;?~r5)Hs|& zOZ%&PZ&CuntAH0gf26$1A>t)3@A%kE+bPbbI+5)j_7%eBu?U>Z8ldD(`Mp%T{vktJ(THFJ={ScCAfoLP9F^o_;CLK!s8Gqa=+ zzir7P0ZYK;GeG#m43i~xjXdo^^&D4afPzws9ucb1U)8t)wg?)F)tL@Dxrn9s6Z%2k znw3R4PI2jJHEf-AR=4+JZqi0(@Wg3)N^iJf2Y?aUY!wq%#-Ed2=uDa7jC-2Cli!f^ z48@Hfi7n$K4?=JX--2sqDQ@8jogKO}bl~_N+#g-{|g=gMv;oGF6?%T%Nv!+g+dg%7I zCR-jZa-25Ni!!bz>M-dVXylrjoT&Dc?+S(cS;t_f;4Z?JtZOhwf>{BK zw4Wqo%5^S&(vDJYNk?$!H~791^G%H6Zk!X%iJ~p@949X?dR`8Ho%56f>%8n}c20Dq zif{1lRm3~(kPZi@<3lopm2l@^zl zluj%yEiEf8FP&6YP*zx0R90M8QZ})yw5+VGylhf=L3v?$QF(EBN%_R`((itpG4A=h&BnYL%Vjou#};I3MU~+>el;Dbb^d?X>-$NSM&WX%r%(9Hl60c$H|=` zeRLb1&B7qGyK!&AEqF0Ij;`Y~PCdDo58twGtz2RS$B~8utk5jNgV1vrh5%Y0^!(_i zmqJ!LM58RdTK(4Vg1HV~>cZAt&iNg_rObo|p;O@pYKW2}O#Ge4&+zq#V}! z#F09r_03SYSv2;ng9uV2wi{K1N?cB81LTpz?eoTUo$KUm`D__iIm9i*K4M(d5rZ$g zMO#Z8*#~L~XSb?uJ)!sI?P$e{(|6~E)o-4N(zP<6TS-UOoS$IJe$3!4`+xXn&AjI} z2-0HTr~dpsegXNRhex9RVw~`fM9xc2C^{N)%k=@L(UhorM0XJap8YiM%`8DWLLAn^ zFP9ZZ$I9-nd7HDaWn3Mu|2o=4nRL(I<5Yq; zO#0!5jhB7xy9LWvTz2`EA-_-Sb^O8)Kg!FWzUs8<*EfId>)*KY`#-t==Z`-2@t9Z1cXTUj6L+I;8E2OoO=#RGr8@GFICa(OUq1itNB2Dc>Vdz%*VcYT zN9VW3@yKcrc*A`qc{5N}^Ik;%?sVl>gUg=}=-+rgLrEKc-S#!61 zW67G%C!T!n*Dw9<%})+mPW6ZjUJG0>Co(t?%Gh*!TGwsC;YphY`v*qsKz^Vk5cb>Q zP&gx6)vI^-yOCKi6*uGD5vl zDgr}CS3BzhXN>N8B6z_a{z0J&KK7py?w^#I)HkJX${C?(Xi(^s@Py#JXigv{VEYS` za{_}x$^Nd}3Cb@#!QZtbGR5D^KP6lqnGn3-U`A#nKO@(l)hnx4*X4l=t{Irz?~<#6 z`N7FyUs`5T*MlQEQo3FkloISZ80>m2E&*M*rwqWzN=2D-i)x@||wfI#8)z^0eSgj0gSuA9?0y%)Bf@gYLL7U+7= zKiJJ<2{KaHj9a z{-5}E`kwXu+P5d=`J@+oFZy1#_XhX*-VD6ud)qk>c;EMd|3f=v?Br>S7GH7Wjo&%v zvTuItyLaAy(N99*q|&L=mi^arzYg@xEG=8M{QMvM=*JIC+}r!&OTT_&d@#ybT(r18 zw(6dH2M-BHqRD*+luoL+_4_aVE~#wGH*O6_Cr@i=yyD7?mg{qG!n^s#_5 za`c$&;_`|G$1SW{f@TWFUQJ!B;mr08=biu69Y6T-9lM_U(T|&39{lF%BhCr>1G)YN zzn!1gb-_@7VXq;9QAxvs6M}OBY2&+o5E>O2708a1Brlr1sVu2~G?F=a?j(O*B&nc( zFv~wUXwN7Q93RXNM8iqp8P3>1N>Zu6A~+}wp3zDMq<_=yES&~{Aj&}WHUUaB`er1_IEfNh)3P(4U4h&EB4_RjS zDoVZZ`i9QruH9cX_2?k7#?Owcot6WhyLB z8rXI5ruqJ_%<9!|bJg%rsO$L&!D(4`Yp#D#z_)3}@QjL}z3I8}7yP;FpW_w=q5^ZpRz34^`r8ksX2ipW<;p#x(izAXWn?py$;Vv$h`#H6saSoa5=R&A$JQeNFOWQWe zKDn}4@65ck?zPakRkGzYfuMJ9__qmP6kB7Y8>?E{&1a<++nghNS&?-T*{1GsuOqJ7 z3dT3+N}RO1v$eXTMeXNB!n=E%>xm;b_9}Z@zIFYrlK#VYmESXJ##}4MSrja&S!9(s zOLm>$Ec@Dy8Ou^{?pn6vMTB1dd&cVK5B9E}_OVsh<$E|*7T$M8SK6jlYsmJEdxvfR z`gJ4seRE6x%&QAZ_FZkwnfa~x^R|D>TKn*~CY`bGTQi#NYu>+j-?cAX{_u4Ner#Vq z@+Y;|e{|=}t=7&>H&}bN-*EE_`);&e+w{FHuh-uE+#9vu-}~mi?^|zY{h;9QS+_&A z-?jJV5qDSIJL~T6K6Am{`~K>?$9jL(J;Od&eGhVL_Z;8nd-vQi@)1nmduI*`4a&Ep zcEAn}u!q}LASEprh6Y_`j}O{DU%<8%+OqAw_7eND$j$Z`pB)-EHVqIT|7>u7U}$o% z+zzKT*pWaa;E(!!c6vc-EHf*K=)p{1pFRV_$-zuJlrcV<;tz)w+Ud4G&?~i%9f8Q~ zZHRAK|~mv5in?iJ`4Af8EA zLR7kxgzr>4ox=M;!W5D6#}^{Mjc3TtP9>EAcDg@;O+*_oUtmapLWzG=Qqv(JpB+f` zrwIHwpYpTqU?3dqAHt`%Ka;ZAzHo%5vm?EIsTIL+$S#&VgLWo=`;c-_S~e}<*wZ8S zs6ZbUf>E=}h!sqq!4w@MpuP#VMRQ1Z1bpK#S#eh{dlKKXN2jMR^M(ADFT)-bJl>xi z?wi~Xlpy8urIh&kq|vXl^(r~sP6;Fp80HJgI$1g-Fx}U;$R6NJ_7|4ez3fQwcwZoz zV<)GT_4h|d`I5pDeEx9(ib$&lca2R;wtOMq7)*rH$ZxoBqUt%;cz?hb3Zw@4>ac0! z)EK$afly=80Q>@WGTj#p*cs!H=l@fP_D|6@EDzi11Cqj|G!4k0?8rj6jCLaV5f!7>1WAO4j=vuwUnn& zA$m%U^`Le{|5i@{n%^ zjT)4(Hgx<@|Im>Ud&uBY!uq84ZdNN?YPL0A#`L10Q9IIqeDAz|g9jwdn-GjnO0rW2 z4k*qDL`E`cX4nB}52`e>w>^UC5SXUM7iEfuCk14ARG3q>=z)Mw8h>`Utx{@J88Glny57$ZJ=7}$g9dRoMn=aXUJ8(i#*W-JKW zy(_IGJ6Fa|;V@=@TBWo_4!y;EqIL!|Du`GNBQ3-h$FV|x@TvWr z<_w|xcBqyG`XTKhyno}SEcz^!HS5BFV|^o7W1ZG#o7H=OGd#tq8U9Yrwh7}4oSc@M z_vZL+t;rqsVNIU(iBo#x!J5*K?R}+oG^=b>>b|nu(rPE=XKtTVFr;?De+}Eda7IaO z)qyj%pSZXs>!cfYZa>L-wsuME*V~s^FJ~>a_U=3RN3Yi|-~UF|DbKyN{S?P~`;-Ir z`KMZ~uw`?p4~=cx3z7@^rQ0#6eHuS7(jGQ=WpYJQlARe)*gQDFKP56g({@0FHfssJ z5cLhUDIiC2JF5*@UK9VHeKnD`i9w)iJL;qY?_-? z{j_Ny>`PXuN|9({pSXwkCP{C&xeT=z&OT=oo)TGY`;wBwmA=8GXWM0I^bDxf z9+hM_C@kso4fF;4>48+r7oz)NwEBnohVgHP&ki#ok{R@**XbK!uLof!u@JpNBT!nI zf6SRs)MpnAFANmm4%*pCDL#iv+Wv9^iRiCjW?t(DAF%+k%=jLgVcCylS^lrtH4KeL zA0sX5_^N#Df+_nz7MN>%gL>F4{`>B?-S*p{*{@^1KsmuUrRr*TcY~Nog8;H+0*mpA6!}gsa z?LlbFPp1aK7QXlBd09rbkYB)dqS+zUQz4%}j|OMX0ew<`H6wjz3+AWI8Eujk(>U2z z5)>qE*`Zz*8$QdP9^h=>hr<5>7Htp+Mk2oOumC*ivOrP9PP6+5?Ovqn&hdJC8*!!v zXo2v$uvOD_ATigbyK}7utkjU?*fY}i+Kqjj(A)jDh2{<18)|j-hHFOcORUUY zs{g)$doybXRSn4+Ts3_AU~5$EkeW004e4sm8oKK@S;L-rv3A&ueObc~yk0x}z#H3# zKmOLf;a}RHF$3g8e)O5qFu>1@pVsh8Sz6=##bm5eXQ6Qw5BZT4`Z2j z9hj8nw*p^{4vW~moaoqIR&;073SAc+Lw@~=pUuD(T09ji=|3vhdD50W7IT|yMj9Bq^_tnS*FFpT>3Q?-#D&(((ON) z73v38VWiA_;(1t^f=Ja*-G!IK`I#5LfImZS<`30}K$?$RUnFSBLUkWYILusGThrWa z)3OzWti$z5)EE*M2AJ5!T*N_FBW5;cDCVCWaLxQkk{(`2bomvzcCl;A6|SZ4rT-r$ C3LwA$ From a6c04573642c404067357def7885c7d77aea4f53 Mon Sep 17 00:00:00 2001 From: ducnt131 <62016666+anhductn2001@users.noreply.github.com> Date: Thu, 13 Apr 2023 05:23:26 +0700 Subject: [PATCH 39/50] Merge branch 'main' into feat/hyperspace (#492) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Param proposals, balance inquiries, and IBC transfer error handling (#393) * Extract file writing/copying logic to helpers * Add ParamChangeProposal * Update file naming for param change proposal * Use Code to detect errors in IBC transfers * Add AllBalances and ParamChangeProposal * Add support for the Hermes relayer (#396) * adding some scaffolding for hermes relayer * chore: updating interface to accept create connection options type * chore: wip * wip: adding path map to hermes relayer type * writing mnemonic file * correctly reading toml config * ibc test passing with hermes relayer * learn ibc test passing with hermes relayer * adding parse client and connection output * adding hermes test cases * remove unused types * undid import change * reverted import change * reverted some unintentional changes * fix linting error * adding hermes to conformance matrix * adding default value for matrix file for CI * pass absolute value for matrix file * removed extra part of path * adding hermes to Labels function * add capabilities for hermes * temporarily strip down number of tests to verify hermes relayer * fixing conformance tests * fixing channel tests in TestRelayerSetup * revert to go rly to test * bump hermes version * extract json response correctly * extract json result from stdout * correct channel parsing json stdout * set field ClearOnStart to true * switch back to go relayer as default * add hermes to the default relayers list * update penumbra chain spin-up (#409) * Create .github/dependabot.yml Start dependabot. * Bump github.com/BurntSushi/toml from 1.2.0 to 1.2.1 (#432) Bumps [github.com/BurntSushi/toml](https://github.com/BurntSushi/toml) from 1.2.0 to 1.2.1. - [Release notes](https://github.com/BurntSushi/toml/releases) - [Commits](https://github.com/BurntSushi/toml/compare/v1.2.0...v1.2.1) --- updated-dependencies: - dependency-name: github.com/BurntSushi/toml dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump modernc.org/sqlite from 1.17.3 to 1.21.0 (#433) --- updated-dependencies: - dependency-name: modernc.org/sqlite dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump leonsteinhaeuser/project-beta-automations from 2.0.1 to 2.1.0 (#428) Bumps [leonsteinhaeuser/project-beta-automations](https://github.com/leonsteinhaeuser/project-beta-automations) from 2.0.1 to 2.1.0. - [Release notes](https://github.com/leonsteinhaeuser/project-beta-automations/releases) - [Commits](https://github.com/leonsteinhaeuser/project-beta-automations/compare/v2.0.1...v2.1.0) --- updated-dependencies: - dependency-name: leonsteinhaeuser/project-beta-automations dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> * Bump golangci/golangci-lint-action from 2 to 3 (#429) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 2 to 3. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v2...v3) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> * Bump actions/checkout from 1 to 3 (#430) Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> * Bump github.com/gdamore/tcell/v2 (#434) Bumps [github.com/gdamore/tcell/v2](https://github.com/gdamore/tcell) from 2.4.1-0.20210905002822-f057f0a857a1 to 2.6.0. - [Release notes](https://github.com/gdamore/tcell/releases) - [Commits](https://github.com/gdamore/tcell/commits/v2.6.0) --- updated-dependencies: - dependency-name: github.com/gdamore/tcell/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> * Bump github.com/avast/retry-go/v4 from 4.0.4 to 4.3.3 (#437) Bumps [github.com/avast/retry-go/v4](https://github.com/avast/retry-go) from 4.0.4 to 4.3.3. - [Release notes](https://github.com/avast/retry-go/releases) - [Commits](https://github.com/avast/retry-go/compare/4.0.4...4.3.3) --- updated-dependencies: - dependency-name: github.com/avast/retry-go/v4 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#436) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.8.1...v1.8.2) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin * Bump go.uber.org/zap from 1.21.0 to 1.24.0 (#439) Bumps [go.uber.org/zap](https://github.com/uber-go/zap) from 1.21.0 to 1.24.0. - [Release notes](https://github.com/uber-go/zap/releases) - [Changelog](https://github.com/uber-go/zap/blob/master/CHANGELOG.md) - [Commits](https://github.com/uber-go/zap/compare/v1.21.0...v1.24.0) --- updated-dependencies: - dependency-name: go.uber.org/zap dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> * Cosmos SDK v0.47 (#359) * chore: update to 0.47 * bump go * updates * updates * feedback * Fix BroadcastSync for cosmos broadcaster (#360) * Fix BroadcastSync for cosmos broadcaster * Fixing docstring * public grpc, register tmlightclient codecs as no longer by default, attempt base64 decode on key if string value doesn't match for backwards compatibility Add test for IBC with chains pre/post SDK 47 upgrade * Bump ibc-go to latest commit * deps: upgrade to ibc-go/v7 and bump ibctest go mod (#372) * bumping ibc-go to v7 branch * bumping ibctest go mod to v7 * chore: align User interface with CosmosWallet and fix issue with broadcast mode sync (#388) * chore: v0.47 branch merge and bumps (#406) * Param proposals, balance inquiries, and IBC transfer error handling (#393) * Extract file writing/copying logic to helpers * Add ParamChangeProposal * Update file naming for param change proposal * Use Code to detect errors in IBC transfers * Add AllBalances and ParamChangeProposal * Add support for the Hermes relayer (#396) * adding some scaffolding for hermes relayer * chore: updating interface to accept create connection options type * chore: wip * wip: adding path map to hermes relayer type * writing mnemonic file * correctly reading toml config * ibc test passing with hermes relayer * learn ibc test passing with hermes relayer * adding parse client and connection output * adding hermes test cases * remove unused types * undid import change * reverted import change * reverted some unintentional changes * fix linting error * adding hermes to conformance matrix * adding default value for matrix file for CI * pass absolute value for matrix file * removed extra part of path * adding hermes to Labels function * add capabilities for hermes * temporarily strip down number of tests to verify hermes relayer * fixing conformance tests * fixing channel tests in TestRelayerSetup * revert to go rly to test * bump hermes version * extract json response correctly * extract json result from stdout * correct channel parsing json stdout * set field ClearOnStart to true * switch back to go relayer as default * add hermes to the default relayers list * Update version of ibc-go from v6 to v7 from merge * Bump sdk and ibc-go --------- Co-authored-by: bigs Co-authored-by: Cian Hatton * deps: bump SDK to v0.47-rc3 (#414) Co-authored-by: Carlos Rodriguez * Consolidate flush command into single command (#417) * Consolidate flush command into single command * Updates for hermes * Bump to rly default with consolidated flush * Flush with channelID since hermes requires it * feat: add ReadFile method for reading files from docker fs (#423) Expose a ReadFile method on ChainNode so that you can read files from the docker filesystem within test cases that exist in downstream repos. --------- Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> * Add support for genesis sub commands (#384) * Add support for genesis sub commands * Remove logging and add some basic documentation for UsingNewGenesisCommand * Remove UsingNewGenesisCommand from chainspec + add test --------- Co-authored-by: Julien Robert Co-authored-by: Cian Hatton Co-authored-by: Damian Nolan Co-authored-by: Gjermund Garaba Co-authored-by: bigs Co-authored-by: Carlos Rodriguez Co-authored-by: Carlos Rodriguez Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> * Add image repo to upgradeVersion (#445) * add image reop to upgradeVersion * container repo * juno container repo * fix order * capitalization * generate explicit port bindings (#444) * generate explicit port bindings * Prevent race to open ports between closing tmp listeners and starting containers * Bump github.com/cosmos/ibc-go/v7 from 7.0.0-rc1 to 7.0.0 (#451) Bumps [github.com/cosmos/ibc-go/v7](https://github.com/cosmos/ibc-go) from 7.0.0-rc1 to 7.0.0. - [Release notes](https://github.com/cosmos/ibc-go/releases) - [Changelog](https://github.com/cosmos/ibc-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/cosmos/ibc-go/compare/v7.0.0-rc1...v7.0.0) --- updated-dependencies: - dependency-name: github.com/cosmos/ibc-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin * Bump golang.org/x/tools from 0.6.0 to 0.7.0 (#449) Bumps [golang.org/x/tools](https://github.com/golang/tools) from 0.6.0 to 0.7.0. - [Release notes](https://github.com/golang/tools/releases) - [Commits](https://github.com/golang/tools/compare/v0.6.0...v0.7.0) --- updated-dependencies: - dependency-name: golang.org/x/tools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin * fix: remove race condition on start container retries (#415) * fix: increase retry to 15 seconds to avoid retrying a command exec * chore: increase log tail, simplify start container logic * chore: cleanup, revert change, add in-code comment * chore: remove reference to retry * Bump github.com/libp2p/go-libp2p-core from 0.15.1 to 0.20.1 (#440) Bumps [github.com/libp2p/go-libp2p-core](https://github.com/libp2p/go-libp2p-core) from 0.15.1 to 0.20.1. - [Release notes](https://github.com/libp2p/go-libp2p-core/releases) - [Commits](https://github.com/libp2p/go-libp2p-core/compare/v0.15.1...v0.20.1) --- updated-dependencies: - dependency-name: github.com/libp2p/go-libp2p-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin * consolidate create node container (#447) * generate explicit port bindings * Prevent race to open ports between closing tmp listeners and starting containers * Consolidate create node container * Use RWMutex * initialize containerLifecycle for penumbra node * Bump rly to v2.3.0-rc2 * Temporarily modify version * Bump github.com/centrifuge/go-substrate-rpc-client/v4 (#438) Bumps [github.com/centrifuge/go-substrate-rpc-client/v4](https://github.com/centrifuge/go-substrate-rpc-client) from 4.0.10 to 4.0.12. - [Release notes](https://github.com/centrifuge/go-substrate-rpc-client/releases) - [Commits](https://github.com/centrifuge/go-substrate-rpc-client/compare/v4.0.10...v4.0.12) --- updated-dependencies: - dependency-name: github.com/centrifuge/go-substrate-rpc-client/v4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin * Bump actions/setup-go from 3 to 4 (#472) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Migrate docker relayer to ContainerLifecycle (#466) * Bump default rly version to v2.3.0-rc4 * update docker relayer to use ContainerLifecycle * Add nil check * Make ICA waits more explicit (#471) * Make ICA waits more explicit * Poll for channel close * Bump modernc.org/sqlite from 1.21.0 to 1.21.1 (#473) Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.21.0 to 1.21.1. - [Release notes](https://gitlab.com/cznic/sqlite/tags) - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.21.0...v1.21.1) --- updated-dependencies: - dependency-name: modernc.org/sqlite dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin * Bump google.golang.org/grpc from 1.53.0 to 1.54.0 (#463) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.53.0 to 1.54.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.53.0...v1.54.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin * Bump github.com/cosmos/cosmos-sdk from 0.47.0 to 0.47.1 (#462) Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.47.0 to 0.47.1. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.47.1/CHANGELOG.md) - [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.47.0...v0.47.1) --- updated-dependencies: - dependency-name: github.com/cosmos/cosmos-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin * Bump github.com/99designs/keyring from 1.2.1 to 1.2.2 (#450) Bumps [github.com/99designs/keyring](https://github.com/99designs/keyring) from 1.2.1 to 1.2.2. - [Release notes](https://github.com/99designs/keyring/releases) - [Commits](https://github.com/99designs/keyring/compare/v1.2.1...v1.2.2) --- updated-dependencies: - dependency-name: github.com/99designs/keyring dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> * Update `ExportState` (#475) * update exportstate * add space * concatenate stdout and stderr * use ChainConfig in RestoreKey relayer * fix mini bug * fix lint * use cmd create node same main --------- Signed-off-by: dependabot[bot] Co-authored-by: bigs Co-authored-by: Cian Hatton Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andrew Gouin Co-authored-by: Julien Robert Co-authored-by: Damian Nolan Co-authored-by: Gjermund Garaba Co-authored-by: Carlos Rodriguez Co-authored-by: Carlos Rodriguez Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Nguyen Thanh Nhan --- .github/dependabot.yml | 20 + .github/workflows/lint.yml | 4 +- .github/workflows/prior-version-pr.yml | 2 +- .../strangelove-project-management.yaml | 2 +- .github/workflows/tests.yml | 8 +- .gitignore | 3 +- chain/cosmos/broadcaster.go | 2 +- chain/cosmos/chain_node.go | 236 +++--- chain/cosmos/cosmos_chain.go | 59 +- chain/cosmos/query.go | 2 +- chain/internal/tendermint/events.go | 2 +- chain/internal/tendermint/events_test.go | 2 +- chain/internal/tendermint/tendermint_node.go | 73 +- chain/penumbra/penumbra_app_node.go | 57 +- chain/penumbra/penumbra_chain.go | 162 ++-- chain/polkadot/parachain_node.go | 81 +- chain/polkadot/polkadot_chain.go | 265 +++--- chain/polkadot/relay_chain_node.go | 73 +- chain/polkadot/tx.go | 14 +- chainspec.go | 1 + chainspec_test.go | 12 + cmd/interchaintest/example_matrix.json | 2 +- cmd/interchaintest/interchaintest_test.go | 2 +- conformance/flush.go | 31 +- conformance/relayersetup.go | 12 +- conformance/test.go | 1 + docs/writeCustomTests.md | 3 +- examples/cosmos/chain_upgrade_ibc_test.go | 6 +- examples/cosmos/chain_upgrade_test.go | 6 +- examples/ibc/interchain_accounts_test.go | 92 +- examples/ibc/learn_ibc_test.go | 7 +- examples/ibc/packet_forward_test.go | 12 +- examples/penumbra/penumbra_chain_test.go | 5 +- .../polkadot/push_wasm_client_code_test.go | 24 +- go.mod | 196 ++--- go.sum | 801 ++++++++++++------ ibc/relayer.go | 9 +- ibc/types.go | 2 + interchain_test.go | 36 +- internal/blockdb/messages_view_test.go | 24 +- internal/dockerutil/container_lifecycle.go | 147 ++++ internal/dockerutil/filewriter.go | 5 +- internal/dockerutil/ports.go | 72 ++ internal/dockerutil/startcontainer.go | 34 +- relayer/capability.go | 8 +- relayer/capability_string.go | 7 +- relayer/docker.go | 126 ++- relayer/hermes/hermes_commander.go | 204 +++++ relayer/hermes/hermes_config.go | 175 ++++ relayer/hermes/hermes_relayer.go | 303 +++++++ relayer/hermes/hermes_types.go | 95 +++ relayer/hermes/hermes_wallet.go | 42 + relayer/hyperspace/hyperspace_commander.go | 12 +- relayer/hyperspace/hyperspace_relayer.go | 39 +- relayer/options.go | 11 + relayer/rly/cosmos_relayer.go | 28 +- relayerfactory.go | 18 +- test_setup.go | 6 +- 58 files changed, 2525 insertions(+), 1158 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 internal/dockerutil/container_lifecycle.go create mode 100644 internal/dockerutil/ports.go create mode 100644 relayer/hermes/hermes_commander.go create mode 100644 relayer/hermes/hermes_config.go create mode 100644 relayer/hermes/hermes_relayer.go create mode 100644 relayer/hermes/hermes_types.go create mode 100644 relayer/hermes/hermes_wallet.go diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..ebf2bb36a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,20 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: gomod + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 10 + labels: + - dependencies + + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: monthly + open-pull-requests-limit: 10 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 123b8c4f8..cf32fa74f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -11,9 +11,9 @@ jobs: name: lint runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: golangci-lint - uses: golangci/golangci-lint-action@v2 + uses: golangci/golangci-lint-action@v3 with: version: latest only-new-issues: true diff --git a/.github/workflows/prior-version-pr.yml b/.github/workflows/prior-version-pr.yml index a5ddba659..d2e4be23c 100644 --- a/.github/workflows/prior-version-pr.yml +++ b/.github/workflows/prior-version-pr.yml @@ -9,7 +9,7 @@ jobs: name: release_pull_request steps: - name: checkout - uses: actions/checkout@v1 + uses: actions/checkout@v3 - name: Create PR to branch uses: gorillio/github-action-cherry-pick@master with: diff --git a/.github/workflows/strangelove-project-management.yaml b/.github/workflows/strangelove-project-management.yaml index e0023dd71..5c288d9f5 100644 --- a/.github/workflows/strangelove-project-management.yaml +++ b/.github/workflows/strangelove-project-management.yaml @@ -15,7 +15,7 @@ jobs: github.event_name == 'issues' && (github.event.action == 'opened' || github.event.action == 'reopened') steps: - name: Add Issue to "Motherboard" Project Board - uses: leonsteinhaeuser/project-beta-automations@v2.0.1 + uses: leonsteinhaeuser/project-beta-automations@v2.1.0 with: gh_app_secret_key: ${{ secrets.MB_SECRET_KEY }} gh_app_ID: ${{ secrets.MB_APP_ID }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6a0658092..389317a3f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,7 +17,7 @@ jobs: steps: # Install and setup go - name: Set up Go 1.19 - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.19 @@ -39,7 +39,7 @@ jobs: steps: # Install and setup go - name: Set up Go 1.19 - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.19 @@ -60,7 +60,7 @@ jobs: steps: # Install and setup go - name: Set up Go 1.19 - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.19 @@ -81,7 +81,7 @@ jobs: steps: # Install and setup go - name: Set up Go 1.19 - uses: actions/setup-go@v3 + uses: actions/setup-go@v4 with: go-version: 1.19 diff --git a/.gitignore b/.gitignore index dff1bd8a8..d39e39ff1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ # Don't commit the interchaintest.test file, # regardless of where it was built. interchaintest.test - -/bin .idea +/bin vendor diff --git a/chain/cosmos/broadcaster.go b/chain/cosmos/broadcaster.go index 294e77c1a..9ace40b04 100644 --- a/chain/cosmos/broadcaster.go +++ b/chain/cosmos/broadcaster.go @@ -107,7 +107,7 @@ func (b *Broadcaster) GetClientContext(ctx context.Context, user User) (client.C if !ok { localDir := b.t.TempDir() containerKeyringDir := path.Join(cn.HomeDir(), "keyring-test") - kr, err := dockerutil.NewLocalKeyringFromDockerContainer(ctx, cn.DockerClient, localDir, containerKeyringDir, cn.containerID) + kr, err := dockerutil.NewLocalKeyringFromDockerContainer(ctx, cn.DockerClient, localDir, containerKeyringDir, cn.containerLifecycle.ContainerID()) if err != nil { return client.Context{}, err } diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index 283f6b463..3ad74a323 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -17,26 +17,23 @@ import ( "time" "github.com/avast/retry-go/v4" + tmjson "github.com/cometbft/cometbft/libs/json" + "github.com/cometbft/cometbft/p2p" + rpcclient "github.com/cometbft/cometbft/rpc/client" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + coretypes "github.com/cometbft/cometbft/rpc/core/types" + libclient "github.com/cometbft/cometbft/rpc/jsonrpc/client" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/crypto/keyring" "github.com/cosmos/cosmos-sdk/types" + paramsutils "github.com/cosmos/cosmos-sdk/x/params/client/utils" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - dockertypes "github.com/docker/docker/api/types" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/network" dockerclient "github.com/docker/docker/client" - "github.com/docker/docker/errdefs" "github.com/docker/go-connections/nat" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/blockdb" "github.com/strangelove-ventures/interchaintest/v7/internal/dockerutil" "github.com/strangelove-ventures/interchaintest/v7/testutil" - tmjson "github.com/tendermint/tendermint/libs/json" - "github.com/tendermint/tendermint/p2p" - rpcclient "github.com/tendermint/tendermint/rpc/client" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - coretypes "github.com/tendermint/tendermint/rpc/core/types" - libclient "github.com/tendermint/tendermint/rpc/jsonrpc/client" "go.uber.org/zap" "golang.org/x/sync/errgroup" ) @@ -56,11 +53,32 @@ type ChainNode struct { lock sync.Mutex log *zap.Logger - containerID string + containerLifecycle *dockerutil.ContainerLifecycle // Ports set during StartContainer. hostRPCPort string hostGRPCPort string + + // preStartListeners dockerutil.Listeners +} + +func NewChainNode(log *zap.Logger, validator bool, chain *CosmosChain, dockerClient *dockerclient.Client, networkID string, testName string, image ibc.DockerImage, index int) *ChainNode { + tn := &ChainNode{ + log: log, + + Validator: validator, + + Chain: chain, + DockerClient: dockerClient, + NetworkID: networkID, + TestName: testName, + Image: image, + Index: index, + } + + tn.containerLifecycle = dockerutil.NewContainerLifecycle(log, dockerClient, tn.Name()) + + return tn } // ChainNodes is a collection of ChainNode @@ -135,8 +153,7 @@ func (tn *ChainNode) HostName() string { } func (tn *ChainNode) genesisFileContent(ctx context.Context) ([]byte, error) { - fr := dockerutil.NewFileRetriever(tn.logger(), tn.DockerClient, tn.TestName) - gen, err := fr.SingleFileContent(ctx, tn.VolumeName, "config/genesis.json") + gen, err := tn.ReadFile(ctx, "config/genesis.json") if err != nil { return nil, fmt.Errorf("getting genesis.json content: %w", err) } @@ -145,8 +162,8 @@ func (tn *ChainNode) genesisFileContent(ctx context.Context) ([]byte, error) { } func (tn *ChainNode) overwriteGenesisFile(ctx context.Context, content []byte) error { - fw := dockerutil.NewFileWriter(tn.logger(), tn.DockerClient, tn.TestName) - if err := fw.WriteFile(ctx, tn.VolumeName, "config/genesis.json", content); err != nil { + err := tn.WriteFile(ctx, content, "config/genesis.json") + if err != nil { return fmt.Errorf("overwriting genesis.json: %w", err) } @@ -161,14 +178,13 @@ func (tn *ChainNode) copyGentx(ctx context.Context, destVal *ChainNode) error { relPath := fmt.Sprintf("config/gentx/gentx-%s.json", nid) - fr := dockerutil.NewFileRetriever(tn.logger(), tn.DockerClient, tn.TestName) - gentx, err := fr.SingleFileContent(ctx, tn.VolumeName, relPath) + gentx, err := tn.ReadFile(ctx, relPath) if err != nil { return fmt.Errorf("getting gentx content: %w", err) } - fw := dockerutil.NewFileWriter(destVal.logger(), destVal.DockerClient, destVal.TestName) - if err := fw.WriteFile(ctx, destVal.VolumeName, relPath, gentx); err != nil { + err = destVal.WriteFile(ctx, gentx, relPath) + if err != nil { return fmt.Errorf("overwriting gentx: %w", err) } @@ -510,6 +526,36 @@ func (tn *ChainNode) InitHomeFolder(ctx context.Context) error { return err } +// WriteFile accepts file contents in a byte slice and writes the contents to +// the docker filesystem. relPath describes the location of the file in the +// docker volume relative to the home directory +func (tn *ChainNode) WriteFile(ctx context.Context, content []byte, relPath string) error { + fw := dockerutil.NewFileWriter(tn.logger(), tn.DockerClient, tn.TestName) + return fw.WriteFile(ctx, tn.VolumeName, relPath, content) +} + +// CopyFile adds a file from the host filesystem to the docker filesystem +// relPath describes the location of the file in the docker volume relative to +// the home directory +func (tn *ChainNode) CopyFile(ctx context.Context, srcPath, dstPath string) error { + content, err := os.ReadFile(srcPath) + if err != nil { + return err + } + return tn.WriteFile(ctx, content, dstPath) +} + +// ReadFile reads the contents of a single file at the specified path in the docker filesystem. +// relPath describes the location of the file in the docker volume relative to the home directory. +func (tn *ChainNode) ReadFile(ctx context.Context, relPath string) ([]byte, error) { + fr := dockerutil.NewFileRetriever(tn.logger(), tn.DockerClient, tn.TestName) + gen, err := fr.SingleFileContent(ctx, tn.VolumeName, relPath) + if err != nil { + return nil, fmt.Errorf("failed to read file at %s: %w", relPath, err) + } + return gen, nil +} + // CreateKey creates a key in the keyring backend test for the given node func (tn *ChainNode) CreateKey(ctx context.Context, name string) error { tn.lock.Lock() @@ -556,7 +602,14 @@ func (tn *ChainNode) AddGenesisAccount(ctx context.Context, address string, gene ctx, cancel := context.WithTimeout(ctx, time.Minute) defer cancel() - _, _, err := tn.ExecBin(ctx, "add-genesis-account", address, amount) + var command []string + if tn.Chain.Config().UsingNewGenesisCommand { + command = append(command, "genesis") + } + + command = append(command, "add-genesis-account", address, amount) + _, _, err := tn.ExecBin(ctx, command...) + return err } @@ -565,20 +618,28 @@ func (tn *ChainNode) Gentx(ctx context.Context, name string, genesisSelfDelegati tn.lock.Lock() defer tn.lock.Unlock() - _, _, err := tn.ExecBin(ctx, - "gentx", valKey, fmt.Sprintf("%d%s", genesisSelfDelegation.Amount.Int64(), genesisSelfDelegation.Denom), + var command []string + if tn.Chain.Config().UsingNewGenesisCommand { + command = append(command, "genesis") + } + + command = append(command, "gentx", valKey, fmt.Sprintf("%d%s", genesisSelfDelegation.Amount.Int64(), genesisSelfDelegation.Denom), "--keyring-backend", keyring.BackendTest, - "--chain-id", tn.Chain.Config().ChainID, - ) + "--chain-id", tn.Chain.Config().ChainID) + + _, _, err := tn.ExecBin(ctx, command...) return err } // CollectGentxs runs collect gentxs on the node's home folders func (tn *ChainNode) CollectGentxs(ctx context.Context) error { - command := []string{tn.Chain.Config().Bin, "collect-gentxs", - "--home", tn.HomeDir(), + command := []string{tn.Chain.Config().Bin} + if tn.Chain.Config().UsingNewGenesisCommand { + command = append(command, "genesis") } + command = append(command, "collect-gentxs", "--home", tn.HomeDir()) + tn.lock.Lock() defer tn.lock.Unlock() @@ -653,14 +714,9 @@ type CodeInfosResponse struct { // StoreContract takes a file path to smart contract and stores it on-chain. Returns the contracts code id. func (tn *ChainNode) StoreContract(ctx context.Context, keyName string, fileName string) (string, error) { - content, err := os.ReadFile(fileName) - if err != nil { - return "", err - } - _, file := filepath.Split(fileName) - fw := dockerutil.NewFileWriter(tn.logger(), tn.DockerClient, tn.TestName) - if err := fw.WriteFile(ctx, tn.VolumeName, file, content); err != nil { + err := tn.CopyFile(ctx, fileName, file) + if err != nil { return "", fmt.Errorf("writing contract file to docker volume: %w", err) } @@ -736,13 +792,9 @@ func (tn *ChainNode) QueryContract(ctx context.Context, contractAddress string, // StoreClientContract takes a file path to a client smart contract and stores it on-chain. Returns the contracts code id. func (tn *ChainNode) StoreClientContract(ctx context.Context, keyName string, fileName string) (string, error) { content, err := os.ReadFile(fileName) - if err != nil { - return "", err - } - _, file := filepath.Split(fileName) - fw := dockerutil.NewFileWriter(tn.logger(), tn.DockerClient, tn.TestName) - if err := fw.WriteFile(ctx, tn.VolumeName, file, content); err != nil { + err = tn.WriteFile(ctx, content, file) + if err != nil { return "", fmt.Errorf("writing contract file to docker volume: %w", err) } @@ -811,6 +863,7 @@ func (tn *ChainNode) SubmitProposal(ctx context.Context, keyName string, prop Tx return tn.ExecTx(ctx, keyName, command...) } + // UpgradeProposal submits a software-upgrade governance proposal to the chain. func (tn *ChainNode) UpgradeProposal(ctx context.Context, keyName string, prop SoftwareUpgradeProposal) (string, error) { command := []string{ @@ -844,6 +897,31 @@ func (tn *ChainNode) TextProposal(ctx context.Context, keyName string, prop Text return tn.ExecTx(ctx, keyName, command...) } +// ParamChangeProposal submits a param change proposal to the chain, signed by keyName. +func (tn *ChainNode) ParamChangeProposal(ctx context.Context, keyName string, prop *paramsutils.ParamChangeProposalJSON) (string, error) { + content, err := json.Marshal(prop) + if err != nil { + return "", err + } + + hash := sha256.Sum256(content) + proposalFilename := fmt.Sprintf("%x.json", hash) + err = tn.WriteFile(ctx, content, proposalFilename) + if err != nil { + return "", fmt.Errorf("writing param change proposal: %w", err) + } + + proposalPath := filepath.Join(tn.HomeDir(), proposalFilename) + + command := []string{ + "gov", "submit-proposal", + "param-change", + proposalPath, + } + + return tn.ExecTx(ctx, keyName, command...) +} + // DumpContractState dumps the state of a contract at a block height. func (tn *ChainNode) DumpContractState(ctx context.Context, contractAddress string, height int64) (*DumpContractStateResponse, error) { stdout, _, err := tn.ExecQuery(ctx, @@ -865,12 +943,12 @@ func (tn *ChainNode) ExportState(ctx context.Context, height int64) (string, err tn.lock.Lock() defer tn.lock.Unlock() - _, stderr, err := tn.ExecBin(ctx, "export", "--height", fmt.Sprint(height)) + stdout, stderr, err := tn.ExecBin(ctx, "export", "--height", fmt.Sprint(height)) if err != nil { return "", err } - // output comes to stderr for some reason - return string(stderr), nil + // output comes to stderr on older versions + return string(stdout) + string(stderr), nil } func (tn *ChainNode) UnsafeResetAll(ctx context.Context) error { @@ -883,68 +961,28 @@ func (tn *ChainNode) UnsafeResetAll(ctx context.Context) error { func (tn *ChainNode) CreateNodeContainer(ctx context.Context) error { chainCfg := tn.Chain.Config() - cmd := []string{chainCfg.Bin, "start", "--home", tn.HomeDir(), "--x-crisis-skip-assert-invariants"} + + var cmd []string if chainCfg.NoHostMount { cmd = []string{"sh", "-c", fmt.Sprintf("cp -r %s %s_nomnt && %s start --home %s_nomnt --x-crisis-skip-assert-invariants", tn.HomeDir(), tn.HomeDir(), chainCfg.Bin, tn.HomeDir())} + } else { + cmd = []string{chainCfg.Bin, "start", "--home", tn.HomeDir(), "--x-crisis-skip-assert-invariants"} } - imageRef := tn.Image.Ref() - tn.logger(). - Info("Running command", - zap.String("command", strings.Join(cmd, " ")), - zap.String("container", tn.Name()), - zap.String("image", imageRef), - ) - cc, err := tn.DockerClient.ContainerCreate( - ctx, - &container.Config{ - Image: imageRef, - - Entrypoint: []string{}, - Cmd: cmd, - - Hostname: tn.HostName(), - - Labels: map[string]string{dockerutil.CleanupLabel: tn.TestName}, - - ExposedPorts: sentryPorts, - }, - &container.HostConfig{ - Binds: tn.Bind(), - PublishAllPorts: true, - AutoRemove: false, - DNS: []string{}, - }, - &network.NetworkingConfig{ - EndpointsConfig: map[string]*network.EndpointSettings{ - tn.NetworkID: {}, - }, - }, - nil, - tn.Name(), - ) - if err != nil { - return err - } - tn.containerID = cc.ID - return nil + return tn.containerLifecycle.CreateContainer(ctx, tn.TestName, tn.NetworkID, tn.Image, sentryPorts, tn.Bind(), tn.HostName(), cmd) } func (tn *ChainNode) StartContainer(ctx context.Context) error { - if err := dockerutil.StartContainer(ctx, tn.DockerClient, tn.containerID); err != nil { + if err := tn.containerLifecycle.StartContainer(ctx); err != nil { return err } - c, err := tn.DockerClient.ContainerInspect(ctx, tn.containerID) + // Set the host ports once since they will not change after the container has started. + hostPorts, err := tn.containerLifecycle.GetHostPorts(ctx, rpcPort, grpcPort) if err != nil { return err } - - // Set the host ports once since they will not change after the container has started. - tn.hostRPCPort = dockerutil.GetHostPort(c, rpcPort) - tn.hostGRPCPort = dockerutil.GetHostPort(c, grpcPort) - - tn.logger().Info("Cosmos chain node started", zap.String("container", tn.Name()), zap.String("rpc_port", tn.hostRPCPort)) + tn.hostRPCPort, tn.hostGRPCPort = hostPorts[0], hostPorts[1] err = tn.NewClient("tcp://" + tn.hostRPCPort) if err != nil { @@ -967,19 +1005,11 @@ func (tn *ChainNode) StartContainer(ctx context.Context) error { } func (tn *ChainNode) StopContainer(ctx context.Context) error { - timeout := 30 * time.Second - return tn.DockerClient.ContainerStop(ctx, tn.containerID, &timeout) + return tn.containerLifecycle.StopContainer(ctx) } func (tn *ChainNode) RemoveContainer(ctx context.Context) error { - err := tn.DockerClient.ContainerRemove(ctx, tn.containerID, dockertypes.ContainerRemoveOptions{ - Force: true, - RemoveVolumes: true, - }) - if err != nil && !errdefs.IsNotFound(err) { - return fmt.Errorf("remove container %s: %w", tn.Name(), err) - } - return nil + return tn.containerLifecycle.RemoveContainer(ctx) } // InitValidatorFiles creates the node files and signs a genesis transaction @@ -1015,9 +1045,7 @@ func (tn *ChainNode) NodeID(ctx context.Context) (string, error) { // This used to call p2p.LoadNodeKey against the file on the host, // but because we are transitioning to operating on Docker volumes, // we only have to tmjson.Unmarshal the raw content. - - fr := dockerutil.NewFileRetriever(tn.logger(), tn.DockerClient, tn.TestName) - j, err := fr.SingleFileContent(ctx, tn.VolumeName, "config/node_key.json") + j, err := tn.ReadFile(ctx, "config/node_key.json") if err != nil { return "", fmt.Errorf("getting node_key.json content: %w", err) } diff --git a/chain/cosmos/cosmos_chain.go b/chain/cosmos/cosmos_chain.go index ba6f0a6d6..fb91094e7 100644 --- a/chain/cosmos/cosmos_chain.go +++ b/chain/cosmos/cosmos_chain.go @@ -24,6 +24,7 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" bankTypes "github.com/cosmos/cosmos-sdk/x/bank/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + paramsutils "github.com/cosmos/cosmos-sdk/x/params/client/utils" chanTypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" dockertypes "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" @@ -309,6 +310,9 @@ func (c *CosmosChain) SendIBCTransfer( if err != nil { return tx, fmt.Errorf("failed to get transaction %s: %w", txHash, err) } + if txResp.Code != 0 { + return tx, fmt.Errorf("error in transaction (code: %d): %s", txResp.Code, txResp.RawLog) + } tx.Height = uint64(txResp.Height) tx.TxHash = txHash // In cosmos, user is charged for entire gas requested, not the actual gas used. @@ -369,7 +373,7 @@ func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName str } message := wasmtypes.MsgPushNewWasmCode{ Signer: types.MustBech32ifyAddressBytes(c.cfg.Bech32Prefix, authtypes.NewModuleAddress(govtypes.ModuleName)), - Code: content, + Code: content, } msg, err := c.cfg.EncodingConfig.Codec.MarshalInterfaceJSON(&message) prop.Messages = append(prop.Messages, msg) @@ -399,6 +403,16 @@ func (c *CosmosChain) TextProposal(ctx context.Context, keyName string, prop Tex return c.txProposal(txHash) } +// ParamChangeProposal submits a param change proposal to the chain, signed by keyName. +func (c *CosmosChain) ParamChangeProposal(ctx context.Context, keyName string, prop *paramsutils.ParamChangeProposalJSON) (tx TxProposal, _ error) { + txHash, err := c.getFullNode().ParamChangeProposal(ctx, keyName, prop) + if err != nil { + return tx, fmt.Errorf("failed to submit param change proposal: %w", err) + } + + return c.txProposal(txHash) +} + func (c *CosmosChain) txProposal(txHash string) (tx TxProposal, _ error) { txResp, err := c.getTransaction(txHash) if err != nil { @@ -481,6 +495,26 @@ func (c *CosmosChain) GetBalance(ctx context.Context, address string, denom stri return res.Balance.Amount.Int64(), nil } +// AllBalances fetches an account address's balance for all denoms it holds +func (c *CosmosChain) AllBalances(ctx context.Context, address string) (types.Coins, error) { + params := bankTypes.QueryAllBalancesRequest{Address: address} + grpcAddress := c.getFullNode().hostGRPCPort + conn, err := grpc.Dial(grpcAddress, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + return nil, err + } + defer conn.Close() + + queryClient := bankTypes.NewQueryClient(conn) + res, err := queryClient.AllBalances(ctx, ¶ms) + + if err != nil { + return nil, err + } + + return res.GetBalances(), nil +} + func (c *CosmosChain) getTransaction(txHash string) (*types.TxResponse, error) { // Retry because sometimes the tx is not committed to state yet. var txResp *types.TxResponse @@ -504,13 +538,15 @@ func (c *CosmosChain) GetGasFeesInNativeDenom(gasPaid int64) int64 { return int64(fees) } -func (c *CosmosChain) UpgradeVersion(ctx context.Context, cli *client.Client, version string) { +func (c *CosmosChain) UpgradeVersion(ctx context.Context, cli *client.Client, containerRepo, version string) { c.cfg.Images[0].Version = version for _, n := range c.Validators { n.Image.Version = version + n.Image.Repository = containerRepo } for _, n := range c.FullNodes { n.Image.Version = version + n.Image.Repository = containerRepo } c.pullImages(ctx, cli) } @@ -543,20 +579,11 @@ func (c *CosmosChain) NewChainNode( networkID string, image ibc.DockerImage, validator bool, + index int, ) (*ChainNode, error) { // Construct the ChainNode first so we can access its name. // The ChainNode's VolumeName cannot be set until after we create the volume. - tn := &ChainNode{ - log: c.log, - - Validator: validator, - - Chain: c, - DockerClient: cli, - NetworkID: networkID, - TestName: testName, - Image: image, - } + tn := NewChainNode(c.log, validator, c, cli, networkID, testName, image, index) v, err := cli.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ Labels: map[string]string{ @@ -605,11 +632,10 @@ func (c *CosmosChain) initializeChainNodes( for i := len(c.Validators); i < c.numValidators; i++ { i := i eg.Go(func() error { - val, err := c.NewChainNode(egCtx, testName, cli, networkID, image, true) + val, err := c.NewChainNode(egCtx, testName, cli, networkID, image, true, i) if err != nil { return err } - val.Index = i newVals[i] = val return nil }) @@ -617,11 +643,10 @@ func (c *CosmosChain) initializeChainNodes( for i := len(c.FullNodes); i < c.numFullNodes; i++ { i := i eg.Go(func() error { - fn, err := c.NewChainNode(egCtx, testName, cli, networkID, image, false) + fn, err := c.NewChainNode(egCtx, testName, cli, networkID, image, false, i) if err != nil { return err } - fn.Index = i newFullNodes[i] = fn return nil }) diff --git a/chain/cosmos/query.go b/chain/cosmos/query.go index 8ef266b4a..b5a7ceb82 100644 --- a/chain/cosmos/query.go +++ b/chain/cosmos/query.go @@ -4,9 +4,9 @@ import ( "context" "fmt" + tmtypes "github.com/cometbft/cometbft/rpc/core/types" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" - tmtypes "github.com/tendermint/tendermint/rpc/core/types" ) type blockClient interface { diff --git a/chain/internal/tendermint/events.go b/chain/internal/tendermint/events.go index bb9c086a4..f05952cfe 100644 --- a/chain/internal/tendermint/events.go +++ b/chain/internal/tendermint/events.go @@ -3,7 +3,7 @@ package tendermint import ( "encoding/base64" - abcitypes "github.com/tendermint/tendermint/abci/types" + abcitypes "github.com/cometbft/cometbft/abci/types" ) // AttributeValue returns an event attribute value given the eventType and attribute key tuple. diff --git a/chain/internal/tendermint/events_test.go b/chain/internal/tendermint/events_test.go index 1f90f0bdd..558723165 100644 --- a/chain/internal/tendermint/events_test.go +++ b/chain/internal/tendermint/events_test.go @@ -3,8 +3,8 @@ package tendermint import ( "testing" + abcitypes "github.com/cometbft/cometbft/abci/types" "github.com/stretchr/testify/require" - abcitypes "github.com/tendermint/tendermint/abci/types" ) func TestAttributeValue(t *testing.T) { diff --git a/chain/internal/tendermint/tendermint_node.go b/chain/internal/tendermint/tendermint_node.go index 0948ca9c2..fe42b4f7f 100644 --- a/chain/internal/tendermint/tendermint_node.go +++ b/chain/internal/tendermint/tendermint_node.go @@ -9,19 +9,17 @@ import ( "time" "github.com/avast/retry-go/v4" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/network" + tmjson "github.com/cometbft/cometbft/libs/json" + "github.com/cometbft/cometbft/p2p" + rpcclient "github.com/cometbft/cometbft/rpc/client" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" + libclient "github.com/cometbft/cometbft/rpc/jsonrpc/client" dockerclient "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/hashicorp/go-version" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/dockerutil" "github.com/strangelove-ventures/interchaintest/v7/testutil" - tmjson "github.com/tendermint/tendermint/libs/json" - "github.com/tendermint/tendermint/p2p" - rpcclient "github.com/tendermint/tendermint/rpc/client" - rpchttp "github.com/tendermint/tendermint/rpc/client/http" - libclient "github.com/tendermint/tendermint/rpc/jsonrpc/client" "go.uber.org/zap" ) @@ -38,7 +36,16 @@ type TendermintNode struct { TestName string Image ibc.DockerImage - containerID string + containerLifecycle *dockerutil.ContainerLifecycle +} + +func NewTendermintNode(log *zap.Logger, i int, c ibc.Chain, dockerClient *dockerclient.Client, networkID string, testName string, image ibc.DockerImage) *TendermintNode { + tn := &TendermintNode{Log: log, Index: i, Chain: c, + DockerClient: dockerClient, NetworkID: networkID, TestName: testName, Image: image} + + tn.containerLifecycle = dockerutil.NewContainerLifecycle(log, dockerClient, tn.Name()) + + return tn } // TendermintNodes is a collection of TendermintNode @@ -178,7 +185,7 @@ func (tn *TendermintNode) SetConfigAndPeers(ctx context.Context, peers string) e } // Tenderment deprecate snake_case in config for hyphen-case in v0.34.1 -// https://github.com/tendermint/tendermint/blob/main/CHANGELOG.md#v0341 +// https://github.com/cometbft/cometbft/blob/main/CHANGELOG.md#v0341 func (tn *TendermintNode) GetConfigSeparator() (string, error) { var sep = "_" @@ -218,62 +225,26 @@ func (tn *TendermintNode) CreateNodeContainer(ctx context.Context, additionalFla chainCfg := tn.Chain.Config() cmd := []string{chainCfg.Bin, "start", "--home", tn.HomeDir()} cmd = append(cmd, additionalFlags...) - fmt.Printf("{%s} -> '%s'\n", tn.Name(), strings.Join(cmd, " ")) - cc, err := tn.DockerClient.ContainerCreate( - ctx, - &container.Config{ - Image: tn.Image.Ref(), - - Entrypoint: []string{}, - Cmd: cmd, - - Hostname: tn.HostName(), - - Labels: map[string]string{dockerutil.CleanupLabel: tn.TestName}, - - ExposedPorts: sentryPorts, - }, - &container.HostConfig{ - Binds: tn.Bind(), - PublishAllPorts: true, - AutoRemove: false, - DNS: []string{}, - }, - &network.NetworkingConfig{ - EndpointsConfig: map[string]*network.EndpointSettings{ - tn.NetworkID: {}, - }, - }, - nil, - tn.Name(), - ) - if err != nil { - return err - } - tn.containerID = cc.ID - return nil + return tn.containerLifecycle.CreateContainer(ctx, tn.TestName, tn.NetworkID, tn.Image, sentryPorts, tn.Bind(), tn.HostName(), cmd) } func (tn *TendermintNode) StopContainer(ctx context.Context) error { - timeout := 30 * time.Second - return tn.DockerClient.ContainerStop(ctx, tn.containerID, &timeout) + return tn.containerLifecycle.StopContainer(ctx) } func (tn *TendermintNode) StartContainer(ctx context.Context) error { - if err := dockerutil.StartContainer(ctx, tn.DockerClient, tn.containerID); err != nil { + if err := tn.containerLifecycle.StartContainer(ctx); err != nil { return err } - c, err := tn.DockerClient.ContainerInspect(ctx, tn.containerID) + hostPorts, err := tn.containerLifecycle.GetHostPorts(ctx, rpcPort) if err != nil { return err } + rpcPort := hostPorts[0] - port := dockerutil.GetHostPort(c, rpcPort) - fmt.Printf("{%s} RPC => %s\n", tn.Name(), port) - - err = tn.NewClient(fmt.Sprintf("tcp://%s", port)) + err = tn.NewClient(fmt.Sprintf("tcp://%s", rpcPort)) if err != nil { return err } diff --git a/chain/penumbra/penumbra_app_node.go b/chain/penumbra/penumbra_app_node.go index e9f445d69..ba0794a5b 100644 --- a/chain/penumbra/penumbra_app_node.go +++ b/chain/penumbra/penumbra_app_node.go @@ -7,10 +7,7 @@ import ( "fmt" "path/filepath" "strings" - "time" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/strangelove-ventures/interchaintest/v7/ibc" @@ -29,11 +26,13 @@ type PenumbraAppNode struct { DockerClient *client.Client Image ibc.DockerImage - containerID string + containerLifecycle *dockerutil.ContainerLifecycle // Set during StartContainer. hostRPCPort string hostGRPCPort string + + // preStartListeners dockerutil.Listeners } const ( @@ -104,7 +103,7 @@ func (p *PenumbraAppNode) InitValidatorFile(ctx context.Context, valKeyName stri } func (p *PenumbraAppNode) ValidatorDefinitionTemplateFilePathContainer() string { - return filepath.Join(p.HomeDir(), "validator.json") + return filepath.Join(p.HomeDir(), "validator.toml") } func (p *PenumbraAppNode) ValidatorsInputFileContainer() string { @@ -214,61 +213,25 @@ func (p *PenumbraAppNode) SendIBCTransfer( func (p *PenumbraAppNode) CreateNodeContainer(ctx context.Context) error { cmd := []string{"pd", "start", "--host", "0.0.0.0", "--home", p.HomeDir()} - fmt.Printf("{%s} -> '%s'\n", p.Name(), strings.Join(cmd, " ")) - - cc, err := p.DockerClient.ContainerCreate( - ctx, - &container.Config{ - Image: p.Image.Ref(), - - Entrypoint: []string{}, - Cmd: cmd, - - Hostname: p.HostName(), - User: p.Image.UidGid, - - Labels: map[string]string{dockerutil.CleanupLabel: p.TestName}, - - ExposedPorts: exposedPorts, - }, - &container.HostConfig{ - Binds: p.Bind(), - PublishAllPorts: true, - AutoRemove: false, - DNS: []string{}, - }, - &network.NetworkingConfig{ - EndpointsConfig: map[string]*network.EndpointSettings{ - p.NetworkID: {}, - }, - }, - nil, - p.Name(), - ) - if err != nil { - return err - } - p.containerID = cc.ID - return nil + + return p.containerLifecycle.CreateContainer(ctx, p.TestName, p.NetworkID, p.Image, exposedPorts, p.Bind(), p.HostName(), cmd) } func (p *PenumbraAppNode) StopContainer(ctx context.Context) error { - timeout := 30 * time.Second - return p.DockerClient.ContainerStop(ctx, p.containerID, &timeout) + return p.containerLifecycle.StopContainer(ctx) } func (p *PenumbraAppNode) StartContainer(ctx context.Context) error { - if err := dockerutil.StartContainer(ctx, p.DockerClient, p.containerID); err != nil { + if err := p.containerLifecycle.StartContainer(ctx); err != nil { return err } - c, err := p.DockerClient.ContainerInspect(ctx, p.containerID) + hostPorts, err := p.containerLifecycle.GetHostPorts(ctx, rpcPort, grpcPort) if err != nil { return err } - p.hostRPCPort = dockerutil.GetHostPort(c, rpcPort) - p.hostGRPCPort = dockerutil.GetHostPort(c, grpcPort) + p.hostRPCPort, p.hostGRPCPort = hostPorts[0], hostPorts[1] return nil } diff --git a/chain/penumbra/penumbra_chain.go b/chain/penumbra/penumbra_chain.go index b9d016049..69b559071 100644 --- a/chain/penumbra/penumbra_chain.go +++ b/chain/penumbra/penumbra_chain.go @@ -9,6 +9,7 @@ import ( "strconv" "strings" + "github.com/BurntSushi/toml" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" @@ -17,6 +18,7 @@ import ( "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" + dockerclient "github.com/docker/docker/client" "github.com/strangelove-ventures/interchaintest/v7/chain/internal/tendermint" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/dockerutil" @@ -43,18 +45,25 @@ type PenumbraChain struct { } type PenumbraValidatorDefinition struct { - IdentityKey string `json:"identity_key"` - ConsensusKey string `json:"consensus_key"` - Name string `json:"name"` - Website string `json:"website"` - Description string `json:"description"` - FundingStreams []PenumbraValidatorFundingStream `json:"funding_streams"` - SequenceNumber int64 `json:"sequence_number"` + SequenceNumber int `json:"sequence_number" toml:"sequence_number"` + Enabled bool `json:"enabled" toml:"enabled"` + Name string `json:"name" toml:"name"` + Website string `json:"website" toml:"website"` + Description string `json:"description" toml:"description"` + IdentityKey string `json:"identity_key" toml:"identity_key"` + GovernanceKey string `json:"governance_key" toml:"governance_key"` + ConsensusKey PenumbraConsensusKey `json:"consensus_key" toml:"consensus_key"` + FundingStreams []PenumbraValidatorFundingStream `json:"funding_streams" toml:"funding_stream"` +} + +type PenumbraConsensusKey struct { + Type string `json:"type" toml:"type"` + Value string `json:"value" toml:"value"` } type PenumbraValidatorFundingStream struct { - Address string `json:"address"` - RateBPS int64 `json:"rate_bps"` + Address string `json:"address" toml:"address"` + RateBPS int64 `json:"rate_bps" toml:"rate_bps"` } type PenumbraGenesisAppStateAllocation struct { @@ -238,6 +247,78 @@ func (c *PenumbraChain) GetGasFeesInNativeDenom(gasPaid int64) int64 { return int64(fees) } +// NewChainNode returns a penumbra chain node with tendermint and penumbra nodes +// with docker volumes created. +func (c *PenumbraChain) NewChainNode( + ctx context.Context, + i int, + dockerClient *dockerclient.Client, + networkID string, + testName string, + tendermintImage ibc.DockerImage, + penumbraImage ibc.DockerImage, +) (PenumbraNode, error) { + tn := tendermint.NewTendermintNode(c.log, i, c, dockerClient, networkID, testName, tendermintImage) + + tv, err := dockerClient.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ + Labels: map[string]string{ + dockerutil.CleanupLabel: testName, + + dockerutil.NodeOwnerLabel: tn.Name(), + }, + }) + if err != nil { + return PenumbraNode{}, fmt.Errorf("creating tendermint volume: %w", err) + } + tn.VolumeName = tv.Name + if err := dockerutil.SetVolumeOwner(ctx, dockerutil.VolumeOwnerOptions{ + Log: c.log, + + Client: dockerClient, + + VolumeName: tn.VolumeName, + ImageRef: tn.Image.Ref(), + TestName: tn.TestName, + UidGid: tn.Image.UidGid, + }); err != nil { + return PenumbraNode{}, fmt.Errorf("set tendermint volume owner: %w", err) + } + + pn := &PenumbraAppNode{log: c.log, Index: i, Chain: c, + DockerClient: dockerClient, NetworkID: networkID, TestName: testName, Image: penumbraImage} + + pn.containerLifecycle = dockerutil.NewContainerLifecycle(c.log, dockerClient, pn.Name()) + + pv, err := dockerClient.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ + Labels: map[string]string{ + dockerutil.CleanupLabel: testName, + + dockerutil.NodeOwnerLabel: pn.Name(), + }, + }) + if err != nil { + return PenumbraNode{}, fmt.Errorf("creating penumbra volume: %w", err) + } + pn.VolumeName = pv.Name + if err := dockerutil.SetVolumeOwner(ctx, dockerutil.VolumeOwnerOptions{ + Log: c.log, + + Client: dockerClient, + + VolumeName: pn.VolumeName, + ImageRef: pn.Image.Ref(), + TestName: pn.TestName, + UidGid: tn.Image.UidGid, + }); err != nil { + return PenumbraNode{}, fmt.Errorf("set penumbra volume owner: %w", err) + } + + return PenumbraNode{ + TendermintNode: tn, + PenumbraAppNode: pn, + }, nil +} + // creates the test node objects required for bootstrapping tests func (c *PenumbraChain) initializeChainNodes( ctx context.Context, @@ -266,60 +347,11 @@ func (c *PenumbraChain) initializeChainNodes( } } for i := 0; i < count; i++ { - tn := &tendermint.TendermintNode{Log: c.log, Index: i, Chain: c, - DockerClient: cli, NetworkID: networkID, TestName: testName, Image: chainCfg.Images[0]} - - tv, err := cli.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ - Labels: map[string]string{ - dockerutil.CleanupLabel: testName, - - dockerutil.NodeOwnerLabel: tn.Name(), - }, - }) + pn, err := c.NewChainNode(ctx, i, cli, networkID, testName, chainCfg.Images[0], chainCfg.Images[1]) if err != nil { - return fmt.Errorf("creating tendermint volume: %w", err) - } - tn.VolumeName = tv.Name - if err := dockerutil.SetVolumeOwner(ctx, dockerutil.VolumeOwnerOptions{ - Log: c.log, - - Client: cli, - - VolumeName: tn.VolumeName, - ImageRef: tn.Image.Ref(), - TestName: tn.TestName, - UidGid: tn.Image.UidGid, - }); err != nil { - return fmt.Errorf("set tendermint volume owner: %w", err) - } - - pn := &PenumbraAppNode{log: c.log, Index: i, Chain: c, - DockerClient: cli, NetworkID: networkID, TestName: testName, Image: chainCfg.Images[1]} - pv, err := cli.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ - Labels: map[string]string{ - dockerutil.CleanupLabel: testName, - - dockerutil.NodeOwnerLabel: pn.Name(), - }, - }) - if err != nil { - return fmt.Errorf("creating penumbra volume: %w", err) - } - pn.VolumeName = pv.Name - if err := dockerutil.SetVolumeOwner(ctx, dockerutil.VolumeOwnerOptions{ - Log: c.log, - - Client: cli, - - VolumeName: pn.VolumeName, - ImageRef: pn.Image.Ref(), - TestName: pn.TestName, - UidGid: tn.Image.UidGid, - }); err != nil { - return fmt.Errorf("set penumbra volume owner: %w", err) + return err } - - penumbraNodes = append(penumbraNodes, PenumbraNode{TendermintNode: tn, PenumbraAppNode: pn}) + penumbraNodes = append(penumbraNodes, pn) } c.PenumbraNodes = penumbraNodes @@ -382,15 +414,17 @@ func (c *PenumbraChain) Start(testName string, ctx context.Context, additionalGe // In all likelihood, the PenumbraAppNode and TendermintNode have the same DockerClient and TestName, // but instantiate a new FileRetriever to be defensive. fr = dockerutil.NewFileRetriever(c.log, v.PenumbraAppNode.DockerClient, v.PenumbraAppNode.TestName) - validatorTemplateDefinitionFileBytes, err := fr.SingleFileContent(egCtx, v.PenumbraAppNode.VolumeName, "validator.json") + validatorTemplateDefinitionFileBytes, err := fr.SingleFileContent(egCtx, v.PenumbraAppNode.VolumeName, "validator.toml") if err != nil { return fmt.Errorf("error reading validator definition template file: %v", err) } validatorTemplateDefinition := PenumbraValidatorDefinition{} - if err := json.Unmarshal(validatorTemplateDefinitionFileBytes, &validatorTemplateDefinition); err != nil { + if err := toml.Unmarshal(validatorTemplateDefinitionFileBytes, &validatorTemplateDefinition); err != nil { return fmt.Errorf("error unmarshaling validator definition template key: %v", err) } - validatorTemplateDefinition.ConsensusKey = privValKey.PubKey.Value + validatorTemplateDefinition.SequenceNumber = i + validatorTemplateDefinition.Enabled = true + validatorTemplateDefinition.ConsensusKey.Value = privValKey.PubKey.Value validatorTemplateDefinition.Name = fmt.Sprintf("validator-%d", i) validatorTemplateDefinition.Description = fmt.Sprintf("validator-%d description", i) validatorTemplateDefinition.Website = fmt.Sprintf("https://validator-%d", i) diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index 68da045aa..ecc9d4962 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -6,22 +6,19 @@ import ( "encoding/json" "fmt" "path/filepath" - "strings" - "time" "strconv" + "strings" "github.com/avast/retry-go/v4" - gsrpc "github.com/misko9/go-substrate-rpc-client/v4" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/network" + sdktypes "github.com/cosmos/cosmos-sdk/types" "github.com/docker/docker/client" "github.com/icza/dyno" p2pcrypto "github.com/libp2p/go-libp2p-core/crypto" "github.com/libp2p/go-libp2p-core/peer" + gsrpc "github.com/misko9/go-substrate-rpc-client/v4" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/dockerutil" "go.uber.org/zap" - sdktypes "github.com/cosmos/cosmos-sdk/types" ) // Increase parachain scaled wallet amounts relative to cosmos @@ -33,11 +30,11 @@ type ParachainNode struct { TestName string Index int - NetworkID string - containerID string - VolumeName string - DockerClient *client.Client - Image ibc.DockerImage + NetworkID string + containerLifecycle *dockerutil.ContainerLifecycle + VolumeName string + DockerClient *client.Client + Image ibc.DockerImage Chain ibc.Chain Bin string @@ -49,6 +46,8 @@ type ParachainNode struct { api *gsrpc.SubstrateAPI hostWsPort string hostRpcPort string + + // preStartListeners dockerutil.Listeners } type ParachainNodes []*ParachainNode @@ -258,68 +257,28 @@ func (pn *ParachainNode) CreateNodeContainer(ctx context.Context) error { cmd = append(cmd, pn.Flags...) cmd = append(cmd, "--", fmt.Sprintf("--chain=%s", pn.RawRelayChainSpecFilePathFull())) cmd = append(cmd, pn.RelayChainFlags...) - pn.logger(). - Info("Running command", - zap.String("command", strings.Join(cmd, " ")), - zap.String("container", pn.Name()), - ) - cc, err := pn.DockerClient.ContainerCreate( - ctx, - &container.Config{ - Image: pn.Image.Ref(), - - Entrypoint: []string{}, - Cmd: cmd, - - Hostname: pn.HostName(), - User: pn.Image.UidGid, - - Labels: map[string]string{dockerutil.CleanupLabel: pn.TestName}, - - ExposedPorts: exposedPorts, - }, - &container.HostConfig{ - Binds: pn.Bind(), - PublishAllPorts: true, - AutoRemove: false, - DNS: []string{}, - }, - &network.NetworkingConfig{ - EndpointsConfig: map[string]*network.EndpointSettings{ - pn.NetworkID: {}, - }, - }, - nil, - pn.Name(), - ) - if err != nil { - return err - } - pn.containerID = cc.ID - return nil + return pn.containerLifecycle.CreateContainer(ctx, pn.TestName, pn.NetworkID, pn.Image, exposedPorts, pn.Bind(), pn.HostName(), cmd) } // StopContainer stops the relay chain node container, waiting at most 30 seconds. func (pn *ParachainNode) StopContainer(ctx context.Context) error { - timeout := 30 * time.Second - return pn.DockerClient.ContainerStop(ctx, pn.containerID, &timeout) + return pn.containerLifecycle.StopContainer(ctx) } // StartContainer starts the container after it is built by CreateNodeContainer. func (pn *ParachainNode) StartContainer(ctx context.Context) error { - if err := dockerutil.StartContainer(ctx, pn.DockerClient, pn.containerID); err != nil { + if err := pn.containerLifecycle.StartContainer(ctx); err != nil { return err } - c, err := pn.DockerClient.ContainerInspect(ctx, pn.containerID) + hostPorts, err := pn.containerLifecycle.GetHostPorts(ctx, wsPort, rpcPort) if err != nil { return err } // Set the host ports once since they will not change after the container has started. - pn.hostWsPort = dockerutil.GetHostPort(c, wsPort) - pn.hostRpcPort = dockerutil.GetHostPort(c, rpcPort) + pn.hostWsPort, pn.hostRpcPort = hostPorts[0], hostPorts[1] explorerUrl := fmt.Sprintf("\033[4;34mhttps://polkadot.js.org/apps?rpc=ws://%s#/explorer\033[0m", strings.Replace(pn.hostWsPort, "localhost", "127.0.0.1", 1)) @@ -385,12 +344,12 @@ func (pn *ParachainNode) SendFunds(ctx context.Context, keyName string, amount i // SendIbcFunds sends funds to a wallet from a user account. func (pn *ParachainNode) SendIbcFunds( - ctx context.Context, + ctx context.Context, channelID string, - keyName string, + keyName string, amount ibc.WalletAmount, options ibc.TransferOptions, - ) error { +) error { kp, err := pn.Chain.(*PolkadotChain).GetKeyringPair(keyName) if err != nil { return err @@ -414,9 +373,9 @@ func (pn *ParachainNode) SendIbcFunds( // MintFunds mints an asset for a user on parachain, keyName must be the owner of the asset func (pn *ParachainNode) MintFunds( - keyName string, + keyName string, amount ibc.WalletAmount, - ) error { +) error { kp, err := pn.Chain.(*PolkadotChain).GetKeyringPair(keyName) if err != nil { return err diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index abc22d899..d8f70d2ca 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -2,29 +2,30 @@ package polkadot import ( "context" + "crypto/rand" crand "crypto/rand" "encoding/json" "fmt" "io" - "math/rand" "strings" "github.com/99designs/keyring" "github.com/StirlingMarketingGroup/go-namecase" - "github.com/misko9/go-substrate-rpc-client/v4/signature" - gstypes "github.com/misko9/go-substrate-rpc-client/v4/types" + sdktypes "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/go-bip39" "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" + dockerclient "github.com/docker/docker/client" "github.com/icza/dyno" p2pcrypto "github.com/libp2p/go-libp2p-core/crypto" + "github.com/misko9/go-substrate-rpc-client/v4/signature" + gstypes "github.com/misko9/go-substrate-rpc-client/v4/types" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/blockdb" "github.com/strangelove-ventures/interchaintest/v7/internal/dockerutil" "go.uber.org/zap" "golang.org/x/sync/errgroup" - sdktypes "github.com/cosmos/cosmos-sdk/types" ) // Increase polkadot scaled wallet amounts relative to cosmos @@ -93,6 +94,148 @@ func (c *PolkadotChain) Config() ibc.ChainConfig { return c.cfg } +func (c *PolkadotChain) NewRelayChainNode( + ctx context.Context, + i int, + chain *PolkadotChain, + dockerClient *dockerclient.Client, + networkID string, + testName string, + image ibc.DockerImage, +) (*RelayChainNode, error) { + seed := make([]byte, 32) + if _, err := rand.Read(seed); err != nil { + return nil, err + } + + nodeKey, _, err := p2pcrypto.GenerateEd25519Key(crand.Reader) + if err != nil { + return nil, fmt.Errorf("error generating node key: %w", err) + } + + nameCased := namecase.New().NameCase(IndexedName[i]) + + ed25519PrivKey, err := DeriveEd25519FromName(nameCased) + if err != nil { + return nil, err + } + + accountKeyName := IndexedName[i] + accountKeyUri := IndexedUri[i] + stashKeyName := accountKeyName + "stash" + stashKeyUri := accountKeyUri + "//stash" + + if err := c.RecoverKey(ctx, accountKeyName, accountKeyUri); err != nil { + return nil, err + } + + if err := c.RecoverKey(ctx, stashKeyName, stashKeyUri); err != nil { + return nil, err + } + + ecdsaPrivKey, err := DeriveSecp256k1FromName(nameCased) + if err != nil { + return nil, fmt.Errorf("error generating secp256k1 private key: %w", err) + } + + pn := &RelayChainNode{ + log: c.log, + Index: i, + Chain: c, + DockerClient: dockerClient, + NetworkID: networkID, + TestName: testName, + Image: image, + NodeKey: nodeKey, + Ed25519PrivateKey: ed25519PrivKey, + AccountKeyName: accountKeyName, + StashKeyName: stashKeyName, + EcdsaPrivateKey: *ecdsaPrivKey, + } + + pn.containerLifecycle = dockerutil.NewContainerLifecycle(c.log, dockerClient, pn.Name()) + + v, err := dockerClient.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ + Labels: map[string]string{ + dockerutil.CleanupLabel: testName, + + dockerutil.NodeOwnerLabel: pn.Name(), + }, + }) + if err != nil { + return nil, fmt.Errorf("creating volume for chain node: %w", err) + } + pn.VolumeName = v.Name + + if err := dockerutil.SetVolumeOwner(ctx, dockerutil.VolumeOwnerOptions{ + Log: c.log, + Client: dockerClient, + VolumeName: v.Name, + ImageRef: image.Ref(), + TestName: testName, + UidGid: image.UidGid, + }); err != nil { + return nil, fmt.Errorf("set volume owner: %w", err) + } + + return pn, nil +} + +func (c *PolkadotChain) NewParachainNode( + ctx context.Context, + i int, + dockerClient *dockerclient.Client, + networkID string, + testName string, + parachainConfig ParachainConfig, +) (*ParachainNode, error) { + nodeKey, _, err := p2pcrypto.GenerateEd25519Key(crand.Reader) + if err != nil { + return nil, fmt.Errorf("error generating node key: %w", err) + } + pn := &ParachainNode{ + log: c.log, + Index: i, + Chain: c, + DockerClient: dockerClient, + NetworkID: networkID, + TestName: testName, + NodeKey: nodeKey, + Image: parachainConfig.Image, + Bin: parachainConfig.Bin, + ChainID: parachainConfig.ChainID, + Flags: parachainConfig.Flags, + RelayChainFlags: parachainConfig.RelayChainFlags, + } + + pn.containerLifecycle = dockerutil.NewContainerLifecycle(c.log, dockerClient, pn.Name()) + + v, err := dockerClient.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ + Labels: map[string]string{ + dockerutil.CleanupLabel: testName, + + dockerutil.NodeOwnerLabel: pn.Name(), + }, + }) + if err != nil { + return nil, fmt.Errorf("creating volume for chain node: %w", err) + } + pn.VolumeName = v.Name + + if err := dockerutil.SetVolumeOwner(ctx, dockerutil.VolumeOwnerOptions{ + Log: c.log, + Client: dockerClient, + VolumeName: v.Name, + ImageRef: parachainConfig.Image.Ref(), + TestName: testName, + UidGid: parachainConfig.Image.UidGid, + }); err != nil { + return nil, fmt.Errorf("set volume owner: %w", err) + } + + return pn, nil +} + // Initialize initializes node structs so that things like initializing keys can be done before starting the chain. // Implements Chain interface. func (c *PolkadotChain) Initialize(ctx context.Context, testName string, cli *client.Client, networkID string) error { @@ -121,121 +264,19 @@ func (c *PolkadotChain) Initialize(ctx context.Context, testName string, cli *cl } } for i := 0; i < c.numRelayChainNodes; i++ { - seed := make([]byte, 32) - rand.Read(seed) - - nodeKey, _, err := p2pcrypto.GenerateEd25519Key(crand.Reader) - if err != nil { - return fmt.Errorf("error generating node key: %w", err) - } - - nameCased := namecase.New().NameCase(IndexedName[i]) - - ed25519PrivKey, err := DeriveEd25519FromName(nameCased) - if err != nil { - return err - } - - accountKeyName := IndexedName[i] - accountKeyUri := IndexedUri[i] - stashKeyName := accountKeyName + "stash" - stashKeyUri := accountKeyUri + "//stash" - err = c.RecoverKey(ctx, accountKeyName, accountKeyUri) - if err != nil { - return err - } - err = c.RecoverKey(ctx, stashKeyName, stashKeyUri) + pn, err := c.NewRelayChainNode(ctx, i, c, cli, networkID, testName, chainCfg.Images[0]) if err != nil { return err } - - ecdsaPrivKey, err := DeriveSecp256k1FromName(nameCased) - if err != nil { - return fmt.Errorf("error generating secp256k1 private key: %w", err) - } - pn := &RelayChainNode{ - log: c.log, - Index: i, - Chain: c, - DockerClient: cli, - NetworkID: networkID, - TestName: testName, - Image: chainCfg.Images[0], - NodeKey: nodeKey, - Ed25519PrivateKey: ed25519PrivKey, - AccountKeyName: accountKeyName, - StashKeyName: stashKeyName, - EcdsaPrivateKey: *ecdsaPrivKey, - } - - v, err := cli.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ - Labels: map[string]string{ - dockerutil.CleanupLabel: testName, - - dockerutil.NodeOwnerLabel: pn.Name(), - }, - }) - if err != nil { - return fmt.Errorf("creating volume for chain node: %w", err) - } - pn.VolumeName = v.Name - - if err := dockerutil.SetVolumeOwner(ctx, dockerutil.VolumeOwnerOptions{ - Log: c.log, - Client: cli, - VolumeName: v.Name, - ImageRef: chainCfg.Images[0].Ref(), - TestName: testName, - UidGid: chainCfg.Images[0].UidGid, - }); err != nil { - return fmt.Errorf("set volume owner: %w", err) - } - relayChainNodes = append(relayChainNodes, pn) } c.RelayChainNodes = relayChainNodes - for _, parachainConfig := range c.parachainConfig { + for _, pc := range c.parachainConfig { parachainNodes := []*ParachainNode{} - for i := 0; i < parachainConfig.NumNodes; i++ { - nodeKey, _, err := p2pcrypto.GenerateEd25519Key(crand.Reader) - if err != nil { - return fmt.Errorf("error generating node key: %w", err) - } - pn := &ParachainNode{ - log: c.log, - Index: i, - Chain: c, - DockerClient: cli, - NetworkID: networkID, - TestName: testName, - NodeKey: nodeKey, - Image: parachainConfig.Image, - Bin: parachainConfig.Bin, - ChainID: parachainConfig.ChainID, - Flags: parachainConfig.Flags, - RelayChainFlags: parachainConfig.RelayChainFlags, - } - v, err := cli.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ - Labels: map[string]string{ - dockerutil.CleanupLabel: testName, - - dockerutil.NodeOwnerLabel: pn.Name(), - }, - }) + for i := 0; i < pc.NumNodes; i++ { + pn, err := c.NewParachainNode(ctx, i, cli, networkID, testName, pc) if err != nil { - return fmt.Errorf("creating volume for chain node: %w", err) - } - pn.VolumeName = v.Name - - if err := dockerutil.SetVolumeOwner(ctx, dockerutil.VolumeOwnerOptions{ - Log: c.log, - Client: cli, - VolumeName: v.Name, - ImageRef: parachainConfig.Image.Ref(), - TestName: testName, - UidGid: parachainConfig.Image.UidGid, - }); err != nil { - return fmt.Errorf("set volume owner: %w", err) + return err } parachainNodes = append(parachainNodes, pn) } @@ -810,4 +851,4 @@ func (c *PolkadotChain) GetIbcBalance(ctx context.Context, address string) (sdkt // MintFunds mints an asset for a user on parachain, keyName must be the owner of the asset func (c *PolkadotChain) MintFunds(keyName string, amount ibc.WalletAmount) error { return c.ParachainNodes[0][0].MintFunds(keyName, amount) -} \ No newline at end of file +} diff --git a/chain/polkadot/relay_chain_node.go b/chain/polkadot/relay_chain_node.go index fd55be834..d5341392c 100644 --- a/chain/polkadot/relay_chain_node.go +++ b/chain/polkadot/relay_chain_node.go @@ -9,11 +9,9 @@ import ( "time" "github.com/avast/retry-go/v4" - gsrpc "github.com/misko9/go-substrate-rpc-client/v4" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" "github.com/docker/go-connections/nat" + gsrpc "github.com/misko9/go-substrate-rpc-client/v4" p2pCrypto "github.com/libp2p/go-libp2p-core/crypto" "github.com/libp2p/go-libp2p-core/peer" @@ -30,11 +28,11 @@ type RelayChainNode struct { TestName string Index int - NetworkID string - containerID string - VolumeName string - DockerClient *client.Client - Image ibc.DockerImage + NetworkID string + containerLifecycle *dockerutil.ContainerLifecycle + VolumeName string + DockerClient *client.Client + Image ibc.DockerImage Chain ibc.Chain NodeKey p2pCrypto.PrivKey @@ -46,6 +44,8 @@ type RelayChainNode struct { api *gsrpc.SubstrateAPI hostWsPort string hostRpcPort string + + // preStartListeners dockerutil.Listeners } type RelayChainNodes []*RelayChainNode @@ -217,76 +217,35 @@ func (p *RelayChainNode) CreateNodeContainer(ctx context.Context) error { "--unsafe-ws-external", "--unsafe-rpc-external", "--prometheus-external", - "--enable-offchain-indexing=true", - "--rpc-methods=unsafe", - "--pruning=archive", + // "--enable-offchain-indexing=true", + // "--rpc-methods=unsafe", + // "--pruning=archive", fmt.Sprintf("--prometheus-port=%s", strings.Split(prometheusPort, "/")[0]), fmt.Sprintf("--listen-addr=/ip4/0.0.0.0/tcp/%s", strings.Split(nodePort, "/")[0]), fmt.Sprintf("--public-addr=%s", multiAddress), "--base-path", p.NodeHome(), } - p.logger(). - Info("Running command", - zap.String("command", strings.Join(cmd, " ")), - zap.String("container", p.Name()), - ) - - cc, err := p.DockerClient.ContainerCreate( - ctx, - &container.Config{ - Image: p.Image.Ref(), - - Entrypoint: []string{}, - Cmd: cmd, - - Hostname: p.HostName(), - User: p.Image.UidGid, - - Labels: map[string]string{dockerutil.CleanupLabel: p.TestName}, - - ExposedPorts: exposedPorts, - }, - &container.HostConfig{ - Binds: p.Bind(), - PublishAllPorts: true, - AutoRemove: false, - DNS: []string{}, - }, - &network.NetworkingConfig{ - EndpointsConfig: map[string]*network.EndpointSettings{ - p.NetworkID: {}, - }, - }, - nil, - p.Name(), - ) - if err != nil { - return err - } - p.containerID = cc.ID - return nil + return p.containerLifecycle.CreateContainer(ctx, p.TestName, p.NetworkID, p.Image, exposedPorts, p.Bind(), p.HostName(), cmd) } // StopContainer stops the relay chain node container, waiting at most 30 seconds. func (p *RelayChainNode) StopContainer(ctx context.Context) error { - timeout := 30 * time.Second - return p.DockerClient.ContainerStop(ctx, p.containerID, &timeout) + return p.containerLifecycle.StopContainer(ctx) } // StartContainer starts the container after it is built by CreateNodeContainer. func (p *RelayChainNode) StartContainer(ctx context.Context) error { - if err := dockerutil.StartContainer(ctx, p.DockerClient, p.containerID); err != nil { + if err := p.containerLifecycle.StartContainer(ctx); err != nil { return err } - c, err := p.DockerClient.ContainerInspect(ctx, p.containerID) + hostPorts, err := p.containerLifecycle.GetHostPorts(ctx, wsPort, rpcPort) if err != nil { return err } // Set the host ports once since they will not change after the container has started. - p.hostWsPort = dockerutil.GetHostPort(c, wsPort) - p.hostRpcPort = dockerutil.GetHostPort(c, rpcPort) + p.hostWsPort, p.hostRpcPort = hostPorts[0], hostPorts[1] p.logger().Info("Waiting for RPC endpoint to be available", zap.String("container", p.Name())) explorerUrl := fmt.Sprintf("\033[4;34mhttps://polkadot.js.org/apps?rpc=ws://%s#/explorer\033[0m", diff --git a/chain/polkadot/tx.go b/chain/polkadot/tx.go index e46793cbe..3640f78cd 100644 --- a/chain/polkadot/tx.go +++ b/chain/polkadot/tx.go @@ -60,8 +60,8 @@ func EnableIbc(api *gsrpc.SubstrateAPI, senderKeypair signature.KeyringPair) (gs // SendIbcFundsTx sends funds to a wallet using the SubstrateAPI func SendIbcFundsTx( - api *gsrpc.SubstrateAPI, - senderKeypair signature.KeyringPair, + api *gsrpc.SubstrateAPI, + senderKeypair signature.KeyringPair, channelID string, amount ibc.WalletAmount, options ibc.TransferOptions, @@ -78,7 +78,7 @@ func SendIbcFundsTx( } raw := gstypes.NewU8(1) - size := gstypes.NewU8(uint8(len(amount.Address) *4)) + size := gstypes.NewU8(uint8(len(amount.Address) * 4)) to := gstypes.NewStorageDataRaw([]byte(amount.Address)) channel := gstypes.NewU64(0) // Parse channel number from string timeout := gstypes.NewU8(1) @@ -98,8 +98,8 @@ func SendIbcFundsTx( // MintFunds mints an asset for a user on parachain, keyName must be the owner of the asset func MintFundsTx( - api *gsrpc.SubstrateAPI, - senderKeypair signature.KeyringPair, + api *gsrpc.SubstrateAPI, + senderKeypair signature.KeyringPair, amount ibc.WalletAmount, ) (gstypes.Hash, error) { hash := gstypes.Hash{} @@ -136,7 +136,7 @@ func MintFundsTx( // Common tx function to create an extrinsic and sign/submit it func CreateSignSubmitExt( - api *gsrpc.SubstrateAPI, + api *gsrpc.SubstrateAPI, meta *gstypes.Metadata, senderKeypair signature.KeyringPair, call gstypes.Call, @@ -190,4 +190,4 @@ func CreateSignSubmitExt( hash, err = api.RPC.Author.SubmitExtrinsic(ext) return hash, err -} \ No newline at end of file +} diff --git a/chainspec.go b/chainspec.go index a32f070d8..d40beb214 100644 --- a/chainspec.go +++ b/chainspec.go @@ -141,6 +141,7 @@ func (s *ChainSpec) applyConfigOverrides(cfg ibc.ChainConfig) (*ibc.ChainConfig, if s.ModifyGenesis != nil { cfg.ModifyGenesis = s.ModifyGenesis } + cfg.UsingNewGenesisCommand = s.UsingNewGenesisCommand // Set the version depending on the chain type. switch cfg.Type { diff --git a/chainspec_test.go b/chainspec_test.go index cbf0b21b5..24e25f2a3 100644 --- a/chainspec_test.go +++ b/chainspec_test.go @@ -133,6 +133,18 @@ func TestChainSpec_Config(t *testing.T) { require.Equal(t, m, cfg.NoHostMount) }) + + t.Run("UsingNewGenesisCommand", func(t *testing.T) { + require.False(t, baseCfg.UsingNewGenesisCommand) + + s := baseSpec + s.UsingNewGenesisCommand = true + + cfg, err := s.Config(zaptest.NewLogger(t)) + require.NoError(t, err) + + require.True(t, cfg.UsingNewGenesisCommand) + }) }) t.Run("error cases", func(t *testing.T) { diff --git a/cmd/interchaintest/example_matrix.json b/cmd/interchaintest/example_matrix.json index 6ecae2e45..d5dbe96c9 100644 --- a/cmd/interchaintest/example_matrix.json +++ b/cmd/interchaintest/example_matrix.json @@ -1,5 +1,5 @@ { - "Relayers": ["rly"], + "Relayers": ["rly", "hermes"], "ChainSets": [ [ diff --git a/cmd/interchaintest/interchaintest_test.go b/cmd/interchaintest/interchaintest_test.go index 76625105a..dd65f4b5d 100644 --- a/cmd/interchaintest/interchaintest_test.go +++ b/cmd/interchaintest/interchaintest_test.go @@ -103,7 +103,7 @@ func setUpTestMatrix() error { if extraFlags.MatrixFile == "" { fmt.Fprintln(os.Stderr, "No matrix file provided, falling back to rly with gaia and osmosis") - testMatrix.Relayers = []string{"rly"} + testMatrix.Relayers = []string{"rly", "hermes"} testMatrix.ChainSets = [][]*interchaintest.ChainSpec{ { {Name: "gaia", Version: "v7.0.1"}, diff --git a/conformance/flush.go b/conformance/flush.go index 69fcfe579..b03f6eb4f 100644 --- a/conformance/flush.go +++ b/conformance/flush.go @@ -19,7 +19,7 @@ func TestRelayerFlushing(t *testing.T, ctx context.Context, cf interchaintest.Ch // FlushPackets will be exercised in a subtest, // but check that capability first in case we can avoid setup. - requireCapabilities(t, rep, rf, relayer.FlushPackets) + requireCapabilities(t, rep, rf, relayer.Flush) client, network := interchaintest.DockerSetup(t) @@ -69,7 +69,6 @@ func TestRelayerFlushing(t *testing.T, ctx context.Context, cf interchaintest.Ch req.Len(channels, 1) c0ChannelID := channels[0].ChannelID - c1ChannelID := channels[0].Counterparty.ChannelID beforeTransferHeight, err := c0.Height(ctx) req.NoError(err) @@ -83,7 +82,7 @@ func TestRelayerFlushing(t *testing.T, ctx context.Context, cf interchaintest.Ch req.NoError(err) req.NoError(tx.Validate()) - t.Run("flush packets", func(t *testing.T) { + t.Run("flush", func(t *testing.T) { rep.TrackTest(t) eRep := rep.RelayerExecReporter(t) @@ -91,34 +90,12 @@ func TestRelayerFlushing(t *testing.T, ctx context.Context, cf interchaintest.Ch req := require.New(rep.TestifyT(t)) // Should trigger MsgRecvPacket. - req.NoError(r.FlushPackets(ctx, eRep, pathName, c0ChannelID)) - - req.NoError(testutil.WaitForBlocks(ctx, 3, c0, c1)) - - req.NoError(r.FlushPackets(ctx, eRep, pathName, c1ChannelID)) - - afterFlushHeight, err := c0.Height(ctx) - req.NoError(err) - - // Ack shouldn't happen yet. - _, err = testutil.PollForAck(ctx, c0, beforeTransferHeight, afterFlushHeight+2, tx.Packet) - req.ErrorIs(err, testutil.ErrNotFound) - }) - - t.Run("flush acks", func(t *testing.T) { - rep.TrackTest(t) - requireCapabilities(t, rep, rf, relayer.FlushAcknowledgements) - - eRep := rep.RelayerExecReporter(t) - - req := require.New(rep.TestifyT(t)) - req.NoError(r.FlushAcknowledgements(ctx, eRep, pathName, c0ChannelID)) + req.NoError(r.Flush(ctx, eRep, pathName, c0ChannelID)) afterFlushHeight, err := c0.Height(ctx) req.NoError(err) - // Now the ack must be present. - _, err = testutil.PollForAck(ctx, c0, beforeTransferHeight, afterFlushHeight+2, tx.Packet) + _, err = testutil.PollForAck(ctx, c0, beforeTransferHeight, afterFlushHeight+5, tx.Packet) req.NoError(err) }) } diff --git a/conformance/relayersetup.go b/conformance/relayersetup.go index 7e9e9702c..68619d6a2 100644 --- a/conformance/relayersetup.go +++ b/conformance/relayersetup.go @@ -102,7 +102,7 @@ func TestRelayerSetup(t *testing.T, ctx context.Context, cf interchaintest.Chain conn0 := conns0[0] req.NotEmpty(conn0.ID) req.NotEmpty(conn0.ClientID) - req.Equal(conn0.State, conntypes.OPEN.String()) + req.Subset([]string{conntypes.OPEN.String(), "Open"}, []string{conn0.State}) conns1, err := r.GetConnections(ctx, eRep, c1.Config().ChainID) req.NoError(err) @@ -111,7 +111,7 @@ func TestRelayerSetup(t *testing.T, ctx context.Context, cf interchaintest.Chain conn1 := conns1[0] req.NotEmpty(conn1.ID) req.NotEmpty(conn1.ClientID) - req.Equal(conn1.State, conntypes.OPEN.String()) + req.Subset([]string{conntypes.OPEN.String(), "Open"}, []string{conn1.State}) // Now validate counterparties. req.Equal(conn0.Counterparty.ClientId, conn1.ClientID) @@ -160,14 +160,14 @@ func TestRelayerSetup(t *testing.T, ctx context.Context, cf interchaintest.Chain // Piecemeal assertions against each channel. // Not asserting against ConnectionHops or ChannelID. - req.Equal(ch0.State, "STATE_OPEN") - req.Equal(ch0.Ordering, "ORDER_UNORDERED") + req.Subset([]string{"STATE_OPEN", "Open"}, []string{ch0.State}) + req.Subset([]string{"ORDER_UNORDERED", "Unordered"}, []string{ch0.Ordering}) req.Equal(ch0.Counterparty, ibc.ChannelCounterparty{PortID: "transfer", ChannelID: ch1.ChannelID}) req.Equal(ch0.Version, "ics20-1") req.Equal(ch0.PortID, "transfer") - req.Equal(ch1.State, "STATE_OPEN") - req.Equal(ch1.Ordering, "ORDER_UNORDERED") + req.Subset([]string{"STATE_OPEN", "Open"}, []string{ch1.State}) + req.Subset([]string{"ORDER_UNORDERED", "Unordered"}, []string{ch1.Ordering}) req.Equal(ch1.Counterparty, ibc.ChannelCounterparty{PortID: "transfer", ChannelID: ch0.ChannelID}) req.Equal(ch1.Version, "ics20-1") req.Equal(ch1.PortID, "transfer") diff --git a/conformance/test.go b/conformance/test.go index 51d8d0ebb..4f6b0ce7d 100644 --- a/conformance/test.go +++ b/conformance/test.go @@ -328,6 +328,7 @@ func TestChainPair( } if relayerImpl == nil { + t.Logf("creating relayer: %s", rf.Name()) // startup both chains. // creates wallets in the relayer for src and dst chain. // funds relayer src and dst wallets on respective chain in genesis. diff --git a/docs/writeCustomTests.md b/docs/writeCustomTests.md index c4bbb0bca..0ae606820 100644 --- a/docs/writeCustomTests.md +++ b/docs/writeCustomTests.md @@ -249,8 +249,7 @@ Notice, how it waits for blocks. Sometimes this is necessary. Here we instruct the relayer to flush packets and acknowledgments. ```go -require.NoError(t, r.FlushPackets(ctx, eRep, ibcPath, osmoChannelID)) -require.NoError(t, r.FlushAcknowledgements(ctx, eRep, ibcPath, gaiaChannelID)) +require.NoError(t, r.Flush(ctx, eRep, ibcPath, osmoChannelID)) ``` This could have also been accomplished by starting the relayer on a loop: diff --git a/examples/cosmos/chain_upgrade_ibc_test.go b/examples/cosmos/chain_upgrade_ibc_test.go index 204c25003..0903b6c86 100644 --- a/examples/cosmos/chain_upgrade_ibc_test.go +++ b/examples/cosmos/chain_upgrade_ibc_test.go @@ -17,10 +17,10 @@ import ( ) func TestJunoUpgradeIBC(t *testing.T) { - CosmosChainUpgradeIBCTest(t, "juno", "v6.0.0", "v8.0.0", "multiverse") + CosmosChainUpgradeIBCTest(t, "juno", "v6.0.0", "ghcr.io/strangelove-ventures/heighliner/juno", "v8.0.0", "multiverse") } -func CosmosChainUpgradeIBCTest(t *testing.T, chainName, initialVersion, upgradeVersion string, upgradeName string) { +func CosmosChainUpgradeIBCTest(t *testing.T, chainName, initialVersion, upgradeContainerRepo, upgradeVersion string, upgradeName string) { if testing.Short() { t.Skip("skipping in short mode") } @@ -139,7 +139,7 @@ func CosmosChainUpgradeIBCTest(t *testing.T, chainName, initialVersion, upgradeV require.NoError(t, err, "error stopping node(s)") // upgrade version on all nodes - chain.UpgradeVersion(ctx, client, upgradeVersion) + chain.UpgradeVersion(ctx, client, upgradeContainerRepo, upgradeVersion) // start all nodes back up. // validators reach consensus on first block after upgrade height diff --git a/examples/cosmos/chain_upgrade_test.go b/examples/cosmos/chain_upgrade_test.go index d57fe09a9..45fcfb93d 100644 --- a/examples/cosmos/chain_upgrade_test.go +++ b/examples/cosmos/chain_upgrade_test.go @@ -24,10 +24,10 @@ const ( ) func TestJunoUpgrade(t *testing.T) { - CosmosChainUpgradeTest(t, "juno", "v6.0.0", "v8.0.0", "multiverse") + CosmosChainUpgradeTest(t, "juno", "v6.0.0", "ghcr.io/strangelove-ventures/heighliner/juno", "v8.0.0", "multiverse") } -func CosmosChainUpgradeTest(t *testing.T, chainName, initialVersion, upgradeVersion string, upgradeName string) { +func CosmosChainUpgradeTest(t *testing.T, chainName, initialVersion, upgradeContainerRepo, upgradeVersion, upgradeName string) { if testing.Short() { t.Skip("skipping in short mode") } @@ -113,7 +113,7 @@ func CosmosChainUpgradeTest(t *testing.T, chainName, initialVersion, upgradeVers require.NoError(t, err, "error stopping node(s)") // upgrade version on all nodes - chain.UpgradeVersion(ctx, client, upgradeVersion) + chain.UpgradeVersion(ctx, client, upgradeContainerRepo, upgradeVersion) // start all nodes back up. // validators reach consensus on first block after upgrade height diff --git a/examples/ibc/interchain_accounts_test.go b/examples/ibc/interchain_accounts_test.go index db9b0ab04..3eafd56cf 100644 --- a/examples/ibc/interchain_accounts_test.go +++ b/examples/ibc/interchain_accounts_test.go @@ -9,6 +9,7 @@ import ( "time" "github.com/cosmos/cosmos-sdk/crypto/keyring" + chantypes "github.com/cosmos/ibc-go/v7/modules/core/04-channel/types" interchaintest "github.com/strangelove-ventures/interchaintest/v7" "github.com/strangelove-ventures/interchaintest/v7/chain/cosmos" "github.com/strangelove-ventures/interchaintest/v7/ibc" @@ -40,13 +41,15 @@ func TestInterchainAccounts(t *testing.T) { { Name: "icad", ChainConfig: ibc.ChainConfig{ - Images: []ibc.DockerImage{{Repository: "ghcr.io/cosmos/ibc-go-icad", Version: "v0.3.5"}}, + Images: []ibc.DockerImage{{Repository: "ghcr.io/cosmos/ibc-go-icad", Version: "v0.5.0"}}, + UsingNewGenesisCommand: true, }, }, { Name: "icad", ChainConfig: ibc.ChainConfig{ - Images: []ibc.DockerImage{{Repository: "ghcr.io/cosmos/ibc-go-icad", Version: "v0.3.5"}}, + Images: []ibc.DockerImage{{Repository: "ghcr.io/cosmos/ibc-go-icad", Version: "v0.5.0"}}, + UsingNewGenesisCommand: true, }, }, }) @@ -54,7 +57,7 @@ func TestInterchainAccounts(t *testing.T) { chains, err := cf.Chains(t.Name()) require.NoError(t, err) - chain1, chain2 := chains[0], chains[1] + chain1, chain2 := chains[0].(*cosmos.CosmosChain), chains[1].(*cosmos.CosmosChain) // Get a relayer instance r := interchaintest.NewBuiltinRelayerFactory( @@ -99,14 +102,14 @@ func TestInterchainAccounts(t *testing.T) { err = r.CreateClients(ctx, eRep, pathName, ibc.CreateClientOptions{TrustingPeriod: "330h"}) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 5, chain1, chain2) + err = testutil.WaitForBlocks(ctx, 2, chain1, chain2) require.NoError(t, err) // Create a new connection err = r.CreateConnections(ctx, eRep, pathName) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 5, chain1, chain2) + err = testutil.WaitForBlocks(ctx, 2, chain1, chain2) require.NoError(t, err) // Query for the newly created connection @@ -114,6 +117,19 @@ func TestInterchainAccounts(t *testing.T) { require.NoError(t, err) require.Equal(t, 1, len(connections)) + // Start the relayer and set the cleanup function. + err = r.StartRelayer(ctx, eRep, pathName) + require.NoError(t, err) + + t.Cleanup( + func() { + err := r.StopRelayer(ctx, eRep) + if err != nil { + t.Logf("an error occurred while stopping the relayer: %s", err) + } + }, + ) + // Register a new interchain account on chain2, on behalf of the user acc on chain1 chain1Addr := chain1User.(*cosmos.CosmosWallet).FormattedAddressWithPrefix(chain1.Config().Bech32Prefix) @@ -130,21 +146,18 @@ func TestInterchainAccounts(t *testing.T) { _, _, err = chain1.Exec(ctx, registerICA, nil) require.NoError(t, err) - // Start the relayer and set the cleanup function. - err = r.StartRelayer(ctx, eRep, pathName) + ir := cosmos.DefaultEncoding().InterfaceRegistry + + c2h, err := chain2.Height(ctx) require.NoError(t, err) - t.Cleanup( - func() { - err := r.StopRelayer(ctx, eRep) - if err != nil { - t.Logf("an error occured while stopping the relayer: %s", err) - } - }, - ) + channelFound := func(found *chantypes.MsgChannelOpenConfirm) bool { + return found.PortId == "icahost" + } - // Wait for relayer to start up and finish channel handshake - err = testutil.WaitForBlocks(ctx, 15, chain1, chain2) + // Wait for channel open confirm + _, err = cosmos.PollForMessage(ctx, chain2, ir, + c2h, c2h+30, channelFound) require.NoError(t, err) // Query for the newly registered interchain account @@ -179,10 +192,6 @@ func TestInterchainAccounts(t *testing.T) { err = chain2.SendFunds(ctx, chain2User.KeyName(), transfer) require.NoError(t, err) - // Wait for transfer to be complete and assert balances - err = testutil.WaitForBlocks(ctx, 5, chain2) - require.NoError(t, err) - chain2Bal, err := chain2.GetBalance(ctx, chain2Addr, chain2.Config().Denom) require.NoError(t, err) require.Equal(t, chain2OrigBal-transferAmount, chain2Bal) @@ -220,7 +229,17 @@ func TestInterchainAccounts(t *testing.T) { require.NoError(t, err) // Wait for tx to be relayed - err = testutil.WaitForBlocks(ctx, 10, chain2) + c1h, err := chain1.Height(ctx) + require.NoError(t, err) + + ackFound := func(found *chantypes.MsgAcknowledgement) bool { + return found.Packet.Sequence == 1 && + found.Packet.SourcePort == "icacontroller-"+chain1Addr && + found.Packet.DestinationPort == "icahost" + } + + // Wait for ack + _, err = cosmos.PollForMessage(ctx, chain1, ir, c1h, c1h+10, ackFound) require.NoError(t, err) // Assert that the funds have been received by the user account on chain2 @@ -237,9 +256,6 @@ func TestInterchainAccounts(t *testing.T) { err = r.StopRelayer(ctx, eRep) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 5, chain1, chain2) - require.NoError(t, err) - // Send another bank transfer msg to ICA on chain2 from the user account on chain1. // This message should timeout and the channel will be closed when we re-start the relayer. _, _, err = chain1.Exec(ctx, sendICATransfer, nil) @@ -252,7 +268,15 @@ func TestInterchainAccounts(t *testing.T) { err = r.StartRelayer(ctx, eRep, pathName) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 15, chain1, chain2) + c2h, err = chain2.Height(ctx) + require.NoError(t, err) + + chanCloseFound := func(found *chantypes.MsgChannelCloseConfirm) bool { + return found.PortId == "icahost" + } + + // Wait for channel close confirm + _, err = cosmos.PollForMessage(ctx, chain2, ir, c2h, c2h+30, chanCloseFound) require.NoError(t, err) // Assert that the packet timed out and that the acc balances are correct @@ -268,19 +292,23 @@ func TestInterchainAccounts(t *testing.T) { chain1Chans, err := r.GetChannels(ctx, eRep, chain1.Config().ChainID) require.NoError(t, err) require.Equal(t, 1, len(chain1Chans)) - require.Equal(t, "STATE_CLOSED", chain1Chans[0].State) + require.Subset(t, []string{"STATE_CLOSED", "Closed"}, []string{chain1Chans[0].State}) chain2Chans, err := r.GetChannels(ctx, eRep, chain2.Config().ChainID) require.NoError(t, err) require.Equal(t, 1, len(chain2Chans)) - require.Equal(t, "STATE_CLOSED", chain2Chans[0].State) + require.Subset(t, []string{"STATE_CLOSED", "Closed"}, []string{chain2Chans[0].State}) // Attempt to open another channel for the same ICA _, _, err = chain1.Exec(ctx, registerICA, nil) require.NoError(t, err) - // Wait for channel handshake to finish - err = testutil.WaitForBlocks(ctx, 15, chain1, chain2) + c2h, err = chain2.Height(ctx) + require.NoError(t, err) + + // Wait for channel open confirm + _, err = cosmos.PollForMessage(ctx, chain2, ir, + c2h, c2h+30, channelFound) require.NoError(t, err) // Assert that a new channel has been opened and the same ICA is in use @@ -294,12 +322,12 @@ func TestInterchainAccounts(t *testing.T) { chain1Chans, err = r.GetChannels(ctx, eRep, chain1.Config().ChainID) require.NoError(t, err) require.Equal(t, 2, len(chain1Chans)) - require.Equal(t, "STATE_OPEN", chain1Chans[1].State) + require.Subset(t, []string{"STATE_OPEN", "Open"}, []string{chain1Chans[1].State}) chain2Chans, err = r.GetChannels(ctx, eRep, chain2.Config().ChainID) require.NoError(t, err) require.Equal(t, 2, len(chain2Chans)) - require.Equal(t, "STATE_OPEN", chain2Chans[1].State) + require.Subset(t, []string{"STATE_OPEN", "Open"}, []string{chain2Chans[1].State}) } // parseInterchainAccountField takes a slice of bytes which should be returned when querying for an ICA via diff --git a/examples/ibc/learn_ibc_test.go b/examples/ibc/learn_ibc_test.go index 0d92e0ab0..029a8427e 100644 --- a/examples/ibc/learn_ibc_test.go +++ b/examples/ibc/learn_ibc_test.go @@ -104,9 +104,8 @@ func TestLearn(t *testing.T) { require.NoError(t, err) require.NoError(t, tx.Validate()) - // relay packets and acknoledgments - require.NoError(t, r.FlushPackets(ctx, eRep, ibcPath, osmoChannelID)) - require.NoError(t, r.FlushAcknowledgements(ctx, eRep, ibcPath, gaiaChannelID)) + // relay MsgRecvPacket to osmosis, then MsgAcknowledgement back to gaia + require.NoError(t, r.Flush(ctx, eRep, ibcPath, gaiaChannelID)) // test source wallet has decreased funds expectedBal := gaiaUserBalInitial - amountToSend @@ -115,7 +114,7 @@ func TestLearn(t *testing.T) { require.Equal(t, expectedBal, gaiaUserBalNew) // Trace IBC Denom - srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", gaiaChannelID, gaia.Config().Denom)) + srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", osmoChannelID, gaia.Config().Denom)) dstIbcDenom := srcDenomTrace.IBCDenom() // Test destination wallet has increased funds diff --git a/examples/ibc/packet_forward_test.go b/examples/ibc/packet_forward_test.go index eb6a92db0..6538639de 100644 --- a/examples/ibc/packet_forward_test.go +++ b/examples/ibc/packet_forward_test.go @@ -10,8 +10,6 @@ import ( 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/relayer" - "github.com/strangelove-ventures/interchaintest/v7/relayer/rly" "github.com/strangelove-ventures/interchaintest/v7/testreporter" "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/stretchr/testify/require" @@ -47,10 +45,10 @@ func TestPacketForwardMiddleware(t *testing.T) { chainID_A, chainID_B, chainID_C, chainID_D := "chain-a", "chain-b", "chain-c", "chain-d" cf := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{ - {Name: "gaia", Version: "v8.0.0-rc3", ChainConfig: ibc.ChainConfig{ChainID: chainID_A, GasPrices: "0.0uatom"}}, - {Name: "gaia", Version: "v8.0.0-rc3", ChainConfig: ibc.ChainConfig{ChainID: chainID_B, GasPrices: "0.0uatom"}}, - {Name: "gaia", Version: "v8.0.0-rc3", ChainConfig: ibc.ChainConfig{ChainID: chainID_C, GasPrices: "0.0uatom"}}, - {Name: "gaia", Version: "v8.0.0-rc3", ChainConfig: ibc.ChainConfig{ChainID: chainID_D, GasPrices: "0.0uatom"}}, + {Name: "gaia", Version: "v9.0.1", ChainConfig: ibc.ChainConfig{ChainID: chainID_A, GasPrices: "0.0uatom"}}, + {Name: "gaia", Version: "v9.0.1", ChainConfig: ibc.ChainConfig{ChainID: chainID_B, GasPrices: "0.0uatom"}}, + {Name: "gaia", Version: "v9.0.1", ChainConfig: ibc.ChainConfig{ChainID: chainID_C, GasPrices: "0.0uatom"}}, + {Name: "gaia", Version: "v9.0.1", ChainConfig: ibc.ChainConfig{ChainID: chainID_D, GasPrices: "0.0uatom"}}, }) chains, err := cf.Chains(t.Name()) @@ -61,8 +59,6 @@ func TestPacketForwardMiddleware(t *testing.T) { r := interchaintest.NewBuiltinRelayerFactory( ibc.CosmosRly, zaptest.NewLogger(t), - // TODO remove this line once default rly version includes https://github.com/cosmos/relayer/pull/1038 - relayer.CustomDockerImage("ghcr.io/cosmos/relayer", "main", rly.RlyDefaultUidGid), ).Build(t, client, network) const pathAB = "ab" diff --git a/examples/penumbra/penumbra_chain_test.go b/examples/penumbra/penumbra_chain_test.go index f646095c7..494b77c0a 100644 --- a/examples/penumbra/penumbra_chain_test.go +++ b/examples/penumbra/penumbra_chain_test.go @@ -23,8 +23,9 @@ func TestPenumbraChainStart(t *testing.T) { chains, err := interchaintest.NewBuiltinChainFactory(zaptest.NewLogger(t), []*interchaintest.ChainSpec{ { - Name: "penumbra", - Version: "040-themisto.1,v0.34.21", + Name: "penumbra", + // Version: "040-themisto.1,v0.34.23", + Version: "045-metis,v0.34.23", ChainConfig: ibc.ChainConfig{ ChainID: "penumbra-1", }, diff --git a/examples/polkadot/push_wasm_client_code_test.go b/examples/polkadot/push_wasm_client_code_test.go index 08f329c37..a729c3eff 100644 --- a/examples/polkadot/push_wasm_client_code_test.go +++ b/examples/polkadot/push_wasm_client_code_test.go @@ -4,24 +4,24 @@ import ( "context" "crypto/sha256" "encoding/hex" - "testing" "encoding/json" "fmt" + "testing" + "github.com/icza/dyno" "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/icza/dyno" "github.com/stretchr/testify/require" "go.uber.org/zap/zaptest" ) const ( - heightDelta = uint64(20) - votingPeriod = "30s" - maxDepositPeriod = "10s" + heightDelta = uint64(20) + votingPeriod = "30s" + maxDepositPeriod = "10s" ) // Spin up a simd chain, push a contract, and get that contract code from chain @@ -82,7 +82,7 @@ func TestPushWasmClientCode(t *testing.T) { //EncodingConfig: WasmClientEncoding(), NoHostMount: true, ConfigFileOverrides: configFileOverrides, - ModifyGenesis: modifyGenesisShortProposals(votingPeriod, maxDepositPeriod), + ModifyGenesis: modifyGenesisShortProposals(votingPeriod, maxDepositPeriod), }, }, }) @@ -121,12 +121,12 @@ func TestPushWasmClientCode(t *testing.T) { // Verify a normal user cannot push a wasm light client contract _, err = simdChain.StoreClientContract(ctx, simd1User.KeyName(), "ics10_grandpa_cw.wasm") require.ErrorContains(t, err, "invalid authority") - + proposal := cosmos.TxProposalv1{ Metadata: "none", - Deposit: "500000000" + simdChain.Config().Denom, // greater than min deposit - Title: "Grandpa Contract", - Summary: "new grandpa contract", + Deposit: "500000000" + simdChain.Config().Denom, // greater than min deposit + Title: "Grandpa Contract", + Summary: "new grandpa contract", } proposalTx, codeHash, err := simdChain.PushNewWasmClientProposal(ctx, simd1User.KeyName(), "ics10_grandpa_cw.wasm", proposal) @@ -134,7 +134,7 @@ func TestPushWasmClientCode(t *testing.T) { height, err := simdChain.Height(ctx) require.NoError(t, err, "error fetching height before submit upgrade proposal") - + err = simdChain.VoteOnProposalAllValidators(ctx, proposalTx.ProposalID, cosmos.ProposalVoteYes) require.NoError(t, err, "failed to submit votes") @@ -179,4 +179,4 @@ func modifyGenesisShortProposals(votingPeriod string, maxDepositPeriod string) f } return out, nil } -} \ No newline at end of file +} diff --git a/go.mod b/go.mod index 2ee41d172..4131fe089 100644 --- a/go.mod +++ b/go.mod @@ -3,86 +3,87 @@ module github.com/strangelove-ventures/interchaintest/v7 go 1.19 require ( - github.com/99designs/keyring v1.2.1 - github.com/BurntSushi/toml v1.2.0 + github.com/99designs/keyring v1.2.2 + github.com/BurntSushi/toml v1.2.1 github.com/ChainSafe/go-schnorrkel/1 v0.0.0-00010101000000-000000000000 github.com/StirlingMarketingGroup/go-namecase v1.0.0 github.com/atotto/clipboard v0.1.4 - github.com/avast/retry-go/v4 v4.0.4 - github.com/cosmos/cosmos-sdk v0.47.0-rc2 + github.com/avast/retry-go/v4 v4.3.3 + github.com/cometbft/cometbft v0.37.0 + github.com/cosmos/cosmos-sdk v0.47.1 github.com/cosmos/go-bip39 v1.0.0 - github.com/cosmos/gogoproto v1.4.4 - github.com/cosmos/ibc-go/v7 v7.0.0-rc0 + github.com/cosmos/gogoproto v1.4.6 + github.com/cosmos/ibc-go/v7 v7.0.0 github.com/davecgh/go-spew v1.1.1 github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.0 - github.com/docker/docker v20.10.17+incompatible + github.com/docker/docker v20.10.19+incompatible github.com/docker/go-connections v0.4.0 - github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 + github.com/gdamore/tcell/v2 v2.6.0 github.com/google/go-cmp v0.5.9 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 - github.com/libp2p/go-libp2p-core v0.15.1 + github.com/libp2p/go-libp2p-core v0.20.1 github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d github.com/mr-tron/base58 v1.2.0 + github.com/pelletier/go-toml v1.9.5 github.com/pelletier/go-toml/v2 v2.0.6 github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 github.com/spf13/cobra v1.6.1 - github.com/stretchr/testify v1.8.1 - github.com/tendermint/tendermint v0.37.0-rc2 + github.com/stretchr/testify v1.8.2 github.com/tyler-smith/go-bip32 v1.0.0 github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef go.uber.org/multierr v1.8.0 - go.uber.org/zap v1.21.0 - golang.org/x/crypto v0.4.0 + go.uber.org/zap v1.24.0 + golang.org/x/crypto v0.7.0 golang.org/x/sync v0.1.0 - golang.org/x/tools v0.1.12 - google.golang.org/grpc v1.52.3 + golang.org/x/tools v0.7.0 + google.golang.org/grpc v1.54.0 gopkg.in/yaml.v3 v3.0.1 - modernc.org/sqlite v1.17.3 + modernc.org/sqlite v1.21.1 ) require ( - cloud.google.com/go v0.105.0 // indirect - cloud.google.com/go/compute v1.14.0 // indirect + cloud.google.com/go v0.110.0 // indirect + cloud.google.com/go/compute v1.18.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.8.0 // indirect - cloud.google.com/go/storage v1.27.0 // indirect - cosmossdk.io/api v0.2.6 // indirect - cosmossdk.io/core v0.3.2 // indirect + cloud.google.com/go/iam v0.12.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-beta.4 // indirect - cosmossdk.io/tools/rosetta v0.2.0 // indirect - filippo.io/edwards25519 v1.0.0-rc.1 // indirect + cosmossdk.io/math v1.0.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 github.com/ChainSafe/go-schnorrkel v1.0.0 // 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.5.2 // indirect + github.com/Microsoft/go-winio v0.6.0 // indirect github.com/armon/go-metrics v0.4.1 // indirect - github.com/aws/aws-sdk-go v1.40.45 // 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/btcec/v2 v2.3.2 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect + 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/confio/ics23/go v0.9.0 // indirect github.com/cosmos/btcutil v1.0.5 // indirect - github.com/cosmos/cosmos-proto v1.0.0-beta.1 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.5-rc.1 // indirect + github.com/cosmos/iavl v0.20.0 // indirect github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab // indirect github.com/cosmos/ledger-cosmos-go v0.12.1 // indirect - github.com/cosmos/rosetta-sdk-go v0.9.0 // indirect - github.com/creachadair/taskgroup v0.3.2 // indirect + github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect + github.com/creachadair/taskgroup v0.4.2 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/deckarep/golang-set v1.8.0 // indirect github.com/decred/base58 v1.0.4 // indirect @@ -93,8 +94,8 @@ require ( 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/go-units v0.4.0 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect + github.com/docker/go-units v0.5.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/ethereum/go-ethereum v1.10.20 // indirect github.com/felixge/httpsnoop v1.0.2 // indirect @@ -102,20 +103,20 @@ require ( github.com/gdamore/encoding v1.0.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.5.1 // indirect + github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-stack/stack v1.8.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/googleapis v1.4.1-0.20201022092350-68b0159b7869 // indirect + github.com/gogo/googleapis v1.4.1 // indirect github.com/gogo/protobuf v1.3.3 // indirect - github.com/golang/glog v1.0.0 // 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 - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect github.com/google/orderedcode v0.0.1 // indirect github.com/google/uuid v1.3.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.1 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go/v2 v2.7.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.0 // indirect @@ -125,62 +126,64 @@ 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.6.2 // indirect + github.com/hashicorp/go-getter v1.7.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect + github.com/hdevalence/ed25519consensus v0.1.0 // indirect github.com/huandu/skiplist v1.2.0 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/ipfs/go-cid v0.0.7 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + 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/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect - github.com/klauspost/compress v1.15.12 // indirect - github.com/klauspost/cpuid/v2 v2.0.9 // indirect + github.com/klauspost/compress v1.16.3 // indirect + github.com/klauspost/cpuid/v2 v2.2.3 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/libp2p/go-openssl v0.0.7 // indirect + github.com/libp2p/go-libp2p v0.22.0 // indirect + github.com/libp2p/go-openssl v0.1.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // 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.16 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect + github.com/mattn/go-pointer v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.14 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20220103164710-9a04d6ca976b // indirect - github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/minio/sha256-simd v1.0.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/go-testing-interface v1.0.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/multiformats/go-base32 v0.0.3 // indirect + github.com/multiformats/go-base32 v0.0.4 // indirect github.com/multiformats/go-base36 v0.1.0 // indirect - github.com/multiformats/go-multiaddr v0.4.1 // indirect - github.com/multiformats/go-multibase v0.0.3 // indirect - github.com/multiformats/go-multicodec v0.4.1 // indirect - github.com/multiformats/go-multihash v0.1.0 // indirect + github.com/multiformats/go-multiaddr v0.6.0 // indirect + github.com/multiformats/go-multibase v0.1.1 // indirect + github.com/multiformats/go-multicodec v0.5.0 // indirect + github.com/multiformats/go-multihash v0.2.1 // indirect github.com/multiformats/go-varint v0.0.6 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/opencontainers/image-spec v1.1.0-rc2 // 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_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect + github.com/prometheus/common v0.40.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/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect - github.com/rivo/uniseg v0.2.0 // indirect - github.com/rs/cors v1.8.2 // indirect - github.com/rs/zerolog v1.28.0 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect + github.com/rivo/uniseg v0.4.3 // indirect + github.com/rs/cors v1.8.3 // 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 @@ -191,44 +194,43 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.15.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a // 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/tendermint/tm-db v0.6.7 // indirect - github.com/tidwall/btree v1.5.2 // indirect - github.com/ulikunitz/xz v0.5.8 // indirect + github.com/tidwall/btree v1.6.0 // indirect + github.com/ulikunitz/xz v0.5.11 // indirect github.com/zondax/hid v0.9.1 // indirect - github.com/zondax/ledger-go v0.14.0 // indirect - go.etcd.io/bbolt v1.3.6 // 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.9.0 // indirect - go.uber.org/goleak v1.1.12 // indirect - golang.org/x/exp v0.0.0-20221019170559-20944726eadf // indirect - golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.4.0 // indirect - golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect - golang.org/x/sys v0.3.0 // indirect - golang.org/x/term v0.3.0 // indirect - golang.org/x/text v0.5.0 // indirect + go.uber.org/atomic v1.10.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/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.107.0 // indirect + google.golang.org/api v0.110.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect - google.golang.org/protobuf v1.28.1 // indirect + google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 // indirect + google.golang.org/protobuf v1.29.1 // 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 - lukechampine.com/blake3 v1.1.6 // indirect - lukechampine.com/uint128 v1.1.1 // indirect - modernc.org/cc/v3 v3.36.0 // indirect - modernc.org/ccgo/v3 v3.16.6 // indirect - modernc.org/libc v1.16.7 // indirect - modernc.org/mathutil v1.4.1 // indirect - modernc.org/memory v1.1.1 // indirect - modernc.org/opt v0.1.1 // indirect - modernc.org/strutil v1.1.1 // indirect - modernc.org/token v1.0.0 // indirect + lukechampine.com/blake3 v1.1.7 // indirect + 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/mathutil v1.5.0 // indirect + modernc.org/memory v1.5.0 // indirect + modernc.org/opt v0.1.3 // indirect + modernc.org/strutil v1.1.3 // indirect + modernc.org/token v1.0.1 // indirect nhooyr.io/websocket v1.8.6 // indirect - pgregory.net/rapid v0.5.3 // indirect + pgregory.net/rapid v0.5.5 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/go.sum b/go.sum index 4394088fb..f2afbe13d 100644 --- a/go.sum +++ b/go.sum @@ -17,58 +17,200 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.105.0 h1:DNtEKRBAAzeS4KyIory52wWHuClNaXJ5x1F7xa4q+5Y= -cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +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/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= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.14.0 h1:hfm2+FfxVmnRlh6LpB7cg1ZNU+5edAHmW679JePztk0= -cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +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/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= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= -cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +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/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.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= +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= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= +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= -cosmossdk.io/api v0.2.6 h1:AoNwaLLapcLsphhMK6+o0kZl+D6MMUaHVqSdwinASGU= -cosmossdk.io/api v0.2.6/go.mod h1:u/d+GAxil0nWpl1XnQL8nkziQDIWuBDhv8VnDm/s6dI= -cosmossdk.io/core v0.3.2 h1:KlQIufpJHJvOs7YLGTZsZcCo1WlkencDXepsr8STKZQ= -cosmossdk.io/core v0.3.2/go.mod h1:CO7vbe+evrBvHc0setFHL/u7nlY7HJGzdRSBkT/sirc= +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/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= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cosmossdk.io/api v0.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/math v1.0.0-beta.4 h1:JtKedVLGzA0vv84xjYmZ75RKG35Kf2WwcFu8IjRkIIw= -cosmossdk.io/math v1.0.0-beta.4/go.mod h1:An0MllWJY6PxibUpnwGk8jOm+a/qIxlKmL5Zyp9NnaM= -cosmossdk.io/tools/rosetta v0.2.0 h1:Ae499UiZ9yPNCXvjOBO/R9I1pksCJfxoqWauEZgA/gs= -cosmossdk.io/tools/rosetta v0.2.0/go.mod h1:3mn8QuE2wLUdTi77/gbDXdFqXZdBdiBJhgAWUTSXPv8= +cosmossdk.io/math v1.0.0 h1:ro9w7eKx23om2tZz/VM2Pf+z2WAbGX1yDQQOJ6iGeJw= +cosmossdk.io/math v1.0.0/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= -filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= -filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= +filippo.io/edwards25519 v1.0.0/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= -github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= +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/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0= -github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +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/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= @@ -82,8 +224,8 @@ github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e/go.mod h1:kGUq 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.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= -github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +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/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -114,15 +256,14 @@ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= -github.com/avast/retry-go/v4 v4.0.4 h1:38hLf0DsRXh+hOF6HbTni0+5QGTNdw9zbaMD7KAO830= -github.com/avast/retry-go/v4 v4.0.4/go.mod h1:HqmLvS2VLdStPCGDFjSuZ9pzlTqVRldCI4w2dO4m1Ms= +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/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.40.45 h1:QN1nsY27ssD/JmW4s83qmSb+uL6DG4GmCDzjmJB4xUI= -github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +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= +github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= 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-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -134,8 +275,6 @@ 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/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/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= @@ -151,15 +290,18 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA 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.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/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/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= -github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= +github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= +github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= 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/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= @@ -170,6 +312,7 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX 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= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= @@ -178,6 +321,12 @@ github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b80 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/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-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/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= @@ -185,39 +334,36 @@ 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.3.3-0.20220203105225-a9a7ef127534/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.1 h1:iDL5qh++NoXxG8hSy93FdYJut4XfgbShIocllGaXx/0= -github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= -github.com/cosmos/cosmos-sdk v0.47.0-rc2 h1:BwQC41zQXG/pN9DdLaWzYJrC911St5lYOQIoW4Hf5wQ= -github.com/cosmos/cosmos-sdk v0.47.0-rc2/go.mod h1:e0ZEpY/nhVoXAkijdHPdFOJNOXCddfvyFrFLp2QmCCY= +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/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.4 h1:nVAsgLlAf5jeN0fV7hRlkZvf768zU+dy4pG+hxc2P34= -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/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.5-rc.1 h1:4PjF2PdScyPbN1WbXpiQU21YtyonnrMU31xN74g8Rkg= -github.com/cosmos/iavl v0.19.5-rc.1/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v7 v7.0.0-rc0 h1:K/75iNLn/WaBC8kz2C8XTtAWOCGgI0+cO6dbDtP2VeQ= -github.com/cosmos/ibc-go/v7 v7.0.0-rc0/go.mod h1:lHwqedXjafbUCFd5KQBvK5JoHLW5aHXz5vUswTktip8= +github.com/cosmos/gogoproto v1.4.6 h1:Ee7z15dWJaGlgM2rWrK8N2IX7PQcuccu8oG68jp5RL4= +github.com/cosmos/gogoproto v1.4.6/go.mod h1:VS/ASYmPgv6zkPKLjR9EB91lwbLHOzaGCirmKKhncfI= +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/ledger-cosmos-go v0.12.1 h1:sMBxza5p/rNK/06nBSNmsI/WDqI0pVJFVNihy1Y984w= github.com/cosmos/ledger-cosmos-go v0.12.1/go.mod h1:dhO6kj+Y+AHIOgAe4L9HL/6NDdyyth4q238I9yFpD2g= -github.com/cosmos/rosetta-sdk-go v0.9.0 h1:3mj2naR+GUhUXabtb96WWSsPFZDCYkdtp6r0jffgugg= -github.com/cosmos/rosetta-sdk-go v0.9.0/go.mod h1:2v41yXL25xxAXrczVSnbDHcQH9CgildruDlGQGKW/JU= +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.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= -github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= +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= @@ -251,15 +397,16 @@ github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WA github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= 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 v20.10.17+incompatible h1:JYCuMrWaVNophQTOrMMoSwudOVEfcegoZZrleKc1xwE= -github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= +github.com/docker/docker v20.10.19+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-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= -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/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= @@ -272,6 +419,8 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= @@ -295,13 +444,14 @@ github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4 github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= -github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1 h1:QqwPZCwh/k1uYqq6uXSb9TRDhTkfQbO80v8zhnIe5zM= github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1/go.mod h1:Az6Jt+M5idSED2YPGtwnfJV0kXohgdCBPmHGSYc1r04= +github.com/gdamore/tcell/v2 v2.6.0 h1:OKbluoP9VYmJwZwq/iLb4BxwKcwGthaa1YNBJIyCySg= +github.com/gdamore/tcell/v2 v2.6.0/go.mod h1:be9omFATkdr0D9qewWW3d+MEvl5dha+Etb5y65J2H8Y= 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.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= +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= @@ -310,23 +460,21 @@ github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= -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-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +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-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/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= @@ -338,16 +486,17 @@ 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= -github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +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 h1:kRpU4zq+Pzh4feET49aEWPOzwQy3U2SsbZEQ7QEcif0= 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= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +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-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -361,6 +510,7 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -379,8 +529,10 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -401,6 +553,8 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +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/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= @@ -410,7 +564,8 @@ github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPg 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 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ= +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/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= @@ -423,18 +578,35 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +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/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.2/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.2.1 h1:RY7tHKZcRlk788d5WSo/e83gOyyy742E8GSs771ySpg= -github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +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/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= @@ -470,8 +642,8 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng 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.6.2 h1:7jX7xcB+uVCliddZgeKyNxv0xoT7qL5KDtH7rU4IqIk= -github.com/hashicorp/go-getter v1.6.2/go.mod h1:IZCrswsZPeWv9IkVnLElzRU/gz/QPi6pZHn4tv6vbwA= +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-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= @@ -486,7 +658,6 @@ github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdv github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= @@ -501,8 +672,8 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= -github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= +github.com/hdevalence/ed25519consensus v0.1.0 h1:jtBwzzcHuTmFrQN6xQZn6CQEO/V9f7HsjsjeEZ6auqU= +github.com/hdevalence/ed25519consensus v0.1.0/go.mod h1:w3BHWjwJbFU29IRHL1Iqkw3sus+7FctEyM4RqDxYNzo= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= @@ -516,13 +687,13 @@ github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845/go.mod h1:c1tRKs5Tx7E2+u 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 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= 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.0.7 h1:ysQJVJA3fNDF1qigJbsSQOdjhVLsOEoPdh0+R97k3jY= -github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= +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/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-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= @@ -537,7 +708,6 @@ github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= 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.11/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= @@ -550,20 +720,21 @@ github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:C github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/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.12 h1:YClS/PImqYbn+UILDnqxQCZ3RehC9N318SU3kElDUEM= -github.com/klauspost/compress v1.15.12/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY= +github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +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.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.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +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= @@ -573,10 +744,12 @@ 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-core v0.15.1 h1:0RY+Mi/ARK9DgG1g9xVQLb8dDaaU8tCePMtGALEfBnM= -github.com/libp2p/go-libp2p-core v0.15.1/go.mod h1:agSaboYM4hzB1cWekgVReqV5M4g5M+2eNNejV+1EEhs= -github.com/libp2p/go-openssl v0.0.7 h1:eCAzdLejcNVBzP/iZM9vqHnQm+XyCEbSSIheIPRGNsw= -github.com/libp2p/go-openssl v0.0.7/go.mod h1:unDrJpgy3oFr+rqXsarWifmJuNnJR4chtO1HmaZjggc= +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/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= @@ -588,33 +761,28 @@ 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.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +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-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= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-sqlite3 v1.14.12 h1:TJ1bhYJPV44phC+IMu1u2K/i5RriLTPe+yc68XDJ1Z0= -github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +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/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -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/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= 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= -github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= -github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= -github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= 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/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d h1:4F9ELzQO+EH/UXBVav0C+xcEjkGXFYRW/+9e1OwK6yM= @@ -623,15 +791,16 @@ github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceT github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0 h1:fzU/JVNcaqHQEcVFAKeR41fkiLdIPrefOvVG1VZ96U0= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= 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/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= +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= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -640,27 +809,22 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb 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/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= -github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= 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/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/multiformats/go-base32 v0.0.3 h1:tw5+NhuwaOjJCC5Pp82QuXbrmLzWg7uxlMFp8Nq/kkI= -github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA= +github.com/multiformats/go-base32 v0.0.4 h1:+qMh4a2f37b4xTNs6mqitDinryCI+tfO2dRVMN9mjSE= +github.com/multiformats/go-base32 v0.0.4/go.mod h1:jNLFzjPZtp3aIARHbJRZIaPuspdH0J6q39uUM5pnABM= github.com/multiformats/go-base36 v0.1.0 h1:JR6TyF7JjGd3m6FbLU2cOxhC0Li8z8dLNGQ89tUg4F4= github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM= -github.com/multiformats/go-multiaddr v0.4.1 h1:Pq37uLx3hsyNlTDir7FZyU8+cFCTqd5y1KiM2IzOutI= -github.com/multiformats/go-multiaddr v0.4.1/go.mod h1:3afI9HfVW8csiF8UZqtpYRiDyew8pRX7qLIGHu9FLuM= -github.com/multiformats/go-multibase v0.0.3 h1:l/B6bJDQjvQ5G52jw4QGSYeOTZoAwIO77RblWplfIqk= -github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= -github.com/multiformats/go-multicodec v0.4.1 h1:BSJbf+zpghcZMZrwTYBGwy0CPcVZGWiC72Cp8bBd4R4= -github.com/multiformats/go-multicodec v0.4.1/go.mod h1:1Hj/eHRaVWSXiSNNfcEPcwZleTmdNP81xlxDLnWU9GQ= -github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= -github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= -github.com/multiformats/go-multihash v0.1.0 h1:CgAgwqk3//SVEw3T+6DqI4mWMyRuDwZtOWcJT0q9+EA= -github.com/multiformats/go-multihash v0.1.0/go.mod h1:RJlXsxt6vHGaia+S8We0ErjhojtKzPP2AH4+kYM7k84= -github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/multiformats/go-multiaddr v0.6.0 h1:qMnoOPj2s8xxPU5kZ57Cqdr0hHhARz7mFsPMIiYNqzg= +github.com/multiformats/go-multiaddr v0.6.0/go.mod h1:F4IpaKZuPP360tOMn2Tpyu0At8w23aRyVqeK0DbFeGM= +github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI= +github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8= +github.com/multiformats/go-multicodec v0.5.0 h1:EgU6cBe/D7WRwQb1KmnBvU7lrcFGMggZVTPtOW9dDHs= +github.com/multiformats/go-multicodec v0.5.0/go.mod h1:DiY2HFaEp5EhEXb/iYzVAunmyX/aSFMxq2KMKfWEues= +github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108= +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/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -697,8 +861,8 @@ 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 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.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec= -github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/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 v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= 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= @@ -715,16 +879,18 @@ 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.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/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= 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/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= github.com/pierrec/xxHash v0.1.5/go.mod h1:w2waW5Zoa/Wc4Yqe0wgrIYAGKqRMf7czn2HNKXmuL+I= -github.com/pierrre/gotestcover v0.0.0-20160517101806-924dca7d15f0/go.mod h1:4xpMLz7RBWyB+ElzHu8Llua96TRCB3YwX+l5EP1wmHk= 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= @@ -740,8 +906,6 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn 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.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= 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-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= @@ -758,20 +922,16 @@ 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.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 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +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-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= 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.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.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +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/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= @@ -780,23 +940,21 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqn 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 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +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/tview v0.0.0-20220307222120-9994674d60a8 h1:xe+mmCnDN82KhC010l3NfYlA8ZbOuzbXAzSYBa6wbMc= github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8/go.mod h1:WIfMkQNY+oq/mWwtsjOYHIZBuwthioY2srOmljJkTnk= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s= +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= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY= -github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= +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/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= @@ -860,20 +1018,19 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= 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 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= 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/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.20220614013038-64ee5596c38a h1:1ur3QoCqvE5fl+nylMaIr9PVV1w343YRDtsy+Rwu7XI= -github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= +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/tendermint/tendermint v0.37.0-rc2 h1:2n1em+jfbhSv6QnBj8F6KHCpbIzZCB8KgcjidJUQNlY= -github.com/tendermint/tendermint v0.37.0-rc2/go.mod h1:uYQO9DRNPeZROa9X3hJOZpYcVREDC2/HST+EiU5g2+A= -github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= -github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= -github.com/tidwall/btree v1.5.2 h1:5eA83Gfki799V3d3bJo9sWk+yL2LRoTEah3O/SA6/8w= -github.com/tidwall/btree v1.5.2/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= +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/numcpus v0.4.0 h1:E53Dm1HjH1/R2/aoCtXtPgzmElmn51aOkhCFSuZq//o= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= @@ -887,8 +1044,9 @@ 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 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ulikunitz/xz v0.5.8 h1:ERv8V6GKqVi23rgu5cj9pVfVzJbOqAY2Ntl88O6c2nQ= -github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +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 v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= @@ -898,14 +1056,14 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= 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.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= 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.0 h1:dlMC7aO8Wss1CxBq2I96kZ69Nh1ligzbs8UWOtq/AsA= -github.com/zondax/ledger-go v0.14.0/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +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.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -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.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -915,6 +1073,7 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= @@ -922,21 +1081,18 @@ 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.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -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/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.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= 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/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.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= -go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +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-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -944,17 +1100,16 @@ golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnf 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-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-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= 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.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= -golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= +golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= +golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= 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= @@ -966,8 +1121,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-20221019170559-20944726eadf h1:nFVjjKDgNY37+ZSYCJmtYf7tOlfQswHqplG2eosjOMg= -golang.org/x/exp v0.0.0-20221019170559-20944726eadf/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +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/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= @@ -981,6 +1136,7 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -992,8 +1148,9 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= 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 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= 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/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= @@ -1035,17 +1192,27 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +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-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= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= -golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +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/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= @@ -1055,10 +1222,24 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +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/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= @@ -1070,6 +1251,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +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/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1120,47 +1304,67 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/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-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-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= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/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-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-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/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= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/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-20211107104306-e0b2ad06fe42/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-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= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220517195934-5e4e11fc645e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.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/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= 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= @@ -1170,8 +1374,10 @@ 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.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.4.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 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.8.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= @@ -1225,7 +1431,6 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc 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-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/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= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1234,15 +1439,20 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +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.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= -golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= 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/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= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +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.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= @@ -1265,8 +1475,37 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.107.0 h1:I2SlFjD8ZWabaIFOfeEDg3pf0BHJDh6iYQ1ic3Yu/UU= -google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +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/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= @@ -1317,10 +1556,76 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= google.golang.org/genproto v0.0.0-20220314164441-57ef72a4c106/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +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 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= @@ -1345,10 +1650,26 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.52.3 h1:pf7sOysg4LdgBqduXveGKrcEwbStiK2rtfghdzlUYDQ= -google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +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/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= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1362,8 +1683,10 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +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/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= @@ -1397,6 +1720,7 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 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= 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= @@ -1408,47 +1732,36 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= 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.6 h1:H3cROdztr7RCfoaTpGZFQsrqvweFLrqS73j7L7cmR5c= -lukechampine.com/blake3 v1.1.6/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= -lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU= -lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= -modernc.org/cc/v3 v3.36.0 h1:0kmRkTmqNidmu3c7BNDSdVHCxXCkWLmWmCIVX4LUboo= -modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= -modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= -modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= -modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= -modernc.org/ccgo/v3 v3.16.6 h1:3l18poV+iUemQ98O3X5OMr97LOqlzis+ytivU4NqGhA= -modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +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= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= +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 v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= -modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= -modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= -modernc.org/libc v1.16.7 h1:qzQtHhsZNpVPpeCu+aMIQldXeV1P0vRhSqCL0nOIJOA= -modernc.org/libc v1.16.7/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= -modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.4.1 h1:ij3fYGe8zBF4Vu+g0oT7mB06r8sqGWKuJu1yXeR4by8= -modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/memory v1.1.1 h1:bDOL0DIDLQv7bWhP3gMvIrnoFw+Eo6F7a2QK9HPDiFU= -modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= -modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A= -modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/sqlite v1.17.3 h1:iE+coC5g17LtByDYDWKpR6m2Z9022YrSh3bumwOnIrI= -modernc.org/sqlite v1.17.3/go.mod h1:10hPVYar9C0kfXuTWGz8s0XtB8uAGymUy51ZzStYe3k= -modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs= -modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= -modernc.org/tcl v1.13.1 h1:npxzTwFTZYM8ghWicVIX1cRWzj7Nd8i6AqqX2p+IYao= -modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= -modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk= -modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/z v1.5.1 h1:RTNHdsrOpeoSeOF4FbzTo8gBYByaJ5xT7NgZ9ZqRiJM= -modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= +modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY= +modernc.org/libc v1.22.3/go.mod h1:MQrloYP209xa2zHome2a8HLiLm6k0UT8CoHpV74tOFw= +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/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/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= 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.3 h1:163N50IHFqr1phZens4FQOdPgfJscR7a562mjQqeo4M= -pgregory.net/rapid v0.5.3/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= +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= diff --git a/ibc/relayer.go b/ibc/relayer.go index 9594a3fc9..8224332e2 100644 --- a/ibc/relayer.go +++ b/ibc/relayer.go @@ -64,11 +64,8 @@ type Relayer interface { // StopRelayer stops a relayer that started work through StartRelayer. StopRelayer(ctx context.Context, rep RelayerExecReporter) error - // FlushPackets flushes any outstanding packets and then returns. - FlushPackets(ctx context.Context, rep RelayerExecReporter, pathName string, channelID string) error - - // FlushAcknowledgements flushes any outstanding acknowledgements and then returns. - FlushAcknowledgements(ctx context.Context, rep RelayerExecReporter, pathName string, channelID string) error + // Flush flushes any outstanding packets and then returns. + Flush(ctx context.Context, rep RelayerExecReporter, pathName string, channelID string) error // CreateClients performs the client handshake steps necessary for creating a light client // on src that tracks the state of dst, and a light client on dst that tracks the state of src. @@ -97,7 +94,7 @@ type Relayer interface { // "env" are environment variables in the format "MY_ENV_VAR=value" Exec(ctx context.Context, rep RelayerExecReporter, cmd []string, env []string) RelayerExecResult - // Set the wasm client contract hash in the chain's config if the counterparty chain in a path used 08-wasm + // Set the wasm client contract hash in the chain's config if the counterparty chain in a path used 08-wasm // to instantiate the client. SetClientContractHash(ctx context.Context, rep RelayerExecReporter, cfg ChainConfig, hash string) error } diff --git a/ibc/types.go b/ibc/types.go index e538e31eb..788bc9ef7 100644 --- a/ibc/types.go +++ b/ibc/types.go @@ -40,6 +40,8 @@ type ChainConfig struct { ConfigFileOverrides map[string]any // Non-nil will override the encoding config, used for cosmos chains only. EncodingConfig *testutil.TestEncodingConfig + // Required when the chain uses the new sub commands for genesis (https://github.com/cosmos/cosmos-sdk/pull/14149) + UsingNewGenesisCommand bool `yaml:"using-new-genesis-command"` } func (c ChainConfig) Clone() ChainConfig { diff --git a/interchain_test.go b/interchain_test.go index 17f476ddd..77950022a 100644 --- a/interchain_test.go +++ b/interchain_test.go @@ -25,7 +25,15 @@ import ( clienttypes "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" ) -func TestInterchain_DuplicateChain(t *testing.T) { +func TestInterchain_DuplicateChain_CosmosRly(t *testing.T) { + duplicateChainTest(t, ibc.CosmosRly) +} + +func TestInterchain_DuplicateChain_HermesRelayer(t *testing.T) { + duplicateChainTest(t, ibc.Hermes) +} + +func duplicateChainTest(t *testing.T, relayerImpl ibc.RelayerImplementation) { if testing.Short() { t.Skip("skipping in short mode") } @@ -45,7 +53,7 @@ func TestInterchain_DuplicateChain(t *testing.T) { gaia0, gaia1 := chains[0], chains[1] - r := interchaintest.NewBuiltinRelayerFactory(ibc.CosmosRly, zaptest.NewLogger(t)).Build( + r := interchaintest.NewBuiltinRelayerFactory(relayerImpl, zaptest.NewLogger(t)).Build( t, client, network, ) @@ -73,7 +81,15 @@ func TestInterchain_DuplicateChain(t *testing.T) { _ = ic.Close() } -func TestInterchain_GetRelayerWallets(t *testing.T) { +func TestInterchain_GetRelayerWallets_CosmosRly(t *testing.T) { + getRelayerWalletsTest(t, ibc.CosmosRly) +} + +func TestInterchain_GetRelayerWallets_HermesRelayer(t *testing.T) { + getRelayerWalletsTest(t, ibc.Hermes) +} + +func getRelayerWalletsTest(t *testing.T, relayerImpl ibc.RelayerImplementation) { if testing.Short() { t.Skip("skipping in short mode") } @@ -93,7 +109,7 @@ func TestInterchain_GetRelayerWallets(t *testing.T) { gaia0, gaia1 := chains[0], chains[1] - r := interchaintest.NewBuiltinRelayerFactory(ibc.CosmosRly, zaptest.NewLogger(t)).Build( + r := interchaintest.NewBuiltinRelayerFactory(relayerImpl, zaptest.NewLogger(t)).Build( t, client, network, ) @@ -229,7 +245,15 @@ func TestInterchain_CreateUser(t *testing.T) { }) } -func TestCosmosChain_BroadcastTx(t *testing.T) { +func TestCosmosChain_BroadcastTx_CosmosRly(t *testing.T) { + broadcastTxCosmosChainTest(t, ibc.CosmosRly) +} + +func TestCosmosChain_BroadcastTx_HermesRelayer(t *testing.T) { + broadcastTxCosmosChainTest(t, ibc.Hermes) +} + +func broadcastTxCosmosChainTest(t *testing.T, relayerImpl ibc.RelayerImplementation) { if testing.Short() { t.Skip("skipping in short mode") } @@ -249,7 +273,7 @@ func TestCosmosChain_BroadcastTx(t *testing.T) { gaia0, gaia1 := chains[0], chains[1] - r := interchaintest.NewBuiltinRelayerFactory(ibc.CosmosRly, zaptest.NewLogger(t)).Build( + r := interchaintest.NewBuiltinRelayerFactory(relayerImpl, zaptest.NewLogger(t)).Build( t, client, network, ) diff --git a/internal/blockdb/messages_view_test.go b/internal/blockdb/messages_view_test.go index 6a7ed4d00..e88d9f85b 100644 --- a/internal/blockdb/messages_view_test.go +++ b/internal/blockdb/messages_view_test.go @@ -278,13 +278,13 @@ WHERE type = "/ibc.applications.transfer.v1.MsgTransfer" AND chain_id = ? return } - if !rf.Capabilities()[relayer.FlushPackets] { - t.Skip("cannot continue due to missing capability FlushPackets") + if !rf.Capabilities()[relayer.Flush] { + t.Skip("cannot continue due to missing capability Flush") } - t.Run("relay packet", func(t *testing.T) { - require.NoError(t, r.FlushPackets(ctx, eRep, pathName, gaia0ChannelID)) - require.NoError(t, testutil.WaitForBlocks(ctx, 2, gaia0)) + t.Run("relay", func(t *testing.T) { + require.NoError(t, r.Flush(ctx, eRep, pathName, gaia0ChannelID)) + require.NoError(t, testutil.WaitForBlocks(ctx, 5, gaia0)) const qMsgRecvPacket = `SELECT port_id, channel_id, counterparty_port_id, counterparty_channel_id @@ -293,31 +293,19 @@ WHERE type = "/ibc.core.channel.v1.MsgRecvPacket" AND chain_id = ? ` var portID, channelID, counterpartyPortID, counterpartyChannelID string + require.NoError(t, db.QueryRow(qMsgRecvPacket, gaia1ChainID).Scan(&portID, &channelID, &counterpartyPortID, &counterpartyChannelID)) require.Equal(t, portID, gaia0Port) require.Equal(t, channelID, gaia0ChannelID) require.Equal(t, counterpartyPortID, gaia1Port) require.Equal(t, counterpartyChannelID, gaia1ChannelID) - }) - if t.Failed() { - return - } - - if !rf.Capabilities()[relayer.FlushAcknowledgements] { - t.Skip("cannot continue due to missing capability FlushAcknowledgements") - } - - t.Run("relay acknowledgement", func(t *testing.T) { - require.NoError(t, r.FlushAcknowledgements(ctx, eRep, pathName, gaia0ChannelID)) - require.NoError(t, testutil.WaitForBlocks(ctx, 2, gaia1)) const qMsgAck = `SELECT port_id, channel_id, counterparty_port_id, counterparty_channel_id FROM v_cosmos_messages WHERE type = "/ibc.core.channel.v1.MsgAcknowledgement" AND chain_id = ? ` - var portID, channelID, counterpartyPortID, counterpartyChannelID string require.NoError(t, db.QueryRow(qMsgAck, gaia0ChainID).Scan(&portID, &channelID, &counterpartyPortID, &counterpartyChannelID)) require.Equal(t, portID, gaia0Port) diff --git a/internal/dockerutil/container_lifecycle.go b/internal/dockerutil/container_lifecycle.go new file mode 100644 index 000000000..d16e90d45 --- /dev/null +++ b/internal/dockerutil/container_lifecycle.go @@ -0,0 +1,147 @@ +package dockerutil + +import ( + "context" + "fmt" + "net" + "strings" + "time" + + dockertypes "github.com/docker/docker/api/types" + "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/network" + dockerclient "github.com/docker/docker/client" + "github.com/docker/docker/errdefs" + "github.com/docker/go-connections/nat" + "github.com/strangelove-ventures/interchaintest/v7/ibc" + "go.uber.org/zap" +) + +type ContainerLifecycle struct { + log *zap.Logger + client *dockerclient.Client + containerName string + id string + preStartListeners Listeners +} + +func NewContainerLifecycle(log *zap.Logger, client *dockerclient.Client, containerName string) *ContainerLifecycle { + return &ContainerLifecycle{ + log: log, + client: client, + containerName: containerName, + } +} + +func (c *ContainerLifecycle) CreateContainer( + ctx context.Context, + testName string, + networkID string, + image ibc.DockerImage, + ports nat.PortSet, + volumeBinds []string, + hostName string, + cmd []string, +) error { + imageRef := image.Ref() + c.log.Info( + "Will run command", + zap.String("image", imageRef), + zap.String("container", c.containerName), + zap.String("command", strings.Join(cmd, " ")), + ) + + pb, listeners, err := GeneratePortBindings(ports) + if err != nil { + return fmt.Errorf("failed to generate port bindings: %w", err) + } + + c.preStartListeners = listeners + + cc, err := c.client.ContainerCreate( + ctx, + &container.Config{ + Image: imageRef, + + Entrypoint: []string{}, + Cmd: cmd, + + Hostname: hostName, + + Labels: map[string]string{CleanupLabel: testName}, + + ExposedPorts: ports, + }, + &container.HostConfig{ + Binds: volumeBinds, + PortBindings: pb, + PublishAllPorts: true, + AutoRemove: false, + DNS: []string{}, + }, + &network.NetworkingConfig{ + EndpointsConfig: map[string]*network.EndpointSettings{ + networkID: {}, + }, + }, + nil, + c.containerName, + ) + if err != nil { + listeners.CloseAll() + c.preStartListeners = []net.Listener{} + return err + } + c.id = cc.ID + return nil +} + +func (c *ContainerLifecycle) StartContainer(ctx context.Context) error { + // lock port allocation for the time between freeing the ports from the + // temporary listeners to the consumption of the ports by the container + mu.RLock() + defer mu.RUnlock() + + c.preStartListeners.CloseAll() + c.preStartListeners = []net.Listener{} + + if err := StartContainer(ctx, c.client, c.id); err != nil { + return err + } + + c.log.Info("Container started", zap.String("container", c.containerName)) + + return nil +} + +func (c *ContainerLifecycle) StopContainer(ctx context.Context) error { + timeout := 30 * time.Second + return c.client.ContainerStop(ctx, c.id, &timeout) +} + +func (c *ContainerLifecycle) RemoveContainer(ctx context.Context) error { + err := c.client.ContainerRemove(ctx, c.id, dockertypes.ContainerRemoveOptions{ + Force: true, + RemoveVolumes: true, + }) + if err != nil && !errdefs.IsNotFound(err) { + return fmt.Errorf("remove container %s: %w", c.containerName, err) + } + return nil +} + +func (c *ContainerLifecycle) ContainerID() string { + return c.id +} + +func (c *ContainerLifecycle) GetHostPorts(ctx context.Context, portIDs ...string) ([]string, error) { + cjson, err := c.client.ContainerInspect(ctx, c.id) + if err != nil { + return nil, err + } + ports := make([]string, len(portIDs)) + for i, p := range portIDs { + ports[i] = GetHostPort(cjson, p) + } + return ports, nil +} diff --git a/internal/dockerutil/filewriter.go b/internal/dockerutil/filewriter.go index 44bde3f4b..7b66ca2f2 100644 --- a/internal/dockerutil/filewriter.go +++ b/internal/dockerutil/filewriter.go @@ -5,7 +5,6 @@ import ( "bytes" "context" "fmt" - "path" "time" "github.com/docker/docker/api/types" @@ -48,10 +47,10 @@ func (w *FileWriter) WriteFile(ctx context.Context, volumeName, relPath string, Cmd: []string{ // Take the uid and gid of the mount path, // and set that as the owner of the new relative path. - `chown "$(stat -c '%u:%g' "$1")" "$2"`, + `chown -R "$(stat -c '%u:%g' "$1")" "$2"`, "_", // Meaningless arg0 for sh -c with positional args. mountPath, - path.Join(mountPath, relPath), + mountPath, }, // Use root user to avoid permission issues when reading files from the volume. diff --git a/internal/dockerutil/ports.go b/internal/dockerutil/ports.go new file mode 100644 index 000000000..a4f12db1a --- /dev/null +++ b/internal/dockerutil/ports.go @@ -0,0 +1,72 @@ +package dockerutil + +import ( + "fmt" + "net" + "sync" + + "github.com/docker/go-connections/nat" +) + +var mu sync.RWMutex + +type Listeners []net.Listener + +func (l Listeners) CloseAll() { + for _, listener := range l { + listener.Close() + } +} + +// openListenerOnFreePort opens the next free port +func openListenerOnFreePort() (*net.TCPListener, error) { + addr, err := net.ResolveTCPAddr("tcp", "localhost:0") + if err != nil { + return nil, err + } + + mu.Lock() + defer mu.Unlock() + l, err := net.ListenTCP("tcp", addr) + if err != nil { + return nil, err + } + + return l, nil +} + +// nextAvailablePort generates a docker PortBinding by finding the next available port. +// The listener will be closed in the case of an error, otherwise it will be left open. +// This allows multiple nextAvailablePort calls to find multiple available ports +// before closing them so they are available for the PortBinding. +func nextAvailablePort() (nat.PortBinding, *net.TCPListener, error) { + l, err := openListenerOnFreePort() + if err != nil { + l.Close() + return nat.PortBinding{}, nil, err + } + + return nat.PortBinding{ + HostIP: "0.0.0.0", + HostPort: fmt.Sprint(l.Addr().(*net.TCPAddr).Port), + }, l, nil +} + +// GeneratePortBindings will find open ports on the local +// machine and create a PortBinding for every port in the portSet. +func GeneratePortBindings(portSet nat.PortSet) (nat.PortMap, Listeners, error) { + m := make(nat.PortMap) + listeners := make(Listeners, 0, len(portSet)) + + for p := range portSet { + pb, l, err := nextAvailablePort() + if err != nil { + listeners.CloseAll() + return nat.PortMap{}, nil, err + } + listeners = append(listeners, l) + m[p] = []nat.PortBinding{pb} + } + + return m, listeners, nil +} diff --git a/internal/dockerutil/startcontainer.go b/internal/dockerutil/startcontainer.go index e42699b53..a4a3153c5 100644 --- a/internal/dockerutil/startcontainer.go +++ b/internal/dockerutil/startcontainer.go @@ -2,37 +2,25 @@ package dockerutil import ( "context" - "errors" "time" - "github.com/avast/retry-go/v4" "github.com/docker/docker/api/types" "github.com/docker/docker/client" ) // StartContainer attempts to start the container with the given ID. -// If the request times out, it retries a certain number of times before failing. -// Any other failure modes stop immediately. func StartContainer(ctx context.Context, cli *client.Client, id string) error { - return retry.Do( - func() error { - retryCtx, cancel := context.WithTimeout(ctx, 5*time.Second) - defer cancel() + // add a deadline for the request if the calling context does not provide one + if _, hasDeadline := ctx.Deadline(); !hasDeadline { + var cancel func() + ctx, cancel = context.WithTimeout(ctx, 30*time.Second) + defer cancel() + } - err := cli.ContainerStart(retryCtx, id, types.ContainerStartOptions{}) - if err != nil { - // One special case: retryCtx timed out and the outer ctx didn't. - if errors.Is(err, context.DeadlineExceeded) && ctx.Err() == nil { - return err - } + err := cli.ContainerStart(ctx, id, types.ContainerStartOptions{}) + if err != nil { + return err + } - // Otherwise, assume the error cannot be retried. - return retry.Unrecoverable(err) - } - - return nil - }, - retry.Context(ctx), - retry.DelayType(retry.FixedDelay), - ) + return nil } diff --git a/relayer/capability.go b/relayer/capability.go index 820be4c14..9babf6bc4 100644 --- a/relayer/capability.go +++ b/relayer/capability.go @@ -15,9 +15,8 @@ const ( TimestampTimeout Capability = iota HeightTimeout - // Whether the relayer supports a one-off flush packets or flush acknowledgements command. - FlushPackets - FlushAcknowledgements + // Whether the relayer supports a one-off flush command. + Flush ) // FullCapabilities returns a mapping of all known relayer features to true, @@ -29,7 +28,6 @@ func FullCapabilities() map[Capability]bool { TimestampTimeout: true, HeightTimeout: true, - FlushPackets: true, - FlushAcknowledgements: true, + Flush: true, } } diff --git a/relayer/capability_string.go b/relayer/capability_string.go index ae6e55e5c..fe9d5090b 100644 --- a/relayer/capability_string.go +++ b/relayer/capability_string.go @@ -10,13 +10,12 @@ func _() { var x [1]struct{} _ = x[TimestampTimeout-0] _ = x[HeightTimeout-1] - _ = x[FlushPackets-2] - _ = x[FlushAcknowledgements-3] + _ = x[Flush-2] } -const _Capability_name = "TimestampTimeoutHeightTimeoutFlushPacketsFlushAcknowledgements" +const _Capability_name = "TimestampTimeoutHeightTimeoutFlush" -var _Capability_index = [...]uint8{0, 16, 29, 41, 62} +var _Capability_index = [...]uint8{0, 16, 29, 34} func (i Capability) String() string { if i < 0 || i >= Capability(len(_Capability_index)-1) { diff --git a/relayer/docker.go b/relayer/docker.go index 9f7a5c2d1..01168d8fc 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -10,17 +10,19 @@ import ( "time" "github.com/docker/docker/api/types" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/network" volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" "github.com/docker/docker/pkg/stdcopy" - "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/dockerutil" + "github.com/strangelove-ventures/interchaintest/v7/testutil" "go.uber.org/zap" ) +const ( + defaultRlyHomeDirectory = "/home/relayer" +) + // DockerRelayer provides a common base for relayer implementations // that run on Docker. type DockerRelayer struct { @@ -39,10 +41,12 @@ type DockerRelayer struct { pullImage bool // The ID of the container created by StartRelayer. - containerID string + containerLifecycle *dockerutil.ContainerLifecycle // wallets contains a mapping of chainID to relayer wallet wallets map[string]ibc.Wallet + + homeDir string } var _ ibc.Relayer = (*DockerRelayer)(nil) @@ -65,12 +69,16 @@ func NewDockerRelayer(ctx context.Context, log *zap.Logger, testName string, cli wallets: map[string]ibc.Wallet{}, } + r.homeDir = defaultRlyHomeDirectory + for _, opt := range options { switch o := opt.(type) { case RelayerOptionDockerImage: r.customImage = &o.DockerImage case RelayerOptionImagePull: r.pullImage = o.Pull + case RelayerOptionHomeDir: + r.homeDir = o.HomeDir } } @@ -146,7 +154,7 @@ func (r *DockerRelayer) ReadFileFromHomeDir(ctx context.Context, relativePath st // Modify a toml config file in relayer home directory func (r *DockerRelayer) ModifyTomlConfigFile(ctx context.Context, relativePath string, modification testutil.Toml) error { - return testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, relativePath, modification) + return testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, relativePath, modification) } // AddWallet adds a stores a wallet for the given chain ID. @@ -226,14 +234,8 @@ func (r *DockerRelayer) CreateConnections(ctx context.Context, rep ibc.RelayerEx return res.Err } -func (r *DockerRelayer) FlushAcknowledgements(ctx context.Context, rep ibc.RelayerExecReporter, pathName, channelID string) error { - cmd := r.c.FlushAcknowledgements(pathName, channelID, r.HomeDir()) - res := r.Exec(ctx, rep, cmd, nil) - return res.Err -} - -func (r *DockerRelayer) FlushPackets(ctx context.Context, rep ibc.RelayerExecReporter, pathName, channelID string) error { - cmd := r.c.FlushPackets(pathName, channelID, r.HomeDir()) +func (r *DockerRelayer) Flush(ctx context.Context, rep ibc.RelayerExecReporter, pathName, channelID string) error { + cmd := r.c.Flush(pathName, channelID, r.HomeDir()) res := r.Exec(ctx, rep, cmd, nil) return res.Err } @@ -323,7 +325,6 @@ func (r *DockerRelayer) Exec(ctx context.Context, rep ibc.RelayerExecReporter, c func (r *DockerRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, keyName, mnemonic string) error { chainID := cfg.ChainID coinType := cfg.CoinType - cmd := r.c.RestoreKey(chainID, keyName, coinType, mnemonic, r.HomeDir()) // Restoring a key should be near-instantaneous, so add a 1-minute timeout @@ -349,17 +350,40 @@ func (r *DockerRelayer) UpdateClients(ctx context.Context, rep ibc.RelayerExecRe } func (r *DockerRelayer) StartRelayer(ctx context.Context, rep ibc.RelayerExecReporter, pathNames ...string) error { - return r.createNodeContainer(ctx, pathNames...) + if r.containerLifecycle != nil { + return fmt.Errorf("tried to start relayer again without stopping first") + } + + containerImage := r.containerImage() + joinedPaths := strings.Join(pathNames, ".") + containerName := fmt.Sprintf("%s-%s", r.c.Name(), joinedPaths) + + cmd := r.c.StartRelayer(r.HomeDir(), pathNames...) + + r.containerLifecycle = dockerutil.NewContainerLifecycle(r.log, r.client, containerName) + + if err := r.containerLifecycle.CreateContainer( + ctx, r.testName, r.networkID, containerImage, nil, + r.Bind(), r.HostName(joinedPaths), cmd, + ); err != nil { + return err + } + + return r.containerLifecycle.StartContainer(ctx) } func (r *DockerRelayer) StopRelayer(ctx context.Context, rep ibc.RelayerExecReporter) error { - if err := r.stopContainer(ctx); err != nil { + if r.containerLifecycle == nil { + return nil + } + if err := r.containerLifecycle.StopContainer(ctx); err != nil { return err } stdoutBuf := new(bytes.Buffer) stderrBuf := new(bytes.Buffer) - rc, err := r.client.ContainerLogs(ctx, r.containerID, types.ContainerLogsOptions{ + containerID := r.containerLifecycle.ContainerID() + rc, err := r.client.ContainerLogs(ctx, containerID, types.ContainerLogsOptions{ ShowStdout: true, ShowStderr: true, Tail: "50", @@ -379,7 +403,7 @@ func (r *DockerRelayer) StopRelayer(ctx context.Context, rep ibc.RelayerExecRepo stdout := stdoutBuf.String() stderr := stderrBuf.String() - c, err := r.client.ContainerInspect(ctx, r.containerID) + c, err := r.client.ContainerInspect(ctx, containerID) if err != nil { return fmt.Errorf("StopRelayer: inspecting container: %w", err) } @@ -408,14 +432,17 @@ func (r *DockerRelayer) StopRelayer(ctx context.Context, rep ibc.RelayerExecRepo r.log.Debug( fmt.Sprintf("Stopped docker container\nstdout:\n%s\nstderr:\n%s", stdout, stderr), - zap.String("container_id", r.containerID), + zap.String("container_id", containerID), zap.String("container", c.Name), ) - return r.client.ContainerRemove(ctx, r.containerID, types.ContainerRemoveOptions{ - RemoveVolumes: true, - // TODO: should this set Force=true? - }) + if err := r.containerLifecycle.RemoveContainer(ctx); err != nil { + return err + } + + r.containerLifecycle = nil + + return nil } func (r *DockerRelayer) containerImage() ibc.DockerImage { @@ -444,54 +471,6 @@ func (r *DockerRelayer) pullContainerImageIfNecessary(containerImage ibc.DockerI return nil } -func (r *DockerRelayer) createNodeContainer(ctx context.Context, pathNames ...string) error { - containerImage := r.containerImage() - joinedPaths := strings.Join(pathNames, ".") - containerName := fmt.Sprintf("%s-%s", r.c.Name(), joinedPaths) - cmd := r.c.StartRelayer(r.HomeDir(), pathNames...) - r.log.Info( - "Running command", - zap.String("command", strings.Join(cmd, " ")), - zap.String("container", containerName), - ) - cc, err := r.client.ContainerCreate( - ctx, - &container.Config{ - Image: containerImage.Ref(), - - Entrypoint: []string{}, - Cmd: cmd, - - Hostname: r.HostName(joinedPaths), - User: r.c.DockerUser(), - - Labels: map[string]string{dockerutil.CleanupLabel: r.testName}, - }, - &container.HostConfig{ - Binds: r.Bind(), - AutoRemove: false, - }, - &network.NetworkingConfig{ - EndpointsConfig: map[string]*network.EndpointSettings{ - r.networkID: {}, - }, - }, - nil, - containerName, - ) - if err != nil { - return err - } - - r.containerID = cc.ID - return dockerutil.StartContainer(ctx, r.client, r.containerID) -} - -func (r *DockerRelayer) stopContainer(ctx context.Context) error { - timeout := 30 * time.Second - return r.client.ContainerStop(ctx, r.containerID, &timeout) -} - func (r *DockerRelayer) Name() string { return r.c.Name() + "-" + dockerutil.SanitizeContainerName(r.testName) } @@ -503,7 +482,7 @@ func (r *DockerRelayer) Bind() []string { // HomeDir returns the home directory of the relayer on the underlying Docker container's filesystem. func (r *DockerRelayer) HomeDir() string { - return "/home/relayer" + return r.homeDir } func (r *DockerRelayer) HostName(pathName string) string { @@ -562,8 +541,7 @@ type RelayerCommander interface { CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string CreateConnections(pathName, homeDir string) []string - FlushAcknowledgements(pathName, channelID, homeDir string) []string - FlushPackets(pathName, channelID, homeDir string) []string + Flush(pathName, channelID, homeDir string) []string GeneratePath(srcChainID, dstChainID, pathName, homeDir string) []string UpdatePath(pathName, homeDir string, filter ibc.ChannelFilter) []string GetChannels(chainID, homeDir string) []string diff --git a/relayer/hermes/hermes_commander.go b/relayer/hermes/hermes_commander.go new file mode 100644 index 000000000..d73c018f5 --- /dev/null +++ b/relayer/hermes/hermes_commander.go @@ -0,0 +1,204 @@ +package hermes + +import ( + "context" + "encoding/json" + "fmt" + + "github.com/strangelove-ventures/interchaintest/v7/ibc" + "github.com/strangelove-ventures/interchaintest/v7/relayer" + "go.uber.org/zap" + + ibcexported "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" + "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" +) + +var _ relayer.RelayerCommander = &commander{} + +type commander struct { + log *zap.Logger +} + +func (c commander) Name() string { + return hermes +} + +func (c commander) DefaultContainerImage() string { + return defaultContainerImage +} + +func (c commander) DefaultContainerVersion() string { + return DefaultContainerVersion +} + +func (c commander) DockerUser() string { + return hermesDefaultUidGid +} + +func (c commander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc.ChannelOutput, error) { + jsonBz := extractJsonResult([]byte(stdout)) + var result ChannelOutputResult + if err := json.Unmarshal(jsonBz, &result); err != nil { + return nil, err + } + + var ibcChannelOutput []ibc.ChannelOutput + for _, r := range result.Result { + ibcChannelOutput = append(ibcChannelOutput, ibc.ChannelOutput{ + State: r.ChannelEnd.State, + Ordering: r.ChannelEnd.Ordering, + Counterparty: ibc.ChannelCounterparty{ + PortID: r.CounterPartyChannelEnd.Remote.PortID, + ChannelID: r.CounterPartyChannelEnd.Remote.ChannelID, + }, + ConnectionHops: r.ChannelEnd.ConnectionHops, + Version: r.ChannelEnd.Version, + PortID: r.ChannelEnd.Remote.PortID, + ChannelID: r.ChannelEnd.Remote.ChannelID, + }) + } + + return ibcChannelOutput, nil +} + +func (c commander) ParseGetConnectionsOutput(stdout, stderr string) (ibc.ConnectionOutputs, error) { + jsonBz := extractJsonResult([]byte(stdout)) + var queryResult ConnectionQueryResult + if err := json.Unmarshal(jsonBz, &queryResult); err != nil { + return ibc.ConnectionOutputs{}, err + } + + var outputs ibc.ConnectionOutputs + for _, r := range queryResult.Result { + + var versions []*ibcexported.Version + for _, v := range r.ConnectionEnd.Versions { + versions = append(versions, &ibcexported.Version{ + Identifier: v.Identifier, + Features: v.Features, + }) + } + + outputs = append(outputs, &ibc.ConnectionOutput{ + ID: r.ConnectionID, + ClientID: r.ConnectionEnd.ClientID, + Versions: versions, + State: r.ConnectionEnd.State, + Counterparty: &ibcexported.Counterparty{ + ClientId: r.ConnectionEnd.Counterparty.ClientID, + ConnectionId: r.ConnectionEnd.Counterparty.ConnectionID, + Prefix: types.MerklePrefix{ + KeyPrefix: []byte(r.ConnectionEnd.Counterparty.Prefix), + }, + }, + }) + } + return outputs, nil +} + +func (c commander) ParseGetClientsOutput(stdout, stderr string) (ibc.ClientOutputs, error) { + jsonBz := extractJsonResult([]byte(stdout)) + var queryResult ClientQueryResult + if err := json.Unmarshal(jsonBz, &queryResult); err != nil { + return ibc.ClientOutputs{}, err + } + + var clientOutputs []*ibc.ClientOutput + for _, r := range queryResult.ClientResult { + clientOutputs = append(clientOutputs, &ibc.ClientOutput{ + ClientID: r.ClientID, + ClientState: ibc.ClientState{ + ChainID: r.ChainID, + }, + }) + } + + return clientOutputs, nil +} + +func (c commander) Init(homeDir string) []string { + return nil +} + +func (c commander) GetChannels(chainID, homeDir string) []string { + // the --verbose and --show-counterparty options are required to get enough information to correctly populate + // the path. + return []string{hermes, "--json", "query", "channels", "--chain", chainID, "--show-counterparty", "--verbose"} +} + +func (c commander) GetConnections(chainID, homeDir string) []string { + return []string{hermes, "--config", fmt.Sprintf("%s/%s", homeDir, hermesConfigPath), "--json", "query", "connections", "--chain", chainID, "--verbose"} +} + +func (c commander) GetClients(chainID, homeDir string) []string { + return []string{hermes, "--config", fmt.Sprintf("%s/%s", homeDir, hermesConfigPath), "--json", "query", "clients", "--host-chain", chainID} +} + +func (c commander) StartRelayer(homeDir string, pathNames ...string) []string { + return []string{hermes, "--config", fmt.Sprintf("%s/%s", homeDir, hermesConfigPath), "start", "--full-scan"} +} + +func (c commander) CreateWallet(keyName, address, mnemonic string) ibc.Wallet { + return NewWallet(keyName, address, mnemonic) +} + +func (c commander) UpdatePath(pathName, homeDir string, filter ibc.ChannelFilter) []string { + // TODO: figure out how to implement this. + panic("implement me") +} + +// the following methods do not have a single command that cleanly maps to a single hermes command without +// additional logic wrapping them. They have been implemented one layer up in the hermes relayer. + +func (c commander) UpdateClients(pathName, homeDir string) []string { + panic("update clients implemented in hermes relayer not the commander") +} + +func (c commander) GeneratePath(srcChainID, dstChainID, pathName, homeDir string) []string { + panic("generate path implemented in hermes relayer not the commander") +} + +func (c commander) LinkPath(pathName, homeDir string, channelOpts ibc.CreateChannelOptions, clientOpts ibc.CreateClientOptions) []string { + panic("link path implemented in hermes relayer not the commander") +} + +func (c commander) RestoreKey(chainID, keyName, coinType, mnemonic, homeDir string) []string { + panic("restore key implemented in hermes relayer not the commander") +} + +func (c commander) AddChainConfiguration(containerFilePath, homeDir string) []string { + panic("add chain configuration implemented in hermes relayer not the commander") +} + +func (c commander) AddKey(chainID, keyName, coinType, homeDir string) []string { + panic("add key implemented in hermes relayer not the commander") +} + +func (c commander) CreateChannel(pathName string, opts ibc.CreateChannelOptions, homeDir string) []string { + panic("create channel implemented in hermes relayer not the commander") +} + +func (c commander) CreateClients(pathName string, opts ibc.CreateClientOptions, homeDir string) []string { + panic("create clients implemented in hermes relayer not the commander") +} + +func (c commander) CreateConnections(pathName string, homeDir string) []string { + panic("create connections implemented in hermes relayer not the commander") +} + +func (c commander) Flush(pathName, channelID, homeDir string) []string { + panic("flush implemented in hermes relayer not the commander") +} + +func (c commander) ConfigContent(ctx context.Context, cfg ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) ([]byte, error) { + panic("config content implemented in hermes relayer not the commander") +} + +func (c commander) ParseAddKeyOutput(stdout, stderr string) (ibc.Wallet, error) { + panic("add key implemented in Hermes Relayer") +} + +// ParseRestoreKeyOutput extracts the address from the hermes output. +func (c commander) ParseRestoreKeyOutput(stdout, stderr string) string { + panic("implemented in Hermes Relayer") +} diff --git a/relayer/hermes/hermes_config.go b/relayer/hermes/hermes_config.go new file mode 100644 index 000000000..50e1b9695 --- /dev/null +++ b/relayer/hermes/hermes_config.go @@ -0,0 +1,175 @@ +package hermes + +import ( + "fmt" + "strconv" + "strings" +) + + +// NewConfig returns a hermes Config with an entry for each of the provided ChainConfigs. +// The defaults were adapted from the sample config file found here: https://github.com/informalsystems/hermes/blob/master/config.toml +func NewConfig(chainConfigs ...ChainConfig) Config { + var chains []Chain + for _, hermesCfg := range chainConfigs { + chainCfg := hermesCfg.cfg + + gasPricesStr, err := strconv.ParseFloat(strings.ReplaceAll(chainCfg.GasPrices, chainCfg.Denom, ""), 32) + if err != nil { + panic(err) + } + + chains = append(chains, Chain{ + ID: chainCfg.ChainID, + RPCAddr: hermesCfg.rpcAddr, + GrpcAddr: fmt.Sprintf("http://%s", hermesCfg.grpcAddr), + WebsocketAddr: strings.ReplaceAll(fmt.Sprintf("%s/websocket", hermesCfg.rpcAddr), "http", "ws"), + RPCTimeout: "10s", + AccountPrefix: chainCfg.Bech32Prefix, + KeyName: hermesCfg.keyName, + AddressType: AddressType{ + Derivation: "cosmos", + }, + StorePrefix: "ibc", + DefaultGas: 100000, + MaxGas: 400000, + GasPrice: GasPrice{ + Price: gasPricesStr, + Denom: chainCfg.Denom, + }, + GasMultiplier: chainCfg.GasAdjustment, + MaxMsgNum: 30, + MaxTxSize: 2097152, + ClockDrift: "5s", + MaxBlockTime: "30s", + TrustingPeriod: "14days", + TrustThreshold: TrustThreshold{ + Numerator: "1", + Denominator: "3", + }, + MemoPrefix: "hermes", + }, + ) + } + + return Config{ + Global: Global{ + LogLevel: "info", + }, + Mode: Mode{ + Clients: Clients{ + Enabled: true, + Refresh: true, + Misbehaviour: true, + }, + Connections: Connections{ + Enabled: true, + }, + Channels: Channels{ + Enabled: true, + }, + Packets: Packets{ + Enabled: true, + ClearInterval: 0, + ClearOnStart: true, + TxConfirmation: false, + }, + }, + Rest: Rest{ + Enabled: false, + }, + Telemetry: Telemetry{ + Enabled: false, + }, + Chains: chains, + } +} + +type Config struct { + Global Global `toml:"global"` + Mode Mode `toml:"mode"` + Rest Rest `toml:"rest"` + Telemetry Telemetry `toml:"telemetry"` + Chains []Chain `toml:"chains"` +} + +type Global struct { + LogLevel string `toml:"log_level"` +} + +type Clients struct { + Enabled bool `toml:"enabled"` + Refresh bool `toml:"refresh"` + Misbehaviour bool `toml:"misbehaviour"` +} + +type Connections struct { + Enabled bool `toml:"enabled"` +} + +type Channels struct { + Enabled bool `toml:"enabled"` +} + +type Packets struct { + Enabled bool `toml:"enabled"` + ClearInterval int `toml:"clear_interval"` + ClearOnStart bool `toml:"clear_on_start"` + TxConfirmation bool `toml:"tx_confirmation"` +} + +type Mode struct { + Clients Clients `toml:"clients"` + Connections Connections `toml:"connections"` + Channels Channels `toml:"channels"` + Packets Packets `toml:"packets"` +} + +type Rest struct { + Enabled bool `toml:"enabled"` + Host string `toml:"host"` + Port int `toml:"port"` +} + +type Telemetry struct { + Enabled bool `toml:"enabled"` + Host string `toml:"host"` + Port int `toml:"port"` +} + +type AddressType struct { + Derivation string `toml:"derivation"` +} + +type GasPrice struct { + Price float64 `toml:"price"` + Denom string `toml:"denom"` +} + +type TrustThreshold struct { + Numerator string `toml:"numerator"` + Denominator string `toml:"denominator"` +} + +type Chain struct { + ID string `toml:"id"` + RPCAddr string `toml:"rpc_addr"` + GrpcAddr string `toml:"grpc_addr"` + WebsocketAddr string `toml:"websocket_addr"` + RPCTimeout string `toml:"rpc_timeout"` + AccountPrefix string `toml:"account_prefix"` + KeyName string `toml:"key_name"` + AddressType AddressType `toml:"address_type"` + StorePrefix string `toml:"store_prefix"` + DefaultGas int `toml:"default_gas"` + MaxGas int `toml:"max_gas"` + GasPrice GasPrice `toml:"gas_price"` + GasMultiplier float64 `toml:"gas_multiplier"` + MaxMsgNum int `toml:"max_msg_num"` + MaxTxSize int `toml:"max_tx_size"` + ClockDrift string `toml:"clock_drift"` + MaxBlockTime string `toml:"max_block_time"` + TrustingPeriod string `toml:"trusting_period"` + TrustThreshold TrustThreshold `toml:"trust_threshold"` + MemoPrefix string `toml:"memo_prefix,omitempty"` +} diff --git a/relayer/hermes/hermes_relayer.go b/relayer/hermes/hermes_relayer.go new file mode 100644 index 000000000..d2b1e62ba --- /dev/null +++ b/relayer/hermes/hermes_relayer.go @@ -0,0 +1,303 @@ +package hermes + +import ( + "context" + "encoding/json" + "fmt" + "regexp" + "strings" + "time" + + "github.com/docker/docker/client" + "github.com/pelletier/go-toml" + "github.com/strangelove-ventures/interchaintest/v7/ibc" + "github.com/strangelove-ventures/interchaintest/v7/relayer" + "go.uber.org/zap" +) + +const ( + hermes = "hermes" + defaultContainerImage = "docker.io/informalsystems/hermes" + DefaultContainerVersion = "1.2.0" + + hermesDefaultUidGid = "1000:1000" + hermesHome = "/home/hermes" + hermesConfigPath = ".hermes/config.toml" +) + +var ( + _ ibc.Relayer = &Relayer{} + // parseRestoreKeyOutputPattern extracts the address from the hermes output. + // SUCCESS Restored key 'g2-2' (cosmos1czklnpzwaq3hfxtv6ne4vas2p9m5q3p3fgkz8e) on chain g2-2 + parseRestoreKeyOutputPattern = regexp.MustCompile(`\((.*)\)`) +) + +// Relayer is the ibc.Relayer implementation for hermes. +type Relayer struct { + *relayer.DockerRelayer + paths map[string]*pathConfiguration + chainConfigs []ChainConfig +} + +// ChainConfig holds all values required to write an entry in the "chains" section in the hermes config file. +type ChainConfig struct { + cfg ibc.ChainConfig + keyName, rpcAddr, grpcAddr string +} + +// pathConfiguration represents the concept of a "path" which is implemented at the interchain test level rather +// than the hermes level. +type pathConfiguration struct { + chainA, chainB pathChainConfig +} + +// pathChainConfig holds all values that will be required when interacting with a path. +type pathChainConfig struct { + chainID string + clientID string + connectionID string + portID string +} + +// NewHermesRelayer returns a new hermes relayer. +func NewHermesRelayer(log *zap.Logger, testName string, cli *client.Client, networkID string, options ...relayer.RelayerOption) *Relayer { + c := commander{log: log} + options = append(options, relayer.HomeDir(hermesHome)) + dr, err := relayer.NewDockerRelayer(context.TODO(), log, testName, cli, networkID, c, options...) + if err != nil { + panic(err) + } + + return &Relayer{ + DockerRelayer: dr, + } +} + +// AddChainConfiguration is called once per chain configuration, which means that in the case of hermes, the single +// config file is overwritten with a new entry each time this function is called. +func (r *Relayer) AddChainConfiguration(ctx context.Context, rep ibc.RelayerExecReporter, chainConfig ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) error { + configContent, err := r.configContent(chainConfig, keyName, rpcAddr, grpcAddr) + if err != nil { + return fmt.Errorf("failed to generate config content: %w", err) + } + + if err := r.WriteFileToHomeDir(ctx, hermesConfigPath, configContent); err != nil { + return fmt.Errorf("failed to write hermes config: %w", err) + } + + return r.validateConfig(ctx, rep) +} + +// LinkPath performs the operations that happen when a path is linked. This includes creating clients, creating connections +// and establishing a channel. This happens across multiple operations rather than a single link path cli command. +func (r *Relayer) LinkPath(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, channelOpts ibc.CreateChannelOptions, clientOpts ibc.CreateClientOptions) error { + _, ok := r.paths[pathName] + if !ok { + return fmt.Errorf("path %s not found", pathName) + } + + if err := r.CreateClients(ctx, rep, pathName, clientOpts); err != nil { + return err + } + + if err := r.CreateConnections(ctx, rep, pathName); err != nil { + return err + } + + if err := r.CreateChannel(ctx, rep, pathName, channelOpts); err != nil { + return err + } + + return nil +} + +func (r *Relayer) CreateChannel(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, opts ibc.CreateChannelOptions) error { + pathConfig := r.paths[pathName] + cmd := []string{hermes, "--json", "create", "channel", "--a-chain", pathConfig.chainA.chainID, "--a-port", opts.SourcePortName, "--b-port", opts.DestPortName, "--a-connection", pathConfig.chainA.connectionID} + res := r.Exec(ctx, rep, cmd, nil) + if res.Err != nil { + return res.Err + } + pathConfig.chainA.portID = opts.SourcePortName + pathConfig.chainB.portID = opts.DestPortName + return nil +} + +func (r *Relayer) CreateConnections(ctx context.Context, rep ibc.RelayerExecReporter, pathName string) error { + pathConfig := r.paths[pathName] + cmd := []string{hermes, "--json", "create", "connection", "--a-chain", pathConfig.chainA.chainID, "--a-client", pathConfig.chainA.clientID, "--b-client", pathConfig.chainB.clientID} + + res := r.Exec(ctx, rep, cmd, nil) + if res.Err != nil { + return res.Err + } + + chainAConnectionID, chainBConnectionID, err := getConnectionIDsFromStdout(res.Stdout) + if err != nil { + return err + } + pathConfig.chainA.connectionID = chainAConnectionID + pathConfig.chainB.connectionID = chainBConnectionID + return res.Err +} + +func (r *Relayer) UpdateClients(ctx context.Context, rep ibc.RelayerExecReporter, pathName string) error { + pathConfig, ok := r.paths[pathName] + if !ok { + return fmt.Errorf("path %s not found", pathName) + } + updateChainACmd := []string{hermes, "--json", "update", "client", "--host-chain", pathConfig.chainA.chainID, "--client", pathConfig.chainA.clientID} + res := r.Exec(ctx, rep, updateChainACmd, nil) + if res.Err != nil { + return res.Err + } + updateChainBCmd := []string{hermes, "--json", "update", "client", "--host-chain", pathConfig.chainB.chainID, "--client", pathConfig.chainB.clientID} + return r.Exec(ctx, rep, updateChainBCmd, nil).Err +} + +// CreateClients creates clients on both chains. +// Note: in the go relayer this can be done with a single command using the path reference, +// however in Hermes this needs to be done as two separate commands. +func (r *Relayer) CreateClients(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, opts ibc.CreateClientOptions) error { + pathConfig := r.paths[pathName] + chainACreateClientCmd := []string{hermes, "--json", "create", "client", "--host-chain", pathConfig.chainA.chainID, "--reference-chain", pathConfig.chainB.chainID} + res := r.Exec(ctx, rep, chainACreateClientCmd, nil) + if res.Err != nil { + return res.Err + } + + chainAClientId, err := getClientIdFromStdout(res.Stdout) + if err != nil { + return err + } + pathConfig.chainA.clientID = chainAClientId + + chainBCreateClientCmd := []string{hermes, "--json", "create", "client", "--host-chain", pathConfig.chainB.chainID, "--reference-chain", pathConfig.chainA.chainID} + res = r.Exec(ctx, rep, chainBCreateClientCmd, nil) + if res.Err != nil { + return res.Err + } + + chainBClientId, err := getClientIdFromStdout(res.Stdout) + if err != nil { + return err + } + pathConfig.chainB.clientID = chainBClientId + + return res.Err +} + +// RestoreKey restores a key from a mnemonic. In hermes, you must provide a file containing the mnemonic. We need +// to copy the contents of the mnemonic into a file on disk and then reference the newly created file. +func (r *Relayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, keyName, mnemonic string) error { + chainID := cfg.ChainID + relativeMnemonicFilePath := fmt.Sprintf("%s/mnemonic.txt", chainID) + if err := r.WriteFileToHomeDir(ctx, relativeMnemonicFilePath, []byte(mnemonic)); err != nil { + return fmt.Errorf("failed to write mnemonic file: %w", err) + } + + cmd := []string{hermes, "keys", "add", "--chain", chainID, "--mnemonic-file", fmt.Sprintf("%s/%s", r.HomeDir(), relativeMnemonicFilePath), "--key-name", keyName} + + // Restoring a key should be near-instantaneous, so add a 1-minute timeout + // to detect if Docker has hung. + ctx, cancel := context.WithTimeout(ctx, time.Minute) + defer cancel() + + res := r.Exec(ctx, rep, cmd, nil) + if res.Err != nil { + return res.Err + } + + addrBytes := parseRestoreKeyOutput(string(res.Stdout)) + r.AddWallet(chainID, NewWallet(chainID, addrBytes, mnemonic)) + return nil +} + +func (r *Relayer) Flush(ctx context.Context, rep ibc.RelayerExecReporter, pathName string, channelID string) error { + path := r.paths[pathName] + cmd := []string{hermes, "clear", "packets", "--chain", path.chainA.chainID, "--channel", channelID, "--port", path.chainA.portID} + res := r.Exec(ctx, rep, cmd, nil) + return res.Err +} + +// GeneratePath establishes an in memory path representation. The concept does not exist in hermes, so it is handled +// at the interchain test level. +func (r *Relayer) GeneratePath(ctx context.Context, rep ibc.RelayerExecReporter, srcChainID, dstChainID, pathName string) error { + if r.paths == nil { + r.paths = map[string]*pathConfiguration{} + } + r.paths[pathName] = &pathConfiguration{ + chainA: pathChainConfig{ + chainID: srcChainID, + }, + chainB: pathChainConfig{ + chainID: dstChainID, + }, + } + return nil +} + +// configContent returns the contents of the hermes config file as a byte array. Note: as hermes expects a single file +// rather than multiple config files, we need to maintain a list of chain configs each time they are added to write the +// full correct file update calling Relayer.AddChainConfiguration. +func (r *Relayer) configContent(cfg ibc.ChainConfig, keyName, rpcAddr, grpcAddr string) ([]byte, error) { + r.chainConfigs = append(r.chainConfigs, ChainConfig{ + cfg: cfg, + keyName: keyName, + rpcAddr: rpcAddr, + grpcAddr: grpcAddr, + }) + hermesConfig := NewConfig(r.chainConfigs...) + bz, err := toml.Marshal(hermesConfig) + if err != nil { + return nil, err + } + return bz, nil +} + +// validateConfig validates the hermes config file. Any errors are propagated to the test. +func (r *Relayer) validateConfig(ctx context.Context, rep ibc.RelayerExecReporter) error { + cmd := []string{hermes, "--config", fmt.Sprintf("%s/%s", r.HomeDir(), hermesConfigPath), "config", "validate"} + res := r.Exec(ctx, rep, cmd, nil) + if res.Err != nil { + return res.Err + } + return nil +} + +// extractJsonResult extracts the json result for the hermes query. +func extractJsonResult(stdout []byte) []byte { + stdoutLines := strings.Split(string(stdout), "\n") + var jsonOutput string + for _, line := range stdoutLines { + if strings.Contains(line, "result") { + jsonOutput = line + break + } + } + return []byte(jsonOutput) +} + +// getClientIdFromStdout extracts the client ID from stdout. +func getClientIdFromStdout(stdout []byte) (string, error) { + var clientCreationResult ClientCreationResponse + if err := json.Unmarshal(extractJsonResult(stdout), &clientCreationResult); err != nil { + return "", err + } + return clientCreationResult.Result.CreateClient.ClientID, nil +} + +// getConnectionIDsFromStdout extracts the connectionIDs on both ends from the stdout. +func getConnectionIDsFromStdout(stdout []byte) (string, string, error) { + var connectionResponse ConnectionResponse + if err := json.Unmarshal(extractJsonResult(stdout), &connectionResponse); err != nil { + return "", "", err + } + return connectionResponse.Result.ASide.ConnectionID, connectionResponse.Result.BSide.ConnectionID, nil +} + +// parseRestoreKeyOutput extracts the address from the hermes output. +func parseRestoreKeyOutput(stdout string) string { + fullMatchIdx, addressGroupIdx := 0, 1 + return parseRestoreKeyOutputPattern.FindAllStringSubmatch(stdout, -1)[fullMatchIdx][addressGroupIdx] +} diff --git a/relayer/hermes/hermes_types.go b/relayer/hermes/hermes_types.go new file mode 100644 index 000000000..0a13c286c --- /dev/null +++ b/relayer/hermes/hermes_types.go @@ -0,0 +1,95 @@ +package hermes + +// ClientCreationResponse contains the minimum required values to extract the client id from the hermes response. +type ClientCreationResponse struct { + Result CreateClientResult `json:"result"` +} + +type CreateClient struct { + ClientID string `json:"client_id"` + ClientType string `json:"client_type"` +} + +type CreateClientResult struct { + CreateClient CreateClient `json:"CreateClient"` +} + +// ConnectionResponse contains the minimum required values to extract the connection id from both sides. +type ConnectionResponse struct { + Result ConnectionResult `json:"result"` +} + +type ConnectionResult struct { + ASide ConnectionSide `json:"a_side"` + BSide ConnectionSide `json:"b_side"` +} + +type ConnectionSide struct { + ConnectionID string `json:"connection_id"` +} + +// ChannelOutputResult contains the minimum required channel values. +type ChannelOutputResult struct { + Result []ChannelResult `json:"result"` +} + +type ChannelResult struct { + ChannelEnd ChannelEnd `json:"channel_end"` + CounterPartyChannelEnd ChannelEnd `json:"counterparty_channel_end"` +} + +type ChannelEnd struct { + ConnectionHops []string `json:"connection_hops"` + Ordering string `json:"ordering"` + State string `json:"state"` + Version string `json:"version"` + Remote ChannelAndPortId `json:"remote"` +} + +type ChannelAndPortId struct { + ChannelID string `json:"channel_id"` + PortID string `json:"port_id"` +} + +type ConnectionQueryResult struct { + Result []Result `json:"result"` + Status string `json:"status"` +} + +type Counterparty struct { + ClientID string `json:"client_id"` + ConnectionID string `json:"connection_id"` + Prefix string `json:"prefix"` +} + +type DelayPeriod struct { + Nanos int `json:"nanos"` + Secs int `json:"secs"` +} + +type Versions struct { + Features []string `json:"features"` + Identifier string `json:"identifier"` +} + +type ConnectionEnd struct { + ClientID string `json:"client_id"` + Counterparty Counterparty `json:"counterparty"` + DelayPeriod DelayPeriod `json:"delay_period"` + State string `json:"state"` + Versions []Versions `json:"versions"` +} + +type Result struct { + ConnectionEnd ConnectionEnd `json:"connection_end"` + ConnectionID string `json:"connection_id"` +} + +type ClientQueryResult struct { + ClientResult []ClientResult `json:"result"` +} + +type ClientResult struct { + ChainID string `json:"chain_id"` + ClientID string `json:"client_id"` +} diff --git a/relayer/hermes/hermes_wallet.go b/relayer/hermes/hermes_wallet.go new file mode 100644 index 000000000..f3742cd7a --- /dev/null +++ b/relayer/hermes/hermes_wallet.go @@ -0,0 +1,42 @@ +package hermes + +import "github.com/strangelove-ventures/interchaintest/v7/ibc" + +var _ ibc.Wallet = &Wallet{} + +type WalletModel struct { + Mnemonic string `json:"mnemonic"` + Address string `json:"address"` +} + +type Wallet struct { + mnemonic string + address string + keyName string +} + +func NewWallet(keyname string, address string, mnemonic string) *Wallet { + return &Wallet{ + mnemonic: mnemonic, + address: address, + keyName: keyname, + } +} + +func (w *Wallet) KeyName() string { + return w.keyName +} + +func (w *Wallet) FormattedAddress() string { + return w.address +} + +// Get mnemonic, only used for relayer wallets +func (w *Wallet) Mnemonic() string { + return w.mnemonic +} + +// Get Address +func (w *Wallet) Address() []byte { + return []byte(w.address) +} diff --git a/relayer/hyperspace/hyperspace_commander.go b/relayer/hyperspace/hyperspace_commander.go index 4d76d33fe..17414a0f8 100644 --- a/relayer/hyperspace/hyperspace_commander.go +++ b/relayer/hyperspace/hyperspace_commander.go @@ -18,9 +18,9 @@ import ( // hyperspaceCommander satisfies relayer.RelayerCommander. type hyperspaceCommander struct { - log *zap.Logger - paths map[string]*pathConfiguration - extraStartFlags []string + log *zap.Logger + paths map[string]*pathConfiguration + extraStartFlags []string } // pathConfiguration represents the concept of a "path" which is implemented at the interchain test level rather @@ -385,7 +385,11 @@ func (hyperspaceCommander) CreateWallet(keyName, address, mnemonic string) ibc.W return NewWallet("", kp.Address, mnemonic) } +func (hyperspaceCommander) Flush(pathName, channelID, homeDir string) []string { + panic("flush implemented in hyperspace not the commander") +} + func configPath(homeDir, chainID string) string { chainConfigFile := chainID + ".config" return path.Join(homeDir, chainConfigFile) -} \ No newline at end of file +} diff --git a/relayer/hyperspace/hyperspace_relayer.go b/relayer/hyperspace/hyperspace_relayer.go index 41609afb3..4ee6d14fb 100644 --- a/relayer/hyperspace/hyperspace_relayer.go +++ b/relayer/hyperspace/hyperspace_relayer.go @@ -8,13 +8,14 @@ import ( "time" "github.com/docker/docker/client" + "github.com/pelletier/go-toml/v2" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/relayer" - "github.com/pelletier/go-toml/v2" "go.uber.org/zap" ) var _ ibc.Relayer = &HyperspaceRelayer{} + // ******* DockerRelayer methods that will panic in hyperspace commander, no overrides yet ******* // FlushAcknowledgements() - no hyperspace implementation yet // FlushPackets() - no hypersapce implementation yet @@ -22,7 +23,6 @@ var _ ibc.Relayer = &HyperspaceRelayer{} // UpdateClients() - no hyperspace implementation yet // AddKey() - no hyperspace implementation yet - // HyperspaceRelayer is the ibc.Relayer implementation for github.com/ComposableFi/hyperspace. type HyperspaceRelayer struct { // Embedded DockerRelayer so commands just work. @@ -130,7 +130,7 @@ func (r *HyperspaceRelayer) SetClientContractHash(ctx context.Context, rep ibc.R case "cosmos": config.(*HyperspaceRelayerCosmosChainConfig).WasmCodeId = hash } - + return r.SetRelayerChainConfig(ctx, chainConfigFile, config) } @@ -139,7 +139,7 @@ func (r *HyperspaceRelayer) PrintCoreConfig(ctx context.Context, rep ibc.Relayer "cat", path.Join(r.HomeDir(), "core.config"), } - + ctx, cancel := context.WithTimeout(ctx, time.Minute) defer cancel() res := r.Exec(ctx, rep, cmd, nil) @@ -155,7 +155,7 @@ func (r *HyperspaceRelayer) PrintConfigs(ctx context.Context, rep ibc.RelayerExe "cat", path.Join(r.HomeDir(), chainID+".config"), } - + ctx, cancel := context.WithTimeout(ctx, time.Minute) defer cancel() res := r.Exec(ctx, rep, cmd, nil) @@ -166,7 +166,6 @@ func (r *HyperspaceRelayer) PrintConfigs(ctx context.Context, rep ibc.RelayerExe return nil } - func (r *HyperspaceRelayer) GetRelayerChainConfig( ctx context.Context, filePath string, @@ -176,20 +175,20 @@ func (r *HyperspaceRelayer) GetRelayerChainConfig( if err != nil { return nil, err } - + switch chainType { - case "cosmos": - var config HyperspaceRelayerCosmosChainConfig - if err := toml.Unmarshal(configRaw, &config); err != nil { - return nil, fmt.Errorf("failed to unmarshal %s: %w", filePath, err) - } - return &config, nil - case "polkadot": - var config HyperspaceRelayerSubstrateChainConfig - if err := toml.Unmarshal(configRaw, &config); err != nil { - return nil, fmt.Errorf("failed to unmarshal %s: %w", filePath, err) - } - return &config, nil + case "cosmos": + var config HyperspaceRelayerCosmosChainConfig + if err := toml.Unmarshal(configRaw, &config); err != nil { + return nil, fmt.Errorf("failed to unmarshal %s: %w", filePath, err) + } + return &config, nil + case "polkadot": + var config HyperspaceRelayerSubstrateChainConfig + if err := toml.Unmarshal(configRaw, &config); err != nil { + return nil, fmt.Errorf("failed to unmarshal %s: %w", filePath, err) + } + return &config, nil } return nil, fmt.Errorf("unsupported chain config: %s", chainType) } @@ -204,4 +203,4 @@ func (r *HyperspaceRelayer) SetRelayerChainConfig( } return r.WriteFileToHomeDir(ctx, filePath, bytes) -} \ No newline at end of file +} diff --git a/relayer/options.go b/relayer/options.go index 659140f30..fdbb73ec9 100644 --- a/relayer/options.go +++ b/relayer/options.go @@ -16,6 +16,13 @@ type RelayerOptionDockerImage struct { DockerImage ibc.DockerImage } +// RelayerOptionHomeDir allows the configuration of the relayer home directory. +type RelayerOptionHomeDir struct { + HomeDir string +} + +func (r RelayerOptionHomeDir) relayerOption() {} + // CustomDockerImage overrides the default relayer docker image. // uidGid is the uid:gid format owner that should be used within the container. // If uidGid is empty, root user will be assumed. @@ -29,6 +36,10 @@ func CustomDockerImage(repository string, version string, uidGid string) Relayer } } +func HomeDir(homeDir string) RelayerOption { + return RelayerOptionHomeDir{HomeDir: homeDir} +} + func (opt RelayerOptionDockerImage) relayerOption() {} type RelayerOptionImagePull struct { diff --git a/relayer/rly/cosmos_relayer.go b/relayer/rly/cosmos_relayer.go index 57528d4d2..5a148e912 100644 --- a/relayer/rly/cosmos_relayer.go +++ b/relayer/rly/cosmos_relayer.go @@ -14,7 +14,9 @@ import ( "go.uber.org/zap" ) -const RlyDefaultUidGid = "100:1000" +const ( + RlyDefaultUidGid = "100:1000" +) // CosmosRelayer is the ibc.Relayer implementation for github.com/cosmos/relayer. type CosmosRelayer struct { @@ -64,7 +66,7 @@ type CosmosRelayerChainConfig struct { const ( DefaultContainerImage = "ghcr.io/cosmos/relayer" - DefaultContainerVersion = "v2.2.0-rc3" + DefaultContainerVersion = "andrew-config_file_lock_for_all_writes" ) // Capabilities returns the set of capabilities of the Cosmos relayer. @@ -155,25 +157,23 @@ func (commander) CreateClient(pathName, homeDir, customeClientTrustingPeriod str } } -func (commander) CreateConnections(pathName, homeDir string) []string { +func (commander) CreateConnections(pathName string, homeDir string) []string { return []string{ "rly", "tx", "connection", pathName, "--home", homeDir, } } -func (commander) FlushAcknowledgements(pathName, channelID, homeDir string) []string { - return []string{ - "rly", "tx", "relay-acks", pathName, channelID, - "--home", homeDir, - } -} - -func (commander) FlushPackets(pathName, channelID, homeDir string) []string { - return []string{ - "rly", "tx", "relay-pkts", pathName, channelID, - "--home", homeDir, +func (commander) Flush(pathName, channelID, homeDir string) []string { + cmd := []string{"rly", "tx", "flush"} + if pathName != "" { + cmd = append(cmd, pathName) + if channelID != "" { + cmd = append(cmd, channelID) + } } + cmd = append(cmd, "--home", homeDir) + return cmd } func (commander) GeneratePath(srcChainID, dstChainID, pathName, homeDir string) []string { diff --git a/relayerfactory.go b/relayerfactory.go index e78c61ea1..fb5c896df 100644 --- a/relayerfactory.go +++ b/relayerfactory.go @@ -8,8 +8,9 @@ import ( "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/label" "github.com/strangelove-ventures/interchaintest/v7/relayer" - "github.com/strangelove-ventures/interchaintest/v7/relayer/rly" + "github.com/strangelove-ventures/interchaintest/v7/relayer/hermes" "github.com/strangelove-ventures/interchaintest/v7/relayer/hyperspace" + "github.com/strangelove-ventures/interchaintest/v7/relayer/rly" "go.uber.org/zap" ) @@ -74,6 +75,8 @@ func (f builtinRelayerFactory) Build( networkID, f.options..., ) + case ibc.Hermes: + return hermes.NewHermesRelayer(f.log, t.Name(), cli, networkID, f.options...) default: panic(fmt.Errorf("RelayerImplementation %v unknown", f.impl)) } @@ -92,6 +95,14 @@ func (f builtinRelayerFactory) Name() string { } } return "rly@" + rly.DefaultContainerVersion + case ibc.Hermes: + for _, opt := range f.options { + switch o := opt.(type) { + case relayer.RelayerOptionDockerImage: + return "hermes@" + o.DockerImage.Version + } + } + return "hermes@" + hermes.DefaultContainerVersion default: panic(fmt.Errorf("RelayerImplementation %v unknown", f.impl)) } @@ -101,6 +112,8 @@ func (f builtinRelayerFactory) Labels() []label.Relayer { switch f.impl { case ibc.CosmosRly: return []label.Relayer{label.Rly} + case ibc.Hermes: + return []label.Relayer{label.Hermes} default: panic(fmt.Errorf("RelayerImplementation %v unknown", f.impl)) } @@ -112,6 +125,9 @@ func (f builtinRelayerFactory) Capabilities() map[relayer.Capability]bool { switch f.impl { case ibc.CosmosRly: return rly.Capabilities() + case ibc.Hermes: + // TODO: specify capability for hermes. + return rly.Capabilities() default: panic(fmt.Errorf("RelayerImplementation %v unknown", f.impl)) } diff --git a/test_setup.go b/test_setup.go index 7fcda58cd..18298b532 100644 --- a/test_setup.go +++ b/test_setup.go @@ -128,10 +128,8 @@ func StopStartRelayerWithPreStartFuncs( return nil, fmt.Errorf("failed to start relayer: %w", err) } } else { - for _, path := range pathNames { - if err := relayerImpl.StartRelayer(ctx, eRep, path); err != nil { - return nil, fmt.Errorf("failed to start relayer: %w", err) - } + if err := relayerImpl.StartRelayer(ctx, eRep, pathNames...); err != nil { + return nil, fmt.Errorf("failed to start relayer: %w", err) } } From 95069c734289259e1b04140d686ce7a8d28a888c Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Wed, 12 Apr 2023 16:26:32 -0600 Subject: [PATCH 40/50] Change the UidGid of polkadot node to match what is built into the container. --- chain/polkadot/relay_chain_node.go | 6 +++--- examples/hyperspace/hyperspace_test.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/chain/polkadot/relay_chain_node.go b/chain/polkadot/relay_chain_node.go index d5341392c..8a229be5b 100644 --- a/chain/polkadot/relay_chain_node.go +++ b/chain/polkadot/relay_chain_node.go @@ -217,9 +217,9 @@ func (p *RelayChainNode) CreateNodeContainer(ctx context.Context) error { "--unsafe-ws-external", "--unsafe-rpc-external", "--prometheus-external", - // "--enable-offchain-indexing=true", - // "--rpc-methods=unsafe", - // "--pruning=archive", + "--enable-offchain-indexing=true", + "--rpc-methods=unsafe", + "--pruning=archive", fmt.Sprintf("--prometheus-port=%s", strings.Split(prometheusPort, "/")[0]), fmt.Sprintf("--listen-addr=/ip4/0.0.0.0/tcp/%s", strings.Split(nodePort, "/")[0]), fmt.Sprintf("--public-addr=%s", multiAddress), diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index ca2459a65..f8917557a 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -101,7 +101,7 @@ func TestHyperspace(t *testing.T) { { Repository: "polkadot-node", Version: "local", - UidGid: "1025:1025", + UidGid: "1000:1000", }, { Repository: "parachain-node", From 28d6d57cf156386a326468105dae5571b3064ed8 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Wed, 12 Apr 2023 16:29:15 -0600 Subject: [PATCH 41/50] Fix polkadot keys unit tests --- chain/polkadot/keys_test.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/chain/polkadot/keys_test.go b/chain/polkadot/keys_test.go index 7627c9acc..3e9e5015a 100644 --- a/chain/polkadot/keys_test.go +++ b/chain/polkadot/keys_test.go @@ -36,7 +36,7 @@ func Test_DeriveEd25519FromName(t *testing.T) { pubKeyEncoded, err := polkadot.EncodeAddressSS58(pubKey) require.NoError(t, err, "error encoding ed25519 public key to ss58") - require.Equal(t, "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", pubKeyEncoded) + require.Equal(t, "5wfmbM1KN4DCJeTP6jj9TqCAKKNApYNCG4zhwcweWhXZRo1j", pubKeyEncoded) } func Test_DeriveSr25519FromNameAccount(t *testing.T) { @@ -49,13 +49,12 @@ func Test_DeriveSr25519FromNameAccount(t *testing.T) { pubKeyEncoded, err := polkadot.EncodeAddressSS58(pubKeyAccount) require.NoError(t, err, "error encoding account public key to ss58") - kp, err := signature.KeyringPairFromSecret("//Alice", 42) + kp, err := signature.KeyringPairFromSecret("//Alice", polkadot.Ss58Format) require.NoError(t, err, "error signature KeyringPairFromSecret") pubKeyDecoded, err := polkadot.DecodeAddressSS58(pubKeyEncoded) require.NoError(t, err, "error decoding SS58 address to pub key") - require.Equal(t, "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY", pubKeyEncoded) require.Equal(t, pubKeyDecoded, kp.PublicKey) } @@ -70,11 +69,10 @@ func Test_DeriveSr25519FromNameStash(t *testing.T) { pubKeyEncoded, err := polkadot.EncodeAddressSS58(pubKeyStash) require.NoError(t, err, "error encoding stash public key to ss58") - kp, err := signature.KeyringPairFromSecret("//Alice//stash", 42) + kp, err := signature.KeyringPairFromSecret("//Alice//stash", polkadot.Ss58Format) require.NoError(t, err, "error signature KeyringPairFromSecret") - require.Equal(t, "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY", pubKeyEncoded) - require.Equal(t, "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY", kp.Address) + require.Equal(t, kp.Address, pubKeyEncoded) } func Test_DeriveSecp256k1FromName(t *testing.T) { @@ -93,5 +91,5 @@ func Test_DeriveSecp256k1FromName(t *testing.T) { pubKeyEncoded, err := polkadot.EncodeAddressSS58(pubKey) require.NoError(t, err, "error encoding secp256k1 public key to ss58") - require.Equal(t, "KW39r9CJjAVzmkf9zQ4YDb2hqfAVGdRqn53eRqyruqpxAP5YL", pubKeyEncoded) + require.Equal(t, "NaqsuM2ZDssHFdr7HU8znFsHKpgkCyrCW6aPiLpLTa8Vxi3Q9", pubKeyEncoded) } From 02362afc35aa1b3648e83cff625e0d2ed034a861 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Wed, 12 Apr 2023 17:51:04 -0600 Subject: [PATCH 42/50] Fix go.sum after merge from main --- go.sum | 46 ++-------------------------------------------- 1 file changed, 2 insertions(+), 44 deletions(-) diff --git a/go.sum b/go.sum index 4381123c8..f2afbe13d 100644 --- a/go.sum +++ b/go.sum @@ -1,14 +1,12 @@ 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= -cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -234,10 +232,8 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE 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/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= @@ -248,8 +244,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/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= 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= @@ -401,10 +395,6 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm 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/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= 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 v20.10.19+incompatible h1:lzEmjivyNHFHMNAFLXORMBXyGIhw/UP4DvJwvyKYq64= @@ -434,8 +424,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.10.17 h1:XEcumY+qSr1cZQaWsQs5Kck3FHB0V2RiMHPdTBJ+oT8= -github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= +github.com/ethereum/go-ethereum v1.10.20 h1:75IW830ClSS40yrQC1ZCMZCt5I+zU16oqId2SiQwdQ4= +github.com/ethereum/go-ethereum v1.10.20/go.mod h1:LWUN82TCHGpxB3En5HVmLLzPD7YSrEUFmFfN1nKkVN0= 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= @@ -547,7 +537,6 @@ github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8l github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= @@ -570,7 +559,6 @@ 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/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.1-0.20200604201612-c04b05f3adfa/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= @@ -600,7 +588,6 @@ github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbu 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.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= @@ -728,9 +715,6 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= -github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= @@ -776,12 +760,9 @@ github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0V github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= -github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= 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= -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.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= @@ -817,7 +798,6 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= 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/term v0.0.0-20220808134915-39b0c02b01ae h1:O4SWKdcHVCvYqyDV+9CJA1fcDN2L11Bule0iFy3YlAI= @@ -828,11 +808,9 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN 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/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= 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/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= 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/multiformats/go-base32 v0.0.4 h1:+qMh4a2f37b4xTNs6mqitDinryCI+tfO2dRVMN9mjSE= @@ -870,7 +848,6 @@ github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:v 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= -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= @@ -920,7 +897,6 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= 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= @@ -1125,7 +1101,6 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk 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-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/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-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1136,7 +1111,6 @@ golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/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-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= @@ -1212,16 +1186,13 @@ 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-20201010224723-4f7140c49acb/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= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= @@ -1296,7 +1267,6 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1316,7 +1286,6 @@ golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7w 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-20200107162124-548cf772de50/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-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1330,13 +1299,10 @@ 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-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1349,11 +1315,8 @@ 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-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/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-20210420205809-ac73e9fd8988/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-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1364,7 +1327,6 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/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-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= @@ -1424,7 +1386,6 @@ 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-20190114222345-bf090417da8b/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-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1568,7 +1529,6 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= 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-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/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= @@ -1742,7 +1702,6 @@ 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/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/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= 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= @@ -1804,7 +1763,6 @@ nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0 pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= 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/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= 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/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= From 9ba288b27200cd9170717160ccc1956c5d9b757f Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Wed, 12 Apr 2023 17:57:59 -0600 Subject: [PATCH 43/50] style: go fmt --- chain/cosmos/08-wasm-types/client_state.go | 2 +- chain/cosmos/08-wasm-types/codec.go | 2 +- chain/cosmos/08-wasm-types/msgs.go | 2 - chain/cosmos/types.go | 8 ++-- chain/polkadot/keys_test.go | 2 +- conformance/relayersetup.go | 2 - conformance/test.go | 2 - examples/hyperspace/hyperspace_test.go | 30 +++++++-------- relayer/hermes/hermes_config.go | 1 - relayer/hyperspace/hyperspace_config.go | 45 +++++++++++----------- relayer/hyperspace/hyperspace_test.go | 8 ++-- testutil/gzip.go | 2 +- 12 files changed, 49 insertions(+), 57 deletions(-) diff --git a/chain/cosmos/08-wasm-types/client_state.go b/chain/cosmos/08-wasm-types/client_state.go index 8a828fc82..eb0a8417f 100644 --- a/chain/cosmos/08-wasm-types/client_state.go +++ b/chain/cosmos/08-wasm-types/client_state.go @@ -120,4 +120,4 @@ func NewClientState(latestSequence uint64, consensusState *ConsensusState) *Clie CodeId: []byte{}, LatestHeight: clienttypes.Height{}, } -} \ No newline at end of file +} diff --git a/chain/cosmos/08-wasm-types/codec.go b/chain/cosmos/08-wasm-types/codec.go index 2bf712d5e..7071a1c00 100644 --- a/chain/cosmos/08-wasm-types/codec.go +++ b/chain/cosmos/08-wasm-types/codec.go @@ -29,4 +29,4 @@ func RegisterInterfaces(registry codectypes.InterfaceRegistry) { (*exported.ClientMessage)(nil), &Header{}, ) -} \ No newline at end of file +} diff --git a/chain/cosmos/08-wasm-types/msgs.go b/chain/cosmos/08-wasm-types/msgs.go index 95b304fe5..64bc452b2 100644 --- a/chain/cosmos/08-wasm-types/msgs.go +++ b/chain/cosmos/08-wasm-types/msgs.go @@ -12,7 +12,6 @@ func (m MsgPushNewWasmCode) ValidateBasic() error { return nil } - func (m MsgPushNewWasmCode) GetSigners() []sdk.AccAddress { signer, err := sdk.AccAddressFromBech32(m.Signer) if err != nil { @@ -20,4 +19,3 @@ func (m MsgPushNewWasmCode) GetSigners() []sdk.AccAddress { } return []sdk.AccAddress{signer} } - diff --git a/chain/cosmos/types.go b/chain/cosmos/types.go index 758835367..ad8256dac 100644 --- a/chain/cosmos/types.go +++ b/chain/cosmos/types.go @@ -21,10 +21,10 @@ const ( // TxProposalv1 contains chain proposal transaction detail for gov module v1 (sdk v0.46.0+) type TxProposalv1 struct { Messages []json.RawMessage `json:"messages"` - Metadata string `json:"metadata"` - Deposit string `json:"deposit"` - Title string `json:"title"` - Summary string `json:"summary"` + Metadata string `json:"metadata"` + Deposit string `json:"deposit"` + Title string `json:"title"` + Summary string `json:"summary"` } // TxProposal contains chain proposal transaction details. diff --git a/chain/polkadot/keys_test.go b/chain/polkadot/keys_test.go index 3e9e5015a..572622fa1 100644 --- a/chain/polkadot/keys_test.go +++ b/chain/polkadot/keys_test.go @@ -5,9 +5,9 @@ import ( "encoding/hex" "testing" - "github.com/misko9/go-substrate-rpc-client/v4/signature" p2pCrypto "github.com/libp2p/go-libp2p-core/crypto" "github.com/libp2p/go-libp2p-core/peer" + "github.com/misko9/go-substrate-rpc-client/v4/signature" "github.com/strangelove-ventures/interchaintest/v7/chain/polkadot" "github.com/stretchr/testify/require" ) diff --git a/conformance/relayersetup.go b/conformance/relayersetup.go index 23b160164..68619d6a2 100644 --- a/conformance/relayersetup.go +++ b/conformance/relayersetup.go @@ -12,8 +12,6 @@ import ( "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/stretchr/testify/require" "golang.org/x/sync/errgroup" - - conntypes "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" ) // TestRelayerSetup contains a series of subtests that configure a relayer step-by-step. diff --git a/conformance/test.go b/conformance/test.go index 86bff2b87..4f6b0ce7d 100644 --- a/conformance/test.go +++ b/conformance/test.go @@ -47,8 +47,6 @@ import ( "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/stretchr/testify/require" "golang.org/x/sync/errgroup" - - transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" ) const ( diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index f8917557a..58f42f7bb 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -4,13 +4,13 @@ import ( "context" "crypto/sha256" "encoding/hex" + "encoding/json" "fmt" "testing" "time" - "encoding/json" - "github.com/icza/dyno" transfertypes "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types" + "github.com/icza/dyno" "github.com/strangelove-ventures/interchaintest/v7" "github.com/strangelove-ventures/interchaintest/v7/chain/cosmos" "github.com/strangelove-ventures/interchaintest/v7/chain/polkadot" @@ -46,9 +46,9 @@ import ( // arm64: docker build --platform linux/arm64 -f scripts/ci/dockerfiles/polkadot/polkadot_builder.aarch64.Dockerfile . -t polkadot-node:local const ( - heightDelta = uint64(20) - votingPeriod = "30s" - maxDepositPeriod = "10s" + heightDelta = uint64(20) + votingPeriod = "30s" + maxDepositPeriod = "10s" ) // TestHyperspace features @@ -78,14 +78,14 @@ func TestHyperspace(t *testing.T) { nf := 3 // Number of full nodes consensusOverrides := make(testutil.Toml) - blockTime := 5 // seconds, parachain is 12 second blocks, don't make relayer work harder than needed + blockTime := 5 // seconds, parachain is 12 second blocks, don't make relayer work harder than needed blockT := (time.Duration(blockTime) * time.Second).String() consensusOverrides["timeout_commit"] = blockT consensusOverrides["timeout_propose"] = blockT configTomlOverrides := make(testutil.Toml) configTomlOverrides["consensus"] = consensusOverrides - + configFileOverrides := make(map[string]any) configFileOverrides["config/config.toml"] = configTomlOverrides @@ -143,7 +143,7 @@ func TestHyperspace(t *testing.T) { //EncodingConfig: WasmClientEncoding(), NoHostMount: true, ConfigFileOverrides: configFileOverrides, - ModifyGenesis: modifyGenesisShortProposals(votingPeriod, maxDepositPeriod), + ModifyGenesis: modifyGenesisShortProposals(votingPeriod, maxDepositPeriod), }, }, }) @@ -341,9 +341,9 @@ func pushWasmContractViaGov(t *testing.T, ctx context.Context, cosmosChain *cosm proposal := cosmos.TxProposalv1{ Metadata: "none", - Deposit: "500000000" + cosmosChain.Config().Denom, // greater than min deposit - Title: "Grandpa Contract", - Summary: "new grandpa contract", + Deposit: "500000000" + cosmosChain.Config().Denom, // greater than min deposit + Title: "Grandpa Contract", + Summary: "new grandpa contract", } proposalTx, codeHash, err := cosmosChain.PushNewWasmClientProposal(ctx, contractUser.KeyName(), "../polkadot/ics10_grandpa_cw.wasm", proposal) @@ -351,7 +351,7 @@ func pushWasmContractViaGov(t *testing.T, ctx context.Context, cosmosChain *cosm height, err := cosmosChain.Height(ctx) require.NoError(t, err, "error fetching height before submit upgrade proposal") - + err = cosmosChain.VoteOnProposalAllValidators(ctx, proposalTx.ProposalID, cosmos.ProposalVoteYes) require.NoError(t, err, "failed to submit votes") @@ -373,7 +373,7 @@ func pushWasmContractViaGov(t *testing.T, ctx context.Context, cosmosChain *cosm return codeHash } -func fundUsers(t *testing.T, ctx context.Context, fundAmount int64, polkadotChain ibc.Chain, cosmosChain ibc.Chain)(ibc.Wallet, ibc.Wallet) { +func fundUsers(t *testing.T, ctx context.Context, fundAmount int64, polkadotChain ibc.Chain, cosmosChain ibc.Chain) (ibc.Wallet, ibc.Wallet) { users := interchaintest.GetAndFundTestUsers(t, ctx, "user", fundAmount, polkadotChain, cosmosChain) polkadotUser, cosmosUser := users[0], users[1] err := testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) // Only waiting 1 block is flaky for parachain @@ -389,7 +389,7 @@ func fundUsers(t *testing.T, ctx context.Context, fundAmount int64, polkadotChai cosmosUserAmount, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) require.NoError(t, err) require.Equal(t, fundAmount, cosmosUserAmount, "Initial cosmos user amount not expected") - + // Mint 100 "UNIT"/"Asset 1" for alice , not sure why the ~1.5M UNIT from balance/genesis doesn't work mint := ibc.WalletAmount{ Address: "5yNZjX24n2eg7W6EVamaTXNQbWCwchhThEaSWB7V3GRjtHeL", @@ -433,4 +433,4 @@ func modifyGenesisShortProposals(votingPeriod string, maxDepositPeriod string) f } return out, nil } -} \ No newline at end of file +} diff --git a/relayer/hermes/hermes_config.go b/relayer/hermes/hermes_config.go index 50e1b9695..92e6af3c1 100644 --- a/relayer/hermes/hermes_config.go +++ b/relayer/hermes/hermes_config.go @@ -6,7 +6,6 @@ import ( "strings" ) - // NewConfig returns a hermes Config with an entry for each of the provided ChainConfigs. // The defaults were adapted from the sample config file found here: https://github.com/informalsystems/hermes/blob/master/config.toml func NewConfig(chainConfigs ...ChainConfig) Config { diff --git a/relayer/hyperspace/hyperspace_config.go b/relayer/hyperspace/hyperspace_config.go index a29f968b5..773a4b2ac 100644 --- a/relayer/hyperspace/hyperspace_config.go +++ b/relayer/hyperspace/hyperspace_config.go @@ -20,11 +20,11 @@ type HyperspaceRelayerCoreConfig struct { } type HyperspaceRelayerSubstrateChainConfig struct { - Type string `toml:"type"` - Name string `toml:"name"` - ParaID uint32 `toml:"para_id"` - ParachainRPCURL string `toml:"parachain_rpc_url"` - RelayChainRPCURL string `toml:"relay_chain_rpc_url"` + Type string `toml:"type"` + Name string `toml:"name"` + ParaID uint32 `toml:"para_id"` + ParachainRPCURL string `toml:"parachain_rpc_url"` + RelayChainRPCURL string `toml:"relay_chain_rpc_url"` BeefyActivation uint32 `toml:"beefy_activation_block"` CommitmentPrefix string `toml:"commitment_prefix"` PrivateKey string `toml:"private_key"` @@ -42,20 +42,20 @@ type KeyEntry struct { } type HyperspaceRelayerCosmosChainConfig struct { - Type string `toml:"type"` - Name string `toml:"name"` - RPCUrl string `toml:"rpc_url"` - GRPCUrl string `toml:"grpc_url"` - WebsocketUrl string `toml:"websocket_url"` - ChainID string `toml:"chain_id"` - AccountPrefix string `toml:"account_prefix"` - FeeDenom string `toml:"fee_denom"` - FeeAmount string `toml:"fee_amount"` - GasLimit uint64 `toml:"gas_limit"` - StorePrefix string `toml:"store_prefix"` - MaxTxSize uint64 `toml:"max_tx_size"` - WasmCodeId string `toml:"wasm_code_id"` - Keybase KeyEntry `toml:"keybase"` + Type string `toml:"type"` + Name string `toml:"name"` + RPCUrl string `toml:"rpc_url"` + GRPCUrl string `toml:"grpc_url"` + WebsocketUrl string `toml:"websocket_url"` + ChainID string `toml:"chain_id"` + AccountPrefix string `toml:"account_prefix"` + FeeDenom string `toml:"fee_denom"` + FeeAmount string `toml:"fee_amount"` + GasLimit uint64 `toml:"gas_limit"` + StorePrefix string `toml:"store_prefix"` + MaxTxSize uint64 `toml:"max_tx_size"` + WasmCodeId string `toml:"wasm_code_id"` + Keybase KeyEntry `toml:"keybase"` ChannelWhitelist []string `toml:"channel_whitelist"` } @@ -64,7 +64,6 @@ const ( HyperspaceDefaultContainerVersion = "local" ) - func GenKeyEntry(bech32Prefix, coinType, mnemonic string) KeyEntry { coinType64, err := strconv.ParseUint(coinType, 10, 32) if err != nil { @@ -131,9 +130,9 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN Name: chainConfig.Name, ChainID: chainConfig.ChainID, AccountPrefix: chainConfig.Bech32Prefix, - FeeDenom: "stake", - FeeAmount: "4000", - GasLimit: 10_000_000, + FeeDenom: "stake", + FeeAmount: "4000", + GasLimit: 10_000_000, GRPCUrl: "http://" + grpcAddr, RPCUrl: rpcAddr, StorePrefix: "ibc", diff --git a/relayer/hyperspace/hyperspace_test.go b/relayer/hyperspace/hyperspace_test.go index cab5c5ee9..996684d40 100644 --- a/relayer/hyperspace/hyperspace_test.go +++ b/relayer/hyperspace/hyperspace_test.go @@ -13,12 +13,12 @@ func TestKeys(t *testing.T) { mnemonic := "taste shoot adapt slow truly grape gift need suggest midnight burger horn whisper hat vast aspect exit scorpion jewel axis great area awful blind" expectedKeyEntry := hyperspace.KeyEntry{ - PublicKey: "xpub6G1GwQBqWwXuCRhri9q1JzxZ9eMWFazo2ssoZNkAsqusDTT6MPUXiPaXMJS9v4RVaSmYPhA1HK5RCD7WPutmUn3eeqXduM142X7YRVBx8bn", + PublicKey: "xpub6G1GwQBqWwXuCRhri9q1JzxZ9eMWFazo2ssoZNkAsqusDTT6MPUXiPaXMJS9v4RVaSmYPhA1HK5RCD7WPutmUn3eeqXduM142X7YRVBx8bn", PrivateKey: "xprvA31vXtewgZybywdPc8Hzws1pbcX1r8GwfexCkzLZKWNtLf7worAHAbG3W3F1SagK47ng5877ihXkDvmNfZnVHSGw7Ad1JkzyPTKEtSpmSxa", - Address: []byte{69, 6, 166, 110, 97, 215, 215, 210, 224, 48, 93, 126, 44, 86, 4, 36, 109, 137, 43, 242}, - Account: "cosmos1g5r2vmnp6lta9cpst4lzc4syy3kcj2lj0nuhmy", + Address: []byte{69, 6, 166, 110, 97, 215, 215, 210, 224, 48, 93, 126, 44, 86, 4, 36, 109, 137, 43, 242}, + Account: "cosmos1g5r2vmnp6lta9cpst4lzc4syy3kcj2lj0nuhmy", } - + keyEntry := hyperspace.GenKeyEntry(bech32Prefix, coinType, mnemonic) require.Equal(t, expectedKeyEntry.PublicKey, keyEntry.PublicKey, "PublicKey is wrong") require.Equal(t, expectedKeyEntry.PrivateKey, keyEntry.PrivateKey, "PrivateKey is wrong") diff --git a/testutil/gzip.go b/testutil/gzip.go index a5669ed10..f5ef98c05 100644 --- a/testutil/gzip.go +++ b/testutil/gzip.go @@ -20,4 +20,4 @@ func GzipIt(input []byte) ([]byte, error) { } return b.Bytes(), nil -} \ No newline at end of file +} From 4be09f5f71cdc0e6890b6961b826da41dac7946f Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Thu, 13 Apr 2023 17:34:28 -0600 Subject: [PATCH 44/50] Update parachain's query ibc balance to match it new api, re-enable verifications of denom balances of our user accounts. --- chain/polkadot/parachain_node.go | 4 +- chain/polkadot/polkadot_chain.go | 7 +-- examples/hyperspace/hyperspace_test.go | 67 +++++++++----------------- go.mod | 2 +- go.sum | 4 +- 5 files changed, 30 insertions(+), 54 deletions(-) diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index ecc9d4962..52991bd99 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -312,8 +312,8 @@ func (pn *ParachainNode) GetBalance(ctx context.Context, address string, denom s } // GetIbcBalance returns the Coins type of ibc coins in account -func (pn *ParachainNode) GetIbcBalance(ctx context.Context, address string) (sdktypes.Coin, error) { - res, err := pn.api.RPC.IBC.QueryBalanceWithAddress(ctx, address) +func (pn *ParachainNode) GetIbcBalance(ctx context.Context, address string, denom uint64) (sdktypes.Coin, error) { + res, err := pn.api.RPC.IBC.QueryBalanceWithAddress(ctx, address, denom) if err != nil { return sdktypes.Coin{}, err } diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index d8f70d2ca..5d4a12cec 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -782,9 +782,6 @@ func (c *PolkadotChain) GetBalance(ctx context.Context, address string, denom st // If denom == polkadot denom, it is a relay chain query, else parachain query if denom == c.cfg.Denom { return c.RelayChainNodes[0].GetBalance(ctx, address, denom) - } else if strings.HasPrefix(denom, "ibc/") { - coin, err := c.ParachainNodes[0][0].GetIbcBalance(ctx, address) - return coin.Amount.Int64(), err } return c.ParachainNodes[0][0].GetBalance(ctx, address, denom) @@ -844,8 +841,8 @@ func (c *PolkadotChain) FindTxs(ctx context.Context, height uint64) ([]blockdb.T } // GetIbcBalance returns the Coins type of ibc coins in account -func (c *PolkadotChain) GetIbcBalance(ctx context.Context, address string) (sdktypes.Coin, error) { - return c.ParachainNodes[0][0].GetIbcBalance(ctx, address) +func (c *PolkadotChain) GetIbcBalance(ctx context.Context, address string, denom uint64) (sdktypes.Coin, error) { + return c.ParachainNodes[0][0].GetIbcBalance(ctx, address, denom) } // MintFunds mints an asset for a user on parachain, keyName must be the owner of the asset diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 58f42f7bb..8a9524dbf 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -26,15 +26,15 @@ import ( // Must build local docker images of hyperspace, parachain, and polkadot // ###### hyperspace ###### // * Repo: ComposableFi/centauri -// * Branch: PR #247 -// * Commit: 65fc11606cc1811e65fd997a63a1d8c15a3a6c83 +// * Branch: vmarkushin/wasm +// * Commit: 00ee58381df66b035be75721e6e16c2bbf82f076 // * Build local Hyperspace docker from centauri repo: // amd64: "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." // arm64: "docker build -f scripts/hyperspace.aarch64.Dockerfile -t hyperspace:latest --platform=linux/arm64/v8 . // ###### parachain ###### // * Repo: ComposableFi/centauri -// * Branch: PR #247 -// * Commit: 65fc11606cc1811e65fd997a63a1d8c15a3a6c83 +// * Branch: vmarkushin/wasm +// * Commit: 00ee58381df66b035be75721e6e16c2bbf82f076 // * Build local parachain docker from centauri repo: // ./scripts/build-parachain-node-docker.sh (you can change the script to compile for ARM arch if needed) // ###### polkadot ###### @@ -49,6 +49,7 @@ const ( heightDelta = uint64(20) votingPeriod = "30s" maxDepositPeriod = "10s" + aliceAddress = "5yNZjX24n2eg7W6EVamaTXNQbWCwchhThEaSWB7V3GRjtHeL" ) // TestHyperspace features @@ -212,7 +213,7 @@ func TestHyperspace(t *testing.T) { // Create new clients err = r.CreateClients(ctx, eRep, pathName, ibc.DefaultClientOpts()) require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) // these 1 block waits may be needed, not sure + err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) // these 1 block waits seem to be needed to reduce flakiness require.NoError(t, err) // Create a new connection @@ -263,16 +264,10 @@ func TestHyperspace(t *testing.T) { err = testutil.WaitForBlocks(ctx, 5, cosmosChain, polkadotChain) require.NoError(t, err) - /*// Trace IBC Denom of stake on parachain - srcDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom(cosmosChannelOutput[0].PortID, cosmosChannelOutput[0].ChannelID, cosmosChain.Config().Denom)) - dstIbcDenom := srcDenomTrace.IBCDenom() - fmt.Println("Dst Ibc denom: ", dstIbcDenom) - - // Test destination wallet has increased funds, this is not working, want to verify IBC balance on parachain - polkadotUserIbcCoins, err := polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address())) - fmt.Println("UserIbcCoins: ", polkadotUserIbcCoins.String()) - aliceIbcCoins, err := polkadotChain.GetIbcBalance(ctx, "5yNZjX24n2eg7W6EVamaTXNQbWCwchhThEaSWB7V3GRjtHeL") - fmt.Println("AliceIbcCoins: ", aliceIbcCoins.String())*/ + // Verify tokens arrived on parachain user + parachainUserStake, err := polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address()), 2) + require.NoError(t, err) + require.Equal(t, amountToSend, parachainUserStake.Amount.Int64(), "parachain user's stake amount not expected after first tx") // Send 1.16 stake from parachainUser to cosmosUser amountToReflect := int64(1_160_000) @@ -303,26 +298,30 @@ func TestHyperspace(t *testing.T) { }) require.NoError(t, err) - // Verify final cosmos user "stake" balance + // Verify cosmos user's final "stake" balance cosmosUserStakeBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) require.NoError(t, err) require.Equal(t, finalStakeBal, cosmosUserStakeBal) - // Verify final cosmos user "unit" balance + + // Verify cosmos user's final "unit" balance unitDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", "UNIT")) cosmosUserUnitBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), unitDenomTrace.IBCDenom()) require.NoError(t, err) require.Equal(t, amountUnits, cosmosUserUnitBal) - /*polkadotUserIbcCoins, err = polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address())) - fmt.Println("UserIbcCoins: ", polkadotUserIbcCoins.String()) - aliceIbcCoins, err = polkadotChain.GetIbcBalance(ctx, "5yNZjX24n2eg7W6EVamaTXNQbWCwchhThEaSWB7V3GRjtHeL") - fmt.Println("AliceIbcCoins: ", aliceIbcCoins.String())*/ + + // Verify parachain user's final "unit" balance (will be less than expected due gas costs for stake tx) + parachainUserUnits, err := polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address()), 1) + require.NoError(t, err) + require.LessOrEqual(t, parachainUserUnits.Amount.Int64(), fundAmount, "parachain user's final unit amount not expected") + + // Verify parachain user's final "stake" balance + parachainUserStake, err = polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address()), 2) + require.NoError(t, err) + require.Equal(t, amountToSend-amountToReflect, parachainUserStake.Amount.Int64(), "parachain user's final stake amount not expected") fmt.Println("********************************") fmt.Println("********* Test passed **********") fmt.Println("********************************") - - //err = testutil.WaitForBlocks(ctx, 50, cosmosChain, polkadotChain) - //require.NoError(t, err) } type GetCodeQueryMsgResponse struct { @@ -365,7 +364,6 @@ func pushWasmContractViaGov(t *testing.T, ctx context.Context, cosmosChain *cosm err = cosmosChain.QueryClientContractCode(ctx, codeHash, &getCodeQueryMsgRsp) codeHashByte32 := sha256.Sum256(getCodeQueryMsgRsp.Code) codeHash2 := hex.EncodeToString(codeHashByte32[:]) - t.Logf("Contract codeHash from code: %s", codeHash2) require.NoError(t, err) require.NotEmpty(t, getCodeQueryMsgRsp.Code) require.Equal(t, codeHash, codeHash2) @@ -390,25 +388,6 @@ func fundUsers(t *testing.T, ctx context.Context, fundAmount int64, polkadotChai require.NoError(t, err) require.Equal(t, fundAmount, cosmosUserAmount, "Initial cosmos user amount not expected") - // Mint 100 "UNIT"/"Asset 1" for alice , not sure why the ~1.5M UNIT from balance/genesis doesn't work - mint := ibc.WalletAmount{ - Address: "5yNZjX24n2eg7W6EVamaTXNQbWCwchhThEaSWB7V3GRjtHeL", - Denom: "1", - Amount: int64(100_000_000_000_000), // 100 UNITS, not 100T - } - err = polkadotChain.(*polkadot.PolkadotChain).MintFunds("alice", mint) - require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 2, polkadotChain, cosmosChain) // Only waiting 1 block is flaky for parachain - require.NoError(t, err, "cosmos or polkadot chain failed to make blocks") - // Mint 100 "UNIT"/"Asset 1" for alice , not sure why the ~1.5M UNIT from balance/genesis doesn't work - mint2 := ibc.WalletAmount{ - Address: polkadotUser.FormattedAddress(), // Alice - Denom: "1", - Amount: int64(123_789_000_000_000), // 100 UNITS, not 100T - } - err = polkadotChain.(*polkadot.PolkadotChain).MintFunds("alice", mint2) - require.NoError(t, err) - return polkadotUser, cosmosUser } diff --git a/go.mod b/go.mod index 4131fe089..40972093a 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/libp2p/go-libp2p-core v0.20.1 - github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d + github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230413215336-5bd2aea337ae github.com/mr-tron/base58 v1.2.0 github.com/pelletier/go-toml v1.9.5 github.com/pelletier/go-toml/v2 v2.0.6 diff --git a/go.sum b/go.sum index f2afbe13d..270d62fb2 100644 --- a/go.sum +++ b/go.sum @@ -785,8 +785,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/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d h1:4F9ELzQO+EH/UXBVav0C+xcEjkGXFYRW/+9e1OwK6yM= -github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d/go.mod h1:XexEkZgpnQ3sqUYz84DFoVUcDake6G/tYHrwdbdERhM= +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= From fc3aea1034d90a8d8c051ba24f1ed12aa8d2c9d9 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 14 Apr 2023 15:30:32 -0600 Subject: [PATCH 45/50] Update cli for wasm light client and update the grandpa contract to support the latest wasm light client interface to contracts. --- chain/cosmos/08-wasm-types/codec.go | 2 +- chain/cosmos/08-wasm-types/msgs.go | 6 +- chain/cosmos/08-wasm-types/tx.pb.go | 161 +++++++++++------------ chain/cosmos/chain_node.go | 4 +- chain/cosmos/cosmos_chain.go | 2 +- examples/polkadot/ics10_grandpa_cw.wasm | Bin 779995 -> 781087 bytes relayer/hyperspace/hyperspace_relayer.go | 2 +- 7 files changed, 88 insertions(+), 89 deletions(-) diff --git a/chain/cosmos/08-wasm-types/codec.go b/chain/cosmos/08-wasm-types/codec.go index 7071a1c00..3408876da 100644 --- a/chain/cosmos/08-wasm-types/codec.go +++ b/chain/cosmos/08-wasm-types/codec.go @@ -19,7 +19,7 @@ func RegisterInterfaces(registry codectypes.InterfaceRegistry) { ) registry.RegisterImplementations( (*sdk.Msg)(nil), - &MsgPushNewWasmCode{}, + &MsgStoreCode{}, ) registry.RegisterImplementations( (*exported.ClientMessage)(nil), diff --git a/chain/cosmos/08-wasm-types/msgs.go b/chain/cosmos/08-wasm-types/msgs.go index 64bc452b2..ad8284065 100644 --- a/chain/cosmos/08-wasm-types/msgs.go +++ b/chain/cosmos/08-wasm-types/msgs.go @@ -5,14 +5,14 @@ import ( ) var ( - _ sdk.Msg = &MsgPushNewWasmCode{} + _ sdk.Msg = &MsgStoreCode{} ) -func (m MsgPushNewWasmCode) ValidateBasic() error { +func (m MsgStoreCode) ValidateBasic() error { return nil } -func (m MsgPushNewWasmCode) GetSigners() []sdk.AccAddress { +func (m MsgStoreCode) GetSigners() []sdk.AccAddress { signer, err := sdk.AccAddressFromBech32(m.Signer) if err != nil { panic(err) diff --git a/chain/cosmos/08-wasm-types/tx.pb.go b/chain/cosmos/08-wasm-types/tx.pb.go index dcbf69886..cce6e707c 100644 --- a/chain/cosmos/08-wasm-types/tx.pb.go +++ b/chain/cosmos/08-wasm-types/tx.pb.go @@ -27,24 +27,24 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// Message type to push new wasm code -type MsgPushNewWasmCode struct { +// MsgStoreCode defines the request type for the StoreCode rpc. +type MsgStoreCode struct { Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"` Code []byte `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` } -func (m *MsgPushNewWasmCode) Reset() { *m = MsgPushNewWasmCode{} } -func (m *MsgPushNewWasmCode) String() string { return proto.CompactTextString(m) } -func (*MsgPushNewWasmCode) ProtoMessage() {} -func (*MsgPushNewWasmCode) Descriptor() ([]byte, []int) { +func (m *MsgStoreCode) Reset() { *m = MsgStoreCode{} } +func (m *MsgStoreCode) String() string { return proto.CompactTextString(m) } +func (*MsgStoreCode) ProtoMessage() {} +func (*MsgStoreCode) Descriptor() ([]byte, []int) { return fileDescriptor_1d9737363bf1e38d, []int{0} } -func (m *MsgPushNewWasmCode) XXX_Unmarshal(b []byte) error { +func (m *MsgStoreCode) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgPushNewWasmCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgStoreCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgPushNewWasmCode.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgStoreCode.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -54,49 +54,49 @@ func (m *MsgPushNewWasmCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *MsgPushNewWasmCode) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgPushNewWasmCode.Merge(m, src) +func (m *MsgStoreCode) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgStoreCode.Merge(m, src) } -func (m *MsgPushNewWasmCode) XXX_Size() int { +func (m *MsgStoreCode) XXX_Size() int { return m.Size() } -func (m *MsgPushNewWasmCode) XXX_DiscardUnknown() { - xxx_messageInfo_MsgPushNewWasmCode.DiscardUnknown(m) +func (m *MsgStoreCode) XXX_DiscardUnknown() { + xxx_messageInfo_MsgStoreCode.DiscardUnknown(m) } -var xxx_messageInfo_MsgPushNewWasmCode proto.InternalMessageInfo +var xxx_messageInfo_MsgStoreCode proto.InternalMessageInfo -func (m *MsgPushNewWasmCode) GetSigner() string { +func (m *MsgStoreCode) GetSigner() string { if m != nil { return m.Signer } return "" } -func (m *MsgPushNewWasmCode) GetCode() []byte { +func (m *MsgStoreCode) GetCode() []byte { if m != nil { return m.Code } return nil } -// Response in case of successful handling -type MsgPushNewWasmCodeResponse struct { +// MsgStoreCodeResponse defines the response type for the StoreCode rpc +type MsgStoreCodeResponse struct { CodeId []byte `protobuf:"bytes,1,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` } -func (m *MsgPushNewWasmCodeResponse) Reset() { *m = MsgPushNewWasmCodeResponse{} } -func (m *MsgPushNewWasmCodeResponse) String() string { return proto.CompactTextString(m) } -func (*MsgPushNewWasmCodeResponse) ProtoMessage() {} -func (*MsgPushNewWasmCodeResponse) Descriptor() ([]byte, []int) { +func (m *MsgStoreCodeResponse) Reset() { *m = MsgStoreCodeResponse{} } +func (m *MsgStoreCodeResponse) String() string { return proto.CompactTextString(m) } +func (*MsgStoreCodeResponse) ProtoMessage() {} +func (*MsgStoreCodeResponse) Descriptor() ([]byte, []int) { return fileDescriptor_1d9737363bf1e38d, []int{1} } -func (m *MsgPushNewWasmCodeResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgStoreCodeResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgPushNewWasmCodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgStoreCodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgPushNewWasmCodeResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgStoreCodeResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -106,19 +106,19 @@ func (m *MsgPushNewWasmCodeResponse) XXX_Marshal(b []byte, deterministic bool) ( return b[:n], nil } } -func (m *MsgPushNewWasmCodeResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgPushNewWasmCodeResponse.Merge(m, src) +func (m *MsgStoreCodeResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgStoreCodeResponse.Merge(m, src) } -func (m *MsgPushNewWasmCodeResponse) XXX_Size() int { +func (m *MsgStoreCodeResponse) XXX_Size() int { return m.Size() } -func (m *MsgPushNewWasmCodeResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgPushNewWasmCodeResponse.DiscardUnknown(m) +func (m *MsgStoreCodeResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgStoreCodeResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgPushNewWasmCodeResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgStoreCodeResponse proto.InternalMessageInfo -func (m *MsgPushNewWasmCodeResponse) GetCodeId() []byte { +func (m *MsgStoreCodeResponse) GetCodeId() []byte { if m != nil { return m.CodeId } @@ -126,32 +126,31 @@ func (m *MsgPushNewWasmCodeResponse) GetCodeId() []byte { } func init() { - proto.RegisterType((*MsgPushNewWasmCode)(nil), "ibc.lightclients.wasm.v1.MsgPushNewWasmCode") - proto.RegisterType((*MsgPushNewWasmCodeResponse)(nil), "ibc.lightclients.wasm.v1.MsgPushNewWasmCodeResponse") + proto.RegisterType((*MsgStoreCode)(nil), "ibc.lightclients.wasm.v1.MsgStoreCode") + proto.RegisterType((*MsgStoreCodeResponse)(nil), "ibc.lightclients.wasm.v1.MsgStoreCodeResponse") } func init() { proto.RegisterFile("ibc/lightclients/wasm/v1/tx.proto", fileDescriptor_1d9737363bf1e38d) } var fileDescriptor_1d9737363bf1e38d = []byte{ - // 276 bytes of a gzipped FileDescriptorProto + // 270 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0xcc, 0x4c, 0x4a, 0xd6, 0xcf, 0xc9, 0x4c, 0xcf, 0x28, 0x49, 0xce, 0xc9, 0x4c, 0xcd, 0x2b, 0x29, 0xd6, 0x2f, 0x4f, 0x2c, 0xce, 0xd5, 0x2f, 0x33, 0xd4, 0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x92, 0xc8, - 0x4c, 0x4a, 0xd6, 0x43, 0x56, 0xa2, 0x07, 0x52, 0xa2, 0x57, 0x66, 0xa8, 0xe4, 0xc0, 0x25, 0xe4, - 0x5b, 0x9c, 0x1e, 0x50, 0x5a, 0x9c, 0xe1, 0x97, 0x5a, 0x1e, 0x9e, 0x58, 0x9c, 0xeb, 0x9c, 0x9f, - 0x92, 0x2a, 0x24, 0xc6, 0xc5, 0x56, 0x9c, 0x99, 0x9e, 0x97, 0x5a, 0x24, 0xc1, 0xa8, 0xc0, 0xa8, - 0xc1, 0x19, 0x04, 0xe5, 0x09, 0x09, 0x71, 0xb1, 0x24, 0xe7, 0xa7, 0xa4, 0x4a, 0x30, 0x29, 0x30, - 0x6a, 0xf0, 0x04, 0x81, 0xd9, 0x4a, 0xa6, 0x5c, 0x52, 0x98, 0x26, 0x04, 0xa5, 0x16, 0x17, 0xe4, - 0xe7, 0x15, 0xa7, 0x0a, 0x89, 0x73, 0xb1, 0x83, 0x54, 0xc5, 0x67, 0xa6, 0x80, 0x8d, 0xe2, 0x09, - 0x62, 0x03, 0x71, 0x3d, 0x53, 0x8c, 0x6a, 0xb8, 0x98, 0x7d, 0x8b, 0xd3, 0x85, 0x4a, 0xb9, 0xf8, - 0xd1, 0x2d, 0xd7, 0xd1, 0xc3, 0xe5, 0x5a, 0x3d, 0x4c, 0x8b, 0xa4, 0x4c, 0x48, 0x51, 0x0d, 0x73, - 0x96, 0x53, 0xe4, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, - 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xd9, 0xa7, 0x67, - 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0x27, 0xe7, 0x17, 0xe7, 0xe6, 0x17, 0xeb, - 0x67, 0x26, 0x25, 0xeb, 0xa6, 0xe7, 0xeb, 0x97, 0x99, 0xeb, 0xe7, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, - 0x16, 0x43, 0x42, 0x5b, 0x17, 0x16, 0xdc, 0x06, 0x16, 0xba, 0xe0, 0x10, 0x2f, 0xa9, 0x2c, 0x48, - 0x2d, 0x4e, 0x62, 0x03, 0x07, 0xb9, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x60, 0xe3, 0x92, 0xd7, - 0x97, 0x01, 0x00, 0x00, + 0x4c, 0x4a, 0xd6, 0x43, 0x56, 0xa2, 0x07, 0x52, 0xa2, 0x57, 0x66, 0xa8, 0x64, 0xc5, 0xc5, 0xe3, + 0x5b, 0x9c, 0x1e, 0x5c, 0x92, 0x5f, 0x94, 0xea, 0x9c, 0x9f, 0x92, 0x2a, 0x24, 0xc6, 0xc5, 0x56, + 0x9c, 0x99, 0x9e, 0x97, 0x5a, 0x24, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x19, 0x04, 0xe5, 0x09, 0x09, + 0x71, 0xb1, 0x24, 0xe7, 0xa7, 0xa4, 0x4a, 0x30, 0x29, 0x30, 0x6a, 0xf0, 0x04, 0x81, 0xd9, 0x4a, + 0xfa, 0x5c, 0x22, 0xc8, 0x7a, 0x83, 0x52, 0x8b, 0x0b, 0xf2, 0xf3, 0x8a, 0x53, 0x85, 0xc4, 0xb9, + 0xd8, 0x41, 0xf2, 0xf1, 0x99, 0x29, 0x60, 0x43, 0x78, 0x82, 0xd8, 0x40, 0x5c, 0xcf, 0x14, 0xa3, + 0x2c, 0x2e, 0x66, 0xdf, 0xe2, 0x74, 0xa1, 0x64, 0x2e, 0x4e, 0x84, 0x85, 0x6a, 0x7a, 0xb8, 0xdc, + 0xa6, 0x87, 0x6c, 0xb8, 0x94, 0x1e, 0x71, 0xea, 0x60, 0x8e, 0x70, 0x8a, 0x3c, 0xf1, 0x48, 0x8e, + 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, 0x63, 0xb8, 0xf0, 0x58, + 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0xfb, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, + 0xfc, 0x5c, 0xfd, 0xe4, 0xfc, 0xe2, 0xdc, 0xfc, 0x62, 0xfd, 0xcc, 0xa4, 0x64, 0xdd, 0xf4, 0x7c, + 0xfd, 0x32, 0x73, 0xfd, 0xdc, 0xfc, 0x94, 0xd2, 0x9c, 0xd4, 0x62, 0x48, 0x78, 0xea, 0xc2, 0x02, + 0xd4, 0xc0, 0x42, 0x17, 0x1c, 0xa6, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0xe0, 0x40, 0x35, + 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x99, 0x32, 0xbd, 0x79, 0x01, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -166,8 +165,8 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MsgClient interface { - // PushNewWasmCode defines a rpc handler method for PushNewWasmCode. - PushNewWasmCode(ctx context.Context, in *MsgPushNewWasmCode, opts ...grpc.CallOption) (*MsgPushNewWasmCodeResponse, error) + // StoreCode defines a rpc handler method for MsgStoreCode. + StoreCode(ctx context.Context, in *MsgStoreCode, opts ...grpc.CallOption) (*MsgStoreCodeResponse, error) } type msgClient struct { @@ -178,9 +177,9 @@ func NewMsgClient(cc grpc1.ClientConn) MsgClient { return &msgClient{cc} } -func (c *msgClient) PushNewWasmCode(ctx context.Context, in *MsgPushNewWasmCode, opts ...grpc.CallOption) (*MsgPushNewWasmCodeResponse, error) { - out := new(MsgPushNewWasmCodeResponse) - err := c.cc.Invoke(ctx, "/ibc.lightclients.wasm.v1.Msg/PushNewWasmCode", in, out, opts...) +func (c *msgClient) StoreCode(ctx context.Context, in *MsgStoreCode, opts ...grpc.CallOption) (*MsgStoreCodeResponse, error) { + out := new(MsgStoreCodeResponse) + err := c.cc.Invoke(ctx, "/ibc.lightclients.wasm.v1.Msg/StoreCode", in, out, opts...) if err != nil { return nil, err } @@ -189,36 +188,36 @@ func (c *msgClient) PushNewWasmCode(ctx context.Context, in *MsgPushNewWasmCode, // MsgServer is the server API for Msg service. type MsgServer interface { - // PushNewWasmCode defines a rpc handler method for PushNewWasmCode. - PushNewWasmCode(context.Context, *MsgPushNewWasmCode) (*MsgPushNewWasmCodeResponse, error) + // StoreCode defines a rpc handler method for MsgStoreCode. + StoreCode(context.Context, *MsgStoreCode) (*MsgStoreCodeResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. type UnimplementedMsgServer struct { } -func (*UnimplementedMsgServer) PushNewWasmCode(ctx context.Context, req *MsgPushNewWasmCode) (*MsgPushNewWasmCodeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method PushNewWasmCode not implemented") +func (*UnimplementedMsgServer) StoreCode(ctx context.Context, req *MsgStoreCode) (*MsgStoreCodeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StoreCode not implemented") } func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) } -func _Msg_PushNewWasmCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgPushNewWasmCode) +func _Msg_StoreCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgStoreCode) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).PushNewWasmCode(ctx, in) + return srv.(MsgServer).StoreCode(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/ibc.lightclients.wasm.v1.Msg/PushNewWasmCode", + FullMethod: "/ibc.lightclients.wasm.v1.Msg/StoreCode", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).PushNewWasmCode(ctx, req.(*MsgPushNewWasmCode)) + return srv.(MsgServer).StoreCode(ctx, req.(*MsgStoreCode)) } return interceptor(ctx, in, info, handler) } @@ -228,15 +227,15 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ HandlerType: (*MsgServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "PushNewWasmCode", - Handler: _Msg_PushNewWasmCode_Handler, + MethodName: "StoreCode", + Handler: _Msg_StoreCode_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "ibc/lightclients/wasm/v1/tx.proto", } -func (m *MsgPushNewWasmCode) Marshal() (dAtA []byte, err error) { +func (m *MsgStoreCode) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -246,12 +245,12 @@ func (m *MsgPushNewWasmCode) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgPushNewWasmCode) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStoreCode) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgPushNewWasmCode) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStoreCode) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -273,7 +272,7 @@ func (m *MsgPushNewWasmCode) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgPushNewWasmCodeResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStoreCodeResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -283,12 +282,12 @@ func (m *MsgPushNewWasmCodeResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgPushNewWasmCodeResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStoreCodeResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgPushNewWasmCodeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStoreCodeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -314,7 +313,7 @@ func encodeVarintTx(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } -func (m *MsgPushNewWasmCode) Size() (n int) { +func (m *MsgStoreCode) Size() (n int) { if m == nil { return 0 } @@ -331,7 +330,7 @@ func (m *MsgPushNewWasmCode) Size() (n int) { return n } -func (m *MsgPushNewWasmCodeResponse) Size() (n int) { +func (m *MsgStoreCodeResponse) Size() (n int) { if m == nil { return 0 } @@ -350,7 +349,7 @@ func sovTx(x uint64) (n int) { func sozTx(x uint64) (n int) { return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *MsgPushNewWasmCode) Unmarshal(dAtA []byte) error { +func (m *MsgStoreCode) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -373,10 +372,10 @@ func (m *MsgPushNewWasmCode) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPushNewWasmCode: wiretype end group for non-group") + return fmt.Errorf("proto: MsgStoreCode: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPushNewWasmCode: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgStoreCode: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -466,7 +465,7 @@ func (m *MsgPushNewWasmCode) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPushNewWasmCodeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgStoreCodeResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -489,10 +488,10 @@ func (m *MsgPushNewWasmCodeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPushNewWasmCodeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgStoreCodeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPushNewWasmCodeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgStoreCodeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index 3ad74a323..ea480f325 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -798,7 +798,7 @@ func (tn *ChainNode) StoreClientContract(ctx context.Context, keyName string, fi return "", fmt.Errorf("writing contract file to docker volume: %w", err) } - _, err = tn.ExecTx(ctx, keyName, "08-wasm", "push-wasm", path.Join(tn.HomeDir(), file), "--gas", "auto") + _, err = tn.ExecTx(ctx, keyName, "ibc-wasm", "store-code", path.Join(tn.HomeDir(), file), "--gas", "auto") if err != nil { return "", err } @@ -812,7 +812,7 @@ func (tn *ChainNode) StoreClientContract(ctx context.Context, keyName string, fi // QueryClientContractCode performs a query with the contract codeHash as the input and code as the output func (tn *ChainNode) QueryClientContractCode(ctx context.Context, codeHash string, response any) error { - stdout, _, err := tn.ExecQuery(ctx, "08-wasm", "code", codeHash) + stdout, _, err := tn.ExecQuery(ctx, "ibc-wasm", "code", codeHash) if err != nil { return err } diff --git a/chain/cosmos/cosmos_chain.go b/chain/cosmos/cosmos_chain.go index fb91094e7..d4f3ec68f 100644 --- a/chain/cosmos/cosmos_chain.go +++ b/chain/cosmos/cosmos_chain.go @@ -371,7 +371,7 @@ func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName str if err != nil { return tx, "", err } - message := wasmtypes.MsgPushNewWasmCode{ + message := wasmtypes.MsgStoreCode{ Signer: types.MustBech32ifyAddressBytes(c.cfg.Bech32Prefix, authtypes.NewModuleAddress(govtypes.ModuleName)), Code: content, } diff --git a/examples/polkadot/ics10_grandpa_cw.wasm b/examples/polkadot/ics10_grandpa_cw.wasm index f84fc21316ee14b1f3d0581161b547056fd28835..4d921948a9a3e8ef0ad2a0ebecbe1d1290a12d9d 100644 GIT binary patch delta 216900 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

u@Q88dMiyLZ)P#sxq<- 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�kYerl`*W8a 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 JNCTxlPUu*O*yYtobU-_KX`h+WW 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%0A7;H` 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

D&BTw{fVS&DJ`1_Q1g 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�=?{YLyC6ztJ2 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 diff --git a/relayer/hyperspace/hyperspace_relayer.go b/relayer/hyperspace/hyperspace_relayer.go index 4ee6d14fb..e5bb74344 100644 --- a/relayer/hyperspace/hyperspace_relayer.go +++ b/relayer/hyperspace/hyperspace_relayer.go @@ -1,4 +1,4 @@ -// Package rly provides an interface to the cosmos relayer running in a Docker container. +// Package hyperspace provides an interface to the hyperspace relayer running in a Docker container. package hyperspace import ( From 292e34ba79e9c0ed56091a488756c56574f768ec Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 14 Apr 2023 17:38:07 -0600 Subject: [PATCH 46/50] refactor how hyperspace commander parses get client and get connection output. Fix get channels after the hyperspace cli was removed. --- examples/hyperspace/hyperspace_test.go | 13 --- relayer/hyperspace/hyperspace_commander.go | 110 ++++++++++----------- 2 files changed, 55 insertions(+), 68 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 8a9524dbf..52987ef27 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -228,19 +228,6 @@ func TestHyperspace(t *testing.T) { err = testutil.WaitForBlocks(ctx, 1, cosmosChain, polkadotChain) require.NoError(t, err) - // Get channels - Query channels was removed - /*cosmosChannelOutput, err := r.GetChannels(ctx, eRep, cosmosChain.Config().ChainID) - require.NoError(t, err) - require.Equal(t, len(cosmosChannelOutput), 1) - require.Equal(t, cosmosChannelOutput[0].ChannelID, "channel-0") - require.Equal(t, cosmosChannelOutput[0].PortID, "transfer") - - polkadotChannelOutput, err := r.GetChannels(ctx, eRep, polkadotChain.Config().ChainID) - require.NoError(t, err) - require.Equal(t, len(polkadotChannelOutput), 1) - require.Equal(t, polkadotChannelOutput[0].ChannelID, "channel-0") - require.Equal(t, polkadotChannelOutput[0].PortID, "transfer")*/ - // Start relayer r.StartRelayer(ctx, eRep, pathName) require.NoError(t, err) diff --git a/relayer/hyperspace/hyperspace_commander.go b/relayer/hyperspace/hyperspace_commander.go index 17414a0f8..76a49648d 100644 --- a/relayer/hyperspace/hyperspace_commander.go +++ b/relayer/hyperspace/hyperspace_commander.go @@ -5,7 +5,6 @@ import ( "context" "fmt" "path" - "strings" ibcexported "github.com/cosmos/ibc-go/v7/modules/core/03-connection/types" types23 "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" @@ -165,15 +164,13 @@ func (hyperspaceCommander) UpdatePath(pathName, homeDir string, filter ibc.Chann } +// Prints chain config which is populated by hyperspace +// Ideally, there should be a command from hyperspace to get this output func (hyperspaceCommander) GetChannels(chainID, homeDir string) []string { - //panic("Panic because hyperspace will panic") fmt.Println("[hyperspace] Get Channels") configFilePath := path.Join(homeDir, chainID+".config") return []string{ - "hyperspace", - "query", - "channels", - "--config", + "cat", configFilePath, } } @@ -277,52 +274,56 @@ func (hyperspaceCommander) ParseRestoreKeyOutput(stdout, stderr string) string { panic("[ParseRestoreKeyOutput] Do not call me") } +type ChannelsOutput struct { + Channels [][]string `toml:"channel_whitelist"` +} + +// Parses output of chain config which is populated by hyperspace +// Ideally, there should be a command from hyperspace to get this output func (hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc.ChannelOutput, error) { + var cfg ChannelsOutput + err := toml.Unmarshal([]byte(stdout), &cfg) + if err != nil { + return nil, err + } + outputs := make([]ibc.ChannelOutput, 0) - lines := strings.Split(stdout, "\n") - for _, line := range lines { - if strings.Contains(line, ": ") { - channel := strings.Split(line, ": ") - channelId := channel[0] - portId := channel[1] - - outputs = append(outputs, ibc.ChannelOutput{ - State: "", - Ordering: "", - Counterparty: ibc.ChannelCounterparty{ // TODO: retrieve from hyperspace - PortID: "", - ChannelID: "", - }, - ConnectionHops: []string{}, - Version: "", - PortID: portId, - ChannelID: channelId, - }) - } + for _, channel := range cfg.Channels { + outputs = append(outputs, ibc.ChannelOutput{ + State: "", + Ordering: "", + Counterparty: ibc.ChannelCounterparty{ // TODO: retrieve from hyperspace + PortID: "", + ChannelID: "", + }, + ConnectionHops: []string{}, + Version: "", + PortID: channel[1], + ChannelID: channel[0], + }) } return outputs, nil } +type ConnectionsOutput struct { + ConnectionID string `toml:"connection_id"` + ClientID string `toml:"client_id"` +} + // Parses output of chain config which is populated by hyperspace // Ideally, there should be a command from hyperspace to get this output +// Only supports 1 connection and limited info func (hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc.ConnectionOutputs, error) { - clientId := "" - connectionId := "" - lines := strings.Split(stdout, "\n") - for _, line := range lines { - if strings.Contains(line, "client_id") { - fields := strings.Split(line, "\"") - clientId = fields[1] - } - if strings.Contains(line, "connection_id") { - fields := strings.Split(line, "\"") - connectionId = fields[1] - } + var cfg ConnectionsOutput + err := toml.Unmarshal([]byte(stdout), &cfg) + if err != nil { + return nil, err } + return ibc.ConnectionOutputs{ &ibc.ConnectionOutput{ - ID: connectionId, - ClientID: clientId, + ID: cfg.ConnectionID, + ClientID: cfg.ClientID, Versions: []*ibcexported.Version{ { Identifier: "", @@ -337,32 +338,31 @@ func (hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc KeyPrefix: []byte{}, }, }, - DelayPeriod: "10", + DelayPeriod: "0", }, }, nil } +type ClientOutput struct { + ChainID string `toml:"chain_id"` + ClientID string `toml:"client_id"` +} + // Parses output of chain config which is populated by hyperspace // Ideally, there should be a command from hyperspace to get this output +// Only supports 1 client func (hyperspaceCommander) ParseGetClientsOutput(stdout, stderr string) (ibc.ClientOutputs, error) { - clientId := "" - chainId := "" - lines := strings.Split(stdout, "\n") - for _, line := range lines { - if strings.Contains(line, "client_id") { - fields := strings.Split(line, "\"") - clientId = fields[1] - } - if strings.Contains(line, "chain_id") { - fields := strings.Split(line, "\"") - chainId = fields[1] - } + var cfg ClientOutput + err := toml.Unmarshal([]byte(stdout), &cfg) + if err != nil { + return nil, err } + return ibc.ClientOutputs{ &ibc.ClientOutput{ - ClientID: clientId, + ClientID: cfg.ClientID, ClientState: ibc.ClientState{ - ChainID: chainId, + ChainID: cfg.ChainID, }, }, }, nil From 0e7cf4b74d1d8ae30afba193c3ce1391163fcc35 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 14 Apr 2023 17:44:57 -0600 Subject: [PATCH 47/50] Remove some prints and fix typo --- examples/hyperspace/hyperspace_test.go | 4 ---- relayer/hyperspace/hyperspace_commander.go | 2 +- relayer/hyperspace/hyperspace_config.go | 1 - 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 52987ef27..09c4ebd41 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -305,10 +305,6 @@ func TestHyperspace(t *testing.T) { parachainUserStake, err = polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address()), 2) require.NoError(t, err) require.Equal(t, amountToSend-amountToReflect, parachainUserStake.Amount.Int64(), "parachain user's final stake amount not expected") - - fmt.Println("********************************") - fmt.Println("********* Test passed **********") - fmt.Println("********************************") } type GetCodeQueryMsgResponse struct { diff --git a/relayer/hyperspace/hyperspace_commander.go b/relayer/hyperspace/hyperspace_commander.go index 76a49648d..00cf87a10 100644 --- a/relayer/hyperspace/hyperspace_commander.go +++ b/relayer/hyperspace/hyperspace_commander.go @@ -1,4 +1,4 @@ -// Package rly provides an interface to the cosmos relayer running in a Docker container. +// Package hyperspace provides an interface to the hyperspace relayer running in a Docker container. package hyperspace import ( diff --git a/relayer/hyperspace/hyperspace_config.go b/relayer/hyperspace/hyperspace_config.go index 773a4b2ac..50f1fcee2 100644 --- a/relayer/hyperspace/hyperspace_config.go +++ b/relayer/hyperspace/hyperspace_config.go @@ -1,4 +1,3 @@ -// Package rly provides an interface to the cosmos relayer running in a Docker container. package hyperspace import ( From 0d0b1eafb676e474fad6c432e7c02e0a7591f849 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Fri, 14 Apr 2023 18:18:34 -0600 Subject: [PATCH 48/50] style: go fmt --- examples/hyperspace/hyperspace_test.go | 8 ++++---- relayer/hyperspace/hyperspace_commander.go | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 09c4ebd41..2b96e88a9 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -289,19 +289,19 @@ func TestHyperspace(t *testing.T) { cosmosUserStakeBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), cosmosChain.Config().Denom) require.NoError(t, err) require.Equal(t, finalStakeBal, cosmosUserStakeBal) - + // Verify cosmos user's final "unit" balance unitDenomTrace := transfertypes.ParseDenomTrace(transfertypes.GetPrefixedDenom("transfer", "channel-0", "UNIT")) cosmosUserUnitBal, err := cosmosChain.GetBalance(ctx, cosmosUser.FormattedAddress(), unitDenomTrace.IBCDenom()) require.NoError(t, err) require.Equal(t, amountUnits, cosmosUserUnitBal) - + // Verify parachain user's final "unit" balance (will be less than expected due gas costs for stake tx) parachainUserUnits, err := polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address()), 1) require.NoError(t, err) require.LessOrEqual(t, parachainUserUnits.Amount.Int64(), fundAmount, "parachain user's final unit amount not expected") - - // Verify parachain user's final "stake" balance + + // Verify parachain user's final "stake" balance parachainUserStake, err = polkadotChain.GetIbcBalance(ctx, string(polkadotUser.Address()), 2) require.NoError(t, err) require.Equal(t, amountToSend-amountToReflect, parachainUserStake.Amount.Int64(), "parachain user's final stake amount not expected") diff --git a/relayer/hyperspace/hyperspace_commander.go b/relayer/hyperspace/hyperspace_commander.go index 00cf87a10..9b003c0bb 100644 --- a/relayer/hyperspace/hyperspace_commander.go +++ b/relayer/hyperspace/hyperspace_commander.go @@ -275,7 +275,7 @@ func (hyperspaceCommander) ParseRestoreKeyOutput(stdout, stderr string) string { } type ChannelsOutput struct { - Channels [][]string `toml:"channel_whitelist"` + Channels [][]string `toml:"channel_whitelist"` } // Parses output of chain config which is populated by hyperspace @@ -284,7 +284,7 @@ func (hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc. var cfg ChannelsOutput err := toml.Unmarshal([]byte(stdout), &cfg) if err != nil { - return nil, err + return nil, err } outputs := make([]ibc.ChannelOutput, 0) @@ -306,8 +306,8 @@ func (hyperspaceCommander) ParseGetChannelsOutput(stdout, stderr string) ([]ibc. } type ConnectionsOutput struct { - ConnectionID string `toml:"connection_id"` - ClientID string `toml:"client_id"` + ConnectionID string `toml:"connection_id"` + ClientID string `toml:"client_id"` } // Parses output of chain config which is populated by hyperspace @@ -317,7 +317,7 @@ func (hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc var cfg ConnectionsOutput err := toml.Unmarshal([]byte(stdout), &cfg) if err != nil { - return nil, err + return nil, err } return ibc.ConnectionOutputs{ @@ -344,8 +344,8 @@ func (hyperspaceCommander) ParseGetConnectionsOutput(stdout, stderr string) (ibc } type ClientOutput struct { - ChainID string `toml:"chain_id"` - ClientID string `toml:"client_id"` + ChainID string `toml:"chain_id"` + ClientID string `toml:"client_id"` } // Parses output of chain config which is populated by hyperspace @@ -355,7 +355,7 @@ func (hyperspaceCommander) ParseGetClientsOutput(stdout, stderr string) (ibc.Cli var cfg ClientOutput err := toml.Unmarshal([]byte(stdout), &cfg) if err != nil { - return nil, err + return nil, err } return ibc.ClientOutputs{ From 5ffa308e8ad00dc370f4eb29a64c1e1c040f1b9c Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Sat, 15 Apr 2023 14:42:28 -0600 Subject: [PATCH 49/50] fix lint errors --- chain/cosmos/chain_node.go | 3 +++ chain/cosmos/cosmos_chain.go | 3 +++ chain/polkadot/keys.go | 2 +- chain/polkadot/keys_test.go | 6 +++--- chain/polkadot/parachain_node.go | 6 +++--- chain/polkadot/polkadot_chain.go | 2 +- chain/polkadot/relay_chain_node.go | 6 +++--- relayer/hyperspace/hyperspace_commander.go | 3 --- 8 files changed, 17 insertions(+), 14 deletions(-) diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index ea480f325..15b8b44b8 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -792,6 +792,9 @@ func (tn *ChainNode) QueryContract(ctx context.Context, contractAddress string, // StoreClientContract takes a file path to a client smart contract and stores it on-chain. Returns the contracts code id. func (tn *ChainNode) StoreClientContract(ctx context.Context, keyName string, fileName string) (string, error) { content, err := os.ReadFile(fileName) + if err != nil { + return "", err + } _, file := filepath.Split(fileName) err = tn.WriteFile(ctx, content, file) if err != nil { diff --git a/chain/cosmos/cosmos_chain.go b/chain/cosmos/cosmos_chain.go index d4f3ec68f..7a5dcdee7 100644 --- a/chain/cosmos/cosmos_chain.go +++ b/chain/cosmos/cosmos_chain.go @@ -376,6 +376,9 @@ func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName str Code: content, } msg, err := c.cfg.EncodingConfig.Codec.MarshalInterfaceJSON(&message) + if err != nil { + return tx, "", err + } prop.Messages = append(prop.Messages, msg) txHash, err := c.getFullNode().SubmitProposal(ctx, keyName, prop) if err != nil { diff --git a/chain/polkadot/keys.go b/chain/polkadot/keys.go index 1d1228e20..18489ff4c 100644 --- a/chain/polkadot/keys.go +++ b/chain/polkadot/keys.go @@ -9,7 +9,7 @@ import ( schnorrkel "github.com/ChainSafe/go-schnorrkel/1" "github.com/StirlingMarketingGroup/go-namecase" - p2pCrypto "github.com/libp2p/go-libp2p-core/crypto" + p2pCrypto "github.com/libp2p/go-libp2p/core/crypto" "golang.org/x/crypto/blake2b" ) diff --git a/chain/polkadot/keys_test.go b/chain/polkadot/keys_test.go index 572622fa1..f43b043b3 100644 --- a/chain/polkadot/keys_test.go +++ b/chain/polkadot/keys_test.go @@ -5,8 +5,8 @@ import ( "encoding/hex" "testing" - p2pCrypto "github.com/libp2p/go-libp2p-core/crypto" - "github.com/libp2p/go-libp2p-core/peer" + p2pCrypto "github.com/libp2p/go-libp2p/core/crypto" + "github.com/libp2p/go-libp2p/core/peer" "github.com/misko9/go-substrate-rpc-client/v4/signature" "github.com/strangelove-ventures/interchaintest/v7/chain/polkadot" "github.com/stretchr/testify/require" @@ -22,7 +22,7 @@ func TestNodeKeyPeerID(t *testing.T) { id, err := peer.IDFromPrivateKey(privKey) require.NoError(t, err, "error getting peer id from private key") - peerId := peer.Encode(id) + peerId := id.String() require.Equal(t, "12D3KooWCqDbuUHRNWPAuHpVnzZGCkkMwgEx7Xd6xgszqtVpH56c", peerId) } diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index 52991bd99..f13c0754a 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -13,8 +13,8 @@ import ( sdktypes "github.com/cosmos/cosmos-sdk/types" "github.com/docker/docker/client" "github.com/icza/dyno" - p2pcrypto "github.com/libp2p/go-libp2p-core/crypto" - "github.com/libp2p/go-libp2p-core/peer" + p2pcrypto "github.com/libp2p/go-libp2p/core/crypto" + "github.com/libp2p/go-libp2p/core/peer" gsrpc "github.com/misko9/go-substrate-rpc-client/v4" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/internal/dockerutil" @@ -103,7 +103,7 @@ func (pn *ParachainNode) PeerID() (string, error) { if err != nil { return "", err } - return peer.Encode(id), nil + return id.String(), nil } // MultiAddress returns the p2p multiaddr of the node. diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index 5d4a12cec..33e8b1fd6 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -18,7 +18,7 @@ import ( "github.com/docker/docker/client" dockerclient "github.com/docker/docker/client" "github.com/icza/dyno" - p2pcrypto "github.com/libp2p/go-libp2p-core/crypto" + p2pcrypto "github.com/libp2p/go-libp2p/core/crypto" "github.com/misko9/go-substrate-rpc-client/v4/signature" gstypes "github.com/misko9/go-substrate-rpc-client/v4/types" "github.com/strangelove-ventures/interchaintest/v7/ibc" diff --git a/chain/polkadot/relay_chain_node.go b/chain/polkadot/relay_chain_node.go index 8a229be5b..724f87550 100644 --- a/chain/polkadot/relay_chain_node.go +++ b/chain/polkadot/relay_chain_node.go @@ -13,8 +13,8 @@ import ( "github.com/docker/go-connections/nat" gsrpc "github.com/misko9/go-substrate-rpc-client/v4" - p2pCrypto "github.com/libp2p/go-libp2p-core/crypto" - "github.com/libp2p/go-libp2p-core/peer" + p2pCrypto "github.com/libp2p/go-libp2p/core/crypto" + "github.com/libp2p/go-libp2p/core/peer" "go.uber.org/zap" "github.com/decred/dcrd/dcrec/secp256k1/v2" @@ -98,7 +98,7 @@ func (p *RelayChainNode) PeerID() (string, error) { if err != nil { return "", err } - return peer.Encode(id), nil + return id.String(), nil } // GrandpaAddress returns the ss58 encoded grandpa (consensus) address. diff --git a/relayer/hyperspace/hyperspace_commander.go b/relayer/hyperspace/hyperspace_commander.go index 9b003c0bb..4576379ac 100644 --- a/relayer/hyperspace/hyperspace_commander.go +++ b/relayer/hyperspace/hyperspace_commander.go @@ -31,9 +31,6 @@ type pathConfiguration struct { // pathChainConfig holds all values that will be required when interacting with a path. type pathChainConfig struct { chainID string - clientID string - connectionID string - portID string } func (hyperspaceCommander) Name() string { From d6346542dc1b073e2bf4dbfbfedc792e05a9d536 Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Sat, 15 Apr 2023 14:46:55 -0600 Subject: [PATCH 50/50] update go.mod --- go.mod | 3 +-- go.sum | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 40972093a..1eeb60550 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 - github.com/libp2p/go-libp2p-core v0.20.1 + github.com/libp2p/go-libp2p v0.22.0 github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230413215336-5bd2aea337ae github.com/mr-tron/base58 v1.2.0 github.com/pelletier/go-toml v1.9.5 @@ -144,7 +144,6 @@ require ( github.com/klauspost/cpuid/v2 v2.2.3 // 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 github.com/libp2p/go-openssl v0.1.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/magiconair/properties v1.8.7 // indirect diff --git a/go.sum b/go.sum index 270d62fb2..f2445ad96 100644 --- a/go.sum +++ b/go.sum @@ -746,8 +746,6 @@ 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/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=

DGkxkx^WnPrX8Rwndd5M61>(=_M02>zpJf>k+ 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 fG|JCiU|1)roTxI8+ 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 C3LwA$ literal 776512 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

i>CR;2V=!_jefq)jb+CAf7jXM;aXOq7F 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

I*QH+4tmx=K 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

C0DX-R!!dK0R87bjucQObFIQM^Sf$md;Z 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Ν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 diff --git a/go.mod b/go.mod index 5fb2de988..2ee41d172 100644 --- a/go.mod +++ b/go.mod @@ -23,7 +23,7 @@ require ( github.com/hashicorp/go-version v1.6.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/libp2p/go-libp2p-core v0.15.1 - github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230217174116-8dfe4633df0f + github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d github.com/mr-tron/base58 v1.2.0 github.com/pelletier/go-toml/v2 v2.0.6 github.com/rivo/tview v0.0.0-20220307222120-9994674d60a8 diff --git a/go.sum b/go.sum index 196b9579b..9ca129d4a 100644 --- a/go.sum +++ b/go.sum @@ -619,6 +619,8 @@ github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230217174116-8dfe4633df0f h1:hcE78zrAhC2oA2TDQhJVsJ/QxAa9BjQrs8WV/UorsxY= github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230217174116-8dfe4633df0f/go.mod h1:XexEkZgpnQ3sqUYz84DFoVUcDake6G/tYHrwdbdERhM= +github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d h1:4F9ELzQO+EH/UXBVav0C+xcEjkGXFYRW/+9e1OwK6yM= +github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d/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= diff --git a/relayer/docker.go b/relayer/docker.go index 55f4a3e09..9f7a5c2d1 100644 --- a/relayer/docker.go +++ b/relayer/docker.go @@ -133,6 +133,17 @@ func (r *DockerRelayer) WriteFileToHomeDir(ctx context.Context, relativePath str return nil } +// ReadFileFromHomeDir reads a file at the relative path specified and returns the contents. The file is +// relative to the home directory in the relayer container. +func (r *DockerRelayer) ReadFileFromHomeDir(ctx context.Context, relativePath string) ([]byte, error) { + fr := dockerutil.NewFileRetriever(r.log, r.client, r.testName) + bytes, err := fr.SingleFileContent(ctx, r.volumeName, relativePath) + if err != nil { + return nil, fmt.Errorf("failed to retrieve %s: %w", relativePath, err) + } + return bytes, nil +} + // Modify a toml config file in relayer home directory func (r *DockerRelayer) ModifyTomlConfigFile(ctx context.Context, relativePath string, modification testutil.Toml) error { return testutil.ModifyTomlConfigFile(ctx, r.log, r.client, r.testName, r.volumeName, relativePath, modification) diff --git a/relayer/hyperspace/hyperspace_config.go b/relayer/hyperspace/hyperspace_config.go index 6181f83e8..e55d4d8ba 100644 --- a/relayer/hyperspace/hyperspace_config.go +++ b/relayer/hyperspace/hyperspace_config.go @@ -29,9 +29,9 @@ type HyperspaceRelayerSubstrateChainConfig struct { CommitmentPrefix string `toml:"commitment_prefix"` PrivateKey string `toml:"private_key"` SS58Version uint8 `toml:"ss58_version"` - ChannelWhitelist []string `toml:"channel_whitelist"` FinalityProtocol string `toml:"finality_protocol"` KeyType string `toml:"key_type"` + ChannelWhitelist []string `toml:"channel_whitelist"` } type KeyEntry struct { @@ -42,17 +42,21 @@ type KeyEntry struct { } type HyperspaceRelayerCosmosChainConfig struct { - Type string `toml:"type"` //New + Type string `toml:"type"` Name string `toml:"name"` RPCUrl string `toml:"rpc_url"` GRPCUrl string `toml:"grpc_url"` WebsocketUrl string `toml:"websocket_url"` ChainID string `toml:"chain_id"` AccountPrefix string `toml:"account_prefix"` + FeeDenom string `toml:"fee_denom"` + FeeAmount string `toml:"fee_amount"` + GasLimit uint64 `toml:"gas_limit"` StorePrefix string `toml:"store_prefix"` MaxTxSize uint64 `toml:"max_tx_size"` WasmCodeId string `toml:"wasm_code_id"` Keybase KeyEntry `toml:"keybase"` + ChannelWhitelist []string `toml:"channel_whitelist"` } const ( @@ -127,6 +131,9 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN Name: chainConfig.Name, ChainID: chainConfig.ChainID, AccountPrefix: chainConfig.Bech32Prefix, + FeeDenom: "stake", + FeeAmount: "4000", + GasLimit: 100_000_000_000_000, // Temporary, until wasmvm gas fees are fixed GRPCUrl: "http://" + grpcAddr, RPCUrl: rpcAddr, StorePrefix: "ibc", diff --git a/relayer/hyperspace/hyperspace_relayer.go b/relayer/hyperspace/hyperspace_relayer.go index b37f01a94..41609afb3 100644 --- a/relayer/hyperspace/hyperspace_relayer.go +++ b/relayer/hyperspace/hyperspace_relayer.go @@ -10,7 +10,6 @@ import ( "github.com/docker/docker/client" "github.com/strangelove-ventures/interchaintest/v7/ibc" "github.com/strangelove-ventures/interchaintest/v7/relayer" - "github.com/strangelove-ventures/interchaintest/v7/testutil" "github.com/pelletier/go-toml/v2" "go.uber.org/zap" ) @@ -96,24 +95,20 @@ func (r *HyperspaceRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecR coinType := cfg.CoinType chainType := cfg.Type - chainConfig := make(testutil.Toml) + chainConfigFile := chainID + ".config" + config, err := r.GetRelayerChainConfig(ctx, chainConfigFile, chainType) + if err != nil { + return err + } switch chainType { case "cosmos": - //chainConfig["private_key"] = mnemonic bech32Prefix := cfg.Bech32Prefix - keyEntry := GenKeyEntry(bech32Prefix, coinType, mnemonic) - keyEntryOverrides := make(testutil.Toml) - keyEntryOverrides["account"] = keyEntry.Account - keyEntryOverrides["private_key"] = keyEntry.PrivateKey - keyEntryOverrides["public_key"] = keyEntry.PublicKey - keyEntryOverrides["address"] = keyEntry.Address - chainConfig["keybase"] = keyEntryOverrides + config.(*HyperspaceRelayerCosmosChainConfig).Keybase = GenKeyEntry(bech32Prefix, coinType, mnemonic) case "polkadot": - //chainConfig["private_key"] = "//Alice" - chainConfig["private_key"] = mnemonic + config.(*HyperspaceRelayerSubstrateChainConfig).PrivateKey = mnemonic } - chainConfigFile := chainID + ".config" - err := r.DockerRelayer.ModifyTomlConfigFile(ctx, chainConfigFile, chainConfig) + + err = r.SetRelayerChainConfig(ctx, chainConfigFile, config) if err != nil { return err } @@ -124,15 +119,19 @@ func (r *HyperspaceRelayer) RestoreKey(ctx context.Context, rep ibc.RelayerExecR } func (r *HyperspaceRelayer) SetClientContractHash(ctx context.Context, rep ibc.RelayerExecReporter, cfg ibc.ChainConfig, hash string) error { - chainConfig := make(testutil.Toml) - chainConfig["wasm_code_id"] = hash - chainConfigFile := cfg.ChainID + ".config" - err := r.ModifyTomlConfigFile(ctx, chainConfigFile, chainConfig) + chainID := cfg.ChainID + chainType := cfg.Type + chainConfigFile := chainID + ".config" + config, err := r.GetRelayerChainConfig(ctx, chainConfigFile, chainType) if err != nil { return err } - - return nil + switch chainType { + case "cosmos": + config.(*HyperspaceRelayerCosmosChainConfig).WasmCodeId = hash + } + + return r.SetRelayerChainConfig(ctx, chainConfigFile, config) } func (r *HyperspaceRelayer) PrintCoreConfig(ctx context.Context, rep ibc.RelayerExecReporter) error { @@ -165,4 +164,44 @@ func (r *HyperspaceRelayer) PrintConfigs(ctx context.Context, rep ibc.RelayerExe } fmt.Println(string(res.Stdout)) return nil +} + + +func (r *HyperspaceRelayer) GetRelayerChainConfig( + ctx context.Context, + filePath string, + chainType string, +) (interface{}, error) { + configRaw, err := r.ReadFileFromHomeDir(ctx, filePath) + if err != nil { + return nil, err + } + + switch chainType { + case "cosmos": + var config HyperspaceRelayerCosmosChainConfig + if err := toml.Unmarshal(configRaw, &config); err != nil { + return nil, fmt.Errorf("failed to unmarshal %s: %w", filePath, err) + } + return &config, nil + case "polkadot": + var config HyperspaceRelayerSubstrateChainConfig + if err := toml.Unmarshal(configRaw, &config); err != nil { + return nil, fmt.Errorf("failed to unmarshal %s: %w", filePath, err) + } + return &config, nil + } + return nil, fmt.Errorf("unsupported chain config: %s", chainType) +} +func (r *HyperspaceRelayer) SetRelayerChainConfig( + ctx context.Context, + filePath string, + config interface{}, +) error { + bytes, err := toml.Marshal(config) + if err != nil { + return err + } + + return r.WriteFileToHomeDir(ctx, filePath, bytes) } \ No newline at end of file From 999313ff5e01a22827dc899c649dbbffd2f512fc Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Sat, 18 Mar 2023 21:00:00 -0600 Subject: [PATCH 37/50] Update to gzip the wasm contract and reduce gas wanted now that gas consumption is better. --- chain/cosmos/chain_node.go | 1 - chain/cosmos/cosmos_chain.go | 8 ++++++-- examples/hyperspace/hyperspace_test.go | 24 +++--------------------- go.sum | 2 -- relayer/hyperspace/hyperspace_config.go | 2 +- testutil/gzip.go | 23 +++++++++++++++++++++++ 6 files changed, 33 insertions(+), 27 deletions(-) create mode 100644 testutil/gzip.go diff --git a/chain/cosmos/chain_node.go b/chain/cosmos/chain_node.go index 7efeb0f1e..283f6b463 100644 --- a/chain/cosmos/chain_node.go +++ b/chain/cosmos/chain_node.go @@ -613,7 +613,6 @@ func (tn *ChainNode) SendIBCTransfer( if options.Memo != "" { command = append(command, "--memo", options.Memo) } - command = append(command, "--gas", "10000000000") // Temporary for wasm client until wasmvm gas is scaled return tn.ExecTx(ctx, keyName, command...) } diff --git a/chain/cosmos/cosmos_chain.go b/chain/cosmos/cosmos_chain.go index d99715cac..ba6f0a6d6 100644 --- a/chain/cosmos/cosmos_chain.go +++ b/chain/cosmos/cosmos_chain.go @@ -361,6 +361,12 @@ func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName str if err != nil { return tx, "", err } + codeHashByte32 := sha256.Sum256(content) + codeHash := hex.EncodeToString(codeHashByte32[:]) + content, err = testutil.GzipIt(content) + if err != nil { + return tx, "", err + } message := wasmtypes.MsgPushNewWasmCode{ Signer: types.MustBech32ifyAddressBytes(c.cfg.Bech32Prefix, authtypes.NewModuleAddress(govtypes.ModuleName)), Code: content, @@ -371,8 +377,6 @@ func (c *CosmosChain) PushNewWasmClientProposal(ctx context.Context, keyName str if err != nil { return tx, "", fmt.Errorf("failed to submit wasm client proposal: %w", err) } - codeHashByte32 := sha256.Sum256(content) - codeHash := hex.EncodeToString(codeHashByte32[:]) tx, err = c.txProposal(txHash) return tx, codeHash, err } diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index d15884ed6..0af9a7bcb 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -77,34 +77,16 @@ func TestHyperspace(t *testing.T) { nv := 5 // Number of validators nf := 3 // Number of full nodes - // Override config files to support an ~2.5MB contract - configFileOverrides := make(map[string]any) - - appTomlOverrides := make(testutil.Toml) - configTomlOverrides := make(testutil.Toml) - - apiOverrides := make(testutil.Toml) - apiOverrides["rpc-max-body-bytes"] = 1_800_000 - appTomlOverrides["api"] = apiOverrides - - rpcOverrides := make(testutil.Toml) - rpcOverrides["max_body_bytes"] = 1_800_000 - rpcOverrides["max_header_bytes"] = 1_900_000 - consensusOverrides := make(testutil.Toml) blockTime := 5 // seconds, parachain is 12 second blocks, don't make relayer work harder than needed blockT := (time.Duration(blockTime) * time.Second).String() consensusOverrides["timeout_commit"] = blockT consensusOverrides["timeout_propose"] = blockT - configTomlOverrides["rpc"] = rpcOverrides + configTomlOverrides := make(testutil.Toml) configTomlOverrides["consensus"] = consensusOverrides - - //mempoolOverrides := make(testutil.Toml) - //mempoolOverrides["max_tx_bytes"] = 6000000 - //configTomlOverrides["mempool"] = mempoolOverrides - - configFileOverrides["config/app.toml"] = appTomlOverrides + + configFileOverrides := make(map[string]any) configFileOverrides["config/config.toml"] = configTomlOverrides // Get both chains diff --git a/go.sum b/go.sum index 9ca129d4a..4394088fb 100644 --- a/go.sum +++ b/go.sum @@ -617,8 +617,6 @@ github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLT github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= 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/misko9/go-substrate-rpc-client/v4 v4.0.0-20230217174116-8dfe4633df0f h1:hcE78zrAhC2oA2TDQhJVsJ/QxAa9BjQrs8WV/UorsxY= -github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230217174116-8dfe4633df0f/go.mod h1:XexEkZgpnQ3sqUYz84DFoVUcDake6G/tYHrwdbdERhM= github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d h1:4F9ELzQO+EH/UXBVav0C+xcEjkGXFYRW/+9e1OwK6yM= github.com/misko9/go-substrate-rpc-client/v4 v4.0.0-20230316181816-6037bb49fa8d/go.mod h1:XexEkZgpnQ3sqUYz84DFoVUcDake6G/tYHrwdbdERhM= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= diff --git a/relayer/hyperspace/hyperspace_config.go b/relayer/hyperspace/hyperspace_config.go index e55d4d8ba..a29f968b5 100644 --- a/relayer/hyperspace/hyperspace_config.go +++ b/relayer/hyperspace/hyperspace_config.go @@ -133,7 +133,7 @@ func ChainConfigToHyperspaceRelayerChainConfig(chainConfig ibc.ChainConfig, keyN AccountPrefix: chainConfig.Bech32Prefix, FeeDenom: "stake", FeeAmount: "4000", - GasLimit: 100_000_000_000_000, // Temporary, until wasmvm gas fees are fixed + GasLimit: 10_000_000, GRPCUrl: "http://" + grpcAddr, RPCUrl: rpcAddr, StorePrefix: "ibc", diff --git a/testutil/gzip.go b/testutil/gzip.go new file mode 100644 index 000000000..a5669ed10 --- /dev/null +++ b/testutil/gzip.go @@ -0,0 +1,23 @@ +package testutil + +import ( + "bytes" + "compress/gzip" +) + +// GzipIt compresses the input ([]byte) +func GzipIt(input []byte) ([]byte, error) { + // Create gzip writer. + var b bytes.Buffer + w := gzip.NewWriter(&b) + _, err := w.Write(input) + if err != nil { + return nil, err + } + err = w.Close() // You must close this first to flush the bytes to the buffer. + if err != nil { + return nil, err + } + + return b.Bytes(), nil +} \ No newline at end of file From d76b92965aab2a067c9c3d6e417c47a2caaf526a Mon Sep 17 00:00:00 2001 From: Steve Miskovetz Date: Wed, 22 Mar 2023 15:58:10 -0600 Subject: [PATCH 38/50] Update codecs, update hyperspace/parachain commits to use, and remove enabling ib send/receive on parachain. The parachain now defaults to being enabled for send/receives. --- chain/cosmos/08-wasm-types/consensus_state.go | 4 - chain/cosmos/08-wasm-types/wasm.pb.go | 209 +++--------------- chain/polkadot/parachain_node.go | 16 -- chain/polkadot/polkadot_chain.go | 5 - examples/hyperspace/hyperspace_test.go | 12 +- examples/polkadot/ics10_grandpa_cw.wasm | Bin 779704 -> 779995 bytes 6 files changed, 34 insertions(+), 212 deletions(-) diff --git a/chain/cosmos/08-wasm-types/consensus_state.go b/chain/cosmos/08-wasm-types/consensus_state.go index c49992bbc..d2482589f 100644 --- a/chain/cosmos/08-wasm-types/consensus_state.go +++ b/chain/cosmos/08-wasm-types/consensus_state.go @@ -14,10 +14,6 @@ func (m ConsensusState) GetTimestamp() uint64 { return m.Timestamp } -func (m ConsensusState) GetRoot() exported.Root { - return m.Root -} - func (m ConsensusState) ValidateBasic() error { return nil } diff --git a/chain/cosmos/08-wasm-types/wasm.pb.go b/chain/cosmos/08-wasm-types/wasm.pb.go index ee6101e73..0a2f17cac 100644 --- a/chain/cosmos/08-wasm-types/wasm.pb.go +++ b/chain/cosmos/08-wasm-types/wasm.pb.go @@ -8,7 +8,6 @@ import ( _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" types "github.com/cosmos/ibc-go/v7/modules/core/02-client/types" - types1 "github.com/cosmos/ibc-go/v7/modules/core/23-commitment/types" io "io" math "math" math_bits "math/bits" @@ -67,13 +66,10 @@ var xxx_messageInfo_ClientState proto.InternalMessageInfo // Wasm light client's ConsensusState type ConsensusState struct { - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - CodeId []byte `protobuf:"bytes,2,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"` + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // timestamp that corresponds to the block height in which the ConsensusState // was stored. - Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // commitment root - Root *types1.MerkleRoot `protobuf:"bytes,4,opt,name=root,proto3" json:"root,omitempty"` + Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (m *ConsensusState) Reset() { *m = ConsensusState{} } @@ -150,8 +146,7 @@ var xxx_messageInfo_Header proto.InternalMessageInfo // Wasm light client Misbehaviour type Misbehaviour struct { - ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty" yaml:"client_id"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (m *Misbehaviour) Reset() { *m = Misbehaviour{} } @@ -199,36 +194,32 @@ func init() { } var fileDescriptor_678928ebbdee1807 = []byte{ - // 459 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x4f, 0x8b, 0xd3, 0x40, - 0x18, 0xc6, 0x33, 0x35, 0x54, 0x3b, 0xdb, 0x15, 0x09, 0x15, 0x43, 0x59, 0x92, 0x25, 0x1e, 0xdc, - 0x4b, 0x33, 0x46, 0x41, 0x65, 0x2f, 0x42, 0xf7, 0xb2, 0x3d, 0xec, 0x25, 0x9e, 0x54, 0x64, 0x99, - 0x24, 0x43, 0x3a, 0x98, 0xe9, 0x5b, 0x32, 0xd3, 0xc8, 0x7e, 0x03, 0x8f, 0x5e, 0x3d, 0xe9, 0xc7, - 0xd9, 0xe3, 0x1e, 0x3d, 0x15, 0x69, 0xbf, 0xc1, 0x7e, 0x02, 0x99, 0x99, 0xf4, 0x8f, 0x20, 0x08, - 0x7b, 0xca, 0xfb, 0x66, 0x7e, 0xf3, 0xbc, 0xcf, 0x3c, 0xbc, 0xf8, 0x29, 0xcf, 0x72, 0x52, 0xf1, - 0x72, 0xaa, 0xf2, 0x8a, 0xb3, 0x99, 0x92, 0xe4, 0x0b, 0x95, 0x82, 0x34, 0x89, 0xf9, 0xc6, 0xf3, - 0x1a, 0x14, 0x78, 0x3e, 0xcf, 0xf2, 0x78, 0x1f, 0x8a, 0xcd, 0x61, 0x93, 0x0c, 0x07, 0x25, 0x94, - 0x60, 0x20, 0xa2, 0x2b, 0xcb, 0x0f, 0x43, 0x2d, 0x9a, 0x43, 0xcd, 0x88, 0xe5, 0xb5, 0x9c, 0xad, - 0x5a, 0xe0, 0xd9, 0x0e, 0x00, 0x21, 0xb8, 0x12, 0x1b, 0x68, 0xdb, 0x59, 0x30, 0xfa, 0x81, 0xf0, - 0xc1, 0x99, 0xb9, 0xf9, 0x4e, 0x51, 0xc5, 0x3c, 0x0f, 0xbb, 0x05, 0x55, 0xd4, 0x47, 0xc7, 0xe8, - 0xa4, 0x9f, 0x9a, 0xda, 0x7b, 0x82, 0xef, 0xe7, 0x50, 0xb0, 0x4b, 0x5e, 0xf8, 0x1d, 0xf3, 0xbb, - 0xab, 0xdb, 0x49, 0xe1, 0x7d, 0xc2, 0x87, 0x15, 0x55, 0x4c, 0xaa, 0xcb, 0x29, 0xd3, 0xe6, 0xfd, - 0x7b, 0xc7, 0xe8, 0xe4, 0xe0, 0xc5, 0x30, 0xd6, 0xcf, 0xd1, 0xd3, 0xe3, 0xd6, 0x54, 0x93, 0xc4, - 0xe7, 0x86, 0x18, 0x1f, 0x5d, 0x2f, 0x43, 0xe7, 0x76, 0x19, 0x0e, 0xae, 0xa8, 0xa8, 0x4e, 0xa3, - 0xbf, 0xae, 0x47, 0x69, 0xdf, 0xf6, 0x96, 0x3d, 0x75, 0xbf, 0xfe, 0x0c, 0x9d, 0xe8, 0x3b, 0xc2, - 0x0f, 0xcf, 0x60, 0x26, 0xd9, 0x4c, 0x2e, 0xe4, 0x1d, 0x4c, 0x1e, 0xe1, 0x9e, 0xe2, 0x82, 0x49, - 0x45, 0xc5, 0xdc, 0x18, 0x74, 0xd3, 0xdd, 0x0f, 0xef, 0x15, 0x76, 0x6b, 0x00, 0xe5, 0xbb, 0xc6, - 0x79, 0xb4, 0xe7, 0x7c, 0x97, 0x54, 0x93, 0xc4, 0x17, 0xac, 0xfe, 0x5c, 0xb1, 0x14, 0x40, 0xa5, - 0x86, 0x6f, 0xbd, 0x09, 0xdc, 0x3d, 0x67, 0xb4, 0x60, 0xf5, 0x3f, 0x2d, 0x4d, 0x70, 0xb7, 0xcd, - 0xa5, 0xf3, 0xdf, 0x5c, 0x1e, 0xb7, 0xb9, 0x1c, 0xda, 0x5c, 0x36, 0x81, 0xb4, 0x02, 0xed, 0xb8, - 0x8f, 0xb8, 0x7f, 0xc1, 0x65, 0xc6, 0xa6, 0xb4, 0xe1, 0xb0, 0xa8, 0xbd, 0x04, 0xf7, 0xac, 0x90, - 0x7e, 0xb5, 0x9e, 0xdc, 0x1b, 0x0f, 0x6e, 0x97, 0xe1, 0x23, 0xab, 0xb1, 0x3d, 0x8a, 0xd2, 0x07, - 0xb6, 0x9e, 0x14, 0x5b, 0x9f, 0x9d, 0x9d, 0x4f, 0x2b, 0x3e, 0x7e, 0x7f, 0xbd, 0x0a, 0xd0, 0xcd, - 0x2a, 0x40, 0xbf, 0x57, 0x01, 0xfa, 0xb6, 0x0e, 0x9c, 0x9b, 0x75, 0xe0, 0xfc, 0x5a, 0x07, 0xce, - 0x87, 0xb7, 0x25, 0x57, 0xd3, 0x45, 0xa6, 0x23, 0x21, 0x39, 0x48, 0x01, 0x92, 0xf0, 0x2c, 0x1f, - 0x95, 0x40, 0x9a, 0xd7, 0x44, 0x40, 0xb1, 0xa8, 0x98, 0xb4, 0x2b, 0x3e, 0xda, 0xec, 0xf8, 0xf3, - 0x37, 0x23, 0xb3, 0xe6, 0xea, 0x6a, 0xce, 0x64, 0xd6, 0x35, 0xbb, 0xf6, 0xf2, 0x4f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x66, 0x2e, 0x36, 0x86, 0x0c, 0x03, 0x00, 0x00, + // 386 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xc1, 0x6a, 0xea, 0x40, + 0x14, 0x86, 0x13, 0xaf, 0xe4, 0x72, 0x47, 0xbd, 0x8b, 0xe0, 0xe5, 0x06, 0x91, 0x44, 0x72, 0x37, + 0x6e, 0xcc, 0x5c, 0xdb, 0x45, 0x8b, 0x9b, 0x82, 0x6e, 0x74, 0xd1, 0x8d, 0x5d, 0xb5, 0x50, 0x64, + 0x32, 0x19, 0x92, 0x81, 0x8c, 0x23, 0xce, 0x24, 0xc5, 0x37, 0xe8, 0xb2, 0x6f, 0xd0, 0x3e, 0x8e, + 0x4b, 0x97, 0x5d, 0x49, 0xd1, 0x37, 0xe8, 0x13, 0x94, 0xcc, 0x44, 0xda, 0x82, 0xa5, 0xab, 0x9c, + 0x73, 0xf2, 0xe5, 0x3f, 0xff, 0x4f, 0x0e, 0xf8, 0x47, 0x43, 0x0c, 0x53, 0x1a, 0x27, 0x12, 0xa7, + 0x94, 0xcc, 0xa5, 0x80, 0x77, 0x48, 0x30, 0x98, 0xf7, 0xd5, 0x33, 0x58, 0x2c, 0xb9, 0xe4, 0xb6, + 0x43, 0x43, 0x1c, 0x7c, 0x84, 0x02, 0xf5, 0x32, 0xef, 0xb7, 0x9a, 0x31, 0x8f, 0xb9, 0x82, 0x60, + 0x51, 0x69, 0xbe, 0xe5, 0x15, 0xa2, 0x98, 0x2f, 0x09, 0xd4, 0x7c, 0x21, 0xa7, 0x2b, 0x0d, 0xf8, + 0x8f, 0x26, 0xa8, 0x8d, 0xd4, 0xe0, 0x4a, 0x22, 0x49, 0x6c, 0x1b, 0x54, 0x23, 0x24, 0x91, 0x63, + 0x76, 0xcc, 0x6e, 0x7d, 0xaa, 0x6a, 0xfb, 0x2f, 0xf8, 0x89, 0x79, 0x44, 0x66, 0x34, 0x72, 0x2a, + 0x6a, 0x6c, 0x15, 0xed, 0x24, 0xb2, 0x6f, 0x41, 0x23, 0x45, 0x92, 0x08, 0x39, 0x4b, 0x48, 0xe1, + 0xc9, 0xf9, 0xd1, 0x31, 0xbb, 0xb5, 0x93, 0x56, 0x50, 0xb8, 0x2c, 0xb6, 0x06, 0xe5, 0xae, 0xbc, + 0x1f, 0x8c, 0x15, 0x31, 0x6c, 0xaf, 0xb7, 0x9e, 0xf1, 0xba, 0xf5, 0x9a, 0x2b, 0xc4, 0xd2, 0x81, + 0xff, 0xe9, 0x73, 0x7f, 0x5a, 0xd7, 0xbd, 0x66, 0x07, 0xd5, 0xfb, 0x27, 0xcf, 0xf0, 0xc7, 0xe0, + 0xf7, 0x88, 0xcf, 0x05, 0x99, 0x8b, 0x4c, 0x7c, 0xed, 0xb1, 0x0d, 0x7e, 0x49, 0xca, 0x88, 0x90, + 0x88, 0x2d, 0x94, 0xcb, 0xea, 0xf4, 0x7d, 0x50, 0x2a, 0x31, 0x60, 0x8d, 0x09, 0x8a, 0xc8, 0xf2, + 0xa8, 0xc2, 0x04, 0x58, 0x65, 0x8a, 0xca, 0xb7, 0x29, 0xfe, 0x94, 0x29, 0x1a, 0x3a, 0xc5, 0xc1, + 0x7e, 0x29, 0x50, 0xae, 0xeb, 0x82, 0xfa, 0x25, 0x15, 0x21, 0x49, 0x50, 0x4e, 0x79, 0x76, 0x74, + 0xa9, 0x26, 0x87, 0xd7, 0xeb, 0x9d, 0x6b, 0x6e, 0x76, 0xae, 0xf9, 0xb2, 0x73, 0xcd, 0x87, 0xbd, + 0x6b, 0x6c, 0xf6, 0xae, 0xf1, 0xbc, 0x77, 0x8d, 0x9b, 0x8b, 0x98, 0xca, 0x24, 0x0b, 0x03, 0xcc, + 0x19, 0xc4, 0x5c, 0x30, 0x2e, 0x20, 0x0d, 0x71, 0x2f, 0xe6, 0x30, 0x3f, 0x83, 0x8c, 0x47, 0x59, + 0x4a, 0x84, 0x3e, 0x9a, 0xde, 0xe1, 0x6a, 0xfe, 0x9f, 0xf7, 0xd4, 0xe1, 0xc8, 0xd5, 0x82, 0x88, + 0xd0, 0x52, 0xbf, 0xf9, 0xf4, 0x2d, 0x00, 0x00, 0xff, 0xff, 0x8b, 0xed, 0x18, 0x0a, 0x5e, 0x02, + 0x00, 0x00, } func (m *ClientState) Marshal() (dAtA []byte, err error) { @@ -298,29 +289,10 @@ func (m *ConsensusState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.Root != nil { - { - size, err := m.Root.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintWasm(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } if m.Timestamp != 0 { i = encodeVarintWasm(dAtA, i, uint64(m.Timestamp)) i-- - dAtA[i] = 0x18 - } - if len(m.CodeId) > 0 { - i -= len(m.CodeId) - copy(dAtA[i:], m.CodeId) - i = encodeVarintWasm(dAtA, i, uint64(len(m.CodeId))) - i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } if len(m.Data) > 0 { i -= len(m.Data) @@ -397,13 +369,6 @@ func (m *Misbehaviour) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.Data) i = encodeVarintWasm(dAtA, i, uint64(len(m.Data))) i-- - dAtA[i] = 0x12 - } - if len(m.ClientId) > 0 { - i -= len(m.ClientId) - copy(dAtA[i:], m.ClientId) - i = encodeVarintWasm(dAtA, i, uint64(len(m.ClientId))) - i-- dAtA[i] = 0xa } return len(dAtA) - i, nil @@ -449,17 +414,9 @@ func (m *ConsensusState) Size() (n int) { if l > 0 { n += 1 + l + sovWasm(uint64(l)) } - l = len(m.CodeId) - if l > 0 { - n += 1 + l + sovWasm(uint64(l)) - } if m.Timestamp != 0 { n += 1 + sovWasm(uint64(m.Timestamp)) } - if m.Root != nil { - l = m.Root.Size() - n += 1 + l + sovWasm(uint64(l)) - } return n } @@ -484,10 +441,6 @@ func (m *Misbehaviour) Size() (n int) { } var l int _ = l - l = len(m.ClientId) - if l > 0 { - n += 1 + l + sovWasm(uint64(l)) - } l = len(m.Data) if l > 0 { n += 1 + l + sovWasm(uint64(l)) @@ -716,40 +669,6 @@ func (m *ConsensusState) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CodeId", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWasm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthWasm - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthWasm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CodeId = append(m.CodeId[:0], dAtA[iNdEx:postIndex]...) - if m.CodeId == nil { - m.CodeId = []byte{} - } - iNdEx = postIndex - case 3: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) } @@ -768,42 +687,6 @@ func (m *ConsensusState) Unmarshal(dAtA []byte) error { break } } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Root", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWasm - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthWasm - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthWasm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Root == nil { - m.Root = &types1.MerkleRoot{} - } - if err := m.Root.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipWasm(dAtA[iNdEx:]) @@ -972,38 +855,6 @@ func (m *Misbehaviour) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClientId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowWasm - } - 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 ErrInvalidLengthWasm - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthWasm - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ClientId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } diff --git a/chain/polkadot/parachain_node.go b/chain/polkadot/parachain_node.go index 6afee4616..68da045aa 100644 --- a/chain/polkadot/parachain_node.go +++ b/chain/polkadot/parachain_node.go @@ -383,22 +383,6 @@ func (pn *ParachainNode) SendFunds(ctx context.Context, keyName string, amount i return nil } -// Turns on sending and receiving ibc transfers -func (pn *ParachainNode) EnableIbc() error { - kp, err := pn.Chain.(*PolkadotChain).GetKeyringPair("alice") - if err != nil { - return err - } - - hash, err := EnableIbc(pn.api, kp) - if err != nil { - return err - } - - pn.log.Info("Enable Ibc sent", zap.String("hash", fmt.Sprintf("%#x", hash)), zap.String("container", pn.Name())) - return nil -} - // SendIbcFunds sends funds to a wallet from a user account. func (pn *ParachainNode) SendIbcFunds( ctx context.Context, diff --git a/chain/polkadot/polkadot_chain.go b/chain/polkadot/polkadot_chain.go index d88824bf6..abc22d899 100644 --- a/chain/polkadot/polkadot_chain.go +++ b/chain/polkadot/polkadot_chain.go @@ -807,11 +807,6 @@ func (c *PolkadotChain) GetIbcBalance(ctx context.Context, address string) (sdkt return c.ParachainNodes[0][0].GetIbcBalance(ctx, address) } -// Turns on sending and receiving ibc transfers -func (c *PolkadotChain) EnableIbcTransfers() error { - return c.ParachainNodes[0][0].EnableIbc() -} - // MintFunds mints an asset for a user on parachain, keyName must be the owner of the asset func (c *PolkadotChain) MintFunds(keyName string, amount ibc.WalletAmount) error { return c.ParachainNodes[0][0].MintFunds(keyName, amount) diff --git a/examples/hyperspace/hyperspace_test.go b/examples/hyperspace/hyperspace_test.go index 0af9a7bcb..ca2459a65 100644 --- a/examples/hyperspace/hyperspace_test.go +++ b/examples/hyperspace/hyperspace_test.go @@ -26,15 +26,15 @@ import ( // Must build local docker images of hyperspace, parachain, and polkadot // ###### hyperspace ###### // * Repo: ComposableFi/centauri -// * Branch: vmarkushin/wasm -// * Commit: 64f26da7a4fa3a301c5c147df363c5b5aef83c7d +// * Branch: PR #247 +// * Commit: 65fc11606cc1811e65fd997a63a1d8c15a3a6c83 // * Build local Hyperspace docker from centauri repo: // amd64: "docker build -f scripts/hyperspace.Dockerfile -t hyperspace:local ." // arm64: "docker build -f scripts/hyperspace.aarch64.Dockerfile -t hyperspace:latest --platform=linux/arm64/v8 . // ###### parachain ###### // * Repo: ComposableFi/centauri -// * Branch: vmarkushin/wasm -// * Commit: 64f26da7a4fa3a301c5c147df363c5b5aef83c7d +// * Branch: PR #247 +// * Commit: 65fc11606cc1811e65fd997a63a1d8c15a3a6c83 // * Build local parachain docker from centauri repo: // ./scripts/build-parachain-node-docker.sh (you can change the script to compile for ARM arch if needed) // ###### polkadot ###### @@ -202,10 +202,6 @@ func TestHyperspace(t *testing.T) { err = testutil.WaitForBlocks(ctx, 1, polkadotChain) require.NoError(t, err, "polkadot chain failed to make blocks") - // Enable IBC transfers on parachain - err = polkadotChain.EnableIbcTransfers() - require.NoError(t, err) - // Fund users on both cosmos and parachain, mints Asset 1 for Alice fundAmount := int64(12_333_000_000_000) polkadotUser, cosmosUser := fundUsers(t, ctx, fundAmount, polkadotChain, cosmosChain) diff --git a/examples/polkadot/ics10_grandpa_cw.wasm b/examples/polkadot/ics10_grandpa_cw.wasm index 05772ff09b12429882482873003fdd026a263b7a..f84fc21316ee14b1f3d0581161b547056fd28835 100644 GIT binary patch literal 779995 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 )+S=|2`uc&mV({7bcTLr6{8hb zjpJ>&u_xDdt@a++m6@29N>=B#lGqV^L#JINo0UX+N&lAawPlDPsIl6hFJK(8R-!7> zExKg+LdWlwi~CkG8>F>484sM*pLALT>W}U?cp)s{YR8Ha>dvcND1AiT1{}*I<0o`Y z8XBqCWMBz5(lR7yKFm%Xt1ahY#GQMofZl@o_YV>A%IjrL&`TU= z(R}Fvzms-P{UQ=sIaJL|T+(un3@X*vfQ68&{@M)nkiwKAAVDD$vun#s8c=agv^Is+ zv*i2DyE5hceXOd7(GwGBjnL%TG0`aOgTP}{**hiQ1nfG_KYphl#rKmmtERZKr=1Ml1 zUXX@rWuH_@uonRAUFCny_9NYhDcY$sJ3_ow3I`?=uS{EetB18rn{2M{M@0t#o~RZC z!boIYXqOL7WPTv4XCzx#$&a>%G`~U)P?!?eBTiGb0+xg{eYl08obt!Ko6yOzX!HpZ zXxy#hv#ly^6-O}WL=b|TNn3@r02J#t(^mDBwu;lzPY`e1NLz(Ot%0If```u};9jCk zKC2fr@TY%Pg5%k!hAzI7Oj;C^=gR1YVmVH1f=1VW6nfyaRR>A^G)`MJ_b68I+B6NQ z+bMBXJHxn&Re{wi_-bU48brxCG;8{_&s_PiLdWJ(%v?$ha<)Zgk(qd1(=vWNzsTzm zOxJuJmImlnQ{F5RwVVUu3Nu*sph?T(^JKJ~+9b(1sKu>hF+dVK-c8x@R*sduN|yCJ zMu=n$;_{rE&BJh!9%E2PvaAGZ0GvP#(AR=`oGh!>u{`$Cl#^va z4Xt8DDj)g_IomOURYvMg_Mb+QY6h?8)~ z9}+(hr{P0jAED#pWLX?pl8}#R`@p?!B+KFjScwhyQuvf$3cOQ-sVZ5PYDBUuc~XFb zzMe2n)|HXF?7+`mvZBX)kZSq!pJL%IYRPGQ9>#^0j!jgW1Nl1e8iX6zsWTdlQD!}SsWKY99KIl` zAf!xYG!oYOJ5V5f>1r+Rb*Rn(5uf=c*^sab>UiCu#jZ_A^a7NLAJ5soby4zPk^Qyg z{%8wSj|4?yp72;}PP}J@OwejuG>a{|W|#_F(zk*&illEPtKY8nUByC`s0g`J8)%Yf zz-DMnc1q3v4pB4d+J5OS^l!bqN0!a4?OQR?s62lM*~WCHlnEMsDHAXY1Q4phW58i0 z-#wa^(NDLyw@wN+d`)=O~=yU zKmxL{m=PY(P>y^-jBu4(9!#A{(Bdpix-c+NC1=`jS_pdZf(-V8j1;zvgX*wwZ2Z9?Sm*!eCuXxKF zB#DLD$08UZ#j?z0MOMu1VmnkC49iDYqEWtCILXXwUIb=A-bX}oK=DGAlhV8u@jO0d z`k{dAqED`C^7_(N5kGC7b2m&&GNtsrfiLq^a6xsth6~v~lwJU2l$gp?s&g_P(5G55 zJPwliI9z1Q@|+%?c>=V17Ek|Q=ja%%pB#iRAZ6kB>l_`*>_L=hxBIgI1>V@L^1WV|)^rbZh!gV$~3(MBF^ zz^P>DCIVQ-EB}VXJ@upbD&IIY#~~g{@eJmnlL+NDoK~z8klDgos`{GNJ3G&v~SYgRlyEt=7m{gr=rj zDQv5JUBkLdl|C-w{BHk{BS*=SPrIruA`ZL|D7Yv}hYMjx`VK6XlZljpf~;M9hM1jM zZjZ$+%RrGk2*=oSvysleEBa6;*X1veU{5l?abg}PH6q(QgR+KG@&*%1Mhp78ew4COnb8Bx??HsOGb{MaghqH)3^ zmwFtpL@#96rUS?1rsV6#B_{A3xu8uk@c{);#TbG;Ih~l!3ZrH*66@-ubA`LUzd=|B z#UTC%xWO*g9FREd1F1fQUH~gs+xy`M3M==N4_j+$kNR<(B70@_qv7U7e|(%Gj=OZ6 zqC!IXs<}2PPJW>1e^7u#h;uKsG$oo-g|AE;r`U;879Ea*ADk8lc%t$tASDnQqcfnc z!%US^3Knc(!SE07HGp_Va|p}i_LPLj;GJbQhqgZN(-h5BnRGb4<`)c*fZLYe35+Wp zrp|#Un7a^-(peud(|Gn%vKaqzR5*a`5OafFD#ymSaA-Wen(8<G>& z8vHTzNgQFy7DZ7j7=w;U#p)r0?1}&MR3-+M!6`9Om%q|{Cb;M1__>8)oeuIHqH5)v zZ3IupXJSv42vsg=H=?Iy=jLllCX9@0YANm(p{r2#Sg;zI9SBlYWg_jV8NJIjjtGYF zv;t}}$v_rF)d?xdBF+rFr&V$O%u_`}SQr(9&-HMe<1SNW>f6of6eoFKzFSj`5WVs-KPl zj)CnCR0l{yQ^s&`AfDV!A8~Tf;|os<2j>)p%1c4`<)-AJCjI>CbHix{lvO|!i>W3w z_H0CcKNvP1@@3fjqu^3umxWdx%cmhBkt>!WAkmPK#G}yX8e1NluR^wQR#IcU&v}+<1LI z*V@-u-)Hsf!xp^IWxcYWg=YzLw)6mRU_F}BX%1@fuvFMn(R!uzQacXW1}c)s$PgQc zY(p3%j_Hu?^C6D0&STDW%(fEbhUI(K^C5SVa@|sliDWh=4OvY)UR8!iN3@2&lCD~m z`#^5a2Gjg3#VUF@r6!J*#9vV$uMpyTg;QJGM{v#0w|D!wjGh22ev2;fX|dZoL6T`)9?CB z>4zQI3?5;Na=@TM2(kCg4Lh7E&4A|o6;1_w3#%b}%X=h>+(Iwzg$DHs&SvHr6LSwe zK^^H0iSP)}w2CD%yi{;D-9kc!V7Zg8&$7M657{SEd^_L4Ny2Xuq6-ZPqUH~i96k&L zoCa1v>fq)w5MVXf%!Tv6WGBGXB|8B}f6j2hh9GJPQM3s-9ZsI_FE@X$2}F%-B=OVP zL?990m!FI~eKglo$i(&y)IFZ5dNcGlMa z@XEo1lDq65&sv(;C_#l)Loy3*CC{?*`Op07-=F$sO!Ulrt4i-cb=6DN@sX)ItCfj( zScdfW;Qwr?q^hCp7;|68EA$X%-5UHy=X(NGd{xQQGttE0;B312!P!f^@>2E6pH(*> zoFy}=ze0=use6g{SF11mNOkkWvvaS@QmFIx%sHM~<%=JET4ynwur;&A0SG*Hc${l| zYqj~|AD*6Du6m))zy$jn*uuIY6{?8-ou8Te(9d-8?+AzXDGW3%xkDTvo=aW`;;p@` zz_nIsB{#r;B{?TyK*GgH-cjBO@jwy?N%CcStxMPygUKIfTV1lElMLD^N&qpUMF0V3 z9aM1yDoLurZtk$%CNH`SBMJhnJ1F13f>){nG%xl2Hd@5QJp6jDl4~X1vdwGQMj<$b zKC+qNZuW4sKNl&gZgTUQF>j{vTH4u6J>_|KZ#Ij#EY=SNl%{?lCPGIQNP61L(8!RT z9_mqXR#jCdbI;)M?s&bx05-4Wca}2}?KV5UVYAYUkG>Nm);if-Y~Gr`Tf^KeBi3jc z$a#QQQ$XaxsNl-@2R}Q*4b2ZpQfj~D2{N&g-m3YnKhOJOnI4bcj7+{T+uAT-uTytw z8uGhba$2WWwaioili|C#+u^(K;%=Mk<=mMIBB3k?bHui@3{L6YHg{&E zL(W}gT2wa8ow0KG&SF`oMch$hD&xN%Kb-W}N7}I0QM%#9TjpPn9I>eQU9540mG&^B zb%Zj5qAdcaTKw{QTqch4?cXxLq~l^(4yqLmO9IR5_V5v<_LkKinyG5`5RcAG?L*oH zIi|{UQ$+YGmWWdYbgSu|DxV>jt5i#FPmXV&<`&6Ar6;(xjb*BQa(sK7TgSC<6e73p zj88l=ZubbKHb_jB507sTbIY+^v@6y3G^v}4J9f2?>iRAM6m$+)Y{-Uk~=@RQOr7oP+mG;hXHFCBGAJaDVb13L4I@8@(o#atx_ky$3 zsgGCdSg{my)g^-e;!9?M;HEPQ_uMY2N_)8wF$R47Fu zQWa#V9V7}rOK=ULZk64vO2=-%KItpi(1n5*0n9A#76!Z9SK2MZKND; zbz&pshfB%S;N%mDjpz?er(|k0Q!D^S?dK8A=g())z;xBTGf3%e8z=qSujsc~PCbm= zM*=p>#bX5a%KyWdDM|T%A{QC3B@$~gxzQ!-AR%0;j?8u`w@)vP(HX97>9M(_my#QK zUG=m%YI)=(q+Hgq+WH_g*urXOxv;3+VxSthDToNo%7-+69GoROQ=y_*52!d@p(33i zO-i6*?@K_%-j|GuQxz&st%E?1Xed)PDw3Q+E5Kugl+l0Y{*~gO-0T2{5I9Ke=Wv9` z-EOR7FaTBppPdm^wk6Mqb5N!kQA*{QkzUM5FU`pGct(V7&|Dx~=kFs5hmwSD&0JcI z{C!rsFHr}yy<|Hm9G9%aI4@O4YKzcTK~(3^kU5%G<_`Y8R39D%A>Nw5$l+0h4N&cX z4FOW)Es}FUt95eT0_9BRWz4}o-99Jd=4xkO`R_i!EPpKz5aq$2x|P*V$#I6Sp=^&b zrt=2J;KH(`UQu`$D@VvQM*FGqP@@2miKAnyg8mBeVd8fO@ji&dtSaUmrgvCZi7R={ z5mcZpu%N}C--zKj4pZfE zpfpv&&(kcx@m&HhuS<@)zSlvJY3-$Y&}gRD0Ps@ z^27?C0I2Xq6I&ktUm_5vn$=bORsH_!1f3YGgfUy2CBs2XF#A{{m>l&xHEQAr{|b+K zw*T7ks3q%Oa?~2LErsX*sYAnbOQjbz;un8ZMUt*n>v^Hbp?{{LGu-mP`oloX8{9+b zsOr_oXAVkhDS3N<=0pfhcV$NDPU0xqLR%MJ*gueo@IK zZaIuhw^9ku#I5v6_Wh|;hr%)bL`e`bY6>cQ?^JoTy_SL=aY>Vc9(GBSf*x{7lY$;} zNt1%Ex}-@#g9EQaK|MFj-Qk$d_90IvdWPog5cn`&SIjGXQ53Wlm~$9~W+T-=8^&8P z_WT71^C1UapY3AD57KLb4s0#Rfg>0bt}ZrKua!qEA=DgO&~eF_sk72t0tc!2%L$jj zW$F^nwBlVj(P(2`cFJX})4JreOHPbSG&P67s=I`=A!y((@cm(gj$;DGL%ei#)nVzA ztEz!nUW-m|5nuYCDhk${s&DCsbM26Hq?8^K-lDWVs4ISrgSw&-AJ7#sbCqlPF!MK1 z3s$us;Ynxk1b~TdeMWUR5QeHNity9AE^!#SuDArA)D<=SxUMJ=$8=rfv^`yW9IK}* z{W>^J2od+zfVB%)hB)hFl!=RK&yqhZy-PvrJj71f$V|{CI(E`}Bkk(;Q4jp)<}Owa zmpc^p7@K5P@^{P1wvyjHxKUQM+edKLZ@0oGx4X=CV1_@5-dCQW4D*L9XbGO}*r|gz zJ{jC(3#0~7$aR5LzlR$I$cqzOm7od~Jl3dzxy-@N)tA+`J7X`Cw8Q(fPZBkBt9Q51 zGh|#Jr0RI(O}q=yh#7-w#i4H`i1&=?HNupX<3cbr$zh5xD)NNsFY4irOd!&RiWGEw z`)EMec0kgxU3UznM9Sny58gdm3P`?7m)r3@MYM5SmO6kj0!0%L`6c!uk1(fDrjgt+ z!lc4yBan@~$yf?(s(hDkF}UP+QexO)$xEa0251jAO$eAlTy1QY=5EI>+*68M;*&O} zMPvK|GQWXeZq_ehzV#O&yc7fzaDigEE90#Tpu7|m#sC-S1W1`~>n^R@so3bG+?ls3 z!$n8-AZ>AFwQS>JZMsu(SS`R0;;mIhfEr=oaJ*JA2kH*2w#;z1O zcw~7_uCHJ<3d+JgaSe4MC`)Q0OTb?#S-Uet?x84U5i2c^ZH4k9R_J)X0_8*fHwxXU z`Sg4duI#EEx*+9K6US%L6hcetZ^)u!MRnaCp!_v3253(9AYqI_mN4cO_n-+*d2Rxp zn{>NjEofEvvaki#3AAXfArYtuJfrVvQotS_qUNos3TR&tm;u<4%Yw75FbhXI5M#YUa1DDyYxPggT;hzgjnsISCG$oqGsjL@~k~az$E+?jyny{Fc(W zx|Ci*Da?OISJ$N|;~XdqneXl!U0IbzPu)-Pb;J(Dn#8fCm2IdhO8YLB>L+P+Gxd|S zK65V*p0Tc477UGFD!Akd95RKx1M0)-g#6Gx568854Yd?wotkF@<2+Yb*l zjx(@wJhjCg#XAQ-kyxD)qo2v)jo&EmNW1(&ui@Xv7?OFTuh+`+If+U5@sE5m5uzZg z+~yJ;$6dY{w;RPfd1RbgeGZ~+ajuT6GBV<`PIh3Q*(4)Ar`AwB&7sd-CIl6o6X`HB z+gnc~Iy_k%g{&8G(G%jv%`}e(@{Jmo>|JI1-jP%MnxS<$?A^WI#job0H}6xtOz<=4 zmbp%U@NsOL9AadRkxiqpq;xnpf|1t{e~&o~gm)B7DsIL$U;YwTBgQPsCa&`=8p8wf zg~O4sGyiF@NTTc5r9uTsEvI!A!AGIc4HkdYjy6;?e_o$^@dfJ|>IA&79r^{b0#oG) z8+El?rCt8IzQ2bMJw_W}lx<&k3>s$4-H9G}=zSXzl8)C+kw!U>& z>;L9?wR^+m?xW^w=)5n z6NKv=RSig<&xe?U31-yHy-!2xXmdO@?vDrPF0!wRp}PP_cbpc-Tyj^C-lArkMo(!H zMq)3`sw?>eg6|3D&a(ouk6#kdEkFf?4z_d#_ij8)J))4k>_3cJvI%g0BVo?U1W?)C zdQhL?9oYNrd*m`R{4SpI8;0MlF7Os-8UW0}e->iG`_BUk^%y0)4WGzg(lcE+t1Il| zjIJ;gFC|DB$}$i;r1P5uskVFb5!8xJ>WF~Y=KEYvw*^eNVH+nX*RySU!m@p-?XEC$ z97bC8VpU(E7l(DF7pO4)I<(neKdWm3j2PW{K@A)R|4s*2@y~?KIZpt8;l_illL|$U zNaZCfBlC8mD^J(PWWE}Cw;mATG@a!yl2wI4nkh<9CK8L%8$xlf6MF&DlmVXY+5IBz zgq5o;79_10TnL%EMc7}-9}pnLM<@~9Ris)HC{SVR!UGYZ6N9eAyb6<07uh>e&fsVa z@(x)kuTtpNboozzUnGu2xmO2i4TA8AoNHlg5%X6XM@4&KQ-l9W-8hZkQs-m0%b)X@ zp|SJ^mCY+$YA=n@u0Zx&8&u9dktXSsT9!kEHnE$k2jx|R!}vyW4-i7ddko#@r%?-d z2wy=Ly`aq%i^V$?atP?)Q(c%7p)#%FoeGQ!8F>?Tk<&K3cyujslLg;a+@x|3b`i~- zmfCc4v^e+<`hp1Pz!|ebZIXP<@i}}^2ZR}Xwr1IjCn-JHk65bR7>wamWQU6t4ucYi z(mFPaYA*4$3!JesVgZ~59&^zv&;Cd3T6YS0ewV!p>=oj<{F?GXIMv`^$=u~Pi1hxX z!1^_V5Ao^>lR50gR3I(1y;>kp=5dMBnBY#2iERyQMWn@Yc}~4R_~0)~OJLMg3&G)O z+3#w0A)sgYK;o;vmz(otzr_zVN7H~txUiJ61N16?E!L;M-)nsTokS+$1_ReayW#j# z2L1gep{BMsW`CD+J%Yy4hl4CKJwbch63fy8^sZ|so~R3Us0N~HU9ejPNZob8p8XUc znx_J0>H)CNN)W(2;7PZ(6Dm=YqVwYAFIF_K!H08=uSzl7mR5^7HdlKfC!YOR+>H-SO}Go$P`qYt~ZA=>+G|dfpIuTvI z0Ulds2E@AEs6ITOi})(eoT8w*&s9|Scq{ZyCOey)6d#<0HMD| z1h-rM2J3Qy;6AN|15Gfehb?(hgXA9bw@w7f)kqvXq6B)-D+tsy-3xFnVs+8dSkz7| z_B#^aBW+xii8_2QBz-VlUgKoHQc6IciC$A2nFt`pDLJg`XBJaqn-@o4`j^er{5*}m z1JWD0hIZz+amTvQ-W25SJ9v7`!t?E}gTW+rs<5&M)(7p8n?*7C!%)>lI!|jd@MPN9 z@tbTUGtJPLP$OoQipb|4$~dS+K&T&YW5a`VLm51;&yzk|Ea@quUd%4^R?De8fvz|v zz0c=jNk0ckliYAzF9kkgy!9NF*R0EuFiESiKsK`^UJy%~9kV3#C}fv0OA1CLEozfl zw}myNvPxK!sEi;W@%NR;YuZ*)3u`bzMQt-hH)XrIASB(ug|U(INrD>i4#mGK0ckU1 z0N0A^%CpZ`4CQlZQ$QgY%1fYWlc97kU?{9P)){LhF%;PS1q`L3n()DZl=4!4*%=D) zH0v>xCPNcL0mH;loS`Hb%J1e)j`G`ilck(vXf;bgbFTRV%LEial?YPT(K>=0H44m9 z@SoH*%u){51qNJ$r@Y_@xQp|YbxDzgA=pR2(~=t1YVv#1B~s)PK^9e%_IX0=SX@|= zrC9Kp#DZB)=aaO&qI`}{rF63ZMjmuYkKRA!k@M#H@nGzSKRbgKYwseyfF%TY3>O_t+Dh9Xs3rdGZ9t40T zpGb>Pl~wK)Z{ni2e?GV=db?4X6hxtKsV)jU6g|p+5uNsv+Jb?2^GWVS0BQxDy2mI( zF<&b}+4i7!q)3K-Y#>aVdNq_}D-t6`P}u;+!m3qei57y6x|B5KMb`YwXvuTMMj1s! zX+-mF08NsxCzZ~VUcz)}p*B-WD0b0&T{K@6_3NVg;93CPf$Zj3FelBKN5Q$N@<=1X z;)qKw?PnaD7FkBc*rdoRD=Jgsmf`~QAqwD>{K&7+r--k9syvNpP$t5LPq92n*`{Jn zSc6!Bjg@EBC4w|DMTSS29InKg)@4U2lO6N1M%gjS)>n z?oh$=JT}J@ai2dlg?*BHvY&L>h&Ib6W0xoW zK12&P%|dJ!A20fk%Y5n)kx1;cx<#cGL`i-B#I*Ohb*w@zl&$ZRjgs??NIqjQl&7>i zRGwmo7SK=~PjL2#(_f-VGj8gmDIUtxlFX1|w)v^o-H@C1 z1zi_z%6`AVPZTsbl<+3u#9oh|#e zXW2aGwbEaswzqeP8PY8YLF(3VqCPfI*#T@`^E@O8coop{v?(p9c)BJQ{V_VV!m?mL zZxhcL-Isu8Mj^gv&#l@A+wi@tgKgkhxDLmi5P&z;_;ydA+g)HAiya zL?I=2DCR`!WflghaaSZJAn=_7d^c0f+k>09f|k4WIK6N1FO)`*`*;t1r1>6!8f#x8 zlp4T=nTpvviMs_{UV+q#WnZVJ#F>OwaGz#lB8lP>B2MmwK1tAT;#JWn6Pd0)3ngbC z-?h4mx%aPC(+Z@yNYf^dRnv^aO=~wkv`wuZnvrSYEu{Q_0NeH~H*;|$rA`EZGxkTv=WJk(ml znkiYsm?>$p<;VTj$7tJ1q{n6kEN-K5iUC6!xSiy`n>0)CU-+!~?*a{Df=K=;1Ic_{ z-1l$m{gv!fY>>S(T2&0P2?~1JW3U88;vCf#lK+UVOy3b*f$?Eo5rECSdWoP2agEf2 zf6D|)?z%0w+z~`yxl1)W^uofpy{#&P%&AOb6u&rVxAGq!K?TV5IaN5!1Jc0+%nwo4 z38j&dT49Lh^m*LOyej!iO|0f%K>=E%3A4u;nbmd$JDo`rk{%#Im67NwwX`ZVtACYn zVHF32dI4iWv#$cU+zlDEQ^BhHs%Vl_aLDR@^~mJ3KsGa=lPnhzgcIHVCV#-MB9qy) z!{{UcKIsRVyL;c@^B{p;&Qm3bl8kMD9T-oQ|GZIx^_`NR7?&`V>>q1m?I6%#em(?pG>i5lr?qQ>$>jr258W8*}P z^fXc9%8453X`%*sUK*oKPZKrRTid9So+fHsHBloyP1N9Qk478mX`;rKi5lr?qQ*57 zHPX{WjcX@rq^F4**G<$&PZKrB;f@hA)@DZ;-Swmz?N~rPFJmmA1x8@xIKn6Aof09! zGa++g7*FdeTe74C$mHN?-oLV9vSRyC@k(B(NUxPFNQ@;4#DfdizWw|N2N&i01s01f zx6BVkRJfC@0o|~yp>9AW@T4Ung$_^#&mJw*%Cq>4f^*>8qfK?GIFbU7;N7E{x>QU{ zZKG6=mg>@@lu9K>tsd2pz8au-x#Sw|&CKCb5Kxq5i|;7UJw3zJO+itrr9`899F{Bq zM}A0GIJJS4I50M*U#FQh92nSIT&cM5VTiWaT*ZNdgG_SZ;34Q$s<$?R3qE3&Y6g8- z5nSxk9Xe1az~5k|qxmtjgsWhdXs}a;1tYv-Tmu~FJzh+Q#;p*6cWSf)G>XpPjX?P@ z?6#;vbPyhFJg~Mdv;&2z*_M)JHCEo*H-#qq&NpGp2&OD1r7E_jOzp~+xKtoX5_(x`u|QNkQkarhy+J$yg?@AR0+r+f1*d;K)g^>UH)h$jgg+8upfJ`LASKctYQ+IZ zHd~QJHuR=d6hWb>5b#;G!Sb#W4}=}gkfb!c`ru;PFgT$Ur1--LwSY1Ns0qd37-b?j z6ZSgFARp`5>k?TB5)+sl`T{_xvjR0~adBiQ@}(i=3_>%*bqc@w=65k`0)-7uymqBkAV(^TTQ=67B4Avm)` zh`$Xbx@2Wh!u(gOMXRr&b7^A(61SBQU0F-o9g%LOGHdIlnBy^BVUCY+EuV~LL)?a7 zfZvoj>eNrq@Z_BpetMRtipWfr&+#f3sbCEnRjQi%C*3uHMq6kW$%Y%;o*yHhqQ4CM~Ncgjn!uXeRhh@eqfb=sv( zSU7d$)^R3@(KU30vs|v1R)bTuWPj%tt$tDgDOSBNEZe51Tgujb+U&d%KNa!QHC!m% z%m*MLeL6Jw6B;62hqFoa6=FENnjhG&g2TLDo@a9$$GvS-o&Io$Rj%*I<-WR|=CAJ+ z+Si!s5>eznPK~-m=|%SFkO;N3N}#H)51`O+xgRSwmwPZ;bGaLBh09&g8ZPf1&O{`^ z_-`?k$ClsjgV(!@dYCDOJfOV~uF@k}!CZ%|U?jTWlR5eg5W@;9$RQBCpew*Qt1Em7 zpHyEPVsJk7l~97<7(?~6t{BkqRT;de$dcx4dwfm=rY$DrX(2*UA#tfo(hT8F?ZG>X z{`TyA3qz)y*|fr`Ci!rr>ydo;DqYF2cBN|lulexRx_%@dzDC!>`H%@*$sfvxTXj8@ z4_{0Brx3Xoiz@_END6-s=5>TIJdhVp$$AVo;GMI1K#~v$1D(hrpuRo(tsL~@`kRU* z;`$poiW}GG62wj`pBnE!3*=-E6IzUo$NdrsjgqnP7{qYN*mw+LxCDAJMhusnZInoU z?8|#u*I|iKa(Y~%Au1r_Jirr5B1o509-f{CA88d=5B^|E2b}fGj|26M95bDSZQ7w= z6YD97mVC+ubxcIRJnMowXrf=9b3su_J^f;%wBXh;VL*tpAOWCxsU@T`asjICSs>f? z?C&K|{!jw#hYV_5I|e<{X_^YAlj$>Zv{Tq%2UmxV@tbdv?4>P-(f`raQ|U0pq5*D-{56{TtV2BL)& zc*441Io6TpD&3~Q+-b5IDT}v!t?xGl)#$TwP+(^^1Vj^NpCxR}^DouI=5iO$C9sBX8vhu`7p2`M)2+PtQ z@p%XN3}44fXLxyAF-Xw&i}&nm-(Dp@X9L%b*iK$2!D>(*q$Rb_*K~Lk!x?CTkd-y~ zZK)Bj4}jn}px8u(HE=%SfOb@CY+jbVX$sStn^#z~M% zknw3*q;faEt!gt2#HXX9VPwX1PpY*E!|aHNthYW{?UU=%1dK&(r@$GS9WglJD|U3Qh#aH)9hTZ*}2}h zaYV(H#YlldFlHqIl=WQkmK(}X$)73O#{($tO{2jCVzzriMaa-8NhMTbrv$`OoIxQ(ZbQKhw7^+N0U$9@lo_*7v|+By{ksHASTAx2$I|6QvGWYeCdOY;8#a3Pv;urLU#C&qRA)*< za4@{p2fn$JZ);*!=*v#}#61GVBbp#~N586xP}i`;Yf{YtkIGdX zE9;lrO0g;us~{eeQb+T^PvAGA#%uTn8uQEWjo`Ls6Tvqc1;IBO1;ICJ%MiyQ3T@k(vD@`5s?jmmHS78Z|aYlNoUR#x_Smgvt3O?2m zS!b|Kc0dZQt41G?lKTfcGR#Ox#fAi+bYCSrl7wNMyXvrn3rfPO7|uQ94@ww%RYzK~ z68_M-?LpyvOBNnbST0OHN44z3GrO|CAw$_AlCM);b|gIDB3bfmBNy$S^eh8Ax>$RS z1-lAPHZhZW;{p@2JO>FgG`bdVv#}0SSaJ??sjc3kp%x7A(z;oW-&V{k5-nU0?A)WmjfVr+n~B_K|F9_(*J3B`k|HF16@QFI-T|-Yj_+)WSCy?E<3sL!zK#E~v%t zhyZA&yKz#`aMo-6IyLMOlp&6Fw6V(c0%1s@FbSbyQd{#vSm@|x=W7`J^U1`m9S#W@ zDNjMCybhB(r!Xh&vQu7*W$;8-*SkiW%7t&9 zR|V2uC^G@uNNRUc2Wu9FO6O*%y+xd91Dn2rQjSMr^Lp%vU?A-MiKEN8yIWg#9p)>~ zj@&ylib_NZ9UvBRA@eGh4@Wg38?EP#aGD5!s@k{i%I}Ula#=jU9b(>{Tv+wET9ioQ zcD{B9^Fqfe}p!s#Az10QGhEJEO3goVQyVUoc zxwbju(s?tNO*du8L>dy?#5KU(T##0k>jdF-MIF9D5$8(Fpon&!-(V}Jd$7Ciwh=?j zg*XJMvuz!L%2WiN@rKZ9*ozQ&AB4fF)I!}V;qea3DOkJ}#`DdVo#v@kzAo6XM7 zwjz6QPpAv9hl|b&FY^JnK6xf?1*lZ&Jq=NcWLdq2C8fH>I8@!TF)8EUVKT@LKBY~A zDPe`=iaKM(IAAO0rb?MnD{+#ld$jG;v|9jD+lVha;gTbbl9MhuIxZ0_e_jDT^3RA#6Im^vLirdqflfzKQ8( z6g)X`wx8tQ=xL?+>0zF%7wSpIL(GUoT!}vNS_MPBNB|~ADe>J$7^LMi0K+N`(6|ioU1eUGkrk_wVu@jMy$4+{ zWL-Sy1|(o|4iq`kk_Vmg|F`ARz!}B{kbXn>*YMaRrJ@oUSPfsf)0hqIHeSlP;>1QBy^9=(L2=1hY6cnB#p)- zC6RdjhBz!I7vo?p*3v?5^`Odn1kulJqZG+X6g-!+N35WFPF9TFR24zZ;i-dT3V(<6 z_msnf&lNhxT{k!QkQZB{(f>NiEkdl?YhhIt78fUFi?t-|{;w{f{gS)^fJtRa3$uNO)JNDH!1_T4vyByMJ=S`!;9SxSZ&=CuMmrAG95s9QoUg5c(APF@* z*Arw}f>(ExJ7R~wv%Bct7M^bT{4dEQ2$SS3&K~G_jC_#C0{rn~0Sko*_EL{jTkO%9 zBLXDsVAXToEeVU>k(oed3F?MS%p06?NF}asfb?_=oWO)9lmS8>)e#=#i^ZDdNynO% zi_-;QwBg;Uc7@yANd%&yf&MHjMT{c(6Yj~YrgC;^Xp25^`MLa({5@JrDcrjRo>L)p z88Zftu1bU`(!1Q1bM6ZM!88YS530V0qsuvP9R-iZDX25^tYd7?$~1+NV3o&0=eJd8B> z(~XiC{HaDs44z494*ojC>3mZQWi$8uq5Hg+OjoI-nmh!69UL@8H6^wrf^V}j6 zRUfkPGfE*F+9g7yl#vT(?#;lS5o~jumnHy&lZcvYw~$skEX}A|KK4&O%|r@C_;ELt zur_+W5LvvYWnAwJJ`qQlUJP3D`>%l(2P`PeHb9c@fQJY*WdI|U0f}@6Akv*PG?41P z6PW~j2NXop0|@C37^L<@IiqE$ak>+^hLDekk$REiu4nuwy~UzhY4 z@&6M@W7F#8qm7ZnXd|sWp@0D3nd}=A;%8$*+!_<&w!(x&hq8Tv1>i;)z;$B`02$nK zF+@3=-2NPLXgx?xlciN=SSS5x5QP|$!$?+T4Feg@bCt-WPzFaVyjwJ&7lmwddhWJ~mZdML1ed5wVpqYC#r zKWWTkZx@Tjk{vE|Ze;#bZ6qYRBGAAcN#Ic6R$P))y~5FV2}+4gG35P9v2Hc7Y(!lms^m$x^;$g%(|4?3Kh5B ziG%=2DHsoAd<(``w_v;xWfWP(kr~on2vBIK1go;|bg}O^MFM=gw(Jn3yEQC3&i~-U zFxOaigyxlPrz_h|cWm1sz9`vtddaqfe~$eGvh6JCwKrg^>B+W(COJcD4K5ul5Yj6# z{wyLgAZIv$xw7qW%uLvJls8A>plmyFNGI(T#0GP*ZHMb!qnWVnL`qZY$+k0>z52#<*I0kbS164V!Yv9=e%UWIwQQ; ztX6Dvd2GIFLb$pYC-`!jv{E#5B3yP)j${>J|8rf2#Q~RYt%VSTk@|RAD7AE@kJTG2t`QdE*ZZnqKWB(r!Up`CEwX!O~cn#vG1=S z!`G`VS)iQ$WgET_I4519r`Q-_(ORZ3O}GUdu1Lwlu8b?SNerDXOk%S9crDhtht<2$ zLS+;~9)NN-jAE6^C9$)7jmbr7h$wEw?qI{NxdW|12DTht6E-pIPL)k;^Ke7hn6AO> z)!Ab)7pjCQ;9KPn`+7?{*u><`LH&?1>~1b_(7OJ-^EgQ*Dscu&!xq`1n*Ye2! ziLCT$72btp!6n(m$V^I9X7xHJJ^yt0jjHHOv_t#Uh0qA^)_CU)G%tJ4CX zs%}ZLU;Yz5!B@+3*0~Q#(I(&&qb~Li7p>~{$Efun9pV;o1Pz`$?y-5)+B`Ev6r4JZ zA~yI~jtD?UkH#peIQV#Iu#Y+Su?$Xh89pVWl{e+vj(|}{a+}|Ml2AYKYki4XGskBXV*6XPWT=2Qr9$Ph3 zK53teBzs8jkt4r| zEh#9>jy2XK0whF|BnGynY>ppnaFd~|9p;s)k_{}?gN-cJgUu{^_Va?REWWdm#do&0 z`Ob?ZTDGw*Zf$CbTP-r_4QU1R5w*Ltz*r>WTnFxOE919BZzfZThJ>Z%@nMGdCfpBguiO9 zh5H!P4d{mP3K)d(%5V)cX51RAahu>8wyQn+!*s>f0OeXiGYnU1QoWYLV2+%swc)DA zN)*!AInk|^B?Rpxd&39kIf41YK~*J|)7KysgOebyk@*VBNHNr?{0yS_%6NQbFw$Q% z7+;weUm1+A494$+7rrtSUFSx6o32XYuGNKH+gLDXU{}WyWM}CYV}Hy0ud$>9;^_6i z8iuCIu(Y_CFD@?nT;Z8n$3UTGpOIf2=_IUUMCyI%wz%OO{!r{^vi8YBhRW%fqD0?o z^IyvQ^2)!ceafgvHvgrq;_Di~!WL!&SlrqG7PnwoWeWq*s#|cax)r*yvV#o3Tz#W+ zihUEFd8<;@ur%cGy!Sa2+1eF<;Sp;qJl_p}MvbLVf>>BnB|8Oq;8Jf9`(ey&zZV{B>$YES)GD8m+sWFX>=59FQ{?P{RzLz6< z%l7x#-zvL^NP&WPBD!8?5*&O8l3Mkng|}_NI$~QOEiMv3wNNZlCVQ0f$wtin1{T>{ zWyOzA;eu8xT6u7NEFY{IPu2QiF}ZXV&^F_PY{u+ z2su4N()A*d;xNz-YyOjkw5U#?l5|f$m?dlagRkXmdI6myGU33ITzH^YlsT_G3xWc{ zyFJ*BSkJcYxw3oTa9XA*=*sk4ET9)MNFf5Tb+jy;4i<_jLrqG@NY5c?st(A#e9NPp zT37B?((bgjt}1WP;v*1(FG?J~%3fH>D}KPP?eo_Cz&foquzLLx;hWnqV=P{8&n*n~ z;(Kl(j!7=^j(2JjQJcEq)33enmQbqI6t>dXcPo><_uUc(=6$!={+j!4BNUll$G%%g zNTWo1Z~0`SMEh?sQ8Y@l2Nwgyg}c$~eYhijM;r!QlV$uI3Zt^dA%qQY(G{ArA>qQQ z?*7qI^6-opBl=pgRG#M}Bc>l6&uwrF&3WSTFh-B^$Nw8wkw|C@+){}^gUGi;(7RI5 zozShDu)Mb(%B-|Ma$>@L-^!X#}eXzn==G*F3E$qRDOa_FO_H826(1eLOy<` zy({~u-bR*QDu0@YlSpB;baN2s-2fO6$koG8PY_Y&XB7ibNeqIV7txaPd@{?! z4zf1O*pri$`5gUQQfx}Wh4+{fwv|ZOT9UbezaU&%6HJav5>i5cm_L^!#C6GOmn7tN z3B;6|ha2sjbjhJci2{17KE@!J{DXv^1yYgJlY1P9l&*I1PS7vVMLRar@&pOD=Gz>e z21U?`A6yEyDlJL#+8}|k9tOCy0dq(F3?$(LjS7hD8)W53Cg>#_4425ql!)w7iM^1P zH;fC;xZtX~K%d_&8Z9)=P_Rxi7lQE9y5fj?QddX`QEq8Pu+fq=H@dbUVaS_{Yqd7m zYksYE{|~Q+dLLuO&Otxt94>P$N@KdA6X)x6dGqj_`Ian8q>m*G3f4E5_Tg{$ z!Ww-8`|v9PdweangV~O{g)?`CeHcAV1^L{mB4Z2w3 zfU*R`g{O;!w~ZE}wxk6M0GlY@^tREa>htX_`1uyMunBZw3-&3>)f+MTy!eJ#>vNiB z9{Yp8Lx1O(RQAD}cee4k0oTGi?|r*@^tZhI-tSPC?hG(AQ0axX;>`Yk_TB}`uIs$- zJNKSDGxyF5cZM?n2!O=7mmoEu@S;rdZ5szB_y{Qrw&|9!=vAy$W-S)Oq@>ElrDn!SU!kDb9Scbv0pI41a3} zz6o!>@pmZa7?y{Lp_{-bWR4+cc~C~dXQ0seL3LFZ-PmyHXGM2e;>JJOgOFpY!+_8` z+5Dn7?u1VPpfp}AjDS{~%*FXuJDCvz_ z+aV$v7sz07r;Or8Kdpja!XW-?1q=7UM8(?!pH_*+Ahnan(-<{JBPb54#zgsco~|*T zC|~$-S%0|yXhK$t)2eXkCzZA8qnB4I`_hY1w%8;R9nF8nEN#<1=ok_8Fz+(OBu|=E z8UqDpadC2wHNdRI!Zqdc!`9Cu{0!uE;1QR;t7hTJY#=4Pwi{f?!sRbWBdH1ZOE|=g z2>pt@TGlUGwW&Iq`VXWPpbSOrO29dH>`K7Vwruw|wZu}bSQ)NV>xopW2&gH8{+cet zzAm|1#@g6r2VxU=6~_fULv|wBv~P+3P%xODs$sCSnms_CCeNREHtTY3RA+hCAnell z2n)fw7{byaw~~k@&o%OTNr0m@^4=D3Ki%lvU)&~CIfE}j_hSMUNUp!2{8q>z%L|9% zJG=j*$PVRJ^Zo;6Q%capJ}4Mo8900)(32K-lv(j^qR9~OWI{m)2)8g%yobo)es@3_ z#(OgTx{`in>i}k@tphddE@Q+~SQ(mIYW8*L08$LEf0UH5_Z}o=iOZDvSCqw1f0Y!; zxVM{hh4cr&cAfwfzt_gx3E7v)!Dd`j`V-E<7+&R=W+RVaw50>f&EC6|a*F#drJU+s zr<7CPcPr(@|LsbN%rUK$2p(+l04r_d^G@KEHVQ?v*w7!77~R}kJ_p1($n;|F4hM6 zG>#ES4O8a&$;d!imh%XXWnl@PErG7+;+QObPHKNrSUGBH%j2WX>QF-HWB)lyCBc!p&gP zfC+8szLgh3M8qBlp`>+_jgvYuEFJ(c&$a31TqwmEEnE`SPHdWjXvuZ9s-^=^o@1yPWL~N zXy=wBYyeVS9;XNUc9xlR)5kugjL?7~E+#!=$bGUw1=%2w&bvf!bk>4%7myOpj_Vf=-Mpd{!VGP%W`{xW4DbRN-JcLwpj#*1txI+lU;rOH=?xH+X$6$Q zH04X!(h}k0qEFN!!A`wRdo?>Ou=q-M>|T`h2?;HE==HwmKE7}1qd)xo;iJndOV53* z_W@|f2M#0wbtzv2VdVd5SofOemF|DwfXN>rghY_I80l|*s?47)4-g(rK4Y{6Y7nzV zPbP{V*w^@>;sZ2O$Tq5R7ox&>bc|LShd#Y;&qqGB=+b%U-l92_+!IvMA6Y!hlOp*4 z>7f}XH8ep1-n}gg6b#bO4HUjL({%0}R<0wadAbyX?LD4ZUi^V@ni@KIJDeWtDBQx* z?W8Z<((5r$*IeYqk^VjD@g-DS{kA;Pdx(1YP`7Sbn0Qew-Q!DODv1XBO81c02cMkI zLq;yo_{jL~w9vtoiDI{xzG6sR6b$Yn z@Vi$h8d$5T;$?C1ur2GD7I&gy#@;{mZhCy2$Fv>U2MwPg=sk{u#T5Dy#7_heC2Ryf zrL)ncNRiOLtQj7iT&ezFM&Y% zq3JX82(cB#vhgeN8TzK9C?AsH0quE*_(|F`LFba8MZ~WsVO>FL=pr0d01!O<8)Fsy zVDw!!6!>DiJOPWi{OAS90jofcbOY9%u zmmhS_j(vGLR&2gl874U3RT1_+v`KYv93JKnp}_Y$-zPYT;CKwh@jrNXIc{)KZ6^`#vbRDEGVF}0|s!30%X zHx0f}MnfhDPqfIEBIohJpKVz=7iXE^M=}zC|2Sh&yeU8DF3IhhTQg4pCd z1*ld(Cc)l3Q*;CWw((Dv_iyLlH289MVzJ*IkdqosDjw(M4whKgw2m-^CW~q4EdcwU zKQwi_2K5Yt9QMck;u^Ls8|5GAcdep+E{-_9f9j56T-Fa3I?C)Ka^u|J=r5!TgOU%6 zepeOSzynOyHk(ZLI{;5t59*g2xWl8kL4zNc^EU7bbQ>>lWf0zT@CM#b;-Db-z5?abA76C%3gU;!LZ9F-+nY%a^ z{K?g5t4OOHv_p0E=Q$sVdMOXd)ZNwTP{ynPZ-|{Ygvvf%02OFg_xVOO4gkj>R0GY* zAFbl!NUsa+imeoNjnq zs4cFhYCCF3z->z%;O{YvBA*{xIs-caXC0)B8>ejC`>7FbT0*-$(8%=+Jvf z1s4DI-SOM|$vZN3sJDZZt-oGLdWImj+W`ol9^m!&CJyz!hx9eleWb5)!-A{$UaCMq z|Guc{5q`oh)B7$`q73zVq|4|&HtP}1t%kX9}@!UnaFkDl6YT5J>Quv+9x(=Ly5n?zo0D{f%=gJJnp zHQXKzAUBBvlzrA|8$JzEgAE|a)I(T2+T8QX>P@VSZiT$!v-Wx~)|IUS8VC(8S&-}t4h`-=+tK(*zW zp|{!cRlWUu_1oZ0;>0$b8q(TfDH(!ZOWHbb_r^+sl@1`Hr=lk{uHPy1MZ}vP}(NY~NI`0Q~GPo$ly@CE9K%Zr(!^3Hmx$5N@ZSy|Y#RZq=7<^fj=e`IGY!2v| zm@$#FhUu(eO29H;%0z4y4Pz>)0I*czh6Kj-A^8><>wD+js@`=095$4;A-6EAN~(LbB;mo0eb(uxRcjAmWA455a^)Qc&|D z>krT;(=8Z;2o{A9?am|J@aLyD%eUw*#)ftR5mA?Dd<;4?AZP8J*+xmQBF}Pbr)ILQ z?KdA3MJyF>xXYejN5A5yjGXu6A;_qyH++x`NEw8dpI>SAX5m7Ro%`74(&ld26kUby zvuK8bCAT9=a=xmWhw1Zob>dL>PY|7UX0J~4*Nccqu=;Nh2sRgw3_@%J7w&1=QtV@q z*30c2SvQeoDN^*aU3{Zz%3-fGAm6XJyZZdhxX=RecClD5jLFMu7W?akT`z!L zdhae4yW*F1i+w8HP8GThn86+@HYY^eMQ7E6AN5amd*6~!&La0sfo|%D`2z|nn-8*( zF$Fm?IP=0JNeb8gt?Xl6ZFHLB#$5F+LtxUrZ;GjwZ5XxeEkOa2EohW0o{@94*O=jR zmUu-XUlw-Tf&OR4>8vKO`(q6W*hV0QA~qR2-U(AihB8mMs9%&#w^cAZB|@mCDT`Gl zX{y2GrTN4FaHwbu<~J)E{-sTM3Ed37eDV*Znb5pv1=8wvO*@b65;&b!jRYcJ8p9X6Jgr5(P#*b( zw8+aBc`A$Yu)1bxpi_3s&*^8&M_Pfe4c_?e&FZauOP_9v41HS4;k+T>dS1RugGy>b z@m&UtXXOM-5lR2TIXlkE9iFpTZor&5^NgXYbV5~GtDxkyBA}>(2t?b%(a{S`aRou| z?E}XdJ|=53Sqs%n(k@wB$g16E=puU`H<49)(6FS*+C^540uT(cZXs*1%8TtD?5dG=B4I<$YE#;j%3Q{lwx{5T0;8&IX;W07#V4i2A?`#L zu%*e$6jnITEu9;-rG1A?;%jVa8lx-(qzlwQCp7mcp*0Z5jk6F|=?t(6TsKR}tIoFH z%>2c**eu7J0Zg$uQJb5!!Yk5qvli-2^)IZ?UG)nK?Uw3Ai)0n!ttc=C1B4azQofk{ zUA8zBH-hr!JoG}ojs5Z=u}OJsn`^D1-|<(%6?w#CP}L%xW4iGQ5z36%CJFOs2LPKF z1@R91yy$>~bCDX8O-#^Sz{}A@Mx%lqkET{?VcJI*gD_Y4FisH~h@Wp`u^Ef#y?iRl(O?+6DOGsvA7>n(bz zxU5-eh1@o84e`~=0(w>~mia)^3ckuk1!3LNzVLJ_pKFaEy2@z0Ea}daogtk?mYczC zzvNa88J3WU;l-upNDITOO{@yE61D^p?j6HKeMf>HUaElZqgW2hLdChY8r;roG6?0^`y}J4L;OLVW}Jiok0mk1^zs$& zsEo2Df_8xYMoboZpnEcc@-s>`WKW2s`K1coy)EU>Q6_;a<^i=KdyRHgR6=dhv7H$U z_33COTK%e;)2<$E0?s0j-ikPDEI40gxDpfq6+b%wvpMiUG!i%kfF76VuHo?qlCk)Z z2MN|;hF6xF>VuRTPpHX8tw_kyG6&DFkot~76#m@K55OH9^SOxBi|EUayU zQ8ihzS-W3$$p9x7ft<`u7fc&^!X>8-v>Z&EBKB9)mNRX$nzmU)+?Y1CA^TaHHn;Wl zPaDIy(vnl6hrM%8SxADcN%Y!wf|M^}h;i4&iws(!FD6*l zdk^(PEZ@SNTUwl%ygzJx&g6hNNyf`>N@ADTO^IzJul%Mm?kHSh2N@?_VxiFI1>@N0 zC!Jp?$U!!LodVs@Nj8V?!a$lACw2TPj%Ot$5v#Y`QbYv`@x@>tFPkt)f`SyB51Hel zVn9aJOdVd9)T|m3v8*7I@+-)g_%#igWeY2Gq^GEhdlvg!MEDY?hc3d<+lOj#prVN4 z9Q{4w2+c;u^s%^27uSm}&hDSOk99pOJ|NMtUTTnA(M4IUiY+3-lf{;@ad)FlauK?? zK9(A*zFuhXR@ru^w7jN@^&%)`Szfd|SYAnAHBG`7Y-oA4f+|jlC1c2h zD$=0Zf=(x@xOvd(rC0Ns<~HAzL27Nd6;-5OQN_(_Ru$6&Q$^Y6&xhsyE5lOzm;kW? z=~cth_W5rnEIBhQ4)e`{CB45aEM>hv4=?YnVJXwk;4mg<>$oLPvbM5CICB_Z~RB}MsOYSGdW zKSUth+$Y0bH+w><=ET|7r)nTcL)CCiG%aP&2HFhf*5n0K9-Xf2@_0=Yx5QT5tdCBW zlHInzI(j#e5UX+z3EOVBBJD!Q67d~_KJ+(pShdXAjp7^8e(we~8-f89tQoY2Y}m;# z+TXlbZk6vshi?kHtjr#_C**n$s7Bwpz8j%TklvikNVdO;v)At^mYeBe{f=I|S*8r1 zq!Yuri5lvYOEMqS=bCQig{|2*IlvYk4f#cCM!2ixWltM+CSE%j)(#2C^(1;k>tjSA z1hQktc$B5_82+14+UakaNjz5zM&&uc90*P}5$z@T7PB7&^cZuIkc(SvE}Siw{yi{m zKP&w~-Y1lsDt|~jkW8gEAKd~M*z>)N%5Vzd_7-diNG>KZMS0@4;rQMlv|^;UUlRYP zigLOBO)OCx?ZKdRQz4A{j4kp!tm*_G>AAL;w&WnYjqRcfAt(sNehS3{^FsM2|70aA zf4os1l@4ZG8(*MkT6#e7L{O5N84(qVhiq2HRKl?Fqeg7OFS`2)c6N{=6XFgVCt|jS zO%svx{pv~Bm6J&VQ=knJICm2a!YT|6?~(eKA(;Sp%=h+Jkkv-fqH!LCh@56OQC?GN z^BptRPiUXXrg+9Ht9qYpNk2MH2;z_wJMUF^7Azh&<$b)3dQm68U-lSL9gvTD(`i9x zT&s+9ppXn~DQXB*3_G$t5X1d2wnzCHS4)-JCfRZq$Uud%QLC1|Tqcv9#(6Z=m$zl) z0U*j@!Rc2=mTbGxQN$&t$Cj2KU`?`#4XROn#DASH<*>o;veQZFY4Vc+Cd>uf<)$Cr zB)sS|3;;YO-$LSIfj%k^z{6_3K)=g^{2N$K=RGKDq{rMX10ab~o6lWwH_0?qXV;qYc6l z9>;Xo9DbRay-fGewe|b;Uu+{#rQcGOvY`(v zT%lZ1*@@2LrawOo@u+x0Xo#L5PY4rcvi-t{{MPByd7MDIw(Q?{*ERutuvJ?vE+$Kh zi^-}Mm$^-%$U#rs+CuquMNh&fO(f-fdZPV+>f|{cx{#j0`(>Vz>;tydOPrNHw8Sk8 zvWhYyipUe1y^jf)XECueTWytWo9cAP5{6Cw)?3RywnPr`1QKcG2ne&s-=Q3iG(o62 z6f($5KF9fLPX5ayNx!eo8Xm{xSgOAKpUZbR#*$p1q2Z1u719?7rq1Ql?QFa;-pt3x z710Uk?8jdY$KBH=2X&rZu_F(95#=~ATa{zTkvBTX^GQg0T_n%y>hzp^tF;TT+PcEw zIngLuILeuQW{#)Ba`t8`mcvab!)(_`xaKD{ZLp`4h&X6g2b=in$Vm0I%aB8?>{R31 z&8o($3}KM=mo(EgDqVQ~kv7hWxskpdLAWK@-BY#yX8P?^{Pqnva>a>mDi@!VbFP`u zm5w={y5h;wki=G+7>Exbl4RI!S* zkC*>m-u8!Z*(Z6r9D7hJn0lJH@G3&j+B!J4k!GT*)j44bPVG1+Jhg{&!sU55Cp@Ev zb9`IMnwsstUFCQLsIbZ5Bfg@MYC-B)i&hd>&6Gm8i|+PK~1kM-py?O<=^Pa+nZw28e{o(Q3MY|=jVR{qrQ zY-Mjn*RS8v+P6w;ugasX-V!wkG4A^EPAU4(=j$ZKLu5E5 z>LO5z>&T2C61V4F-Z<#nCIMJ2e)(PN57%=$ITx}6vulbzhuhIOh)u1NwtW%7P?@I* zHLDD$V3na0xqXqrDuZ~b{We*(E7r6E^OFH7tjZ_^aettRPZxdv^i(ljo}%ouj+-Ys zIbCv;njC0kox@RSl^n`hp;3;?>p(|c3R!`iL0GA2AD^Bc#FZl8phG|%Z&X^zrBmzy z6QztwK%CB~>V@Wq`&?_!>+=yLaRXq(jMgEfQo+3#TrS}t0VBnv4R;$th>+-^@QQ_t z#}RwVT{?miXMOCbgD(P~5dz{6qngj_2ue7l%@^d8 zTdr7d?1X2_v|}U#uU8rf8JqLy1Xx?%T>HhS{e?s2+23EuWWmW0X2H+$4DT|H`+eh~a&`EhuOz->eIg`39bK{7PwcgfzhucIP?T$cv*Yk)HH0D_6rUS`H^jFf zt19Izo+>>*%9CMte&&XYl~mX(eXihOtReobi3e4qc|b`TMt}y>jh~Mrwg%DQQ^mkx zEgUB*r|yB_@#R)U#(`Z#4GFYw4xznGCN9)?W~!A@v3 zt=M|}Jqy7-A9n4vu%pzmrgQ|DQ*5V9J0$(2m{XN;*d=0X4WWO!m~<@GC8orodGMDU z6h1-Wso}46%yBAh%=zmnf4!`)m-r2SnZoF3_j_95f231?uv|Wa-Sig4Pz^${qAws5 zYz^wN25*pF4{AU)CML?QH7R5E$_4H?f^9MukkgB(b-`^U%Oz-<7q)I{G zu0X2(LK?-qHw2=83xzFrT@{G10m8bubk(AvAD?ni9AgVGWvwCq5qQr)c3@qO|8tr$ z_`CG_NiQMoX(AyQ{;l$~1R*K0K42yf&LpsadE1-B$-%H5Q-h<4w)5dCzsuC5;{f`g z{1=0%%8_`=Umt#Fs(y9&{quttv365|KWMN=CQjc{kOuKC>-~C+NU5!TFEObrL{#Ob zrP$?ZMXXhI-2PtpF{q=q#7*za&OvGz-2E_E)(9f@bondBR;&l70i zZ^PD1sicjI#jz9(TnxnD6yV;t2DsN9DvuA~W8nVO@H@c$JHzh)_s56d|BJ!P#ej=3 zV-0Y_bl%$c_W>>;1uhF*byUDj=rjPab~BB9h(-yp6c||0zUV|D4 zVKqOBk4k*g9e|s-XPN^fi)QyJPPeBaIc~+GK z`&eyS9wI$0&Py}<|17W{N%*9~wj$8n1;W5L^ZF<03nxbqZCWBwUbd?H*G1I+c}C@` z`eV4-F~W$rfQ$v|;4%#$|I}!-ok|@mmi+Q7>?TMO`xOo6_gHl_m>@u>c!Y44U#iGr zlUB*olK#zxt`n`Ec>r39uxAEA+&=w;h0qVgHtGJBf5N)LLug2Vbx)Wt*jZuCp>T=h zN_y0cn)a@Fph`iDdq%*ga>fKoA(ss+W@d?K2G2_njLy~Cs0A9i~Nx<61_!J%K5y?`xO zNqlB~#q~S0th`e+s$UXPB@0%Eg3Q{uqtct33RQgl!0zd5rmmM*6n4xeKk+*K(i2^#i-7uRXthVE1em*SjRKT1o=2KLSY;*OH6b0iNJBPZmw>$UMf|u}{c1 z_)(X6T{k8@;YT!oMI_I;c(q@8OQj#K6U`PG9Pv&}lQD)4Cd-L$r093QT?8y5+pm6- z6}?p}dK6o-w)YgG-dD=Cd9-;XV&3Zu3?1FO?X7^)FS3Ct(}COjTZ^Lmvu$3UhjtU! z-ZLgE79XJpzl#)sI>CpC_2ey(hY^I?igGXe%j8qzFA0D_ndDUCoX^a8s6F3ubr?0$vmX$IAFDli=v;^kIZF#hOO_eTW z|FMp~@XJE;;BDEj>IZg^IplL*0Q*%Oo9D^ICg0Nr|5?1|^GeW4{88Fy9J$Kgi*N)a*_Uyesx1ESSG_XmLDgoKd5Hr(AYMZTIg`9G4-VV9SrGm(n4s-Y?Tu z$6N@l4o|kj&Hi<={P0L%&VJdjTOn_pQlDVqO=t^f>qAqUcp7;I9!zu~JtK4!4~nAV z@Coz9vwNf%na~Ls$aaoe-jY48$9E-a8IP~|k@(o`xKl>H%3M&~ zQRw(1>3u1^e^@{7*C9m;9Zo-fh&p08Af}?9(##4W#KMvH_54r|=WfBTw+>~!V}-{P zk`TKi2P&1QBbj!rwgKWnPSM%UJow6bs$XrOQIo#eAa*I~sRqU)($^I#g_MYk8_cmt+X)ErsPH;W!;Wg>og+={f8bc>Kt!R#RQ+xF*Eu##fy@ z^9dm0E%8;z?TT``!KEg7nv9ypuD&KNV-l-QY4?( zF<;>T2j(*UXuHJrMsSpPK=8rtPcWO&C0Q7dDaX1WC_3B&OfYm55={UY#4n161RBLr z%#OrAvb=Ss1DW*Qmvr|3BW@3%VdTmj@k^+bbB#c!T%~-JbJQar=_xo!eoZjv z`4cSKlYT~KN4Gz$XJ2BPpaWD49iSxWyb4al)sVuF72Yam%JDkt`xJ(d=){cVc6X;+ zY^b|{*P3XbU~>}Zqff*$UAm2~kq^H)t`tpS*}rY4FU(eYKFsq;{Fj(!x&V?&q@U;B zkz8@L$odn=ym88_)p*6R9PVeK0=pBDmMfSDAa1Tx2<5|u6+Na>X-htULM&vH$L$c| z)FG&#I%;i$8r&1vTT(B+6;?M3P^%m9WJGLXD~XSK#a!(6AuAbpr3QE74e@&vO?SwSqmxA z9BN8DLhjjk$%fQ|Ks+z)2%E9R?fLRf_>^d*f4PNgcI%hzwaYf&^b*N+G2FaOjs1d~ zw}ZLr#pIAJv?h{7cFwwN1Y}aCt0zxJ`PK6|tO1uYlHKdwMzcw$`KZdfd>hU!X7T5H~p<;M-S%h#y=GfAoeU5F37#$D0|I=m4HUQR3>hX`NyTZ&A6){yNQ(ZgA_Zb2mNp!~t2< z#ousC&BS7VT3;F%RH#<9L%4-`1-uigUF1k#_157OSZpych^44=U!WfwltEGG-h^gk zFxZS|f<$O`e8@}K;Wy6}`?QWnK z_Bz#}axA@K`jA3QFm@GI)X1vvOu0pMvVL4dXL?j6h1CYAc3y2gL}V(YfC`ER)I5P5 z+I1S>w6Tom{F(k1qin1HZcmmNohFbUw4b1{crCV7Av@!NeRNo+TXuoOMifXxn_(#s#}Xw(??UQo)0~Z2%f>o$5vB+%{|CyFUo7 z5tsE)ZzpY!dk>vv<%SR~KG@%_@Q$nkuvb$=!vw7Xai~e*Os6<5px3Elr?C`T%0em6 z3NwAeWrjX25iTsKh(h1^%~-pkhec4e=EdZqw-nbI0sB zZ=Z$0iN%LFOapQrP&-x+WRTFZCA@>EhQa|d_X-1HsA%1e>sA!tDeoM$?q4uHw~*4} zPBriwEHXiWWHBbl5V2sOV?m23)kXx{AaVuG@C-ma_*E1ohb&D(d^e~zLZSz!gBGb{ z!GvU?$b{&uFfC3<{2?fqWR*S^6h6hS&l=@ascF%856y>*-uNmpJElZqnJlJk%b7)O z$0STl9S}wng9N>e!>Hw*NrILHm6t#LuZKirMChLzen*7<#o>2E=wBIrM}+=o!|#aD zUmAW#g#PmI`yGeM-{*a2#D?sYcb+Fg^ZxaU&=Qx=7ojCCpD#j7T>ku!xGWJ`;_~?- zG)B40iqO*%p%p;;0udU=iGc`h(?cfV8WDORPa{GPDT^oz&h`NWD_r5r=acoXO@LfpyK9ZI3fhwxE-Ru`dWj_}=SSgcench3S1jbPU*S$b&7=yFPrP zWh~;Obvyy8I~cus3pP^YDTIL*dHM%m+`#L_Og#|D~J6>kzB)8Sm5^9U86o za{zG0qxR5%!UKH^f3`g=14wZs!=HsLQ&-wE>E%g(mNPj9Vf3gHXL8vMsqfYF;c>L8wXuX%{H$gdo678`i%p;I{!subFR;_Ad%$la?mB9X-JTa1 zA5SY|^!}*u08{DPd?739X-(@FmSsgCix>!wby^6i&hAbLlT<)KNwVXL zRYM;Nj`<=)j`Jh2E(yAMtvQ)mM`?cs{6w(DRev*Tp`2^wz`TwvNu+=IsNI+w^!F!iK+l(6*q9wqrQBb>vEaJ4sw)jdj*UuAKCO$v#`Of6$;G>Kc% z>__29zDEfGdJ}zK7y7^m%yJt-vhP2{yE)AU+pcN4dg~GWTj`EqaYZhu3rnr9hh|}l zHTJKoGubOZeUg0A-&$p2sM9wG1AZQx@8yzshF2Lt)!i@}F+Ju!O2`5x(t|RqS`YHJ znO~5)Dgkj!*jovR)Px$$%vD?*5``0ZG|ZPHD(s&7g=*Ymzkm+zDKD*xb2lFcp6pl9 zWgPglRcG|-LPT1O*EooA(g>hS`sjM^I%^?4?b~oi^mO+#=oT^;Pj_F*ZG2#+_Ik1x zSigylY0B8@-`>3U_Po$s-l`IWcuAs-ymLk{#u^)Y&v95qf7ie@`otM%sReza0LqpE#En6onl0I5WVYmw*H6{0d=Ed?cvNuN zF}?_V+Ts#)mDiMELYkXtXXR9nEox3Ex#t)OU5B_Wi-fs-SU3uM_Rl9{3T-9R(i$COy0u_R&8P6D@q(l%+kg+9zc@rI>Evc{`Ueq!s30z1mj* z39O@-5txsA-%U}-S5gVg{|SBlh{ zMKi$ZIUs^1kb^yf1b-nUAhgHyfY#hX^MGb^qbM;inlWuj)=+?2L}-Hq1q|#0f)G!d zfNqiv5{7L2XPImk)XfhZ>tkv1tfeyr>BRD%ZexQ?}ef$fymv*pYG?w8%8 zyD}Yhf&ESr*L5gY${PC;*Rf^8Mue`;OZx!p=^w5=9Hy3ndL6cL8G*FNIE?~`MU}>N z5yND$K?KMxB4Q4=h*6g=Q%)wBoJWM%23?hbp2NoH^#ikA>>5nN8&tnPEsy>2FDIjs zS}YG&uK-vXvd3W6lErG=CKWLjmprbLHhqm7p)fCt9`L8t{YRK$S?sbfYV=TN8|uKH zF;-ET!OQr2fA^od+ydpW`EAdMDq3Gz>Ki)8K^ZEAmPm6O$E$=tZ`8bdoR69h-`;d2 z?DXsDwZB5%cIeAOU*4+9u0C5~Z^OLO<` z5eVBg+m$2%zS@sX--uE*=WcI49^wS_?;^kEP$yw>dFCq+@tb%NZGwtZ?Lo-P)csRX zoI`uTAYt|Y!xw3jJLhXa7Ug(1F5gltJ2j=n%If|X~G*ocT?y84u$ z09il`>iwYFc(T_hGVSbZI6&e_5(1t-uGMU&D4F)D@-x3dr#OA)k-VmtBaq(i8)?&$ zokFevp>J0wM4nl`3Lz2}dcFj?(7g9j(xa$L(Y13XzA|GH%(o-eGDzgv1!Q~Vdkd|o zW$gW~>KUnBvTcE-SVF9fv~MZB{;uqQCoQc5u}FUqhoTT}e*p*5o!L@L)-IJmd*d&< z-9Q_24!T{PgZ4%lbh|nSb%`8wyE+H$O|=c>puLfUZdaE%;~aFmDn}z+VmDG_5qCO+ z3@>4JRkA#yxwX1gqWTZCI(#^5t!^HzPD4H=EdUU_p_KR6onkUuc(Si}C~p$vNY>NQ z@+~|-r9LYv&M5SMM$Ynz)=L#l96KPC*x?k@&3chsbKO^UOlaheor~Ccr9D8kiqMe6 z9HlERN&9HxPGWuRN8@cv{C1W~&?6Lfdl<Xd3 zgH8y<99~U0cP8Q7s&Ecy5r1Y(yOy@!$;=gF1s8v`J;22!yj^4d*5KUu8l2NY2&@wm z{uaZ!bBtA3$6@>d)?o^{1lDbkoFFl`KO%NG0(U~GgmR+n=867;1Ogwm&f@(& zD(~+*NM0X1)cv0tqH@)DXX<;h{M{;GKmR*|&;hxQ=_C{Q0`e8z#U@}sEZ7Z;9lR83 z;juE9EEX6FwCoHb2JVLXs#8Xu&eSP&_uQzO#TEcnZYmX3matuQnWq|mkD-ZlL+}Z- z=o|I&BhU+*Ua%8XdD?S5BU%OJHZ7wECm6Wt7thNClRT&2=UE+eU)O0I zQA#BJ!%8=CmPNzDOv7L73|gsLjWW{k7h6M}gNcS5>rAYPgdlV6cz?D7J?l)@PA--2`KC%6WQ=@P@KbV~(?ZP0#k>`)cu=y1sx$Oxp|16>o{4Z@UZSS9A!X@F57< zCULLe5QOYxQVy>LlMu+_5Ck7!4b;8>Qx=CIQ207=7$Oc;coiC@VX`VGluojIptL+U zFo(&A6evA}zOon^rCD_~!VqTme3S-_Ym{bz1xk-6lt#fZO0&&qltyqJLg{1SiavzW z$a6IU2TJ3VR_6ptpBTysl*S>g?jb0xo8^ttm`w}AhjFh(Y3?GwbC^(b?m(>|VF67q zljWhD5D!>5sf@{J{l?M^wm*~;qCr}qt~Er1w1|~s`U&N#M1!XSHJ?xql3;+mc?lA& z(=LB52tC-Za);Tkx{z*zpeI_fT3(K0Q7jQ}ADI=t<;RMypI{9!dR${2Dg{wxofNLb zD16?>_`m@QG7)F0nJw9A->ZVv3bkpHik94FNTNr4j^DFb?_Whb4calKHzV7QOcA6s z+BxFV!7t8l=j}uZ&eoJ*X*5RrPMz~&$~iV#jq`IU=hZsrWXkzMo%3eOIpv%f!Rb*^ z8I9nKt?7EMM^Mb@bt>ABF-K-tv1ToAgmE@ZNbcYu>BN0>u@yGfYkj^2l}+Q@mDsoTMlJj^2*A0H>}hQfKaws(Nks z7*{=rDz)A&S7oe6ETl|ZQEf*yYPJp4t#h*~SB`u4?l11eFQ;rji1$mi*E5_JbKul; zr_sz?Bco&O4tAuu&=`T)9EKr&Hi+ktfp~WAwxL`AUS(SC7U9f)2wMVsH~?gS2dzBLhU-YS?7YDm#e&SLFHg>T}@V1Bg(eY zmT`cad0+oA#DLq$d6kXr!~Yd8r}<-5zAV@nm&-)CF@^W+{v$aR;Q<_*2phGxk}nFs z<3C-#x>1%A{^AFpc-Te1QggOT~f--QODyP`E9m9WqxKaK;m;=gLem#tt>d4>Y zR`TJTe<-5u+=|S{?T!y4TE3h+2p%9?&rU1Sp2k$1oVe9(uOWd?aS- zfQiAz+JS{%!hvOD5F@E$#@4{W7}Dc1zuNw_KmxqCMK233DZ;d}kpxac(C&Tg zsx7VX%rJCB)v&(m9=No6Fj0J4?K<#n%td5jd+cTWVjr9ot{(gL2z|kfE*gn*rKXM% z4}63`1JI_n)T?S+P$?AkZq(5!wqzO#tj6Bo-_0A1=X7$H?W{)ROPQ^#FDiJ_8NqWI zqpnpA9vlp_0R!W`J_*+d9$oJ_HH45knQ4(Xv>Su#%HaJDz3-{tLu_DxIN|x5Hf=IN zh!@Ewq)x0lW6&$vFPVx*`3d*HW=zsmOj*Om{;Y;2d(i?ab06z91jhrdy~dX%_Nj|x zdgsQm!F%_V+zq_5{ZB`lo#&b#p@CKKyK13Obo_p+`%Bs`$wN}p7jk+!{Nx7794=_Yp9~GZn6xK5}b`*nLA!-bihAKS!51F&EXVx~#64_C#<% zH`O9Kqpb#ir-md%XC)_a<|qd^_I|f+u5GYh`YZ%yMYEs-i`YPn;sP3p3Tccfo&PRusQ7)E=-(^CscG_ z?aTxVMd&c?-)o$aGPFH^Ab2$M5G-9gEnJQUhJY2iC_k0w!1wFr{KPo}}%IN+dI<`i`r&N5V`}?|dg4fsdI>{?-(;lOF zv)i10uJIAC`&AC<3r1Xg!Pe^kld?#V`_ zW$FEBv-DksVntMeh?N))6=HV89L+&hi<4(QhH$o#m-eCVJ2o5V4lR+F%XPH)T#*bY za%?C^BCQXARux;M%_URTImkwRW^cH8pL3K$IieQj`ZHS3b*Bzm57i#&=n-==$vjKg?{ z?{EJw@Gf{kmIvVKz)C}#oUY-NjcGjc$7*=ACxN}3Ql&XlBh=SsQuzIs7SK`jR#}skeNEw{u^t-d^VI z&H4?HyC(yQ*!W{li-8IS$RJ(btX4orNKVv@DkC35H6mRl&T*Ar;8BOv$VIm2?t9yu(+YDrj`)6UOoWK=lsNVSSCaAk*SYU#=;ayl7ASa z`*D%s-xbQLa~LJ)1(p^}63RR5)i(@C_yGCCfIR0mE&|B2jq=~T1fPF5AAslOi+`V& z7ymnuT;3pLM(?mI(7Qx(KyErOZs;DWZl;2+h@^PQQd9Ti5FNqe2S`?>xiZ>vh2?{} z$^@)Dr@$t#yPxYM@q#0VVT_*8j%noN3FUIUV&8GYv{hp3a zt`RSIKh6OGF_1AKlK$4aFC5o{&L|WMu9qHu5-_OJ3{Mj@CfS0&uMR#l!5h;VhD1Lo z?=pj}pfQuUG3}w&WdIa(WK9R`Os~dcTdBWGe7Nowu-ug-4C)h@>$-*|440Rf^r7@A z_N*rai6uf=DSf`#yFux(W^bF)7n{8sHT30X?>5?&?>V^-^xv&ySi-QVO5R}^d&kNb z4Zk!bCVb4uT@Oe(38D$P$0SX8%r5|kkTO)Hc?6&{I>Wh=GCTv~ylSwLGJt+a4%bKf zU|~(?BR#}c0S&6dM+(b>>RjR5H@*C9LaNXTg zq66qPM8&Q&7t|iBhm_f!joh7esDsPyP~3c#AZZH`5TV=BBf?3>3+&G~Afi-A%^(Mc zEoz%W#>Pm9U&1KVlXdju_1aHU)|bqEp*Q0kPLd+1)iA!35Z(=3>!QSp{rTco2~^`H zd%8H#?acmD=`%Rp?au!C-3@#R(|1I)z*a+z&(LN3f9V^^`0hqa<60M;RD7ty*D5OD zk|Ydvel$FbIO{a{3=q=-E3HxqhEs-#lGJIBjgGYPW+P)OWSlyCQz*@?eOYf8gOyWi z8@RWnG3R8QKs6a517jNXV@0l%Wk4{pGb=);=c%W;gef%zJiD4VyPxH0XSRjYBy!l7 z&-BKAR~CULERJ7@^G&P)xkrN9oJk>T2Dx_=*?@DTd;wq0?fKr}K@30R68M$I)BWpg zq~H>VKg)E|vY|`@19f_t!q58^9P7qwH@XKX)e*HQjUVoUYpTnW)9K-R6LmMh%lMdz z{)_>xE3cs(hx<8kN1t`$yEwH_Rr8}tql?1C3ycYF-P(V*HYRLZYfRWgMcxa;m)@p? zo5lL%8@s8yO2}qDG1KpKdr_)y2M_5S~l6(pWi){Uix*PmrL3JWhhDa**{m zIXT5KdkNlA^*>P6bE=w6JGP&-q|{^rD*19=5u_qNL5O@1q=NS;1F649d~l>ZV(vji zX47?1j}aSv8{mWr=(xn|4V6CVmnJfN^LZL5V5CQt&Y}M(#U16tBzQ)Chy=eWP7oKP zF-SfKmNMC?A0g^QTbu{!!gPaisWmFUJzt;{f(Z9FR64#pav+X(Fk}eIFXkA%vtn{H z&?FdUF})e;fakVyh}_2mIT*T7d;41gdx4j>!@zYmQ-ynjqfWWz10~tPIfn5LG!fdd zkaj>S~ev z2DuW1`lI4%6_yPxMUB*J5R4Wj5aLHHH&C(IQm38ff&=Uy`6=W;&!|^wf z9Wg(VA6})IrE`vU7aS?ygus1<{uTumY6&;(m`8C59z%Y?urCQ{N~^mdffQ{a zfnae0M5Jhr#1lRxdjA-2O!K28aH>a0I0}1!1Z(}nBv7~qNZ=6IIpl714+*U84o;7- z=G4CgQ7)q2o)@B-enKGMMj1$#AgVG<%#^5?0GbFG$mYTbE&4IKrFtDLG&Vr$Z0&Lo zJ9sZ5x{ykwJKUN_YDAOf6+(ss$xeuzv)bz_Y&ZNWs^CzH+v3W0Z6iy9-$)bVJ`N+< z8lD|NaLOdEv)^JZp*-y$M4}P&)0v-I(1&B`%uhf?1k~U7)EL6%1T9VQb5A>2+OZCS z9ZZPryfq>+6TiS(rdK>|M@ARf@t#&2;g2U|bbi@punVsWPHjRC8ogPhbgqcrnQcr0 za)#K)j1V*oL8SFTq2JEz+8$cP(>>U7FRLVV&I1hh9!< zP<2@yuq5sR~T%Y%dvn6dAlJB1XI{obWp5$>6H)GBUW^wG2L8%ixoe1_v8@ z+Bpgt+#7y#{TYZAWQbw{ALiN5VnmuJoU*wEI}QAFQhAN;|6tLqQ{rBpA&i;rrtfAh z_)eje2H!E(_zoH?kx$f55bxBYeP^v`zl%T(m1y5#5hCv3icG_`XwQTm^lqPM04p&2 zYg(y1Ss==g=kFKfABQkCfa!=Nd7q>0k~HE)%JoTzG)7^bNQp{bg>pryqBNlpAT+y{3xiM4JTb99nfJOp|ni~{8>*5SVu zlhZF@zcLxTKx&)G2?Dq>%DjFBP`EnIq0a z((m=mdP&GZR-py@87-9#9jY5pRfFX+DXE{FnP{e~7&nEmp=&fGfueMv#RIxJ>1f~H zYiBh@OR#c;b4lvmuIdCQ_3 z=_vGuyD;8Y`*5YD(WS2F%2)}r>afQNQ9 zTxYu;{f>P_NnvwRDq)4(tx>nNd@XUgHK-Y$C(FAYl#s*Bs3jrH1P5E?!cfkqXEBwe zCIjGmdrbR6b1yX*A3MVFPWiuPhjurzyBqun=o|Ne<3$GN=ZpRHR&d3m1!ay0K|_3#URBgQbZJP}DM?6B@gG#>g+VVu&@tM1B><76IU(qnte zSg_~z#wgQ2tzOAYIyMW9_k4Ja5*_I2xKXGqvE-(s(jx4|LC$SzFK)PY)Ti z@^V0?pF>b`!}fB>gYH?kV)|sKVk8ia19VEVe4<0_pbyg_6im}03O*Kc*rP$k9$}Pi z0o-gbli((xTZBqLSC2-65<|&GgF2gV-2=s2$nKXEOhDATvRg?o&+QS#l{}ffmk~nf zKyNTOWCtC?H_T}w!gZLk-Z3Dox0K^qnb13RYIaVWCFUqc`Gos7>Xk~F=hhBZc8*iyt2~jN82>gh%-(kj~HE6 zU7-xW3uPwMA^F-A6V+-Y6VRHa%Tq{Vsk&!-ro~5NhDB8!h&D$BEhYj5kVuoGi{wvW zV7b-kLXgFTOwg4ysHt$r2fgO$yd5-eKo!CU>A;+7Qd$Z7Hf1-dP?CC9G^x<;Ks@1??bYeaX)K;L z#bLZ_B7c@RJb(mf=NR!ii+{KoP0|gQP+z15spgo2rX0CE2hDv7w<5n#q;j;t&SrIO zl9kZeoTem-oPd1}ioiFjA`)WuB(eGl0gDi55{#2KHI0sI5aZg-2~nA6MmnwyrjMzk&}F9z?fyJn(H^Dw3i;{wWHR3ec#aA7)l zDqcPiMkI?i?~>hHWGMItvU`JR4D?7y(yC>5o+{bBp>@*IJT@ez@XIz{;nFx|6#XQC zD3mev)&hv6$W|q{b9=4i5T@$sN*IB&H$!G`CYgOQSR?8m@H`PPL%}VzlsF4dIlhA>ot?AMa5gY}CT( zh!DYbls_ZkbXvlxDhlDW3JQP@P3GgQk}7^ckF^UPCgHRt#_gYkD8@gB6bYs<;x-UY zQxgcMNct8|tL`V^v>JkhQ{b9}(^=Cxk0Q7merBl6qOG0JfF6Yu@b-wu1wHk2i$epZ4%!;Y5RYotJgQyus1_`SDuPF`6CfUid#`wu+cb|F zu|dX$FjGpJta+3w5KRKWz%Zy2zu)TUMV{M+4YrzF*qXQkE<@r`#2VLHY>T#-8kxrE>KORzp(J2DM0c_w1dLpQGDgYP9hp+0#*ayQI5>CElVqjJ^q?U<%vh3 zwbeX|-{%0I?W$Ua3N#`>szn|v9_6(+t^S){D(F#k%~v4nj<||Pv8yjJ#cpO6Q>LSP z(=M;^P7m=Y9|!VT`Y9Hw#jd87OwDzmncMvf)+q5k~uIyF~ke|h1wK^0~ zEJUGM`M%Eer=VcaTP{D++L$f>?azH)uA#LpVV0jxy-MDtYzh8u>VoeSl6vqR*i_jP zW+hY03F%U{1P&+)Sv%^Vk@Y-Vf}{qqsjDT|GZ!V-DT$0(n9ViA@-dMw(`< z03Ol`ml9t9haS?JoaW&)`)^}Nz0!n;ka*cBN|Em;5^IJrvuyXm$P$`(^Va9%O zl>*zB-FCXztD5`5ZAXq+!NS?X@;(7K&-6zj+N07G>V1Lw%mfUGz&QmX4wR6m%6rFJ zxMQMvXMkU}U>YW@5F(qrciOO5csK;MvfL?_$12W_YzXLL%-3;>*`QzL$ioGLPY<>Q zLKZv!FRM^?P>v*uC~r*ahpl;5K^l{UWAdxj5Wlv?c5UHMf7F_VH43zPE_DRt9&Zhd&j`g=_N5*T4KMUkr-~}N5#=w;^=NPG%%xp1Ruhi`1VSE zt&TL%+dT&mn{MGKUaI5cs$+Id9ZaY^QF^;3iuW8KMuNg|Nu}p6*p>7($Hh3w$d*(; zRC+l@V`f6-ee~~sn|eoGZ~B(8ODRX!OXUrn=4-BFQn6~TsuA{$WAs0vp3e;RT;g2x zeD~z+)mB$sW5Q4?n1EI*z@VB(X~%@*@c1=U;Avzluw(`g9fHX&8U%TJjRo z@}$n!C`e!(*$t)HRiiz#7NqRd15)ushH|FS+r6*Rdk@=`S`S0>_VxEMO+0;6TNmjg z`ugSj7+#KGlmQom48W~=0SIuAB7&O$CL&f!$}=Eq5CXQ>hQO9^hAy!HJ;@C7O9tCX z{6bKystyg|Qkn;Vrk{<7r5yyDQXXSI(n5)fr`=sm)2D?&BXaT@YR^t0G5N_!r0U55 z&EFe3$VAFopH_;;76@%zv5y)~BIq14#ay(o9MT-i?npwL!%8u(Kd+Si@1+K8MX@n! z0LapjT9BEV-b3dD_wc|7pbq0@;G!#tIr-nHxxrRgCS|h2S)2n|ANGO z3=qFM!&?oM&=w^c%ac6}k>X;!R7cHqTnCaZ;!8LV1WJwt_a~?sJI4Onz&u9OtWQ~ASLk3(>8#Rpe zuFUAqbcma1aIfO9^l_HLM6c0=>+LV*F?20Z+{%VcTu=CDe9jgwmaJ6+JnHkI zQqGA)mXRu*4;{>tjA4N)xn|4=#h$P-C!Ey1iTX7GK)*jAc+yf0&u+jIL7Fy&8SzA73171v(^gXgmh2Vg zoqZA3oGAfOa~s}j5^buhwvW*_pz3NDE7uxDavf*Cm=4<#$luC)h{tyz72^O@umXL? z%jZG=@dR9FXg!RxaO)B;IAhNsL#I{7F(9N8+_5IoHJ)6To(#1m?TXnR2_dWZQR-cr zH5)5*yDm}h+EgWWsJWv(kr>5llf#&2_Td*%Q zb6azA0b0M9=G3GjX-?PJ^@?jxd_waA%}GO)qzH&Era8HFYfg;6vCoHqNp*d)!#dx=c!SEo6_{sx*8Lq^bGrX*-onv+Oh_D2ZAr=W9; z_U)uOeYsH}qUhomCTMYb#7Ak69`L6vW;Qd8+-s_bxndFu+3sZl4gjJUdCZdmH>5hb z)li*yq$ApfP-{&zG#)_;JzzHvPaLG|e9O;wN~ zT)H8hrHMuc3RUX8M2+bEd!(OTU3HxL2n4i}>6#(JD-5xkUg-sSc?8Gt3eciuf`R%T zN4nood}8nf99g^6jbcUJOR@yqL6=*Nt=WcXzS0G$e6o6eKkXG#DI%?tb93dc-p%|?Jon$uq z=)7fZC%{@OTy+;c&1eP;AH~a4h9!T{!6BSW^EC`qP|2GeQTy>qy{c=UW?#^PiC9au z2H7pBCY2)|GhR&kxz^5xe;(iyuKa;fNlUAK!Qb2`h}J7*;elCN*7%p##qG+E)16U9XVD~xR5CdW%&q@NO?jwwZSdO<1D1Zxc!u&Q}!Yhq9pvfHRup*F#`Vorj- z1lk9xBchlW0eJK^KEFDArkir)iZ!8b;JDrlnUGTv4#mN#2*>yt>fseYw?WkmfsQ*r zJ)D7p+Y!GflapHK6%Nqpme2}x9J{&<=y1S>#Bk)|+mzC%w8>qP*mz|KdwAW=3vhvZ zXFaAfv`La|piS1|owZ3M{W`34)0bhi8gnr16BO(Jjb(g+7D-83#8)LNs3 z$o^!U1oJuh{z&m2vj%O8QOz5bqy;E+C~201NUwt^II^=Fo}@CLUOK5H`!b#vlGFpCNY$6 z>XDKeK=)vzWLmAFJikytI;N%osE{WCh0KFw#>_~J&KI&TTk)i)cV%A1=saQ#Lb+2Y zo_|}l8hz#8i8-VVf9wzNLpN4!np0RdgQ&=Qa+|ME*10Ih7?{=BLq;^2<53c zi2VqLW?c?DHb6|#PN{}zcF2?;Z+$Kdf_2UL_qISx9xF$raO;#OXMyJ>Zk$_4Kt4qX#GEom zf;k0aidLt3lKO%DVtZbQuKTI0Ls&Tesf?8_ASpuSAARVmDLRzu@nB;2zs|OyWQ6g@ zQ7cPV6?W8xj2&wVRkNGoI}Q#`;W^2SR2n;vU%&BUon2D@B5W1GMYI~Ph=?qvFiq^s z9EU+>i8!_*vxEXMEMu0qq_e0zo)*F&!INA?<(+g9S5f&73R7_rDF&e!_$E$uV8c`7 zB~(kYa1ll4WCs_=#`5{*q28w4npNmmFrM>VMrV`DC`NG3Y1(C!M~6JHYnG0gp6{AP z0b07a%jh_^1|MQ>m82o=rRn-g(suD3^PJnaZKBdkNy zJHp!BXtGB$Tb@+cnmUmNdet@Scnd?3QQT1$Ku@A-U!iyh1_l*ou1;%D2J~5N^h4tf z*WG`G){i`B=UwEdj7??~xF!=Q)z*=#Mv;a*mD->E!{1pE*gnlC-t@rzsx~LIM07sn zdbM|#KVi|PZGJ#BELe2nKT+H7sH$)*OH~cFmh982J0f45_GpbfjhQtP|VcNhhP zs+7X;M1^r+a|CH$Czced0hc&JHHgzzA*FJ$)L9Kk>W>aJr(;ec83Sw+4h}F*nz~m3 ze~0lb;oxZj8&QXSepYjZU`Q#(jec8u`qkWD4FAC}oTUT9pe9_lhc0q$1$0OL+{74y zXVDa+)w)?xvzt6^C)^hJi2tIa6l_pR&=f9)mAybwb9}L|C^OCZoWXfs=^!pY8J

I*QH+4tmx=K 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