composablefi / composable-cosmos Goto Github PK
View Code? Open in Web Editor NEWThe home of IBC
The home of IBC
Currently we have
Interchaintest is failing due to an incorrectly set bech32 prefix.
... is not a permanent solution. We should likely configure in interchaintest's test chains.
i write now tx 08-wasm
, can it be just tx wasm
?
Across:
There've been some changes to make how we interact with governance more conventional, and the ability to refund unforwardable forwards has been added.
Given that PFM in particular has made fairly big changes, and it doesn't make sense to stay on retracted code, v7 will stay on v0.47.x while using the mainine wasm client and hopefully mainline IBC.
At the moment, CLI query commands only support the AllRateLimits
query. I suggest to add the other query commands.
type QueryServer interface {
AllRateLimits(context.Context, *QueryAllRateLimitsRequest) (*QueryAllRateLimitsResponse, error)
RateLimit(context.Context, *QueryRateLimitRequest) (*QueryRateLimitResponse, error)
RateLimitsByChainID(context.Context, *QueryRateLimitsByChainIDRequest) (*QueryRateLimitsByChainIDResponse, error)
RateLimitsByChannelID(context.Context, *QueryRateLimitsByChannelIDRequest) (*QueryRateLimitsByChannelIDResponse, error)
AllWhitelistedAddresses(context.Context, *QueryAllWhitelistedAddressesRequest) (*QueryAllWhitelistedAddressesResponse, error)
}
Separate epoch handle in rate-limit module into standalone module
@RustNinja -- how would you like to handle this? Baiscally everything under that line won't be reached because of:
ctx := sdk.UnwrapSDKContext(goCtx)
ms.SetLastTotalPower(ctx, math.Int{})
return nil, errorsmod.Wrapf(types.ErrInvalidAddress, "Custom error: nikita")
returns (and its return is not conditional)
Hello again,
In osmosis I can do
--broadcast-mode block
when do osmosisd tx ...
Super awesome as it waits for results of TX and I can grap data.
On centaurid it supports only sync, async, but not block.
Can we enable it?
[5:15](https://composablefinance.slack.com/archives/C04NTDSCBQR/p1692202532770179)
Seems like matter of updateing cli/module/sdk version
IBC-Hooks Update: We're proud to announce that IBC-hooks now support async acknowledgements during onRecvPacket processing. This enhancement ensures smoother and faster data transfer operations.
Interchain tests are failing. Investigate and fix
$ docker run --rm -it ghcr.io/notional-labs/centauri:3.1.1 version
Cross posting from Discord
Querying proposal 6 directly or any list of proposals containing it panics:
Error: rpc error: code = Unknown desc = proto: wrong wireType = 0 for field MinRateLimitAmount: panic
it even breaks querying list of active proposals even though prop #6 is not active
https://api-composable-ia.cosmosia.notional.ventures/cosmos/gov/v1/proposals?proposal_status=2&pagination.limit=20&pagination.count_total=true&pagination.reverse=true
Hi. My validator status BOND_STATUS_UNBONDING, jailed: false
When I try to make a transaction (tx staking delegate, tx distribution withdraw-all-rewards) I get an error:
recovered: calculated final stake for delegator banksy1ynazq7vemekv3lswdq57kfae2vay4fhge8tgq3 greater than current stake final stake: 1000000.000000000000000000 current stake: 990000.000000000000000000 stack: goroutine 823 [running]: runtime/debug.Stack() runtime/debug/stack.go:24 +0x65 github.com/cosmos/cosmos-sdk/baseapp.newDefaultRecoveryMiddleware.func1({0x2132f80, 0xc0f39cc5b0}) github.com/cosmos/[email protected]/baseapp/recovery.go:71 +0x27 github.com/cosmos/cosmos-sdk/baseapp.newRecoveryMiddleware.func1({0x2132f80?, 0xc0f39cc5b0?}) github.com/cosmos/[email protected]/baseapp/recovery.go:39 +0x30 github.com/cosmos/cosmos-sdk/baseapp.processRecovery({0x2132f80, 0xc0f39cc5b0}, 0xc00021b080?) github.com/cosmos/[email protected]/baseapp/recovery.go:28 +0x37 github.com/cosmos/cosmos-sdk/baseapp.processRecovery({0x2132f80, 0xc0f39cc5b0}, 0x30b2140?) github.com/cosmos/[email protected]/baseapp/recovery.go:33 +0x5e github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runTx.func1() github.com/cosmos/[email protected]/baseapp/baseapp.go:631 +0xf0 panic({0x2132f80, 0xc0f39cc5b0}) runtime/panic.go:844 +0x258 github.com/cosmos/cosmos-sdk/x/distribution/keeper.Keeper.CalculateDelegationRewards({{0x3086db8, 0xc000cfe580}, {0x30b1730, 0xc00039fab0}, {0x30a2f48, 0xc000ca0230}, {0x30a95a8, 0xc0000010e0}, {0x30aecc8, 0xc0004e9200}, ...}, ...) github.com/cosmos/[email protected]/x/distribution/keeper/delegation.go:129 +0x568 github.com/cosmos/cosmos-sdk/x/distribution/keeper.Keeper.withdrawDelegationRewards({{0x3086db8, 0xc000cfe580}, {0x30b1730, 0xc00039fab0}, {0x30a2f48, 0xc000ca0230}, {0x30a95a8, 0xc0000010e0}, {0x30aecc8, 0xc0004e9200}, ...}, ...) github.com/cosmos/[email protected]/x/distribution/keeper/delegation.go:149 +0x1db github.com/cosmos/cosmos-sdk/x/distribution/keeper.Keeper.WithdrawDelegationRewards({{0x3086db8, 0xc000cfe580}, {0x30b1730, 0xc00039fab0}, {0x30a2f48, 0xc000ca0230}, {0x30a95a8, 0xc0000010e0}, {0x30aecc8, 0xc0004e9200}, ...}, ...) github.com/cosmos/[email protected]/x/distribution/keeper/keeper.go:95 +0x18e github.com/cosmos/cosmos-sdk/x/distribution/keeper.msgServer.WithdrawDelegatorReward({{{0x3086db8, 0xc000cfe580}, {0x30b1730, 0xc00039fab0}, {0x30a2f48, 0xc000ca0230}, {0x30a95a8, 0xc0000010e0}, {0x30aecc8, 0xc0004e9200}, ...}}, ...) github.com/cosmos/[email protected]/x/distribution/keeper/msg_server.go:57 +0x330 github.com/cosmos/cosmos-sdk/x/distribution/types.Msg_WithdrawDelegatorReward_Handler.func1({0x30a1b28, 0xc0c6f151a0}, {0x248ebe0?, 0xc0253bc2a0}) github.com/cosmos/[email protected]/x/distribution/types/tx.pb.go:1037 +0x78 github.com/cosmos/cosmos-sdk/baseapp.(*MsgServiceRouter).RegisterService.func2.1({0x30a2ea0, 0xc00021ab00}, {0xc003be17e0?, 0x412bab?}, 0x2513840?, 0xc0ee2a6150) github.com/cosmos/[email protected]/baseapp/msg_service_router.go:113 +0xd2 github.com/cosmos/cosmos-sdk/x/distribution/types.Msg_WithdrawDelegatorReward_Handler({0x250e820?, 0xc0006209a0}, {0x30a2ea0, 0xc00021ab00}, 0x2be1d00, 0xc0253bc900) github.com/cosmos/[email protected]/x/distribution/types/tx.pb.go:1039 +0x138 github.com/cosmos/cosmos-sdk/baseapp.(*MsgServiceRouter).RegisterService.func2({{0x30a1ab8, 0xc000052060}, {0x30b2140, 0xc0fc2d9a00}, {{0xb, 0x0}, {0xc0a84503d0, 0x10}, 0x9fb8, {0x1a23f0a7, ...}, ...}, ...}, ...) github.com/cosmos/[email protected]/baseapp/msg_service_router.go:121 +0x2e4 github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runMsgs(, {{0x30a1ab8, 0xc000052060}, {0x30b2140, 0xc0fc2d9a00}, {{0xb, 0x0}, {0xc0a84503d0, 0x10}, 0x9fb8, ...}, ...}, ...) github.com/cosmos/[email protected]/baseapp/baseapp.go:790 +0x60b github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).runTx(0xc000000b40, 0x3, {0xc04442d080, 0x153, 0x153}) github.com/cosmos/[email protected]/baseapp/baseapp.go:733 +0xe25 github.com/cosmos/cosmos-sdk/baseapp.(*BaseApp).DeliverTx(0xc000000b40, {{0xc04442d080?, 0x10?, 0x7fd2eebadb48?}}) github.com/cosmos/[email protected]/baseapp/abci.go:407 +0x17a github.com/cometbft/cometbft/abci/client.(*localClient).DeliverTxAsync(0xc00337c600, {{0xc04442d080?, 0x0?, 0x0?}}) github.com/cometbft/[email protected]/abci/client/local_client.go:82 +0x105 github.com/cometbft/cometbft/proxy.(*appConnConsensus).DeliverTxAsync(0xc00000fe90, {{0xc04442d080?, 0x20?, 0xb?}}) github.com/cometbft/[email protected]/proxy/app_conn.go:106 +0x102 github.com/cometbft/cometbft/state.execBlockOnProxyApp({0x30a1ce8?, 0xc00020d460}, {0x30af420, 0xc00000fe90}, 0xc07059c3c0, {0x30b2c50, 0xc003074060}, 0x9fb7?) github.com/cometbft/[email protected]/state/execution.go:376 +0x7ef github.com/cometbft/cometbft/state.(*BlockExecutor).ApplyBlock(, {{{0xb, 0x0}, {0xc003305516, 0x6}}, {0xc003305590, 0x10}, 0x1, 0x9fb7, {{0xc06d27f3a0, ...}, ...}, ...}, ...) github.com/cometbft/[email protected]/state/execution.go:197 +0x151 github.com/cometbft/cometbft/consensus.(*State).finalizeCommit(0xc000cc9500, 0x9fb8) github.com/cometbft/[email protected]/consensus/state.go:1700 +0xa85 github.com/cometbft/cometbft/consensus.(*State).tryFinalizeCommit(0xc000cc9500, 0x9fb8) github.com/cometbft/[email protected]/consensus/state.go:1609 +0x2ff github.com/cometbft/cometbft/consensus.(*State).enterCommit.func1() github.com/cometbft/[email protected]/consensus/state.go:1544 +0xa5 github.com/cometbft/cometbft/consensus.(*State).enterCommit(0xc000cc9500, 0x9fb8, 0x0) github.com/cometbft/[email protected]/consensus/state.go:1582 +0xcb7 github.com/cometbft/cometbft/consensus.(*State).addVote(0xc000cc9500, 0xc038e41720, {0xc0f0685410, 0x28}) github.com/cometbft/[email protected]/consensus/state.go:2213 +0xcbf github.com/cometbft/cometbft/consensus.(*State).tryAddVote(0xc000cc9500, 0xc038e41720, {0xc0f0685410?, 0xc0ddf97900?}) github.com/cometbft/[email protected]/consensus/state.go:2002 +0x2c github.com/cometbft/cometbft/consensus.(*State).handleMsg(0xc000cc9500, {{0x307e5c0?, 0xc0ebf269a8?}, {0xc0f0685410?, 0x0?}}) github.com/cometbft/[email protected]/consensus/state.go:861 +0x44b github.com/cometbft/cometbft/consensus.(*State).receiveRoutine(0xc000cc9500, 0x0) github.com/cometbft/[email protected]/consensus/state.go:768 +0x419 created by github.com/cometbft/cometbft/consensus.(*State).OnStart github.com/cometbft/[email protected]/consensus/state.go:379 +0x12d : panic
How can you fix it?
We need to add func importContract in https://github.com/notional-labs/ibc-go/tree/wasm-client-centauri/modules/light-clients/08-wasm
Ref:
I'd like to use async-icq, because it is being deployed in many places and having it will let us test for compatibility and security problems.
this is also so that we can test for any issues that could occur from crosstalk between components
Problem is that I am trying to add innocent code to cvm contract and get over default limit 819200 bytes. Neutron increased the size in release to 1.6MB (2x)
That makes code to be 824K which is over limit.
As you can see not a lot of changes. I observer than sometimes removing code, like some dependency may increase size of wasm. So hardly predictable.
Improvement blocked by:
So cannot fix fast.
Add rate limit module
same reasoning: for the public testnet we're going to want to use the token factory so that we can check for issues that might only show up when using the token factory
The readme file should be more descriptive, and include:
To facilitate ease of testing, we need to provide a quick and easy-to-run local node. There are two types of local nodes we need to provide:
We can reference the Osmosis and Terra2 approach to accomplish this.
This is the cause of the error golang-lint
like it is on osmosis https://docs.osmosis.zone/cosmwasm/cosmwasm-verify-contract
I am trying to get grasp ppica native hack for mapping tokens. I tried to send ppica
When I try to send PPICA to Osmosis via IBC get something like this
{"level":"info","process":"centauri","replica":1,"message":"xcvm::gateway::ibc::ics20:: payload {\"stargate\":{\"type_url\":\"/ibc.applications.transfer.v1.MsgTransfer\",\"value\":\"Cgh0cmFuc2ZlchIJY2hhbm5lbC0wGhMKBXBwaWNhEgoxMDAwMDAwMDAwIkNjZW50YXVyaTFrYTU2NzZrMDR6YzN5OTN5ajB5bWptc21xY253OTZyeGF6Y2o4cG4wZjlzc2RkdGF0dnlxdGo0OGQ3Kj9vc21vMWNseWZsM2xmdGg5ZzJhdjh5cnNqY3U0dXJleGdkdzA1NGszczB2Y3Y1bXM2MHh3eHY5OHFkNnd4NXlCywR7Indhc20iOnsiY29udHJhY3QiOiJvc21vMWNseWZsM2xmdGg5ZzJhdjh5cnNqY3U0dXJleGdkdzA1NGszczB2Y3Y1bXM2MHh3eHY5OHFkNnd4NXkiLCJtc2ciOnsiZnJvbV9uZXR3b3JrX2lkIjoyLCJwYWNrZXQiOnsiYXNzZXRzIjpbWyIxNTg0NTYzMjUwMjg1Mjg2NzUxODcwODc5MDA2NzMiLCIxMDAwMDAwMDAwIl1dLCJpbnRlcnByZXRlciI6IjYzNjU2ZTc0NjE3NTcyNjkzMTcyMzQ2ODcxNjM2MTM0Nzg2YzMwNjM2MTYzMzAzMjM2NzUzMDM4NzQzNjZhNzgzMjM5NzQzNTM2Njg2NDM2NmM3NjMyNzQ3OTcxNzk3NDM5MzI2ZTY0NzMzNDdhNzAzMzcxNzE3YTcxNzkzNjM4NjQ2ZTcxIiwicHJvZ3JhbSI6eyJpbnN0cnVjdGlvbnMiOltdLCJ0YWciOiI3MzcwNjE3NzZlNWY3NzY5NzQ2ODVmNjE3MzczNjU3NCJ9LCJzYWx0IjoiNzM3MDYxNzc2ZTVmNzc2OTc0Njg1ZjYxNzM3MzY1NzQiLCJ1c2VyX29yaWdpbiI6eyJuZXR3b3JrX2lkIjoyLCJ1c2VyX2lkIjoiNjM2NTZlNzQ2MTc1NzI2OTMxNzE3MTMwNmIzNzY0MzUzNjZhNzU3NTM3NjgzNDM5NjE3MjY1NmM3YTY3NzczMDM5NmE2MzYzNjQ2YjM4NzM3NTZhNzI2MzcyNmE2NCJ9fX19fQ==\"}}"}
{"level":"info","process":"centauri","replica":1,"message":"[90m9:00PM INF burned tokens from module account amount=1000000000ppica from=transfer module=bank"}
{"level":"info","process":"centauri","replica":1,"message":"[90m9:00PM INF Redacting submessage error cause="dispatch: submessages: dispatch: submessages: spendable balance is smaller than 1000000000ibc/632DBFDB06584976F1351A66E873BF0F7A19FAA083425FEC9890C90993E5F0A4: insufficient funds" module=wasm"}
So ICS20 app burns ppica, and tries to transfer some ibc/ asset.
I have this config
jq-genesis '.app_state.transmiddleware.token_infos[0].ibc_denom |= "ibc/632DBFDB06584976F1351A66E873BF0F7A19FAA083425FEC9890C90993E5F0A4"'
jq-genesis '.app_state.transmiddleware.token_infos[0].channel_id |= "channel-0"'
jq-genesis '.app_state.transmiddleware.token_infos[0].native_denom |= "ppica"'
jq-genesis '.app_state.transmiddleware.token_infos[0].asset_id |= "1"'
Difference from production mainnet is channel number is zero.
Here is production:
bash-5.1$ nix run .#centaurid -- query transfermiddleware para-token-info "ppica" --node [https://rpc-composable-ia.cosmosia.notional.ventures:443](https://rpc-composable-ia.cosmosia.notional.ventures/)
asset_id: "1"
channel_id: channel-2
ibc_denom: ibc/F4DD4690EC7F061DA2D86CB0081A4FF5AC94406E886B77D1685EA3C3995C8D5A
native_denom: ppica
So thing is I write CW contract. Contract gets bank assets. Bank asset works well with ppica. But when I send ppica denom via ibc, it fails, but still burns PPICA.
So question, given mapping like it was done, what are rules for CW contracts to recevie and send PPICA?
My assumption that any CW contracts if it received PPICA and wants to send it, it can do that, without error. So current implrementation of mapping is issue in Notional code which makes bank and ibc host extension handling on Centauri incompatible with any contracts which will operate on ppica. And that to be fixed.
ppica handling must be compatible with any CW and Cosmos SDK compatible contract out there
we should not use tendermint for this, that way it will better resemble real world deployments
We need to document what each module in the chain does, right now it isn't always clear
After a series of version changes at go.mod
. We get this error when we run Interchain Test in Local with go.work
cd tests/interchaintest && go test -timeout=25m -race -v -run TestBanksyPicassoIBCTransfer .
2023/05/23 18:02:05 proto: duplicate proto type registered: ibc.lightclients.wasm.v1.MsgPushNewWasmCode
2023/05/23 18:02:05 proto: duplicate proto type registered: ibc.lightclients.wasm.v1.MsgPushNewWasmCodeResponse
2023/05/23 18:02:05 proto: duplicate proto type registered: ibc.lightclients.wasm.v1.ClientState
2023/05/23 18:02:05 proto: duplicate proto type registered: ibc.lightclients.wasm.v1.ConsensusState
2023/05/23 18:02:05 proto: duplicate proto type registered: ibc.lightclients.wasm.v1.Header
2023/05/23 18:02:05 proto: duplicate proto type registered: ibc.lightclients.wasm.v1.Misbehaviour
=== RUN TestBanksyPicassoIBCTransfer
=== PAUSE TestBanksyPicassoIBCTransfer
=== CONT TestBanksyPicassoIBCTransfer
logger.go:130: 2023-05-23T18:02:05.476+0700 INFO Using embedded configured chains
setup.go:231: Pruned unused networks: [interchaintest-gwrrdiqd]
--- FAIL: TestBanksyPicassoIBCTransfer (0.45s)
panic: concrete type *types.Misbehaviour has already been registered under typeURL /, cannot register *types.Header under same typeURL. This usually means that there are conflicting modules registering different concrete types for a same interface implementation [recovered]
panic: concrete type *types.Misbehaviour has already been registered under typeURL /, cannot register *types.Header under same typeURL. This usually means that there are conflicting modules registering different concrete types for a same interface implementation
goroutine 12 [running]:
testing.tRunner.func1.2({0x352aec0, 0xc000d672c0})
/usr/local/go/src/testing/testing.go:1526 +0x372
testing.tRunner.func1()
/usr/local/go/src/testing/testing.go:1529 +0x650
panic({0x352aec0, 0xc000d672c0})
/usr/local/go/src/runtime/panic.go:890 +0x263
github.com/cosmos/cosmos-sdk/codec/types.(*interfaceRegistry).registerImpl(0xc0006894e0, {0x3451d00, 0x0}, {0x5315044, 0x1}, {0x533a400?, 0xc000d88ba0})
/home/duc/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.47.2/codec/types/interface_registry.go:171 +0x5cf
github.com/cosmos/cosmos-sdk/codec/types.(*interfaceRegistry).RegisterImplementations(0x37b1a80?, {0x3451d00, 0x0}, {0xc000d672a0, 0x1, 0xc0006894e0?})
/home/duc/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.47.2/codec/types/interface_registry.go:135 +0xd7
github.com/strangelove-ventures/interchaintest/v7/chain/cosmos/08-wasm-types.RegisterInterfaces({0x5346e40, 0xc0006894e0})
/home/duc/go/pkg/mod/github.com/notional-labs/interchaintest/v7@v7.1.2/chain/cosmos/08-wasm-types/codec.go:28 +0x410
github.com/strangelove-ventures/interchaintest/v7/chain/cosmos/08-wasm-types.AppModuleBasic.RegisterInterfaces(...)
/home/duc/go/pkg/mod/github.com/notional-labs/interchaintest/v7@v7.1.2/chain/cosmos/08-wasm-types/module.go:33
github.com/cosmos/cosmos-sdk/types/module.BasicManager.RegisterInterfaces(...)
/home/duc/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.47.2/types/module/module.go:96
github.com/cosmos/cosmos-sdk/types/module/testutil.MakeTestEncodingConfig({0xc00063e8a0, 0x10, 0x0?})
/home/duc/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.47.2/types/module/testutil/codec.go:40 +0x75e
github.com/strangelove-ventures/interchaintest/v7/chain/cosmos.DefaultEncoding()
/home/duc/go/pkg/mod/github.com/notional-labs/interchaintest/v7@v7.1.2/chain/cosmos/codec.go:33 +0x43a
github.com/strangelove-ventures/interchaintest/v7/chain/cosmos.NewCosmosChain({0x38feb31, 0x1c}, {{0x38c8bea, 0x6}, {0xc0004461e8, 0x8}, {0x38ca70e, 0x7}, {0xc000660cc0, 0x1, ...}, ...}, ...)
/home/duc/go/pkg/mod/github.com/notional-labs/interchaintest/v7@v7.1.2/chain/cosmos/cosmos_chain.go:88 +0x86
github.com/strangelove-ventures/interchaintest/v7.buildChain(0xc00037e150, {0x38feb31, 0x1c}, {{0x38c8bea, 0x6}, {0xc0004461e8, 0x8}, {0x38ca70e, 0x7}, {0xc000660cc0, ...}, ...}, ...)
/home/duc/go/pkg/mod/github.com/notional-labs/interchaintest/v7@v7.1.2/chainfactory.go:139 +0x673
github.com/strangelove-ventures/interchaintest/v7.(*BuiltinChainFactory).Chains(0xc00063f518, {0x38feb31, 0x1c})
/home/duc/go/pkg/mod/github.com/notional-labs/interchaintest/v7@v7.1.2/chainfactory.go:112 +0x27b
github.com/notional-labs/composable-testnet/tests/interchaintest.TestBanksyPicassoIBCTransfer(0xc000478d00)
/home/duc/Notional/composable-testnet/tests/interchaintest/ibc_transfer_test.go:121 +0x125e
testing.tRunner(0xc000478d00, 0x40c97e0)
/usr/local/go/src/testing/testing.go:1576 +0x217
created by testing.(*T).Run
/usr/local/go/src/testing/testing.go:1629 +0x806
FAIL github.com/notional-labs/composable-testnet/tests/interchaintest 0.819s
FAIL
make: *** [Makefile:138: ictest-ibc] Error 1
We should change channel check from src channel to dst channel because composable is dst chain
https://github.com/notional-labs/composable-testnet/blob/6e46cc5143a8c97a15cc23d557715b13e6d1d568/x/transfermiddleware/keeper/relay.go#L52
than i run cli transfer of ppica from centauri to osmosis on channel 0
bash-5.1$ nix run .#osmosisd -- query ibc channel channels --home /tmp/composable-devnet/
channels:
- channel_id: channel-0
connection_hops:
- connection-0
counterparty:
channel_id: channel-0
port_id: transfer
ordering: ORDER_UNORDERED
port_id: transfer
state: STATE_OPEN
version: ics20-1
height:
revision_height: "44"
revision_number: "0"
pagination:
next_key: null
total: "0"
and cenauri
bash-5.1$ ^C
bash-5.1$ nix run .#centaurid -- query ibc channel channels --home /tmp/composable-devnet/
channels:
- channel_id: channel-0
connection_hops:
- connection-0
counterparty:
channel_id: channel-0
port_id: transfer
ordering: ORDER_UNORDERED
port_id: transfer
state: STATE_OPEN
version: ics20-1
height:
revision_height: "50"
revision_number: "0"
pagination:
next_key: null
total: "0"
so both are open, and relayed well.
[0mtransfer"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m packetForwardMiddleware OnRecvPacket \u001b[36mamount=\u001b[0m10000000000 \u001b[36mdenom=\u001b[0mppica \u001b[36mdst-channel=\u001b[0mchannel-0 \u001b[36mdst-port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc-packetfowardmiddleware \u001b[36msequence=\u001b[0m1 \u001b[36msrc-channel=\u001b[0mchannel-0 \u001b[36msrc-port=\u001b[0mtransfer"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m packetForwardMiddleware OnRecvPacket forward metadata does not exist \u001b[36mmodule=\u001b[0mx/ibc-packetfowardmiddleware"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m acknowledgement written \u001b[36mdst_channel=\u001b[0mchannel-0 \u001b[36mdst_port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc/channel \u001b[36msequence=\u001b[0m1 \u001b[36msrc_channel=\u001b[0mchannel-0 \u001b[36msrc_port=\u001b[0mtransfer"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m (msg service router) Finished executing msg"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m finished executing tx"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m beginning to execute tx"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m client state updated \u001b[36mclient-id=\u001b[0m07-tendermint-0 \u001b[36mheight=\u001b[0m0-34 \u001b[36mmodule=\u001b[0mx/ibc/client"}
{"level":"info","process":"osmosis","replica":1,"message":"Dragonberry Active"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m packet received \u001b[36mdst_channel=\u001b[0mchannel-0 \u001b[36mdst_port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc/channel \u001b[36msequence=\u001b[0m1 \u001b[36msrc_channel=\u001b[0mchannel-0 \u001b[36msrc_port=\u001b[0mtransfer"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m packetForwardMiddleware OnRecvPacket \u001b[36mamount=\u001b[0m10000000000 \u001b[36mdenom=\u001b[0mppica \u001b[36mdst-channel=\u001b[0mchannel-0 \u001b[36mdst-port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc-packetfowardmiddleware \u001b[36msequence=\u001b[0m1 \u001b[36msrc-channel=\u001b[0mchannel-0 \u001b[36msrc-port=\u001b[0mtransfer"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m packetForwardMiddleware OnRecvPacket forward metadata does not exist \u001b[36mmodule=\u001b[0mx/ibc-packetfowardmiddleware"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m acknowledgement written \u001b[36mdst_channel=\u001b[0mchannel-0 \u001b[36mdst_port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc/channel \u001b[36msequence=\u001b[0m1 \u001b[36msrc_channel=\u001b[0mchannel-0 \u001b[36msrc_port=\u001b[0mtransfer"}
{"level":"error","process":"osmosis","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m finished executing tx"}
token received on channel-0, denom ppica.
on centaurr, sender, logs are
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m packet acknowledged \u001b[36mdst_channel=\u001b[0mchannel-0 \u001b[36mdst_port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc/channel \u001b[36msequence=\u001b[0m1 \u001b[36msrc_channel=\u001b[0mchannel-0 \u001b[36msrc_port=\u001b[0mtransfer"}
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m packetForwardMiddleware OnAcknowledgementPacket \u001b[36mamount=\u001b[0m10000000000 \u001b[36mdenom=\u001b[0mppica \u001b[36mdst-channel=\u001b[0mchannel-0 \u001b[36mdst-port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc-packetfowardmiddleware \u001b[36msequence=\u001b[0m1 \u001b[36msrc-channel=\u001b[0mchannel-0 \u001b[36msrc-port=\u001b[0mtransfer"}
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m acknowledgement succeeded \u001b[36mchannel-id=\u001b[0mchannel-0 \u001b[36mmodule=\u001b[0mserver \u001b[36mport-id=\u001b[0mtransfer \u001b[36mresult=\u001b[0mRESPONSE_RESULT_TYPE_SUCCESS"}
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m client state updated \u001b[36mclient-id=\u001b[0m07-tendermint-0 \u001b[36mheights=\u001b[0m[{\"revision_height\":36}] \u001b[36mmodule=\u001b[0mx/ibc/client"}
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m packet acknowledged \u001b[36mdst_channel=\u001b[0mchannel-0 \u001b[36mdst_port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc/channel \u001b[36msequence=\u001b[0m1 \u001b[36msrc_channel=\u001b[0mchannel-0 \u001b[36msrc_port=\u001b[0mtransfer"}
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[33mDBG\u001b[0m packetForwardMiddleware OnAcknowledgementPacket \u001b[36mamount=\u001b[0m10000000000 \u001b[36mdenom=\u001b[0mppica \u001b[36mdst-channel=\u001b[0mchannel-0 \u001b[36mdst-port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc-packetfowardmiddleware \u001b[36msequence=\u001b[0m1 \u001b[36msrc-channel=\u001b[0mchannel-0 \u001b[36msrc-port=\u001b[0mtransfer"}
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m acknowledgement succeeded \u001b[36mchannel-id=\u001b[0mchannel-0 \u001b[36mmodule=\u001b[0mserver \u001b[36mport-id=\u001b[0mtransfer \u001b[36mresult=\u001b[0mRESPONSE_RESULT_TYPE_SUCCESS"}
so packet acked for transfer
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m packet sent \u001b[36mdst_channel=\u001b[0mchannel-0 \u001b[36mdst_port=\u001b[0mtransfer \u001b[36mmodule=\u001b[0mx/ibc/channel \u001b[36msequence=\u001b[0m1 \u001b[36msrc_channel=\u001b[0mchannel-0 \u001b[36msrc_port=\u001b[0mtransfer"}
{"level":"info","process":"centauri","replica":1,"message":"\u001b[90m6:40PM\u001b[0m \u001b[32mINF\u001b[0m IBC fungible token transfer \u001b[36mamount=\u001b[0m10000000000 \u001b[36mmodule=\u001b[0mx/ibc-transfer \u001b[36mreceiver=\u001b[0mosmo12smx2wdlyttvyzvzg54y2vnqwq2qjatescq89n \u001b[36msender=\u001b[0mcentauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd \u001b[36mtoken=\u001b[0mppica"}
and hermes log
{\"height\":\"33\",\"tx\":\"CskBCsYBCikvaWJjLmFwcGxpY2F0aW9ucy50cmFuc2Zlci52MS5Nc2dUcmFuc2ZlchKYAQoIdHJhbnNmZXISCWNoYW5uZWwtMBoUCgVwcGljYRILMTAwMDAwMDAwMDAiL2NlbnRhdXJpMXFxMGs3ZDU2anV1N2g0OWFyZWx6Z3cwOWpjY2RrOHN1anJjcmpkKitvc21vMTJzbXgyd2RseXR0dnl6dnpnNTR5MnZucXdxMnFqYXRlc2NxODluMgMQhAg4sNT8m+mwmb0XEm0KUApGCh8vY29zbW9zLmNyeXB0by5zZWNwMjU2azEuUHViS2V5EiMKIQNN5kSY8yimvPuCDYkg0nSM2jLgNZ4WzbPwdHzlS5WDSBIECgIIARgMEhkKEgoFcHBpY2ESCTkyMDAwMDE2NhDA8PULGkDB/UN2pks/sAz6XsvYHNn+A13yxpAZnyt/iRdDdAr34DyA3CCLwTEFuNwWvau+QjRmL1EXaFc4SkxnFYsIhbjb\",\"result\":{\"data\":\"EjcKMS9pYmMuYXBwbGljYXRpb25zLnRyYW5zZmVyLnYxLk1zZ1RyYW5zZmVyUmVzcG9uc2USAggB\",\"log\":\"[{\\\"msg_index\\\":0,\\\"events\\\":[{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"action\\\",\\\"value\\\":\\\"/ibc.applications.transfer.v1.MsgTransfer\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\\\"}]},{\\\"type\\\":\\\"coin_spent\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"spender\\\",\\\"value\\\":\\\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\\\"},{\\\"key\\\":\\\"amount\\\",\\\"value\\\":\\\"10000000000ppica\\\"}]},{\\\"type\\\":\\\"coin_received\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"receiver\\\",\\\"value\\\":\\\"centauri1a53udazy8ayufvy0s434pfwjcedzqv34jx0e0a\\\"},{\\\"key\\\":\\\"amount\\\",\\\"value\\\":\\\"10000000000ppica\\\"}]},{\\\"type\\\":\\\"transfer\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"recipient\\\",\\\"value\\\":\\\"centauri1a53udazy8ayufvy0s434pfwjcedzqv34jx0e0a\\\"},{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\\\"},{\\\"key\\\":\\\"amount\\\",\\\"value\\\":\\\"10000000000ppica\\\"}]},{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\\\"}]},{\\\"type\\\":\\\"send_packet\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"packet_data\\\",\\\"value\\\":\\\"{\\\\\\\"amount\\\\\\\":\\\\\\\"10000000000\\\\\\\",\\\\\\\"denom\\\\\\\":\\\\\\\"ppica\\\\\\\",\\\\\\\"receiver\\\\\\\":\\\\\\\"osmo12smx2wdlyttvyzvzg54y2vnqwq2qjatescq89n\\\\\\\",\\\\\\\"sender\\\\\\\":\\\\\\\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\\\\\\\"}\\\"},{\\\"key\\\":\\\"packet_data_hex\\\",\\\"value\\\":\\\"7b22616d6f756e74223a223130303030303030303030222c2264656e6f6d223a227070696361222c227265636569766572223a226f736d6f3132736d783277646c79747476797a767a6735347932766e71777132716a61746573637138396e222c2273656e646572223a2263656e7461757269317171306b376435366a7575376834396172656c7a677730396a6363646b3873756a7263726a64227d\\\"},{\\\"key\\\":\\\"packet_timeout_height\\\",\\\"value\\\":\\\"0-1028\\\"},{\\\"key\\\":\\\"packet_timeout_timestamp\\\",\\\"value\\\":\\\"1691776238705650224\\\"},{\\\"key\\\":\\\"packet_sequence\\\",\\\"value\\\":\\\"1\\\"},{\\\"key\\\":\\\"packet_src_port\\\",\\\"value\\\":\\\"transfer\\\"},{\\\"key\\\":\\\"packet_src_channel\\\",\\\"value\\\":\\\"channel-0\\\"},{\\\"key\\\":\\\"packet_dst_port\\\",\\\"value\\\":\\\"transfer\\\"},{\\\"key\\\":\\\"packet_dst_channel\\\",\\\"value\\\":\\\"channel-0\\\"},{\\\"key\\\":\\\"packet_channel_ordering\\\",\\\"value\\\":\\\"ORDER_UNORDERED\\\"},{\\\"key\\\":\\\"packet_connection\\\",\\\"value\\\":\\\"connection-0\\\"},{\\\"key\\\":\\\"connection_id\\\",\\\"value\\\":\\\"connection-0\\\"}]},{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"ibc_channel\\\"}]},{\\\"type\\\":\\\"ibc_transfer\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"sender\\\",\\\"value\\\":\\\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\\\"},{\\\"key\\\":\\\"receiver\\\",\\\"value\\\":\\\"osmo12smx2wdlyttvyzvzg54y2vnqwq2qjatescq89n\\\"},{\\\"key\\\":\\\"amount\\\",\\\"value\\\":\\\"10000000000\\\"},{\\\"key\\\":\\\"denom\\\",\\\"value\\\":\\\"ppica\\\"},{\\\"key\\\":\\\"memo\\\"}]},{\\\"type\\\":\\\"message\\\",\\\"attributes\\\":[{\\\"key\\\":\\\"module\\\",\\\"value\\\":\\\"transfer\\\"}]}]}]\",\"gas_wanted\":\"25000000\",\"gas_used\":\"81849\",\"events\":[{\"type\":\"tx\",\"attributes\":[{\"key\":\"acc_seq\",\"value\":\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd/12\",\"index\":true}]},{\"type\":\"tx\",\"attributes\":[{\"key\":\"signature\",\"value\":\"wf1DdqZLP7AM+l7L2BzZ/gNd8saQGZ8rf4kXQ3QK9+A8gNwgi8ExBbjcFr2rvkI0Zi9RF2hXOEpMZxWLCIW42w==\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/ibc.applications.transfer.v1.MsgTransfer\",\"index\":true},{\"key\":\"sender\",\"value\":\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\",\"index\":true}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\",\"index\":true},{\"key\":\"amount\",\"value\":\"10000000000ppica\",\"index\":true}]},{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"centauri1a53udazy8ayufvy0s434pfwjcedzqv34jx0e0a\",\"index\":true},{\"key\":\"amount\",\"value\":\"10000000000ppica\",\"index\":true}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"centauri1a53udazy8ayufvy0s434pfwjcedzqv34jx0e0a\",\"index\":true},{\"key\":\"sender\",\"value\":\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\",\"index\":true},{\"key\":\"amount\",\"value\":\"10000000000ppica\",\"index\":true}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"sender\",\"value\":\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\",\"index\":true}]},{\"type\":\"send_packet\",\"attributes\":[{\"key\":\"packet_data\",\"value\":\"{\\\"amount\\\":\\\"10000000000\\\",\\\"denom\\\":\\\"ppica\\\",\\\"receiver\\\":\\\"osmo12smx2wdlyttvyzvzg54y2vnqwq2qjatescq89n\\\",\\\"sender\\\":\\\"centauri1qq0k7d56juu7h49arelzgw09jccdk8sujrcrjd\\\"}\",\"index\":true},{\"key\":\"packet_data_hex\",
transfer/channel-0 everywhere
please not i disabled ppica ibc mapping because with it i cannot use ppica in CW #219
So, we've accumulated some technical debt, and this issue will help to solve it. It is broken into sub-issues so that we can approach it in pieces.
In version 8 we will be putting the last pieces of infrastructure in place for ethereum IBC, namely:
Nice to haves:
As discussed with @blasrodri, we should save the staking Tx and only execute it at the end of the epoch.
when: PLACEHOLDER
total time: PLACEHOLDER
PLACEHOLDER
each step is no more than 1 week with some to check output
add production grade modules to support some ibc enabled production cw contracts
port forward -> port forward -> cw hook
should work, no need to prove if hard, but setup should be here. as per osmosis that works in their modules. prove could be reference to osmosis reply/gh issue/or codebaseA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.