From 9cef4877b839b0b4d4dd4e53327c50db9cef7784 Mon Sep 17 00:00:00 2001 From: artpav <19916123+artemijspavlovs@users.noreply.github.com> Date: Tue, 26 Mar 2024 06:20:41 +0200 Subject: [PATCH 1/3] chore: add slack notification actions for new and stale PRs (#57) --- .github/workflows/new-pr-notification.yaml | 10 ++++++++++ .github/workflows/stale-pr-notification.yaml | 11 +++++++++++ 2 files changed, 21 insertions(+) create mode 100644 .github/workflows/new-pr-notification.yaml create mode 100644 .github/workflows/stale-pr-notification.yaml diff --git a/.github/workflows/new-pr-notification.yaml b/.github/workflows/new-pr-notification.yaml new file mode 100644 index 00000000..d8bcff94 --- /dev/null +++ b/.github/workflows/new-pr-notification.yaml @@ -0,0 +1,10 @@ +name: new-pr-notification-to-slack +on: + pull_request: + types: [opened] + +jobs: + new-pr-notification: + uses: dymensionxyz/common-workflows/.github/workflows/new-pr-notification.yaml@main + secrets: + WEBHOOK_URL: ${{ secrets.SLACK_NEW_PR_CHANNEL_WEBHOOK }} diff --git a/.github/workflows/stale-pr-notification.yaml b/.github/workflows/stale-pr-notification.yaml new file mode 100644 index 00000000..19b43423 --- /dev/null +++ b/.github/workflows/stale-pr-notification.yaml @@ -0,0 +1,11 @@ +name: stale-pr-notification-to-slack +on: + pull_request: + types: [labeled] + +jobs: + stale-pr-notification: + if: github.event.label.name == 'Stale' + uses: dymensionxyz/common-workflows/.github/workflows/stale-pr-notification.yaml@main + secrets: + WEBHOOK_URL: ${{ secrets.SLACK_STALE_PR_CHANNEL_WEBHOOK }} From bccca37e3aa3936c234575f2c29905105c7ceb52 Mon Sep 17 00:00:00 2001 From: nguyen | decentrio <144610611+trinitys7@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:47:40 +0700 Subject: [PATCH 2/3] Add TestRollappGenesisEvent (#35) --- .github/workflows/e2e-test-workflow-call.yml | 1 + .github/workflows/e2e_test.yml | 1 + Makefile | 3 + go.mod | 60 +++-- go.sum | 147 ++++++------- tests/rollapp_genesis_event_test.go | 218 +++++++++++++++++++ tests/setup.go | 14 +- 7 files changed, 337 insertions(+), 107 deletions(-) create mode 100644 tests/rollapp_genesis_event_test.go diff --git a/.github/workflows/e2e-test-workflow-call.yml b/.github/workflows/e2e-test-workflow-call.yml index 06cdad55..9b260c00 100644 --- a/.github/workflows/e2e-test-workflow-call.yml +++ b/.github/workflows/e2e-test-workflow-call.yml @@ -31,6 +31,7 @@ jobs: - "e2e-test-pfm-with-grace-period-evm" - "e2e-test-batch-finalization-evm" - "e2e-test-rollapp-freeze-evm" + - "e2e-test-rollapp-genesis-event-evm" fail-fast: false runs-on: ubuntu-latest steps: diff --git a/.github/workflows/e2e_test.yml b/.github/workflows/e2e_test.yml index a4e729c5..2a0febdb 100644 --- a/.github/workflows/e2e_test.yml +++ b/.github/workflows/e2e_test.yml @@ -33,6 +33,7 @@ jobs: - "e2e-test-pfm-with-grace-period-evm" - "e2e-test-batch-finalization-evm" - "e2e-test-rollapp-freeze-evm" + - "e2e-test-rollapp-genesis-event-evm" fail-fast: false runs-on: ubuntu-latest steps: diff --git a/Makefile b/Makefile index 2048a822..97cde31f 100644 --- a/Makefile +++ b/Makefile @@ -34,6 +34,9 @@ e2e-test-batch-finalization-evm: e2e-test-rollapp-freeze-evm: clean-e2e cd tests && go test -timeout=25m -race -v -run TestRollAppFreeze_EVM . +e2e-test-rollapp-genesis-event-evm: clean-e2e + cd tests && go test -timeout=25m -race -v -run TestRollappGenesisEvent_EVM . + # Executes IBC tests via rollup-e2e-testing e2e-test-ibc-success-wasm: clean-e2e cd tests && go test -timeout=25m -race -v -run TestIBCTransferSuccess_Wasm . diff --git a/go.mod b/go.mod index 25e065a8..911136ee 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/dymensionxyz/e2e-tests -go 1.22 - -toolchain go1.22.1 +go 1.22.1 replace ( github.com/ChainSafe/go-schnorrkel => github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d @@ -20,12 +18,13 @@ require ( cosmossdk.io/math v1.3.0 github.com/cosmos/cosmos-sdk v0.46.16 github.com/cosmos/ibc-go/v6 v6.2.1 - github.com/decentrio/rollup-e2e-testing v0.0.0-20240321041707-926750305d26 + github.com/decentrio/rollup-e2e-testing v0.0.0-20240325161106-405e71f46e86 + github.com/dymensionxyz/dymension-rdk v1.1.0-beta github.com/dymensionxyz/dymension/v3 v3.0.0-rc02.0.20240321090214-067a132551ab github.com/evmos/ethermint v0.22.0 github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 github.com/stretchr/testify v1.8.4 - go.uber.org/zap v1.24.0 + go.uber.org/zap v1.27.0 ) require ( @@ -44,28 +43,27 @@ require ( github.com/armon/go-metrics v0.4.1 // indirect github.com/avast/retry-go/v4 v4.3.4 // indirect github.com/aws/aws-sdk-go v1.44.122 // 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/btcec/v2 v2.3.2 // indirect github.com/cespare/xxhash v1.1.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect + github.com/chzyer/readline v1.5.1 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // 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.3 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.7 // indirect + github.com/cosmos/gogoproto v1.4.11 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/cosmos/iavl v0.19.6 // indirect github.com/cosmos/ledger-cosmos-go v0.12.4 // indirect github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect - github.com/dgraph-io/badger/v3 v3.2103.2 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect + github.com/dgraph-io/badger/v3 v3.2103.3 // indirect + github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/docker/distribution v2.8.1+incompatible // indirect github.com/docker/docker v24.0.1+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect @@ -78,7 +76,7 @@ require ( github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/gateway v1.1.0 // indirect @@ -86,7 +84,7 @@ require ( github.com/golang/glog v1.1.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect - github.com/golang/snappy v0.0.4 // indirect + github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect github.com/google/btree v1.1.2 // indirect github.com/google/flatbuffers v2.0.8+incompatible // indirect github.com/google/go-cmp v0.6.0 // indirect @@ -96,7 +94,7 @@ require ( github.com/googleapis/gax-go/v2 v2.12.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/mux v1.8.1 // indirect - github.com/gorilla/websocket v1.5.0 // indirect + github.com/gorilla/websocket v1.5.1 // 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 @@ -114,13 +112,12 @@ require ( 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.16.0 // indirect + github.com/klauspost/compress v1.17.6 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect - github.com/mattn/go-isatty v0.0.18 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mimoo/StrobeGo v0.0.0-20220103164710-9a04d6ca976b // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -131,17 +128,17 @@ require ( github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.14.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.42.0 // indirect - github.com/prometheus/procfs v0.9.0 // indirect + github.com/prometheus/client_golang v1.18.0 // indirect + github.com/prometheus/client_model v0.6.0 // indirect + github.com/prometheus/common v0.47.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect github.com/rakyll/statik v0.1.7 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect @@ -164,18 +161,17 @@ require ( go.opentelemetry.io/otel v1.19.0 // indirect go.opentelemetry.io/otel/metric v1.19.0 // indirect go.opentelemetry.io/otel/trace v1.19.0 // indirect - go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.18.0 // indirect - golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df // indirect - golang.org/x/mod v0.11.0 // indirect - golang.org/x/net v0.20.0 // indirect + golang.org/x/crypto v0.19.0 // indirect + golang.org/x/exp v0.0.0-20240213143201-ec583247a57a // indirect + golang.org/x/mod v0.15.0 // indirect + golang.org/x/net v0.21.0 // indirect golang.org/x/oauth2 v0.16.0 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/sys v0.16.0 // indirect - golang.org/x/term v0.16.0 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/sys v0.17.0 // indirect + golang.org/x/term v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/tools v0.9.3 // indirect + golang.org/x/tools v0.18.0 // indirect google.golang.org/api v0.149.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect diff --git a/go.sum b/go.sum index a77afacb..1c283b19 100644 --- a/go.sum +++ b/go.sum @@ -233,8 +233,6 @@ github.com/avast/retry-go/v4 v4.3.4 h1:pHLkL7jvCvP317I8Ge+Km2Yhntv3SdkJm7uekkqbK github.com/avast/retry-go/v4 v4.3.4/go.mod h1:rv+Nla6Vk3/ilU0H51VHddWHiwimzX66yZ0JT6T+UvE= github.com/aws/aws-sdk-go v1.44.122 h1:p6mw01WBaNpbdP2xrisz5tIkcNwzj/HysobNoaAHjgo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -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= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -251,8 +249,8 @@ github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9E 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/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -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/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -260,12 +258,15 @@ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL 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/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -310,8 +311,8 @@ github.com/cosmos/cosmos-sdk v0.46.16/go.mod h1:05U50tAsOzQ8JOAePshJCbJQw5ib1YJR 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.7 h1:RzYKVnsEC7UIkDnhTIkqEB7LnIQbsySvmNEqPCiPevk= -github.com/cosmos/gogoproto v1.4.7/go.mod h1:gxGePp9qedovvl/StQL2BIJ6qlIBn1+9YxR0IulGBKA= +github.com/cosmos/gogoproto v1.4.11 h1:LZcMHrx4FjUgrqQSWeaGC1v/TeuVFqSLa43CC6aWR2g= +github.com/cosmos/gogoproto v1.4.11/go.mod h1:/g39Mh8m17X8Q/GDEs5zYTSNaNnInBSohtaxzQnYq1Y= 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.6 h1:XY78yEeNPrEYyNCKlqr9chrwoeSDJ0bV2VjocTk//OU= @@ -329,22 +330,22 @@ github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnG 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= -github.com/decentrio/rollup-e2e-testing v0.0.0-20240321041707-926750305d26 h1:nrPbiCdlSKM6iwIvOWGdHwXLjmG/0y9+QaQAtdbF8ko= -github.com/decentrio/rollup-e2e-testing v0.0.0-20240321041707-926750305d26/go.mod h1:Hy/8P41OEKrlAatPG5NcD/BOWTa2s+laECwpZpmA9f0= +github.com/decentrio/rollup-e2e-testing v0.0.0-20240325161106-405e71f46e86 h1:4ZfeMGU0KWbxSGeA0k9jss56DDZ+ddC9HKDYp5Y7Gu4= +github.com/decentrio/rollup-e2e-testing v0.0.0-20240325161106-405e71f46e86/go.mod h1:Hy/8P41OEKrlAatPG5NcD/BOWTa2s+laECwpZpmA9f0= github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4= github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= -github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= -github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= -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/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etlyjdBU4sfcs2WYQMs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= 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/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= -github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= -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/badger/v3 v3.2103.3 h1:s63J1pisDhKpzWslXFe+ChuthuZptpwTE6qEKoczPb4= +github.com/dgraph-io/badger/v3 v3.2103.3/go.mod h1:4MPiseMeDQ3FNCYwRbbcBOGJLf5jsE0PPFzRiKjtcdw= +github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= +github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= 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= @@ -365,6 +366,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp 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/dymensionxyz/dymension-rdk v1.1.0-beta h1:vvKB6Y65aOOyS6inUCmRrSnlph0MmeLAz6EyXzsdbg4= +github.com/dymensionxyz/dymension-rdk v1.1.0-beta/go.mod h1:WnmIZVAFUjwsLSWlhPu3VtOHeBinLYAK9s5t1OPOL3o= github.com/dymensionxyz/dymension/v3 v3.0.0-rc02.0.20240321090214-067a132551ab h1:7w0Hohobe8l+Xa305T4dU2fp4UsubEu2q7/WcPt/VBE= github.com/dymensionxyz/dymension/v3 v3.0.0-rc02.0.20240321090214-067a132551ab/go.mod h1:iX4Lsbk0IH+t1RA1WgT9bNNyGqM6blVL5aYwwoKxaCY= github.com/dymensionxyz/ethermint v0.22.0-dymension-v0.3 h1:iAtAivMtJh2Ublnq2KasC7EIa5/gfsff5EJ7kUlnd9A= @@ -395,8 +398,8 @@ github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= @@ -420,8 +423,8 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V 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-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= @@ -474,8 +477,9 @@ github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu 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.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/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk= +github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb/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.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= @@ -528,8 +532,8 @@ github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLe 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/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= +github.com/google/pprof v0.0.0-20240207164012-fb44976bdcd5 h1:E/LAvt58di64hlYjx7AsNS6C/ysHWYo+2qPCZKTQhRo= +github.com/google/pprof v0.0.0-20240207164012-fb44976bdcd5/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -559,8 +563,8 @@ github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -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/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= 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= @@ -601,8 +605,8 @@ github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iU github.com/holiman/uint256 v1.2.2 h1:TXKcSGc2WaxPD2+bmzAsVthL4+pEN0YwXcL5qED83vk= github.com/holiman/uint256 v1.2.2/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huin/goupnp v1.0.3 h1:N8No57ls+MnjlB+JPiCVSOyy/ot7MJTqlo7rn+NYSqQ= -github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= +github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= 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= @@ -631,8 +635,8 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4= -github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= +github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/konsorten/go-windows-terminal-sequences v1.0.1/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= @@ -658,19 +662,17 @@ github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaO 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.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= -github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/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/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= @@ -729,23 +731,23 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -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_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= +github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/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.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/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= +github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= -github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/common v0.47.0 h1:p5Cz0FNHo7SnWOmWmoRozVcjEp0bIVU8cV7OShpjL1k= +github.com/prometheus/common v0.47.0/go.mod h1:0/KsvlIEfPQCQ5I2iNSAWKPZziNCvRs5EC6ILDTlAPc= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/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.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= -github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= @@ -766,8 +768,8 @@ github.com/rjeczalik/notify v0.9.3/go.mod h1:gF3zSOrafR9DQEWSE8TjfI9NkooDxbyT4Ug github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rs/cors v1.9.0 h1:l9HGsTsHJcvW14Nk7J9KFz8bzeAWXn3CG6bgt7LsrAE= github.com/rs/cors v1.9.0/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= @@ -787,8 +789,8 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= @@ -881,16 +883,14 @@ go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1 go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= 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.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/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= +go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= +go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= 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= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -903,8 +903,8 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= 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= @@ -915,8 +915,8 @@ 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-20230626212559-97b1e661b5df h1:UA2aFVmmsIlefxMk29Dp2juaUSth8Pyn3Tq5Y5mJGME= -golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20240213143201-ec583247a57a h1:HinSgX1tJRX3KsL//Gxynpw5CTOAIPhgL4W8PNiIpVE= +golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= 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= @@ -943,8 +943,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.11.0 h1:bUO06HqtnRcc/7l71XBe4WcqTZ+3AH1J59zWDDwLKgU= -golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= 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= @@ -999,8 +999,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= 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= @@ -1042,8 +1042,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= 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= @@ -1087,7 +1087,6 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w 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-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= @@ -1112,6 +1111,7 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc 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-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= @@ -1123,15 +1123,16 @@ golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBc 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-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= 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= @@ -1205,8 +1206,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= -golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= +golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/tests/rollapp_genesis_event_test.go b/tests/rollapp_genesis_event_test.go new file mode 100644 index 00000000..29e5b232 --- /dev/null +++ b/tests/rollapp_genesis_event_test.go @@ -0,0 +1,218 @@ +package tests + +import ( + "context" + "encoding/json" + "fmt" + "testing" + "time" + + "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/params/client/utils" + test "github.com/decentrio/rollup-e2e-testing" + "github.com/decentrio/rollup-e2e-testing/cosmos" + "github.com/decentrio/rollup-e2e-testing/cosmos/hub/dym_hub" + "github.com/decentrio/rollup-e2e-testing/cosmos/rollapp/dym_rollapp" + "github.com/decentrio/rollup-e2e-testing/ibc" + "github.com/decentrio/rollup-e2e-testing/relayer" + "github.com/decentrio/rollup-e2e-testing/testreporter" + "github.com/decentrio/rollup-e2e-testing/testutil" + "github.com/stretchr/testify/require" + "go.uber.org/zap/zaptest" +) + +// TestRollappGenesisEvent_EVM ensure that genesis event triggered in both rollapp evm and dymension hub +// works properly +func TestRollappGenesisEvent_EVM(t *testing.T) { + if testing.Short() { + t.Skip() + } + + ctx := context.Background() + + configFileOverrides := make(map[string]any) + dymintTomlOverrides := make(testutil.Toml) + dymintTomlOverrides["settlement_layer"] = "dymension" + dymintTomlOverrides["node_address"] = fmt.Sprintf("http://dymension_100-1-val-0-%s:26657", t.Name()) + dymintTomlOverrides["rollapp_id"] = "rollappevm_1234-1" + dymintTomlOverrides["gas_prices"] = "0adym" + + configFileOverrides["config/dymint.toml"] = dymintTomlOverrides + + extraFlags := map[string]interface{}{"genesis-accounts-path": true} + // Create chain factory with dymension + numHubVals := 1 + numHubFullNodes := 1 + numRollAppFn := 0 + numRollAppVals := 1 + cf := test.NewBuiltinChainFactory(zaptest.NewLogger(t), []*test.ChainSpec{ + { + Name: "rollapp1", + ChainConfig: ibc.ChainConfig{ + Type: "rollapp-dym", + Name: "rollapp-temp", + ChainID: "rollappevm_1234-1", + Images: []ibc.DockerImage{rollappEVMImage}, + Bin: "rollappd", + Bech32Prefix: "ethm", + Denom: "urax", + CoinType: "60", + GasPrices: "0.0urax", + GasAdjustment: 1.1, + TrustingPeriod: "112h", + EncodingConfig: encodingConfig(), + NoHostMount: false, + ModifyGenesis: modifyRollappEVMGenesis(rollappEVMGenesisKV), + ConfigFileOverrides: configFileOverrides, + }, + NumValidators: &numRollAppVals, + NumFullNodes: &numRollAppFn, + }, + { + Name: "dymension-hub", + ChainConfig: dymensionConfig, + NumValidators: &numHubVals, + NumFullNodes: &numHubFullNodes, + ExtraFlags: extraFlags, + }, + }) + + // Get chains from the chain factory + chains, err := cf.Chains(t.Name()) + require.NoError(t, err) + + rollapp1 := chains[0].(*dym_rollapp.DymRollApp) + dymension := chains[1].(*dym_hub.DymHub) + + // Relayer Factory + client, network := test.DockerSetup(t) + + r := test.NewBuiltinRelayerFactory(ibc.CosmosRly, zaptest.NewLogger(t), + relayer.CustomDockerImage("ghcr.io/decentrio/relayer", "e2e-amd", "100:1000"), + ).Build(t, client, "relayer", network) + + ic := test.NewSetup(). + AddRollUp(dymension, rollapp1). + AddRelayer(r, "relayer"). + AddLink(test.InterchainLink{ + Chain1: dymension, + Chain2: rollapp1, + Relayer: r, + Path: ibcPath, + }) + + rep := testreporter.NewNopReporter() + eRep := rep.RelayerExecReporter(t) + + err = ic.Build(ctx, eRep, test.InterchainBuildOptions{ + TestName: t.Name(), + Client: client, + NetworkID: network, + SkipPathCreation: false, + + // This can be used to write to the block database which will index all block data e.g. txs, msgs, events, etc. + // BlockDatabaseFile: test.DefaultBlockDatabaseFilepath(), + }) + require.NoError(t, err) + + walletAmount := math.NewInt(1_000_000_000_000) + + // Create some user accounts on both chains + users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1) + + // Wait a few blocks for relayer to start and for user accounts to be created + err = testutil.WaitForBlocks(ctx, 5, dymension, rollapp1) + require.NoError(t, err) + + // Get our Bech32 encoded user addresses + dymensionUser, rollappUser := users[0], users[1] + + dymensionUserAddr := dymensionUser.FormattedAddress() + rollappUserAddr := rollappUser.FormattedAddress() + + deployerWhitelistParams := json.RawMessage(fmt.Sprintf(`[{"address":"%s"}]`, dymensionUserAddr)) + propTx, err := dymension.ParamChangeProposal(ctx, dymensionUser.KeyName(), &utils.ParamChangeProposalJSON{ + Title: "Add new deployer_whitelist", + Description: "Add current dymensionUserAddr to the deployer_whitelist", + Changes: utils.ParamChangesJSON{ + utils.NewParamChangeJSON("rollapp", "DeployerWhitelist", deployerWhitelistParams), + }, + Deposit: "500000000000" + dymension.Config().Denom, // greater than min deposit + }) + require.NoError(t, err) + + err = dymension.VoteOnProposalAllValidators(ctx, propTx.ProposalID, cosmos.ProposalVoteYes) + require.NoError(t, err, "failed to submit votes") + + height, err := dymension.Height(ctx) + require.NoError(t, err, "error fetching height") + _, err = cosmos.PollForProposalStatus(ctx, dymension.CosmosChain, height, height+30, propTx.ProposalID, cosmos.ProposalStatusPassed) + require.NoError(t, err, "proposal status did not change to passed") + + new_params, err := dymension.QueryParam(ctx, "rollapp", "DeployerWhitelist") + require.NoError(t, err) + require.Equal(t, new_params.Value, string(deployerWhitelistParams)) + + channel, err := ibc.GetTransferChannel(ctx, r, eRep, dymension.Config().ChainID, rollapp1.Config().ChainID) + if err != nil { + fmt.Println("error getting transfer channel: ", err) + time.Sleep(3000 * time.Second) + } + txHash, err := dymension.FullNodes[0].ExecTx(ctx, dymensionUserAddr, "rollapp", "genesis-event", rollapp1.GetChainID(), channel.ChannelID) + require.NoError(t, err) + + tx, err := dymension.GetTransaction(txHash) + require.NoError(t, err) + + recipient, _ := cosmos.AttributeValue(tx.Events, "transfer", "recipient") + coinStr, _ := cosmos.AttributeValue(tx.Events, "transfer", "amount") + + genesisCoin, err := sdk.ParseCoinNormalized(coinStr) + require.NoError(t, err) + + validatorAddr, err := dymension.Validators[0].AccountKeyBech32(ctx, "validator") + require.NoError(t, err) + require.Equal(t, recipient, validatorAddr) + + testutil.AssertBalance(t, ctx, dymension, validatorAddr, genesisCoin.Denom, genesisCoin.Amount) + + genesisTriggererWhitelistParams := json.RawMessage(fmt.Sprintf(`[{"address":"%s"}]`, rollappUserAddr)) + propTx, err = rollapp1.ParamChangeProposal(ctx, rollappUser.KeyName(), &utils.ParamChangeProposalJSON{ + Title: "Add new genesis_triggerer_whitelist", + Description: "Add current rollappUserAddr to the genesis_triggerer_whitelist", + Changes: utils.ParamChangesJSON{ + utils.NewParamChangeJSON("hubgenesis", "GenesisTriggererWhitelist", genesisTriggererWhitelistParams), + }, + Deposit: "500000000000" + rollapp1.Config().Denom, // greater than min deposit + }) + require.NoError(t, err) + + err = rollapp1.VoteOnProposalAllValidators(ctx, propTx.ProposalID, cosmos.ProposalVoteYes) + require.NoError(t, err, "failed to submit votes") + + height, err = rollapp1.Height(ctx) + require.NoError(t, err, "error fetching height") + _, err = cosmos.PollForProposalStatus(ctx, rollapp1.CosmosChain, height, height+30, propTx.ProposalID, cosmos.ProposalStatusPassed) + require.NoError(t, err, "proposal status did not change to passed") + + new_params, err = rollapp1.QueryParam(ctx, "hubgenesis", "GenesisTriggererWhitelist") + require.NoError(t, err) + require.Equal(t, new_params.Value, string(genesisTriggererWhitelistParams)) + + hubgenesisMAcc, err := rollapp1.Validators[0].QueryModuleAccount(ctx, "hubgenesis") + require.NoError(t, err) + + hubgenesisMAccAddr := hubgenesisMAcc.Account.BaseAccount.Address + testutil.AssertBalance(t, ctx, rollapp1, hubgenesisMAccAddr, rollapp1.Config().Denom, genesisCoin.Amount) + + _, err = rollapp1.Validators[0].ExecTx(ctx, rollappUserAddr, "hubgenesis", "genesis-event", dymension.GetChainID(), channel.ChannelID) + require.NoError(t, err) + + testutil.AssertBalance(t, ctx, rollapp1, hubgenesisMAccAddr, rollapp1.Config().Denom, sdk.ZeroInt()) + + escrowAddress, err := rollapp1.Validators[0].QueryEscrowAddress(ctx, channel.PortID, channel.ChannelID) + require.NoError(t, err) + + testutil.AssertBalance(t, ctx, rollapp1, escrowAddress, rollapp1.Config().Denom, genesisCoin.Amount) +} diff --git a/tests/setup.go b/tests/setup.go index 1e51e594..5c765c7a 100644 --- a/tests/setup.go +++ b/tests/setup.go @@ -11,6 +11,7 @@ import ( "github.com/decentrio/rollup-e2e-testing/ibc" "github.com/icza/dyno" + hubgenesis "github.com/dymensionxyz/dymension-rdk/x/hub-genesis/types" eibc "github.com/dymensionxyz/dymension/v3/x/eibc/types" rollapp "github.com/dymensionxyz/dymension/v3/x/rollapp/types" ethermintcrypto "github.com/evmos/ethermint/crypto/codec" @@ -138,13 +139,21 @@ var ( Key: "app_state.feemarket.params.min_gas_price", Value: "0", }, + { + Key: "app_state.gov.voting_params.voting_period", + Value: "30s", + }, + { + Key: "app_state.gov.deposit_params.max_deposit_period", + Value: "30s", + }, } dymensionGenesisKV = []cosmos.GenesisKV{ // gov params { Key: "app_state.gov.voting_params.voting_period", - Value: "1m", + Value: "30s", }, // staking params { @@ -267,7 +276,7 @@ func GetDockerImageVersion() (dymensionVersion, rollappEVMVersion, rollappWasmVe rollappEVMVersion, found = os.LookupEnv("ROLLAPP_EVM_CI") if !found { - rollappEVMVersion = "latest" + rollappEVMVersion = "7df6696f" } rollappWasmVersion, found = os.LookupEnv("ROLLAPP_WASM_CI") @@ -284,6 +293,7 @@ func encodingConfig() *simappparams.EncodingConfig { ethermintcrypto.RegisterInterfaces(cfg.InterfaceRegistry) eibc.RegisterInterfaces(cfg.InterfaceRegistry) rollapp.RegisterInterfaces(cfg.InterfaceRegistry) + hubgenesis.RegisterInterfaces(cfg.InterfaceRegistry) return &cfg } From 9d031be8d07afa87e50621ea56c8aaa755999b7e Mon Sep 17 00:00:00 2001 From: nguyen | decentrio <144610611+trinitys7@users.noreply.github.com> Date: Tue, 26 Mar 2024 12:03:52 +0700 Subject: [PATCH 3/3] Use gaia chain (#56) --- tests/ibc_pfm_test.go | 111 +++++++++++------------ tests/ibc_pfm_with_grace_period_test.go | 116 ++++++++++++------------ tests/setup.go | 26 +++--- 3 files changed, 126 insertions(+), 127 deletions(-) diff --git a/tests/ibc_pfm_test.go b/tests/ibc_pfm_test.go index 2a9d3c3a..bbede21a 100644 --- a/tests/ibc_pfm_test.go +++ b/tests/ibc_pfm_test.go @@ -73,9 +73,9 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { NumFullNodes: &numHubFullNodes, }, { - Name: "osmosis", - Version: "v17.0.0", - ChainConfig: osmosisConfig, + Name: "gaia", + Version: "v15.1.0", + ChainConfig: gaiaConfig, NumValidators: &numVals, NumFullNodes: &numFullNodes, }, @@ -85,7 +85,7 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { rollapp1 := chains[0].(*dym_rollapp.DymRollApp) dymension := chains[1].(*dym_hub.DymHub) - osmosis := chains[2].(*cosmos.CosmosChain) + gaia := chains[2].(*cosmos.CosmosChain) // Relayer Factory client, network := test.DockerSetup(t) @@ -101,7 +101,7 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { ic := test.NewSetup(). AddRollUp(dymension, rollapp1). - AddChain(osmosis). + AddChain(gaia). AddRelayer(r, "relayer"). AddRelayer(r2, "relayer2"). AddLink(test.InterchainLink{ @@ -112,9 +112,9 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { }). AddLink(test.InterchainLink{ Chain1: dymension, - Chain2: osmosis, + Chain2: gaia, Relayer: r2, - Path: pathDymToOsmos, + Path: pathDymToGaia, }) rep := testreporter.NewNopReporter() @@ -151,23 +151,23 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { channsDym, err = r2.GetChannels(ctx, eRep, dymension.GetChainID()) require.NoError(t, err) - channsOsmosis, err := r2.GetChannels(ctx, eRep, osmosis.GetChainID()) + channsGaia, err := r2.GetChannels(ctx, eRep, gaia.GetChainID()) require.NoError(t, err) require.Len(t, channsDym, 2) - require.Len(t, channsOsmosis, 1) + require.Len(t, channsGaia, 1) - channDymOsmos := channsOsmosis[0].Counterparty - require.NotEmpty(t, channDymOsmos.ChannelID) + channDymGaia := channsGaia[0].Counterparty + require.NotEmpty(t, channDymGaia.ChannelID) - channOsmosDym := channsOsmosis[0] - require.NotEmpty(t, channOsmosDym.ChannelID) + channGaiaDym := channsGaia[0] + require.NotEmpty(t, channGaiaDym.ChannelID) // Start the relayer and set the cleanup function. err = r.StartRelayer(ctx, eRep, pathHubToRollApp) require.NoError(t, err) - err = r2.StartRelayer(ctx, eRep, pathDymToOsmos) + err = r2.StartRelayer(ctx, eRep, pathDymToGaia) require.NoError(t, err) t.Cleanup( @@ -186,18 +186,18 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { walletAmount := math.NewInt(1_000_000_000_000) // Create some user accounts on both chains - users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1, osmosis) + users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1, gaia) // Wait a few blocks for relayer to start and for user accounts to be created err = testutil.WaitForBlocks(ctx, 5, dymension, rollapp1) require.NoError(t, err) // Get our Bech32 encoded user addresses - dymensionUser, rollappUser, osmosisUser := users[0], users[1], users[2] + dymensionUser, rollappUser, gaiaUser := users[0], users[1], users[2] dymensionUserAddr := dymensionUser.FormattedAddress() rollappUserAddr := rollappUser.FormattedAddress() - osmosisUserAddr := osmosisUser.FormattedAddress() + gaiaUserAddr := gaiaUser.FormattedAddress() // Get original account balances dymensionOrigBal, err := dymension.GetBalance(ctx, dymensionUserAddr, dymension.Config().Denom) @@ -208,13 +208,13 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { require.NoError(t, err) require.Equal(t, walletAmount, rollappOrigBal) - osmosisOrigBal, err := osmosis.GetBalance(ctx, osmosisUserAddr, osmosis.Config().Denom) + gaiaOrigBal, err := gaia.GetBalance(ctx, gaiaUserAddr, gaia.Config().Denom) require.NoError(t, err) - require.Equal(t, walletAmount, osmosisOrigBal) + require.Equal(t, walletAmount, gaiaOrigBal) - t.Run("multihop rollapp->dym->osmosis", func(t *testing.T) { + t.Run("multihop rollapp->dym->gaia", func(t *testing.T) { firstHopDenom := transfertypes.GetPrefixedDenom(channDymRollApp.PortID, channDymRollApp.ChannelID, rollapp1.Config().Denom) - secondHopDenom := transfertypes.GetPrefixedDenom(channOsmosDym.PortID, channOsmosDym.ChannelID, firstHopDenom) + secondHopDenom := transfertypes.GetPrefixedDenom(channGaiaDym.PortID, channGaiaDym.ChannelID, firstHopDenom) firstHopDenomTrace := transfertypes.ParseDenomTrace(firstHopDenom) secondHopDenomTrace := transfertypes.ParseDenomTrace(secondHopDenom) @@ -225,7 +225,7 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { zeroBal := math.ZeroInt() transferAmount := math.NewInt(100_000) - // Send packet from rollapp1 -> dym -> osmosis + // Send packet from rollapp1 -> dym -> gaia transfer := ibc.WalletData{ Address: dymensionUserAddr, Denom: rollapp1.Config().Denom, @@ -234,9 +234,9 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { firstHopMetadata := &PacketMetadata{ Forward: &ForwardMetadata{ - Receiver: osmosisUserAddr, - Channel: channDymOsmos.ChannelID, - Port: channDymOsmos.PortID, + Receiver: gaiaUserAddr, + Channel: channDymGaia.ChannelID, + Port: channDymGaia.PortID, Timeout: 5 * time.Minute, }, } @@ -249,12 +249,12 @@ func TestIBCTransferMultiHop_EVM(t *testing.T) { err = transferTx.Validate() require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 40, rollapp1, osmosis) + err = testutil.WaitForBlocks(ctx, 40, rollapp1, gaia) require.NoError(t, err) testutil.AssertBalance(t, ctx, rollapp1, rollappUserAddr, rollapp1.Config().Denom, walletAmount.Sub(transferAmount)) testutil.AssertBalance(t, ctx, dymension, dymensionUserAddr, firstHopIBCDenom, zeroBal) - testutil.AssertBalance(t, ctx, osmosis, osmosisUserAddr, secondHopIBCDenom, transferAmount) + testutil.AssertBalance(t, ctx, gaia, gaiaUserAddr, secondHopIBCDenom, transferAmount) }) } @@ -308,11 +308,10 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { ChainConfig: dymensionConfig, NumValidators: &numHubVals, NumFullNodes: &numHubFullNodes, - }, - { - Name: "osmosis", - Version: "v17.0.0", - ChainConfig: osmosisConfig, + }, { + Name: "gaia", + Version: "v15.1.0", + ChainConfig: gaiaConfig, NumValidators: &numVals, NumFullNodes: &numFullNodes, }, @@ -322,7 +321,7 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { rollapp1 := chains[0].(*dym_rollapp.DymRollApp) dymension := chains[1].(*dym_hub.DymHub) - osmosis := chains[2].(*cosmos.CosmosChain) + gaia := chains[2].(*cosmos.CosmosChain) // Relayer Factory client, network := test.DockerSetup(t) @@ -338,7 +337,7 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { ic := test.NewSetup(). AddRollUp(dymension, rollapp1). - AddChain(osmosis). + AddChain(gaia). AddRelayer(r, "relayer"). AddRelayer(r2, "relayer2"). AddLink(test.InterchainLink{ @@ -349,9 +348,9 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { }). AddLink(test.InterchainLink{ Chain1: dymension, - Chain2: osmosis, + Chain2: gaia, Relayer: r2, - Path: pathDymToOsmos, + Path: pathDymToGaia, }) rep := testreporter.NewNopReporter() @@ -388,23 +387,23 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { channsDym, err = r2.GetChannels(ctx, eRep, dymension.GetChainID()) require.NoError(t, err) - channsOsmosis, err := r2.GetChannels(ctx, eRep, osmosis.GetChainID()) + channsGaia, err := r2.GetChannels(ctx, eRep, gaia.GetChainID()) require.NoError(t, err) require.Len(t, channsDym, 2) - require.Len(t, channsOsmosis, 1) + require.Len(t, channsGaia, 1) - channDymOsmos := channsOsmosis[0].Counterparty - require.NotEmpty(t, channDymOsmos.ChannelID) + channDymGaia := channsGaia[0].Counterparty + require.NotEmpty(t, channDymGaia.ChannelID) - channOsmosDym := channsOsmosis[0] - require.NotEmpty(t, channOsmosDym.ChannelID) + channGaiaDym := channsGaia[0] + require.NotEmpty(t, channGaiaDym.ChannelID) // Start the relayer and set the cleanup function. err = r.StartRelayer(ctx, eRep, pathHubToRollApp) require.NoError(t, err) - err = r2.StartRelayer(ctx, eRep, pathDymToOsmos) + err = r2.StartRelayer(ctx, eRep, pathDymToGaia) require.NoError(t, err) t.Cleanup( @@ -423,18 +422,18 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { walletAmount := math.NewInt(1_000_000_000_000) // Create some user accounts on both chains - users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1, osmosis) + users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1, gaia) // Wait a few blocks for relayer to start and for user accounts to be created err = testutil.WaitForBlocks(ctx, 5, dymension, rollapp1) require.NoError(t, err) // Get our Bech32 encoded user addresses - dymensionUser, rollappUser, osmosisUser := users[0], users[1], users[2] + dymensionUser, rollappUser, gaiaUser := users[0], users[1], users[2] dymensionUserAddr := dymensionUser.FormattedAddress() rollappUserAddr := rollappUser.FormattedAddress() - osmosisUserAddr := osmosisUser.FormattedAddress() + gaiaUserAddr := gaiaUser.FormattedAddress() // Get original account balances dymensionOrigBal, err := dymension.GetBalance(ctx, dymensionUserAddr, dymension.Config().Denom) @@ -445,13 +444,13 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { require.NoError(t, err) require.Equal(t, walletAmount, rollappOrigBal) - osmosisOrigBal, err := osmosis.GetBalance(ctx, osmosisUserAddr, osmosis.Config().Denom) + gaiaOrigBal, err := gaia.GetBalance(ctx, gaiaUserAddr, gaia.Config().Denom) require.NoError(t, err) - require.Equal(t, walletAmount, osmosisOrigBal) + require.Equal(t, walletAmount, gaiaOrigBal) - t.Run("multihop rollapp->dym->osmosis", func(t *testing.T) { + t.Run("multihop rollapp->dym->gaia", func(t *testing.T) { firstHopDenom := transfertypes.GetPrefixedDenom(channDymRollApp.PortID, channDymRollApp.ChannelID, rollapp1.Config().Denom) - secondHopDenom := transfertypes.GetPrefixedDenom(channOsmosDym.PortID, channOsmosDym.ChannelID, firstHopDenom) + secondHopDenom := transfertypes.GetPrefixedDenom(channGaiaDym.PortID, channGaiaDym.ChannelID, firstHopDenom) firstHopDenomTrace := transfertypes.ParseDenomTrace(firstHopDenom) secondHopDenomTrace := transfertypes.ParseDenomTrace(secondHopDenom) @@ -462,7 +461,7 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { zeroBal := math.ZeroInt() transferAmount := math.NewInt(100_000) - // Send packet from rollapp1 -> dym -> osmosis + // Send packet from rollapp1 -> dym -> gaia transfer := ibc.WalletData{ Address: dymensionUserAddr, Denom: rollapp1.Config().Denom, @@ -471,9 +470,9 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { firstHopMetadata := &PacketMetadata{ Forward: &ForwardMetadata{ - Receiver: osmosisUserAddr, - Channel: channDymOsmos.ChannelID, - Port: channDymOsmos.PortID, + Receiver: gaiaUserAddr, + Channel: channDymGaia.ChannelID, + Port: channDymGaia.PortID, Timeout: 5 * time.Minute, }, } @@ -486,11 +485,11 @@ func TestIBCTransferMultiHop_Wasm(t *testing.T) { err = transferTx.Validate() require.NoError(t, err) - err = testutil.WaitForBlocks(ctx, 40, rollapp1, osmosis) + err = testutil.WaitForBlocks(ctx, 40, rollapp1, gaia) require.NoError(t, err) testutil.AssertBalance(t, ctx, rollapp1, rollappUserAddr, rollapp1.Config().Denom, walletAmount.Sub(transferAmount)) testutil.AssertBalance(t, ctx, dymension, dymensionUserAddr, firstHopIBCDenom, zeroBal) - testutil.AssertBalance(t, ctx, osmosis, osmosisUserAddr, secondHopIBCDenom, transferAmount) + testutil.AssertBalance(t, ctx, gaia, gaiaUserAddr, secondHopIBCDenom, transferAmount) }) } diff --git a/tests/ibc_pfm_with_grace_period_test.go b/tests/ibc_pfm_with_grace_period_test.go index f0e0c303..17e6837f 100644 --- a/tests/ibc_pfm_with_grace_period_test.go +++ b/tests/ibc_pfm_with_grace_period_test.go @@ -95,9 +95,9 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { NumFullNodes: &numHubFullNodes, }, { - Name: "osmosis", - Version: "v17.0.0", - ChainConfig: osmosisConfig, + Name: "gaia", + Version: "v15.1.0", + ChainConfig: gaiaConfig, NumValidators: &numVals, NumFullNodes: &numFullNodes, }, @@ -107,7 +107,7 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { rollapp1 := chains[0].(*dym_rollapp.DymRollApp) dymension := chains[1].(*dym_hub.DymHub) - osmosis := chains[2].(*cosmos.CosmosChain) + gaia := chains[2].(*cosmos.CosmosChain) // Relayer Factory client, network := test.DockerSetup(t) @@ -125,7 +125,7 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { ic := test.NewSetup(). AddRollUp(dymension, rollapp1). - AddChain(osmosis). + AddChain(gaia). AddRelayer(r, "relayer"). AddRelayer(r2, "relayer2"). AddLink(test.InterchainLink{ @@ -136,9 +136,9 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { }). AddLink(test.InterchainLink{ Chain1: dymension, - Chain2: osmosis, + Chain2: gaia, Relayer: r2, - Path: pathDymToOsmos, + Path: pathDymToGaia, }) rep := testreporter.NewNopReporter() @@ -175,23 +175,23 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { channsDym, err = r2.GetChannels(ctx, eRep, dymension.GetChainID()) require.NoError(t, err) - channsOsmosis, err := r2.GetChannels(ctx, eRep, osmosis.GetChainID()) + channsGaia, err := r2.GetChannels(ctx, eRep, gaia.GetChainID()) require.NoError(t, err) require.Len(t, channsDym, 2) - require.Len(t, channsOsmosis, 1) + require.Len(t, channsGaia, 1) - channDymOsmos := channsOsmosis[0].Counterparty - require.NotEmpty(t, channDymOsmos.ChannelID) + channDymGaia := channsGaia[0].Counterparty + require.NotEmpty(t, channDymGaia.ChannelID) - channOsmosDym := channsOsmosis[0] - require.NotEmpty(t, channOsmosDym.ChannelID) + channGaiaDym := channsGaia[0] + require.NotEmpty(t, channGaiaDym.ChannelID) // Start the relayer and set the cleanup function. err = r.StartRelayer(ctx, eRep, pathHubToRollApp) require.NoError(t, err) - err = r2.StartRelayer(ctx, eRep, pathDymToOsmos) + err = r2.StartRelayer(ctx, eRep, pathDymToGaia) require.NoError(t, err) t.Cleanup( @@ -210,18 +210,18 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { walletAmount := math.NewInt(1_000_000_000_000) // Create some user accounts on both chains - users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1, osmosis) + users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1, gaia) // Wait a few blocks for relayer to start and for user accounts to be created err = testutil.WaitForBlocks(ctx, 5, dymension, rollapp1) require.NoError(t, err) // Get our Bech32 encoded user addresses - dymensionUser, rollappUser, osmosisUser := users[0], users[1], users[2] + dymensionUser, rollappUser, gaiaUser := users[0], users[1], users[2] dymensionUserAddr := dymensionUser.FormattedAddress() rollappUserAddr := rollappUser.FormattedAddress() - osmosisUserAddr := osmosisUser.FormattedAddress() + gaiaUserAddr := gaiaUser.FormattedAddress() // Get original account balances dymensionOrigBal, err := dymension.GetBalance(ctx, dymensionUserAddr, dymension.Config().Denom) @@ -232,13 +232,13 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { require.NoError(t, err) require.Equal(t, walletAmount, rollappOrigBal) - osmosisOrigBal, err := osmosis.GetBalance(ctx, osmosisUserAddr, osmosis.Config().Denom) + gaiaOrigBal, err := gaia.GetBalance(ctx, gaiaUserAddr, gaia.Config().Denom) require.NoError(t, err) - require.Equal(t, walletAmount, osmosisOrigBal) + require.Equal(t, walletAmount, gaiaOrigBal) - t.Run("multihop rollapp->dym->osmosis, funds received on osmosis after grace period", func(t *testing.T) { + t.Run("multihop rollapp->dym->gaia, funds received on gaia after grace period", func(t *testing.T) { firstHopDenom := transfertypes.GetPrefixedDenom(channDymRollApp.PortID, channDymRollApp.ChannelID, rollapp1.Config().Denom) - secondHopDenom := transfertypes.GetPrefixedDenom(channOsmosDym.PortID, channOsmosDym.ChannelID, firstHopDenom) + secondHopDenom := transfertypes.GetPrefixedDenom(channGaiaDym.PortID, channGaiaDym.ChannelID, firstHopDenom) firstHopDenomTrace := transfertypes.ParseDenomTrace(firstHopDenom) secondHopDenomTrace := transfertypes.ParseDenomTrace(secondHopDenom) @@ -249,7 +249,7 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { zeroBal := math.ZeroInt() transferAmount := math.NewInt(100_000) - // Send packet from rollapp1 -> dym -> osmosis + // Send packet from rollapp1 -> dym -> gaia transfer := ibc.WalletData{ Address: dymensionUserAddr, Denom: rollapp1.Config().Denom, @@ -258,9 +258,9 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { firstHopMetadata := &PacketMetadata{ Forward: &ForwardMetadata{ - Receiver: osmosisUserAddr, - Channel: channDymOsmos.ChannelID, - Port: channDymOsmos.PortID, + Receiver: gaiaUserAddr, + Channel: channDymGaia.ChannelID, + Port: channDymGaia.PortID, Timeout: 5 * time.Minute, }, } @@ -282,20 +282,20 @@ func TestIBCPFMWithGracePeriod_EVM(t *testing.T) { dymBalance, err := dymension.GetBalance(ctx, dymensionUserAddr, firstHopIBCDenom) require.NoError(t, err) - osmosisBalance, err := osmosis.GetBalance(ctx, osmosisUserAddr, secondHopIBCDenom) + gaiaBalance, err := gaia.GetBalance(ctx, gaiaUserAddr, secondHopIBCDenom) require.NoError(t, err) // Make sure that the transfer is not successful yet due to the grace period require.True(t, rollAppBalance.Equal(walletAmount.Sub(transferAmount))) require.True(t, dymBalance.Equal(zeroBal)) - require.True(t, osmosisBalance.Equal(zeroBal)) + require.True(t, gaiaBalance.Equal(zeroBal)) err = testutil.WaitForBlocks(ctx, 100, rollapp1) require.NoError(t, err) - osmosisBalance, err = osmosis.GetBalance(ctx, osmosisUserAddr, secondHopIBCDenom) + gaiaBalance, err = gaia.GetBalance(ctx, gaiaUserAddr, secondHopIBCDenom) require.NoError(t, err) - require.True(t, osmosisBalance.Equal(transferAmount)) + require.True(t, gaiaBalance.Equal(transferAmount)) }) } @@ -373,9 +373,9 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { NumFullNodes: &numHubFullNodes, }, { - Name: "osmosis", - Version: "v17.0.0", - ChainConfig: osmosisConfig, + Name: "gaia", + Version: "v15.1.0", + ChainConfig: gaiaConfig, NumValidators: &numVals, NumFullNodes: &numFullNodes, }, @@ -385,7 +385,7 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { rollapp1 := chains[0].(*dym_rollapp.DymRollApp) dymension := chains[1].(*dym_hub.DymHub) - osmosis := chains[2].(*cosmos.CosmosChain) + gaia := chains[2].(*cosmos.CosmosChain) // Relayer Factory client, network := test.DockerSetup(t) @@ -403,7 +403,7 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { ic := test.NewSetup(). AddRollUp(dymension, rollapp1). - AddChain(osmosis). + AddChain(gaia). AddRelayer(r, "relayer"). AddRelayer(r2, "relayer2"). AddLink(test.InterchainLink{ @@ -414,9 +414,9 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { }). AddLink(test.InterchainLink{ Chain1: dymension, - Chain2: osmosis, + Chain2: gaia, Relayer: r2, - Path: pathDymToOsmos, + Path: pathDymToGaia, }) rep := testreporter.NewNopReporter() @@ -453,23 +453,23 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { channsDym, err = r2.GetChannels(ctx, eRep, dymension.GetChainID()) require.NoError(t, err) - channsOsmosis, err := r2.GetChannels(ctx, eRep, osmosis.GetChainID()) + channsGaia, err := r2.GetChannels(ctx, eRep, gaia.GetChainID()) require.NoError(t, err) require.Len(t, channsDym, 2) - require.Len(t, channsOsmosis, 1) + require.Len(t, channsGaia, 1) - channDymOsmos := channsOsmosis[0].Counterparty - require.NotEmpty(t, channDymOsmos.ChannelID) + channDymGaia := channsGaia[0].Counterparty + require.NotEmpty(t, channDymGaia.ChannelID) - channOsmosDym := channsOsmosis[0] - require.NotEmpty(t, channOsmosDym.ChannelID) + channGaiaDym := channsGaia[0] + require.NotEmpty(t, channGaiaDym.ChannelID) // Start the relayer and set the cleanup function. err = r.StartRelayer(ctx, eRep, pathHubToRollApp) require.NoError(t, err) - err = r2.StartRelayer(ctx, eRep, pathDymToOsmos) + err = r2.StartRelayer(ctx, eRep, pathDymToGaia) require.NoError(t, err) t.Cleanup( @@ -488,18 +488,18 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { walletAmount := math.NewInt(1_000_000_000_000) // Create some user accounts on both chains - users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1, osmosis) + users := test.GetAndFundTestUsers(t, ctx, t.Name(), walletAmount, dymension, rollapp1, gaia) // Wait a few blocks for relayer to start and for user accounts to be created err = testutil.WaitForBlocks(ctx, 5, dymension, rollapp1) require.NoError(t, err) // Get our Bech32 encoded user addresses - dymensionUser, rollappUser, osmosisUser := users[0], users[1], users[2] + dymensionUser, rollappUser, gaiaUser := users[0], users[1], users[2] dymensionUserAddr := dymensionUser.FormattedAddress() rollappUserAddr := rollappUser.FormattedAddress() - osmosisUserAddr := osmosisUser.FormattedAddress() + gaiaUserAddr := gaiaUser.FormattedAddress() // Get original account balances dymensionOrigBal, err := dymension.GetBalance(ctx, dymensionUserAddr, dymension.Config().Denom) @@ -510,13 +510,13 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { require.NoError(t, err) require.Equal(t, walletAmount, rollappOrigBal) - osmosisOrigBal, err := osmosis.GetBalance(ctx, osmosisUserAddr, osmosis.Config().Denom) + gaiaOrigBal, err := gaia.GetBalance(ctx, gaiaUserAddr, gaia.Config().Denom) require.NoError(t, err) - require.Equal(t, walletAmount, osmosisOrigBal) + require.Equal(t, walletAmount, gaiaOrigBal) - t.Run("multihop rollapp->dym->osmosis, funds received on osmosis after grace period", func(t *testing.T) { + t.Run("multihop rollapp->dym->gaia, funds received on gaia after grace period", func(t *testing.T) { firstHopDenom := transfertypes.GetPrefixedDenom(channDymRollApp.PortID, channDymRollApp.ChannelID, rollapp1.Config().Denom) - secondHopDenom := transfertypes.GetPrefixedDenom(channOsmosDym.PortID, channOsmosDym.ChannelID, firstHopDenom) + secondHopDenom := transfertypes.GetPrefixedDenom(channGaiaDym.PortID, channGaiaDym.ChannelID, firstHopDenom) firstHopDenomTrace := transfertypes.ParseDenomTrace(firstHopDenom) secondHopDenomTrace := transfertypes.ParseDenomTrace(secondHopDenom) @@ -527,7 +527,7 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { zeroBal := math.ZeroInt() transferAmount := math.NewInt(100_000) - // Send packet from rollapp1 -> dym -> osmosis + // Send packet from rollapp1 -> dym -> gaia transfer := ibc.WalletData{ Address: dymensionUserAddr, Denom: rollapp1.Config().Denom, @@ -536,9 +536,9 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { firstHopMetadata := &PacketMetadata{ Forward: &ForwardMetadata{ - Receiver: osmosisUserAddr, - Channel: channDymOsmos.ChannelID, - Port: channDymOsmos.PortID, + Receiver: gaiaUserAddr, + Channel: channDymGaia.ChannelID, + Port: channDymGaia.PortID, Timeout: 5 * time.Minute, }, } @@ -560,19 +560,19 @@ func TestIBCPFMWithGracePeriod_Wasm(t *testing.T) { dymBalance, err := dymension.GetBalance(ctx, dymensionUserAddr, firstHopIBCDenom) require.NoError(t, err) - osmosisBalance, err := osmosis.GetBalance(ctx, osmosisUserAddr, secondHopIBCDenom) + gaiaBalance, err := gaia.GetBalance(ctx, gaiaUserAddr, secondHopIBCDenom) require.NoError(t, err) // Make sure that the transfer is not successful yet due to the grace period require.True(t, rollAppBalance.Equal(walletAmount.Sub(transferAmount))) require.True(t, dymBalance.Equal(zeroBal)) - require.True(t, osmosisBalance.Equal(zeroBal)) + require.True(t, gaiaBalance.Equal(zeroBal)) err = testutil.WaitForBlocks(ctx, 100, rollapp1) require.NoError(t, err) - osmosisBalance, err = osmosis.GetBalance(ctx, osmosisUserAddr, secondHopIBCDenom) + gaiaBalance, err = gaia.GetBalance(ctx, gaiaUserAddr, secondHopIBCDenom) require.NoError(t, err) - require.True(t, osmosisBalance.Equal(transferAmount)) + require.True(t, gaiaBalance.Equal(transferAmount)) }) } diff --git a/tests/setup.go b/tests/setup.go index 5c765c7a..ad4bc30b 100644 --- a/tests/setup.go +++ b/tests/setup.go @@ -80,24 +80,24 @@ var ( ConfigFileOverrides: nil, } - // Setup for Osmosis - osmosisImageRepo = "ghcr.io/strangelove-ventures/heighliner/osmosis" + // Setup for gaia + gaiaImageRepo = "ghcr.io/strangelove-ventures/heighliner/gaia" // - osmosisImage = ibc.DockerImage{ - Repository: osmosisImageRepo, + gaiaImage = ibc.DockerImage{ + Repository: gaiaImageRepo, UidGid: "1025:1025", } - osmosisConfig = ibc.ChainConfig{ + gaiaConfig = ibc.ChainConfig{ Type: "cosmos", - Name: "osmosis", - ChainID: "osmosis-1", - Images: []ibc.DockerImage{osmosisImage}, - Bin: "osmosisd", - Bech32Prefix: "osmo", - Denom: "uosmo", + Name: "gaia", + ChainID: "gaia-1", + Images: []ibc.DockerImage{gaiaImage}, + Bin: "gaiad", + Bech32Prefix: "cosmos", + Denom: "uatom", CoinType: "118", - GasPrices: "0.5uosmo", + GasPrices: "0uatom", EncodingConfig: defaultConfig(), GasAdjustment: 2, TrustingPeriod: "112h", @@ -108,7 +108,7 @@ var ( // IBC Path pathHubToRollApp = "hub-path" - pathDymToOsmos = "dym-osmo" + pathDymToGaia = "dym-gaia" rollappEVMGenesisKV = []cosmos.GenesisKV{ {