Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
66 changes: 33 additions & 33 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ resolver = "2"
# NOTE: All paths must be listed out (i.e. no globs) since ifd is still broken in nix (still can't import the output of `cargo metadata` :( ). See crane.nix for where this is used.
members = [
"cosmwasm/token-factory-api",
"cosmwasm/ibc-union/app/ucs03-zkgm",
"cosmwasm/ibc-union/app/ucs06-funded-dispatch",
"cosmwasm/app/ucs03-zkgm",
"cosmwasm/app/ucs06-funded-dispatch",
"cosmwasm/multicall",
"cosmwasm/lst",
"cosmwasm/lst-staker",

"cosmwasm/ibc-union/core",
"cosmwasm/ibc-union/core/msg",
"cosmwasm/ibc-union/core/light-client-interface",
"cosmwasm/core",
"cosmwasm/core/msg",
"cosmwasm/core/light-client-interface",

"devnet-compose",

Expand Down Expand Up @@ -97,27 +97,27 @@ members = [

"cosmwasm/deployer",

"cosmwasm/ibc-union/lightclient/arbitrum",
"cosmwasm/ibc-union/lightclient/base",
"cosmwasm/ibc-union/lightclient/berachain",
"cosmwasm/ibc-union/lightclient/bob",
"cosmwasm/ibc-union/lightclient/cometbls",
"cosmwasm/ibc-union/lightclient/ethereum",
"cosmwasm/ibc-union/lightclient/ethermint",
"cosmwasm/ibc-union/lightclient/tendermint",
# "cosmwasm/ibc-union/lightclient/movement",
"cosmwasm/ibc-union/lightclient/parlia",
"cosmwasm/ibc-union/lightclient/trusted-mpt",
"cosmwasm/ibc-union/lightclient/attested",
"cosmwasm/ibc-union/lightclient/starknet",
"cosmwasm/ibc-union/lightclient/state-lens-ics23-mpt",
# "cosmwasm/ibc-union/lightclient/state-lens-ics23-smt",
"cosmwasm/ibc-union/lightclient/state-lens-ics23-ics23",
"cosmwasm/ibc-union/lightclient/sui",
"cosmwasm/lightclient/arbitrum",
"cosmwasm/lightclient/base",
"cosmwasm/lightclient/berachain",
"cosmwasm/lightclient/bob",
"cosmwasm/lightclient/cometbls",
"cosmwasm/lightclient/ethereum",
"cosmwasm/lightclient/ethermint",
"cosmwasm/lightclient/tendermint",
# "cosmwasm/lightclient/movement",
"cosmwasm/lightclient/parlia",
"cosmwasm/lightclient/trusted-mpt",
"cosmwasm/lightclient/attested",
"cosmwasm/lightclient/starknet",
"cosmwasm/lightclient/state-lens-ics23-mpt",
# "cosmwasm/lightclient/state-lens-ics23-smt",
"cosmwasm/lightclient/state-lens-ics23-ics23",
"cosmwasm/lightclient/sui",

# these will all be re enabled and updated once ethereum-light-client is updated
# "cosmwasm/ibc-union/lightclient/scroll",
# "cosmwasm/ibc-union/lightclient/linea",
# "cosmwasm/lightclient/scroll",
# "cosmwasm/lightclient/linea",

"tools/devnet-utils",
"tools/build-evm-deployer-tx",
Expand Down Expand Up @@ -366,7 +366,7 @@ bob-verifier = { path = "lib/bob-verifier", default
cometbft-rpc = { path = "lib/cometbft-rpc", default-features = false }
cometbft-types = { path = "lib/cometbft-types", default-features = false }
cometbls-groth16-verifier = { path = "lib/cometbls-groth16-verifier", default-features = false }
cometbls-light-client = { path = "cosmwasm/ibc-union/lightclient/cometbls", default-features = false }
cometbls-light-client = { path = "cosmwasm/lightclient/cometbls", default-features = false }
cometbls-light-client-types = { path = "lib/cometbls-light-client-types", default-features = false }
concurrent-keyring = { path = "lib/concurrent-keyring", default-features = false }
consensus-primitives = { path = "lib/consensus-primitives", default-features = false }
Expand All @@ -385,7 +385,7 @@ deployments = { path = "lib/deployments", default-
depolama = { path = "lib/depolama", default-features = false }
embed-commit = { path = "lib/embed-commit", default-features = false }
embed-commit-verifier = { path = "lib/embed-commit/verifier", default-features = false }
ethereum-light-client = { path = "cosmwasm/ibc-union/lightclient/ethereum", default-features = false }
ethereum-light-client = { path = "cosmwasm/lightclient/ethereum", default-features = false }
ethereum-light-client-types = { path = "lib/ethereum-light-client-types", default-features = false }
ethereum-sync-protocol = { path = "lib/ethereum-sync-protocol", default-features = false }
ethereum-sync-protocol-types = { path = "lib/ethereum-sync-protocol-types", default-features = false }
Expand All @@ -398,9 +398,9 @@ gnark-key-parser = { path = "lib/gnark-key-parser", def
gnark-mimc = { path = "lib/gnark-mimc", default-features = false }
ibc-classic-spec = { path = "lib/ibc-classic-spec", default-features = false }
ibc-solidity = { path = "lib/ibc-solidity", default-features = false }
ibc-union = { path = "cosmwasm/ibc-union/core", default-features = false }
ibc-union-light-client = { path = "cosmwasm/ibc-union/core/light-client-interface", default-features = false }
ibc-union-msg = { path = "cosmwasm/ibc-union/core/msg", default-features = false }
ibc-union = { path = "cosmwasm/core", default-features = false }
ibc-union-light-client = { path = "cosmwasm/core/light-client-interface", default-features = false }
ibc-union-msg = { path = "cosmwasm/core/msg", default-features = false }
ibc-union-spec = { path = "lib/ibc-union-spec", default-features = false }
ics23 = { path = "lib/ics23", default-features = false }
linea-light-client-types = { path = "lib/linea-light-client-types", default-features = false }
Expand Down Expand Up @@ -431,7 +431,7 @@ starknet-storage-verifier = { path = "lib/starknet-storage-verif
starknet-types = { path = "lib/starknet-types", default-features = false }
starknet-verifier = { path = "lib/starknet-verifier", default-features = false }
state-lens-ics23-ics23-light-client-types = { path = "lib/state-lens-ics23-ics23-light-client-types", default-features = false }
state-lens-ics23-mpt-light-client = { path = "cosmwasm/ibc-union/lightclient/state-lens-ics23-mpt", default-features = false }
state-lens-ics23-mpt-light-client = { path = "cosmwasm/lightclient/state-lens-ics23-mpt", default-features = false }
state-lens-ics23-mpt-light-client-types = { path = "lib/state-lens-ics23-mpt-light-client-types", default-features = false }
state-lens-ics23-smt-light-client-types = { path = "lib/state-lens-ics23-smt-light-client-types", default-features = false }
state-lens-light-client-types = { path = "lib/state-lens-light-client-types", default-features = false }
Expand All @@ -440,18 +440,18 @@ subset-of-derive = { path = "lib/subset-of-derive", def
sui-light-client-types = { path = "lib/sui-light-client-types", default-features = false }
sui-sdk = { git = "https://github.com/mystenlabs/sui", default-features = false }
sui-verifier = { path = "lib/sui-verifier", default-features = false }
tendermint-light-client = { path = "cosmwasm/ibc-union/lightclient/tendermint", default-features = false }
tendermint-light-client = { path = "cosmwasm/lightclient/tendermint", default-features = false }
tendermint-light-client-types = { path = "lib/tendermint-light-client-types", default-features = false }
tendermint-verifier = { path = "lib/tendermint-verifier", default-features = false }
token-factory-api = { path = "cosmwasm/token-factory-api", default-features = false }
trusted-mpt-light-client-types = { path = "lib/trusted-mpt-light-client-types", default-features = false }
ucs03-solvable = { path = "lib/ucs03-solvable", default-features = false }
ucs03-zkgm = { path = "cosmwasm/ibc-union/app/ucs03-zkgm", default-features = false }
ucs03-zkgm = { path = "cosmwasm/app/ucs03-zkgm", default-features = false }
ucs03-zkgm-packet = { path = "lib/ucs03-zkgm-packet", default-features = false }
ucs03-zkgm-token-minter-api = { path = "cosmwasm/ucs03-zkgm-token-minter-api", default-features = false }
ucs03-zkgmable = { path = "lib/ucs03-zkgmable", default-features = false }
ucs04 = { path = "lib/ucs04", default-features = false }
unionlabs = { path = "lib/unionlabs", default-features = false, features = ["proto"] } # TODO: Properly feature gate proto in unionlabs
unionlabs = { path = "lib/unionlabs", default-features = false, features = ["proto"] } # TODO: Properly feature gate proto in unionlabs
unionlabs-encoding = { path = "lib/unionlabs-encoding", default-features = false }
unionlabs-primitives = { path = "lib/unionlabs-primitives", default-features = false }
upgradable = { path = "cosmwasm/upgradable", default-features = false }
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ The upgradability of contracts on other chains, connections, token configuration
| [`galoisd`](./galoisd) | The zero-knowledge prover implementation | [Go] [Gnark] |
| [`voyager`](./voyager) | Modular hyper-performant cross-ecosystem relayer | [Rust] |
| [`cosmwasm`](./cosmwasm) | [CosmWasm] smart contract stack | [Rust] |
| [`light-clients`](./cosmwasm/ibc-union/lightclient) | [Light Clients] for various ecosystems | [Rust] |
| [`light-clients`](./cosmwasm/lightclient) | [Light Clients] for various ecosystems | [Rust] |
| [`unionvisor`](./unionvisor/README.md) | Node supervisor intended for production usage | [Rust] |
| [`drip`](./drip) | Faucet for [Cosmos] chains: [app.union.build/faucet] | [Rust] |
| [`evm`](./evm) | [EVM] smart contract stack | [Solidity] |
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions cosmwasm/cosmwasm.nix
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ _: {
manager = crane.buildWasmContract "cosmwasm/gatekeeper" { };
cw20-base = crane.buildWasmContract "cosmwasm/cw20-base" { };
cw20-wrapped-tokenfactory = crane.buildWasmContract "cosmwasm/cw20-wrapped-tokenfactory" { };
ibc-union = crane.buildWasmContract "cosmwasm/ibc-union/core" { };
ibc-union = crane.buildWasmContract "cosmwasm/core" { };
multicall = crane.buildWasmContract "cosmwasm/multicall" { };
on-zkgm-call-proxy = crane.buildWasmContract "cosmwasm/on-zkgm-call-proxy" { };
cw20-token-minter = crane.buildWasmContract "cosmwasm/cw20-token-minter" { };
Expand Down Expand Up @@ -941,13 +941,13 @@ _: {
let
lc = all-lightclients.${name};
in
crane.buildWasmContract "cosmwasm/ibc-union/lightclient/${lc.dir}" {
crane.buildWasmContract "cosmwasm/lightclient/${lc.dir}" {
features = lc.features or null;
};

mk-app =
dir:
crane.buildWasmContract "cosmwasm/ibc-union/app/${dir}" {
crane.buildWasmContract "cosmwasm/app/${dir}" {
# none of our apps use bls precompiles, so the miscompilation is not an issue
buildWithOz = true;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repository = { workspace = true }
workspace = true

[package.metadata.crane]
test-include = ["cosmwasm/ibc-union/lightclient/cometbls/src/test"]
test-include = ["cosmwasm/lightclient/cometbls/src/test"]

[lib]
crate-type = ["cdylib", "rlib"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repository = { workspace = true }
workspace = true

[package.metadata.crane]
test-include = ["cosmwasm/ibc-union/lightclient/ethereum/src/test"]
test-include = ["cosmwasm/lightclient/ethereum/src/test"]

[lib]
crate-type = ["cdylib", "rlib"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ repository = { workspace = true }
workspace = true

[package.metadata.crane]
test-include = ["cosmwasm/ibc-union/lightclient/tendermint/src/test"]
test-include = ["cosmwasm/lightclient/tendermint/src/test"]

[lib]
crate-type = ["cdylib", "rlib"]
Expand Down
4 changes: 2 additions & 2 deletions docs/src/content/docs/connect/new-chain.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ If your chain is not yet [connected to Union](/protocol/chains/overview/), then

You'll need to upload two contracts:

- [union-ibc](https://github.com/unionlabs/union/tree/main/cosmwasm/union-ibc/core): Union's modular IBC stack.
- [cometbls-light-client](https://github.com/unionlabs/union/tree/main/cosmwasm/ibc-union/lightclient/cometbls): Light-client tracking [CometBLS](/architecture/cometbls) consensus.
- [union-ibc](https://github.com/unionlabs/union/tree/main/cosmwasm/core): Union's modular IBC stack.
- [cometbls-light-client](https://github.com/unionlabs/union/tree/main/cosmwasm/lightclient/cometbls): Light-client tracking [CometBLS](/architecture/cometbls) consensus.


### Cosmos
Expand Down
4 changes: 2 additions & 2 deletions docs/src/content/docs/connect/new-chain/cosmwasm.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Connecting a new CosmWasm chain is easy and can be done in four simple steps doc

You'll need to upload two contracts:

- [ibc-union](https://github.com/unionlabs/union/tree/main/cosmwasm/ibc-union/core): Union's modular IBC stack.
- [cometbls-light-client](https://github.com/unionlabs/union/tree/main/cosmwasm/ibc-union/light-clients/cometbls): Light-client tracking [CometBLS](/architecture/cometbls) consensus.
- [ibc-union](https://github.com/unionlabs/union/tree/main/cosmwasm/core): Union's modular IBC stack.
- [cometbls-light-client](https://github.com/unionlabs/union/tree/main/cosmwasm/light-clients/cometbls): Light-client tracking [CometBLS](/architecture/cometbls) consensus.


To upload [CosmWasm](https://cosmwasm.com/) contracts to your Cosmos chain, you need your chain's binary. We'll use `starsd` in this example.
Expand Down
4 changes: 2 additions & 2 deletions docs/src/content/docs/connect/new-chain/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ If you want to get connected, just ensure your chain has a EVM/CosmWasm/Move VM
<Steps>
1. Upload `ibc-union` and `light-client` contracts

This means deploying and initializing both the [`ibc-union`](https://github.com/unionlabs/union/tree/ab76fd72e114a2b8db8ad469dc587aec865e2095/cosmwasm/ibc-union/core) contract and the respective light clients for the chain you're trying to connect.
This means deploying and initializing both the [`ibc-union`](https://github.com/unionlabs/union/tree/ab76fd72e114a2b8db8ad469dc587aec865e2095/cosmwasm/core) contract and the respective light clients for the chain you're trying to connect.
You will then need to deploy the CometBLS light client on your chain as well as the respective light client of your chain on Union.
Union has implementations the following [light clients](https://github.com/unionlabs/union/tree/main/cosmwasm/ibc-union/light-clients):
Union has implementations the following [light clients](https://github.com/unionlabs/union/tree/main/cosmwasm/lightclient):
- Arbitrum (CosmWasm)
- Berachain (CosmWasm)
- CometBLS (Solidity, CosmWasm)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/ucs/00.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ import { LinkCard } from '@astrojs/starlight/components';

<LinkCard title="UCS00 - EVM reference implementation" description="Canonical UCS00 implementation in Solidity" href="https://github.com/unionlabs/union/blob/main/evm/contracts/apps/ucs/00-pingpong/PingPong.sol" />

<LinkCard title="UCS00 - CosmWasm reference implementation" description="Canonical UCS00 implementation in Rust" href="https://github.com/unionlabs/union/tree/main/cosmwasm/ibc-union/app/ucs00-pingpong" />
<LinkCard title="UCS00 - CosmWasm reference implementation" description="Canonical UCS00 implementation in Rust" href="https://github.com/unionlabs/union/tree/main/cosmwasm/app/ucs00-pingpong" />

2 changes: 1 addition & 1 deletion docs/src/content/docs/ucs/03.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1148,4 +1148,4 @@ import { LinkCard } from '@astrojs/starlight/components';

<LinkCard title="UCS03 - EVM reference implementation" description="Canonical UCS03 implementation in Solidity" href="https://github.com/unionlabs/union/blob/main/evm/contracts/apps/ucs/03-zkgm/" />

<LinkCard title="UCS03 - CosmWasm reference implementation" description="Canonical UCS03 implementation in Rust" href="https://github.com/unionlabs/union/tree/main/cosmwasm/ibc-union/app/ucs03-zkgm" />
<LinkCard title="UCS03 - CosmWasm reference implementation" description="Canonical UCS03 implementation in Rust" href="https://github.com/unionlabs/union/tree/main/cosmwasm/app/ucs03-zkgm" />
2 changes: 1 addition & 1 deletion docs/src/content/docs/ucs/06.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -326,4 +326,4 @@ import { LinkCard } from '@astrojs/starlight/components';

<LinkCard title="UCS06 - EVM reference implementation" description="Canonical UCS06 implementation in Solidity" href="https://github.com/unionlabs/union/blob/main/evm/contracts/apps/ucs/06-funded-dispatch/FundedDispatch.sol" />

<LinkCard title="UCS06 - CosmWasm reference implementation" description="Canonical UCS06 implementation in Rust" href="https://github.com/unionlabs/union/tree/main/cosmwasm/ibc-union/app/ucs06-funded-dispatch" />
<LinkCard title="UCS06 - CosmWasm reference implementation" description="Canonical UCS06 implementation in Rust" href="https://github.com/unionlabs/union/tree/main/cosmwasm/app/ucs06-funded-dispatch" />
2 changes: 1 addition & 1 deletion lib/beacon-api/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
A basic implementation of a client for the [Ethereum Beacon API][beacon-api].

This library currently only provides the minimal interfaces required to fetch updates for our [ethereum light client](../../cosmwasm/ibc-union/lightclient/ethereum/README.md). Adding support for more endpoints is currently low priority, bu we welcome contributions to add additional functionality!
This library currently only provides the minimal interfaces required to fetch updates for our [ethereum light client](../../cosmwasm/lightclient/ethereum/README.md). Adding support for more endpoints is currently low priority, bu we welcome contributions to add additional functionality!

[beacon-api]: https://ethereum.github.io/beacon-APIs/
8 changes: 4 additions & 4 deletions tools/rust/crane.nix
Original file line number Diff line number Diff line change
Expand Up @@ -818,13 +818,13 @@
# cleanCargoLock = writeTOML "Cargo.lock" (
# cleanCargoLock (
# builtins.attrNames (
# ((crateCargoToml "cosmwasm/ibc-union/core").dependencies or { })
# // ((crateCargoToml "cosmwasm/ibc-union/core").build-dependencies or { })
# // (lib.optionalAttrs false (crateCargoToml "cosmwasm/ibc-union/core").dev-dependencies or { })
# ((crateCargoToml "cosmwasm/core").dependencies or { })
# // ((crateCargoToml "cosmwasm/core").build-dependencies or { })
# // (lib.optionalAttrs false (crateCargoToml "cosmwasm/core").dev-dependencies or { })
# )
# )
# );
# getAllDeps = dbg (getAllDeps [ "cosmwasm/ibc-union/core" ]);
# getAllDeps = dbg (getAllDeps [ "cosmwasm/core" ]);
# getDependency = dbg (
# getCargoLockPackageEntry "static_assertions 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)"
# );
Expand Down