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

CI test for token transfer impl #65

Merged
merged 66 commits into from
Aug 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
1b0b63c
Update ibc-rs deps to branch 'basecoin/phase6'
hu55a1n1 Jun 7, 2022
2c24585
Impl Ics20 traits for IbcTransferModule
hu55a1n1 Jun 7, 2022
58f1e48
Implement module callbacks for Ibc
hu55a1n1 Jun 7, 2022
6e9839d
Replace BankKeeper::set_balances() with mint_coins() & impl send_coins
hu55a1n1 Jun 8, 2022
77f9158
Impl mint_coins()
hu55a1n1 Jun 8, 2022
698e127
Impl burn_coins()
hu55a1n1 Jun 8, 2022
66655a1
Add bank keeper to Ibc transfer module
hu55a1n1 Jun 8, 2022
fff33ec
Check for sufficient balance before burning tokens
hu55a1n1 Jun 8, 2022
0f87334
Make Denom inner string public
hu55a1n1 Jun 9, 2022
b6c9137
Use U256 amounts
hu55a1n1 Jun 9, 2022
ba10d93
Update Cargo.lock
hu55a1n1 Jun 9, 2022
a39ee18
Remove assoc type `BankKeeper::Coins`
hu55a1n1 Jun 9, 2022
b192dc0
Require `BankKeeper::Error: Debug` & `BankKeeper::Address: FromStr`
hu55a1n1 Jun 9, 2022
0bceb22
Fix missing check for sufficient balance in `BankKeeper::send_coins()`
hu55a1n1 Jun 9, 2022
1249159
Impl ICS20's `BankKeeper` for `IbcTransferModule`
hu55a1n1 Jun 9, 2022
f193f4e
Update config staking denom
hu55a1n1 Jun 10, 2022
afacbfd
Use non-zero `historical_entries` to pass hermes's health check
hu55a1n1 Jun 10, 2022
7f9f8bc
Implement bank gRPC service
hu55a1n1 Jun 10, 2022
909f403
Implement IBC `ClientQuery::client_states`
hu55a1n1 Jun 10, 2022
5361682
Implement IBC `ConnectionQuery::client_connections`
hu55a1n1 Jun 10, 2022
537ecb1
Merge remote-tracking branch 'origin/main' into hu55a1n1/ics20
hu55a1n1 Jun 10, 2022
96b897e
Fix merge issues
hu55a1n1 Jun 10, 2022
0efb89f
Fix clippy errors
hu55a1n1 Jun 10, 2022
56b1cac
Return ChannelError::packet_receipt_not_found if receipt is not found
hu55a1n1 Jun 13, 2022
62ab514
Update IBC patch deps to use the master branch
hu55a1n1 Jun 13, 2022
ce3e398
Merge remote-tracking branch 'origin/main' into hu55a1n1/ics20
hu55a1n1 Jul 4, 2022
562ac17
Implement transfer msg service
hu55a1n1 Jul 4, 2022
258367d
Handler deliverTx for MsgTransfer
hu55a1n1 Jul 4, 2022
8a36b5e
Custom get_channel_escrow_address() impl
hu55a1n1 Jul 4, 2022
71e05e0
Fix send_coins when dest doesn't have specified denom
hu55a1n1 Jul 5, 2022
39fd217
Implement BinCodec
hu55a1n1 Jul 11, 2022
5a4a28d
Use BinStore for PacketCommitment & AcknowledgementCommitment
hu55a1n1 Jul 11, 2022
6ad2628
Don't delete PacketCommitment in delete_packet_commitment(), instead …
hu55a1n1 Jul 11, 2022
3d5e897
Add missing check for matching portchan in `ChannelQuery::packet_comm…
hu55a1n1 Jul 11, 2022
054619d
Add missing check for empty commitments in `ChannelQuery::packet_comm…
hu55a1n1 Jul 11, 2022
5bc57ca
Fix `ChannelQuery::packet_commitments()`
hu55a1n1 Jul 11, 2022
c658313
Update ibc-rs patch branch to `hu55a1n1/2386-fix-ics20-ds-serde`
hu55a1n1 Jul 11, 2022
2aef022
Update CI ibc-rs patch branch to `hu55a1n1/2386-fix-ics20-ds-serde`
hu55a1n1 Jul 11, 2022
c80d57e
Update CI scripts for recent hermes CLI changes
hu55a1n1 Jul 12, 2022
a32d33f
Bump CI rust version
hu55a1n1 Jul 12, 2022
f6b7080
Update CI test for recent hermes CLI changes
hu55a1n1 Jul 12, 2022
7a73e54
Cleanup
hu55a1n1 Jul 12, 2022
0168042
Reformat
hu55a1n1 Jul 12, 2022
00206a3
Fix comment typo
hu55a1n1 Jul 12, 2022
6d77501
Fix delete_packet_acknowledgement() impl
hu55a1n1 Jul 12, 2022
c733888
Use `into_inner()` instead of `get_ref()` for tonic request conversions
hu55a1n1 Jul 12, 2022
0f65d3f
Use `revision_number` '0' as default for consistency
hu55a1n1 Jul 12, 2022
e7e7213
Fix `packet_commitments` & `packet_acknowledgements` impls
hu55a1n1 Jul 12, 2022
39f32f4
Remove unused `TypedStore::delete()` method
hu55a1n1 Jul 12, 2022
eed35ff
Remove raw store fields
hu55a1n1 Jul 12, 2022
ab77df3
Remove unused transfer service
hu55a1n1 Jul 12, 2022
e5f8982
Fix missing `host_height` impl
hu55a1n1 Jul 12, 2022
edae33a
Define const CHAIN_REVISION_NUMBER
hu55a1n1 Jul 12, 2022
0db6082
Remove ConnectionEndWrapper
hu55a1n1 Jul 13, 2022
4487dae
More cleanup
hu55a1n1 Jul 13, 2022
332e71d
Update ibc deps
hu55a1n1 Jul 13, 2022
3ddef12
Use cosmos_adr028_escrow_address() from ibc crate
hu55a1n1 Jul 13, 2022
e39031e
Use ibc-rs master in CI tests
hu55a1n1 Jul 13, 2022
ea0011d
Set up entrypoint.sh to run all tests in `TEST_DIR` by default
hu55a1n1 Jul 13, 2022
0ae8dff
Fix create-channel.sh logs
hu55a1n1 Jul 13, 2022
eb4f30d
Add token transfer test
hu55a1n1 Jul 13, 2022
a910983
Fix genesis.json to allocate samoleans to user account
hu55a1n1 Jul 13, 2022
d04a806
Bump version
hu55a1n1 Jul 13, 2022
babb61d
Fix CI failure due to timeout ret code
hu55a1n1 Jul 14, 2022
dc1fb9e
Merge remote-tracking branch 'origin/main' into hu55a1n1/ics20-ci-test
hu55a1n1 Aug 10, 2022
21c23d9
Update token-transfer.sh for hermes CLI changes
hu55a1n1 Aug 10, 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
2 changes: 1 addition & 1 deletion Cargo.lock

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

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "tendermint-basecoin"
version = "0.1.0"
version = "0.2.0"
edition = "2018"
license = "Apache-2.0"
readme = "README.md"
Expand Down
7 changes: 4 additions & 3 deletions ci/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ CHAIN_DATA="${HOME}/data"
HERMES_CONFIG="${HOME}/.hermes/config.toml"
LOG_DIR=${LOG_DIR:-/var/log/basecoin-rs}
TESTS_DIR=${TESTS_DIR:-${HOME}/tests}
DEFAULT_TEST=${DEFAULT_TEST:-${TESTS_DIR}/create-channel.sh}

if [ ! -f "${BASECOIN_SRC}/Cargo.toml" ]; then
echo "basecoin-rs sources must be mounted into ${BASECOIN_SRC} for this script to work properly."
Expand Down Expand Up @@ -86,8 +85,10 @@ if [ ! -z "$@" ]; then
exec "$@"
else
echo ""
echo "No parameters supplied. Executing default test: ${DEFAULT_TEST}"
"${DEFAULT_TEST}"
echo "No parameters supplied. Executing default tests from: ${TESTS_DIR}"
for t in "${TESTS_DIR}"/*; do
bash "$t"
done
echo ""
echo "Success!"
fi
Expand Down
5 changes: 3 additions & 2 deletions ci/tendermint-config/genesis.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@
],
"app_state": {
"cosmos12xpmzmfpf7tn57xg93rne2hc2q26lcfql5efws": {
"basecoin": "0x1000",
"othercoin": "0x1000"
"basecoin": "0x1000000000",
"othercoin": "0x1000000000",
"samoleans": "0x1000000000"
},
"cosmos1t2e0nyjhwn3revunvf2uperhftvhzu4euuzva9": {
"basecoin": "0x250",
Expand Down
4 changes: 2 additions & 2 deletions ci/tests/create-channel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ set -euo pipefail

HERMES_BIN=${HERMES_BIN:-${HOME}/build/ibc-rs/release/hermes}

echo "Creating channel between ibc-0 and basecoin-0..."
echo "Creating channel [ibc-0 -> basecoin-0]..."
"${HERMES_BIN}" create connection --a-chain ibc-0 --b-chain basecoin-0
"${HERMES_BIN}" create channel --a-chain ibc-0 --a-port transfer --b-port transfer --a-connection connection-0

echo "Creating channel between basecoin-0 and ibc-0..."
echo "Creating channel [basecoin-0 -> ibc-0]..."
"${HERMES_BIN}" create connection --a-chain basecoin-0 --b-chain ibc-0
"${HERMES_BIN}" create channel --a-chain basecoin-0 --a-port transfer --b-port transfer --a-connection connection-1
18 changes: 18 additions & 0 deletions ci/tests/token-transfer.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
set -euo pipefail

HERMES_BIN=${HERMES_BIN:-${HOME}/build/ibc-rs/release/hermes}

echo "Testing token transfer..."

"${HERMES_BIN}" tx ft-transfer --dst-chain ibc-0 --src-chain basecoin-0 --src-port transfer --src-channel channel-0 \
--amount 9999 --timeout-height-offset 1000 --number-msgs 2
"${HERMES_BIN}" tx ft-transfer --dst-chain basecoin-0 --src-chain ibc-0 --src-port transfer --src-channel channel-1 \
--amount 9999 --timeout-height-offset 1000 --number-msgs 2

timeout 10 "${HERMES_BIN}" start || [[ $? -eq 124 ]]

"${HERMES_BIN}" query packet pending-sends --chain ibc-0 --port transfer --channel channel-0
"${HERMES_BIN}" query packet pending-sends --chain basecoin-0 --port transfer --channel channel-1
"${HERMES_BIN}" query packet pending-acks --chain basecoin-0 --port transfer --channel channel-0
"${HERMES_BIN}" query packet pending-acks --chain ibc-0 --port transfer --channel channel-1