Skip to content

Implement IBC Callbacks Adapter #160

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

Open
wants to merge 39 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
e0e7447
create a skip2 package
NotJeremyLiu Feb 24, 2025
32514bd
add skip2 to workspace cargo.toml
NotJeremyLiu Feb 24, 2025
5a72034
update makefile to use 15.1 optimizer
NotJeremyLiu Feb 24, 2025
1792b02
add ibc-callbacks scaffolding
NotJeremyLiu Feb 24, 2025
fd5a337
update skip and skip2 packages with eureka fee
NotJeremyLiu Mar 3, 2025
398eb0b
update makefile with latest cw optimizer
NotJeremyLiu Mar 3, 2025
656b1d9
update cargo toml and cargo lock
NotJeremyLiu Mar 3, 2025
6db328b
add ibc callbacks adapter
NotJeremyLiu Mar 3, 2025
31bbed6
update entrypoint contract with eureka fee logic
NotJeremyLiu Mar 3, 2025
8ceb621
update other ibc adapters for updated type
NotJeremyLiu Mar 3, 2025
1309ae1
Merge branch 'main' into jl/ibc-callbacks-adapter
NotJeremyLiu Mar 3, 2025
b915923
Update Cargo.lock
NotJeremyLiu Mar 3, 2025
5506a6f
run make schema
NotJeremyLiu Mar 3, 2025
c083cdc
allow large enum variant
NotJeremyLiu Mar 3, 2025
b13a5a5
fix mantra clippy
NotJeremyLiu Mar 3, 2025
35b671c
allow deprecated fields / variants in ibc callbacks adapter
NotJeremyLiu Mar 3, 2025
3f9f8e2
fix typo commited
NotJeremyLiu Mar 3, 2025
7f470ea
hex encode upper on the ibc denom
NotJeremyLiu Mar 3, 2025
19c94ba
check success on dest callback
NotJeremyLiu Mar 4, 2025
add6386
run make fmt
NotJeremyLiu Mar 4, 2025
d14da5c
add error
NotJeremyLiu Mar 5, 2025
a2e7202
refund only the coin that was ibc transferred on err and timeout
NotJeremyLiu Mar 5, 2025
55b7d71
clarify comment
NotJeremyLiu Mar 5, 2025
f179e58
run make fmt
NotJeremyLiu Mar 5, 2025
a215583
add eureka fee tests for entrypoint
NotJeremyLiu Mar 6, 2025
a36cd62
add execute ibc transfer tests
NotJeremyLiu Mar 6, 2025
61c7411
handle both nanos and seconds timeout timestamps
NotJeremyLiu Mar 10, 2025
7f7507a
handle returning multi-hop-denoms
NotJeremyLiu Mar 18, 2025
529402e
make swap venues optional, add mantra pool manager
NotJeremyLiu Mar 24, 2025
3e39673
add ledger testnet contracts
NotJeremyLiu Mar 24, 2025
909e323
Add cosmoshub testnet contracts
NotJeremyLiu Mar 24, 2025
ebb5df9
deploy cosmoshub mainnet contracts
NotJeremyLiu Apr 4, 2025
853d3a4
update lombard testnet deployed contracts
NotJeremyLiu Apr 6, 2025
4a4569a
deploy ledger mainnet contracts
NotJeremyLiu Apr 7, 2025
ecbb873
proper ledger deployment with swap contract
NotJeremyLiu Apr 7, 2025
9a02e02
deploy babylon mainnet contracts
NotJeremyLiu Apr 9, 2025
78e362b
add evm addr check if solidity encoding is provided
NotJeremyLiu Apr 15, 2025
976d27e
update cosmos hub deployed contracts
NotJeremyLiu Apr 15, 2025
d79d1c4
update ledger deployed contracts
NotJeremyLiu Apr 15, 2025
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
1,705 changes: 1,536 additions & 169 deletions Cargo.lock

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ serde = { version = "1.0.194", default-features = false, features
serde-cw-value = "0.7.0"
serde-json-wasm = "1.0.1"
skip = { version = "0.3.0", path = "./packages/skip" }
skip2 = { version = "0.3.0", path = "./packages/skip2" }
test-case = "3.3.1"
thiserror = "1"
white-whale-std = "1.1.1"
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ optimize:
--mount type=volume,source="$(notdir $(CURDIR))_cache",target=/target \
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
--platform linux/arm64 \
cosmwasm/workspace-optimizer-arm64:0.14.0; else \
cosmwasm/workspace-optimizer-arm64:0.16.1; else \
docker run --rm -v "$(CURDIR)":/code \
--mount type=volume,source="$(notdir $(CURDIR))_cache",target=/target \
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
--platform linux/amd64 \
cosmwasm/workspace-optimizer:0.14.0; fi
cosmwasm/workspace-optimizer:0.16.1; fi
37 changes: 37 additions & 0 deletions contracts/adapters/ibc/ibc-callbacks/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[package]
name = "skip-go-ibc-adapter-ibc-callbacks"
version = { workspace = true }
rust-version = { workspace = true }
authors = { workspace = true }
edition = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
documentation = { workspace = true }
keywords = { workspace = true }

[lib]
crate-type = ["cdylib", "rlib"]

[features]
# use library feature to disable all instantiate/execute/query exports
library = []

[dependencies]
cosmwasm-schema = { version = "2.0.0" }
cosmwasm-std = { version = "2.0.0", features = ["stargate"] }
cw2 = { version = "2.0.0" }
cw-storage-plus = { version = "2.0.0" }
ibc-proto = { git = "https://github.com/NotJeremyLiu/ibc-proto-rs", branch = "jl/ftp-v1", default-features = false, features = ["std", "serde"]}
prost = { version = "0.13.5" }
ibc-eureka-solidity-types = {git = "https://github.com/cosmos/solidity-ibc-eureka", branch="serdar/309-callbacks-pkg"}
serde-json-wasm = { workspace = true }
serde-cw-value = { workspace = true }
skip2 = { workspace = true }
thiserror = { workspace = true }
alloy-sol-types = { version = "0.8", default-features = false, features=["json"]}
hex = { version = "0.4", default-features = false }
sha2 = { version = "0.10", default-features = false }

[dev-dependencies]
test-case = { workspace = true }
1 change: 1 addition & 0 deletions contracts/adapters/ibc/ibc-callbacks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# IBC Callbacks Transfer Adapter Contract
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
use cosmwasm_schema::write_api;
use skip2::ibc::{ExecuteMsg, InstantiateMsg, QueryMsg};

fn main() {
write_api! {
instantiate: InstantiateMsg,
execute: ExecuteMsg,
query: QueryMsg
}
}
Loading