diff --git a/Cargo.lock b/Cargo.lock index 68b8ff71..00bfdd48 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,18 +4,18 @@ version = 3 [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aho-corasick" @@ -108,9 +108,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "askama" @@ -135,7 +135,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -155,9 +155,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -166,24 +166,24 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -203,23 +203,23 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -333,9 +333,9 @@ checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "bytemuck" -version = "1.17.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2" +checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" [[package]] name = "byteorder" @@ -345,9 +345,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" [[package]] name = "camino" @@ -406,9 +406,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.15" +version = "1.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" +checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" dependencies = [ "jobserver", "libc", @@ -444,9 +444,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.16" +version = "4.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" +checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" dependencies = [ "clap_builder", "clap_derive", @@ -454,9 +454,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.15" +version = "4.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" +checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" dependencies = [ "anstream", "anstyle", @@ -466,14 +466,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.13" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -552,9 +552,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -630,7 +630,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -647,7 +647,7 @@ checksum = "98532a60dedaebc4848cb2cba5023337cc9ea3af16a5b062633fabfd9f18fb60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -695,7 +695,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -717,7 +717,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -760,7 +760,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -866,7 +866,7 @@ checksum = "311a6d2f1f9d60bff73d2c78a0af97ed27f79672f15c238192a5bbb64db56d00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -912,9 +912,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -926,9 +926,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -936,33 +936,33 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -997,7 +997,7 @@ dependencies = [ "radix-common", "radix-engine", "radix-engine-interface", - "radix-engine-toolkit", + "radix-engine-toolkit 2.1.2", "radix-engine-toolkit-json", "radix-substate-store-impls", "radix-transaction-scenarios", @@ -1050,9 +1050,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" @@ -1085,9 +1085,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" [[package]] name = "heck" @@ -1146,9 +1146,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -1181,9 +1181,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1221,12 +1221,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.0", "serde", ] @@ -1337,9 +1337,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "libm" @@ -1432,11 +1432,11 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler", + "adler2", ] [[package]] @@ -1559,9 +1559,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.4" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] @@ -1579,9 +1579,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "oneshot-uniffi" @@ -1616,7 +1616,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1674,7 +1674,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1757,7 +1757,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "version_check", "yansi 1.0.1", ] @@ -1785,8 +1785,7 @@ dependencies = [ [[package]] name = "radix-blueprint-schema-init" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a744eb07ded9effa0a6ab1e3d4dba1707a980ec0acb8ebeb37cdb78b373cd1" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "bitflags 1.3.2", "radix-common", @@ -1797,8 +1796,7 @@ dependencies = [ [[package]] name = "radix-common" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1ce97ee67264628b4651706ec6808e443fbb0ecba766824a0e94887a5b54969" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "bech32", "blake2", @@ -1824,8 +1822,7 @@ dependencies = [ [[package]] name = "radix-common-derive" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0ac980f09b21f849aa12f2473adfa366e70829ed634f5735512532066f71ad" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "paste", "proc-macro2", @@ -1837,8 +1834,7 @@ dependencies = [ [[package]] name = "radix-engine" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef90ebf947c5222524473247e360e85672d7087069302681fbd2d039e7320164" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "bitflags 1.3.2", "colored", @@ -1869,8 +1865,7 @@ dependencies = [ [[package]] name = "radix-engine-interface" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a96a51e803213f13cf199c92eaafa3884292c1e66d8afc1d8aef7e15625ff0" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "bitflags 1.3.2", "const-sha1", @@ -1891,8 +1886,7 @@ dependencies = [ [[package]] name = "radix-engine-profiling" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc2923380e79a504f1825ff9b44af664bcd0abbfb551019ee7f5007902304630" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "fixedstr", ] @@ -1900,8 +1894,7 @@ dependencies = [ [[package]] name = "radix-engine-profiling-derive" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126e06af580691c53ca3b1a18ba282b47381a060f3fffe7019b6be5fe8c89745" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "proc-macro2", "quote", @@ -1909,6 +1902,21 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "radix-engine-toolkit" +version = "1.2.0" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" +dependencies = [ + "radix-common", + "radix-engine", + "radix-engine-interface", + "radix-rust", + "radix-substate-store-interface", + "sbor", + "serde", + "serde_with", +] + [[package]] name = "radix-engine-toolkit" version = "2.1.2" @@ -1921,6 +1929,7 @@ dependencies = [ "radix-common", "radix-engine", "radix-engine-interface", + "radix-engine-toolkit 1.2.0", "radix-substate-store-impls", "radix-substate-store-interface", "radix-substate-store-queries", @@ -1946,7 +1955,7 @@ dependencies = [ "radix-common", "radix-engine", "radix-engine-interface", - "radix-engine-toolkit", + "radix-engine-toolkit 2.1.2", "radix-substate-store-queries", "radix-transactions", "sbor", @@ -1968,7 +1977,8 @@ dependencies = [ "radix-common", "radix-engine", "radix-engine-interface", - "radix-engine-toolkit", + "radix-engine-toolkit 1.2.0", + "radix-engine-toolkit 2.1.2", "radix-substate-store-impls", "radix-substate-store-queries", "radix-transaction-scenarios", @@ -1976,6 +1986,7 @@ dependencies = [ "sbor", "scrypto", "scrypto-test", + "serde_json", "thiserror", "uniffi", ] @@ -1983,8 +1994,7 @@ dependencies = [ [[package]] name = "radix-native-sdk" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0506f56ba243c757e11236e3b3fee34282790a4ba7dd99940b1c7d88e21ac48" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "radix-common", "radix-engine-interface", @@ -1995,18 +2005,16 @@ dependencies = [ [[package]] name = "radix-rust" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6010fd7ebd7c2d3a3d270525c54a0dcb43fbaf3447fb32b42a0bcc4326109c64" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", ] [[package]] name = "radix-sbor-derive" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc92b5760b129af15be9a82fe2e8118aa851da81b22c8a12d56ab494f071321" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "proc-macro2", "quote", @@ -2017,8 +2025,7 @@ dependencies = [ [[package]] name = "radix-substate-store-impls" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86105fdc4d31f0ecdfbafe93010c06f3aa6d60794015e1959846920385580111" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "hex", "itertools", @@ -2031,8 +2038,7 @@ dependencies = [ [[package]] name = "radix-substate-store-interface" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0c4e9aa0ffc8851c4d48993167a43fdf6b504e3a506dcd5bd1bd80ac4b73f4" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "hex", "itertools", @@ -2044,8 +2050,7 @@ dependencies = [ [[package]] name = "radix-substate-store-queries" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0099ee240bfd0ce74936e337b655ffbe40af2f30348961ff2c313124185f225" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "hex", "itertools", @@ -2062,8 +2067,7 @@ dependencies = [ [[package]] name = "radix-transaction-scenarios" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b015fd2541d737e57cb76d8c49ae4f516613fca9757fb2da931613610338251f" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "hex", "itertools", @@ -2083,8 +2087,7 @@ dependencies = [ [[package]] name = "radix-transactions" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f12b263db56da50ba27fcca074c870a16fd7e4f6a88022f7c4b2ad761e2e11" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "annotate-snippets", "bech32", @@ -2201,9 +2204,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ "bitflags 2.6.0", ] @@ -2225,7 +2228,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2323,7 +2326,7 @@ dependencies = [ "proc-macro2", "quote", "rocket_http", - "syn 2.0.77", + "syn 2.0.79", "unicode-xid", ] @@ -2398,9 +2401,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.35" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno", @@ -2433,8 +2436,7 @@ dependencies = [ [[package]] name = "sbor" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17d72c7d255b90198cf83c4cc4907021a927f484586939d8d50bdcd045287bde" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "const-sha1", "hex", @@ -2448,8 +2450,7 @@ dependencies = [ [[package]] name = "sbor-derive" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a51a6bd2e7849a2a8826a473e83a9a995011af21892acee89e62ce93f0d7c42" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "proc-macro2", "sbor-derive-common", @@ -2459,8 +2460,7 @@ dependencies = [ [[package]] name = "sbor-derive-common" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02f1209a1d8c81d724c45afc06e41aa4e64a18b389e8cdece53da61bad1c1620" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "const-sha1", "itertools", @@ -2515,7 +2515,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2553,14 +2553,13 @@ checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "scrypto" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc8a64aa6af83ed0dfc588a278c54138d9e7d855cf7b3a22287c5239a964285e" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "bech32", "const-sha1", @@ -2581,8 +2580,7 @@ dependencies = [ [[package]] name = "scrypto-compiler" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eeb5034691f2aa354c800f5cd02891075742d9e3e1107dedc640f5517bae665" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "cargo_toml", "radix-common", @@ -2596,8 +2594,7 @@ dependencies = [ [[package]] name = "scrypto-derive" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c369a0c3f292e4704bd71d47c80a2d6162b1e0212e9c34f130634ee29e58c0ed" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "proc-macro2", "quote", @@ -2613,8 +2610,7 @@ dependencies = [ [[package]] name = "scrypto-test" version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "823380f17d5d2bef61dd4e1f473138704b5302b8cc6ea8ced76394a65719c826" +source = "git+https://github.com/radixdlt/radixdlt-scrypto?rev=6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae#6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" dependencies = [ "ouroboros", "paste", @@ -2661,22 +2657,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2687,16 +2683,16 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "serde_json" -version = "1.0.127" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "itoa", "memchr", "ryu", @@ -2705,24 +2701,24 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] [[package]] name = "serde_with" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ "base64", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_derive", "serde_json", @@ -2732,14 +2728,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2748,7 +2744,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "itoa", "ryu", "serde", @@ -2937,9 +2933,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.77" +version = "2.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" dependencies = [ "proc-macro2", "quote", @@ -2954,9 +2950,9 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" [[package]] name = "tempfile" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ "cfg-if", "fastrand", @@ -2976,22 +2972,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3069,14 +3065,14 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -3085,9 +3081,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -3126,7 +3122,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit 0.22.22", ] [[package]] @@ -3144,7 +3140,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", @@ -3153,15 +3149,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.20" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.18", + "winnow 0.6.20", ] [[package]] @@ -3189,7 +3185,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3268,7 +3264,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a615d6c2764852a2e88a4f16e9ce1ea49bb776b5872956309e170d63a042a34f" dependencies = [ "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3301,21 +3297,21 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "uniffi" @@ -3377,7 +3373,7 @@ version = "0.25.3" source = "git+https://github.com/0xOmarA/uniffi-rs?tag=v0.25.4#3dbdbb182cf3d79df1d6cf5ff03a580bc7249b40" dependencies = [ "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3407,7 +3403,7 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.77", + "syn 2.0.79", "toml 0.5.11", "uniffi_build", "uniffi_meta", @@ -3556,7 +3552,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "wasm-bindgen-shared", ] @@ -3578,7 +3574,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3667,7 +3663,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ "bitflags 2.6.0", - "indexmap 2.5.0", + "indexmap 2.6.0", "semver", ] @@ -3972,9 +3968,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -4009,7 +4005,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -4029,5 +4025,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] diff --git a/Cargo.toml b/Cargo.toml index 1360dcb4..26be1a04 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,17 +15,24 @@ members = [ # Shared dependencies that all of the crates need - for now this is just the # `radixdlt-scrypto` dependencies [workspace.dependencies] -sbor = { version = "1.2.0", features = ["serde"] } -scrypto = { version = "1.2.0", features = ["serde"] } -scrypto-test = { version = "1.2.0" } -radix-common = { version = "1.2.0", features = ["serde"] } -radix-engine = { version = "1.2.0" } -radix-engine-interface = { version = "1.2.0" } -radix-substate-store-queries = { version = "1.2.0" } -radix-substate-store-impls = { version = "1.2.0" } -radix-substate-store-interface = { version = "1.2.0" } -radix-transactions = { version = "1.2.0" } -radix-transaction-scenarios = { version = "1.2.0" } +sbor = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae", features = [ + "serde", +] } +scrypto = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae", features = [ + "serde", +] } +scrypto-test = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" } +radix-common = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae", features = [ + "serde", +] } +radix-engine = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" } +radix-engine-interface = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" } +radix-substate-store-queries = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" } +radix-substate-store-impls = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" } +radix-substate-store-interface = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" } +radix-transactions = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" } +radix-transaction-scenarios = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae" } +native-radix-engine-toolkit = { git = "https://github.com/radixdlt/radixdlt-scrypto", rev = "6ec9c337246b5d4cf3c142bd9af80e9e8bd5fbae", package = "radix-engine-toolkit" } [profile.release] incremental = false diff --git a/crates/radix-engine-toolkit-uniffi/Cargo.toml b/crates/radix-engine-toolkit-uniffi/Cargo.toml index 88b3ddfc..1f1997c5 100644 --- a/crates/radix-engine-toolkit-uniffi/Cargo.toml +++ b/crates/radix-engine-toolkit-uniffi/Cargo.toml @@ -13,6 +13,7 @@ radix-engine = { workspace = true } radix-engine-interface = { workspace = true } radix-substate-store-queries = { workspace = true } radix-transactions = { workspace = true } +native-radix-engine-toolkit = { workspace = true } # Core Radix Engine Toolkit radix-engine-toolkit = { path = "../radix-engine-toolkit" } @@ -22,6 +23,7 @@ uniffi = { git = "https://github.com/0xOmarA/uniffi-rs", tag = "v0.25.4", featur hex = "0.4.3" thiserror = "1.0.50" paste = "1.0.12" +serde_json = "1.0.127" [build-dependencies] # The UniFFI crate for generating bindings to other languages diff --git a/crates/radix-engine-toolkit-uniffi/src/transaction/manifest.rs b/crates/radix-engine-toolkit-uniffi/src/transaction/manifest.rs index f8307d8f..da7520eb 100644 --- a/crates/radix-engine-toolkit-uniffi/src/transaction/manifest.rs +++ b/crates/radix-engine-toolkit-uniffi/src/transaction/manifest.rs @@ -15,6 +15,9 @@ // specific language governing permissions and limitations // under the License. +use native_radix_engine_toolkit::receipt::{ + RuntimeToolkitTransactionReceipt, SerializableToolkitTransactionReceipt, +}; use sbor::Versioned; use crate::prelude::*; @@ -98,17 +101,24 @@ impl TransactionManifest { pub fn execution_summary( &self, network_id: u8, - encoded_receipt: Vec, + toolkit_receipt: String, ) -> Result { let native = self.clone().to_native(); - let versioned_transaction_receipt = native_scrypto_decode::< - NativeVersionedTransactionReceipt, - >(&encoded_receipt)?; - let receipt = versioned_transaction_receipt - .as_latest_version() - .ok_or(RadixEngineToolkitError::InvalidReceipt)?; - - core_manifest_execution_summary(&native, receipt) + let network_definition = + core_network_definition_from_network_id(network_id); + let receipt = serde_json::from_str::< + SerializableToolkitTransactionReceipt, + >(&toolkit_receipt) + .ok() + .and_then(|receipt| { + receipt + .into_runtime_receipt(&NativeAddressBech32Decoder::new( + &network_definition, + )) + .ok() + }) + .ok_or(RadixEngineToolkitError::InvalidReceipt)?; + core_manifest_execution_summary(&native, &receipt) .map_err(|_| RadixEngineToolkitError::InvalidReceipt) .map(|summary| ExecutionSummary::from_native(summary, network_id))? } diff --git a/crates/radix-engine-toolkit/Cargo.toml b/crates/radix-engine-toolkit/Cargo.toml index 3d507791..55f7cde0 100644 --- a/crates/radix-engine-toolkit/Cargo.toml +++ b/crates/radix-engine-toolkit/Cargo.toml @@ -15,6 +15,7 @@ radix-substate-store-impls = { workspace = true } radix-substate-store-queries = { workspace = true } radix-substate-store-interface = { workspace = true } radix-transactions = { workspace = true } +native-radix-engine-toolkit = { workspace = true } # Bech32 encoding and decoding of addresses. Used for the Olympia <-> Babylon # address derivations. diff --git a/crates/radix-engine-toolkit/src/functions/manifest.rs b/crates/radix-engine-toolkit/src/functions/manifest.rs index a4681ba4..17c1d803 100644 --- a/crates/radix-engine-toolkit/src/functions/manifest.rs +++ b/crates/radix-engine-toolkit/src/functions/manifest.rs @@ -15,6 +15,7 @@ // specific language governing permissions and limitations // under the License. +use native_radix_engine_toolkit::receipt::RuntimeToolkitTransactionReceipt; use radix_common::prelude::*; use radix_engine_interface::blueprints::access_controller::*; use radix_engine_interface::blueprints::account::*; @@ -22,8 +23,6 @@ use radix_transactions::errors::*; use radix_transactions::prelude::*; use radix_transactions::validation::*; -use radix_engine::transaction::*; - use crate::transaction_types::*; pub fn hash(manifest: &TransactionManifestV1) -> Result { @@ -227,7 +226,7 @@ pub fn summary(manifest: &TransactionManifestV1) -> ManifestSummary { pub fn execution_summary( manifest: &TransactionManifestV1, - receipt: &TransactionReceipt, + receipt: &RuntimeToolkitTransactionReceipt, ) -> Result { crate::transaction_types::execution_summary(manifest, receipt) } diff --git a/crates/radix-engine-toolkit/src/transaction_types/interface.rs b/crates/radix-engine-toolkit/src/transaction_types/interface.rs index 9b7e7a9a..849b38ae 100644 --- a/crates/radix-engine-toolkit/src/transaction_types/interface.rs +++ b/crates/radix-engine-toolkit/src/transaction_types/interface.rs @@ -19,8 +19,8 @@ //! any of the implementation details of how the module finds and determines //! the transaction types. +use native_radix_engine_toolkit::receipt::RuntimeToolkitTransactionReceipt; use radix_common::prelude::*; -use radix_engine::transaction::*; use radix_substate_store_queries::typed_substate_layout::*; use radix_transactions::prelude::*; @@ -131,10 +131,10 @@ pub fn summary(manifest: &TransactionManifestV1) -> ManifestSummary { pub fn execution_summary( manifest: &TransactionManifestV1, - receipt: &TransactionReceipt, + receipt: &RuntimeToolkitTransactionReceipt, ) -> Result { // Attempt to create a tx types receipt from the passed receipt - let receipt = TransactionTypesReceipt::new(receipt) + let receipt = TransactionTypesReceipt::new(&receipt) .ok_or(TransactionTypesError::InvalidReceipt)?; // Settings up the various detectors @@ -308,16 +308,8 @@ pub fn execution_summary( .rev() .collect::>(); - let fee_locks = FeeLocks { - lock: receipt.execution_trace().fee_locks.lock, - contingent_lock: receipt.execution_trace().fee_locks.contingent_lock, - }; - let fee_summary = FeeSummary { - execution_cost: receipt.fee_summary.total_execution_cost_in_xrd, - finalization_cost: receipt.fee_summary.total_finalization_cost_in_xrd, - storage_expansion_cost: receipt.fee_summary.total_storage_cost_in_xrd, - royalty_cost: receipt.fee_summary.total_royalty_cost_in_xrd, - }; + let fee_locks = receipt.fee_locks(); + let fee_summary = receipt.fee_summary(); Ok(ExecutionSummary { account_withdraws, diff --git a/crates/radix-engine-toolkit/src/transaction_types/traverser/traverser.rs b/crates/radix-engine-toolkit/src/transaction_types/traverser/traverser.rs index da99af46..d17351a9 100644 --- a/crates/radix-engine-toolkit/src/transaction_types/traverser/traverser.rs +++ b/crates/radix-engine-toolkit/src/transaction_types/traverser/traverser.rs @@ -42,9 +42,9 @@ pub mod manifest_summary { instruction_index: usize, ) { // At the beginning of an instruction, call the on_instruction callback - callbacks.iter_mut().for_each( - |callback| callback.on_instruction(instruction, instruction_index) - ); + callbacks.iter_mut().for_each(|callback| { + callback.on_instruction(instruction, instruction_index) + }); // Notify the callbacks of the created account proofs handle_on_create_proof(callbacks, instruction); @@ -58,9 +58,9 @@ pub mod manifest_summary { let Ok(global_address) = GlobalAddress::try_from(node_id) else { continue; }; - callbacks.iter_mut().for_each( - |callback| callback.on_global_entity_encounter(global_address) - ); + callbacks.iter_mut().for_each(|callback| { + callback.on_global_entity_encounter(global_address) + }); } } @@ -249,9 +249,9 @@ pub mod execution_summary { bucket_tracker: &IndexMap, ) { let worktop_changes_entry = receipt - .execution_trace() .worktop_changes() - .get(&instruction_index).cloned() + .get(&instruction_index) + .cloned() .unwrap_or_default(); let inputs = { @@ -289,9 +289,9 @@ pub mod execution_summary { if let Some(resource_indicator) = bucket_tracker.get(bucket_id) { - inputs.push( - ResourceSpecifier::from(resource_indicator.clone()) - ) + inputs.push(ResourceSpecifier::from( + resource_indicator.clone(), + )) } } /* Non-sink methods */ @@ -325,17 +325,16 @@ pub mod execution_summary { inputs }; - let outputs = - worktop_changes_entry - .iter() - .filter_map(|item| { - if let WorktopChange::Put(resource_specifier) = item { - Some(resource_specifier.clone()) - } else { - None - } - }) - .collect::>(); + let outputs = worktop_changes_entry + .iter() + .filter_map(|item| { + if let WorktopChange::Put(resource_specifier) = item { + Some(resource_specifier.clone()) + } else { + None + } + }) + .collect::>(); callbacks.iter_mut().for_each(|callback| { ExecutionSummaryCallback::on_instruction( *callback, @@ -531,10 +530,8 @@ pub mod execution_summary { .expressions() .contains(&ManifestExpression::EntireWorktop) { - if let Some(worktop_changes) = receipt - .execution_trace() - .worktop_changes() - .get(&instruction_index) + if let Some(worktop_changes) = + receipt.worktop_changes().get(&instruction_index) { for resource_indicator in worktop_changes .iter() @@ -737,7 +734,6 @@ pub mod execution_summary { resource_address: ResourceAddress, ) -> Option { receipt - .execution_trace() .worktop_changes() .entry(instruction_index) .or_default() @@ -760,7 +756,6 @@ pub mod execution_summary { resource_address: ResourceAddress, ) -> Option> { receipt - .execution_trace() .worktop_changes() .entry(instruction_index) .or_default() @@ -787,7 +782,6 @@ pub mod execution_summary { resource_address: ResourceAddress, ) -> Option> { receipt - .execution_trace() .worktop_changes() .entry(instruction_index) .or_default() diff --git a/crates/radix-engine-toolkit/src/transaction_types/types.rs b/crates/radix-engine-toolkit/src/transaction_types/types.rs index 112f42a4..e06151a7 100644 --- a/crates/radix-engine-toolkit/src/transaction_types/types.rs +++ b/crates/radix-engine-toolkit/src/transaction_types/types.rs @@ -17,15 +17,15 @@ use std::ops::*; -use radix_engine::blueprints::models::KeyValueKeyPayload; -use radix_engine::object_modules::metadata::MetadataEntryV1; -use radix_engine::system::system_substates::*; -use radix_engine::track::*; -use radix_substate_store_interface::interface::*; +use native_radix_engine_toolkit::receipt::{ + MetadataUpdate, RuntimeToolkitTransactionReceipt, ToolkitTransactionReceipt, +}; use radix_substate_store_queries::typed_substate_layout::*; use scrypto::prelude::*; -use radix_engine::system::system_modules::execution_trace::ResourceSpecifier; +use radix_engine::system::system_modules::execution_trace::{ + ResourceSpecifier, WorktopChange, +}; use radix_engine::transaction::*; use radix_engine_interface::blueprints::account::*; @@ -239,126 +239,108 @@ impl From for ManifestClass { /// must belong to a transaction that executed successfully and the execution /// trace must be present. #[derive(Clone, Debug)] -pub struct TransactionTypesReceipt<'r> { - receipt: &'r TransactionReceipt, - commit_result: &'r CommitResult, - execution_trace: &'r TransactionExecutionTrace, -} +pub struct TransactionTypesReceipt<'r>(&'r RuntimeToolkitTransactionReceipt); impl<'r> TransactionTypesReceipt<'r> { - pub fn new(receipt: &'r TransactionReceipt) -> Option { - if let TransactionResult::Commit( - ref commit_result @ CommitResult { - execution_trace: Some(ref execution_trace), - outcome: TransactionOutcome::Success(..), - .. - }, - ) = &receipt.result - { - Some(Self { - receipt, - commit_result, - execution_trace, - }) - } else { - None + pub fn new(receipt: &'r RuntimeToolkitTransactionReceipt) -> Option { + match receipt { + ToolkitTransactionReceipt::CommitSuccess { .. } => { + Some(Self(receipt)) + } + ToolkitTransactionReceipt::CommitFailure { .. } + | ToolkitTransactionReceipt::Reject { .. } + | ToolkitTransactionReceipt::Abort { .. } => None, } } } impl<'r> TransactionTypesReceipt<'r> { - pub fn new_components(&self) -> &'r IndexSet { - self.commit_result.new_component_addresses() - } - - pub fn new_resources(&self) -> &'r IndexSet { - self.commit_result.new_resource_addresses() + pub fn new_components(&self) -> IndexSet { + let ToolkitTransactionReceipt::CommitSuccess { + state_updates_summary, + .. + } = self.0 + else { + unreachable!() + }; + state_updates_summary + .new_entities + .iter() + .filter_map(|entity| { + ComponentAddress::try_from(entity.as_bytes()).ok() + }) + .collect() } - pub fn new_packages(&self) -> &'r IndexSet { - self.commit_result.new_package_addresses() + pub fn new_resources(&self) -> IndexSet { + let ToolkitTransactionReceipt::CommitSuccess { + state_updates_summary, + .. + } = self.0 + else { + unreachable!() + }; + state_updates_summary + .new_entities + .iter() + .filter_map(|entity| { + ResourceAddress::try_from(entity.as_bytes()).ok() + }) + .collect() } - pub fn execution_trace(&self) -> &'r TransactionExecutionTrace { - self.execution_trace + pub fn new_packages(&self) -> IndexSet { + let ToolkitTransactionReceipt::CommitSuccess { + state_updates_summary, + .. + } = self.0 + else { + unreachable!() + }; + state_updates_summary + .new_entities + .iter() + .filter_map(|entity| { + PackageAddress::try_from(entity.as_bytes()).ok() + }) + .collect() } pub fn metadata_of_new_entities( &self, ) -> IndexMap>> { - let mut map = IndexMap::< - GlobalAddress, - IndexMap>, - >::new(); - - for global_address in self.new_entities() { - let entry = map.entry(global_address).or_default(); - if let Some(NodeStateUpdates::Delta { by_partition }) = self - .commit_result - .state_updates - .by_node - .get(global_address.as_node_id()) - { - let entries = match by_partition.get(&METADATA_BASE_PARTITION) { - Some(PartitionStateUpdates::Delta { by_substate }) => { - by_substate - .iter() - .filter_map(|(key, value)| match value { - DatabaseUpdate::Set(value) => { - Some((key.clone(), value.clone())) + let ToolkitTransactionReceipt::CommitSuccess { + state_updates_summary, + .. + } = self.0 + else { + unreachable!() + }; + state_updates_summary + .new_entities + .iter() + .filter_map(|entity| { + GlobalAddress::try_from(entity.as_bytes()).ok() + }) + .fold(IndexMap::new(), |mut acc, address| { + match state_updates_summary + .metadata_updates + .get(address.as_node_id()) + { + Some(entry) => { + acc.entry(address).or_default().extend( + entry.iter().map(|(key, value)| match value { + MetadataUpdate::Set(value) => { + (key.clone(), Some(value.clone())) } - DatabaseUpdate::Delete => None, - }) - .collect::>() - } - Some(PartitionStateUpdates::Batch( - BatchPartitionStateUpdate::Reset { - new_substate_values, - }, - )) => new_substate_values.clone(), - None => continue, - }; - - for (substate_key, data) in entries.into_iter() { - if let Ok(( - TypedSubstateKey::MetadataModule(key), - TypedSubstateValue::MetadataModule(value), - )) = to_typed_substate_key( - global_address.as_node_id().entity_type().unwrap(), - METADATA_BASE_PARTITION, - &substate_key, - ) - .and_then(|typed_substate_key| { - to_typed_substate_value(&typed_substate_key, &data).map( - |typed_substate_value| { - (typed_substate_key, typed_substate_value) - }, - ) - }) { - let TypedMetadataModuleSubstateKey::MetadataEntryKey( - key, - ) = key; - let value = match value { - TypedMetadataModuleSubstateValue::MetadataEntry( - KeyValueEntrySubstate::V1( - KeyValueEntrySubstateV1 { value, .. }, - ), - ) => value, - }; - entry.insert( - key, - value.map(|metadata_entry| { - let metadata: MetadataEntryV1 = - metadata_entry.as_unique_version().clone(); - metadata + MetadataUpdate::Delete => (key.clone(), None), }), ); + acc } + None => acc, } - } - } - - map + }) } fn new_entities(&self) -> IndexSet { @@ -379,47 +361,18 @@ impl<'r> TransactionTypesReceipt<'r> { } pub fn new_non_fungibles(&self) -> HashSet { - let mut minted_id_list = HashSet::new(); - let mut burnt_id_list = HashSet::new(); - for (event_type, event_payload) in - self.commit_result.application_events.iter() - { - if let Emitter::Method(node_id, ..) = event_type.0 { - match ResourceAddress::try_from(node_id.as_bytes()) { - Ok(address) if !address.is_fungible() => { - if event_type.1 - == MintNonFungibleResourceEvent::EVENT_NAME - { - let event: MintNonFungibleResourceEvent = - scrypto_decode(event_payload).unwrap(); - for local_id in event.ids { - minted_id_list.insert( - NonFungibleGlobalId::new( - address, local_id, - ), - ); - } - } else if event_type.1 - == BurnNonFungibleResourceEvent::EVENT_NAME - { - let event: BurnNonFungibleResourceEvent = - scrypto_decode(event_payload).unwrap(); - for local_id in event.ids { - burnt_id_list.insert( - NonFungibleGlobalId::new( - address, local_id, - ), - ); - } - } - } - _ => {} - } - } - } - - minted_id_list.retain(|item| !burnt_id_list.contains(item)); - minted_id_list + let ToolkitTransactionReceipt::CommitSuccess { + state_updates_summary, + .. + } = self.0 + else { + unreachable!() + }; + state_updates_summary + .newly_minted_non_fungibles + .clone() + .into_iter() + .collect() } pub fn non_fungible_data( @@ -427,59 +380,56 @@ impl<'r> TransactionTypesReceipt<'r> { resource_address: &ResourceAddress, non_fungible_local_id: &NonFungibleLocalId, ) -> Option> { - let key = NonFungibleResourceManagerDataKeyPayload::from_content( - non_fungible_local_id.clone(), - ); - - self.commit_result - .state_updates - .by_node - .get(resource_address.as_node_id()) - .and_then(|item| { - let partition_number = MAIN_BASE_PARTITION - .at_offset( - NonFungibleResourceManagerPartitionOffset::DataKeyValue - .as_partition_offset(), - ) - .unwrap(); - - let NodeStateUpdates::Delta { by_partition } = item; - - by_partition.get(&partition_number) - }) - .and_then(|item| match item { - PartitionStateUpdates::Delta { by_substate } => by_substate - .get(&SubstateKey::Map(scrypto_encode(&key).unwrap())) - .and_then(|item| match item { - DatabaseUpdate::Set(value) => Some(value.clone()), - DatabaseUpdate::Delete => None, - }), - PartitionStateUpdates::Batch( - BatchPartitionStateUpdate::Reset { - new_substate_values, - }, - ) => new_substate_values - .get(&SubstateKey::Map(scrypto_encode(&key).unwrap())) - .cloned(), - }) - .and_then(|item| { - scrypto_decode::< - KeyValueEntrySubstate< - NonFungibleResourceManagerDataEntryPayload, - >, - >(&item) - .ok() - .and_then(|item| item.into_value()) - .and_then(|item| scrypto_encode(&item).ok()) - }) + let ToolkitTransactionReceipt::CommitSuccess { + state_updates_summary, + .. + } = self.0 + else { + unreachable!() + }; + state_updates_summary + .non_fungible_data_updates + .get(&NonFungibleGlobalId::new( + *resource_address, + non_fungible_local_id.clone(), + )) + .map(|value| value.clone()) } -} -impl<'r> Deref for TransactionTypesReceipt<'r> { - type Target = TransactionReceipt; + pub fn fee_locks(&self) -> FeeLocks { + let ToolkitTransactionReceipt::CommitSuccess { locked_fees, .. } = + self.0 + else { + unreachable!() + }; + FeeLocks { + lock: locked_fees.non_contingent, + contingent_lock: locked_fees.contingent, + } + } - fn deref(&self) -> &Self::Target { - self.receipt + pub fn fee_summary(&self) -> FeeSummary { + let ToolkitTransactionReceipt::CommitSuccess { fee_summary, .. } = + self.0 + else { + unreachable!() + }; + FeeSummary { + execution_cost: fee_summary.execution_fees_in_xrd, + finalization_cost: fee_summary.finalization_fees_in_xrd, + storage_expansion_cost: fee_summary.storage_fees_in_xrd, + royalty_cost: fee_summary.royalty_fees_in_xrd, + } + } + + pub fn worktop_changes(&self) -> IndexMap> { + let ToolkitTransactionReceipt::CommitSuccess { + worktop_changes, .. + } = self.0 + else { + unreachable!() + }; + worktop_changes.clone() } } @@ -631,9 +581,10 @@ impl From for ResourceSpecifier { ) | ResourceIndicator::Fungible( resource_address, - FungibleResourceIndicator::Predicted( - Predicted { value: amount, .. } - ), + FungibleResourceIndicator::Predicted(Predicted { + value: amount, + .. + }), ) => ResourceSpecifier::Amount(resource_address, amount), ResourceIndicator::NonFungible( resource_address, diff --git a/crates/radix-engine-toolkit/tests/test_runner_extension.rs b/crates/radix-engine-toolkit/tests/test_runner_extension.rs index d79f77c7..78055560 100644 --- a/crates/radix-engine-toolkit/tests/test_runner_extension.rs +++ b/crates/radix-engine-toolkit/tests/test_runner_extension.rs @@ -15,6 +15,7 @@ // specific language governing permissions and limitations // under the License. +use native_radix_engine_toolkit::receipt::RuntimeToolkitTransactionReceipt; use radix_engine::system::bootstrap::*; use radix_engine::transaction::*; use radix_engine::vm::*; @@ -58,7 +59,8 @@ where radix_engine_toolkit::transaction_types::summary(&manifest); let execution_summary = radix_engine_toolkit::transaction_types::execution_summary( - &manifest, &receipt, + &manifest, + &RuntimeToolkitTransactionReceipt::try_from(receipt).unwrap(), ) .unwrap();