Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICS29 Fee Middleware Support #1981

Merged
merged 166 commits into from
Oct 24, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
1373792
Add simple_send_tx
soareschen May 6, 2022
c69f4b2
Move AddressType into TxConfig, as it is configured per chain
soareschen May 10, 2022
558551b
Disable GRPC Web and not rely on chain version
soareschen May 10, 2022
1a5fc98
Clean up ibc_transfer_token interface on ChainDriver
soareschen May 10, 2022
d6ffe5e
Use longer IBC transfer timeout
soareschen May 10, 2022
de6f63c
Further increase IBC transfer timeout
soareschen May 10, 2022
84385ef
Fix client expiration test in gaia7
soareschen May 10, 2022
ee25158
Move tx_raw_ft_transfer to simulation test
soareschen May 11, 2022
b9f3354
Merge remote-tracking branch 'origin/master' into soares/direct-send-tx
soareschen May 11, 2022
9bbc35a
Update protobuf and add basic channel with fee test
soareschen May 11, 2022
00089ec
Basic transfer with pay packet is working
soareschen May 11, 2022
9e7fe87
Merge remote-tracking branch 'origin/master' into soares/direct-send-tx
soareschen May 11, 2022
74d614c
Modularize ibc_token_transfer
soareschen May 11, 2022
bb15577
Merge branch 'soares/direct-send-tx' into soares/ics29-fee-middleware
soareschen May 11, 2022
32c202e
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen May 11, 2022
7982977
Basic relayer fee payment working
soareschen May 11, 2022
4d5a7e5
Implementing registering counterparty address
soareschen May 12, 2022
5d6c44c
Fix fee calculation with register counterparty address working
soareschen May 12, 2022
2808684
Merge branch 'master' into soares/ics29-fee-middleware
soareschen May 19, 2022
f9e7336
Wait for TX confirmation straight from TxResponse
soareschen May 19, 2022
22c9796
Introduce Token type to encapsulate Denom and amount
soareschen May 19, 2022
a65178e
Merge branch 'master' into soares/ics29-fee-middleware
soareschen May 19, 2022
234e0b1
Set full node config mode to "validator"
soareschen May 20, 2022
43add2e
Refactor wait_tx to work with all responses
soareschen May 20, 2022
7b80351
Merge branch 'soares/gaia-rho' into soares/ics29-fee-middleware
soareschen May 20, 2022
362b5b7
Add fee methods to ChainDriver
soareschen May 20, 2022
898a099
Add back test with no forward relayer setup
soareschen May 20, 2022
da61d1f
Add timeout fee test
soareschen May 20, 2022
87f98da
Simplify wait control flow using iterator and streams
soareschen May 23, 2022
9696cbe
Implement pay packet fee async
soareschen May 23, 2022
c8d0ba4
Merge branch 'soares/gaia-rho' into soares/ics29-fee-middleware
soareschen May 23, 2022
f2a8a27
Relaying of pay packet fee async is somehow not working
soareschen May 23, 2022
3b17f6e
Reproduce execute_schedule slowdown
soareschen May 23, 2022
20d4f56
Add test to reproduce clear packet failure
soareschen May 24, 2022
748c36f
Apply dirty hack fix
soareschen May 24, 2022
a43dfeb
Merge branch 'soares/clear-packet-failure' into soares/ics29-fee-midd…
soareschen May 24, 2022
cfb8886
Fix merge error
soareschen May 24, 2022
256a0b9
Pay packet fee async test is now working
soareschen May 24, 2022
60f3059
Refactor ChainDriver methods into separate extension traits
soareschen May 25, 2022
0778a1b
Refactor chain bootstrap CLI functions
soareschen May 25, 2022
b3d4b43
Move query CLI functions
soareschen May 25, 2022
fecaf7c
Refactor all remaining CLI methods
soareschen May 25, 2022
7c29f5c
Refactor ChainDriver bootstrap methods into extension trait
soareschen May 25, 2022
5f6d47f
Merge branch 'master' into soares/clear-packet-failure
soareschen May 30, 2022
4dbd851
Refactor packet workers to simplify control flow
soareschen May 30, 2022
a3c0de1
Provide latest height for clear_packet_on_start_worker
soareschen May 30, 2022
df7a494
Still trying to fix Python test
soareschen May 30, 2022
bd59789
Clear on start can only be performed within packet cmd worker
soareschen May 31, 2022
8c538bb
Merge remote-tracking branch 'origin/master' into soares/clear-packet…
soareschen May 31, 2022
35a2beb
Merge branch 'master' into soares/ics29-fee-middleware
soareschen May 31, 2022
2f1f585
Fix merge conflict
soareschen May 31, 2022
417d63e
Merge branch 'master' into soares/clear-packet-failure
soareschen May 31, 2022
25ce71a
Clean up for review
soareschen May 31, 2022
679b428
Refactor common code from spawn_packet_worker to handle_execute_schedule
soareschen May 31, 2022
f42c7b1
Better handle packet cmd worker retry
soareschen Jun 1, 2022
6ca6066
Remove worker_subborn_strategy
soareschen Jun 1, 2022
e81a3ad
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 1, 2022
f0b5658
Add query counterparty address method
soareschen Jun 1, 2022
2447e48
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Jun 1, 2022
f2aade8
Add basic test and implementation for query incenvized packets
soareschen Jun 2, 2022
d37636d
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 2, 2022
bfbd0bf
Copy fee implementations to ibc-relayer crate
soareschen Jun 4, 2022
52c564a
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 4, 2022
70e277f
Copy proto message builders to ibc crate
soareschen Jun 4, 2022
026f81f
Remove fee implementation in test framework and import from ibc-relayer
soareschen Jun 4, 2022
9e8f51c
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 6, 2022
ce5c111
Catch panics in hang_on_error
soareschen Jun 6, 2022
1bf7ab1
Fix merge error
soareschen Jun 6, 2022
c1b670d
Merge branch 'master' into soares/clear-packet-failure
soareschen Jun 6, 2022
41db348
Merge branch 'soares/clear-packet-failure' into soares/ics29-fee-midd…
soareschen Jun 6, 2022
76e80a9
Implement maybe_register_counterparty_address
soareschen Jun 6, 2022
b7dbeb8
Add maybe_register_counterparty_address ChainHandle method
soareschen Jun 7, 2022
2479b68
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Jun 7, 2022
e4754c3
Fix import error
soareschen Jun 7, 2022
bb19227
Add Link option for auto registering counterparty address
soareschen Jun 7, 2022
c975596
Add auto forward relayer test
soareschen Jun 7, 2022
440eacc
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Jun 7, 2022
4931625
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 13, 2022
1b8f799
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 13, 2022
6057dc4
Add test for using fee feature with non-fee channels
soareschen Jun 13, 2022
099f51c
Update protobuf with new port_id field in MsgRegisterCounterpartyAddress
soareschen Jun 14, 2022
dfdf159
Fix cargo doc
soareschen Jun 14, 2022
ba3f929
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 14, 2022
4fa92d9
Add RawCoin type with string as denom
soareschen Jun 14, 2022
e061b03
Use Amount instead of u128 in Token
soareschen Jun 14, 2022
74b8126
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 15, 2022
1649801
Turn Token into type alias for Coin<Denom>
soareschen Jun 15, 2022
f4f0e33
Refactor use of encode_message
soareschen Jun 15, 2022
44c3320
Refactor Coin and Amount definitions into separate modules
soareschen Jun 15, 2022
7cec777
Add parsing logic for incentivized packet event
soareschen Jun 15, 2022
8c30d80
Update protobuf
soareschen Jun 16, 2022
14095c4
Update CounterpartyAddress to CounterpartyPayee
soareschen Jun 16, 2022
e54e0ec
Add IncentivizedPacket event to IbcEvent
soareschen Jun 16, 2022
53fb68b
Fix itertools dependency
soareschen Jun 16, 2022
2db70b6
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 16, 2022
88a25b5
Testing of incentivized packet event is working
soareschen Jun 16, 2022
f586ef1
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 17, 2022
8493473
Fix merge error
soareschen Jun 17, 2022
b09b9f9
Split fee tests into separate files
soareschen Jun 17, 2022
73b4588
Fix fee tests not running on CI, and fix test_auto_forward_relayer
soareschen Jun 17, 2022
44ad0ae
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 20, 2022
bcf8811
Test incentivized packet event after pay packet fee async
soareschen Jun 20, 2022
0eaa54b
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jun 22, 2022
aba77ae
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Jun 24, 2022
f3a6cea
Fix merge error
soareschen Jun 24, 2022
5021049
Update ibc-go
soareschen Jun 24, 2022
8aa9cae
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Jun 24, 2022
2671b7e
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jul 6, 2022
2b4f25a
Update Cosmos.nix and ibc-go version
soareschen Jul 6, 2022
d5ee5f5
Update Cosmos.nix
soareschen Jul 6, 2022
bc5cdad
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jul 18, 2022
cee8e3e
Fix merge error
soareschen Jul 18, 2022
6f79ebb
Use back Cosmos.nix master
soareschen Jul 18, 2022
cee2262
Enable general CI test for ibc-go-v4-simapp
soareschen Jul 18, 2022
6d85deb
Add register payee test
soareschen Jul 18, 2022
0d3ef92
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jul 19, 2022
2a58252
Initial draft implementation for register-payee CLI
soareschen Jul 20, 2022
d68571d
Add register counterparty payee CLI
soareschen Jul 20, 2022
2b81616
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Jul 20, 2022
b83c7f3
Fix clippy
soareschen Jul 21, 2022
716068d
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Jul 21, 2022
8fba5c7
Add test for registering invalid counterparty payee
soareschen Jul 21, 2022
cfff087
Add example config for auto_register_counterparty_payee
soareschen Jul 21, 2022
231e937
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Jul 21, 2022
68bb7d5
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jul 25, 2022
50eb9ae
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Jul 28, 2022
02774c8
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Aug 10, 2022
8faa749
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Aug 18, 2022
3af047f
Fix clippy
soareschen Aug 18, 2022
903721f
Fix test_pay_packet_fee_async error caused by merge conflict
soareschen Aug 18, 2022
2391b14
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Aug 24, 2022
5ec8f41
Fix clippy
soareschen Aug 24, 2022
98b616f
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Aug 24, 2022
be9c5d3
Refactor coin and amount constructs into separate modules
soareschen Sep 8, 2022
bc547fa
Merge branch 'master' into soares/coin-refactoring
soareschen Sep 8, 2022
b0f1f6d
Follow the same coin display format as in ibc-go
soareschen Sep 9, 2022
14591e9
Merge branch 'soares/coin-refactoring' into soares/ics29-fee-middleware
soareschen Sep 9, 2022
c181ce3
Initial token amount cannot exceed u64::MAX
soareschen Sep 9, 2022
6832a26
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Sep 9, 2022
9b138b8
Merge branch 'master' into soares/ics29-fee-middleware
adizere Sep 26, 2022
757bb00
Small cleanup of fee commands
romac Sep 26, 2022
4ee89b8
Merge branch 'master' into soares/ics29-fee-middleware
romac Sep 28, 2022
01e5940
Apply suggestions from code review
soareschen Oct 5, 2022
24c7686
Update compatibility bound for ibc-go
soareschen Oct 5, 2022
e9850c7
Merge branch 'master' into soares/ics29-fee-middleware
soareschen Oct 6, 2022
e96bd05
Merge remote-tracking branch 'origin/master' into soares/ics29-fee-mi…
soareschen Oct 6, 2022
36bea73
Fix no-std check
soareschen Oct 6, 2022
4878f8b
ICS29: Add `fee transfer` command (#2682)
romac Oct 10, 2022
d426a69
Added 'value_name', 'visible_alias' and unit-tests to the two new com…
ljoss17 Oct 10, 2022
931c7cb
Merge branch 'master' into soares/ics29-fee-middleware
ljoss17 Oct 10, 2022
6f4c634
Missed renaming some 'ibc' to 'ibc_relayer_types'
ljoss17 Oct 10, 2022
bad93ff
Regenerated Cargo.lock for no-std-check
ljoss17 Oct 10, 2022
0bc7350
Updated guide
ljoss17 Oct 10, 2022
65a9ccb
Run more CI integration tests for fee
soareschen Oct 11, 2022
df077e6
Removed ICS29 fee tests using gaia-main, as it has not yet activated …
ljoss17 Oct 17, 2022
855767d
Update tools/integration-test/src/tests/fee/register_payee.rs
seanchen1991 Oct 20, 2022
e10ac9d
Update tools/integration-test/src/tests/fee/pay_fee_async.rs
seanchen1991 Oct 20, 2022
5518b12
Update tools/integration-test/src/bin/test_setup_with_fee_enabled_bin…
seanchen1991 Oct 20, 2022
f9cee94
Update tools/integration-test/src/bin/test_setup_with_fee_enabled_bin…
seanchen1991 Oct 20, 2022
2806a38
Update tools/integration-test/src/tests/fee/no_forward_relayer.rs
seanchen1991 Oct 20, 2022
af91874
Update tools/integration-test/src/tests/fee/timeout_fee.rs
seanchen1991 Oct 20, 2022
d0cf6a8
Update tools/integration-test/src/tests/fee/auto_forward_relayer.rs
seanchen1991 Oct 20, 2022
49c2892
Update tools/integration-test/src/bin/test_setup_with_fee_enabled_bin…
seanchen1991 Oct 20, 2022
b79e638
Merge branch 'master' into soares/ics29-fee-middleware
romac Oct 24, 2022
08f02ff
Formatting
romac Oct 24, 2022
b150711
Increment `maybe_register_counterparty_payee` metric
romac Oct 24, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- New command `fee transfer` which transfers tokens with fees
([#2714](https://github.com/informalsystems/ibc-rs/issues/2714))
43 changes: 43 additions & 0 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,49 @@ jobs:
test -p ibc-integration-test --features ica --no-fail-fast -- \
--nocapture --test-threads=1 test_ica_filter

ics29-fee-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
chain:
- package: ibc-go-v5-simapp
command: simd
account_prefix: cosmos
- package: ibc-go-v6-simapp
command: simd
account_prefix: cosmos
steps:
- uses: actions/checkout@v2
- uses: cachix/install-nix-action@v15
with:
install_url: https://nixos-nix-install-tests.cachix.org/serve/vij683ly7sl95nnhb67bdjjfabclr85m/install
install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve'
extra_nix_config: |
experimental-features = nix-command flakes
- uses: cachix/cachix-action@v10
with:
name: cosmos
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
- uses: Swatinem/rust-cache@v1
- uses: actions-rs/cargo@v1
with:
command: test
args: -p ibc-integration-test --features ics29-fee --no-fail-fast --no-run
- env:
RUST_LOG: info
RUST_BACKTRACE: 1
NO_COLOR_LOG: 1
CHAIN_COMMAND_PATH: ${{ matrix.chain.command }}
ACCOUNT_PREFIX: ${{ matrix.chain.account_prefix }}
run: |
nix shell .#${{ matrix.chain.package }} -c cargo \
test -p ibc-integration-test --features ics29-fee --no-fail-fast -- \
--nocapture --test-threads=1 fee::

model-based-test:
runs-on: ubuntu-latest
timeout-minutes: 60
Expand Down
95 changes: 89 additions & 6 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading