From 92a961c080b2ebdb0ef39d8bfd2352b5bd5fc031 Mon Sep 17 00:00:00 2001 From: FroVolod Date: Mon, 22 Jan 2024 22:31:19 +0200 Subject: [PATCH] start --- Cargo.lock | 468 ++++++++++-------- Cargo.toml | 12 +- rust-toolchain | 2 +- .../print_keypair_to_terminal/mod.rs | 4 +- .../save_keypair_to_keychain/mod.rs | 6 +- .../save_keypair_to_legacy_keychain/mod.rs | 6 +- .../account/add_key/use_ledger/mod.rs | 4 +- .../use_manually_provided_seed_phrase/mod.rs | 4 +- .../account/add_key/use_public_key/mod.rs | 4 +- .../fund_myself_create_account/sign_as/mod.rs | 24 +- .../delete_key/public_keys_to_delete.rs | 4 +- src/commands/account/import_account/mod.rs | 4 +- .../storage_management/storage_deposit.rs | 4 +- .../storage_management/storage_withdraw.rs | 4 +- .../account/update_social_profile/sign_as.rs | 4 +- .../call_function/as_transaction/mod.rs | 4 +- .../initialize_mode/call_function_type/mod.rs | 4 +- .../staking/delegate/deposit_and_stake.rs | 4 +- src/commands/staking/delegate/stake.rs | 4 +- src/commands/staking/delegate/stake_all.rs | 4 +- src/commands/staking/delegate/unstake.rs | 4 +- src/commands/staking/delegate/unstake_all.rs | 4 +- src/commands/staking/delegate/withdraw.rs | 4 +- src/commands/staking/delegate/withdraw_all.rs | 4 +- src/commands/tokens/send_ft/mod.rs | 4 +- src/commands/tokens/send_nft/mod.rs | 4 +- .../use_manually_provided_seed_phrase/mod.rs | 4 +- .../add_action/add_key/use_public_key/mod.rs | 4 +- .../add_action/call_function/mod.rs | 4 +- .../add_action_1/add_action/delete_key/mod.rs | 4 +- .../add_action_1/add_action/stake/mod.rs | 4 +- .../use_manually_provided_seed_phrase/mod.rs | 4 +- .../add_action/add_key/use_public_key/mod.rs | 4 +- .../add_action/call_function/mod.rs | 4 +- .../add_action_2/add_action/delete_key/mod.rs | 4 +- .../add_action_2/add_action/stake/mod.rs | 4 +- .../use_manually_provided_seed_phrase/mod.rs | 4 +- .../add_action/add_key/use_public_key/mod.rs | 4 +- .../add_action/call_function/mod.rs | 4 +- .../add_action_3/add_action/delete_key/mod.rs | 4 +- .../add_action_3/add_action/stake/mod.rs | 4 +- .../reconstruct_transaction/mod.rs | 44 +- .../transaction/send_meta_transaction/mod.rs | 2 +- .../send_meta_transaction/sign_as/mod.rs | 4 +- src/commands/transaction/view_status/mod.rs | 4 +- src/common.rs | 8 +- src/transaction_signature_options/mod.rs | 14 +- .../sign_with_ledger/mod.rs | 6 +- src/types/signed_delegate_action.rs | 16 +- src/types/signed_transaction.rs | 6 +- src/types/transaction.rs | 6 +- 51 files changed, 421 insertions(+), 347 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 72aa3a630..09e6863d8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -85,18 +85,6 @@ dependencies = [ "opaque-debug", ] -[[package]] -name = "ahash" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - [[package]] name = "aho-corasick" version = "1.1.2" @@ -190,6 +178,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +[[package]] +name = "assert_matches" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" + [[package]] name = "async-broadcast" version = "0.5.1" @@ -357,17 +351,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -495,73 +478,28 @@ dependencies = [ [[package]] name = "borsh" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" -dependencies = [ - "borsh-derive 0.10.3", - "hashbrown 0.13.2", -] - -[[package]] -name = "borsh" -version = "1.1.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e3f7359eeed8d454c38bbb25eb89d98b888b1060bbfeed2cda71cb013ff2dc2" +checksum = "f58b559fd6448c6e2fd0adb5720cd98a2506594cafa4737ff98c396f3e82f667" dependencies = [ - "borsh-derive 1.1.1", + "borsh-derive", "cfg_aliases", ] [[package]] name = "borsh-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" -dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive" -version = "1.1.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "318d18ba283f9aa5bfef1405996ce66c584127f401be1403729ec88b10adc772" +checksum = "7aadb5b6ccbd078890f6d7003694e33816e6b784358f18e15e7e6d9f065a57cd" dependencies = [ "once_cell", - "proc-macro-crate 1.3.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 2.0.38", "syn_derive", ] -[[package]] -name = "borsh-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "bs58" version = "0.4.0" @@ -855,12 +793,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crossterm" @@ -969,6 +904,35 @@ dependencies = [ "zeroize", ] +[[package]] +name = "curve25519-dalek" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "platforms", + "rand_core 0.6.4", + "rustc_version", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + [[package]] name = "darling" version = "0.20.3" @@ -1141,7 +1105,16 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "signature", + "signature 1.6.4", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "signature 2.2.0", ] [[package]] @@ -1150,14 +1123,27 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "curve25519-dalek", - "ed25519", + "curve25519-dalek 3.2.1", + "ed25519 1.5.3", "rand 0.7.3", "serde", "sha2 0.9.9", "zeroize", ] +[[package]] +name = "ed25519-dalek" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" +dependencies = [ + "curve25519-dalek 4.1.1", + "ed25519 2.2.3", + "rand_core 0.6.4", + "sha2 0.10.8", + "subtle", +] + [[package]] name = "either" version = "1.9.0" @@ -1284,6 +1270,12 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +[[package]] +name = "fiat-crypto" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" + [[package]] name = "filetime" version = "0.2.22" @@ -1528,15 +1520,6 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.14.2" @@ -1558,15 +1541,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.3" @@ -1854,7 +1828,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "libc", "windows-sys 0.48.0", ] @@ -1880,7 +1854,7 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "rustix 0.38.21", "windows-sys 0.48.0", ] @@ -1934,6 +1908,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41ee439ee368ba4a77ac70d04f14015415af8600d6c894dc1f11bd79758c57d5" +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + [[package]] name = "keyring" version = "2.0.5" @@ -1953,6 +1936,9 @@ name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin", +] [[package]] name = "ledger-apdu" @@ -2068,6 +2054,15 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + [[package]] name = "mime" version = "0.3.17" @@ -2130,26 +2125,27 @@ dependencies = [ [[package]] name = "near-account-id" -version = "0.17.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0cb40869cab7f5232f934f45db35bffe0f2d2a7cb0cd0346202fbe4ebf2dd7" +checksum = "35cbb989542587b47205e608324ddd391f0cee1c22b4b64ae49f458334b95907" dependencies = [ - "borsh 0.10.3", + "borsh", "serde", ] [[package]] name = "near-chain-configs" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f9a1c805846237d56f99b328ba6ab77e5d43ef59aaaf8d2a41d42fdc708a7b" +checksum = "bf3d99fbfaf918ce1edcd317c71657a52856193ef03ece3d5ca5cdec5c862385" dependencies = [ "anyhow", + "bytesize", "chrono", "derive_more", "near-config-utils", "near-crypto", - "near-o11y", + "near-parameters", "near-primitives", "num-rational 0.3.2", "once_cell", @@ -2173,7 +2169,7 @@ dependencies = [ "derive_more", "dirs", "easy-ext 1.0.1", - "ed25519-dalek", + "ed25519-dalek 1.0.1", "futures", "hex 0.4.3", "inquire", @@ -2205,15 +2201,15 @@ dependencies = [ "strum_macros", "thiserror", "tokio", - "toml 0.7.8", + "toml", "url", ] [[package]] name = "near-config-utils" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5523e7dce493c45bc3241eb3100d943ec471852f9b1f84b46a34789eadf17031" +checksum = "91114c2e5549a588656ebd3647023ba65781955c81b26382158f011632e87b10" dependencies = [ "anyhow", "json_comments", @@ -2223,17 +2219,17 @@ dependencies = [ [[package]] name = "near-crypto" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6b382b626e7e0cd372d027c6672ac97b4b6ee6114288c9e58d8180b935d315" +checksum = "e30b00f193047834bcab85e6a7a08dddba9a13efcff9fdd6fdb383b9bca6f129" dependencies = [ "blake2", - "borsh 0.10.3", + "borsh", "bs58 0.4.0", "c2-chacha", - "curve25519-dalek", + "curve25519-dalek 4.1.1", "derive_more", - "ed25519-dalek", + "ed25519-dalek 2.1.0", "hex 0.4.3", "near-account-id", "near-config-utils", @@ -2250,9 +2246,9 @@ dependencies = [ [[package]] name = "near-fmt" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c44c842c6cfcd9b8c387cccd4cd0619a5f21920cde5d5c292af3cc5d40510672" +checksum = "12c527706c68c4e6fa8a6fa67a97ee2dbd61db8ecfd4b8e90e7be7d0814d33e9" dependencies = [ "near-primitives-core", ] @@ -2263,18 +2259,18 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b30860db1eceba9b445dc56558a0fdcdfe29fd612a088e697b32dfb681aaac" dependencies = [ - "borsh 1.1.1", + "borsh", "interactive-clap", "serde", ] [[package]] name = "near-jsonrpc-client" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "118f44c02ad211db805c1370ad3ff26576af6ff554093c9fece1b835d29d233a" +checksum = "18ad81e015f7aced8925d5b9ba3f369b36da9575c15812cfd0786bc1213284ca" dependencies = [ - "borsh 0.10.3", + "borsh", "lazy_static", "log", "near-chain-configs", @@ -2289,9 +2285,9 @@ dependencies = [ [[package]] name = "near-jsonrpc-primitives" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b2934b5ab243e25e951c984525ba0aff0e719ed915c988c5195405aa0f6987" +checksum = "0a9348d9ab36bff219d3abb9ef685e56ded4de5b9d2d2f69c20f11453d228c3a" dependencies = [ "arbitrary", "near-chain-configs", @@ -2305,11 +2301,11 @@ dependencies = [ [[package]] name = "near-ledger" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f92dbf396469644ca92d9565b4e935d0cb66115af30181fef5fe44a6e50d4e0" +checksum = "e7706ef5fdfc979957a58c240f7bd6e7d969550310888a3d5b18267b73d50a51" dependencies = [ - "ed25519-dalek", + "ed25519-dalek 1.0.1", "hex 0.4.3", "ledger-apdu", "ledger-transport", @@ -2321,14 +2317,15 @@ dependencies = [ [[package]] name = "near-o11y" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7d35397b02b131c188c72f3885e97daeccab134ec2fc8cc0073a94cf1cfe19" +checksum = "1d680f56489eee8ddac5a6828ac97893728046a9d5cc76388f89141da4e542cc" dependencies = [ "actix", - "atty", + "base64 0.21.5", "clap", "near-crypto", + "near-fmt", "near-primitives-core", "once_cell", "opentelemetry", @@ -2336,6 +2333,7 @@ dependencies = [ "opentelemetry-semantic-conventions", "prometheus", "serde", + "serde_json", "strum", "thiserror", "tokio", @@ -2345,14 +2343,34 @@ dependencies = [ "tracing-subscriber", ] +[[package]] +name = "near-parameters" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ded008bbe48d6cc7617bfa19812179a4c15c763a9cdf61b87eb8a7bdbe10f1b" +dependencies = [ + "assert_matches", + "borsh", + "enum-map", + "near-account-id", + "near-primitives-core", + "num-rational 0.3.2", + "serde", + "serde_repr", + "serde_yaml", + "strum", + "thiserror", +] + [[package]] name = "near-primitives" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f7051aaf199adc4d068620fca6d5f70f906a1540d03a8bb3701271f8881835" +checksum = "5414b66630a38526902dc5d655581476610f6b0c64cffa49b1756fe64e519bc2" dependencies = [ "arbitrary", - "borsh 0.10.3", + "base64 0.21.5", + "borsh", "bytesize", "cfg-if", "chrono", @@ -2362,19 +2380,23 @@ dependencies = [ "hex 0.4.3", "near-crypto", "near-fmt", + "near-o11y", + "near-parameters", "near-primitives-core", "near-rpc-error-macro", "near-stdx", - "near-vm-errors", + "near-vm-runner", "num-rational 0.3.2", "once_cell", "primitive-types", "rand 0.8.5", + "rand_chacha 0.3.1", "reed-solomon-erasure", "serde", "serde_json", "serde_with", "serde_yaml", + "sha3", "smart-default 0.6.0", "strum", "thiserror", @@ -2384,13 +2406,13 @@ dependencies = [ [[package]] name = "near-primitives-core" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775fec19ef51a341abdbf792a9dda5b4cb89f488f681b2fd689b9321d24db47b" +checksum = "830f6932e0898e486b2bfb61b709a8a9d8d05c23d8398c5aeca62cb929cc2a56" dependencies = [ "arbitrary", "base64 0.21.5", - "borsh 0.10.3", + "borsh", "bs58 0.4.0", "derive_more", "enum-map", @@ -2406,9 +2428,9 @@ dependencies = [ [[package]] name = "near-rpc-error-core" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c1eda300e2e78f4f945ae58117d49e806899f4a51ee2faa09eda5ebc2e6571" +checksum = "76ec84c3da6dfefed08aad6920d45a09867c11a61f1c7f312d4be68ea7fc79fc" dependencies = [ "quote", "serde", @@ -2417,9 +2439,9 @@ dependencies = [ [[package]] name = "near-rpc-error-macro" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31d2dadd765101c77e664029dd6fbec090e696877d4ae903c620d02ceda4969a" +checksum = "4393a80a2173a48e3ef284fdb63f6adb6cdde8f3bdf242aa9628b50a6f79e392" dependencies = [ "fs2", "near-rpc-error-core", @@ -2429,9 +2451,9 @@ dependencies = [ [[package]] name = "near-socialdb-client" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d95eb83d682b043d6c9662e94ad4b06398b0474c891e0bd9d9470516a97371e" +checksum = "cfaf5ca57fd62d678cb67183d1d31e6bbb04b98abc45fd57b986962d97ad8c4a" dependencies = [ "color-eyre", "near-crypto", @@ -2446,9 +2468,9 @@ dependencies = [ [[package]] name = "near-stdx" -version = "0.17.0" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6540152fba5e96fe5d575b79e8cd244cf2add747bb01362426bdc069bc3a23bc" +checksum = "f6cc34a471c6e01f9dafa6aaa2d0553a3fe859dbb0d7fc73ca73f72731392226" [[package]] name = "near-token" @@ -2456,23 +2478,39 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b68f3f8a2409f72b43efdbeff8e820b81e70824c49fee8572979d789d1683fb" dependencies = [ - "borsh 1.1.1", + "borsh", "interactive-clap", "serde", ] [[package]] -name = "near-vm-errors" -version = "0.17.0" +name = "near-vm-runner" +version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec545d1bede0579e7c15dd2dce9b998dc975c52f2165702ff40bec7ff69728bb" +checksum = "26f13ed25ccb25f066790290b5aca1800d87da2c4d0916217a17bc8f3ad00cdf" dependencies = [ - "borsh 0.10.3", - "near-account-id", - "near-rpc-error-macro", + "base64 0.21.5", + "borsh", + "ed25519-dalek 2.1.0", + "enum-map", + "memoffset 0.8.0", + "near-crypto", + "near-parameters", + "near-primitives-core", + "near-stdx", + "num-rational 0.3.2", + "once_cell", + "prefix-sum-vec", + "ripemd", "serde", + "serde_repr", + "serde_with", + "sha2 0.10.8", + "sha3", "strum", "thiserror", + "tracing", + "zeropool-bn", ] [[package]] @@ -2493,7 +2531,7 @@ dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", - "memoffset", + "memoffset 0.7.1", ] [[package]] @@ -2618,7 +2656,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi", "libc", ] @@ -2890,6 +2928,12 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[package]] +name = "platforms" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" + [[package]] name = "polling" version = "2.8.0" @@ -2924,6 +2968,12 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "prefix-sum-vec" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa06bd51638b6e76ac9ba9b6afb4164fa647bd2916d722f2623fbb6d1ed8bdba" + [[package]] name = "prettytable" version = "0.10.0" @@ -2950,21 +3000,21 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "0.1.5" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "toml 0.5.11", + "once_cell", + "toml_edit 0.19.15", ] [[package]] name = "proc-macro-crate" -version = "1.3.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "once_cell", - "toml_edit", + "toml_edit 0.21.0", ] [[package]] @@ -3292,12 +3342,27 @@ dependencies = [ "winreg", ] +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "rustc-demangle" version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + [[package]] name = "rustc_version" version = "0.4.0" @@ -3598,6 +3663,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -3664,6 +3739,12 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" + [[package]] name = "slab" version = "0.4.9" @@ -3679,7 +3760,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28724a6e6f70b0cb115c580891483da6f3aa99e6a353598303a57f89d23aa6bc" dependencies = [ - "ed25519-dalek", + "ed25519-dalek 1.0.1", "hmac 0.9.0", "sha2 0.9.9", ] @@ -3744,6 +3825,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + [[package]] name = "static_assertions" version = "1.1.0" @@ -4037,15 +4124,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - [[package]] name = "toml" version = "0.7.8" @@ -4055,7 +4133,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.19.15", ] [[package]] @@ -4080,6 +4158,17 @@ dependencies = [ "winnow", ] +[[package]] +name = "toml_edit" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +dependencies = [ + "indexmap 2.0.2", + "toml_datetime", + "winnow", +] + [[package]] name = "tonic" version = "0.6.2" @@ -4778,26 +4867,6 @@ dependencies = [ "zvariant", ] -[[package]] -name = "zerocopy" -version = "0.7.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c552e97c5a9b90bc8ddc545b5106e798807376356688ebaa3aee36f44f8c4b9e" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964bc0588d7ac1c0243d0427ef08482618313702bbb014806cb7ab3da34d3d99" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.38", -] - [[package]] name = "zeroize" version = "1.3.0" @@ -4818,6 +4887,19 @@ dependencies = [ "syn 2.0.38", ] +[[package]] +name = "zeropool-bn" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e61de68ede9ffdd69c01664f65a178c5188b73f78faa21f0936016a888ff7c" +dependencies = [ + "byteorder", + "crunchy", + "lazy_static", + "rand 0.8.5", + "rustc-hex", +] + [[package]] name = "zvariant" version = "3.15.0" diff --git a/Cargo.toml b/Cargo.toml index 72839b508..1af299fc4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,12 +63,12 @@ thiserror = "1" bytesize = "1.1.0" prettytable = "0.10.0" -near-ledger = { version = "0.3.0", optional = true } +near-ledger = { version = "0.4.0", optional = true } -near-crypto = "0.17.0" -near-primitives = "0.17.0" -near-jsonrpc-client = "0.6.0" -near-jsonrpc-primitives = "0.17.0" +near-crypto = "0.20.0" +near-primitives = "0.20.0" +near-jsonrpc-client = "0.8.0" +near-jsonrpc-primitives = "0.20.0" near-gas = { version = "0.2.3", features = [ "serde", @@ -85,7 +85,7 @@ keyring = "2.0.5" interactive-clap = "0.2.8" interactive-clap-derive = "0.2.8" -near-socialdb-client = "0.2.1" +near-socialdb-client = "0.2.2" [features] default = ["ledger", "self-update"] diff --git a/rust-toolchain b/rust-toolchain index 832e9afb6..0834888f5 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -1.70.0 +1.72.0 diff --git a/src/commands/account/add_key/autogenerate_new_keypair/print_keypair_to_terminal/mod.rs b/src/commands/account/add_key/autogenerate_new_keypair/print_keypair_to_terminal/mod.rs index c89e2451a..edb75ecfc 100644 --- a/src/commands/account/add_key/autogenerate_new_keypair/print_keypair_to_terminal/mod.rs +++ b/src/commands/account/add_key/autogenerate_new_keypair/print_keypair_to_terminal/mod.rs @@ -41,7 +41,7 @@ impl From for crate::commands::ActionContext { Ok(crate::commands::PrepopulatedTransaction { signer_id: signer_account_id.clone(), receiver_id: signer_account_id.clone(), - actions: vec![near_primitives::transaction::Action::AddKey( + actions: vec![near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: item.public_key.clone(), access_key: near_primitives::account::AccessKey { @@ -49,7 +49,7 @@ impl From for crate::commands::ActionContext { permission: item.permission.clone(), }, }, - )], + ))], }) } }); diff --git a/src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_keychain/mod.rs b/src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_keychain/mod.rs index 0f5665da0..c20d0e0b5 100644 --- a/src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_keychain/mod.rs +++ b/src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_keychain/mod.rs @@ -29,7 +29,7 @@ impl From for crate::commands::ActionContext { Ok(crate::commands::PrepopulatedTransaction { signer_id: signer_account_id.clone(), receiver_id: signer_account_id.clone(), - actions: vec![near_primitives::transaction::Action::AddKey( + actions: vec![near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: item.0.public_key.clone(), access_key: near_primitives::account::AccessKey { @@ -37,7 +37,7 @@ impl From for crate::commands::ActionContext { permission: item.0.permission.clone(), }, }, - )], + ))], }) } }); @@ -48,7 +48,7 @@ impl From for crate::commands::ActionContext { network_config.clone(), &serde_json::to_string(&item.0.key_pair_properties)?, &item.0.key_pair_properties.public_key_str, - &signed_transaction.transaction.signer_id, + signed_transaction.transaction.signer_id.as_ref(), )?; Ok(()) }, diff --git a/src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_legacy_keychain/mod.rs b/src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_legacy_keychain/mod.rs index 2d21a6600..9228bd1be 100644 --- a/src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_legacy_keychain/mod.rs +++ b/src/commands/account/add_key/autogenerate_new_keypair/save_keypair_to_legacy_keychain/mod.rs @@ -43,7 +43,7 @@ impl From for crate::commands::ActionContext Ok(crate::commands::PrepopulatedTransaction { signer_id: signer_account_id.clone(), receiver_id: signer_account_id.clone(), - actions: vec![near_primitives::transaction::Action::AddKey( + actions: vec![near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: item.public_key.clone(), access_key: near_primitives::account::AccessKey { @@ -51,7 +51,7 @@ impl From for crate::commands::ActionContext permission: item.permission.clone(), }, }, - )], + ))], }) } }); @@ -67,7 +67,7 @@ impl From for crate::commands::ActionContext credentials_home_dir.clone(), &key_pair_properties_buf, &item.key_pair_properties.public_key_str, - &signed_transaction.transaction.signer_id, + signed_transaction.transaction.signer_id.as_ref(), ) .wrap_err_with(|| { format!( diff --git a/src/commands/account/add_key/use_ledger/mod.rs b/src/commands/account/add_key/use_ledger/mod.rs index d0e9eef53..5300bc9d9 100644 --- a/src/commands/account/add_key/use_ledger/mod.rs +++ b/src/commands/account/add_key/use_ledger/mod.rs @@ -56,7 +56,7 @@ impl From for crate::commands::ActionContext { Ok(crate::commands::PrepopulatedTransaction { signer_id: signer_account_id.clone(), receiver_id: signer_account_id.clone(), - actions: vec![near_primitives::transaction::Action::AddKey( + actions: vec![near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: item.public_key.clone().into(), access_key: near_primitives::account::AccessKey { @@ -64,7 +64,7 @@ impl From for crate::commands::ActionContext { permission: item.permission.clone(), }, }, - )], + ))], }) } }); diff --git a/src/commands/account/add_key/use_manually_provided_seed_phrase/mod.rs b/src/commands/account/add_key/use_manually_provided_seed_phrase/mod.rs index 3898c4094..666a334af 100644 --- a/src/commands/account/add_key/use_manually_provided_seed_phrase/mod.rs +++ b/src/commands/account/add_key/use_manually_provided_seed_phrase/mod.rs @@ -48,7 +48,7 @@ impl From for crate::commands::ActionConte Ok(crate::commands::PrepopulatedTransaction { signer_id: signer_account_id.clone(), receiver_id: signer_account_id.clone(), - actions: vec![near_primitives::transaction::Action::AddKey( + actions: vec![near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: item.public_key.clone(), access_key: near_primitives::account::AccessKey { @@ -56,7 +56,7 @@ impl From for crate::commands::ActionConte permission: item.permission.clone(), }, }, - )], + ))], }) } }); diff --git a/src/commands/account/add_key/use_public_key/mod.rs b/src/commands/account/add_key/use_public_key/mod.rs index 8d0710944..6c91cb4b0 100644 --- a/src/commands/account/add_key/use_public_key/mod.rs +++ b/src/commands/account/add_key/use_public_key/mod.rs @@ -41,7 +41,7 @@ impl From for crate::commands::ActionContext { Ok(crate::commands::PrepopulatedTransaction { signer_id: signer_account_id.clone(), receiver_id: signer_account_id.clone(), - actions: vec![near_primitives::transaction::Action::AddKey( + actions: vec![near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: item.public_key.clone().into(), access_key: near_primitives::account::AccessKey { @@ -49,7 +49,7 @@ impl From for crate::commands::ActionContext { permission: item.permission.clone(), }, }, - )], + ))], }) } }); diff --git a/src/commands/account/create_account/fund_myself_create_account/sign_as/mod.rs b/src/commands/account/create_account/fund_myself_create_account/sign_as/mod.rs index 0490854c1..49421c993 100644 --- a/src/commands/account/create_account/fund_myself_create_account/sign_as/mod.rs +++ b/src/commands/account/create_account/fund_myself_create_account/sign_as/mod.rs @@ -69,14 +69,14 @@ impl From for crate::commands::ActionContext { }, ), near_primitives::transaction::Action::AddKey( - near_primitives::transaction::AddKeyAction { + Box::new(near_primitives::transaction::AddKeyAction { public_key: item.account_properties.public_key.clone(), access_key: near_primitives::account::AccessKey { nonce: 0, permission: near_primitives::account::AccessKeyPermission::FullAccess, }, - }, + }), ), ], new_account_id.clone()) @@ -92,15 +92,17 @@ impl From for crate::commands::ActionContext { { ( vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { - method_name: "create_account".to_string(), - args, - gas: crate::common::NearGas::from_tgas(30).as_gas(), - deposit: item - .account_properties - .initial_balance - .as_yoctonear(), - }, + Box::new( + near_primitives::transaction::FunctionCallAction { + method_name: "create_account".to_string(), + args, + gas: crate::common::NearGas::from_tgas(30).as_gas(), + deposit: item + .account_properties + .initial_balance + .as_yoctonear(), + }, + ), )], linkdrop_account_id.clone(), ) diff --git a/src/commands/account/delete_key/public_keys_to_delete.rs b/src/commands/account/delete_key/public_keys_to_delete.rs index b302aec63..a6709ff48 100644 --- a/src/commands/account/delete_key/public_keys_to_delete.rs +++ b/src/commands/account/delete_key/public_keys_to_delete.rs @@ -51,9 +51,9 @@ impl From for crate::commands::ActionContext { .clone() .into_iter() .map(|public_key| { - near_primitives::transaction::Action::DeleteKey( + near_primitives::transaction::Action::DeleteKey(Box::new( near_primitives::transaction::DeleteKeyAction { public_key }, - ) + )) }) .collect(), }) diff --git a/src/commands/account/import_account/mod.rs b/src/commands/account/import_account/mod.rs index fd6c647c4..d6419eb58 100644 --- a/src/commands/account/import_account/mod.rs +++ b/src/commands/account/import_account/mod.rs @@ -122,7 +122,7 @@ fn save_access_key( network_config, key_pair_properties_buf, public_key_str, - &account_id, + account_id.as_ref(), ) .wrap_err_with(|| { format!( @@ -139,7 +139,7 @@ fn save_access_key( credentials_home_dir, key_pair_properties_buf, public_key_str, - &account_id, + account_id.as_ref(), ) .wrap_err_with(|| format!("Failed to save a file with access key: {}", public_key_str))?; eprintln!("{}", storage_message); diff --git a/src/commands/account/storage_management/storage_deposit.rs b/src/commands/account/storage_management/storage_deposit.rs index 668970ede..775641ac6 100644 --- a/src/commands/account/storage_management/storage_deposit.rs +++ b/src/commands/account/storage_management/storage_deposit.rs @@ -118,14 +118,14 @@ impl SignerAccountIdContext { signer_id: signer_account_id.clone(), receiver_id: get_contract_account_id(network_config)?, actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "storage_deposit".to_string(), args: serde_json::to_vec(&serde_json::json!({ "account_id": &receiver_account_id }))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: deposit.as_yoctonear(), - }, + }), )], }) } diff --git a/src/commands/account/storage_management/storage_withdraw.rs b/src/commands/account/storage_management/storage_withdraw.rs index 224393dc0..86c49ad69 100644 --- a/src/commands/account/storage_management/storage_withdraw.rs +++ b/src/commands/account/storage_management/storage_withdraw.rs @@ -61,14 +61,14 @@ impl SignerAccountIdContext { signer_id: signer_account_id.clone(), receiver_id: get_contract_account_id(network_config)?, actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "storage_withdraw".to_string(), args: serde_json::to_vec(&serde_json::json!({ "amount": amount.clone().as_yoctonear().to_string() }))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: near_token::NearToken::from_yoctonear(1).as_yoctonear(), - }, + }), )], }) } diff --git a/src/commands/account/update_social_profile/sign_as.rs b/src/commands/account/update_social_profile/sign_as.rs index 3063f3c36..64a59fe17 100644 --- a/src/commands/account/update_social_profile/sign_as.rs +++ b/src/commands/account/update_social_profile/sign_as.rs @@ -112,12 +112,12 @@ impl From for crate::commands::ActionContext { prepopulated_transaction.actions = vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "set".to_string(), args, gas: crate::common::NearGas::from_tgas(300).as_gas(), deposit: deposit.as_yoctonear(), - }, + }), )]; Ok(prepopulated_transaction) diff --git a/src/commands/contract/call_function/as_transaction/mod.rs b/src/commands/contract/call_function/as_transaction/mod.rs index ff9468cd5..419174734 100644 --- a/src/commands/contract/call_function/as_transaction/mod.rs +++ b/src/commands/contract/call_function/as_transaction/mod.rs @@ -234,12 +234,12 @@ impl From for crate::commands::ActionContext { signer_id: signer_account_id.clone(), receiver_id: receiver_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: item.function_name.clone(), args: item.function_args.clone(), gas: item.gas.as_gas(), deposit: item.deposit.as_yoctonear(), - }, + }), )], }) } diff --git a/src/commands/contract/deploy/initialize_mode/call_function_type/mod.rs b/src/commands/contract/deploy/initialize_mode/call_function_type/mod.rs index c4ee713d7..81ffb57cb 100644 --- a/src/commands/contract/deploy/initialize_mode/call_function_type/mod.rs +++ b/src/commands/contract/deploy/initialize_mode/call_function_type/mod.rs @@ -163,14 +163,14 @@ impl DepositContext { code: previous_context.code.clone(), }, ), - near_primitives::transaction::Action::FunctionCall( + near_primitives::transaction::Action::FunctionCall(Box::new( near_primitives::transaction::FunctionCallAction { method_name: previous_context.function_name.clone(), args: previous_context.function_args.clone(), gas: previous_context.gas.as_gas(), deposit: deposit.as_yoctonear(), }, - ), + )), ], }) } diff --git a/src/commands/staking/delegate/deposit_and_stake.rs b/src/commands/staking/delegate/deposit_and_stake.rs index 88a73918c..16f591fac 100644 --- a/src/commands/staking/delegate/deposit_and_stake.rs +++ b/src/commands/staking/delegate/deposit_and_stake.rs @@ -32,12 +32,12 @@ impl DepositAndStakeContext { signer_id: signer_id.clone(), receiver_id: validator_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "deposit_and_stake".to_string(), args: serde_json::to_vec(&serde_json::json!({}))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: amount.as_yoctonear(), - }, + }), )], }) } diff --git a/src/commands/staking/delegate/stake.rs b/src/commands/staking/delegate/stake.rs index daa262b81..a8611787c 100644 --- a/src/commands/staking/delegate/stake.rs +++ b/src/commands/staking/delegate/stake.rs @@ -32,14 +32,14 @@ impl StakeContext { signer_id: signer_id.clone(), receiver_id: validator_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "stake".to_string(), args: serde_json::to_vec(&serde_json::json!({ "amount": amount, }))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: 0, - }, + }), )], }) } diff --git a/src/commands/staking/delegate/stake_all.rs b/src/commands/staking/delegate/stake_all.rs index 910d5f62b..25241b728 100644 --- a/src/commands/staking/delegate/stake_all.rs +++ b/src/commands/staking/delegate/stake_all.rs @@ -29,12 +29,12 @@ impl StakeAllContext { signer_id: signer_id.clone(), receiver_id: validator_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "stake_all".to_string(), args: serde_json::to_vec(&serde_json::json!({}))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: 0, - }, + }), )], }) } diff --git a/src/commands/staking/delegate/unstake.rs b/src/commands/staking/delegate/unstake.rs index 79fbdeb3c..8aa10f9dd 100644 --- a/src/commands/staking/delegate/unstake.rs +++ b/src/commands/staking/delegate/unstake.rs @@ -32,14 +32,14 @@ impl UnstakeContext { signer_id: signer_id.clone(), receiver_id: validator_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "unstake".to_string(), args: serde_json::to_vec(&serde_json::json!({ "amount": amount, }))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: 0, - }, + }), )], }) } diff --git a/src/commands/staking/delegate/unstake_all.rs b/src/commands/staking/delegate/unstake_all.rs index 716d7fef2..c646f7d3e 100644 --- a/src/commands/staking/delegate/unstake_all.rs +++ b/src/commands/staking/delegate/unstake_all.rs @@ -29,12 +29,12 @@ impl UnstakeAllContext { signer_id: signer_id.clone(), receiver_id: validator_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "unstake_all".to_string(), args: serde_json::to_vec(&serde_json::json!({}))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: 0, - }, + }), )], }) } diff --git a/src/commands/staking/delegate/withdraw.rs b/src/commands/staking/delegate/withdraw.rs index 3b75772dc..181913e9b 100644 --- a/src/commands/staking/delegate/withdraw.rs +++ b/src/commands/staking/delegate/withdraw.rs @@ -32,14 +32,14 @@ impl WithdrawContext { signer_id: signer_id.clone(), receiver_id: validator_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "withdraw".to_string(), args: serde_json::to_vec(&serde_json::json!({ "amount": amount, }))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: 0, - }, + }), )], }) } diff --git a/src/commands/staking/delegate/withdraw_all.rs b/src/commands/staking/delegate/withdraw_all.rs index ec35dcff4..57a43ebf6 100644 --- a/src/commands/staking/delegate/withdraw_all.rs +++ b/src/commands/staking/delegate/withdraw_all.rs @@ -29,12 +29,12 @@ impl WithdrawAllContext { signer_id: signer_id.clone(), receiver_id: validator_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "withdraw_all".to_string(), args: serde_json::to_vec(&serde_json::json!({}))?, gas: crate::common::NearGas::from_tgas(50).as_gas(), deposit: 0, - }, + }), )], }) } diff --git a/src/commands/tokens/send_ft/mod.rs b/src/commands/tokens/send_ft/mod.rs index d433a7a71..7655b45c0 100644 --- a/src/commands/tokens/send_ft/mod.rs +++ b/src/commands/tokens/send_ft/mod.rs @@ -69,7 +69,7 @@ impl From for crate::commands::ActionContext { signer_id: signer_account_id.clone(), receiver_id: ft_contract_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "ft_transfer".to_string(), args: serde_json::to_vec(&json!({ "receiver_id": receiver_account_id.to_string(), @@ -77,7 +77,7 @@ impl From for crate::commands::ActionContext { }))?, gas: item.gas.as_gas(), deposit: item.deposit.as_yoctonear(), - }, + }), )], }) } diff --git a/src/commands/tokens/send_nft/mod.rs b/src/commands/tokens/send_nft/mod.rs index 6345fcf5d..388e5ff99 100644 --- a/src/commands/tokens/send_nft/mod.rs +++ b/src/commands/tokens/send_nft/mod.rs @@ -70,7 +70,7 @@ impl From for crate::commands::ActionContext { signer_id: signer_account_id.clone(), receiver_id: nft_contract_account_id.clone(), actions: vec![near_primitives::transaction::Action::FunctionCall( - near_primitives::transaction::FunctionCallAction { + Box::new(near_primitives::transaction::FunctionCallAction { method_name: "nft_transfer".to_string(), args: serde_json::to_vec(&json!({ "receiver_id": receiver_account_id.to_string(), @@ -78,7 +78,7 @@ impl From for crate::commands::ActionContext { }))?, gas: item.gas.as_gas(), deposit: item.deposit.as_yoctonear(), - }, + }), )], }) } diff --git a/src/commands/transaction/construct_transaction/add_action_1/add_action/add_key/use_manually_provided_seed_phrase/mod.rs b/src/commands/transaction/construct_transaction/add_action_1/add_action/add_key/use_manually_provided_seed_phrase/mod.rs index 6d10843cd..7933c957d 100644 --- a/src/commands/transaction/construct_transaction/add_action_1/add_action/add_key/use_manually_provided_seed_phrase/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_1/add_action/add_key/use_manually_provided_seed_phrase/mod.rs @@ -29,12 +29,12 @@ impl AddAccessWithSeedPhraseActionContext { nonce: 0, permission: previous_context.access_key_permission, }; - let action = near_primitives::transaction::Action::AddKey( + let action = near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key, access_key, }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self( diff --git a/src/commands/transaction/construct_transaction/add_action_1/add_action/add_key/use_public_key/mod.rs b/src/commands/transaction/construct_transaction/add_action_1/add_action/add_key/use_public_key/mod.rs index 784205fe3..6038ae993 100644 --- a/src/commands/transaction/construct_transaction/add_action_1/add_action/add_key/use_public_key/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_1/add_action/add_key/use_public_key/mod.rs @@ -20,12 +20,12 @@ impl AddAccessKeyActionContext { nonce: 0, permission: previous_context.access_key_permission, }; - let action = near_primitives::transaction::Action::AddKey( + let action = near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: scope.public_key.clone().into(), access_key, }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self( diff --git a/src/commands/transaction/construct_transaction/add_action_1/add_action/call_function/mod.rs b/src/commands/transaction/construct_transaction/add_action_1/add_action/call_function/mod.rs index bc4ec8902..3cdea90f7 100644 --- a/src/commands/transaction/construct_transaction/add_action_1/add_action/call_function/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_1/add_action/call_function/mod.rs @@ -146,14 +146,14 @@ impl DepositContext { previous_context: PrepaidGasContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::FunctionCall( + let action = near_primitives::transaction::Action::FunctionCall(Box::new( near_primitives::transaction::FunctionCallAction { method_name: previous_context.function_name, args: previous_context.function_args, gas: previous_context.gas.as_gas(), deposit: scope.deposit.clone().as_yoctonear(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/construct_transaction/add_action_1/add_action/delete_key/mod.rs b/src/commands/transaction/construct_transaction/add_action_1/add_action/delete_key/mod.rs index f4cc0839d..553253f29 100644 --- a/src/commands/transaction/construct_transaction/add_action_1/add_action/delete_key/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_1/add_action/delete_key/mod.rs @@ -16,11 +16,11 @@ impl DeleteKeyActionContext { previous_context: super::super::super::ConstructTransactionContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::DeleteKey( + let action = near_primitives::transaction::Action::DeleteKey(Box::new( near_primitives::transaction::DeleteKeyAction { public_key: scope.public_key.clone().into(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/construct_transaction/add_action_1/add_action/stake/mod.rs b/src/commands/transaction/construct_transaction/add_action_1/add_action/stake/mod.rs index ad40dc8ca..5df4e7b07 100644 --- a/src/commands/transaction/construct_transaction/add_action_1/add_action/stake/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_1/add_action/stake/mod.rs @@ -16,12 +16,12 @@ impl StakeActionContext { previous_context: super::super::super::ConstructTransactionContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::Stake( + let action = near_primitives::transaction::Action::Stake(Box::new( near_primitives::transaction::StakeAction { stake: scope.stake_amount.as_yoctonear(), public_key: scope.public_key.clone().into(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/construct_transaction/add_action_2/add_action/add_key/use_manually_provided_seed_phrase/mod.rs b/src/commands/transaction/construct_transaction/add_action_2/add_action/add_key/use_manually_provided_seed_phrase/mod.rs index ef3fe5c2c..86250612e 100644 --- a/src/commands/transaction/construct_transaction/add_action_2/add_action/add_key/use_manually_provided_seed_phrase/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_2/add_action/add_key/use_manually_provided_seed_phrase/mod.rs @@ -29,12 +29,12 @@ impl AddAccessWithSeedPhraseActionContext { nonce: 0, permission: previous_context.access_key_permission, }; - let action = near_primitives::transaction::Action::AddKey( + let action = near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key, access_key, }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self( diff --git a/src/commands/transaction/construct_transaction/add_action_2/add_action/add_key/use_public_key/mod.rs b/src/commands/transaction/construct_transaction/add_action_2/add_action/add_key/use_public_key/mod.rs index 779118689..be5b6ecb1 100644 --- a/src/commands/transaction/construct_transaction/add_action_2/add_action/add_key/use_public_key/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_2/add_action/add_key/use_public_key/mod.rs @@ -20,12 +20,12 @@ impl AddAccessKeyActionContext { nonce: 0, permission: previous_context.access_key_permission, }; - let action = near_primitives::transaction::Action::AddKey( + let action = near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: scope.public_key.clone().into(), access_key, }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self( diff --git a/src/commands/transaction/construct_transaction/add_action_2/add_action/call_function/mod.rs b/src/commands/transaction/construct_transaction/add_action_2/add_action/call_function/mod.rs index 30144dfba..16eb630cb 100644 --- a/src/commands/transaction/construct_transaction/add_action_2/add_action/call_function/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_2/add_action/call_function/mod.rs @@ -146,14 +146,14 @@ impl DepositContext { previous_context: PrepaidGasContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::FunctionCall( + let action = near_primitives::transaction::Action::FunctionCall(Box::new( near_primitives::transaction::FunctionCallAction { method_name: previous_context.function_name, args: previous_context.function_args, gas: previous_context.gas.as_gas(), deposit: scope.deposit.clone().as_yoctonear(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/construct_transaction/add_action_2/add_action/delete_key/mod.rs b/src/commands/transaction/construct_transaction/add_action_2/add_action/delete_key/mod.rs index d0dbc8882..86691adaa 100644 --- a/src/commands/transaction/construct_transaction/add_action_2/add_action/delete_key/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_2/add_action/delete_key/mod.rs @@ -16,11 +16,11 @@ impl DeleteKeyActionContext { previous_context: super::super::super::ConstructTransactionContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::DeleteKey( + let action = near_primitives::transaction::Action::DeleteKey(Box::new( near_primitives::transaction::DeleteKeyAction { public_key: scope.public_key.clone().into(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/construct_transaction/add_action_2/add_action/stake/mod.rs b/src/commands/transaction/construct_transaction/add_action_2/add_action/stake/mod.rs index 60112051a..da6a50014 100644 --- a/src/commands/transaction/construct_transaction/add_action_2/add_action/stake/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_2/add_action/stake/mod.rs @@ -16,12 +16,12 @@ impl StakeActionContext { previous_context: super::super::super::ConstructTransactionContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::Stake( + let action = near_primitives::transaction::Action::Stake(Box::new( near_primitives::transaction::StakeAction { stake: scope.stake_amount.as_yoctonear(), public_key: scope.public_key.clone().into(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/construct_transaction/add_action_3/add_action/add_key/use_manually_provided_seed_phrase/mod.rs b/src/commands/transaction/construct_transaction/add_action_3/add_action/add_key/use_manually_provided_seed_phrase/mod.rs index 68a0a0fce..655d6e7ac 100644 --- a/src/commands/transaction/construct_transaction/add_action_3/add_action/add_key/use_manually_provided_seed_phrase/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_3/add_action/add_key/use_manually_provided_seed_phrase/mod.rs @@ -29,12 +29,12 @@ impl AddAccessWithSeedPhraseActionContext { nonce: 0, permission: previous_context.access_key_permission, }; - let action = near_primitives::transaction::Action::AddKey( + let action = near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key, access_key, }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self( diff --git a/src/commands/transaction/construct_transaction/add_action_3/add_action/add_key/use_public_key/mod.rs b/src/commands/transaction/construct_transaction/add_action_3/add_action/add_key/use_public_key/mod.rs index c2f7e6804..ab30ba344 100644 --- a/src/commands/transaction/construct_transaction/add_action_3/add_action/add_key/use_public_key/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_3/add_action/add_key/use_public_key/mod.rs @@ -20,12 +20,12 @@ impl AddAccessKeyActionContext { nonce: 0, permission: previous_context.access_key_permission, }; - let action = near_primitives::transaction::Action::AddKey( + let action = near_primitives::transaction::Action::AddKey(Box::new( near_primitives::transaction::AddKeyAction { public_key: scope.public_key.clone().into(), access_key, }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self( diff --git a/src/commands/transaction/construct_transaction/add_action_3/add_action/call_function/mod.rs b/src/commands/transaction/construct_transaction/add_action_3/add_action/call_function/mod.rs index d0f7b8522..a25226cce 100644 --- a/src/commands/transaction/construct_transaction/add_action_3/add_action/call_function/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_3/add_action/call_function/mod.rs @@ -146,14 +146,14 @@ impl DepositContext { previous_context: PrepaidGasContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::FunctionCall( + let action = near_primitives::transaction::Action::FunctionCall(Box::new( near_primitives::transaction::FunctionCallAction { method_name: previous_context.function_name, args: previous_context.function_args, gas: previous_context.gas.as_gas(), deposit: scope.deposit.clone().as_yoctonear(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/construct_transaction/add_action_3/add_action/delete_key/mod.rs b/src/commands/transaction/construct_transaction/add_action_3/add_action/delete_key/mod.rs index dfd4ceba7..92cdc8f81 100644 --- a/src/commands/transaction/construct_transaction/add_action_3/add_action/delete_key/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_3/add_action/delete_key/mod.rs @@ -16,11 +16,11 @@ impl DeleteKeyActionContext { previous_context: super::super::super::ConstructTransactionContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::DeleteKey( + let action = near_primitives::transaction::Action::DeleteKey(Box::new( near_primitives::transaction::DeleteKeyAction { public_key: scope.public_key.clone().into(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/construct_transaction/add_action_3/add_action/stake/mod.rs b/src/commands/transaction/construct_transaction/add_action_3/add_action/stake/mod.rs index d97da20b5..6c258876b 100644 --- a/src/commands/transaction/construct_transaction/add_action_3/add_action/stake/mod.rs +++ b/src/commands/transaction/construct_transaction/add_action_3/add_action/stake/mod.rs @@ -16,12 +16,12 @@ impl StakeActionContext { previous_context: super::super::super::ConstructTransactionContext, scope: &::InteractiveClapContextScope, ) -> color_eyre::eyre::Result { - let action = near_primitives::transaction::Action::Stake( + let action = near_primitives::transaction::Action::Stake(Box::new( near_primitives::transaction::StakeAction { stake: scope.stake_amount.as_yoctonear(), public_key: scope.public_key.clone().into(), }, - ); + )); let mut actions = previous_context.actions; actions.push(action); Ok(Self(super::super::super::ConstructTransactionContext { diff --git a/src/commands/transaction/reconstruct_transaction/mod.rs b/src/commands/transaction/reconstruct_transaction/mod.rs index 235c6f4ac..c476bf4fc 100644 --- a/src/commands/transaction/reconstruct_transaction/mod.rs +++ b/src/commands/transaction/reconstruct_transaction/mod.rs @@ -36,8 +36,8 @@ impl TransactionInfoContext { near_jsonrpc_client::methods::tx::RpcTransactionStatusRequest { transaction_info: near_jsonrpc_client::methods::tx::TransactionInfo::TransactionId { - hash: transaction_hash.into(), - account_id: "near".parse::()?, + tx_hash: transaction_hash.into(), + sender_account_id: "near".parse::()?, }, }, ) @@ -149,7 +149,7 @@ fn action_transformation( ) -> color_eyre::eyre::Result< Option, > { - use near_primitives::transaction::{self, Action}; + use near_primitives::transaction::Action; use super::construct_transaction::add_action_1::add_action; @@ -161,41 +161,41 @@ fn action_transformation( } ))) } - Action::DeleteAccount(transaction::DeleteAccountAction { beneficiary_id }) => { + Action::DeleteAccount(delete_account_action) => { Ok(Some(add_action::CliActionSubcommand::DeleteAccount( add_action::delete_account::CliDeleteAccountAction { - beneficiary_id: Some(beneficiary_id.into()), + beneficiary_id: Some(delete_account_action.beneficiary_id.into()), next_action: None } ))) } - Action::AddKey(transaction::AddKeyAction { public_key, access_key }) => { + Action::AddKey(add_key_action) => { Ok(Some(add_action::CliActionSubcommand::AddKey( add_action::add_key::CliAddKeyAction { - permission: get_access_key_permission(public_key, access_key.permission)? + permission: get_access_key_permission(add_key_action.public_key, add_key_action.access_key.permission)? } ))) } - Action::DeleteKey(transaction::DeleteKeyAction { public_key }) => { + Action::DeleteKey(delete_key_action) => { Ok(Some(add_action::CliActionSubcommand::DeleteKey( add_action::delete_key::CliDeleteKeyAction { - public_key: Some(public_key.into()), + public_key: Some(delete_key_action.public_key.into()), next_action: None } ))) } - Action::Transfer(transaction::TransferAction { deposit }) => { + Action::Transfer(transfer_action) => { Ok(Some(add_action::CliActionSubcommand::Transfer( add_action::transfer::CliTransferAction { - amount_in_near: Some(crate::types::near_token::NearToken::from_yoctonear(deposit)), + amount_in_near: Some(crate::types::near_token::NearToken::from_yoctonear(transfer_action.deposit)), next_action: None } ))) } - Action::DeployContract(transaction::DeployContractAction { code }) => { + Action::DeployContract(deploy_contract_action) => { std::fs::write( "reconstruct-transaction-deploy-code.wasm", - code + deploy_contract_action.code ) .wrap_err("Failed to write the deploy command code to file: 'reconstruct-transaction-deploy-code.wasm' in the current folder")?; Ok(Some(add_action::CliActionSubcommand::DeployContract( @@ -213,18 +213,18 @@ fn action_transformation( } ))) } - Action::FunctionCall(transaction::FunctionCallAction { method_name, args, gas, deposit }) => { + Action::FunctionCall(function_call_action) => { Ok(Some(add_action::CliActionSubcommand::FunctionCall( add_action::call_function::CliFunctionCallAction { - function_name: Some(method_name), + function_name: Some(function_call_action.method_name), function_args_type: Some(crate::commands::contract::call_function::call_function_args_type::FunctionArgsType::TextArgs), - function_args: Some(String::from_utf8(args)?), + function_args: Some(String::from_utf8(function_call_action.args)?), prepaid_gas: Some(add_action::call_function::ClapNamedArgPrepaidGasForFunctionCallAction::PrepaidGas( add_action::call_function::CliPrepaidGas { - gas: Some(near_gas::NearGas::from_gas(gas)), + gas: Some(near_gas::NearGas::from_gas(function_call_action.gas)), attached_deposit: Some(add_action::call_function::ClapNamedArgDepositForPrepaidGas::AttachedDeposit( add_action::call_function::CliDeposit { - deposit: Some(crate::types::near_token::NearToken::from_yoctonear(deposit)), + deposit: Some(crate::types::near_token::NearToken::from_yoctonear(function_call_action.deposit)), next_action: None } )) @@ -233,11 +233,11 @@ fn action_transformation( } ))) } - Action::Stake(transaction::StakeAction { stake, public_key }) => { - Ok(Some(add_action::CliActionSubcommand::Stake( + Action::Stake(stake_action) => { + Ok(Some(add_action::CliActionSubcommand::Stake( add_action::stake::CliStakeAction { - stake_amount: Some(crate::types::near_token::NearToken::from_yoctonear(stake)), - public_key: Some(public_key.into()), + stake_amount: Some(crate::types::near_token::NearToken::from_yoctonear(stake_action.stake)), + public_key: Some(stake_action.public_key.into()), next_action: None } ))) diff --git a/src/commands/transaction/send_meta_transaction/mod.rs b/src/commands/transaction/send_meta_transaction/mod.rs index 166a49c68..0fca40391 100644 --- a/src/commands/transaction/send_meta_transaction/mod.rs +++ b/src/commands/transaction/send_meta_transaction/mod.rs @@ -14,7 +14,7 @@ pub struct SendMetaTransaction { #[derive(Debug, Clone)] pub struct SendMetaTransactionContext { global_context: crate::GlobalContext, - signed_delegate_action: near_primitives::delegate_action::SignedDelegateAction, + signed_delegate_action: near_primitives::action::delegate::SignedDelegateAction, } impl SendMetaTransactionContext { diff --git a/src/commands/transaction/send_meta_transaction/sign_as/mod.rs b/src/commands/transaction/send_meta_transaction/sign_as/mod.rs index cd8cb6bac..a53c0100d 100644 --- a/src/commands/transaction/send_meta_transaction/sign_as/mod.rs +++ b/src/commands/transaction/send_meta_transaction/sign_as/mod.rs @@ -41,9 +41,9 @@ impl RelayerAccountIdContext { std::sync::Arc::new({ move |prepopulated_unsigned_transaction, _network_config| { prepopulated_unsigned_transaction.actions = - vec![near_primitives::transaction::Action::Delegate( + vec![near_primitives::transaction::Action::Delegate(Box::new( previous_context.signed_delegate_action.clone(), - )]; + ))]; Ok(()) } }); diff --git a/src/commands/transaction/view_status/mod.rs b/src/commands/transaction/view_status/mod.rs index 6c7f9dffb..7f3a85234 100644 --- a/src/commands/transaction/view_status/mod.rs +++ b/src/commands/transaction/view_status/mod.rs @@ -32,8 +32,8 @@ impl TransactionInfoContext { near_jsonrpc_client::methods::tx::RpcTransactionStatusRequest { transaction_info: near_jsonrpc_client::methods::tx::TransactionInfo::TransactionId { - hash: transaction_hash.into(), - account_id: "near".parse::()?, + tx_hash: transaction_hash.into(), + sender_account_id: "near".parse::()?, }, }, ) diff --git a/src/common.rs b/src/common.rs index 0d3b3e0b2..ccada6b74 100644 --- a/src/common.rs +++ b/src/common.rs @@ -5,7 +5,6 @@ use std::str::FromStr; use color_eyre::eyre::{ContextCompat, WrapErr}; use futures::{StreamExt, TryStreamExt}; -use near_primitives::borsh::BorshSerialize; use prettytable::Table; use near_primitives::{hash::CryptoHash, types::BlockReference, views::AccessKeyPermissionView}; @@ -160,7 +159,7 @@ pub fn get_account_transfer_allowance( get_account_state(network_config.clone(), account_id.clone(), block_reference) { account_view - } else if !account_id.is_implicit() { + } else if !account_id.get_account_type().is_implicit() { return color_eyre::eyre::Result::Err(color_eyre::eyre::eyre!( "Account <{}> does not exist on network <{}>.", account_id, @@ -530,12 +529,9 @@ pub fn print_full_signed_transaction(transaction: near_primitives::transaction:: } pub fn print_full_unsigned_transaction(transaction: near_primitives::transaction::Transaction) { - let bytes = transaction - .try_to_vec() - .expect("Transaction is not expected to fail on serialization"); eprintln!( "Unsigned transaction hash (Base58-encoded SHA-256 hash): {}\n\n", - CryptoHash::hash_bytes(&bytes) + transaction.get_hash_and_size().0 ); eprintln!("{:<13} {}", "public_key:", &transaction.public_key); diff --git a/src/transaction_signature_options/mod.rs b/src/transaction_signature_options/mod.rs index a0de1ec87..311a961c1 100644 --- a/src/transaction_signature_options/mod.rs +++ b/src/transaction_signature_options/mod.rs @@ -289,7 +289,7 @@ pub struct SubmitContext { #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub enum SignedTransactionOrSignedDelegateAction { SignedTransaction(near_primitives::transaction::SignedTransaction), - SignedDelegateAction(near_primitives::delegate_action::SignedDelegateAction), + SignedDelegateAction(near_primitives::action::delegate::SignedDelegateAction), } impl From @@ -300,11 +300,11 @@ impl From } } -impl From +impl From for SignedTransactionOrSignedDelegateAction { fn from( - signed_delegate_action: near_primitives::delegate_action::SignedDelegateAction, + signed_delegate_action: near_primitives::action::delegate::SignedDelegateAction, ) -> Self { Self::SignedDelegateAction(signed_delegate_action) } @@ -315,16 +315,16 @@ pub fn get_signed_delegate_action( public_key: &near_crypto::PublicKey, private_key: near_crypto::SecretKey, max_block_height: u64, -) -> near_primitives::delegate_action::SignedDelegateAction { +) -> near_primitives::action::delegate::SignedDelegateAction { use near_primitives::signable_message::{SignableMessage, SignableMessageType}; let actions = unsigned_transaction .actions .into_iter() - .map(near_primitives::delegate_action::NonDelegateAction::try_from) + .map(near_primitives::action::delegate::NonDelegateAction::try_from) .collect::>() .expect("Internal error: can not convert the action to non delegate action (delegate action can not be delegated again)."); - let delegate_action = near_primitives::delegate_action::DelegateAction { + let delegate_action = near_primitives::action::delegate::DelegateAction { sender_id: unsigned_transaction.signer_id.clone(), receiver_id: unsigned_transaction.receiver_id, actions, @@ -344,7 +344,7 @@ pub fn get_signed_delegate_action( eprintln!("Public key: {}", public_key); eprintln!("Signature: {}", signature); - near_primitives::delegate_action::SignedDelegateAction { + near_primitives::action::delegate::SignedDelegateAction { delegate_action, signature, } diff --git a/src/transaction_signature_options/sign_with_ledger/mod.rs b/src/transaction_signature_options/sign_with_ledger/mod.rs index 096a4833b..591e77967 100644 --- a/src/transaction_signature_options/sign_with_ledger/mod.rs +++ b/src/transaction_signature_options/sign_with_ledger/mod.rs @@ -2,8 +2,7 @@ use std::str::FromStr; use color_eyre::eyre::{ContextCompat, WrapErr}; use inquire::{CustomType, Select, Text}; - -use near_primitives::borsh::BorshSerialize; +use near_primitives::borsh; use slip10::BIP32Path; use crate::common::JsonRpcClientExt; @@ -165,8 +164,7 @@ impl SignLedgerContext { ); let signature = match near_ledger::sign_transaction( - unsigned_transaction - .try_to_vec() + borsh::to_vec(&unsigned_transaction) .wrap_err("Transaction is not expected to fail on serialization")?, seed_phrase_hd_path.clone(), ) { diff --git a/src/types/signed_delegate_action.rs b/src/types/signed_delegate_action.rs index 564c01691..0db345fbd 100644 --- a/src/types/signed_delegate_action.rs +++ b/src/types/signed_delegate_action.rs @@ -1,15 +1,15 @@ -use near_primitives::borsh::{BorshDeserialize, BorshSerialize}; +use near_primitives::{borsh, borsh::BorshDeserialize}; #[derive(Debug, Clone)] pub struct SignedDelegateActionAsBase64 { - pub inner: near_primitives::delegate_action::SignedDelegateAction, + pub inner: near_primitives::action::delegate::SignedDelegateAction, } impl std::str::FromStr for SignedDelegateActionAsBase64 { type Err = String; fn from_str(s: &str) -> Result { Ok(Self { - inner: near_primitives::delegate_action::SignedDelegateAction::try_from_slice( + inner: near_primitives::action::delegate::SignedDelegateAction::try_from_slice( &near_primitives::serialize::from_base64(s) .map_err(|err| format!("parsing of signed delegate action failed due to base64 sequence being invalid: {}", err))?, ) @@ -21,9 +21,7 @@ impl std::str::FromStr for SignedDelegateActionAsBase64 { impl std::fmt::Display for SignedDelegateActionAsBase64 { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let base64_signed_delegate_action = near_primitives::serialize::to_base64( - &self - .inner - .try_to_vec() + &borsh::to_vec(&self.inner) .expect("Signed Delegate Action serialization to borsh is not expected to fail"), ); write!(f, "{}", base64_signed_delegate_action) @@ -34,8 +32,10 @@ impl interactive_clap::ToCli for SignedDelegateActionAsBase64 { type CliVariant = SignedDelegateActionAsBase64; } -impl From for SignedDelegateActionAsBase64 { - fn from(value: near_primitives::delegate_action::SignedDelegateAction) -> Self { +impl From + for SignedDelegateActionAsBase64 +{ + fn from(value: near_primitives::action::delegate::SignedDelegateAction) -> Self { Self { inner: value } } } diff --git a/src/types/signed_transaction.rs b/src/types/signed_transaction.rs index 18fa7cee3..77730b130 100644 --- a/src/types/signed_transaction.rs +++ b/src/types/signed_transaction.rs @@ -1,4 +1,4 @@ -use near_primitives::borsh::{BorshDeserialize, BorshSerialize}; +use near_primitives::{borsh, borsh::BorshDeserialize}; #[derive(Debug, Clone)] pub struct SignedTransactionAsBase64 { @@ -27,9 +27,7 @@ impl std::str::FromStr for SignedTransactionAsBase64 { impl std::fmt::Display for SignedTransactionAsBase64 { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let base64_signed_transaction = near_primitives::serialize::to_base64( - &self - .inner - .try_to_vec() + &borsh::to_vec(&self.inner) .expect("Transaction is not expected to fail on serialization"), ); write!(f, "{}", base64_signed_transaction) diff --git a/src/types/transaction.rs b/src/types/transaction.rs index 13cdbf64a..c5ad6dac3 100644 --- a/src/types/transaction.rs +++ b/src/types/transaction.rs @@ -1,4 +1,4 @@ -use near_primitives::borsh::{BorshDeserialize, BorshSerialize}; +use near_primitives::{borsh, borsh::BorshDeserialize}; #[derive(Debug, Clone)] pub struct TransactionAsBase64 { @@ -37,9 +37,7 @@ impl std::str::FromStr for TransactionAsBase64 { impl std::fmt::Display for TransactionAsBase64 { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let base64_unsigned_transaction = near_primitives::serialize::to_base64( - &self - .inner - .try_to_vec() + &borsh::to_vec(&self.inner) .expect("Transaction is not expected to fail on serialization"), ); write!(f, "{}", base64_unsigned_transaction)