From 5c8d4561a338539e4ef9ffa2e68a5b996eb023fd Mon Sep 17 00:00:00 2001 From: karim-en Date: Thu, 16 Jan 2025 16:47:51 +0000 Subject: [PATCH] Improve token deployment process --- Cargo.lock | 676 +++++++----------- Cargo.toml | 2 +- bridge-cli/Cargo.toml | 1 + bridge-cli/src/defaults.rs | 16 +- bridge-cli/src/main.rs | 11 + bridge-cli/src/omni_connector_command.rs | 103 ++- .../src/evm_bridge_client.rs | 30 +- .../src/wormhole_bridge_client.rs | 30 + .../bridge-connector-common/src/result.rs | 2 + .../omni-connector/src/omni_connector.rs | 107 ++- 10 files changed, 472 insertions(+), 506 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bd8ffc8..1f45750 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731ea743b3d843bc657e120fb1d1e9cc94f5dab8107e35a82125a63e6420a102" +checksum = "24acd2f5ba97c7a320e67217274bc81fe3c3174b8e6144ec875d9d54e760e278" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -114,9 +114,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "788bb18e8f61d5d9340b52143f27771daf7e1dccbaf2741621d2493f9debf52e" +checksum = "ec878088ec6283ce1e90d280316aadd3d6ce3de06ff63d68953c855e7e447e92" dependencies = [ "alloy-rlp", "bytes", @@ -141,9 +141,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f542548a609dca89fcd72b3b9f355928cf844d4363c5eed9c5273a3dd225e097" +checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6" dependencies = [ "arrayvec", "bytes", @@ -151,9 +151,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a07b74d48661ab2e4b50bb5950d74dbff5e61dd8ed03bb822281b706d54ebacb" +checksum = "8d039d267aa5cbb7732fa6ce1fd9b5e9e29368f580f80ba9d7a8450c794de4b2" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", @@ -165,9 +165,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19cc9c7f20b90f9be1a8f71a3d8e283a43745137b0837b1a1cb13159d37cad72" +checksum = "620ae5eee30ee7216a38027dec34e0585c55099f827f92f50d11e3d2d3a4a954" dependencies = [ "alloy-sol-macro-input", "const-hex", @@ -183,9 +183,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713b7e6dfe1cb2f55c80fb05fd22ed085a1b4e48217611365ed0ae598a74c6ac" +checksum = "ad9f7d057e00f8c5994e4ff4492b76532c51ead39353aa2ed63f8c50c0f4d52e" dependencies = [ "const-hex", "dunce", @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eda2711ab2e1fb517fc6e2ffa9728c9a232e296d16810810e6957b781a1b8bc" +checksum = "74e60b084fe1aef8acecda2743ff2d93c18ff3eb67a2d3b12f62582a1e66ef5e" dependencies = [ "serde", "winnow", @@ -208,9 +208,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3b478bc9c0c4737a04cd976accde4df7eba0bdc0d90ad6ff43d58bc93cf79c1" +checksum = "c1382302752cd751efd275f4d6ef65877ddf61e0e6f5ac84ef4302b79a33a31a" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -275,11 +275,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.6" +version = "3.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" +checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" dependencies = [ "anstyle", + "once_cell", "windows-sys 0.59.0", ] @@ -607,9 +608,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "auto_impl" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +checksum = "e12882f59de5360c748c4cbf569a042d5fb0eb515f7bea9c1f470b47f6ffbd73" dependencies = [ "proc-macro2", "quote", @@ -726,9 +727,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be3f42a67d6d345ecd59f675f3f012d6974981560836e938c22b424b85ce1be" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" dependencies = [ "serde", ] @@ -798,11 +799,11 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2506947f73ad44e344215ccd6403ac2ae18cd8e046e581a441bf8d199f257f03" +checksum = "9fb65153674e51d3a42c8f27b05b9508cea85edfaade8aa46bc8fc18cecdfef3" dependencies = [ - "borsh-derive 1.5.3", + "borsh-derive 1.5.4", "cfg_aliases", ] @@ -821,9 +822,9 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2593a3b8b938bd68373196c9832f516be11fa487ef4ae745eb282e6a56a7244" +checksum = "a396e17ad94059c650db3d253bb6e25927f1eb462eede7e7a153bb6e75dce0a7" dependencies = [ "once_cell", "proc-macro-crate 3.2.0", @@ -877,6 +878,7 @@ dependencies = [ "tokio", "tracing", "tracing-subscriber", + "wormhole-bridge-client", ] [[package]] @@ -1059,9 +1061,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.7" +version = "1.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b" dependencies = [ "jobserver", "libc", @@ -1546,9 +1548,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" +checksum = "0e60eed09d8c01d3cee5b7d30acb059b76614c918fa0f992e0dd6eeb10daad6f" [[package]] name = "der" @@ -1982,16 +1984,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "erased-serde" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" -dependencies = [ - "serde", - "typeid", -] - [[package]] name = "errno" version = "0.3.10" @@ -2006,7 +1998,7 @@ dependencies = [ name = "eth-connector" version = "0.1.0" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "bridge-connector-common", "derive_builder", "eth-proof", @@ -2047,7 +2039,7 @@ dependencies = [ name = "eth-proof" version = "0.1.0" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "cita_trie", "ethereum-types 0.14.1", "hasher", @@ -2415,7 +2407,7 @@ dependencies = [ name = "evm-bridge-client" version = "0.1.0" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "bridge-connector-common", "derive_builder", "eth-proof", @@ -2447,7 +2439,7 @@ name = "fast-bridge" version = "0.1.0" dependencies = [ "base64 0.22.1", - "borsh 1.5.3", + "borsh 1.5.4", "bridge-connector-common", "derive_builder", "eth-proof", @@ -3530,9 +3522,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ "once_cell", "wasm-bindgen", @@ -3654,7 +3646,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "libc", ] @@ -3730,12 +3722,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.24" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6ea2a48c204030ee31a7d7fc72c93294c92fe87ecb1789881c9543516e1a0d" -dependencies = [ - "value-bag", -] +checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" [[package]] name = "matchers" @@ -3822,9 +3811,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" dependencies = [ "adler2", ] @@ -3876,7 +3865,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35cbb989542587b47205e608324ddd391f0cee1c22b4b64ae49f458334b95907" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "serde", ] @@ -3884,7 +3873,7 @@ dependencies = [ name = "near-bridge-client" version = "0.1.0" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "bridge-connector-common", "derive_builder", "near-contract-standards", @@ -3951,7 +3940,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4374804fdd45ac84c9e7cc3183312c98560c5518d81e6d8e2d92b77587e5a9f3" dependencies = [ "blake2", - "borsh 1.5.3", + "borsh 1.5.4", "bs58 0.4.0", "curve25519-dalek 4.1.3", "derive_more 0.99.18", @@ -3985,7 +3974,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180edcc7dc2fac41f93570d0c7b759c1b6d492f6ad093d749d644a40b4310a97" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "serde", ] @@ -3995,7 +3984,7 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e66a0c4c47f2fbbfa11ea8317fce2288d70d4aa8231e77fd213721ffcc1c334f" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "lazy_static", "log", "near-chain-configs", @@ -4041,7 +4030,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1279baa276725971d5e2b80c524d1aa42d5ad8bccf8901466fd579374cf58a14" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "enum-map", "near-account-id", "near-primitives-core", @@ -4063,7 +4052,7 @@ dependencies = [ "arbitrary", "base64 0.21.7", "bitvec", - "borsh 1.5.3", + "borsh 1.5.4", "bytes", "bytesize", "cfg-if 1.0.0", @@ -4104,7 +4093,7 @@ checksum = "d597af103bb7881d1fb9031fb126cfe6c1acb9c9a6c8296dca45b5b3beb0893d" dependencies = [ "arbitrary", "base64 0.21.7", - "borsh 1.5.3", + "borsh 1.5.4", "bs58 0.4.0", "derive_more 0.99.18", "enum-map", @@ -4121,7 +4110,7 @@ dependencies = [ name = "near-rpc-client" version = "0.1.0" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "hex", "lazy_static", "near-crypto", @@ -4163,7 +4152,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "befb9df6da1a6a0b6656388c0db76084867062a87f1cbc066c188a8e360b6463" dependencies = [ "base64 0.22.1", - "borsh 1.5.3", + "borsh 1.5.4", "bs58 0.5.1", "near-account-id", "near-gas", @@ -4221,7 +4210,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd3e60aa26a74dc514b1b6408fdd06cefe2eb0ff029020956c1c6517594048fd" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "serde", ] @@ -4229,7 +4218,7 @@ dependencies = [ name = "nep141-connector" version = "0.1.0" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "bridge-connector-common", "derive_builder", "eth-proof", @@ -4258,7 +4247,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if 1.0.0", "cfg_aliases", "libc", @@ -4494,7 +4483,7 @@ dependencies = [ name = "omni-connector" version = "0.1.0" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "bridge-connector-common", "derive_builder", "eth-proof", @@ -4520,13 +4509,13 @@ dependencies = [ [[package]] name = "omni-types" version = "2.0.0" -source = "git+https://github.com/near-one/omni-bridge?rev=11ffdb63706ceba175f7581585bd837aad9f1559#11ffdb63706ceba175f7581585bd837aad9f1559" +source = "git+https://github.com/near-one/omni-bridge?rev=7ca34034de19dfdfab9e7709c2af731b2525228e#7ca34034de19dfdfab9e7709c2af731b2525228e" dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-sol-macro", "alloy-sol-types", - "borsh 1.5.3", + "borsh 1.5.4", "ethereum-types 0.15.1", "hex", "near-contract-standards", @@ -4580,7 +4569,7 @@ version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4640,7 +4629,7 @@ version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "num-traits", "rand 0.8.5", "serde", @@ -4947,9 +4936,9 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "prettyplease" -version = "0.2.27" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "483f8c21f64f3ea09fe0f30f5d48c3e8eefe5dac9129f0075f76593b4c1da705" +checksum = "6924ced06e1f7dfe3fa48d57b9f74f55d8915f5036121bef647ef4b204895fac" dependencies = [ "proc-macro2", "syn 2.0.96", @@ -5033,9 +5022,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -5048,7 +5037,7 @@ checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" dependencies = [ "bit-set 0.8.0", "bit-vec 0.8.0", - "bitflags 2.7.0", + "bitflags 2.8.0", "lazy_static", "num-traits", "rand 0.8.5", @@ -5242,11 +5231,11 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.2.0" +version = "11.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" +checksum = "c6928fa44c097620b706542d428957635951bade7143269085389d42c8a4927e" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -5275,7 +5264,7 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", ] [[package]] @@ -5598,7 +5587,7 @@ version = "0.38.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "errno", "libc", "linux-raw-sys", @@ -5867,7 +5856,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "core-foundation-sys", "libc", @@ -5953,15 +5942,6 @@ dependencies = [ "syn 2.0.96", ] -[[package]] -name = "serde_fmt" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4" -dependencies = [ - "serde", -] - [[package]] name = "serde_json" version = "1.0.135" @@ -6146,13 +6126,13 @@ dependencies = [ [[package]] name = "simple_asn1" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint 0.4.6", "num-traits", - "thiserror 1.0.69", + "thiserror 2.0.11", "time", ] @@ -6206,9 +6186,9 @@ dependencies = [ [[package]] name = "solana-account" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d6ef82dab153c60b1da169126d8eca1b62bbf4026f95a45a71897f3e9a0224" +checksum = "50e5bfd02090b1a054b907dc21853789008c11f104ab06a5b671a2e25cca785c" dependencies = [ "bincode", "serde", @@ -6220,9 +6200,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "377daf04565dddcc1bd97de7a346918931d467233aeadce992d8f0ed38c51a3c" +checksum = "fe596e5bc809e6a0788612fd7e25d6c1dcdfc71c45e1e3d2d54ff8286101b710" dependencies = [ "Inflector", "base64 0.22.1", @@ -6246,9 +6226,9 @@ dependencies = [ [[package]] name = "solana-account-decoder-client-types" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82c3a45e569bca5640b620e5f82e11103fb8a338c1f53c02dc305ea15c67de98" +checksum = "d380d316c01b4ecadcd4df39f00e4ad69cd88b93baad776aa4a74f0ec533079c" dependencies = [ "base64 0.22.1", "bs58 0.5.1", @@ -6262,9 +6242,9 @@ dependencies = [ [[package]] name = "solana-account-info" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8378a48833ee7f828e20a63e93a6cdaef1313a8fd8f71a90b243df83295987b1" +checksum = "fe9a5a802bc6ab2ba6a9d77580b038e7c2409932074f14fe35eaa64894a53c1e" dependencies = [ "bincode", "serde", @@ -6275,18 +6255,18 @@ dependencies = [ [[package]] name = "solana-atomic-u64" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6f9da603778bbee6402ee2526a3b219b85497c10e49f9c7c112ed8836f46d3" +checksum = "e3bd7099cc7b9450feee5cefa9481af12b2671eceb09218738e242bdb6c25e4d" dependencies = [ "parking_lot", ] [[package]] name = "solana-bincode" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb75b5d25ae05cfddb8b9b53512f17c18c29e3c92b7a848f39598473e6bf6484" +checksum = "5ed7814b4f749c62973781a3d490af7b42b496b2b725cacb0a5477931cb27ef3" dependencies = [ "bincode", "serde", @@ -6295,9 +6275,9 @@ dependencies = [ [[package]] name = "solana-bn254" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6df7c5b61b4ed3961cbaef5f38c58d1ee9a2268cbe607c67a54083b7b02d6276" +checksum = "418ef1dd3ae61a70543d2487d029e7bac2ff4fd2684bfb8e0350356808bac81c" dependencies = [ "ark-bn254", "ark-ec", @@ -6310,19 +6290,19 @@ dependencies = [ [[package]] name = "solana-borsh" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "055c45b7aae61c8c7b26a537f7a8387cc8a10036081ddfd7170a7a9b4d924ffd" +checksum = "81d1d3a9cd527faf389b47736e48580585d4f216705197c09b36affa1f5afdb1" dependencies = [ "borsh 0.10.4", - "borsh 1.5.3", + "borsh 1.5.4", ] [[package]] name = "solana-bridge-client" version = "0.1.0" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "derive_builder", "mpl-token-metadata", "sha2 0.10.8", @@ -6335,9 +6315,9 @@ dependencies = [ [[package]] name = "solana-client" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0f0271e0cf122e282cb39c531e9caaa7732a39c1b4c3a7fb8972d9a3da99a5" +checksum = "8c6c973380a8970007f85795131c32b770213213fa48b5f37d1bb6d60e1f0480" dependencies = [ "async-trait", "bincode", @@ -6367,9 +6347,9 @@ dependencies = [ [[package]] name = "solana-clock" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d6af32497acc6bb09d8150ea6f53df25dbad713991741999d46688beaf944e" +checksum = "d6f3beb4770cd15cdc4793cf10cb4ec502c51d944b64e32e34a116051dcbf5c2" dependencies = [ "serde", "serde_derive", @@ -6379,18 +6359,18 @@ dependencies = [ [[package]] name = "solana-compute-budget" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fbc816c5b85021103c2a09cee40fb1c07d265144284c604f480b5b8a1fc1e50" +checksum = "ed7781a28477ec2269de84c96b77360db5c140c274549da54bf3dce2457ad07c" dependencies = [ "solana-sdk", ] [[package]] name = "solana-config-program" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def13861ad090a81b72f216e5b6fbdb47eaa09e2a24b134d87f44aad356c5d33" +checksum = "7cc7b003aac6c1b2d9b71ba50482557eab5dc01c498be80ca08fe1f806d0cea1" dependencies = [ "bincode", "chrono", @@ -6404,9 +6384,9 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "941eb2a3d4209547ebe68e050c8cdce235138add508ccec73a10db0b1efa0048" +checksum = "175181cb7cb0d100beb8d23891b77c73bca9f68ad454a95ae76e0069a5539fa8" dependencies = [ "async-trait", "bincode", @@ -6425,9 +6405,9 @@ dependencies = [ [[package]] name = "solana-cpi" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b06ac8e2ebf8a5b8a54645b721f92f5d7a6d116550bbf1817167cc48abeb1" +checksum = "e1b66925890e4108d10df357940da32ae01eea68d07b8da816eec4b93519db9d" dependencies = [ "solana-account-info", "solana-define-syscall", @@ -6439,9 +6419,9 @@ dependencies = [ [[package]] name = "solana-curve25519" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5344c8fb488fdf37845765c802f01198db010b16f4b4113dcb122549e303153f" +checksum = "73bc9e6fa982335c964ca18bc6721b26a604a993ceb7ad434d78548b2244c343" dependencies = [ "bytemuck", "bytemuck_derive", @@ -6452,24 +6432,24 @@ dependencies = [ [[package]] name = "solana-decode-error" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99f2fe3170045ae27951ae476a0c88a40130b242736f033ba5e353cd6f816b8e" +checksum = "925822f929d56870b2cbee5e00548de65043a1b5dc1021a2a0f6ca663227e96c" dependencies = [ "num-traits", ] [[package]] name = "solana-define-syscall" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14a80d323dbe8866aaefb40e3c11564d82f77894d193fa66583e793f3d845723" +checksum = "d145184b5a9ada39c4cf1f5610cb33d342767c58f7fc87bd3b5ea51f183c2937" [[package]] name = "solana-derivation-path" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff423e05929ec73c0997aa0d4aeae7a7bb52ccabc23699ceaa1f2ae854a5fa4" +checksum = "d914fc833a4345226bb8a87b2ed898117c74f141c854369b1defa36f39896b7b" dependencies = [ "derivation-path", "qstring", @@ -6478,9 +6458,9 @@ dependencies = [ [[package]] name = "solana-epoch-schedule" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276fda33b7de27df41e3043f344e517d5e85ab345d2f2aa2425d1011bac570c4" +checksum = "a0cf1615ea23ac98ffcec061c05f59b295913fa7b96de63c9cbb9a5800697b65" dependencies = [ "serde", "serde_derive", @@ -6490,9 +6470,9 @@ dependencies = [ [[package]] name = "solana-feature-set" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155ef7ddcf7b75ef92d992839bd00ac4ee02bdfe0fa4d95daf0534b830b1bc0e" +checksum = "5fe1cc20d938b4eb12ae8704c771ce8badd934a90bb7885f949a66084d659790" dependencies = [ "lazy_static", "solana-clock", @@ -6504,9 +6484,9 @@ dependencies = [ [[package]] name = "solana-fee-calculator" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abc0371153eda80024109800051b87bab11f056fae260ca477a50875aaffdfde" +checksum = "a8bfb0e586a88e566cf76425e04e0fe4cb1a268ac318ccc64417751a5fa96145" dependencies = [ "log", "serde", @@ -6515,11 +6495,11 @@ dependencies = [ [[package]] name = "solana-hash" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7067f2bd1e9c3f28153484f03e44bf8dc73cededa6bc132e40de9bfc667b8534" +checksum = "f3831f21dfc426f7da989712ee52372584967452fd299f700a7615670a4203b3" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "bs58 0.5.1", "bytemuck", "bytemuck_derive", @@ -6533,9 +6513,9 @@ dependencies = [ [[package]] name = "solana-inflation" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e27906f90ba8df331903292a499cc776e70ee29995da4bf5a81b54d27edefa" +checksum = "500b21d44ebc7437392d821eb04e7ca6e175b6a397c91ec67634528ee5bace38" dependencies = [ "serde", "serde_derive", @@ -6543,9 +6523,9 @@ dependencies = [ [[package]] name = "solana-inline-spl" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b58f0f8965285c9a045945a4089030914d7198484e4754b087d4217afeff7c" +checksum = "61c4919a0297f62759609ded57516071cebb4ce25c34ba896708fcc94eda336c" dependencies = [ "bytemuck", "solana-pubkey", @@ -6553,12 +6533,12 @@ dependencies = [ [[package]] name = "solana-instruction" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dbf607aff88e4f17079a33d34517b7f379d752dfa0496a94cea798a91e6f6ee" +checksum = "211353fe5133e13d0772520b410311d52b68de0482c7e8643095b90174df3f57" dependencies = [ "bincode", - "borsh 1.5.3", + "borsh 1.5.4", "getrandom 0.2.15", "js-sys", "num-traits", @@ -6571,9 +6551,9 @@ dependencies = [ [[package]] name = "solana-last-restart-slot" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f2ee9af7a2815137c60d77cb930c26480bc802b55e00d9e230e81fd308062e" +checksum = "2aadfa60fa22080d7abb7fac2c5c172e9e4a3b4525164866e2b521a4eb81e450" dependencies = [ "serde", "serde_derive", @@ -6583,24 +6563,24 @@ dependencies = [ [[package]] name = "solana-log-collector" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4adf7c3c024afb504796bace240776f9fc5a2287fa32269ee7071058cdd36378" +checksum = "3a6923b6b68c36f4f0c082a7f633cc94a2d209837a5af017c47fd3ac9eb8ea03" dependencies = [ "log", ] [[package]] name = "solana-measure" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcad4cf5c745ecc15fab2840a5bd35489bf467790359316b66950a8cf62c2a04" +checksum = "a19b1784996736f7786ed65a675c4b820c31e5e8c49a53bb16e6fde9a75bff5c" [[package]] name = "solana-metrics" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85f54610e313cad7a251ee8fbac5a43cbba66cdf5a92353a4945743b0e50678d" +checksum = "cd21ab7eb1c984cee70df89587a57f19cd925fe73baad4304d2c3081085d987e" dependencies = [ "crossbeam-channel", "gethostname", @@ -6613,24 +6593,24 @@ dependencies = [ [[package]] name = "solana-msg" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cd9c6ed9d4d036da00c958f0f98edb248c08eb596975011a30063ac3aa902" +checksum = "4818fcc8b1fa46f1d0c698a0645e0cf693baf4ab5654001fcaff4623187016cf" dependencies = [ "solana-define-syscall", ] [[package]] name = "solana-native-token" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08ef55ad8dcc8c5f21e2bbbc7298fa59550269e8bdf2c6976c4de626ea8a0069" +checksum = "c1f974b363f72ce60a0ea1015592b6494b9e61f1692355f2536fb0202eb667bf" [[package]] name = "solana-net-utils" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f918a07e0df8b68aaaff449c5feaa3cebe2882b772a35c1353fbee8467b00c" +checksum = "71f808e6720ef8928f8aa44241b1832e57bdeb0ed77f7450318d536a99f282fc" dependencies = [ "bincode", "crossbeam-channel", @@ -6647,12 +6627,12 @@ dependencies = [ [[package]] name = "solana-packet" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfac9266a6cb79d0d37a7ae1a9944559caa286d93005773bf8005583ffcd652c" +checksum = "d850d00ae006f165509d64b4506e1906071711d5ef11cc4231a1eae84fe2a8ae" dependencies = [ "bincode", - "bitflags 2.7.0", + "bitflags 2.8.0", "cfg_eval", "serde", "serde_derive", @@ -6661,9 +6641,9 @@ dependencies = [ [[package]] name = "solana-perf" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e5861b21d523472322d44c71e1fb2d9703e659016abf003fb9eb2917653eaa4" +checksum = "a2deaf151dff638b700c814904cacea319de3f44db95d4d62ecaa889b84d7243" dependencies = [ "ahash", "bincode", @@ -6688,9 +6668,9 @@ dependencies = [ [[package]] name = "solana-precompile-error" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a85f003d72bcc94cd394dcbef150bb18ccd03bd5fee6b6e8927bb0fbbe26d" +checksum = "36924a10546f27619e0fbbcf6167376f4ea3a0dd9ec57a2727a4f4e5a6a7e8e0" dependencies = [ "num-traits", "solana-decode-error", @@ -6698,16 +6678,16 @@ dependencies = [ [[package]] name = "solana-program" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99c693c5c392bacc44e7a86baa18069eb966d88afbc9040219ca000e873fb02e" +checksum = "93ac6b4fe091557c72625c32a4f5e52999bd4065c5d994bb5bb7109cc491744d" dependencies = [ "base64 0.22.1", "bincode", - "bitflags 2.7.0", + "bitflags 2.8.0", "blake3", "borsh 0.10.4", - "borsh 1.5.3", + "borsh 1.5.4", "bs58 0.5.1", "bv", "bytemuck", @@ -6771,9 +6751,9 @@ dependencies = [ [[package]] name = "solana-program-entrypoint" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e0696f51a4386f92f4e1807059bd2b649c207688b9249df332d0fd5ecac240c" +checksum = "8f296f87584dbc684ed1fb00f849803358d97f663ec2829165052d50c2d30de3" dependencies = [ "solana-account-info", "solana-msg", @@ -6783,11 +6763,11 @@ dependencies = [ [[package]] name = "solana-program-error" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd557d10df4380234f5b4a5971a0cae29eedcc42ebe4bbe926a21ff31912e99" +checksum = "776a7291be6ed77d34c6e637e8efdaf70315bde371532428d8b17da78b1a60aa" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "num-traits", "serde", "serde_derive", @@ -6799,9 +6779,9 @@ dependencies = [ [[package]] name = "solana-program-memory" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef71296a3fa6ebaa38ae522bea71af82b7deeea170e459efa3c539b8f14e0155" +checksum = "247aba89bb78002423229ac0c78d954f82ac02f493dbdecacaf94627fa18bdd1" dependencies = [ "num-traits", "solana-define-syscall", @@ -6809,24 +6789,24 @@ dependencies = [ [[package]] name = "solana-program-option" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "506908720b9b1660f2087d9c6f45ba208fa67a0f34658804517324ef65fd432b" +checksum = "5245d595c64114a5c973aede3ab03e14d5ad74f471c755251977e9d3591e7ad6" [[package]] name = "solana-program-pack" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21820c32999ce24532fb12d6188daeffa27eb88a366505a4a0553857729aae52" +checksum = "23a1acbe8f1e2895659b06440f036cf3dd9949dbef0a123cefb3394a6d4192b2" dependencies = [ "solana-program-error", ] [[package]] name = "solana-program-runtime" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77e2768067a37a8d20cd98f10e8ac653077171adc15d4acbee01aa253b95051" +checksum = "a3893e28738a678954a51dd986bbe8b6f63eaaa6e43d9b5c0222d3b729033881" dependencies = [ "base64 0.22.1", "bincode", @@ -6854,12 +6834,12 @@ dependencies = [ [[package]] name = "solana-pubkey" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c46701a845b731f2ffcf002c4bb08968434b9cf5e576cdd705259421074d1764" +checksum = "bbc62c030963895f98b50bfbea6fe443200596be1b3009103e59d815248666f0" dependencies = [ "borsh 0.10.4", - "borsh 1.5.3", + "borsh 1.5.4", "bs58 0.5.1", "bytemuck", "bytemuck_derive", @@ -6881,9 +6861,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98841872ba1715c3fd783554140031967f98fccd198b387578921af7f220ca85" +checksum = "9fad1f43c3f4c5bc92c392eefe1dc7f40e766477c9888c81810ef517270b6e2d" dependencies = [ "crossbeam-channel", "futures-util", @@ -6906,9 +6886,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6b0b66474dff5fb3a266b00aadb0e1107350b6e80750cf16c910b10b579819" +checksum = "36df2c0258dafa383000bbceb45f69159cd90920382cbe151c48c82a90d27f70" dependencies = [ "async-lock", "async-trait", @@ -6932,9 +6912,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed4fecc4b7cc0517ba3966a2845f12037e330821f4e8398d26e95366d363d92b" +checksum = "706679793106ab0c114427e03208645a130fc05e33cafae4f5a7cec9c88cfcde" dependencies = [ "lazy_static", "num_cpus", @@ -6942,9 +6922,9 @@ dependencies = [ [[package]] name = "solana-rent" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05a4d15fe63d0e9a9551adfecfec495e3d50ba0bc4705001010c724fe84f65d8" +checksum = "33d8893f797f09049e9c798dbc0aa58e489c42c51e553de7d1fa2504987b8a23" dependencies = [ "serde", "serde_derive", @@ -6954,9 +6934,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a8da03038ea6390bf23c4584a8ff026038179b23618ab791ce27114ca64fff" +checksum = "c6dcb6fa914bc6fdda7506ec699553ead8b38a70ea32bf722c68b7fdaade1de9" dependencies = [ "async-trait", "base64 0.22.1", @@ -6981,9 +6961,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00156cc75b95b5a0f0cf1ec48fa9fce878364fe7900c40a87c8cad91647b3af0" +checksum = "11a2fb795a984724988d01e16ed9b20fa41be0d52896bb56192ad46483f34bf2" dependencies = [ "anyhow", "base64 0.22.1", @@ -7005,9 +6985,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7350a74a70e53a2c63813354770b890c364508fbff786a4c9530cdbfc83978c4" +checksum = "0bb8c63357d884f4d606f844d2bf6703774eacd5d1cfe6ee2c87941aab4a6960" dependencies = [ "solana-rpc-client", "solana-sdk", @@ -7016,19 +6996,19 @@ dependencies = [ [[package]] name = "solana-sanitize" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b8c536460c84ec7cbcce45d8a68ab1c12c99933cfeb0cb332567e67a27eea2f" +checksum = "cf852dfabddab832d6268fe69b5112a359a0085e1bebde0d4b97ff235bc31ae7" [[package]] name = "solana-sdk" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70bf67076763533f4b43210ad2b966672b8d8b1c837f69987bb780e6c4e6d549" +checksum = "2862fdadb9c6035bb7f8c74e5631064df36ee499bd10aae6146394ad218b5ebf" dependencies = [ "bincode", - "bitflags 2.7.0", - "borsh 1.5.3", + "bitflags 2.8.0", + "borsh 1.5.4", "bs58 0.5.1", "bytemuck", "bytemuck_derive", @@ -7086,9 +7066,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24c160cb22c3671fe2e0fd7c3630701cfccae308174d8d31d7fc93386c3cc381" +checksum = "6ec1a8efb928767da37e058ffcedce0e78b4c4fb865d99b713fabb1430e11bf0" dependencies = [ "bs58 0.5.1", "proc-macro2", @@ -7098,11 +7078,11 @@ dependencies = [ [[package]] name = "solana-secp256k1-recover" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ece1b12237c7755a2070ab1d309a236b506041dd1d7927c7053b04cd3203728" +checksum = "e7a3642a378c45f5d6110048ef88848c1835ad079affc4804b833f9692906f24" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "libsecp256k1", "solana-define-syscall", "thiserror 1.0.69", @@ -7110,9 +7090,9 @@ dependencies = [ [[package]] name = "solana-secp256r1-program" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298640939d73b9229445f611d5db91bb53edf860f211911e9abc3b666799b12e" +checksum = "5af36984053fd8bfaae93721bf6b66b2de287b30570a705c9dbf8f2c3adf25a9" dependencies = [ "bytemuck", "openssl", @@ -7130,18 +7110,18 @@ checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" [[package]] name = "solana-serde-varint" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef862fbe970f90d0e024c6dfca71f25210ec9a52c0e62d94249aae10bda8e97" +checksum = "c0a7f5a744d43c5377b59eff9ec8b356dc2a2b716d442efc06ef10f92002c4d3" dependencies = [ "serde", ] [[package]] name = "solana-serialize-utils" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f1cdaa53aea6fa76dbacd1504e307c4d9665edd50d6d2c5154cd1f88caa1d2" +checksum = "2af95bad9c4cff358d959a8c210d5b7599e0c0b5f423c1510d086539438d77ad" dependencies = [ "solana-instruction", "solana-pubkey", @@ -7150,9 +7130,9 @@ dependencies = [ [[package]] name = "solana-sha256-hasher" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4806e0ffeeb460968219b6a20176b1dc616089e84de1cd37e50cf7f01e295ad9" +checksum = "700bb300ed088d6c216fa32a2f383d290a9981b52620f7a39b37963a78d0fedb" dependencies = [ "sha2 0.10.8", "solana-define-syscall", @@ -7161,18 +7141,18 @@ dependencies = [ [[package]] name = "solana-short-vec" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824dee0886a8504a62a0c06bf95928d43cec0b077992d2b543e0f898775a4931" +checksum = "e7cebf9572316822eb5aa18a0b80d38b1019a8d50e95e1c3de1d9cba9525635e" dependencies = [ "serde", ] [[package]] name = "solana-signature" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29cb6cae156bc2c80ae34b2b365cf460be974cf5c68799e7024615f88f54aed4" +checksum = "60b4b471b990a124e49241e451f01bcdbdfb9402614e8305cd5434d92d4703a7" dependencies = [ "bs58 0.5.1", "ed25519-dalek 1.0.1", @@ -7185,9 +7165,9 @@ dependencies = [ [[package]] name = "solana-slot-hashes" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "409010900f8c357c6cb7bec25014f96e7a0826ca47c915f61f94358b01df9f68" +checksum = "a25b7a24f410863eb9d2e69c19e412204c44cbaa338f45848a10111e0e100c94" dependencies = [ "serde", "serde_derive", @@ -7197,9 +7177,9 @@ dependencies = [ [[package]] name = "solana-slot-history" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82dfd06c84fa3baea6686178b34be9f9485849045ba401c5d0e8eee2eaf485ab" +checksum = "86af3c9471bded9a0d495e57f731fe98f888c69ce38486e10376b150435e99f3" dependencies = [ "bv", "serde", @@ -7209,9 +7189,9 @@ dependencies = [ [[package]] name = "solana-stable-layout" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1629426668b0c503ce86e2fad9ed6d9d525efa958365e6b890397af491c545" +checksum = "3b30fdf9ed421722d929b391e002a62006e87551befadd22c10affcc9a5056e3" dependencies = [ "solana-instruction", "solana-pubkey", @@ -7219,9 +7199,9 @@ dependencies = [ [[package]] name = "solana-streamer" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0dae30bab2e8d079dd12e148f97090497f842ead0f0902080c2e3b2e5aa8db" +checksum = "464652b6e4b9be1212c0c67b4b3310257d7858a074587e35ec9a06851fb58794" dependencies = [ "async-channel", "bytes", @@ -7257,18 +7237,18 @@ dependencies = [ [[package]] name = "solana-sysvar-id" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ec6dbb5d57e773722824069d1b2283e552f0363b1be39aa177b1d77b51ea6e" +checksum = "30d7bc21f82be2eedceb3e97ce80013ddb377b95ee14fbb6f76310757f5515af" dependencies = [ "solana-pubkey", ] [[package]] name = "solana-thin-client" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d2f14d4cee158f1cf721f48ffdbd4e1eb2cd05088dcc15defdf4357bb79de56" +checksum = "7dfb191062bc8b2b1634092ef358cb5a8bbd3b17650565f823fda7050fda44c1" dependencies = [ "bincode", "log", @@ -7281,9 +7261,9 @@ dependencies = [ [[package]] name = "solana-timings" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e757afc3d9bc9b5b9cf1bea1bacd30dbbf32aa6d61e02b45afe0a861ae80f7" +checksum = "434a264d3062a5f95caeb3cc7930bfb93fef96ded85d4ff25632081369b7cc74" dependencies = [ "eager", "enum-iterator", @@ -7292,9 +7272,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e09073492368eab5c3190f4c51a114cb2ed4c5e8fe2c9bf4af6b6dfcc27accbc" +checksum = "88bb24a851403e2f7c2c1492b2c0a0893f53c398debaaed1037856d0d21a6b08" dependencies = [ "async-trait", "bincode", @@ -7315,9 +7295,9 @@ dependencies = [ [[package]] name = "solana-transaction-error" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832ead1987e67eb4cd9a742b8e778169966d600955a39efa50b83a6bb3dec6d3" +checksum = "961d75c50c2343ed9b609deac4e7e0fd25c76291a57b2760e3ce025a487b69b8" dependencies = [ "serde", "serde_derive", @@ -7327,9 +7307,9 @@ dependencies = [ [[package]] name = "solana-transaction-metrics-tracker" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03bb6d614d538663b1485becb375077ec1f86ebd73e436f589851c3b5fcbbaa8" +checksum = "7b383d4534287bd61e3546ef1cb97a43e011068a69a74137ca621bf96ae6fec4" dependencies = [ "base64 0.22.1", "bincode", @@ -7343,9 +7323,9 @@ dependencies = [ [[package]] name = "solana-transaction-status-client-types" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbc1cbda2dd0e7de457af792c708e940dcf82991fc57f10390b62667fc5dd29" +checksum = "4506c41e5026fd98e803dfd4ab020c6f080c580e22b3fd932d96b8f882b089b2" dependencies = [ "base64 0.22.1", "bincode", @@ -7361,9 +7341,9 @@ dependencies = [ [[package]] name = "solana-type-overrides" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8ae015d075feeeca8ecf4fe2a7f1b8a1bd8c3002354af260c56f580bee5b737" +checksum = "3b12afd31af03e5e9320880b3b9c27618f44d4049e86ae8edf2ab53c3c2aed7e" dependencies = [ "lazy_static", "rand 0.8.5", @@ -7371,9 +7351,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c272288da5327948b65edbafceeab66d152ab9c9141af261afc6d845e39c6dc5" +checksum = "42c0713df61e50a4ee2e98eb16d73af1d236ed812b176227c5b372ae3a601f2c" dependencies = [ "async-trait", "solana-connection-cache", @@ -7386,9 +7366,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c6e31a55156877e3f8da59dc6428976952fefee9f27d09d77a40dad3bd8aa86" +checksum = "455bfe6c86895ff8d2d092e201fcaf05e639d56e055cfaac913c87d557f1bee5" dependencies = [ "semver 1.0.24", "serde", @@ -7400,9 +7380,9 @@ dependencies = [ [[package]] name = "solana-vote" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f83d18727d801e3ef5d8c29a66f9632ecd8e9f069a2891a6f730df0f2b1db82" +checksum = "270f1a92ac92bbbcd687bbe97dfe44d80ffaeaaa44ead99eaa3907598ce16825" dependencies = [ "itertools 0.12.1", "log", @@ -7414,9 +7394,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16362e21cdee5b7a55a353f1d6adae59149dab696998ad85fda151ee621aad00" +checksum = "b7f5c7ba6e55a88c0438c9e89603dd2488a3281de832326efaccaf4d68f2c2ba" dependencies = [ "bincode", "log", @@ -7434,9 +7414,9 @@ dependencies = [ [[package]] name = "solana-zk-sdk" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab1ed794c1cc420e984204c495535293a124aa9befc342441a861648c04df9d3" +checksum = "df42f1c4eb9c2a15ac382f6ef2561e98bf9e06deb27a8c9d7f2176069a6920d5" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -7466,9 +7446,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "2.1.7" +version = "2.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c738deb869af7fffa26a189022edc8b3dfb9789f53fc604ca4f5d25aa326170" +checksum = "9960a7af4243d493559f12849477b30bb9671c8f895268ee2f48a791df6c607b" dependencies = [ "aes-gcm-siv", "base64 0.22.1", @@ -7565,7 +7545,7 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76fee7d65013667032d499adc3c895e286197a35a0d3a4643c80e7fd3e9969e3" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "num-derive 0.4.2", "num-traits", "solana-program", @@ -7674,7 +7654,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c704c88fc457fa649ba3aabe195c79d885c3f26709efaddc453c8de352c90b87" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "bytemuck", "bytemuck_derive", "solana-program", @@ -7688,7 +7668,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41a7d5950993e1ff2680bd989df298eeb169367fb2f9deeef1f132de6e4e8016" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "bytemuck", "bytemuck_derive", "num-derive 0.4.2", @@ -7933,7 +7913,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6c2318ddff97e006ed9b1291ebec0750a78547f870f62a69c56fe3b46a5d8fc" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "solana-program", "spl-discriminator 0.3.0", "spl-pod 0.3.1", @@ -7947,7 +7927,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfb9c89dbc877abd735f05547dcf9e6e12c00c11d6d74d8817506cab4c99fdbb" dependencies = [ - "borsh 1.5.3", + "borsh 1.5.4", "num-derive 0.4.2", "num-traits", "solana-borsh", @@ -8115,84 +8095,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "sval" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6dc0f9830c49db20e73273ffae9b5240f63c42e515af1da1fceefb69fceafd8" - -[[package]] -name = "sval_buffer" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "429922f7ad43c0ef8fd7309e14d750e38899e32eb7e8da656ea169dd28ee212f" -dependencies = [ - "sval", - "sval_ref", -] - -[[package]] -name = "sval_dynamic" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f16ff5d839396c11a30019b659b0976348f3803db0626f736764c473b50ff4" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_fmt" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c01c27a80b6151b0557f9ccbe89c11db571dc5f68113690c1e028d7e974bae94" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_json" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0deef63c70da622b2a8069d8600cf4b05396459e665862e7bdb290fd6cf3f155" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_nested" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a39ce5976ae1feb814c35d290cf7cf8cd4f045782fe1548d6bc32e21f6156e9f" -dependencies = [ - "sval", - "sval_buffer", - "sval_ref", -] - -[[package]] -name = "sval_ref" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7c6ee3751795a728bc9316a092023529ffea1783499afbc5c66f5fabebb1fa" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_serde" -version = "2.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a5572d0321b68109a343634e3a5d576bf131b82180c6c442dee06349dfc652a" -dependencies = [ - "serde", - "sval", - "sval_nested", -] - [[package]] name = "svm-rs" version = "0.3.5" @@ -8237,9 +8139,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.18" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e89d8bf2768d277f40573c83a02a099e96d96dd3104e13ea676194e61ac4b0" +checksum = "b84e4d83a0a6704561302b917a932484e1cae2d8c6354c64be8b7bac1c1fe057" dependencies = [ "paste", "proc-macro2", @@ -8302,7 +8204,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.7.0", + "bitflags 2.8.0", "core-foundation", "system-configuration-sys 0.6.0", ] @@ -8749,12 +8651,6 @@ dependencies = [ "webpki-roots 0.24.0", ] -[[package]] -name = "typeid" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" - [[package]] name = "typenum" version = "1.17.0" @@ -8919,42 +8815,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "value-bag" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" -dependencies = [ - "value-bag-serde1", - "value-bag-sval2", -] - -[[package]] -name = "value-bag-serde1" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb773bd36fd59c7ca6e336c94454d9c66386416734817927ac93d81cb3c5b0b" -dependencies = [ - "erased-serde", - "serde", - "serde_fmt", -] - -[[package]] -name = "value-bag-sval2" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a916a702cac43a88694c97657d449775667bcd14b70419441d05b7fea4a83a" -dependencies = [ - "sval", - "sval_buffer", - "sval_dynamic", - "sval_fmt", - "sval_json", - "sval_ref", - "sval_serde", -] - [[package]] name = "vcpkg" version = "0.2.15" @@ -9015,20 +8875,21 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if 1.0.0", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", @@ -9040,9 +8901,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.49" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -9053,9 +8914,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -9063,9 +8924,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -9076,15 +8937,18 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.99" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" -version = "0.3.76" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index 96d7a1d..7069e8e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] } base64 = "0.22" near-token = "0.3" near-contract-standards = "5.5" -omni-types = { git = "https://github.com/near-one/omni-bridge", package = "omni-types", rev = "11ffdb63706ceba175f7581585bd837aad9f1559" } +omni-types = { git = "https://github.com/near-one/omni-bridge", package = "omni-types", rev = "7ca34034de19dfdfab9e7709c2af731b2525228e" } solana-sdk = "2.0.13" solana-client = "2.0.13" spl-token = "7.0.0" diff --git a/bridge-cli/Cargo.toml b/bridge-cli/Cargo.toml index 79aaece..9aa438c 100644 --- a/bridge-cli/Cargo.toml +++ b/bridge-cli/Cargo.toml @@ -23,3 +23,4 @@ omni-connector = { path = "../bridge-sdk/connectors/omni-connector" } near-bridge-client = { path = "../bridge-sdk/bridge-clients/near-bridge-client" } evm-bridge-client = { path = "../bridge-sdk/bridge-clients/evm-bridge-client" } solana-bridge-client = { path = "../bridge-sdk/bridge-clients/solana-bridge-client" } +wormhole-bridge-client = { path = "../bridge-sdk/bridge-clients/wormhole-bridge-client" } diff --git a/bridge-cli/src/defaults.rs b/bridge-cli/src/defaults.rs index 740fdcf..bf324d4 100644 --- a/bridge-cli/src/defaults.rs +++ b/bridge-cli/src/defaults.rs @@ -1,6 +1,6 @@ /// Mainnet pub const NEAR_RPC_MAINNET: &str = "https://rpc.mainnet.near.org/"; -pub const NEAR_TOKEN_LOCKER_ID_MAINNET: &str = "omni-locker.near"; +pub const NEAR_TOKEN_LOCKER_ID_MAINNET: &str = "omni.bridge.near"; pub const NEAR_LIGHT_CLIENT_ETH_ADDRESS_MAINNET: &str = "0x3FEFc5A4B1c02f21cBc8D3613643ba0635b9a873"; @@ -11,17 +11,17 @@ pub const ETH_BRIDGE_TOKEN_FACTORY_ADDRESS_MAINNET: &str = pub const ETH_CONNECTOR_ACCOUNT_ID_MAINNET: &str = "aurora"; pub const ETH_CUSTODIAN_ADDRESS_MAINNET: &str = "0x6BFaD42cFC4EfC96f529D786D643Ff4A8B89FA52"; -pub const BASE_RPC_MAINNET: &str = ""; +pub const BASE_RPC_MAINNET: &str = "https://base.llamarpc.com"; pub const BASE_CHAIN_ID_MAINNET: u64 = 8453; -pub const BASE_BRIDGE_TOKEN_FACTORY_ADDRESS_MAINNET: &str = ""; +pub const BASE_BRIDGE_TOKEN_FACTORY_ADDRESS_MAINNET: &str = "0xd025b38762B4A4E36F0Cde483b86CB13ea00D989"; -pub const ARB_RPC_MAINNET: &str = ""; +pub const ARB_RPC_MAINNET: &str = "https://arbitrum.llamarpc.com"; pub const ARB_CHAIN_ID_MAINNET: u64 = 42161; -pub const ARB_BRIDGE_TOKEN_FACTORY_ADDRESS_MAINNET: &str = ""; +pub const ARB_BRIDGE_TOKEN_FACTORY_ADDRESS_MAINNET: &str = "0xd025b38762B4A4E36F0Cde483b86CB13ea00D989"; pub const SOLANA_RPC_MAINNET: &str = "https://api.mainnet-beta.solana.com"; -pub const SOLANA_BRIDGE_ADDRESS_MAINNET: &str = ""; -pub const SOLANA_WORMHOLE_ADDRESS_MAINNET: &str = ""; +pub const SOLANA_BRIDGE_ADDRESS_MAINNET: &str = "dahPEoZGXfyV58JqqH85okdHmpN8U2q8owgPUXSCPxe"; +pub const SOLANA_WORMHOLE_ADDRESS_MAINNET: &str = "worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth"; pub const FAST_BRIDGE_ACCOUNT_ID_MAINNET: &str = "fast.bridge.near"; pub const FAST_BRIDGE_ADDRESS_MAINNET: &str = "0xC5E985976d9b521904AD96306356ECA0fE4F3a1f"; @@ -55,3 +55,5 @@ pub const SOLANA_WORMHOLE_ADDRESS_TESTNET: &str = "3u8hJUVTA4jH1wYAyUur7FFZVQ8H6 pub const FAST_BRIDGE_ACCOUNT_ID_TESTNET: &str = "fastbridge.testnet"; pub const FAST_BRIDGE_ADDRESS_TESTNET: &str = "0x0B2C4871C9bAD795746C05c1539A8B1f26c26357"; + +pub const WORMHOLE_API: &str = "https://api.wormholescan.io"; diff --git a/bridge-cli/src/main.rs b/bridge-cli/src/main.rs index 0771c8a..c62fa6c 100644 --- a/bridge-cli/src/main.rs +++ b/bridge-cli/src/main.rs @@ -72,6 +72,9 @@ struct CliConfig { #[arg(long)] fast_bridge_address: Option, + #[arg(long)] + wormhole_api: Option, + #[arg(long)] config_file: Option, } @@ -122,6 +125,8 @@ impl CliConfig { fast_bridge_account_id: self.fast_bridge_account_id.or(other.fast_bridge_account_id), fast_bridge_address: self.fast_bridge_address.or(other.fast_bridge_address), + wormhole_api: self.wormhole_api.or(other.wormhole_api), + config_file: self.config_file.or(other.config_file), } } @@ -166,6 +171,8 @@ fn env_config() -> CliConfig { fast_bridge_account_id: env::var("FAST_BRIDGE_ACCOUNT_ID").ok(), fast_bridge_address: env::var("FAST_BRIDGE_ADDRESS").ok(), + wormhole_api: env::var("WORMHOLE_API").ok(), + config_file: None, } } @@ -212,6 +219,8 @@ fn default_config(network: Network) -> CliConfig { fast_bridge_account_id: Some(defaults::FAST_BRIDGE_ACCOUNT_ID_MAINNET.to_owned()), fast_bridge_address: Some(defaults::FAST_BRIDGE_ADDRESS_MAINNET.to_owned()), + wormhole_api: Some(defaults::WORMHOLE_API.to_owned()), + config_file: None, }, Network::Testnet => CliConfig { @@ -254,6 +263,8 @@ fn default_config(network: Network) -> CliConfig { fast_bridge_account_id: Some(defaults::FAST_BRIDGE_ACCOUNT_ID_TESTNET.to_owned()), fast_bridge_address: Some(defaults::FAST_BRIDGE_ADDRESS_TESTNET.to_owned()), + wormhole_api: Some(defaults::WORMHOLE_API.to_owned()), + config_file: None, }, } diff --git a/bridge-cli/src/omni_connector_command.rs b/bridge-cli/src/omni_connector_command.rs index e127cf9..807a05d 100644 --- a/bridge-cli/src/omni_connector_command.rs +++ b/bridge-cli/src/omni_connector_command.rs @@ -7,35 +7,36 @@ use evm_bridge_client::EvmBridgeClientBuilder; use near_bridge_client::NearBridgeClientBuilder; use near_primitives::{hash::CryptoHash, types::AccountId}; use omni_connector::{ - BindTokenArgs, DeployTokenArgs, FinTransferArgs, InitTransferArgs, LogMetadataArgs, - OmniConnector, OmniConnectorBuilder, + BindTokenArgs, DeployTokenArgs, FinTransferArgs, InitTransferArgs, OmniConnector, + OmniConnectorBuilder, }; -use omni_types::{ChainKind, Fee, TransferId}; +use omni_types::{ChainKind, Fee, OmniAddress, TransferId}; use solana_bridge_client::SolanaBridgeClientBuilder; use solana_client::nonblocking::rpc_client::RpcClient; -use solana_sdk::signature::Keypair; +use solana_sdk::{signature::Keypair, signer::EncodableKey}; +use wormhole_bridge_client::WormholeBridgeClientBuilder; use crate::{combined_config, CliConfig, Network}; #[derive(Subcommand, Debug)] pub enum OmniConnectorSubCommand { - NearLogMetadata { - #[clap(short, long)] - token: String, + LogMetadata { + #[clap(long)] + token: OmniAddress, #[command(flatten)] config_cli: CliConfig, }, NearDeployToken { #[clap(short, long)] - source_chain_id: u8, + chain: ChainKind, #[clap(short, long)] - vaa: String, + tx_hash: String, #[command(flatten)] config_cli: CliConfig, }, NearDeployTokenWithEvmProof { #[clap(short, long)] - source_chain_id: u8, + chain: ChainKind, #[clap(short, long)] tx_hash: String, #[command(flatten)] @@ -81,16 +82,15 @@ pub enum OmniConnectorSubCommand { #[clap(short, long)] storage_deposit_amount: Option, #[clap(short, long)] - source_chain_id: u8, + chain: ChainKind, #[clap(short, long)] vaa: String, #[command(flatten)] config_cli: CliConfig, }, - EvmDeployToken { #[clap(short, long)] - source_chain_id: u8, + chain: ChainKind, #[clap(short, long)] tx_hash: String, #[command(flatten)] @@ -98,7 +98,7 @@ pub enum OmniConnectorSubCommand { }, EvmBindToken { #[clap(short, long)] - source_chain_id: u8, + chain: ChainKind, #[clap(short, long)] tx_hash: String, #[command(flatten)] @@ -106,7 +106,7 @@ pub enum OmniConnectorSubCommand { }, EvmInitTransfer { #[clap(short, long)] - source_chain_id: u8, + chain: ChainKind, #[clap(short, long)] token: String, #[clap(short, long)] @@ -122,7 +122,7 @@ pub enum OmniConnectorSubCommand { }, EvmFinTransfer { #[clap(short, long)] - source_chain_id: u8, + chain: ChainKind, #[clap(short, long)] tx_hash: String, #[command(flatten)] @@ -161,12 +161,6 @@ pub enum OmniConnectorSubCommand { #[command(flatten)] config_cli: CliConfig, }, - SolanaLogMetadata { - #[clap(short, long)] - token: String, - #[command(flatten)] - config_cli: CliConfig, - }, SolanaInitTransfer { #[clap(short, long)] token: String, @@ -188,7 +182,7 @@ pub enum OmniConnectorSubCommand { WormholeBindToken { #[clap(short, long)] - source_chain_id: u8, + chain: ChainKind, #[clap(short, long)] vaa: String, #[command(flatten)] @@ -198,21 +192,21 @@ pub enum OmniConnectorSubCommand { pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { match cmd { - OmniConnectorSubCommand::NearLogMetadata { token, config_cli } => { + OmniConnectorSubCommand::LogMetadata { token, config_cli } => { omni_connector(network, config_cli) - .log_metadata(LogMetadataArgs::NearLogMetadata { token }) + .log_metadata(token) .await .unwrap(); } OmniConnectorSubCommand::NearDeployToken { - source_chain_id, - vaa, + chain, + tx_hash, config_cli, } => { omni_connector(network, config_cli) .deploy_token(DeployTokenArgs::NearDeployToken { - chain_kind: ChainKind::try_from(source_chain_id).unwrap(), - vaa, + chain_kind: chain, + tx_hash: TxHash::from_str(&tx_hash).expect("Invalid tx_hash"), }) .await .unwrap(); @@ -269,7 +263,7 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { token_id, account_id, storage_deposit_amount, - source_chain_id, + chain, vaa, config_cli, } => { @@ -279,7 +273,7 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { }; omni_connector(network, config_cli) .fin_transfer(FinTransferArgs::NearFinTransfer { - chain_kind: ChainKind::try_from(source_chain_id).unwrap(), + chain_kind: chain, storage_deposit_actions: vec![omni_types::locker_args::StorageDepositAction { token_id: AccountId::from_str(&token_id).unwrap(), account_id: AccountId::from_str(&account_id).unwrap(), @@ -292,33 +286,33 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { } OmniConnectorSubCommand::EvmDeployToken { - source_chain_id, + chain, tx_hash, config_cli, } => { omni_connector(network, config_cli) .deploy_token(DeployTokenArgs::EvmDeployTokenWithTxHash { - chain_kind: ChainKind::try_from(source_chain_id).unwrap(), + chain_kind: chain, near_tx_hash: CryptoHash::from_str(&tx_hash).expect("Invalid tx_hash"), }) .await .unwrap(); } OmniConnectorSubCommand::EvmBindToken { - source_chain_id, + chain, tx_hash, config_cli, } => { omni_connector(network, config_cli) .bind_token(BindTokenArgs::EvmBindToken { - chain_kind: ChainKind::try_from(source_chain_id).unwrap(), + chain_kind: chain, tx_hash: TxHash::from_str(&tx_hash).expect("Invalid tx_hash"), }) .await .unwrap(); } OmniConnectorSubCommand::EvmInitTransfer { - source_chain_id, + chain, token, amount, receiver, @@ -328,7 +322,7 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { } => { omni_connector(network, config_cli) .init_transfer(InitTransferArgs::EvmInitTransfer { - chain_kind: ChainKind::try_from(source_chain_id).unwrap(), + chain_kind: chain, token, amount, receiver, @@ -341,14 +335,14 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { .unwrap(); } OmniConnectorSubCommand::EvmFinTransfer { - source_chain_id, + chain, tx_hash, config_cli, } => { omni_connector(network, config_cli) .fin_transfer(FinTransferArgs::EvmFinTransferWithTxHash { near_tx_hash: CryptoHash::from_str(&tx_hash).expect("Invalid tx_hash"), - chain_kind: ChainKind::try_from(source_chain_id).unwrap(), + chain_kind: chain, }) .await .unwrap(); @@ -363,14 +357,6 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { .await .unwrap(); } - OmniConnectorSubCommand::SolanaLogMetadata { token, config_cli } => { - omni_connector(network, config_cli) - .log_metadata(LogMetadataArgs::SolanaLogMetadata { - token: token.parse().unwrap(), - }) - .await - .unwrap(); - } OmniConnectorSubCommand::SolanaDeployToken { transaction_hash, sender_id, @@ -427,7 +413,7 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { OmniConnectorSubCommand::SolanaFinalizeTransferSol { .. } => {} OmniConnectorSubCommand::WormholeBindToken { - source_chain_id, + chain, vaa, config_cli, } => { @@ -438,7 +424,7 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { omni_connector(network, config_cli) .bind_token(BindTokenArgs::WormholeBindToken { bind_token_args: omni_types::locker_args::BindTokenArgs { - chain_kind: ChainKind::try_from(source_chain_id).unwrap(), + chain_kind: chain, prover_args: near_primitives::borsh::to_vec(&args).unwrap(), }, }) @@ -447,13 +433,13 @@ pub async fn match_subcommand(cmd: OmniConnectorSubCommand, network: Network) { } OmniConnectorSubCommand::NearDeployTokenWithEvmProof { - source_chain_id, + chain, tx_hash, config_cli, } => { omni_connector(network, config_cli) .deploy_token(DeployTokenArgs::NearDeployTokenWithEvmProof { - chain_kind: ChainKind::try_from(source_chain_id).unwrap(), + chain_kind: chain, tx_hash: TxHash::from_str(&tx_hash).expect("Invalid tx_hash"), }) .await @@ -509,9 +495,16 @@ fn omni_connector(network: Network, cli_config: CliConfig) -> OmniConnector { .solana_wormhole_address .map(|addr| addr.parse().unwrap()), ) - .keypair(Some(Keypair::from_base58_string( - &combined_config.solana_keypair.unwrap(), - ))) + .keypair( + combined_config + .solana_keypair + .map(|path| Keypair::read_from_file(path).unwrap()), + ) + .build() + .unwrap(); + + let wormhole_bridge_client = WormholeBridgeClientBuilder::default() + .endpoint(combined_config.wormhole_api) .build() .unwrap(); @@ -521,7 +514,7 @@ fn omni_connector(network: Network, cli_config: CliConfig) -> OmniConnector { .base_bridge_client(Some(base_bridge_client)) .arb_bridge_client(Some(arb_bridge_client)) .solana_bridge_client(Some(solana_bridge_client)) - .wormhole_bridge_client(None) + .wormhole_bridge_client(Some(wormhole_bridge_client)) .build() .unwrap() } diff --git a/bridge-sdk/bridge-clients/evm-bridge-client/src/evm_bridge_client.rs b/bridge-sdk/bridge-clients/evm-bridge-client/src/evm_bridge_client.rs index c13aef1..ace3a5a 100644 --- a/bridge-sdk/bridge-clients/evm-bridge-client/src/evm_bridge_client.rs +++ b/bridge-sdk/bridge-clients/evm-bridge-client/src/evm_bridge_client.rs @@ -5,8 +5,8 @@ use derive_builder::Builder; use ethers::{abi::Address, prelude::*}; use omni_types::prover_args::EvmProof; use omni_types::prover_result::ProofKind; -use omni_types::Fee; -use omni_types::{near_events::Nep141LockerEvent, OmniAddress}; +use omni_types::{near_events::OmniBridgeEvent, OmniAddress}; +use omni_types::{EvmAddress, Fee}; use sha3::{Digest, Keccak256}; abigen!( @@ -18,6 +18,7 @@ abigen!( function finTransfer(bytes, TransferMessagePayload) external function initTransfer(address tokenAddress, uint128 amount, uint128 fee, uint128 nativeFee, string recipient, string message) external function nearToEthToken(string nearTokenId) external view returns (address) + function logMetadata(address tokenAddress) external ]"# ); @@ -48,12 +49,29 @@ impl EvmBridgeClient { Self::default() } + // Logs an ERC-20 token metadata + #[tracing::instrument(skip_all, name = "LOG METADATA")] + pub async fn log_metadata(&self, address: EvmAddress) -> Result { + let factory = self.bridge_token_factory()?; + + let mut call = factory.log_metadata(address.0.into()); + self.apply_required_gas_fee(&mut call).await?; + let tx = call.send().await?; + + tracing::info!( + tx_hash = format!("{:?}", tx.tx_hash()), + "Sent new bridge token transaction" + ); + + Ok(tx.tx_hash()) + } + /// Deploys an ERC-20 token representing a bridged version of a token from another chain. Requires a receipt from log_metadata transaction on Near #[tracing::instrument(skip_all, name = "EVM DEPLOY TOKEN")] - pub async fn deploy_token(&self, transfer_log: Nep141LockerEvent) -> Result { + pub async fn deploy_token(&self, transfer_log: OmniBridgeEvent) -> Result { let factory = self.bridge_token_factory()?; - let Nep141LockerEvent::LogMetadataEvent { + let OmniBridgeEvent::LogMetadataEvent { signature, metadata_payload, } = transfer_log @@ -148,10 +166,10 @@ impl EvmBridgeClient { /// Mints the corresponding bridged tokens on EVM. Requires an MPC signature #[tracing::instrument(skip_all, name = "EVM FIN TRANSFER")] - pub async fn fin_transfer(&self, transfer_log: Nep141LockerEvent) -> Result { + pub async fn fin_transfer(&self, transfer_log: OmniBridgeEvent) -> Result { let factory = self.bridge_token_factory()?; - let Nep141LockerEvent::SignTransferEvent { + let OmniBridgeEvent::SignTransferEvent { message_payload, signature, } = transfer_log diff --git a/bridge-sdk/bridge-clients/wormhole-bridge-client/src/wormhole_bridge_client.rs b/bridge-sdk/bridge-clients/wormhole-bridge-client/src/wormhole_bridge_client.rs index 23b065a..3930a30 100644 --- a/bridge-sdk/bridge-clients/wormhole-bridge-client/src/wormhole_bridge_client.rs +++ b/bridge-sdk/bridge-clients/wormhole-bridge-client/src/wormhole_bridge_client.rs @@ -8,6 +8,11 @@ struct WormholeApiResponse { } #[derive(Debug, serde::Deserialize)] +struct WormholeTxApiResponse { + data: Vec, +} + +#[derive(Debug, serde::Deserialize, Clone)] struct WormholeApiData { vaa: String, } @@ -50,6 +55,31 @@ impl WormholeBridgeClient { Ok(hex::encode(from_base64(&vaa).unwrap())) } + pub async fn get_vaa_by_tx_hash(&self, tx_hash: String) -> Result { + let endpoint = self.endpoint()?; + let sanitized_endpoint = endpoint.trim_end_matches('/'); + + let url = format!("{}/api/v1/vaas/?txHash={}", sanitized_endpoint, tx_hash); + + let response = reqwest::get(url) + .await + .map_err(|e| BridgeSdkError::WormholeClientError(e.to_string()))?; + + let vaa = response + .json::() + .await + .map_err(|e| BridgeSdkError::WormholeClientError(e.to_string()))? + .data + .first() + .cloned() + .ok_or(BridgeSdkError::WormholeClientError( + "No VAA found".to_string(), + ))? + .vaa; + + Ok(hex::encode(from_base64(&vaa).unwrap())) + } + fn endpoint(&self) -> Result<&str> { Ok(self.endpoint.as_ref().ok_or(BridgeSdkError::ConfigError( "Wormhole api endpoint is not set".to_string(), diff --git a/bridge-sdk/connectors/bridge-connector-common/src/result.rs b/bridge-sdk/connectors/bridge-connector-common/src/result.rs index 22b4a68..96192c4 100644 --- a/bridge-sdk/connectors/bridge-connector-common/src/result.rs +++ b/bridge-sdk/connectors/bridge-connector-common/src/result.rs @@ -25,6 +25,8 @@ pub enum BridgeSdkError { NearProofError(String), #[error("Error deserializing RPC response: {0}")] DeserializationError(#[from] serde_json::Error), + #[error("Wormhole client error: {0}")] + WormholeClientError(String), #[error("Unexpected error occured")] UnknownError, } diff --git a/bridge-sdk/connectors/omni-connector/src/omni_connector.rs b/bridge-sdk/connectors/omni-connector/src/omni_connector.rs index 06f47f7..eaf3237 100644 --- a/bridge-sdk/connectors/omni-connector/src/omni_connector.rs +++ b/bridge-sdk/connectors/omni-connector/src/omni_connector.rs @@ -8,8 +8,8 @@ use near_primitives::types::AccountId; use omni_types::locker_args::{ClaimFeeArgs, StorageDepositAction}; use omni_types::prover_args::EvmVerifyProofArgs; use omni_types::prover_result::ProofKind; -use omni_types::{near_events::Nep141LockerEvent, ChainKind}; -use omni_types::{Fee, OmniAddress}; +use omni_types::{near_events::OmniBridgeEvent, ChainKind}; +use omni_types::{EvmAddress, Fee, OmniAddress}; use evm_bridge_client::EvmBridgeClient; use near_bridge_client::NearBridgeClient; @@ -32,15 +32,21 @@ pub struct OmniConnector { wormhole_bridge_client: Option, } -pub enum LogMetadataArgs { - NearLogMetadata { token: String }, - SolanaLogMetadata { token: Pubkey }, +pub enum WormholeDeployTokenArgs { + Transaction { + chain_kind: ChainKind, + tx_hash: TxHash, + }, + VAA { + chain_kind: ChainKind, + vaa: String, + }, } pub enum DeployTokenArgs { NearDeployToken { chain_kind: ChainKind, - vaa: String, + tx_hash: TxHash, }, NearDeployTokenWithEvmProof { chain_kind: ChainKind, @@ -48,14 +54,14 @@ pub enum DeployTokenArgs { }, EvmDeployToken { chain_kind: ChainKind, - event: Nep141LockerEvent, + event: OmniBridgeEvent, }, EvmDeployTokenWithTxHash { chain_kind: ChainKind, near_tx_hash: CryptoHash, }, SolanaDeployToken { - event: Nep141LockerEvent, + event: OmniBridgeEvent, }, SolanaDeployTokenWithTxHash { near_tx_hash: CryptoHash, @@ -105,14 +111,14 @@ pub enum FinTransferArgs { }, EvmFinTransfer { chain_kind: ChainKind, - event: Nep141LockerEvent, + event: OmniBridgeEvent, }, EvmFinTransferWithTxHash { chain_kind: ChainKind, near_tx_hash: CryptoHash, }, SolanaFinTransfer { - event: Nep141LockerEvent, + event: OmniBridgeEvent, solana_token: Pubkey, }, SolanaFinTransferWithTxHash { @@ -144,13 +150,30 @@ impl OmniConnector { pub async fn near_deploy_token_with_vaa_proof( &self, - chain_kind: ChainKind, - vaa: String, + args: WormholeDeployTokenArgs, ) -> Result { let near_bridge_client = self.near_bridge_client()?; - near_bridge_client - .deploy_token_with_vaa_proof(chain_kind, &vaa) - .await + + match args { + WormholeDeployTokenArgs::Transaction { + chain_kind, + tx_hash, + } => { + let wormhole_bridge_client = self.wormhole_bridge_client()?; + let vaa = wormhole_bridge_client + .get_vaa_by_tx_hash(format!("{:?}", tx_hash)) + .await?; + + near_bridge_client + .deploy_token_with_vaa_proof(chain_kind, &vaa) + .await + } + WormholeDeployTokenArgs::VAA { chain_kind, vaa } => { + near_bridge_client + .deploy_token_with_vaa_proof(chain_kind, &vaa) + .await + } + } } pub async fn near_bind_token( @@ -282,10 +305,19 @@ impl OmniConnector { .await } + pub async fn evm_log_metadata( + &self, + address: EvmAddress, + chain_kind: ChainKind, + ) -> Result { + let evm_bridge_client = self.evm_bridge_client(chain_kind)?; + evm_bridge_client.log_metadata(address).await + } + pub async fn evm_deploy_token( &self, chain_kind: ChainKind, - event: Nep141LockerEvent, + event: OmniBridgeEvent, ) -> Result { let evm_bridge_client = self.evm_bridge_client(chain_kind)?; evm_bridge_client.deploy_token(event).await @@ -327,7 +359,7 @@ impl OmniConnector { pub async fn evm_fin_transfer( &self, chain_kind: ChainKind, - event: Nep141LockerEvent, + event: OmniBridgeEvent, ) -> Result { let evm_bridge_client = self.evm_bridge_client(chain_kind)?; evm_bridge_client.fin_transfer(event).await @@ -413,9 +445,9 @@ impl OmniConnector { pub async fn solana_deploy_token_with_event( &self, - event: Nep141LockerEvent, + event: OmniBridgeEvent, ) -> Result { - let Nep141LockerEvent::LogMetadataEvent { + let OmniBridgeEvent::LogMetadataEvent { signature, metadata_payload, } = event @@ -511,10 +543,10 @@ impl OmniConnector { pub async fn solana_finalize_transfer_with_event( &self, - event: Nep141LockerEvent, + event: OmniBridgeEvent, solana_token: Pubkey, // TODO: retrieve from near contract ) -> Result { - let Nep141LockerEvent::SignTransferEvent { + let OmniBridgeEvent::SignTransferEvent { message_payload, signature, } = event @@ -559,23 +591,36 @@ impl OmniConnector { } } - pub async fn log_metadata(&self, log_metadata_args: LogMetadataArgs) -> Result { - match log_metadata_args { - LogMetadataArgs::NearLogMetadata { token: token_id } => self - .near_log_metadata(token_id) - .await - .map(|hash| hash.to_string()), - LogMetadataArgs::SolanaLogMetadata { token } => self - .solana_log_metadata(token) + pub async fn log_metadata(&self, token: OmniAddress) -> Result { + match &token { + OmniAddress::Eth(address) | OmniAddress::Arb(address) | OmniAddress::Base(address) => { + self.evm_log_metadata(address.clone(), token.get_chain()) + .await + .map(|hash| hash.to_string()) + } + OmniAddress::Near(token_id) => self + .near_log_metadata(token_id.to_string()) .await .map(|hash| hash.to_string()), + OmniAddress::Sol(sol_address) => { + let token = Pubkey::new_from_array(sol_address.0); + self.solana_log_metadata(token) + .await + .map(|hash| hash.to_string()) + } } } pub async fn deploy_token(&self, deploy_token_args: DeployTokenArgs) -> Result { match deploy_token_args { - DeployTokenArgs::NearDeployToken { chain_kind, vaa } => self - .near_deploy_token_with_vaa_proof(chain_kind, vaa) + DeployTokenArgs::NearDeployToken { + chain_kind, + tx_hash, + } => self + .near_deploy_token_with_vaa_proof(WormholeDeployTokenArgs::Transaction { + chain_kind, + tx_hash, + }) .await .map(|hash| hash.to_string()), DeployTokenArgs::EvmDeployToken { chain_kind, event } => self