From c4b4f5ab436310c4544458d0a2661c2ac19c8f4f Mon Sep 17 00:00:00 2001 From: austinabell Date: Mon, 22 Nov 2021 17:40:00 -0500 Subject: [PATCH 01/10] chore: update nearcore crate versions in SDK --- examples/callback-results/Cargo.lock | 377 +++++++-- .../res/callback_results.wasm | Bin 104452 -> 104468 bytes examples/cross-contract-high-level/Cargo.lock | 377 +++++++-- .../res/cross_contract_high_level.wasm | Bin 244783 -> 245066 bytes examples/cross-contract-low-level/Cargo.lock | 377 +++++++-- .../res/cross_contract_low_level.wasm | Bin 267530 -> 266863 bytes examples/fungible-token/Cargo.lock | 369 +++++++-- examples/fungible-token/res/defi.wasm | Bin 118869 -> 119528 bytes .../fungible-token/res/fungible_token.wasm | Bin 201136 -> 202374 bytes examples/gas-fee-tester/Cargo.lock | 749 +++++++++++++++++- .../gas-fee-tester/res/gas_fee_tester.wasm | Bin 135819 -> 135103 bytes examples/lockable-fungible-token/Cargo.lock | 749 +++++++++++++++++- .../res/lockable_fungible_token.wasm | Bin 134801 -> 135265 bytes examples/lockable-fungible-token/src/lib.rs | 20 +- examples/mission-control/Cargo.lock | 749 +++++++++++++++++- .../mission-control/res/mission_control.wasm | Bin 128548 -> 128711 bytes examples/non-fungible-token/Cargo.lock | 369 +++++++-- .../res/approval_receiver.wasm | Bin 116414 -> 117073 bytes .../res/non_fungible_token.wasm | Bin 287058 -> 288470 bytes .../res/token_receiver.wasm | Bin 115685 -> 116344 bytes .../status-message-collections/Cargo.lock | 749 +++++++++++++++++- .../res/status_message_collections.wasm | Bin 86767 -> 86467 bytes examples/status-message/Cargo.lock | 749 +++++++++++++++++- .../status-message/res/status_message.wasm | Bin 115268 -> 115358 bytes examples/test-contract/Cargo.lock | 749 +++++++++++++++++- near-sdk/Cargo.toml | 6 +- near-sdk/src/environment/mock/external.rs | 23 +- .../src/environment/mock/mocked_blockchain.rs | 5 +- near-sdk/src/test_utils/context.rs | 26 +- near-sdk/src/test_utils/mod.rs | 2 +- near-sdk/src/test_utils/test_env.rs | 5 +- 31 files changed, 5922 insertions(+), 528 deletions(-) diff --git a/examples/callback-results/Cargo.lock b/examples/callback-results/Cargo.lock index 53c11aac0..7e3e4785a 100644 --- a/examples/callback-results/Cargo.lock +++ b/examples/callback-results/Cargo.lock @@ -65,6 +65,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "async-mutex" version = "1.4.0" @@ -116,6 +122,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" @@ -192,7 +204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9ff35b701f3914bdb8fad3368d822c766ef2858b2583198e41639b936f09d3f" dependencies = [ "arrayref", - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "constant_time_eq", @@ -222,7 +234,17 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" dependencies = [ - "borsh-derive", + "borsh-derive 0.8.1", + "hashbrown", +] + +[[package]] +name = "borsh" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" +dependencies = [ + "borsh-derive 0.9.1", "hashbrown", ] @@ -232,9 +254,22 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate", + "borsh-derive-internal 0.8.1", + "borsh-schema-derive-internal 0.8.1", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn", +] + +[[package]] +name = "borsh-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" +dependencies = [ + "borsh-derive-internal 0.9.1", + "borsh-schema-derive-internal 0.9.1", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] @@ -250,6 +285,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.8.1" @@ -261,6 +307,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "bs58" version = "0.4.0" @@ -285,6 +342,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +[[package]] +name = "bytesize" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + [[package]] name = "c2-chacha" version = "0.3.0" @@ -934,7 +997,7 @@ dependencies = [ "fixed-hash", "impl-rlp", "impl-serde", - "primitive-types", + "primitive-types 0.9.0", "uint", ] @@ -1236,9 +1299,9 @@ dependencies = [ [[package]] name = "impl-codec" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" dependencies = [ "parity-scale-codec", ] @@ -1261,6 +1324,17 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.6.1" @@ -1497,6 +1571,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh 0.9.1", + "serde", +] + [[package]] name = "near-crypto" version = "0.1.0" @@ -1505,7 +1589,32 @@ checksum = "bb14bec070cfd808438712cda5d54703001b9cf1196c8afaeadc9514e06d00a3" dependencies = [ "arrayref", "blake2", - "borsh", + "borsh 0.8.1", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "parity-secp256k1", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh 0.9.1", "bs58", "c2-chacha", "curve25519-dalek", @@ -1513,7 +1622,9 @@ dependencies = [ "ed25519-dalek", "lazy_static", "libc", + "near-account-id", "parity-secp256k1", + "primitive-types 0.10.1", "rand 0.7.3", "rand_core 0.5.1", "serde", @@ -1539,9 +1650,9 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bde79472f7cfc0675733b65f79f9e50c20bfbb9806298ab2872916869a45dccd" dependencies = [ - "borsh", - "near-crypto", - "near-primitives", + "borsh 0.8.1", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "rand 0.7.3", ] @@ -1551,8 +1662,8 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75ed2263518ca67a3c158c144813832fd96f48ab239494bb9d7793d315f31417" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", "chrono", @@ -1561,12 +1672,43 @@ dependencies = [ "hex", "jemallocator", "lazy_static", - "near-crypto", - "near-primitives-core", - "near-rpc-error-macro", - "near-vm-errors", + "near-crypto 0.1.0", + "near-primitives-core 0.4.0", + "near-rpc-error-macro 0.1.0", + "near-vm-errors 4.0.0-pre.1", + "num-rational", + "primitive-types 0.9.0", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto 0.10.0", + "near-primitives-core 0.10.0", + "near-rpc-error-macro 0.10.0", + "near-vm-errors 0.10.0", "num-rational", - "primitive-types", + "primitive-types 0.10.1", "rand 0.7.3", "reed-solomon-erasure", "regex", @@ -1583,12 +1725,31 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", + "bs58", + "derive_more", + "hex", + "lazy_static", + "num-rational", + "serde", + "serde_json", + "sha2", +] + +[[package]] +name = "near-primitives-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" +dependencies = [ + "base64 0.11.0", + "borsh 0.9.1", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -1608,13 +1769,39 @@ dependencies = [ "syn", ] +[[package]] +name = "near-rpc-error-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn", +] + [[package]] name = "near-rpc-error-macro" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" dependencies = [ - "near-rpc-error-core", + "near-rpc-error-core 0.1.0", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" +dependencies = [ + "near-rpc-error-core 0.10.0", "proc-macro2", "quote", "serde", @@ -1628,19 +1815,19 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e4c0a4cd2ee5ccbc1fd5d492180ebf33ac1159d721b2e0c58c11953131fb449" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "ethereum-types", "hex", "lazy_static", "log", - "near-crypto", + "near-crypto 0.1.0", "near-metrics", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime-utils", "near-store", - "near-vm-errors", - "near-vm-logic", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "near-vm-runner", "num-bigint", "num-rational", @@ -1664,13 +1851,13 @@ dependencies = [ name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.9.1", "bs58", - "near-primitives-core", + "near-primitives-core 0.10.0", "near-sdk-macros", "near-sys", - "near-vm-logic", + "near-vm-logic 0.10.0", "serde", "serde_json", "wee_alloc", @@ -1692,13 +1879,13 @@ version = "4.0.0-pre.4" dependencies = [ "funty", "lazy-static-include", - "near-crypto", + "near-crypto 0.1.0", "near-pool", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime", "near-sdk", "near-store", - "near-vm-logic", + "near-vm-logic 4.0.0-pre.1", ] [[package]] @@ -1707,14 +1894,14 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e880d1d9a4ca5a1ca1ea0366fd80e295465f90cd0c1209f45d6d0b7a443ed4" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "cached", "derive_more", "elastic-array", "lazy_static", - "near-crypto", - "near-primitives", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "num_cpus", "rand 0.7.3", "rocksdb", @@ -1727,16 +1914,50 @@ dependencies = [ name = "near-sys" version = "0.1.0" +[[package]] +name = "near-vm-errors" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" +dependencies = [ + "borsh 0.9.1", + "hex", + "near-account-id", + "near-rpc-error-macro 0.10.0", + "serde", +] + [[package]] name = "near-vm-errors" version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" dependencies = [ - "borsh", + "borsh 0.8.1", "hex", - "near-rpc-error-macro", + "near-rpc-error-macro 0.1.0", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "near-account-id", + "near-crypto 0.10.0", + "near-primitives 0.10.0", + "near-primitives-core 0.10.0", + "near-vm-errors 0.10.0", + "ripemd160", "serde", + "sha2", + "sha3", ] [[package]] @@ -1745,13 +1966,13 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", - "near-primitives-core", + "near-primitives-core 0.4.0", "near-runtime-utils", - "near-vm-errors", + "near-vm-errors 4.0.0-pre.1", "serde", "sha2", "sha3", @@ -1764,12 +1985,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93a66e94e12ec66a29674cc4efa975c280415aa0c944d7294cedbdb0c3858b48" dependencies = [ "anyhow", - "borsh", + "borsh 0.8.1", "cached", "log", - "near-primitives", - "near-vm-errors", - "near-vm-logic", + "near-primitives 0.1.0-pre.1", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "parity-wasm", "pwasm-utils", "tracing", @@ -1908,23 +2129,37 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "2.0.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c823fdae1bb5ff5708ee61a62697e6296175dc671710876871c853f48592b3" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" dependencies = [ - "arrayvec", + "arrayvec 0.7.2", "bitvec", "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", "serde", ] +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "parity-secp256k1" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" dependencies = [ - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "rand 0.7.3", @@ -2028,6 +2263,17 @@ dependencies = [ "uint", ] +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -2037,6 +2283,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2337,6 +2593,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "rlp" version = "0.5.0" @@ -2663,18 +2930,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.23" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76cc616c6abf8c8928e2fdcc0dbfab37175edd8fb49a4641066ad1364fdab146" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.23" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ "proc-macro2", "quote", diff --git a/examples/callback-results/res/callback_results.wasm b/examples/callback-results/res/callback_results.wasm index ec481f7b77dfc972b1e94c28accc113a6fbbdb25..20a297e880c2364c4a47c11e450ebf999ce938b5 100755 GIT binary patch delta 6393 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 delta 6576 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 B2W0>N diff --git a/examples/cross-contract-high-level/Cargo.lock b/examples/cross-contract-high-level/Cargo.lock index 68dc8ce47..f73ec8143 100644 --- a/examples/cross-contract-high-level/Cargo.lock +++ b/examples/cross-contract-high-level/Cargo.lock @@ -65,6 +65,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "async-mutex" version = "1.4.0" @@ -116,6 +122,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" @@ -192,7 +204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9ff35b701f3914bdb8fad3368d822c766ef2858b2583198e41639b936f09d3f" dependencies = [ "arrayref", - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "constant_time_eq", @@ -222,7 +234,17 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" dependencies = [ - "borsh-derive", + "borsh-derive 0.8.1", + "hashbrown", +] + +[[package]] +name = "borsh" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" +dependencies = [ + "borsh-derive 0.9.1", "hashbrown", ] @@ -232,9 +254,22 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate", + "borsh-derive-internal 0.8.1", + "borsh-schema-derive-internal 0.8.1", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn", +] + +[[package]] +name = "borsh-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" +dependencies = [ + "borsh-derive-internal 0.9.1", + "borsh-schema-derive-internal 0.9.1", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] @@ -250,6 +285,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.8.1" @@ -261,6 +307,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "bs58" version = "0.4.0" @@ -285,6 +342,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +[[package]] +name = "bytesize" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + [[package]] name = "c2-chacha" version = "0.3.0" @@ -934,7 +997,7 @@ dependencies = [ "fixed-hash", "impl-rlp", "impl-serde", - "primitive-types", + "primitive-types 0.9.0", "uint", ] @@ -1236,9 +1299,9 @@ dependencies = [ [[package]] name = "impl-codec" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" dependencies = [ "parity-scale-codec", ] @@ -1261,6 +1324,17 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.6.1" @@ -1497,6 +1571,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh 0.9.1", + "serde", +] + [[package]] name = "near-crypto" version = "0.1.0" @@ -1505,7 +1589,32 @@ checksum = "bb14bec070cfd808438712cda5d54703001b9cf1196c8afaeadc9514e06d00a3" dependencies = [ "arrayref", "blake2", - "borsh", + "borsh 0.8.1", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "parity-secp256k1", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh 0.9.1", "bs58", "c2-chacha", "curve25519-dalek", @@ -1513,7 +1622,9 @@ dependencies = [ "ed25519-dalek", "lazy_static", "libc", + "near-account-id", "parity-secp256k1", + "primitive-types 0.10.1", "rand 0.7.3", "rand_core 0.5.1", "serde", @@ -1539,9 +1650,9 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bde79472f7cfc0675733b65f79f9e50c20bfbb9806298ab2872916869a45dccd" dependencies = [ - "borsh", - "near-crypto", - "near-primitives", + "borsh 0.8.1", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "rand 0.7.3", ] @@ -1551,8 +1662,8 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75ed2263518ca67a3c158c144813832fd96f48ab239494bb9d7793d315f31417" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", "chrono", @@ -1561,12 +1672,43 @@ dependencies = [ "hex", "jemallocator", "lazy_static", - "near-crypto", - "near-primitives-core", - "near-rpc-error-macro", - "near-vm-errors", + "near-crypto 0.1.0", + "near-primitives-core 0.4.0", + "near-rpc-error-macro 0.1.0", + "near-vm-errors 4.0.0-pre.1", + "num-rational", + "primitive-types 0.9.0", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto 0.10.0", + "near-primitives-core 0.10.0", + "near-rpc-error-macro 0.10.0", + "near-vm-errors 0.10.0", "num-rational", - "primitive-types", + "primitive-types 0.10.1", "rand 0.7.3", "reed-solomon-erasure", "regex", @@ -1583,12 +1725,31 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", + "bs58", + "derive_more", + "hex", + "lazy_static", + "num-rational", + "serde", + "serde_json", + "sha2", +] + +[[package]] +name = "near-primitives-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" +dependencies = [ + "base64 0.11.0", + "borsh 0.9.1", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -1608,13 +1769,39 @@ dependencies = [ "syn", ] +[[package]] +name = "near-rpc-error-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn", +] + [[package]] name = "near-rpc-error-macro" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" dependencies = [ - "near-rpc-error-core", + "near-rpc-error-core 0.1.0", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" +dependencies = [ + "near-rpc-error-core 0.10.0", "proc-macro2", "quote", "serde", @@ -1628,19 +1815,19 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e4c0a4cd2ee5ccbc1fd5d492180ebf33ac1159d721b2e0c58c11953131fb449" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "ethereum-types", "hex", "lazy_static", "log", - "near-crypto", + "near-crypto 0.1.0", "near-metrics", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime-utils", "near-store", - "near-vm-errors", - "near-vm-logic", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "near-vm-runner", "num-bigint", "num-rational", @@ -1664,13 +1851,13 @@ dependencies = [ name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.9.1", "bs58", - "near-primitives-core", + "near-primitives-core 0.10.0", "near-sdk-macros", "near-sys", - "near-vm-logic", + "near-vm-logic 0.10.0", "serde", "serde_json", "wee_alloc", @@ -1692,13 +1879,13 @@ version = "4.0.0-pre.4" dependencies = [ "funty", "lazy-static-include", - "near-crypto", + "near-crypto 0.1.0", "near-pool", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime", "near-sdk", "near-store", - "near-vm-logic", + "near-vm-logic 4.0.0-pre.1", ] [[package]] @@ -1707,14 +1894,14 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e880d1d9a4ca5a1ca1ea0366fd80e295465f90cd0c1209f45d6d0b7a443ed4" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "cached", "derive_more", "elastic-array", "lazy_static", - "near-crypto", - "near-primitives", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "num_cpus", "rand 0.7.3", "rocksdb", @@ -1727,16 +1914,50 @@ dependencies = [ name = "near-sys" version = "0.1.0" +[[package]] +name = "near-vm-errors" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" +dependencies = [ + "borsh 0.9.1", + "hex", + "near-account-id", + "near-rpc-error-macro 0.10.0", + "serde", +] + [[package]] name = "near-vm-errors" version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" dependencies = [ - "borsh", + "borsh 0.8.1", "hex", - "near-rpc-error-macro", + "near-rpc-error-macro 0.1.0", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "near-account-id", + "near-crypto 0.10.0", + "near-primitives 0.10.0", + "near-primitives-core 0.10.0", + "near-vm-errors 0.10.0", + "ripemd160", "serde", + "sha2", + "sha3", ] [[package]] @@ -1745,13 +1966,13 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", - "near-primitives-core", + "near-primitives-core 0.4.0", "near-runtime-utils", - "near-vm-errors", + "near-vm-errors 4.0.0-pre.1", "serde", "sha2", "sha3", @@ -1764,12 +1985,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93a66e94e12ec66a29674cc4efa975c280415aa0c944d7294cedbdb0c3858b48" dependencies = [ "anyhow", - "borsh", + "borsh 0.8.1", "cached", "log", - "near-primitives", - "near-vm-errors", - "near-vm-logic", + "near-primitives 0.1.0-pre.1", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "parity-wasm", "pwasm-utils", "tracing", @@ -1908,23 +2129,37 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "2.0.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c823fdae1bb5ff5708ee61a62697e6296175dc671710876871c853f48592b3" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" dependencies = [ - "arrayvec", + "arrayvec 0.7.2", "bitvec", "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", "serde", ] +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "parity-secp256k1" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" dependencies = [ - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "rand 0.7.3", @@ -2028,6 +2263,17 @@ dependencies = [ "uint", ] +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -2037,6 +2283,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2337,6 +2593,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "rlp" version = "0.5.0" @@ -2663,18 +2930,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.23" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76cc616c6abf8c8928e2fdcc0dbfab37175edd8fb49a4641066ad1364fdab146" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.23" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ "proc-macro2", "quote", diff --git a/examples/cross-contract-high-level/res/cross_contract_high_level.wasm b/examples/cross-contract-high-level/res/cross_contract_high_level.wasm index de9de760b54f1869037456c66a463b2e2d785add..5df77c5a128fc23a639a25533d8b73cfba30df61 100755 GIT binary patch delta 47172 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 delta 46830 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

VW?jO}j2hc3g?MX+CgJxC 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 J>Fe}9{U4|@@azBp diff --git a/examples/cross-contract-low-level/Cargo.lock b/examples/cross-contract-low-level/Cargo.lock index 9561372da..4754ec448 100644 --- a/examples/cross-contract-low-level/Cargo.lock +++ b/examples/cross-contract-low-level/Cargo.lock @@ -65,6 +65,12 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8" +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "async-mutex" version = "1.4.0" @@ -116,6 +122,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" @@ -192,7 +204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9ff35b701f3914bdb8fad3368d822c766ef2858b2583198e41639b936f09d3f" dependencies = [ "arrayref", - "arrayvec", + "arrayvec 0.5.1", "cc", "cfg-if 0.1.10", "constant_time_eq", @@ -236,7 +248,17 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" dependencies = [ - "borsh-derive", + "borsh-derive 0.8.1", + "hashbrown 0.9.1", +] + +[[package]] +name = "borsh" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" +dependencies = [ + "borsh-derive 0.9.1", "hashbrown 0.9.1", ] @@ -246,9 +268,22 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate", + "borsh-derive-internal 0.8.1", + "borsh-schema-derive-internal 0.8.1", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn", +] + +[[package]] +name = "borsh-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" +dependencies = [ + "borsh-derive-internal 0.9.1", + "borsh-schema-derive-internal 0.9.1", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] @@ -264,6 +299,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.8.1" @@ -275,6 +321,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "bs58" version = "0.4.0" @@ -305,6 +362,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +[[package]] +name = "bytesize" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + [[package]] name = "c2-chacha" version = "0.3.0" @@ -954,7 +1017,7 @@ dependencies = [ "fixed-hash", "impl-rlp", "impl-serde", - "primitive-types", + "primitive-types 0.9.0", "uint", ] @@ -1255,9 +1318,9 @@ dependencies = [ [[package]] name = "impl-codec" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" dependencies = [ "parity-scale-codec", ] @@ -1280,6 +1343,17 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.5.1" @@ -1516,6 +1590,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh 0.9.1", + "serde", +] + [[package]] name = "near-crypto" version = "0.1.0" @@ -1524,7 +1608,32 @@ checksum = "bb14bec070cfd808438712cda5d54703001b9cf1196c8afaeadc9514e06d00a3" dependencies = [ "arrayref", "blake2", - "borsh", + "borsh 0.8.1", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "parity-secp256k1", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh 0.9.1", "bs58", "c2-chacha", "curve25519-dalek", @@ -1532,7 +1641,9 @@ dependencies = [ "ed25519-dalek", "lazy_static", "libc", + "near-account-id", "parity-secp256k1", + "primitive-types 0.10.1", "rand 0.7.3", "rand_core 0.5.1", "serde", @@ -1558,9 +1669,9 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bde79472f7cfc0675733b65f79f9e50c20bfbb9806298ab2872916869a45dccd" dependencies = [ - "borsh", - "near-crypto", - "near-primitives", + "borsh 0.8.1", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "rand 0.7.3", ] @@ -1570,8 +1681,8 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75ed2263518ca67a3c158c144813832fd96f48ab239494bb9d7793d315f31417" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", "chrono", @@ -1580,12 +1691,43 @@ dependencies = [ "hex", "jemallocator", "lazy_static", - "near-crypto", - "near-primitives-core", - "near-rpc-error-macro", - "near-vm-errors", + "near-crypto 0.1.0", + "near-primitives-core 0.4.0", + "near-rpc-error-macro 0.1.0", + "near-vm-errors 4.0.0-pre.1", + "num-rational", + "primitive-types 0.9.0", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto 0.10.0", + "near-primitives-core 0.10.0", + "near-rpc-error-macro 0.10.0", + "near-vm-errors 0.10.0", "num-rational", - "primitive-types", + "primitive-types 0.10.1", "rand 0.7.3", "reed-solomon-erasure", "regex", @@ -1602,12 +1744,31 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", + "bs58", + "derive_more", + "hex", + "lazy_static", + "num-rational", + "serde", + "serde_json", + "sha2", +] + +[[package]] +name = "near-primitives-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" +dependencies = [ + "base64 0.11.0", + "borsh 0.9.1", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -1627,13 +1788,39 @@ dependencies = [ "syn", ] +[[package]] +name = "near-rpc-error-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn", +] + [[package]] name = "near-rpc-error-macro" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" dependencies = [ - "near-rpc-error-core", + "near-rpc-error-core 0.1.0", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" +dependencies = [ + "near-rpc-error-core 0.10.0", "proc-macro2", "quote", "serde", @@ -1647,19 +1834,19 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e4c0a4cd2ee5ccbc1fd5d492180ebf33ac1159d721b2e0c58c11953131fb449" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "ethereum-types", "hex", "lazy_static", "log", - "near-crypto", + "near-crypto 0.1.0", "near-metrics", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime-utils", "near-store", - "near-vm-errors", - "near-vm-logic", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "near-vm-runner", "num-bigint", "num-rational", @@ -1683,13 +1870,13 @@ dependencies = [ name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.9.1", "bs58", - "near-primitives-core", + "near-primitives-core 0.10.0", "near-sdk-macros", "near-sys", - "near-vm-logic", + "near-vm-logic 0.10.0", "serde", "serde_json", "wee_alloc", @@ -1711,13 +1898,13 @@ version = "4.0.0-pre.4" dependencies = [ "funty", "lazy-static-include", - "near-crypto", + "near-crypto 0.1.0", "near-pool", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime", "near-sdk", "near-store", - "near-vm-logic", + "near-vm-logic 4.0.0-pre.1", ] [[package]] @@ -1726,14 +1913,14 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e880d1d9a4ca5a1ca1ea0366fd80e295465f90cd0c1209f45d6d0b7a443ed4" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "cached", "derive_more", "elastic-array", "lazy_static", - "near-crypto", - "near-primitives", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "num_cpus", "rand 0.7.3", "rocksdb", @@ -1746,16 +1933,50 @@ dependencies = [ name = "near-sys" version = "0.1.0" +[[package]] +name = "near-vm-errors" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" +dependencies = [ + "borsh 0.9.1", + "hex", + "near-account-id", + "near-rpc-error-macro 0.10.0", + "serde", +] + [[package]] name = "near-vm-errors" version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" dependencies = [ - "borsh", + "borsh 0.8.1", "hex", - "near-rpc-error-macro", + "near-rpc-error-macro 0.1.0", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "near-account-id", + "near-crypto 0.10.0", + "near-primitives 0.10.0", + "near-primitives-core 0.10.0", + "near-vm-errors 0.10.0", + "ripemd160", "serde", + "sha2", + "sha3", ] [[package]] @@ -1764,13 +1985,13 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", - "near-primitives-core", + "near-primitives-core 0.4.0", "near-runtime-utils", - "near-vm-errors", + "near-vm-errors 4.0.0-pre.1", "serde", "sha2", "sha3", @@ -1783,12 +2004,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93a66e94e12ec66a29674cc4efa975c280415aa0c944d7294cedbdb0c3858b48" dependencies = [ "anyhow", - "borsh", + "borsh 0.8.1", "cached", "log", - "near-primitives", - "near-vm-errors", - "near-vm-logic", + "near-primitives 0.1.0-pre.1", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "parity-wasm", "pwasm-utils", "tracing", @@ -1933,23 +2154,37 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "2.0.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c823fdae1bb5ff5708ee61a62697e6296175dc671710876871c853f48592b3" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" dependencies = [ - "arrayvec", + "arrayvec 0.7.2", "bitvec", "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", "serde", ] +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "parity-secp256k1" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" dependencies = [ - "arrayvec", + "arrayvec 0.5.1", "cc", "cfg-if 0.1.10", "rand 0.7.3", @@ -2053,6 +2288,17 @@ dependencies = [ "uint", ] +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -2062,6 +2308,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2362,6 +2618,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + [[package]] name = "rlp" version = "0.5.0" @@ -2689,18 +2956,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.21" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "318234ffa22e0920fe9a40d7b8369b5f649d490980cf7aadcf1eb91594869b42" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.21" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cae2447b6282786c3493999f40a9be2a6ad20cb8bd268b0a0dbf5a065535c0ab" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ "proc-macro2", "quote", diff --git a/examples/cross-contract-low-level/res/cross_contract_low_level.wasm b/examples/cross-contract-low-level/res/cross_contract_low_level.wasm index d200f0afcb11641d175a1a368c658bfe54902e63..ea7f1e088831cf02aa2961a0cbe80ecfeba9bc38 100755 GIT binary patch delta 40552 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 UlFTzwt!&dM&`-q5OyfiPA3cjd>;M1& delta 41083 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 diff --git a/examples/fungible-token/Cargo.lock b/examples/fungible-token/Cargo.lock index fb538111c..84ef9d03d 100644 --- a/examples/fungible-token/Cargo.lock +++ b/examples/fungible-token/Cargo.lock @@ -65,6 +65,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "async-mutex" version = "1.4.0" @@ -116,6 +122,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" @@ -192,7 +204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9ff35b701f3914bdb8fad3368d822c766ef2858b2583198e41639b936f09d3f" dependencies = [ "arrayref", - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "constant_time_eq", @@ -222,7 +234,17 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" dependencies = [ - "borsh-derive", + "borsh-derive 0.8.1", + "hashbrown", +] + +[[package]] +name = "borsh" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" +dependencies = [ + "borsh-derive 0.9.1", "hashbrown", ] @@ -232,9 +254,22 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate", + "borsh-derive-internal 0.8.1", + "borsh-schema-derive-internal 0.8.1", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn", +] + +[[package]] +name = "borsh-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" +dependencies = [ + "borsh-derive-internal 0.9.1", + "borsh-schema-derive-internal 0.9.1", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] @@ -250,6 +285,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.8.1" @@ -261,6 +307,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "bs58" version = "0.4.0" @@ -285,6 +342,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +[[package]] +name = "bytesize" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + [[package]] name = "c2-chacha" version = "0.3.0" @@ -934,7 +997,7 @@ dependencies = [ "fixed-hash", "impl-rlp", "impl-serde", - "primitive-types", + "primitive-types 0.9.0", "uint", ] @@ -1251,9 +1314,9 @@ dependencies = [ [[package]] name = "impl-codec" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" dependencies = [ "parity-scale-codec", ] @@ -1276,6 +1339,17 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.6.1" @@ -1512,6 +1586,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh 0.9.1", + "serde", +] + [[package]] name = "near-contract-standards" version = "4.0.0-pre.4" @@ -1527,7 +1611,32 @@ checksum = "bb14bec070cfd808438712cda5d54703001b9cf1196c8afaeadc9514e06d00a3" dependencies = [ "arrayref", "blake2", - "borsh", + "borsh 0.8.1", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "parity-secp256k1", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh 0.9.1", "bs58", "c2-chacha", "curve25519-dalek", @@ -1535,7 +1644,9 @@ dependencies = [ "ed25519-dalek", "lazy_static", "libc", + "near-account-id", "parity-secp256k1", + "primitive-types 0.10.1", "rand 0.7.3", "rand_core 0.5.1", "serde", @@ -1561,9 +1672,9 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bde79472f7cfc0675733b65f79f9e50c20bfbb9806298ab2872916869a45dccd" dependencies = [ - "borsh", - "near-crypto", - "near-primitives", + "borsh 0.8.1", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "rand 0.7.3", ] @@ -1573,8 +1684,8 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75ed2263518ca67a3c158c144813832fd96f48ab239494bb9d7793d315f31417" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", "chrono", @@ -1583,12 +1694,43 @@ dependencies = [ "hex", "jemallocator", "lazy_static", - "near-crypto", - "near-primitives-core", - "near-rpc-error-macro", - "near-vm-errors", + "near-crypto 0.1.0", + "near-primitives-core 0.4.0", + "near-rpc-error-macro 0.1.0", + "near-vm-errors 4.0.0-pre.1", + "num-rational", + "primitive-types 0.9.0", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto 0.10.0", + "near-primitives-core 0.10.0", + "near-rpc-error-macro 0.10.0", + "near-vm-errors 0.10.0", "num-rational", - "primitive-types", + "primitive-types 0.10.1", "rand 0.7.3", "reed-solomon-erasure", "regex", @@ -1605,12 +1747,31 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", + "bs58", + "derive_more", + "hex", + "lazy_static", + "num-rational", + "serde", + "serde_json", + "sha2", +] + +[[package]] +name = "near-primitives-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" +dependencies = [ + "base64 0.11.0", + "borsh 0.9.1", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -1630,13 +1791,39 @@ dependencies = [ "syn", ] +[[package]] +name = "near-rpc-error-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn", +] + [[package]] name = "near-rpc-error-macro" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" dependencies = [ - "near-rpc-error-core", + "near-rpc-error-core 0.1.0", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" +dependencies = [ + "near-rpc-error-core 0.10.0", "proc-macro2", "quote", "serde", @@ -1650,19 +1837,19 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e4c0a4cd2ee5ccbc1fd5d492180ebf33ac1159d721b2e0c58c11953131fb449" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "ethereum-types", "hex", "lazy_static", "log", - "near-crypto", + "near-crypto 0.1.0", "near-metrics", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime-utils", "near-store", - "near-vm-errors", - "near-vm-logic", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "near-vm-runner", "num-bigint", "num-rational", @@ -1686,13 +1873,13 @@ dependencies = [ name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.9.1", "bs58", - "near-primitives-core", + "near-primitives-core 0.10.0", "near-sdk-macros", "near-sys", - "near-vm-logic", + "near-vm-logic 0.10.0", "serde", "serde_json", "wee_alloc", @@ -1714,13 +1901,13 @@ version = "4.0.0-pre.4" dependencies = [ "funty", "lazy-static-include", - "near-crypto", + "near-crypto 0.1.0", "near-pool", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime", "near-sdk", "near-store", - "near-vm-logic", + "near-vm-logic 4.0.0-pre.1", ] [[package]] @@ -1729,14 +1916,14 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e880d1d9a4ca5a1ca1ea0366fd80e295465f90cd0c1209f45d6d0b7a443ed4" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "cached", "derive_more", "elastic-array", "lazy_static", - "near-crypto", - "near-primitives", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "num_cpus", "rand 0.7.3", "rocksdb", @@ -1749,16 +1936,50 @@ dependencies = [ name = "near-sys" version = "0.1.0" +[[package]] +name = "near-vm-errors" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" +dependencies = [ + "borsh 0.9.1", + "hex", + "near-account-id", + "near-rpc-error-macro 0.10.0", + "serde", +] + [[package]] name = "near-vm-errors" version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" dependencies = [ - "borsh", + "borsh 0.8.1", "hex", - "near-rpc-error-macro", + "near-rpc-error-macro 0.1.0", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "near-account-id", + "near-crypto 0.10.0", + "near-primitives 0.10.0", + "near-primitives-core 0.10.0", + "near-vm-errors 0.10.0", + "ripemd160", "serde", + "sha2", + "sha3", ] [[package]] @@ -1767,13 +1988,13 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", - "near-primitives-core", + "near-primitives-core 0.4.0", "near-runtime-utils", - "near-vm-errors", + "near-vm-errors 4.0.0-pre.1", "serde", "sha2", "sha3", @@ -1786,12 +2007,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93a66e94e12ec66a29674cc4efa975c280415aa0c944d7294cedbdb0c3858b48" dependencies = [ "anyhow", - "borsh", + "borsh 0.8.1", "cached", "log", - "near-primitives", - "near-vm-errors", - "near-vm-logic", + "near-primitives 0.1.0-pre.1", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "parity-wasm", "pwasm-utils", "tracing", @@ -1930,23 +2151,37 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "2.0.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd3dab59b5cf4bc81069ade0fc470341a1ef3ad5fa73e5a8943bed2ec12b2e8" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" dependencies = [ - "arrayvec", + "arrayvec 0.7.2", "bitvec", "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", "serde", ] +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "parity-secp256k1" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" dependencies = [ - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "rand 0.7.3", @@ -2050,6 +2285,17 @@ dependencies = [ "uint", ] +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -2059,6 +2305,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2359,6 +2615,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "rlp" version = "0.5.0" diff --git a/examples/fungible-token/res/defi.wasm b/examples/fungible-token/res/defi.wasm index 34279d15386da3fb2b645f783e3d5fcef510fecc..40b7ded5cf11c6cc20490cb2ec1c627e0f76055b 100755 GIT binary patch delta 20925 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 delta 20299 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 I4*U%N2cPS^BLDyZ diff --git a/examples/fungible-token/res/fungible_token.wasm b/examples/fungible-token/res/fungible_token.wasm index 823a399972af9dd091bccfa6d9722024685d275a..197796ca24c1277141088032bb2939229ffac269 100755 GIT binary patch delta 54288 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

v(&En0!c0}>4 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 TG!3hydg4~o#V-bLc02zM>WT1z delta 24646 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 diff --git a/examples/lockable-fungible-token/Cargo.lock b/examples/lockable-fungible-token/Cargo.lock index d98ae86b9..ca8a0361a 100644 --- a/examples/lockable-fungible-token/Cargo.lock +++ b/examples/lockable-fungible-token/Cargo.lock @@ -23,18 +23,65 @@ dependencies = [ "memchr", ] +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "autocfg" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" +dependencies = [ + "crypto-mac", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + [[package]] name = "block-buffer" version = "0.7.3" @@ -67,9 +114,9 @@ dependencies = [ [[package]] name = "borsh" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" dependencies = [ "borsh-derive", "hashbrown 0.9.1", @@ -77,22 +124,22 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", - "proc-macro-crate", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] [[package]] name = "borsh-derive-internal" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d813fa25eb0bed78c36492cff4415f38c760d6de833d255ba9095bd8ebb7d725" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" dependencies = [ "proc-macro2", "quote", @@ -101,9 +148,9 @@ dependencies = [ [[package]] name = "borsh-schema-derive-internal" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf78ee4a98c8cb9eba1bac3d3e2a1ea3d7673c719ce691e67b5cbafc472d3b7" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" dependencies = [ "proc-macro2", "quote", @@ -116,6 +163,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +[[package]] +name = "byte-slice-cast" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698" + [[package]] name = "byte-tools" version = "0.3.1" @@ -124,9 +177,31 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byteorder" -version = "1.3.4" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytesize" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher", + "ppv-lite86", +] + +[[package]] +name = "cc" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -140,12 +215,64 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "serde", + "time", + "winapi", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.4", +] + [[package]] name = "cpuid-bool" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.4", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + [[package]] name = "derive_more" version = "0.99.11" @@ -175,6 +302,63 @@ dependencies = [ "generic-array 0.14.4", ] +[[package]] +name = "easy-ext" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" + +[[package]] +name = "ed25519" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand 0.7.3", + "serde", + "sha2", + "zeroize", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.4", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + [[package]] name = "generic-array" version = "0.12.3" @@ -194,6 +378,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.2+wasi-snapshot-preview1", +] + [[package]] name = "hashbrown" version = "0.8.2" @@ -218,6 +424,37 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.5.1" @@ -259,6 +496,12 @@ dependencies = [ "near-sdk", ] +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + [[package]] name = "memchr" version = "2.3.4" @@ -271,18 +514,87 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh", + "serde", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "near-account-id", + "parity-secp256k1", + "primitive-types", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto", + "near-primitives-core", + "near-rpc-error-macro", + "near-vm-errors", + "num-rational", + "primitive-types", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + [[package]] name = "near-primitives-core" -version = "0.4.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" dependencies = [ - "base64", + "base64 0.11.0", "borsh", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -291,22 +603,21 @@ dependencies = [ [[package]] name = "near-rpc-error-core" -version = "0.1.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffa8dbf8437a28ac40fcb85859ab0d0b8385013935b000c7a51ae79631dd74d9" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" dependencies = [ "proc-macro2", "quote", "serde", - "serde_json", "syn", ] [[package]] name = "near-rpc-error-macro" -version = "0.1.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" dependencies = [ "near-rpc-error-core", "proc-macro2", @@ -316,21 +627,11 @@ dependencies = [ "syn", ] -[[package]] -name = "near-runtime-utils" -version = "4.0.0-pre.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a48d80c4ca1d4cf99bc16490e1e3d49826c150dfc4410ac498918e45c7d98e07" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", + "base64 0.13.0", "borsh", "bs58", "near-primitives-core", @@ -358,29 +659,33 @@ version = "0.1.0" [[package]] name = "near-vm-errors" -version = "4.0.0-pre.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" dependencies = [ "borsh", "hex", + "near-account-id", "near-rpc-error-macro", "serde", ] [[package]] name = "near-vm-logic" -version = "4.0.0-pre.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" dependencies = [ - "base64", + "base64 0.13.0", "borsh", "bs58", "byteorder", + "near-account-id", + "near-crypto", + "near-primitives", "near-primitives-core", - "near-runtime-utils", "near-vm-errors", + "ripemd160", "serde", "sha2", "sha3", @@ -447,6 +752,67 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.2", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-secp256k1" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" +dependencies = [ + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "rand 0.7.3", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "ppv-lite86" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -456,6 +822,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro2" version = "1.0.24" @@ -474,6 +850,92 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.3", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "reed-solomon-erasure" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a415a013dd7c5d4221382329a5a3482566da675737494935cbbbcdec04662f9d" +dependencies = [ + "smallvec", +] + [[package]] name = "regex" version = "1.4.3" @@ -492,6 +954,23 @@ version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581" +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + [[package]] name = "ryu" version = "1.0.5" @@ -556,6 +1035,41 @@ dependencies = [ "opaque-debug 0.2.3", ] +[[package]] +name = "signature" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" + +[[package]] +name = "smallvec" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" + +[[package]] +name = "smart-default" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + [[package]] name = "syn" version = "1.0.57" @@ -567,6 +1081,44 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "thread_local" version = "1.1.3" @@ -576,6 +1128,31 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + [[package]] name = "toml" version = "0.5.8" @@ -591,18 +1168,91 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" +[[package]] +name = "uint" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-xid" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "validator" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d6937c33ec6039d8071bcf72933146b5bbe378d645d8fa59bdadabfc2a249" +dependencies = [ + "idna", + "lazy_static", + "regex", + "serde", + "serde_derive", + "serde_json", + "url", + "validator_types", +] + +[[package]] +name = "validator_types" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9680608df133af2c1ddd5eaf1ddce91d60d61b6bc51494ef326458365a470a" + [[package]] name = "version_check" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + [[package]] name = "wee_alloc" version = "0.4.5" @@ -636,3 +1286,30 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "zeroize" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] diff --git a/examples/lockable-fungible-token/res/lockable_fungible_token.wasm b/examples/lockable-fungible-token/res/lockable_fungible_token.wasm index 767fc3dbee82579c8ac60f2518df934fe4c4386f..2ecc924704ec7a4ffc63ec37451ad30119a27803 100755 GIT binary patch delta 22610 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 V%dv6VpT-Rx3{N%^xM2)}{{z4Wc2fWV delta 22383 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 G@IL^=GnbVB diff --git a/examples/lockable-fungible-token/src/lib.rs b/examples/lockable-fungible-token/src/lib.rs index f0633e975..508889382 100644 --- a/examples/lockable-fungible-token/src/lib.rs +++ b/examples/lockable-fungible-token/src/lib.rs @@ -250,29 +250,13 @@ impl FunToken { #[cfg(test)] mod tests { use near_sdk::test_utils::test_env::{alice, bob, carol}; + use near_sdk::test_utils::VMContextBuilder; use near_sdk::{testing_env, VMContext}; use super::*; fn get_context(predecessor_account_id: AccountId) -> VMContext { - VMContext { - current_account_id: alice().into(), - signer_account_id: bob().into(), - signer_account_pk: vec![0, 1, 2], - predecessor_account_id: predecessor_account_id.into(), - input: vec![], - block_index: 0, - block_timestamp: 0, - account_balance: 0, - account_locked_balance: 0, - storage_usage: 10u64.pow(6), - attached_deposit: 0, - prepaid_gas: 10u64.pow(18), - random_seed: vec![0, 1, 2], - is_view: false, - output_data_receivers: vec![], - epoch_height: 0, - } + VMContextBuilder::new().predecessor_account_id(predecessor_account_id).build() } #[test] diff --git a/examples/mission-control/Cargo.lock b/examples/mission-control/Cargo.lock index 709f6b5ff..a9e62a8f4 100644 --- a/examples/mission-control/Cargo.lock +++ b/examples/mission-control/Cargo.lock @@ -23,18 +23,65 @@ dependencies = [ "memchr", ] +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "autocfg" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" +dependencies = [ + "crypto-mac", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + [[package]] name = "block-buffer" version = "0.7.3" @@ -67,9 +114,9 @@ dependencies = [ [[package]] name = "borsh" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" dependencies = [ "borsh-derive", "hashbrown 0.9.1", @@ -77,22 +124,22 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", - "proc-macro-crate", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] [[package]] name = "borsh-derive-internal" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d813fa25eb0bed78c36492cff4415f38c760d6de833d255ba9095bd8ebb7d725" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" dependencies = [ "proc-macro2", "quote", @@ -101,9 +148,9 @@ dependencies = [ [[package]] name = "borsh-schema-derive-internal" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf78ee4a98c8cb9eba1bac3d3e2a1ea3d7673c719ce691e67b5cbafc472d3b7" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" dependencies = [ "proc-macro2", "quote", @@ -116,6 +163,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +[[package]] +name = "byte-slice-cast" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698" + [[package]] name = "byte-tools" version = "0.3.1" @@ -124,9 +177,31 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byteorder" -version = "1.3.4" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytesize" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher", + "ppv-lite86", +] + +[[package]] +name = "cc" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -140,12 +215,64 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "serde", + "time", + "winapi", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.4", +] + [[package]] name = "cpuid-bool" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.4", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + [[package]] name = "derive_more" version = "0.99.11" @@ -175,6 +302,63 @@ dependencies = [ "generic-array 0.14.4", ] +[[package]] +name = "easy-ext" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" + +[[package]] +name = "ed25519" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand 0.7.3", + "serde", + "sha2", + "zeroize", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.4", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + [[package]] name = "generic-array" version = "0.12.3" @@ -194,6 +378,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.2+wasi-snapshot-preview1", +] + [[package]] name = "hashbrown" version = "0.8.2" @@ -218,6 +424,37 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.5.1" @@ -252,6 +489,12 @@ version = "0.2.76" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3" +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + [[package]] name = "memchr" version = "2.3.4" @@ -271,18 +514,87 @@ dependencies = [ "near-sdk", ] +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh", + "serde", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "near-account-id", + "parity-secp256k1", + "primitive-types", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto", + "near-primitives-core", + "near-rpc-error-macro", + "near-vm-errors", + "num-rational", + "primitive-types", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + [[package]] name = "near-primitives-core" -version = "0.4.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" dependencies = [ - "base64", + "base64 0.11.0", "borsh", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -291,22 +603,21 @@ dependencies = [ [[package]] name = "near-rpc-error-core" -version = "0.1.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffa8dbf8437a28ac40fcb85859ab0d0b8385013935b000c7a51ae79631dd74d9" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" dependencies = [ "proc-macro2", "quote", "serde", - "serde_json", "syn", ] [[package]] name = "near-rpc-error-macro" -version = "0.1.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" dependencies = [ "near-rpc-error-core", "proc-macro2", @@ -316,21 +627,11 @@ dependencies = [ "syn", ] -[[package]] -name = "near-runtime-utils" -version = "4.0.0-pre.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a48d80c4ca1d4cf99bc16490e1e3d49826c150dfc4410ac498918e45c7d98e07" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", + "base64 0.13.0", "borsh", "bs58", "near-primitives-core", @@ -358,29 +659,33 @@ version = "0.1.0" [[package]] name = "near-vm-errors" -version = "4.0.0-pre.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" dependencies = [ "borsh", "hex", + "near-account-id", "near-rpc-error-macro", "serde", ] [[package]] name = "near-vm-logic" -version = "4.0.0-pre.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" dependencies = [ - "base64", + "base64 0.13.0", "borsh", "bs58", "byteorder", + "near-account-id", + "near-crypto", + "near-primitives", "near-primitives-core", - "near-runtime-utils", "near-vm-errors", + "ripemd160", "serde", "sha2", "sha3", @@ -447,6 +752,67 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.2", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-secp256k1" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" +dependencies = [ + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "rand 0.7.3", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "ppv-lite86" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -456,6 +822,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro2" version = "1.0.24" @@ -474,6 +850,92 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.3", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "reed-solomon-erasure" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a415a013dd7c5d4221382329a5a3482566da675737494935cbbbcdec04662f9d" +dependencies = [ + "smallvec", +] + [[package]] name = "regex" version = "1.4.3" @@ -492,6 +954,23 @@ version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581" +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + [[package]] name = "ryu" version = "1.0.5" @@ -556,6 +1035,41 @@ dependencies = [ "opaque-debug 0.2.3", ] +[[package]] +name = "signature" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" + +[[package]] +name = "smallvec" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" + +[[package]] +name = "smart-default" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + [[package]] name = "syn" version = "1.0.57" @@ -567,6 +1081,44 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "thread_local" version = "1.1.3" @@ -576,6 +1128,31 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + [[package]] name = "toml" version = "0.5.8" @@ -591,18 +1168,91 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" +[[package]] +name = "uint" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-xid" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "validator" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d6937c33ec6039d8071bcf72933146b5bbe378d645d8fa59bdadabfc2a249" +dependencies = [ + "idna", + "lazy_static", + "regex", + "serde", + "serde_derive", + "serde_json", + "url", + "validator_types", +] + +[[package]] +name = "validator_types" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9680608df133af2c1ddd5eaf1ddce91d60d61b6bc51494ef326458365a470a" + [[package]] name = "version_check" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + [[package]] name = "wee_alloc" version = "0.4.5" @@ -636,3 +1286,30 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "zeroize" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] diff --git a/examples/mission-control/res/mission_control.wasm b/examples/mission-control/res/mission_control.wasm index a5eca0c52fad8571b0a7c02cdaf751d118265397..5fe1403b3c3cf09ee2ba36d3cf2eb05368937f7e 100755 GIT binary patch delta 29791 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

    pPpg)YD0BE6N^qmi+s%Tdlqd$IPobUS-Si~- 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 diff --git a/examples/non-fungible-token/Cargo.lock b/examples/non-fungible-token/Cargo.lock index b3cbae1e9..8859b895f 100644 --- a/examples/non-fungible-token/Cargo.lock +++ b/examples/non-fungible-token/Cargo.lock @@ -73,6 +73,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "async-mutex" version = "1.4.0" @@ -124,6 +130,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" @@ -200,7 +212,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9ff35b701f3914bdb8fad3368d822c766ef2858b2583198e41639b936f09d3f" dependencies = [ "arrayref", - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "constant_time_eq", @@ -230,7 +242,17 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" dependencies = [ - "borsh-derive", + "borsh-derive 0.8.1", + "hashbrown", +] + +[[package]] +name = "borsh" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" +dependencies = [ + "borsh-derive 0.9.1", "hashbrown", ] @@ -240,9 +262,22 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "proc-macro-crate", + "borsh-derive-internal 0.8.1", + "borsh-schema-derive-internal 0.8.1", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn", +] + +[[package]] +name = "borsh-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" +dependencies = [ + "borsh-derive-internal 0.9.1", + "borsh-schema-derive-internal 0.9.1", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] @@ -258,6 +293,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.8.1" @@ -269,6 +315,17 @@ dependencies = [ "syn", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "bs58" version = "0.4.0" @@ -293,6 +350,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +[[package]] +name = "bytesize" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + [[package]] name = "c2-chacha" version = "0.3.0" @@ -934,7 +997,7 @@ dependencies = [ "fixed-hash", "impl-rlp", "impl-serde", - "primitive-types", + "primitive-types 0.9.0", "uint", ] @@ -1233,9 +1296,9 @@ dependencies = [ [[package]] name = "impl-codec" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df170efa359aebdd5cb7fe78edcc67107748e4737bdca8a8fb40d15ea7a877ed" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" dependencies = [ "parity-scale-codec", ] @@ -1258,6 +1321,17 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.6.1" @@ -1494,6 +1568,16 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238" +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh 0.9.1", + "serde", +] + [[package]] name = "near-contract-standards" version = "4.0.0-pre.4" @@ -1509,7 +1593,32 @@ checksum = "bb14bec070cfd808438712cda5d54703001b9cf1196c8afaeadc9514e06d00a3" dependencies = [ "arrayref", "blake2", - "borsh", + "borsh 0.8.1", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "parity-secp256k1", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh 0.9.1", "bs58", "c2-chacha", "curve25519-dalek", @@ -1517,7 +1626,9 @@ dependencies = [ "ed25519-dalek", "lazy_static", "libc", + "near-account-id", "parity-secp256k1", + "primitive-types 0.10.1", "rand 0.7.3", "rand_core 0.5.1", "serde", @@ -1543,9 +1654,9 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bde79472f7cfc0675733b65f79f9e50c20bfbb9806298ab2872916869a45dccd" dependencies = [ - "borsh", - "near-crypto", - "near-primitives", + "borsh 0.8.1", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "rand 0.7.3", ] @@ -1555,8 +1666,8 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75ed2263518ca67a3c158c144813832fd96f48ab239494bb9d7793d315f31417" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", "chrono", @@ -1565,12 +1676,43 @@ dependencies = [ "hex", "jemallocator", "lazy_static", - "near-crypto", - "near-primitives-core", - "near-rpc-error-macro", - "near-vm-errors", + "near-crypto 0.1.0", + "near-primitives-core 0.4.0", + "near-rpc-error-macro 0.1.0", + "near-vm-errors 4.0.0-pre.1", + "num-rational", + "primitive-types 0.9.0", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto 0.10.0", + "near-primitives-core 0.10.0", + "near-rpc-error-macro 0.10.0", + "near-vm-errors 0.10.0", "num-rational", - "primitive-types", + "primitive-types 0.10.1", "rand 0.7.3", "reed-solomon-erasure", "regex", @@ -1587,12 +1729,31 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", + "bs58", + "derive_more", + "hex", + "lazy_static", + "num-rational", + "serde", + "serde_json", + "sha2", +] + +[[package]] +name = "near-primitives-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" +dependencies = [ + "base64 0.11.0", + "borsh 0.9.1", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -1612,13 +1773,39 @@ dependencies = [ "syn", ] +[[package]] +name = "near-rpc-error-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn", +] + [[package]] name = "near-rpc-error-macro" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" dependencies = [ - "near-rpc-error-core", + "near-rpc-error-core 0.1.0", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" +dependencies = [ + "near-rpc-error-core 0.10.0", "proc-macro2", "quote", "serde", @@ -1632,19 +1819,19 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e4c0a4cd2ee5ccbc1fd5d492180ebf33ac1159d721b2e0c58c11953131fb449" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "ethereum-types", "hex", "lazy_static", "log", - "near-crypto", + "near-crypto 0.1.0", "near-metrics", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime-utils", "near-store", - "near-vm-errors", - "near-vm-logic", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "near-vm-runner", "num-bigint", "num-rational", @@ -1668,13 +1855,13 @@ dependencies = [ name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.9.1", "bs58", - "near-primitives-core", + "near-primitives-core 0.10.0", "near-sdk-macros", "near-sys", - "near-vm-logic", + "near-vm-logic 0.10.0", "serde", "serde_json", "wee_alloc", @@ -1696,13 +1883,13 @@ version = "4.0.0-pre.4" dependencies = [ "funty", "lazy-static-include", - "near-crypto", + "near-crypto 0.1.0", "near-pool", - "near-primitives", + "near-primitives 0.1.0-pre.1", "near-runtime", "near-sdk", "near-store", - "near-vm-logic", + "near-vm-logic 4.0.0-pre.1", ] [[package]] @@ -1711,14 +1898,14 @@ version = "0.1.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e880d1d9a4ca5a1ca1ea0366fd80e295465f90cd0c1209f45d6d0b7a443ed4" dependencies = [ - "borsh", + "borsh 0.8.1", "byteorder", "cached", "derive_more", "elastic-array", "lazy_static", - "near-crypto", - "near-primitives", + "near-crypto 0.1.0", + "near-primitives 0.1.0-pre.1", "num_cpus", "rand 0.7.3", "rocksdb", @@ -1731,16 +1918,50 @@ dependencies = [ name = "near-sys" version = "0.1.0" +[[package]] +name = "near-vm-errors" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" +dependencies = [ + "borsh 0.9.1", + "hex", + "near-account-id", + "near-rpc-error-macro 0.10.0", + "serde", +] + [[package]] name = "near-vm-errors" version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" dependencies = [ - "borsh", + "borsh 0.8.1", "hex", - "near-rpc-error-macro", + "near-rpc-error-macro 0.1.0", + "serde", +] + +[[package]] +name = "near-vm-logic" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" +dependencies = [ + "base64 0.13.0", + "borsh 0.9.1", + "bs58", + "byteorder", + "near-account-id", + "near-crypto 0.10.0", + "near-primitives 0.10.0", + "near-primitives-core 0.10.0", + "near-vm-errors 0.10.0", + "ripemd160", "serde", + "sha2", + "sha3", ] [[package]] @@ -1749,13 +1970,13 @@ version = "4.0.0-pre.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" dependencies = [ - "base64", - "borsh", + "base64 0.13.0", + "borsh 0.8.1", "bs58", "byteorder", - "near-primitives-core", + "near-primitives-core 0.4.0", "near-runtime-utils", - "near-vm-errors", + "near-vm-errors 4.0.0-pre.1", "serde", "sha2", "sha3", @@ -1768,12 +1989,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93a66e94e12ec66a29674cc4efa975c280415aa0c944d7294cedbdb0c3858b48" dependencies = [ "anyhow", - "borsh", + "borsh 0.8.1", "cached", "log", - "near-primitives", - "near-vm-errors", - "near-vm-logic", + "near-primitives 0.1.0-pre.1", + "near-vm-errors 4.0.0-pre.1", + "near-vm-logic 4.0.0-pre.1", "parity-wasm", "pwasm-utils", "tracing", @@ -1932,23 +2153,37 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "2.0.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd3dab59b5cf4bc81069ade0fc470341a1ef3ad5fa73e5a8943bed2ec12b2e8" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" dependencies = [ - "arrayvec", + "arrayvec 0.7.2", "bitvec", "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", "serde", ] +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "parity-secp256k1" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" dependencies = [ - "arrayvec", + "arrayvec 0.5.2", "cc", "cfg-if 0.1.10", "rand 0.7.3", @@ -2052,6 +2287,17 @@ dependencies = [ "uint", ] +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -2061,6 +2307,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2361,6 +2617,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "rlp" version = "0.5.0" diff --git a/examples/non-fungible-token/res/approval_receiver.wasm b/examples/non-fungible-token/res/approval_receiver.wasm index 5af5d1c860d242623e85eac2accac2f528b1142b..fcda716e22ec21b2a6c331d002790dbdcb68cb48 100755 GIT binary patch delta 20433 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%0A08yx$#Sk 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 Y%tS)0>7c&$H9DoT4*98H!x8!a0D%90&j0`b diff --git a/examples/non-fungible-token/res/non_fungible_token.wasm b/examples/non-fungible-token/res/non_fungible_token.wasm index 07bd7d8b7317ef15f89fdd5915600e6037820f38..1fbda37c80846936cb926a09e55b6de9cea9710c 100755 GIT binary patch delta 82629 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 bPDA{;@D2FQ#aTuPw?Z$SFX(lv8EgI@ML-m7 delta 81771 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 L7jAsms9^j*;sqLr diff --git a/examples/non-fungible-token/res/token_receiver.wasm b/examples/non-fungible-token/res/token_receiver.wasm index d2086661258d97d89ab801e012e4a1acdefc8cb2..9761705ca53b7227acf74fd8e30aea382f19b03d 100755 GIT binary patch delta 20317 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 Mw%UV>;E44903Vww*8l(j delta 19508 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 diff --git a/examples/status-message-collections/Cargo.lock b/examples/status-message-collections/Cargo.lock index b7acf79e5..519a850ba 100644 --- a/examples/status-message-collections/Cargo.lock +++ b/examples/status-message-collections/Cargo.lock @@ -23,18 +23,65 @@ dependencies = [ "memchr", ] +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "autocfg" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" +dependencies = [ + "crypto-mac", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + [[package]] name = "block-buffer" version = "0.7.3" @@ -67,9 +114,9 @@ dependencies = [ [[package]] name = "borsh" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" dependencies = [ "borsh-derive", "hashbrown 0.9.1", @@ -77,22 +124,22 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", - "proc-macro-crate", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] [[package]] name = "borsh-derive-internal" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d813fa25eb0bed78c36492cff4415f38c760d6de833d255ba9095bd8ebb7d725" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" dependencies = [ "proc-macro2", "quote", @@ -101,9 +148,9 @@ dependencies = [ [[package]] name = "borsh-schema-derive-internal" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf78ee4a98c8cb9eba1bac3d3e2a1ea3d7673c719ce691e67b5cbafc472d3b7" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" dependencies = [ "proc-macro2", "quote", @@ -116,6 +163,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +[[package]] +name = "byte-slice-cast" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698" + [[package]] name = "byte-tools" version = "0.3.1" @@ -124,9 +177,31 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byteorder" -version = "1.3.4" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytesize" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher", + "ppv-lite86", +] + +[[package]] +name = "cc" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -140,12 +215,64 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "serde", + "time", + "winapi", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.4", +] + [[package]] name = "cpuid-bool" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.4", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + [[package]] name = "derive_more" version = "0.99.11" @@ -175,6 +302,63 @@ dependencies = [ "generic-array 0.14.4", ] +[[package]] +name = "easy-ext" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" + +[[package]] +name = "ed25519" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand 0.7.3", + "serde", + "sha2", + "zeroize", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.4", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + [[package]] name = "generic-array" version = "0.12.3" @@ -194,6 +378,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.2+wasi-snapshot-preview1", +] + [[package]] name = "hashbrown" version = "0.8.2" @@ -218,6 +424,37 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.5.1" @@ -252,6 +489,12 @@ version = "0.2.76" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3" +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + [[package]] name = "memchr" version = "2.3.4" @@ -264,18 +507,87 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh", + "serde", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "near-account-id", + "parity-secp256k1", + "primitive-types", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto", + "near-primitives-core", + "near-rpc-error-macro", + "near-vm-errors", + "num-rational", + "primitive-types", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + [[package]] name = "near-primitives-core" -version = "0.4.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" dependencies = [ - "base64", + "base64 0.11.0", "borsh", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -284,22 +596,21 @@ dependencies = [ [[package]] name = "near-rpc-error-core" -version = "0.1.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffa8dbf8437a28ac40fcb85859ab0d0b8385013935b000c7a51ae79631dd74d9" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" dependencies = [ "proc-macro2", "quote", "serde", - "serde_json", "syn", ] [[package]] name = "near-rpc-error-macro" -version = "0.1.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" dependencies = [ "near-rpc-error-core", "proc-macro2", @@ -309,21 +620,11 @@ dependencies = [ "syn", ] -[[package]] -name = "near-runtime-utils" -version = "4.0.0-pre.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a48d80c4ca1d4cf99bc16490e1e3d49826c150dfc4410ac498918e45c7d98e07" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", + "base64 0.13.0", "borsh", "bs58", "near-primitives-core", @@ -351,29 +652,33 @@ version = "0.1.0" [[package]] name = "near-vm-errors" -version = "4.0.0-pre.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" dependencies = [ "borsh", "hex", + "near-account-id", "near-rpc-error-macro", "serde", ] [[package]] name = "near-vm-logic" -version = "4.0.0-pre.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" dependencies = [ - "base64", + "base64 0.13.0", "borsh", "bs58", "byteorder", + "near-account-id", + "near-crypto", + "near-primitives", "near-primitives-core", - "near-runtime-utils", "near-vm-errors", + "ripemd160", "serde", "sha2", "sha3", @@ -440,6 +745,67 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.2", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-secp256k1" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" +dependencies = [ + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "rand 0.7.3", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "ppv-lite86" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -449,6 +815,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro2" version = "1.0.24" @@ -467,6 +843,92 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.3", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "reed-solomon-erasure" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a415a013dd7c5d4221382329a5a3482566da675737494935cbbbcdec04662f9d" +dependencies = [ + "smallvec", +] + [[package]] name = "regex" version = "1.4.3" @@ -485,6 +947,23 @@ version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581" +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + [[package]] name = "ryu" version = "1.0.5" @@ -549,6 +1028,35 @@ dependencies = [ "opaque-debug 0.2.3", ] +[[package]] +name = "signature" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" + +[[package]] +name = "smallvec" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" + +[[package]] +name = "smart-default" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "status-message-collections" version = "0.2.0" @@ -556,6 +1064,12 @@ dependencies = [ "near-sdk", ] +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + [[package]] name = "syn" version = "1.0.57" @@ -567,6 +1081,44 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "thiserror" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "thread_local" version = "1.1.3" @@ -576,6 +1128,31 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + [[package]] name = "toml" version = "0.5.8" @@ -591,18 +1168,91 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" +[[package]] +name = "uint" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-xid" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "validator" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d6937c33ec6039d8071bcf72933146b5bbe378d645d8fa59bdadabfc2a249" +dependencies = [ + "idna", + "lazy_static", + "regex", + "serde", + "serde_derive", + "serde_json", + "url", + "validator_types", +] + +[[package]] +name = "validator_types" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9680608df133af2c1ddd5eaf1ddce91d60d61b6bc51494ef326458365a470a" + [[package]] name = "version_check" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + [[package]] name = "wee_alloc" version = "0.4.5" @@ -636,3 +1286,30 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "zeroize" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] diff --git a/examples/status-message-collections/res/status_message_collections.wasm b/examples/status-message-collections/res/status_message_collections.wasm index 75e1f31917641a2960bffe1cf735177c8ff9611b..ee585c07e53b97725517e819cb344d7871a2e95c 100755 GIT binary patch delta 14879 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 b4$`0kEw5zuTjV9Zb~|0GjWX^s>%#v5S}tWd diff --git a/examples/test-contract/Cargo.lock b/examples/test-contract/Cargo.lock index 1c96e8015..a4a30fc6e 100644 --- a/examples/test-contract/Cargo.lock +++ b/examples/test-contract/Cargo.lock @@ -23,18 +23,65 @@ dependencies = [ "memchr", ] +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + [[package]] name = "autocfg" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "base64" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7" + [[package]] name = "base64" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a4e37d16930f5459780f5621038b6382b9bb37c19016f39fb6b5808d831f174" +dependencies = [ + "crypto-mac", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + [[package]] name = "block-buffer" version = "0.7.3" @@ -67,9 +114,9 @@ dependencies = [ [[package]] name = "borsh" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a26c53ddf60281f18e7a29b20db7ba3db82a9d81b9650bfaa02d646f50d364" +checksum = "18dda7dc709193c0d86a1a51050a926dc3df1cf262ec46a23a25dba421ea1924" dependencies = [ "borsh-derive", "hashbrown 0.9.1", @@ -77,22 +124,22 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b637a47728b78a78cd7f4b85bf06d71ef4221840e059a38f048be2422bf673b2" +checksum = "684155372435f578c0fa1acd13ebbb182cc19d6b38b64ae7901da4393217d264" dependencies = [ "borsh-derive-internal", "borsh-schema-derive-internal", - "proc-macro-crate", + "proc-macro-crate 0.1.5", "proc-macro2", "syn", ] [[package]] name = "borsh-derive-internal" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d813fa25eb0bed78c36492cff4415f38c760d6de833d255ba9095bd8ebb7d725" +checksum = "2102f62f8b6d3edeab871830782285b64cc1830168094db05c8e458f209bc5c3" dependencies = [ "proc-macro2", "quote", @@ -101,9 +148,9 @@ dependencies = [ [[package]] name = "borsh-schema-derive-internal" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf78ee4a98c8cb9eba1bac3d3e2a1ea3d7673c719ce691e67b5cbafc472d3b7" +checksum = "196c978c4c9b0b142d446ef3240690bf5a8a33497074a113ff9a337ccb750483" dependencies = [ "proc-macro2", "quote", @@ -116,6 +163,12 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +[[package]] +name = "byte-slice-cast" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698" + [[package]] name = "byte-tools" version = "0.3.1" @@ -124,9 +177,31 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byteorder" -version = "1.3.4" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytesize" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" + +[[package]] +name = "c2-chacha" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d27dae93fe7b1e0424dc57179ac396908c26b035a87234809f5c4dfd1b47dc80" +dependencies = [ + "cipher", + "ppv-lite86", +] + +[[package]] +name = "cc" +version = "1.0.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -140,12 +215,64 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "serde", + "time", + "winapi", +] + +[[package]] +name = "cipher" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" +dependencies = [ + "generic-array 0.14.4", +] + [[package]] name = "cpuid-bool" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array 0.14.4", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + [[package]] name = "derive_more" version = "0.99.11" @@ -175,6 +302,63 @@ dependencies = [ "generic-array 0.14.4", ] +[[package]] +name = "easy-ext" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53aff6fdc1b181225acdcb5b14c47106726fd8e486707315b1b138baed68ee31" + +[[package]] +name = "ed25519" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74e1069e39f1454367eb2de793ed062fac4c35c2934b76a81d90dd9abcd28816" +dependencies = [ + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +dependencies = [ + "curve25519-dalek", + "ed25519", + "rand 0.7.3", + "serde", + "sha2", + "zeroize", +] + +[[package]] +name = "fixed-hash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +dependencies = [ + "byteorder", + "rand 0.8.4", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + [[package]] name = "generic-array" version = "0.12.3" @@ -194,6 +378,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "wasi 0.10.2+wasi-snapshot-preview1", +] + [[package]] name = "hashbrown" version = "0.8.2" @@ -218,6 +424,37 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "indexmap" version = "1.5.1" @@ -252,6 +489,12 @@ version = "0.2.76" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3" +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + [[package]] name = "memchr" version = "2.3.4" @@ -264,18 +507,87 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" +[[package]] +name = "near-account-id" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd61f43cedc1bb7a7c097ef3adbab0092a51185dca0e48d5851b37818e13978" +dependencies = [ + "borsh", + "serde", +] + +[[package]] +name = "near-crypto" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f68d8d55bd2a457eba5956d8c1255e288c47f394ca6fffe6184d19664bf0bc4c" +dependencies = [ + "arrayref", + "blake2", + "borsh", + "bs58", + "c2-chacha", + "curve25519-dalek", + "derive_more", + "ed25519-dalek", + "lazy_static", + "libc", + "near-account-id", + "parity-secp256k1", + "primitive-types", + "rand 0.7.3", + "rand_core 0.5.1", + "serde", + "serde_json", + "subtle", + "thiserror", +] + +[[package]] +name = "near-primitives" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04d93aaf84ad4f5ccf780d8a0029c6fb636a2e6c1ddb3c772dee4686529e30a8" +dependencies = [ + "base64 0.13.0", + "borsh", + "bs58", + "byteorder", + "bytesize", + "chrono", + "derive_more", + "easy-ext", + "hex", + "near-crypto", + "near-primitives-core", + "near-rpc-error-macro", + "near-vm-errors", + "num-rational", + "primitive-types", + "rand 0.7.3", + "reed-solomon-erasure", + "regex", + "serde", + "serde_json", + "sha2", + "smart-default", + "validator", +] + [[package]] name = "near-primitives-core" -version = "0.4.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2b3fb5acf3a494aed4e848446ef2d6ebb47dbe91c681105d4d1786c2ee63e52" +checksum = "4d88b2b0f418c1174214fb51106c90251f61ecfe4c7063f149c2e199ec2850fd" dependencies = [ - "base64", + "base64 0.11.0", "borsh", "bs58", "derive_more", "hex", "lazy_static", + "near-account-id", "num-rational", "serde", "serde_json", @@ -284,22 +596,21 @@ dependencies = [ [[package]] name = "near-rpc-error-core" -version = "0.1.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffa8dbf8437a28ac40fcb85859ab0d0b8385013935b000c7a51ae79631dd74d9" +checksum = "4a98c9bd7edee4dcfc293e3511e9fab826bcd6fbfbfe06124a1164b94ee60351" dependencies = [ "proc-macro2", "quote", "serde", - "serde_json", "syn", ] [[package]] name = "near-rpc-error-macro" -version = "0.1.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" +checksum = "1abade92d0fc76a6c25aeb82f3e7fd97678ab5d0fd92b80149a65d1088e86505" dependencies = [ "near-rpc-error-core", "proc-macro2", @@ -309,21 +620,11 @@ dependencies = [ "syn", ] -[[package]] -name = "near-runtime-utils" -version = "4.0.0-pre.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a48d80c4ca1d4cf99bc16490e1e3d49826c150dfc4410ac498918e45c7d98e07" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "near-sdk" version = "4.0.0-pre.4" dependencies = [ - "base64", + "base64 0.13.0", "borsh", "bs58", "near-primitives-core", @@ -351,29 +652,33 @@ version = "0.1.0" [[package]] name = "near-vm-errors" -version = "4.0.0-pre.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e281d8730ed8cb0e3e69fb689acee6b93cdb43824cd69a8ffd7e1bfcbd1177d7" +checksum = "e781248bed1f8e4792aee0c0362cf8bc831fc9f51573bc43807b5e07e0e7db81" dependencies = [ "borsh", "hex", + "near-account-id", "near-rpc-error-macro", "serde", ] [[package]] name = "near-vm-logic" -version = "4.0.0-pre.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e11cb28a2d07f37680efdaf860f4c9802828c44fc50c08009e7884de75d982c5" +checksum = "9c06b3cb3ccf0423a9ba6908ccf07abe19c3c34319af200c733f34b7ac5af0ab" dependencies = [ - "base64", + "base64 0.13.0", "borsh", "bs58", "byteorder", + "near-account-id", + "near-crypto", + "near-primitives", "near-primitives-core", - "near-runtime-utils", "near-vm-errors", + "ripemd160", "serde", "sha2", "sha3", @@ -440,6 +745,67 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.2", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-secp256k1" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" +dependencies = [ + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "rand 0.7.3", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "ppv-lite86" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" + +[[package]] +name = "primitive-types" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373" +dependencies = [ + "fixed-hash", + "impl-codec", + "uint", +] + [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -449,6 +815,16 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-crate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83" +dependencies = [ + "thiserror", + "toml", +] + [[package]] name = "proc-macro2" version = "1.0.24" @@ -467,6 +843,92 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom 0.2.3", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "reed-solomon-erasure" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a415a013dd7c5d4221382329a5a3482566da675737494935cbbbcdec04662f9d" +dependencies = [ + "smallvec", +] + [[package]] name = "regex" version = "1.4.3" @@ -485,6 +947,23 @@ version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581" +[[package]] +name = "ripemd160" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca4ecc81b7f313189bf73ce724400a07da2a6dac19588b03c8bd76a2dcc251" +dependencies = [ + "block-buffer 0.9.0", + "digest 0.9.0", + "opaque-debug 0.3.0", +] + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + [[package]] name = "ryu" version = "1.0.5" @@ -549,6 +1028,41 @@ dependencies = [ "opaque-debug 0.2.3", ] +[[package]] +name = "signature" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" + +[[package]] +name = "smallvec" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" + +[[package]] +name = "smart-default" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + [[package]] name = "syn" version = "1.0.57" @@ -560,6 +1074,24 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "unicode-xid", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + [[package]] name = "test-contract" version = "0.1.0" @@ -567,6 +1099,26 @@ dependencies = [ "near-sdk", ] +[[package]] +name = "thiserror" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "thread_local" version = "1.1.3" @@ -576,6 +1128,31 @@ dependencies = [ "once_cell", ] +[[package]] +name = "time" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + [[package]] name = "toml" version = "0.5.8" @@ -591,18 +1168,91 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" +[[package]] +name = "uint" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + [[package]] name = "unicode-xid" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "validator" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d6937c33ec6039d8071bcf72933146b5bbe378d645d8fa59bdadabfc2a249" +dependencies = [ + "idna", + "lazy_static", + "regex", + "serde", + "serde_derive", + "serde_json", + "url", + "validator_types", +] + +[[package]] +name = "validator_types" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad9680608df133af2c1ddd5eaf1ddce91d60d61b6bc51494ef326458365a470a" + [[package]] name = "version_check" version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.10.2+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" + [[package]] name = "wee_alloc" version = "0.4.5" @@ -636,3 +1286,30 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "zeroize" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] diff --git a/near-sdk/Cargo.toml b/near-sdk/Cargo.toml index ecd20d71b..e1c549e25 100644 --- a/near-sdk/Cargo.toml +++ b/near-sdk/Cargo.toml @@ -23,7 +23,7 @@ serde_json = "1" near-sdk-macros = { path = "../near-sdk-macros", version = "=4.0.0-pre.4" } near-sys = { path = "../sys", version = "0.1" } base64 = "0.13" -borsh = "0.8.1" +borsh = "0.9" bs58 = "0.4" # Export dependencies for contracts wee_alloc = { version = "0.4.5", default-features = false, optional = true } @@ -32,8 +32,8 @@ wee_alloc = { version = "0.4.5", default-features = false, optional = true } once_cell = { version = "1.8", optional = true, default-features = false } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -near-vm-logic = "=4.0.0-pre.1" -near-primitives-core = "=0.4.0" +near-vm-logic = "0.10" +near-primitives-core = "0.10" [dev-dependencies] rand = "0.8.4" diff --git a/near-sdk/src/environment/mock/external.rs b/near-sdk/src/environment/mock/external.rs index a4169e40f..a5988459b 100644 --- a/near-sdk/src/environment/mock/external.rs +++ b/near-sdk/src/environment/mock/external.rs @@ -3,6 +3,7 @@ use crate::{ types::{AccountId, Balance, Gas}, PublicKey, }; +use near_vm_logic::types::AccountId as VmAccountId; use near_vm_logic::{External, HostError, ValuePtr}; use std::{collections::HashMap, convert::TryFrom}; @@ -64,14 +65,18 @@ impl External for SdkExternal { Ok(self.fake_trie.contains_key(key)) } - fn create_receipt(&mut self, receipt_indices: Vec, receiver_id: String) -> Result { + fn create_receipt( + &mut self, + receipt_indices: Vec, + receiver_id: VmAccountId, + ) -> Result { if let Some(index) = receipt_indices.iter().find(|&&el| el >= self.receipts.len() as u64) { return Err(HostError::InvalidReceiptIndex { receipt_index: *index }.into()); } let res = self.receipts.len() as u64; self.receipts.push(Receipt { receipt_indices, - receiver_id: AccountId::new_unchecked(receiver_id), + receiver_id: AccountId::new_unchecked(String::from(receiver_id)), actions: vec![], }); Ok(res) @@ -161,7 +166,7 @@ impl External for SdkExternal { public_key: Vec, nonce: u64, allowance: Option, - receiver_id: String, + receiver_id: VmAccountId, function_names: Vec>, ) -> Result<()> { let public_key = PublicKey::try_from(public_key).unwrap(); @@ -172,7 +177,7 @@ impl External for SdkExternal { public_key, nonce, allowance, - receiver_id: AccountId::new_unchecked(receiver_id), + receiver_id: AccountId::new_unchecked(String::from(receiver_id)), function_names, }, ); @@ -192,10 +197,12 @@ impl External for SdkExternal { fn append_action_delete_account( &mut self, receipt_index: u64, - beneficiary_id: String, + beneficiary_id: VmAccountId, ) -> Result<()> { self.receipts.get_mut(receipt_index as usize).unwrap().actions.push( - VmAction::DeleteAccount { beneficiary_id: AccountId::new_unchecked(beneficiary_id) }, + VmAction::DeleteAccount { + beneficiary_id: AccountId::new_unchecked(String::from(beneficiary_id)), + }, ); Ok(()) } @@ -206,8 +213,8 @@ impl External for SdkExternal { fn reset_touched_nodes_counter(&mut self) {} - fn validator_stake(&self, account_id: &String) -> Result> { - Ok(self.validators.get(account_id).cloned()) + fn validator_stake(&self, account_id: &VmAccountId) -> Result> { + Ok(self.validators.get(account_id.as_ref()).cloned()) } fn validator_total_stake(&self) -> Result { diff --git a/near-sdk/src/environment/mock/mocked_blockchain.rs b/near-sdk/src/environment/mock/mocked_blockchain.rs index 1a24c174e..6550c9f28 100644 --- a/near-sdk/src/environment/mock/mocked_blockchain.rs +++ b/near-sdk/src/environment/mock/mocked_blockchain.rs @@ -24,8 +24,8 @@ impl Default for MockedBlockchain { fn default() -> Self { MockedBlockchain::new( VMContextBuilder::new().build(), - Default::default(), - Default::default(), + VMConfig::test(), + RuntimeFeesConfig::test(), vec![], Default::default(), Default::default(), @@ -71,7 +71,6 @@ impl MockedBlockchain { &*(logic_fixture.fees_config.as_mut() as *const RuntimeFeesConfig), &*(logic_fixture.promise_results.as_ref().as_slice() as *const [VmPromiseResult]), &mut *(logic_fixture.memory.as_mut() as *mut dyn MemoryLike), - Default::default(), u32::MAX, ) }; diff --git a/near-sdk/src/test_utils/context.rs b/near-sdk/src/test_utils/context.rs index 112f315e2..5f0132144 100644 --- a/near-sdk/src/test_utils/context.rs +++ b/near-sdk/src/test_utils/context.rs @@ -4,6 +4,8 @@ use crate::AccountId; use crate::{ Balance, BlockHeight, EpochHeight, Gas, PromiseResult, PublicKey, StorageUsage, VMContext, }; +use near_primitives_core::runtime::fees::RuntimeFeesConfig; +use near_vm_logic::{VMConfig, ViewConfig}; /// Returns a pre-defined account_id from a list of 6. pub fn accounts(id: usize) -> AccountId { @@ -29,10 +31,10 @@ impl VMContextBuilder { pub fn new() -> Self { Self { context: VMContext { - current_account_id: alice().into(), - signer_account_id: bob().into(), + current_account_id: alice().as_str().parse().unwrap(), + signer_account_id: bob().as_str().parse().unwrap(), signer_account_pk: vec![0u8; 32], - predecessor_account_id: bob().into(), + predecessor_account_id: bob().as_str().parse().unwrap(), input: vec![], block_index: 0, block_timestamp: 0, @@ -43,19 +45,19 @@ impl VMContextBuilder { attached_deposit: 0, prepaid_gas: 300 * 10u64.pow(12), random_seed: vec![0u8; 32], - is_view: false, + view_config: None, output_data_receivers: vec![], }, } } pub fn current_account_id(&mut self, account_id: AccountId) -> &mut Self { - self.context.current_account_id = account_id.into(); + self.context.current_account_id = account_id.as_str().parse().unwrap(); self } pub fn signer_account_id(&mut self, account_id: AccountId) -> &mut Self { - self.context.signer_account_id = account_id.into(); + self.context.signer_account_id = account_id.as_str().parse().unwrap(); self } @@ -65,7 +67,7 @@ impl VMContextBuilder { } pub fn predecessor_account_id(&mut self, account_id: AccountId) -> &mut Self { - self.context.predecessor_account_id = account_id.into(); + self.context.predecessor_account_id = account_id.as_str().parse().unwrap(); self } @@ -115,7 +117,11 @@ impl VMContextBuilder { } pub fn is_view(&mut self, is_view: bool) -> &mut Self { - self.context.is_view = is_view; + self.context.view_config = if is_view { + Some(ViewConfig { max_gas_burnt: 200000000000000 }) + } else { + None + }; self } @@ -133,8 +139,8 @@ pub fn testing_env_with_promise_results(context: VMContext, promise_result: Prom //? Might be a good time to remove this utility function altogether crate::env::set_blockchain_interface(MockedBlockchain::new( context, - Default::default(), - Default::default(), + VMConfig::test(), + RuntimeFeesConfig::test(), vec![promise_result], storage, Default::default(), diff --git a/near-sdk/src/test_utils/mod.rs b/near-sdk/src/test_utils/mod.rs index b1f317d7c..de0687ce0 100644 --- a/near-sdk/src/test_utils/mod.rs +++ b/near-sdk/src/test_utils/mod.rs @@ -79,7 +79,7 @@ macro_rules! testing_env { $crate::testing_env!($context, $config, $fee_config, Default::default()); }; ($context:expr) => { - $crate::testing_env!($context, Default::default(), Default::default()); + $crate::testing_env!($context, $crate::VMConfig::test(), $crate::RuntimeFeesConfig::test()); }; } diff --git a/near-sdk/src/test_utils/test_env.rs b/near-sdk/src/test_utils/test_env.rs index a1b660e78..dc75bc24c 100644 --- a/near-sdk/src/test_utils/test_env.rs +++ b/near-sdk/src/test_utils/test_env.rs @@ -1,5 +1,6 @@ use crate::test_utils::VMContextBuilder; use crate::{env, mock::MockedBlockchain, AccountId, VMConfig}; +use near_primitives_core::runtime::fees::RuntimeFeesConfig; pub fn alice() -> AccountId { AccountId::new_unchecked("alice.near".to_string()) @@ -21,7 +22,7 @@ pub fn setup_with_config(vm_config: VMConfig) { env::set_blockchain_interface(MockedBlockchain::new( context, vm_config, - Default::default(), + RuntimeFeesConfig::test(), vec![], storage, Default::default(), @@ -31,7 +32,7 @@ pub fn setup_with_config(vm_config: VMConfig) { /// Setup the blockchain interface with a default configuration. pub fn setup() { - setup_with_config(VMConfig::default()); + setup_with_config(VMConfig::test()); } // free == effectively unlimited gas From e980d1eee48ee74bb4c951c9fd167ff72deae711 Mon Sep 17 00:00:00 2001 From: austinabell Date: Mon, 22 Nov 2021 17:44:31 -0500 Subject: [PATCH 02/10] fmt --- near-sdk/src/test_utils/context.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/near-sdk/src/test_utils/context.rs b/near-sdk/src/test_utils/context.rs index 5f0132144..d387cd105 100644 --- a/near-sdk/src/test_utils/context.rs +++ b/near-sdk/src/test_utils/context.rs @@ -117,11 +117,8 @@ impl VMContextBuilder { } pub fn is_view(&mut self, is_view: bool) -> &mut Self { - self.context.view_config = if is_view { - Some(ViewConfig { max_gas_burnt: 200000000000000 }) - } else { - None - }; + self.context.view_config = + if is_view { Some(ViewConfig { max_gas_burnt: 200000000000000 }) } else { None }; self } From a323ba8424531926078c2acc559b0541d91e9e1b Mon Sep 17 00:00:00 2001 From: austinabell Date: Mon, 22 Nov 2021 19:28:45 -0500 Subject: [PATCH 03/10] fix doc tests --- near-sdk/src/environment/env.rs | 4 ++-- near-sdk/src/test_utils/mod.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/near-sdk/src/environment/env.rs b/near-sdk/src/environment/env.rs index d39fb62f3..c9cb6ec7a 100644 --- a/near-sdk/src/environment/env.rs +++ b/near-sdk/src/environment/env.rs @@ -57,8 +57,8 @@ macro_rules! method_into_register { /// /// ```no_run /// # let context = near_sdk::test_utils::VMContextBuilder::new().build(); -/// # let vm_config = Default::default(); -/// # let fees_config = Default::default(); +/// # let vm_config = near_sdk::VMConfig::test(); +/// # let fees_config = near_sdk::RuntimeFeesConfig::test(); /// # let storage = Default::default(); /// # let validators = Default::default(); /// let mocked_blockchain = near_sdk::MockedBlockchain::new( diff --git a/near-sdk/src/test_utils/mod.rs b/near-sdk/src/test_utils/mod.rs index de0687ce0..c11ee6065 100644 --- a/near-sdk/src/test_utils/mod.rs +++ b/near-sdk/src/test_utils/mod.rs @@ -42,8 +42,8 @@ pub use context::{accounts, testing_env_with_promise_results, VMContextBuilder}; /// // Or include arguments up to the five optional /// testing_env!( /// context, -/// VMConfig::default(), -/// RuntimeFeesConfig::default(), +/// VMConfig::test(), +/// RuntimeFeesConfig::test(), /// HashMap::default(), /// Vec::default(), /// ); From b833d9f8cbb58274224f9e29c945de9b68a6cd12 Mon Sep 17 00:00:00 2001 From: austinabell Date: Mon, 29 Nov 2021 12:18:49 -0500 Subject: [PATCH 04/10] merge pull master --- CHANGELOG.md | 2 ++ .../res/callback_results.wasm | Bin 104468 -> 104468 bytes .../res/cross_contract_high_level.wasm | Bin 245066 -> 245066 bytes .../res/cross_contract_low_level.wasm | Bin 266863 -> 266863 bytes examples/fungible-token/res/defi.wasm | Bin 119528 -> 119528 bytes .../fungible-token/res/fungible_token.wasm | Bin 202374 -> 202374 bytes .../res/approval_receiver.wasm | Bin 117073 -> 117073 bytes .../res/non_fungible_token.wasm | Bin 288470 -> 288470 bytes .../res/token_receiver.wasm | Bin 116344 -> 116344 bytes near-sdk/src/store/lazy/mod.rs | 4 ++-- near-sdk/src/types/gas.rs | 5 +++++ near-sdk/src/types/mod.rs | 6 ++++++ 12 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5694a9695..c1cba3458 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ - Fix codegen for methods inside a `#[near_bindgen]` to allow using `mut self` which will generate the same code as `self` and will not persist state. [PR 616](https://github.com/near/near-sdk-rs/pull/616). - Make function call terminology consistent by switching from method name usages. [PR 633](https://github.com/near/near-sdk-rs/pull/633). - This is only a breaking change if inspecting the `VmAction`s of receipts in mocked environments. All other changes are positional argument names. +- Add consts for near, yocto, and tgas. [PR 640](https://github.com/near/near-sdk-rs/pull/640). + - `near_sdk::ONE_NEAR`, `near_sdk::ONE_YOCTO`, `near_sdk::Gas::ONE_TERA` ## `4.0.0-pre.4` [10-15-2021] - Unpin `syn` dependency in macros from `=1.0.57` to be more composable with other crates. [PR 605](https://github.com/near/near-sdk-rs/pull/605) diff --git a/examples/callback-results/res/callback_results.wasm b/examples/callback-results/res/callback_results.wasm index 20a297e880c2364c4a47c11e450ebf999ce938b5..567ab41551b763293f0d08b2b48ded05d6b117c2 100755 GIT binary patch delta 19 bcmbQTfo;kLwuUW?fk}*c+k=uA519f0O@aqc delta 19 bcmbQTfo;kLwuUW?fk}*++k=uA519f0ONn0_J%EtqSF}Twu?<;ykr9aR*47N delta 19 bcmaE{l>Nn0_J%EtqSF{7w~I|nk8rFEiBgJjB(p-#93zf0|17R2-^Sv delta 25 hcmcb1R`A+c!G;#b7N!>FEiBgJjFH=I#93zf0|16@2-W}q diff --git a/examples/non-fungible-token/res/token_receiver.wasm b/examples/non-fungible-token/res/token_receiver.wasm index 9761705ca53b7227acf74fd8e30aea382f19b03d..09b03db206db5fc86fd43fd672acba7e40078f21 100755 GIT binary patch delta 19 bcmey-!~Ua(y, + storage_key: Box<[u8]>, #[borsh_skip] /// Cached value which is lazily loaded and deserialized from storage. cache: OnceCell>, @@ -81,7 +81,7 @@ where S: IntoStorageKey, { Self { - storage_key: key.into_storage_key(), + storage_key: key.into_storage_key().into_boxed_slice(), cache: OnceCell::from(CacheEntry::new_modified(Some(value))), } } diff --git a/near-sdk/src/types/gas.rs b/near-sdk/src/types/gas.rs index 7e1fcbe28..17984ef10 100644 --- a/near-sdk/src/types/gas.rs +++ b/near-sdk/src/types/gas.rs @@ -20,6 +20,11 @@ use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; #[repr(transparent)] pub struct Gas(pub u64); +impl Gas { + /// One Tera gas, which is 10^12 gas units. + pub const ONE_TERA: Gas = Gas(1_000_000_000_000); +} + impl Serialize for Gas { fn serialize(&self, serializer: S) -> Result where diff --git a/near-sdk/src/types/mod.rs b/near-sdk/src/types/mod.rs index 05f2a45de..37fc4cc9c 100644 --- a/near-sdk/src/types/mod.rs +++ b/near-sdk/src/types/mod.rs @@ -21,3 +21,9 @@ pub type Timestamp = u64; /// Raw type for 32 bytes of the hash. pub type CryptoHash = [u8; 32]; + +/// Balance of one Yocto NEAR, which is the smallest denomination. This value is 10^-24 of one NEAR. +pub const ONE_YOCTO: Balance = 1; + +/// Balance of one NEAR, which is 10^24 Yocto NEAR. +pub const ONE_NEAR: Balance = 1_000_000_000_000_000_000_000_000; From 9e77d35842b31c59ba26c3dd5a9d264a96eb891d Mon Sep 17 00:00:00 2001 From: austinabell Date: Mon, 29 Nov 2021 13:08:14 -0500 Subject: [PATCH 05/10] simplify conversions for testing utils --- near-sdk/src/environment/mock/external.rs | 16 ++++++++-------- near-sdk/src/environment/mock/mod.rs | 16 ++++++++++++++++ near-sdk/src/test_utils/context.rs | 13 +++++++------ 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/near-sdk/src/environment/mock/external.rs b/near-sdk/src/environment/mock/external.rs index a5988459b..300dbe490 100644 --- a/near-sdk/src/environment/mock/external.rs +++ b/near-sdk/src/environment/mock/external.rs @@ -1,6 +1,6 @@ use super::{Receipt, VmAction}; use crate::{ - types::{AccountId, Balance, Gas}, + types::{Balance, Gas}, PublicKey, }; use near_vm_logic::types::AccountId as VmAccountId; @@ -76,7 +76,7 @@ impl External for SdkExternal { let res = self.receipts.len() as u64; self.receipts.push(Receipt { receipt_indices, - receiver_id: AccountId::new_unchecked(String::from(receiver_id)), + receiver_id: receiver_id.into(), actions: vec![], }); Ok(res) @@ -177,7 +177,7 @@ impl External for SdkExternal { public_key, nonce, allowance, - receiver_id: AccountId::new_unchecked(String::from(receiver_id)), + receiver_id: receiver_id.into(), function_names, }, ); @@ -199,11 +199,11 @@ impl External for SdkExternal { receipt_index: u64, beneficiary_id: VmAccountId, ) -> Result<()> { - self.receipts.get_mut(receipt_index as usize).unwrap().actions.push( - VmAction::DeleteAccount { - beneficiary_id: AccountId::new_unchecked(String::from(beneficiary_id)), - }, - ); + self.receipts + .get_mut(receipt_index as usize) + .unwrap() + .actions + .push(VmAction::DeleteAccount { beneficiary_id: beneficiary_id.into() }); Ok(()) } diff --git a/near-sdk/src/environment/mock/mod.rs b/near-sdk/src/environment/mock/mod.rs index ca9c8f5d8..a2add7d44 100644 --- a/near-sdk/src/environment/mock/mod.rs +++ b/near-sdk/src/environment/mock/mod.rs @@ -5,7 +5,9 @@ mod receipt; pub(crate) use self::external::SdkExternal; pub use self::mocked_blockchain::MockedBlockchain; pub use self::receipt::{Receipt, VmAction}; +use crate::AccountId; use core::cell::RefCell; +use near_primitives_core::account::id::ParseAccountError; thread_local! { /// Low-level blockchain interface wrapped by the environment. Prefer using `env::*` and @@ -22,3 +24,17 @@ where { BLOCKCHAIN_INTERFACE.with(|b| f(&mut b.borrow_mut())) } + +impl From for AccountId { + fn from(id: near_vm_logic::types::AccountId) -> Self { + Self::new_unchecked(String::from(id)) + } +} + +impl std::convert::TryFrom for near_vm_logic::types::AccountId { + type Error = ParseAccountError; + + fn try_from(value: AccountId) -> Result { + value.as_str().parse() + } +} diff --git a/near-sdk/src/test_utils/context.rs b/near-sdk/src/test_utils/context.rs index d387cd105..de85c47f5 100644 --- a/near-sdk/src/test_utils/context.rs +++ b/near-sdk/src/test_utils/context.rs @@ -1,3 +1,4 @@ +use std::convert::TryInto; use crate::mock::MockedBlockchain; use crate::test_utils::test_env::*; use crate::AccountId; @@ -31,10 +32,10 @@ impl VMContextBuilder { pub fn new() -> Self { Self { context: VMContext { - current_account_id: alice().as_str().parse().unwrap(), - signer_account_id: bob().as_str().parse().unwrap(), + current_account_id: alice().try_into().unwrap(), + signer_account_id: bob().try_into().unwrap(), signer_account_pk: vec![0u8; 32], - predecessor_account_id: bob().as_str().parse().unwrap(), + predecessor_account_id: bob().try_into().unwrap(), input: vec![], block_index: 0, block_timestamp: 0, @@ -52,12 +53,12 @@ impl VMContextBuilder { } pub fn current_account_id(&mut self, account_id: AccountId) -> &mut Self { - self.context.current_account_id = account_id.as_str().parse().unwrap(); + self.context.current_account_id = account_id.try_into().unwrap(); self } pub fn signer_account_id(&mut self, account_id: AccountId) -> &mut Self { - self.context.signer_account_id = account_id.as_str().parse().unwrap(); + self.context.signer_account_id = account_id.try_into().unwrap(); self } @@ -67,7 +68,7 @@ impl VMContextBuilder { } pub fn predecessor_account_id(&mut self, account_id: AccountId) -> &mut Self { - self.context.predecessor_account_id = account_id.as_str().parse().unwrap(); + self.context.predecessor_account_id = account_id.try_into().unwrap(); self } From 0e376f30720655db868558bd092a9e64dc7667ed Mon Sep 17 00:00:00 2001 From: austinabell Date: Tue, 30 Nov 2021 21:46:47 -0500 Subject: [PATCH 06/10] change unwrap to be host error --- near-sdk/src/environment/mock/external.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/near-sdk/src/environment/mock/external.rs b/near-sdk/src/environment/mock/external.rs index 300dbe490..7d30698e2 100644 --- a/near-sdk/src/environment/mock/external.rs +++ b/near-sdk/src/environment/mock/external.rs @@ -201,6 +201,7 @@ impl External for SdkExternal { ) -> Result<()> { self.receipts .get_mut(receipt_index as usize) + .ok_or_else(|| HostError::InvalidReceiptIndex { receipt_index }) .unwrap() .actions .push(VmAction::DeleteAccount { beneficiary_id: beneficiary_id.into() }); From 27db819420392d3822c6975efe24c3a54505d7ed Mon Sep 17 00:00:00 2001 From: austinabell Date: Wed, 1 Dec 2021 15:15:50 -0500 Subject: [PATCH 07/10] trigger CI commit From d2ea93809eee6bd4e18cc466a673d0887d830042 Mon Sep 17 00:00:00 2001 From: austinabell Date: Wed, 1 Dec 2021 15:32:21 -0500 Subject: [PATCH 08/10] fmt --- near-sdk/src/environment/mock/external.rs | 3 +-- near-sdk/src/test_utils/context.rs | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/near-sdk/src/environment/mock/external.rs b/near-sdk/src/environment/mock/external.rs index 7d30698e2..7cdb1c73f 100644 --- a/near-sdk/src/environment/mock/external.rs +++ b/near-sdk/src/environment/mock/external.rs @@ -201,8 +201,7 @@ impl External for SdkExternal { ) -> Result<()> { self.receipts .get_mut(receipt_index as usize) - .ok_or_else(|| HostError::InvalidReceiptIndex { receipt_index }) - .unwrap() + .ok_or(HostError::InvalidReceiptIndex { receipt_index })? .actions .push(VmAction::DeleteAccount { beneficiary_id: beneficiary_id.into() }); Ok(()) diff --git a/near-sdk/src/test_utils/context.rs b/near-sdk/src/test_utils/context.rs index de85c47f5..a7eb5191c 100644 --- a/near-sdk/src/test_utils/context.rs +++ b/near-sdk/src/test_utils/context.rs @@ -1,4 +1,3 @@ -use std::convert::TryInto; use crate::mock::MockedBlockchain; use crate::test_utils::test_env::*; use crate::AccountId; @@ -7,6 +6,7 @@ use crate::{ }; use near_primitives_core::runtime::fees::RuntimeFeesConfig; use near_vm_logic::{VMConfig, ViewConfig}; +use std::convert::TryInto; /// Returns a pre-defined account_id from a list of 6. pub fn accounts(id: usize) -> AccountId { From 4231457a9f9fb60d5b98255661d154a75920d074 Mon Sep 17 00:00:00 2001 From: austinabell Date: Wed, 1 Dec 2021 18:06:12 -0500 Subject: [PATCH 09/10] trigger CI commit From 4a8e7c49ac9cf985e36bc3ad601c7ae3b76ed968 Mon Sep 17 00:00:00 2001 From: austinabell Date: Wed, 1 Dec 2021 18:08:13 -0500 Subject: [PATCH 10/10] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1cba3458..dcdcbe336 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - This is only a breaking change if inspecting the `VmAction`s of receipts in mocked environments. All other changes are positional argument names. - Add consts for near, yocto, and tgas. [PR 640](https://github.com/near/near-sdk-rs/pull/640). - `near_sdk::ONE_NEAR`, `near_sdk::ONE_YOCTO`, `near_sdk::Gas::ONE_TERA` +- Update SDK dependencies for `nearcore` crates used for mocking (`0.10`) and `borsh` (`0.9`) ## `4.0.0-pre.4` [10-15-2021] - Unpin `syn` dependency in macros from `=1.0.57` to be more composable with other crates. [PR 605](https://github.com/near/near-sdk-rs/pull/605)