Skip to content

Commit eac6334

Browse files
authored
Voyager sui plugin (#5217)
2 parents 390137d + 22b3753 commit eac6334

File tree

36 files changed

+2973
-1439
lines changed

36 files changed

+2973
-1439
lines changed

Cargo.lock

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ members = [
225225
"voyager/plugins/transaction-batch",
226226
"voyager/plugins/packet-timeout",
227227
"voyager/plugins/zkgm-filter",
228+
"voyager/plugins/sui-ibc-app",
228229

229230
"drip",
230231

@@ -454,6 +455,9 @@ voyager-sdk = { path = "lib/voyager-sdk", default-features = false }
454455
voyager-types = { path = "lib/voyager-types", default-features = false }
455456
voyager-vm = { path = "lib/voyager-vm", default-features = false }
456457

458+
voyager-sui-ibc-app-plugin = { path = "voyager/plugins/sui-ibc-app", default-features = false }
459+
voyager-transaction-plugin-sui = { path = "voyager/plugins/transaction/sui", default-features = false }
460+
457461
embed-commit = { path = "lib/embed-commit", default-features = false }
458462
embed-commit-verifier = { path = "lib/embed-commit/verifier", default-features = false }
459463

lib/gnark-key-parser/src/bls12381.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ mod tests {
9999

100100
#[test]
101101
fn dump_sui() {
102-
let file = hex::decode("925c9a8d94f2a53ae6422956126ce095028ab0c69550a605d0b8f7abc90934ecd8f1ddd39744d3b6350bea3aca93ccdf859e3566688df58ea0349fd77fe2766233c3258169e927c4f48de38a78c9422a2cac68c6550524d61ab0a3e89f7d8d8aa70d09b7918654f7f886e976766961f41f58ae1513134cf99900e359fc2282de3db96afb32f3515d6b402c201dc0eb380aed7853a9a15fc2089c4d4d6220d1a9dccb1e1af709b9e6c7f1901873d8a2325337299f96180bc986c4b6b73bc943eb97184ef7a1cb6b29d15e5737fe21c1e8144d3f0ff0a4b111129c0e3eafed72f751776c7ea7b7121e2ef3cfbb6f326fb50944859bfb11c966d225132c24e9377d0649936ae40d23b05dc1fb04e38e12ffd23e086fa25bcda2c67ee05cf9e3525883595a722323eb32ea5fed585dbc6a885bba860493a741195294a506807b4084beafdc2d11ad73329cfeb528a3780b288cce5bd32c4400e142de4733f0ea331fa659757ba4776efda5d37a7d6bea6c0d272603fea15ede8993f2881b18904bfc17bf8ba06b37ef971120e37adacd6f79e0007775b433005a15a911902d0944d71b44811bb6afde00d65f7201ad33a8d30000000680b8092ccbfaa14079ceb76cd058e50e22ea80a22ba034123060552adb88c38749b0c72132c9771f58b48fbda359575f85263273f2a2158b2336f1445797bad8a05eb61e302c6f819c0bbcd329b9db510668de6894e0ae8340aaa217ed597acab89c669d8e6678ba4c2469bb04704b6b915b76657c21e86a35e17f666a710c9b32f3be287767edf142dfd483f8ec1685a79f14ce6ef6698143e2d6552ef86f8d9a17e792a658a4a4208a50deeece0c14097bfdf1e792cbea5efcb419b81b3885907fef8e452c6f6e5224dc1325eca7abbca4811cc5bfcde6fb5bba5722877b40584616564b1dd538e03bbc0c0b5343fc908f777c2fcc59ed481a56585f47c48b7776e92ef90a710bc7d6eeba3d8a0d5f3c8885924a2b5407b45718ec62f67982000000010000000099a4735f5ea5db8464326c674848d1075d5296f0d157f41a32833193b005b296ab6b8d56d98595afd587191ce0764b2f1380449dc6ed55558a7693429188d2d1ac5fdba824e28875f5c871695a8bd938cdd70fbbb83e462382981db8957d7ed4b5f6e5c6cfb88961a37ab43cdff8cf7df4e2427aefb232dfb083ea8e1437913c033734112aebcdd4243d5d88f21d708c07e139f82e1ff4f444adfe71db4695d5e2caec38815aaa202bc67637b052a0b340aa20e675638906d21d8493e27ea23d").unwrap();
102+
let file = hex::decode("81fef9830153f4ee9f62e079e58c1e8a24a207c2a65dc7c85a021fa733188e2b3312456aedf5e9bfd200780cf5ddd1d2860dce2320dcd302755f563ac11635b6c6d47a2577cf46032b8ea4d25ab9885dba7e7ff1a8b3344d6bd7d2e5b7a993a19872ad6df1ca3fca85a1e120aae72b3d7e9d51ab459254a028a6822f2349b5c6d66d0c53a660f0d4d769f02d043dfb2302b6d8540a3c6f2e9eb9724fe94b9bcf2f66c917670bdec553949ea34014d9715a42c9ce8c4df93268008cb86eb8b2188aa69ed56ddff8683e94181130ca466563edc0139aea58832c5ac60864e77a9fa88508544c94e76f3c21aed5f9e77e350240f74b767fbcdb9cf213657d075ee8ac6c3e37a2bff31ff2e02dd4b55903f54557a061def7d7c15496d13857a2335c801fd90c99f3ef5d3fe7bc1902a0a90c3e41871855df3848f6453d22bf8c378f8685b02d2336ea620df5b5f6db17d5c0a56a5cfecd0247613f9fea56e8f6c3d02921475e87456a81e8d3b834066b1d73b7eb53cc478dd4bfde682b1a9ca798700f1cdd3c4bf10a81bca6f2bee5e2d8eb9eece39ed1654de79be2cc31e329ce58afb2f7038777059fb8873bd1e0024b4e000000068dbe9093ef308c557f92821b3426f56219b04885ca5057e24acccbea1ccdbb489defed38d18cf3e3146fced305fa036c862eea1cad97fe194f2a54378bc04453e6f9c1f2d7b2b9dbc2cda38fb4127a50eaee28318baec7246069d0955fcfb75fa4f52e0f1f72ec23242847b2967353947cdfe6fa5ebf8635961528de0b9367f3f6b4849478e132ddc6d2ee64d216ec0f8bff361d3ec3d55d911f7b2f97b5cde31db92854fea0b270cb390c98df33273f926f205f166fe90316cf6446ad05aed2b84f080a288b93d52e3122bcaeedff56c7f266afdda6ba869271f375676f25ec18a0ab9d318971c4eaf691ab11d8e4849637a9173b39604bdeb0e09e38120dad655d9eee3cd98f257cdc5916d77428950c2e33828511155fa138b6eb3e803e710000000100000000aab7fa40d08381476be01ea8b9406f5bc6ea3643ec92b8928b5020a77d94156141097787a70102907c712d5bf4dc5dbe0d8c3ca56b5aaab0d727aa64094372e3f4d4bbba4c1f03800c694ecdc0818fe2604341b00959bd12349f3ee2ae2ab4bc903c7c703c4d11d22fe33b1954741830b5e78edd13faed8f70349df0e2ab0dfaf13345ab99e94830dce529cda56a5ad91672eae3bfa1eeca6dbf960e9b8e8418b2a0b47f97e8eaa8edf5b2851ddded7c74402c56ca0e2a3efcc60db939692d4d").unwrap();
103103

104104
let mut cursor = 0;
105105
let alpha_g1 = G1Affine::deserialize_compressed(&file[cursor..cursor + G1_SIZE]).unwrap();

lib/voyager-sdk/src/hook.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ use voyager_message::{
88
use voyager_primitives::{ChainId, ClientType};
99
use voyager_vm::Visit;
1010

11+
pub const NEVER_FILTER: &str = "null";
12+
1113
/// A hook for a plugin that handles [`FetchUpdateHeaders`] messages.
1214
pub struct UpdateHook<'a, F: for<'b> Fn(&'b FetchUpdateHeaders) -> Call> {
1315
chain_id: &'a ChainId,

sui/ibc/Move.lock

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[move]
44
version = 3
5-
manifest_digest = "3C33850FDD99F7DCB573743C746822C37C58B89B08DE0B01568A064B61FED55E"
5+
manifest_digest = "40C62E2F41FB9DCCC1E9B34F84BD96E0A33ADB5D5C10DF07AA188D6CA5104684"
66
deps_digest = "F9B494B64F0615AED0E98FC12A85B85ECD2BC5185C22D30E7F67786BB52E507C"
77
dependencies = [
88
{ id = "Bridge", name = "Bridge" },
@@ -13,7 +13,7 @@ dependencies = [
1313

1414
[[move.package]]
1515
id = "Bridge"
16-
source = { git = "https://github.com/MystenLabs/sui.git", rev = "db951a5ea6b125f6253a6b7f436ddba46eb0feb3", subdir = "crates/sui-framework/packages/bridge" }
16+
source = { git = "https://github.com/MystenLabs/sui.git", rev = "664b05b3b047c5bb03979d093660176176ea6175", subdir = "crates/sui-framework/packages/bridge" }
1717

1818
dependencies = [
1919
{ id = "MoveStdlib", name = "MoveStdlib" },
@@ -23,34 +23,34 @@ dependencies = [
2323

2424
[[move.package]]
2525
id = "MoveStdlib"
26-
source = { git = "https://github.com/MystenLabs/sui.git", rev = "db951a5ea6b125f6253a6b7f436ddba46eb0feb3", subdir = "crates/sui-framework/packages/move-stdlib" }
26+
source = { git = "https://github.com/MystenLabs/sui.git", rev = "664b05b3b047c5bb03979d093660176176ea6175", subdir = "crates/sui-framework/packages/move-stdlib" }
2727

2828
[[move.package]]
2929
id = "Sui"
30-
source = { git = "https://github.com/MystenLabs/sui.git", rev = "db951a5ea6b125f6253a6b7f436ddba46eb0feb3", subdir = "crates/sui-framework/packages/sui-framework" }
30+
source = { git = "https://github.com/MystenLabs/sui.git", rev = "664b05b3b047c5bb03979d093660176176ea6175", subdir = "crates/sui-framework/packages/sui-framework" }
3131

3232
dependencies = [
3333
{ id = "MoveStdlib", name = "MoveStdlib" },
3434
]
3535

3636
[[move.package]]
3737
id = "SuiSystem"
38-
source = { git = "https://github.com/MystenLabs/sui.git", rev = "db951a5ea6b125f6253a6b7f436ddba46eb0feb3", subdir = "crates/sui-framework/packages/sui-system" }
38+
source = { git = "https://github.com/MystenLabs/sui.git", rev = "664b05b3b047c5bb03979d093660176176ea6175", subdir = "crates/sui-framework/packages/sui-system" }
3939

4040
dependencies = [
4141
{ id = "MoveStdlib", name = "MoveStdlib" },
4242
{ id = "Sui", name = "Sui" },
4343
]
4444

4545
[move.toolchain-version]
46-
compiler-version = "1.55.0"
46+
compiler-version = "1.56.3"
4747
edition = "2024.beta"
4848
flavor = "sui"
4949

5050
[env]
5151

5252
[env.testnet]
5353
chain-id = "4c78adac"
54-
original-published-id = "0x25763a037769c4783ee2414110302b69b52060c87cf763a4fae56337b296c4f3"
55-
latest-published-id = "0x25763a037769c4783ee2414110302b69b52060c87cf763a4fae56337b296c4f3"
56-
published-version = "1"
54+
original-published-id = "0xd5b50a4b934303c39baf1999ddf84cfcd65b4c6f73b2226bfea77987c21fbff8"
55+
latest-published-id = "0xf36048b090671467af3d6a6109403d179aaa0a699307ff9df218b893b8f6bd98"
56+
published-version = "2"

sui/ibc/Move.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
2-
edition = "2024.beta" # edition = "legacy" to use legacy (pre-2024) Move
3-
name = "ibc"
4-
# published-at = "0x52103caa6674ef22c879a6f1dab43dd43baf547ec7c3d8d3307568e2787abc6e"
2+
edition = "2024.beta" # edition = "legacy" to use legacy (pre-2024) Move
3+
name = "ibc"
4+
published-at = "0xf36048b090671467af3d6a6109403d179aaa0a699307ff9df218b893b8f6bd98"
55
# original = 0xf7afcb48d53dcd8f1b75bd73779a23fb80e0750e3db7a9fd7e59fe22bb7cd7d4
66
# license = "" # e.g., "MIT", "GPL", "Apache 2.0"
77
# authors = ["..."] # e.g., ["Joe Smith ([email protected])", "John Snow ([email protected])"]
@@ -21,9 +21,9 @@ name = "ibc"
2121
# Override = { local = "../conflicting/version", override = true }
2222

2323
[addresses]
24-
# ibc = "0x0"
24+
ibc = "0x0"
2525

26-
ibc = "_"
26+
# ibc = "_"
2727

2828
# Named addresses will be accessible in Move as `@name`. They're also exported:
2929
# for example, `std = "0x1"` is exported by the Standard Library.

sui/ibc/sources/groth16_verifier.move

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ module ibc::groth16_verifier {
77
use std::string::String;
88
use std::hash::sha2_256;
99

10-
const ALPHA_G1: vector<u8> = x"925c9a8d94f2a53ae6422956126ce095028ab0c69550a605d0b8f7abc90934ecd8f1ddd39744d3b6350bea3aca93ccdf";
11-
const BETA_G2: vector<u8> = x"870d09b7918654f7f886e976766961f41f58ae1513134cf99900e359fc2282de3db96afb32f3515d6b402c201dc0eb380aed7853a9a15fc2089c4d4d6220d1a9dccb1e1af709b9e6c7f1901873d8a2325337299f96180bc986c4b6b73bc943eb";
12-
const GAMMA_G2: vector<u8> = x"b7184ef7a1cb6b29d15e5737fe21c1e8144d3f0ff0a4b111129c0e3eafed72f751776c7ea7b7121e2ef3cfbb6f326fb50944859bfb11c966d225132c24e9377d0649936ae40d23b05dc1fb04e38e12ffd23e086fa25bcda2c67ee05cf9e35258";
13-
const DELTA_G2: vector<u8> = x"acce5bd32c4400e142de4733f0ea331fa659757ba4776efda5d37a7d6bea6c0d272603fea15ede8993f2881b18904bfc17bf8ba06b37ef971120e37adacd6f79e0007775b433005a15a911902d0944d71b44811bb6afde00d65f7201ad33a8d3";
14-
const PEDERSEN_G: vector<u8> = x"99a4735f5ea5db8464326c674848d1075d5296f0d157f41a32833193b005b296ab6b8d56d98595afd587191ce0764b2f1380449dc6ed55558a7693429188d2d1ac5fdba824e28875f5c871695a8bd938cdd70fbbb83e462382981db8957d7ed4";
15-
const PEDERSEN_G_ROOT_SIGMA_NEG: vector<u8> = x"b5f6e5c6cfb88961a37ab43cdff8cf7df4e2427aefb232dfb083ea8e1437913c033734112aebcdd4243d5d88f21d708c07e139f82e1ff4f444adfe71db4695d5e2caec38815aaa202bc67637b052a0b340aa20e675638906d21d8493e27ea23d";
10+
const ALPHA_G1: vector<u8> = x"81fef9830153f4ee9f62e079e58c1e8a24a207c2a65dc7c85a021fa733188e2b3312456aedf5e9bfd200780cf5ddd1d2";
11+
const BETA_G2: vector<u8> = x"b872ad6df1ca3fca85a1e120aae72b3d7e9d51ab459254a028a6822f2349b5c6d66d0c53a660f0d4d769f02d043dfb2302b6d8540a3c6f2e9eb9724fe94b9bcf2f66c917670bdec553949ea34014d9715a42c9ce8c4df93268008cb86eb8b218";
12+
const GAMMA_G2: vector<u8> = x"aaa69ed56ddff8683e94181130ca466563edc0139aea58832c5ac60864e77a9fa88508544c94e76f3c21aed5f9e77e350240f74b767fbcdb9cf213657d075ee8ac6c3e37a2bff31ff2e02dd4b55903f54557a061def7d7c15496d13857a2335c";
13+
const DELTA_G2: vector<u8> = x"856a5cfecd0247613f9fea56e8f6c3d02921475e87456a81e8d3b834066b1d73b7eb53cc478dd4bfde682b1a9ca798700f1cdd3c4bf10a81bca6f2bee5e2d8eb9eece39ed1654de79be2cc31e329ce58afb2f7038777059fb8873bd1e0024b4e";
14+
const PEDERSEN_G: vector<u8> = x"aab7fa40d08381476be01ea8b9406f5bc6ea3643ec92b8928b5020a77d94156141097787a70102907c712d5bf4dc5dbe0d8c3ca56b5aaab0d727aa64094372e3f4d4bbba4c1f03800c694ecdc0818fe2604341b00959bd12349f3ee2ae2ab4bc";
15+
const PEDERSEN_G_ROOT_SIGMA_NEG: vector<u8> = x"903c7c703c4d11d22fe33b1954741830b5e78edd13faed8f70349df0e2ab0dfaf13345ab99e94830dce529cda56a5ad91672eae3bfa1eeca6dbf960e9b8e8418b2a0b47f97e8eaa8edf5b2851ddded7c74402c56ca0e2a3efcc60db939692d4d";
1616
const GAMMA_ABC_G1: vector<vector<u8>> = vector[
17-
x"80b8092ccbfaa14079ceb76cd058e50e22ea80a22ba034123060552adb88c38749b0c72132c9771f58b48fbda359575f",
18-
x"85263273f2a2158b2336f1445797bad8a05eb61e302c6f819c0bbcd329b9db510668de6894e0ae8340aaa217ed597aca",
19-
x"b89c669d8e6678ba4c2469bb04704b6b915b76657c21e86a35e17f666a710c9b32f3be287767edf142dfd483f8ec1685",
20-
x"a79f14ce6ef6698143e2d6552ef86f8d9a17e792a658a4a4208a50deeece0c14097bfdf1e792cbea5efcb419b81b3885",
21-
x"907fef8e452c6f6e5224dc1325eca7abbca4811cc5bfcde6fb5bba5722877b40584616564b1dd538e03bbc0c0b5343fc",
22-
x"908f777c2fcc59ed481a56585f47c48b7776e92ef90a710bc7d6eeba3d8a0d5f3c8885924a2b5407b45718ec62f67982",
17+
x"8dbe9093ef308c557f92821b3426f56219b04885ca5057e24acccbea1ccdbb489defed38d18cf3e3146fced305fa036c",
18+
x"862eea1cad97fe194f2a54378bc04453e6f9c1f2d7b2b9dbc2cda38fb4127a50eaee28318baec7246069d0955fcfb75f",
19+
x"a4f52e0f1f72ec23242847b2967353947cdfe6fa5ebf8635961528de0b9367f3f6b4849478e132ddc6d2ee64d216ec0f",
20+
x"8bff361d3ec3d55d911f7b2f97b5cde31db92854fea0b270cb390c98df33273f926f205f166fe90316cf6446ad05aed2",
21+
x"b84f080a288b93d52e3122bcaeedff56c7f266afdda6ba869271f375676f25ec18a0ab9d318971c4eaf691ab11d8e484",
22+
x"9637a9173b39604bdeb0e09e38120dad655d9eee3cd98f257cdc5916d77428950c2e33828511155fa138b6eb3e803e71",
2323
];
2424

2525
const PRIME_R_MINUS_ONE: vector<u8> = x"00000000fffffffffe5bfeff02a4bd5305d8a10908d83933487d9d2953a7ed73";

sui/ibc/sources/ibc.move

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ module ibc::ibc {
260260
}
261261

262262
public struct TimeoutPacket has drop, store, copy {
263-
packet: Packet
263+
packet_hash: vector<u8>
264264
}
265265

266266
public struct WriteAck has drop, store, copy {
@@ -1423,7 +1423,7 @@ module ibc::ibc {
14231423
commitment::batch_packets_commitment_key(
14241424
packet_hash
14251425
);
1426-
set_packet_acknowledged(ibc_store, commitment_key);
1426+
ibc_store.set_packet_acknowledged(commitment_key);
14271427

14281428
event::emit(
14291429
PacketAck {
@@ -1491,32 +1491,37 @@ module ibc::ibc {
14911491
*commitment = commitment::commit_ack(acknowledgement);
14921492
}
14931493

1494-
public fun timeout_packet(
1494+
public fun timeout_packet<T: drop>(
14951495
ibc_store: &mut IBCStore,
14961496
packet: Packet,
14971497
proof: vector<u8>,
14981498
proof_height: u64,
1499+
witness: T,
14991500
) {
1500-
let source_channel = packet::source_channel_id(&packet);
1501-
let destination_channel = packet::destination_channel_id(&packet);
1501+
let source_channel = packet.source_channel_id();
1502+
1503+
let port_id = *ibc_store.channel_to_port.borrow(source_channel);
1504+
validate_port(port_id, witness);
1505+
1506+
let destination_channel = packet.destination_channel_id();
15021507

15031508
if(!ibc_store.channels.contains(source_channel)) {
15041509
abort E_CHANNEL_NOT_FOUND
15051510
};
15061511
let channel = ibc_store.channels.borrow(source_channel);
1507-
assert!(channel::state(channel) == CHAN_STATE_OPEN, E_INVALID_CHANNEL_STATE);
1512+
assert!(channel.state() == CHAN_STATE_OPEN, E_INVALID_CHANNEL_STATE);
15081513

1509-
let connection_id = channel::connection_id(channel);
1514+
let connection_id = channel.connection_id();
15101515

15111516
if(!ibc_store.connections.contains(connection_id)) {
15121517
abort E_CONNECTION_NOT_FOUND
15131518
};
15141519
let connection = ibc_store.connections.borrow(connection_id);
15151520
assert!(
1516-
connection_end::state(connection) == CONN_STATE_OPEN,
1521+
connection.state() == CONN_STATE_OPEN,
15171522
E_INVALID_CONNECTION_STATE
15181523
);
1519-
let client_id = connection_end::client_id(connection);
1524+
let client_id = connection.client_id();
15201525

15211526
if(!ibc_store.client_mgr.exists(client_id)) {
15221527
abort E_CLIENT_NOT_FOUND
@@ -1525,36 +1530,30 @@ module ibc::ibc {
15251530
ibc_store.client_mgr.get_timestamp_at_height(client_id, proof_height);
15261531
assert!(proof_timestamp != 0, E_LATEST_TIMESTAMP_NOT_FOUND);
15271532

1533+
let packet_hash = commitment::commit_packet(&packet);
1534+
let commitment_key = commitment::batch_receipts_commitment_key(packet_hash);
1535+
1536+
let err = ibc_store.client_mgr.verify_non_membership(
1537+
client_id, proof_height, proof, commitment_key);
15281538

1529-
let commitment_key =
1530-
commitment::batch_receipts_commitment_key(
1531-
commitment::commit_packet(&packet)
1532-
);
1533-
let err = ibc_store.client_mgr.verify_non_membership(client_id, proof_height, proof, commitment_key);
15341539
assert!(err == 0, err);
15351540

1536-
if (packet::timeout_timestamp(&packet) != 0) {
1541+
if (packet.timeout_timestamp() == 0) {
1542+
abort E_TIMEOUT_MUST_BE_SET
1543+
} else {
15371544
assert!(
1538-
packet::timeout_timestamp(&packet) < proof_timestamp,
1545+
packet.timeout_timestamp() < proof_timestamp,
15391546
E_TIMESTAMP_TIMEOUT_NOT_REACHED
15401547
);
15411548
};
1542-
let height = packet::timeout_height(&packet);
1543-
if (height != 0) {
1544-
assert!(
1545-
height < proof_height,
1546-
E_TIMEOUT_HEIGHT_NOT_REACHED
1547-
);
1548-
};
15491549

1550-
let commitment_key =
1550+
ibc_store.set_packet_acknowledged(
15511551
commitment::batch_packets_commitment_key(
1552-
commitment::commit_packet(&packet)
1553-
);
1554-
1555-
ibc_store.commitments.remove(commitment_key);
1552+
packet_hash
1553+
)
1554+
);
15561555

1557-
event::emit(TimeoutPacket { packet });
1556+
event::emit(TimeoutPacket { packet_hash });
15581557
}
15591558

15601559
// #[test]

sui/muno/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
build/*
2+
.trace
3+
.coverage*

sui/muno/Move.lock

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# @generated by Move, please check-in and do not edit manually.
2+
3+
[move]
4+
version = 3
5+
manifest_digest = "8C972825465DD7FF963AD3E385007C2FCC1AC85CC2F78691F3CA1A2E4E225286"
6+
deps_digest = "F9B494B64F0615AED0E98FC12A85B85ECD2BC5185C22D30E7F67786BB52E507C"
7+
dependencies = [
8+
{ id = "Bridge", name = "Bridge" },
9+
{ id = "MoveStdlib", name = "MoveStdlib" },
10+
{ id = "Sui", name = "Sui" },
11+
{ id = "SuiSystem", name = "SuiSystem" },
12+
]
13+
14+
[[move.package]]
15+
id = "Bridge"
16+
source = { git = "https://github.com/MystenLabs/sui.git", rev = "b448b1d971bd6c1aac8ef4eee4305943806d5d5b", subdir = "crates/sui-framework/packages/bridge" }
17+
18+
dependencies = [
19+
{ id = "MoveStdlib", name = "MoveStdlib" },
20+
{ id = "Sui", name = "Sui" },
21+
{ id = "SuiSystem", name = "SuiSystem" },
22+
]
23+
24+
[[move.package]]
25+
id = "MoveStdlib"
26+
source = { git = "https://github.com/MystenLabs/sui.git", rev = "b448b1d971bd6c1aac8ef4eee4305943806d5d5b", subdir = "crates/sui-framework/packages/move-stdlib" }
27+
28+
[[move.package]]
29+
id = "Sui"
30+
source = { git = "https://github.com/MystenLabs/sui.git", rev = "b448b1d971bd6c1aac8ef4eee4305943806d5d5b", subdir = "crates/sui-framework/packages/sui-framework" }
31+
32+
dependencies = [
33+
{ id = "MoveStdlib", name = "MoveStdlib" },
34+
]
35+
36+
[[move.package]]
37+
id = "SuiSystem"
38+
source = { git = "https://github.com/MystenLabs/sui.git", rev = "b448b1d971bd6c1aac8ef4eee4305943806d5d5b", subdir = "crates/sui-framework/packages/sui-system" }
39+
40+
dependencies = [
41+
{ id = "MoveStdlib", name = "MoveStdlib" },
42+
{ id = "Sui", name = "Sui" },
43+
]
44+
45+
[move.toolchain-version]
46+
compiler-version = "1.53.2"
47+
edition = "2024.beta"
48+
flavor = "sui"
49+
50+
[env]
51+
52+
[env.testnet]
53+
chain-id = "4c78adac"
54+
original-published-id = "0x9f2da79979c0bf626e81cdb834ca92f16dc677bce9f36fc2c28c38315840ef4f"
55+
latest-published-id = "0x9f2da79979c0bf626e81cdb834ca92f16dc677bce9f36fc2c28c38315840ef4f"
56+
published-version = "1"

0 commit comments

Comments
 (0)