From 662d2ec410e5d0a0a069aafe41458b2a2ace654d Mon Sep 17 00:00:00 2001 From: Luca Joss <43531661+ljoss17@users.noreply.github.com> Date: Wed, 8 Jan 2025 11:12:34 +0100 Subject: [PATCH] Add ibc-go-v9 with wasm (#281) * Add ibc-go-v9 with wasm from branch and add libwasmvm 2.1.4 * Remove gaia 6.0.3 from apps.nix * Remove Gaia 4 from apps.nix --- flake.lock | 38 +++++++++++++++++++++++++++++++++++++- flake.nix | 11 +++++++++++ modules/apps.nix | 8 -------- modules/packages.nix | 2 +- packages/ibc-go.nix | 16 ++++++++++++++++ packages/libwasmvm.nix | 12 ++++++++++++ 6 files changed, 77 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 96bd4723..dc75a080 100644 --- a/flake.lock +++ b/flake.lock @@ -951,6 +951,23 @@ "type": "github" } }, + "ibc-go-v9-wasm-src": { + "flake": false, + "locked": { + "lastModified": 1734690421, + "narHash": "sha256-E0LxbmwuGAM3c9OvncRpfvxeQHYbJS2PADGTuI0w38Y=", + "owner": "cosmos", + "repo": "ibc-go", + "rev": "ae2bfabb6df53c000c1212ae41b7d0a0743b851a", + "type": "github" + }, + "original": { + "owner": "cosmos", + "ref": "08-wasm/release/v0.5.x%2Bibc-go-v9.0.x-wasmvm-v2.1.x", + "repo": "ibc-go", + "type": "github" + } + }, "ibc-rs-src": { "flake": false, "locked": { @@ -1488,6 +1505,7 @@ "ibc-go-v8-src": "ibc-go-v8-src", "ibc-go-v8-wasm-src": "ibc-go-v8-wasm-src", "ibc-go-v9-src": "ibc-go-v9-src", + "ibc-go-v9-wasm-src": "ibc-go-v9-wasm-src", "ibc-rs-src": "ibc-rs-src", "ica-src": "ica-src", "ignite-cli-src": "ignite-cli-src", @@ -1534,7 +1552,8 @@ "wasmvm_2_0_3-src": "wasmvm_2_0_3-src", "wasmvm_2_1_0-src": "wasmvm_2_1_0-src", "wasmvm_2_1_2-src": "wasmvm_2_1_2-src", - "wasmvm_2_1_3-src": "wasmvm_2_1_3-src" + "wasmvm_2_1_3-src": "wasmvm_2_1_3-src", + "wasmvm_2_1_4-src": "wasmvm_2_1_4-src" } }, "rust-overlay": { @@ -2071,6 +2090,23 @@ "repo": "wasmvm", "type": "github" } + }, + "wasmvm_2_1_4-src": { + "flake": false, + "locked": { + "lastModified": 1733824920, + "narHash": "sha256-Bkrp8ocQftzfAAgZ8D8Gifi4qQJl32Urazf4ZAcCnpI=", + "owner": "CosmWasm", + "repo": "wasmvm", + "rev": "1ddd563a80546192e10a9cf38060b5ee5262808e", + "type": "github" + }, + "original": { + "owner": "CosmWasm", + "ref": "v2.1.4", + "repo": "wasmvm", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index fe77ca88..a50a8fa6 100644 --- a/flake.nix +++ b/flake.nix @@ -169,6 +169,14 @@ flake = false; }; + ibc-go-v9-wasm-src = { + type = "github"; + owner = "cosmos"; + repo = "ibc-go"; + ref = "08-wasm/release/v0.5.x%2Bibc-go-v9.0.x-wasmvm-v2.1.x"; + flake = false; + }; + cosmos-sdk-src.url = "github:cosmos/cosmos-sdk/v0.46.0"; cosmos-sdk-src.flake = false; @@ -220,6 +228,9 @@ wasmvm_1-src.url = "github:CosmWasm/wasmvm/v1.0.0"; wasmvm_1-src.flake = false; + wasmvm_2_1_4-src.url = "github:CosmWasm/wasmvm/v2.1.4"; + wasmvm_2_1_4-src.flake = false; + wasmvm_2_1_3-src.url = "github:CosmWasm/wasmvm/v2.1.3"; wasmvm_2_1_3-src.flake = false; diff --git a/modules/apps.nix b/modules/apps.nix index 7d36c257..f177f4d9 100644 --- a/modules/apps.nix +++ b/modules/apps.nix @@ -34,14 +34,6 @@ type = "app"; program = "${packages.hermes}/bin/hermes"; }; - gaia = { - type = "app"; - program = "${packages.gaia6_0_3}/bin/gaiad"; - }; - gaia4 = { - type = "app"; - program = "${packages.gaia4}/bin/gaiad"; - }; gaia5 = { type = "app"; program = "${packages.gaia5}/bin/gaiad"; diff --git a/modules/packages.nix b/modules/packages.nix index fa148974..809f11e7 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -182,7 +182,7 @@ # IBC Go (import ../packages/ibc-go.nix { inherit inputs; - inherit (self'.packages) libwasmvm_1_5_0 libwasmvm_2_1_0; + inherit (self'.packages) libwasmvm_1_5_0 libwasmvm_2_1_0 libwasmvm_2_1_4; inherit (cosmosLib) mkCosmosGoApp wasmdPreFixupPhase; }) # Libwasm VM diff --git a/packages/ibc-go.nix b/packages/ibc-go.nix index 92dbebed..8967da78 100644 --- a/packages/ibc-go.nix +++ b/packages/ibc-go.nix @@ -2,6 +2,7 @@ inputs, libwasmvm_1_5_0, libwasmvm_2_1_0, + libwasmvm_2_1_4, mkCosmosGoApp, wasmdPreFixupPhase, }: @@ -129,4 +130,19 @@ with inputs; ''; buildInputs = [libwasmvm_2_1_0]; }; + + ibc-go-v9-wasm-simapp = { + name = "simd"; + version = "08-wasm/release/v0.5.x%2Bibc-go-v9.0.x-wasmvm-v2.1.x"; + src = "${ibc-go-v9-wasm-src}/modules/light-clients/08-wasm"; + rev = ibc-go-v9-wasm-src.rev; + vendorHash = "sha256-6ceJhOA2GRgRi+WDt8DN2YhvtUsk4gg1OhG+R/jXJcM="; + goVersion = "1.22"; + tags = ["netgo"]; + engine = "cometbft/cometbft"; + preFixup = '' + ${wasmdPreFixupPhase libwasmvm_2_1_4 "simd"} + ''; + buildInputs = [libwasmvm_2_1_4]; + }; } diff --git a/packages/libwasmvm.nix b/packages/libwasmvm.nix index 36833fe6..9d84ce46 100644 --- a/packages/libwasmvm.nix +++ b/packages/libwasmvm.nix @@ -17,6 +17,18 @@ in builtins.mapAttrs (_: libwasmvm: pkgs.rustPlatform.buildRustPackage (libwasmvmCommon // libwasmvm)) { + libwasmvm_2_1_4 = { + src = "${inputs.wasmvm_2_1_4-src}/libwasmvm"; + version = "v2.1.4"; + cargoSha256 = "sha256-BFou131HI+YKXU9H51Xa/y7A441Z7QkAA92mhquJ5l4="; + cargoLock = { + lockFile = "${inputs.wasmvm_2_1_4-src}/libwasmvm/Cargo.lock"; + outputHashes = { + "cosmwasm-crypto-2.1.5" = "sha256-URkpx8+PXZ1IaYnFFC/zBhNd1+FvwNhquR/O5kAyC5U="; + }; + }; + }; + libwasmvm_2_1_3 = { src = "${inputs.wasmvm_2_1_3-src}/libwasmvm"; version = "v2.1.3";