From 0bb6b4567ae62e9e6e35ee76894ddf27f6bf02f2 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Thu, 11 Mar 2021 16:20:32 +0100 Subject: [PATCH 01/12] fix: Don't use env::signer_account_id Instead use env::predecessor_account_id. Using signer_account_id has the same problems of using tx.origin in Ethereum. See link below for more details: https://github.com/ethereum/solidity/issues/683 --- contracts/near/admin-controlled/src/lib.rs | 9 ++++---- contracts/near/admin-controlled/src/macros.rs | 21 +++++++++++++++++++ contracts/near/eth-client/src/lib.rs | 18 +++------------- contracts/near/eth-prover/src/lib.rs | 16 ++------------ 4 files changed, 30 insertions(+), 34 deletions(-) create mode 100644 contracts/near/admin-controlled/src/macros.rs diff --git a/contracts/near/admin-controlled/src/lib.rs b/contracts/near/admin-controlled/src/lib.rs index 1c346e20a..9515a41b8 100644 --- a/contracts/near/admin-controlled/src/lib.rs +++ b/contracts/near/admin-controlled/src/lib.rs @@ -1,14 +1,13 @@ +pub mod macros; +pub use macros::*; + use near_sdk::env; pub type Mask = u128; pub trait AdminControlled { fn is_owner(&self) -> bool { - env::current_account_id() == env::signer_account_id() - } - - fn assert_owner(&self) { - assert!(self.is_owner()); + env::current_account_id() == env::predecessor_account_id() } /// Return the current mask representing all paused events. diff --git a/contracts/near/admin-controlled/src/macros.rs b/contracts/near/admin-controlled/src/macros.rs new file mode 100644 index 000000000..6d47ad78f --- /dev/null +++ b/contracts/near/admin-controlled/src/macros.rs @@ -0,0 +1,21 @@ +#[macro_export] +macro_rules! impl_admin_controlled { + ($contract: ident, $paused: ident) => { + use admin_controlled::{AdminControlled as AdminControlledInner, Mask as MaskInner}; + use near_sdk as near_sdk_inner; + + #[near_bindgen] + impl AdminControlledInner for $contract { + #[result_serializer(borsh)] + fn get_paused(&self) -> MaskInner { + self.$paused + } + + #[result_serializer(borsh)] + fn set_paused(&mut self, #[serializer(borsh)] paused: MaskInner) { + near_sdk_inner::assert_self(); + self.$paused = paused; + } + } + }; +} diff --git a/contracts/near/eth-client/src/lib.rs b/contracts/near/eth-client/src/lib.rs index f9b0a3d0e..2f78ed3e8 100644 --- a/contracts/near/eth-client/src/lib.rs +++ b/contracts/near/eth-client/src/lib.rs @@ -1,4 +1,4 @@ -use admin_controlled::{AdminControlled, Mask}; +use admin_controlled::Mask; use borsh::{BorshDeserialize, BorshSerialize}; use eth_types::*; use near_sdk::collections::UnorderedMap; @@ -111,20 +111,6 @@ impl Default for EthClient { } } -#[near_bindgen] -impl AdminControlled for EthClient { - #[result_serializer(borsh)] - fn get_paused(&self) -> Mask { - self.paused - } - - #[result_serializer(borsh)] - fn set_paused(&mut self, #[serializer(borsh)] paused: Mask) { - self.assert_owner(); - self.paused = paused; - } -} - #[near_bindgen] impl EthClient { #[init] @@ -441,3 +427,5 @@ impl EthClient { (H256(pair.0), H256(pair.1)) } } + +admin_controlled::impl_admin_controlled!(EthClient, paused); diff --git a/contracts/near/eth-prover/src/lib.rs b/contracts/near/eth-prover/src/lib.rs index d78c8f557..6d8fff9a1 100644 --- a/contracts/near/eth-prover/src/lib.rs +++ b/contracts/near/eth-prover/src/lib.rs @@ -1,4 +1,4 @@ -use admin_controlled::{AdminControlled, Mask}; +use admin_controlled::Mask; use borsh::{BorshDeserialize, BorshSerialize}; use eth_types::*; use near_sdk::{env, ext_contract, near_bindgen, PromiseOrValue}; @@ -320,16 +320,4 @@ impl EthProver { } } -#[near_bindgen] -impl AdminControlled for EthProver { - #[result_serializer(borsh)] - fn get_paused(&self) -> Mask { - self.paused - } - - #[result_serializer(borsh)] - fn set_paused(&mut self, #[serializer(borsh)] paused: Mask) { - self.assert_owner(); - self.paused = paused; - } -} +admin_controlled::impl_admin_controlled!(EthProver, paused); From 646794537ee7d539636807fb0e40a4a1663139b2 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Thu, 11 Mar 2021 16:25:11 +0100 Subject: [PATCH 02/12] fix: Use fixed near-sdk-version Need to use fixed near-sdk-version for compatibility with rainbow-token-connector. This restriction will be lifted once the special commit used by the connector lands on near-sdk-rs. --- contracts/near/Cargo.lock | 523 ++++++++++++++++----- contracts/near/admin-controlled/Cargo.toml | 2 +- contracts/near/eth-client/Cargo.toml | 4 +- contracts/near/eth-client/rust-toolchain | 1 + contracts/near/eth-prover/Cargo.toml | 4 +- contracts/near/eth-prover/rust-toolchain | 1 + contracts/near/eth-types/Cargo.toml | 2 +- 7 files changed, 404 insertions(+), 133 deletions(-) create mode 100644 contracts/near/eth-client/rust-toolchain create mode 100644 contracts/near/eth-prover/rust-toolchain diff --git a/contracts/near/Cargo.lock b/contracts/near/Cargo.lock index 5a6955b74..a66278aff 100644 --- a/contracts/near/Cargo.lock +++ b/contracts/near/Cargo.lock @@ -10,9 +10,15 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" name = "admin-controlled" version = "0.1.0" dependencies = [ - "near-sdk", + "near-sdk 0.11.0", ] +[[package]] +name = "ahash" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" + [[package]] name = "aho-corasick" version = "0.7.10" @@ -106,6 +112,12 @@ 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 = "bincode" version = "1.2.1" @@ -124,7 +136,7 @@ checksum = "c72a978d268b1d70b0e963217e60fdabd9523a941457a6c42a7315d15c7e89e5" dependencies = [ "bitflags 1.2.1", "cexpr", - "cfg-if", + "cfg-if 0.1.10", "clang-sys", "clap", "env_logger", @@ -132,7 +144,7 @@ dependencies = [ "lazycell", "log 0.4.8", "peeking_take_while", - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", "regex", "rustc-hash", @@ -170,8 +182,8 @@ checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" dependencies = [ "byte-tools", "crypto-mac", - "digest", - "opaque-debug", + "digest 0.8.1", + "opaque-debug 0.2.3", ] [[package]] @@ -183,10 +195,10 @@ dependencies = [ "arrayref", "arrayvec 0.5.1", "cc", - "cfg-if", + "cfg-if 0.1.10", "constant_time_eq", "crypto-mac", - "digest", + "digest 0.8.1", ] [[package]] @@ -198,7 +210,16 @@ dependencies = [ "block-padding", "byte-tools", "byteorder", - "generic-array", + "generic-array 0.12.3", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.4", ] [[package]] @@ -216,7 +237,17 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7769f8f6fdc6ac7617bbc8bc7ef9dc263cd459d99d21cf2ab4afc3bc8d7d70d" dependencies = [ - "borsh-derive", + "borsh-derive 0.6.2", +] + +[[package]] +name = "borsh" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09a7111f797cc721407885a323fb071636aee57f750b1a4ddc27397eba168a74" +dependencies = [ + "borsh-derive 0.8.2", + "hashbrown", ] [[package]] @@ -225,9 +256,22 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2689a82a5fe57f9e71997b16bea340da338c7fb8db400b8d9d55b59010540d8" dependencies = [ - "borsh-derive-internal", - "borsh-schema-derive-internal", - "syn 1.0.31", + "borsh-derive-internal 0.6.2", + "borsh-schema-derive-internal 0.6.2", + "syn 1.0.57", +] + +[[package]] +name = "borsh-derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "307f3740906bac2c118a8122fe22681232b244f1369273e45f1156b45c43d2dd" +dependencies = [ + "borsh-derive-internal 0.8.2", + "borsh-schema-derive-internal 0.8.2", + "proc-macro-crate", + "proc-macro2 1.0.24", + "syn 1.0.57", ] [[package]] @@ -236,9 +280,20 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39b621f19e9891a34f679034fa2238260e27c0eddfe2804e9fb282061cf9b294" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.57", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2104c73179359431cc98e016998f2f23bc7a05bc53e79741bcba705f30047bc" +dependencies = [ + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -247,9 +302,20 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "befebdb9e223ae4528b3d597dbbfb5c68566822d2a3de3e260f235360773ba29" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae29eb8418fcd46f723f8691a2ac06857d31179d33d2f2d91eb13967de97c728" +dependencies = [ + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.57", ] [[package]] @@ -258,6 +324,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" + [[package]] name = "byte-slice-cast" version = "0.3.5" @@ -331,6 +403,12 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + [[package]] name = "chrono" version = "0.4.11" @@ -426,6 +504,12 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" +[[package]] +name = "cpuid-bool" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" + [[package]] name = "crossbeam-deque" version = "0.7.3" @@ -444,7 +528,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" dependencies = [ "autocfg 1.0.0", - "cfg-if", + "cfg-if 0.1.10", "crossbeam-utils", "lazy_static", "maybe-uninit", @@ -458,7 +542,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "crossbeam-utils", "maybe-uninit", ] @@ -470,7 +554,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" dependencies = [ "autocfg 1.0.0", - "cfg-if", + "cfg-if 0.1.10", "lazy_static", ] @@ -486,7 +570,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array", + "generic-array 0.12.3", "subtle 1.0.0", ] @@ -497,7 +581,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d85653f070353a16313d0046f173f70d1aadd5b42600a14de626f0dfb3473a5" dependencies = [ "byteorder", - "digest", + "digest 0.8.1", "rand_core 0.5.1", "subtle 2.2.3", "zeroize", @@ -523,9 +607,9 @@ version = "0.99.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc655351f820d774679da6cdc23355a93de496867d8203496675162e17b1d671" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -534,7 +618,16 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array", + "generic-array 0.12.3", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.4", ] [[package]] @@ -547,9 +640,9 @@ dependencies = [ "byteorder", "lazy_static", "owning_ref", - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -569,7 +662,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2a9b11b96248fc9efa0c093e6406fea7e55a7e893c932dbdf47074f34ec52e7" dependencies = [ "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -581,7 +674,7 @@ dependencies = [ "clear_on_drop", "curve25519-dalek", "rand 0.7.3", - "sha2", + "sha2 0.8.2", ] [[package]] @@ -654,14 +747,14 @@ version = "0.1.0" dependencies = [ "admin-controlled", "arrutil", - "borsh", + "borsh 0.8.2", "eth-types", "ethash", "futures", "hex", "indicatif", "lazy_static", - "near-sdk", + "near-sdk 3.0.0-pre.3", "primal", "rlp", "rustc-hex", @@ -676,7 +769,7 @@ name = "eth-prover" version = "0.1.0" dependencies = [ "admin-controlled", - "borsh", + "borsh 0.8.2", "eth-types", "hex", "indicatif", @@ -684,7 +777,7 @@ dependencies = [ "near-crypto", "near-primitives", "near-runtime-standalone", - "near-sdk", + "near-sdk 3.0.0-pre.3", "rlp", "serde", "serde_json", @@ -695,10 +788,10 @@ dependencies = [ name = "eth-types" version = "0.1.0" dependencies = [ - "borsh", + "borsh 0.8.2", "derive_more 0.99.8", "ethereum-types 0.9.2", - "near-sdk", + "near-sdk 0.11.0", "rlp", "rlp-derive", "serde", @@ -896,13 +989,23 @@ dependencies = [ "typenum", ] +[[package]] +name = "generic-array" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +dependencies = [ + "typenum", + "version_check 0.9.2", +] + [[package]] name = "getrandom" version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "libc", "wasi", ] @@ -937,6 +1040,15 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65043da274378d68241eb9a8f8f8aa54e349136f7b8e12f63e3ef44043cc30e1" +[[package]] +name = "hashbrown" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +dependencies = [ + "ahash", +] + [[package]] name = "heapsize" version = "0.4.2" @@ -1318,7 +1430,7 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", ] [[package]] @@ -1379,7 +1491,7 @@ version = "0.6.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fce347092656428bc8eaf6201042cb551b8d67855af7374542a92a0fbfcac430" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "fuchsia-zircon", "fuchsia-zircon-sys", "iovec", @@ -1440,11 +1552,11 @@ source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2d dependencies = [ "arrayref", "blake2", - "borsh", - "bs58", + "borsh 0.6.2", + "bs58 0.3.1", "c2-chacha", "curve25519-dalek", - "digest", + "digest 0.8.1", "ed25519-dalek", "lazy_static", "libc", @@ -1453,7 +1565,7 @@ dependencies = [ "rand_core 0.5.1", "serde", "serde_json", - "sha2", + "sha2 0.8.2", "subtle 2.2.3", ] @@ -1472,7 +1584,7 @@ name = "near-pool" version = "0.1.0" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ - "borsh", + "borsh 0.6.2", "near-crypto", "near-primitives", "rand 0.7.3", @@ -1484,8 +1596,8 @@ version = "0.1.0" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ "base64 0.11.0", - "borsh", - "bs58", + "borsh 0.6.2", + "bs58 0.3.1", "byteorder", "chrono", "derive_more 0.99.8", @@ -1496,28 +1608,35 @@ dependencies = [ "near-crypto", "near-rpc-error-macro 0.1.0 (git+https://github.com/nearprotocol/nearcore.git)", "near-vm-errors 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", - "num-rational", + "num-rational 0.2.4", "primitive-types 0.7.2", "rand 0.7.3", "reed-solomon-erasure", "regex", "serde", "serde_json", - "sha2", + "sha2 0.8.2", "smart-default", "validator", "validator_derive", ] [[package]] -name = "near-rpc-error-core" +name = "near-primitives-core" version = "0.1.0" -source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92035b79bf9983502fe7b67b5a9fecea7604e979d439727827fd0d8f0d77720e" dependencies = [ - "proc-macro2 1.0.18", - "quote 1.0.7", + "base64 0.11.0", + "borsh 0.8.2", + "bs58 0.4.0", + "derive_more 0.99.8", + "hex", + "lazy_static", + "num-rational 0.3.2", "serde", - "syn 1.0.31", + "serde_json", + "sha2 0.9.3", ] [[package]] @@ -1526,24 +1645,22 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffa8dbf8437a28ac40fcb85859ab0d0b8385013935b000c7a51ae79631dd74d9" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", "serde", "serde_json", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] -name = "near-rpc-error-macro" +name = "near-rpc-error-core" version = "0.1.0" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ - "near-rpc-error-core 0.1.0 (git+https://github.com/nearprotocol/nearcore.git)", - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", "serde", - "serde_json", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -1553,11 +1670,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c6111d713e90c7c551dee937f4a06cb9ea2672243455a4454cc7566387ba2d9" dependencies = [ "near-rpc-error-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", + "quote 1.0.7", + "serde", + "serde_json", + "syn 1.0.57", +] + +[[package]] +name = "near-rpc-error-macro" +version = "0.1.0" +source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" +dependencies = [ + "near-rpc-error-core 0.1.0 (git+https://github.com/nearprotocol/nearcore.git)", + "proc-macro2 1.0.24", "quote 1.0.7", "serde", "serde_json", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -1574,19 +1704,19 @@ dependencies = [ [[package]] name = "near-runtime-fees" version = "0.9.1" -source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4992274c8acb33fa1246715d3aafbce5688ae82243c779b561f8eaff1bb6f1" dependencies = [ - "num-rational", + "num-rational 0.2.4", "serde", ] [[package]] name = "near-runtime-fees" version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4992274c8acb33fa1246715d3aafbce5688ae82243c779b561f8eaff1bb6f1" +source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ - "num-rational", + "num-rational 0.2.4", "serde", ] @@ -1603,6 +1733,16 @@ dependencies = [ "node-runtime", ] +[[package]] +name = "near-runtime-utils" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47f5c1891cec5a03e3dc99f985031408b19516305e2e59d64c4ce52b409e46a0" +dependencies = [ + "lazy_static", + "regex", +] + [[package]] name = "near-sdk" version = "0.11.0" @@ -1610,14 +1750,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81319d4d44283f63467e4f02b6209297b10643c7aeb62e2ee41e0c31b43e2375" dependencies = [ "base64 0.11.0", - "borsh", - "bs58", + "borsh 0.6.2", + "bs58 0.3.1", "near-runtime-fees 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "near-sdk-macros", + "near-sdk-macros 0.11.0", "near-vm-logic 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde", ] +[[package]] +name = "near-sdk" +version = "3.0.0-pre.3" +source = "git+https://github.com/near/near-sdk-rs?rev=613adcab6322e4f830efb4d5bde2a810ae642158#613adcab6322e4f830efb4d5bde2a810ae642158" +dependencies = [ + "base64 0.13.0", + "borsh 0.8.2", + "bs58 0.4.0", + "near-primitives-core", + "near-sdk-macros 3.0.0-pre.3", + "near-vm-logic 3.0.0", + "serde", + "serde_json", + "wee_alloc", +] + [[package]] name = "near-sdk-core" version = "0.11.0" @@ -1625,9 +1781,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3767fc2a61e6577f1336e06d6962a6c61fc39299573b8a25696fd09ce96ffb" dependencies = [ "Inflector", - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", +] + +[[package]] +name = "near-sdk-core" +version = "3.0.0-pre.3" +source = "git+https://github.com/near/near-sdk-rs?rev=613adcab6322e4f830efb4d5bde2a810ae642158#613adcab6322e4f830efb4d5bde2a810ae642158" +dependencies = [ + "Inflector", + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.57", ] [[package]] @@ -1636,10 +1803,21 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c06b45c56028b0e1241b2196397d449091665f3f08d543415373505df5e05f" dependencies = [ - "near-sdk-core", - "proc-macro2 1.0.18", + "near-sdk-core 0.11.0", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", +] + +[[package]] +name = "near-sdk-macros" +version = "3.0.0-pre.3" +source = "git+https://github.com/near/near-sdk-rs?rev=613adcab6322e4f830efb4d5bde2a810ae642158#613adcab6322e4f830efb4d5bde2a810ae642158" +dependencies = [ + "near-sdk-core 3.0.0-pre.3", + "proc-macro2 1.0.24", + "quote 1.0.7", + "syn 1.0.57", ] [[package]] @@ -1647,7 +1825,7 @@ name = "near-store" version = "0.1.0" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ - "borsh", + "borsh 0.6.2", "byteorder", "cached", "derive_more 0.99.8", @@ -1663,55 +1841,85 @@ dependencies = [ "strum_macros", ] +[[package]] +name = "near-vm-errors" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "386c2c07ef37ae52ad43860ef69c6322bbc1e610ae0c08c1d7f5ff56f4c28e6a" +dependencies = [ + "borsh 0.6.2", + "near-rpc-error-macro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", +] + [[package]] name = "near-vm-errors" version = "0.9.1" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ - "borsh", + "borsh 0.6.2", "near-rpc-error-macro 0.1.0 (git+https://github.com/nearprotocol/nearcore.git)", "serde", ] [[package]] name = "near-vm-errors" -version = "0.9.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "386c2c07ef37ae52ad43860ef69c6322bbc1e610ae0c08c1d7f5ff56f4c28e6a" +checksum = "53a100dda565c5375ac061126167afc5c33cdba1f2e325cfae3ce08f4a5a432a" dependencies = [ - "borsh", + "borsh 0.8.2", + "hex", "near-rpc-error-macro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde", ] +[[package]] +name = "near-vm-logic" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6da6c80d3428f45248577820bfc943b8261a6f11d6721037e5c3f43484047cd" +dependencies = [ + "base64 0.11.0", + "bs58 0.3.1", + "byteorder", + "near-runtime-fees 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "near-vm-errors 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "serde", + "sha2 0.8.2", + "sha3", +] + [[package]] name = "near-vm-logic" version = "0.9.1" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ "base64 0.11.0", - "bs58", + "bs58 0.3.1", "byteorder", "near-runtime-fees 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", "near-vm-errors 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", "serde", - "sha2", + "sha2 0.8.2", "sha3", ] [[package]] name = "near-vm-logic" -version = "0.9.1" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6da6c80d3428f45248577820bfc943b8261a6f11d6721037e5c3f43484047cd" +checksum = "a12201244dd59ae79506767afe7a8f51b5eb7bd0aa237d355dfa635f7b777c4a" dependencies = [ - "base64 0.11.0", - "bs58", + "base64 0.13.0", + "borsh 0.8.2", + "bs58 0.4.0", "byteorder", - "near-runtime-fees 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "near-vm-errors 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "near-primitives-core", + "near-runtime-utils", + "near-vm-errors 3.0.0", "serde", - "sha2", + "sha2 0.8.2", "sha3", ] @@ -1736,7 +1944,7 @@ version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ba7c918ac76704fb42afcbbb43891e72731f3dcca3bef2a19786297baf14af7" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "libc", "winapi 0.3.8", ] @@ -1749,7 +1957,7 @@ checksum = "3b2e0b4f3320ed72aaedb9a5ac838690a8047c7b275da22711fddff4f8a14229" dependencies = [ "bitflags 1.2.1", "cc", - "cfg-if", + "cfg-if 0.1.10", "libc", "void", ] @@ -1759,7 +1967,7 @@ name = "node-runtime" version = "0.9.0" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ - "borsh", + "borsh 0.6.2", "byteorder", "cached", "lazy_static", @@ -1773,12 +1981,12 @@ dependencies = [ "near-vm-errors 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", "near-vm-logic 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", "near-vm-runner", - "num-rational", + "num-rational 0.2.4", "rand 0.7.3", "rocksdb", "serde", "serde_json", - "sha2", + "sha2 0.8.2", "sha3", ] @@ -1809,6 +2017,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba" +dependencies = [ + "autocfg 1.0.0", + "num-integer", + "num-traits", +] + [[package]] name = "num-integer" version = "0.1.43" @@ -1826,7 +2045,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" dependencies = [ "autocfg 1.0.0", - "num-bigint", + "num-bigint 0.2.6", + "num-integer", + "num-traits", + "serde", +] + +[[package]] +name = "num-rational" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +dependencies = [ + "autocfg 1.0.0", + "num-bigint 0.3.2", "num-integer", "num-traits", "serde", @@ -1869,6 +2101,12 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + [[package]] name = "openssl" version = "0.10.29" @@ -1876,7 +2114,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cee6d85f4cb4c4f59a6a85d5b68a233d280c82e29e822913b9c8b129fbf20bdd" dependencies = [ "bitflags 1.2.1", - "cfg-if", + "cfg-if 0.1.10", "foreign-types", "lazy_static", "libc", @@ -1951,7 +2189,7 @@ checksum = "4fca4f82fccae37e8bbdaeb949a4a218a1bbc485d11598f193d2a908042e5fc1" dependencies = [ "arrayvec 0.5.1", "cc", - "cfg-if", + "cfg-if 0.1.10", "rand 0.7.3", ] @@ -1999,7 +2237,7 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb88cb1cb3790baa6776844f968fea3be44956cf184fa1be5a03341f5491278c" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "cloudabi", "libc", "rand 0.6.5", @@ -2015,7 +2253,7 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "cloudabi", "libc", "redox_syscall", @@ -2030,7 +2268,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "cloudabi", "libc", "redox_syscall", @@ -2141,6 +2379,15 @@ dependencies = [ "uint 0.8.3", ] +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + [[package]] name = "proc-macro2" version = "0.4.30" @@ -2152,9 +2399,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.18" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa" +checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" dependencies = [ "unicode-xid 0.2.0", ] @@ -2165,7 +2412,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0575e258dab62268e7236d7307caa38848acbda7ec7ab87bd9093791e999d20" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "fnv", "lazy_static", "protobuf", @@ -2211,7 +2458,7 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", ] [[package]] @@ -2446,9 +2693,9 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -2588,9 +2835,9 @@ version = "1.0.112" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf0343ce212ac0d3d6afd9391ac8e9c9efe06b533c8d33f660f6390cc4093f57" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -2617,10 +2864,23 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.3", +] + +[[package]] +name = "sha2" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa827a14b29ab7f44778d14a88d3cb76e949c45083f7dbfa507d0cb699dc12de" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if 1.0.0", + "cpuid-bool", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] @@ -2629,11 +2889,11 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd26bc0e7a2e3a7c959bc494caf58b72ee0c71d67704e9520f736ca7e4853ecf" dependencies = [ - "block-buffer", + "block-buffer 0.7.3", "byte-tools", - "digest", + "digest 0.8.1", "keccak", - "opaque-debug", + "opaque-debug 0.2.3", ] [[package]] @@ -2675,9 +2935,9 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "133659a15339456eeeb07572eb02a91c91e9815e9cbc89566944d2c8d3efdbf6" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -2710,7 +2970,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8131256a5896cabcf5eb04f4d6dacbe1aefda854b0d9896e09cb58829ec5638c" dependencies = [ - "generic-array", + "generic-array 0.12.3", ] [[package]] @@ -2741,9 +3001,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" dependencies = [ "heck", - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -2771,11 +3031,11 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.31" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5304cfdf27365b7585c25d4af91b35016ed21ef88f17ced89c7093b43dba8b6" +checksum = "4211ce9909eb971f111059df92c45640aad50a619cf55cd76476be803c4c68e6" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", "unicode-xid 0.2.0", ] @@ -2792,7 +3052,7 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "libc", "rand 0.7.3", "redox_syscall", @@ -2852,9 +3112,9 @@ version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" dependencies = [ - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", - "syn 1.0.31", + "syn 1.0.57", ] [[package]] @@ -3144,6 +3404,15 @@ dependencies = [ "tokio-reactor", ] +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + [[package]] name = "traitobject" version = "0.1.0" @@ -3288,10 +3557,10 @@ checksum = "0d577dfb8ca9440a5c0b053d5a19b68f5c92ef57064bac87c8205c3f6072c20f" dependencies = [ "if_chain", "lazy_static", - "proc-macro2 1.0.18", + "proc-macro2 1.0.24", "quote 1.0.7", "regex", - "syn 1.0.31", + "syn 1.0.57", "validator", ] @@ -3365,7 +3634,7 @@ dependencies = [ "bincode", "blake3", "cc", - "digest", + "digest 0.8.1", "errno", "hex", "indexmap", @@ -3467,7 +3736,7 @@ version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", "libc", "memory_units", "winapi 0.3.8", diff --git a/contracts/near/admin-controlled/Cargo.toml b/contracts/near/admin-controlled/Cargo.toml index 2354af8a3..1411a7a7f 100644 --- a/contracts/near/admin-controlled/Cargo.toml +++ b/contracts/near/admin-controlled/Cargo.toml @@ -8,4 +8,4 @@ edition = "2018" crate-type = ["cdylib", "rlib"] [dependencies] -near-sdk = "0.11.0" +near-sdk = { git = "https://github.com/near/near-sdk-rs", rev = "613adcab6322e4f830efb4d5bde2a810ae642158" } \ No newline at end of file diff --git a/contracts/near/eth-client/Cargo.toml b/contracts/near/eth-client/Cargo.toml index 06543f208..19857a850 100644 --- a/contracts/near/eth-client/Cargo.toml +++ b/contracts/near/eth-client/Cargo.toml @@ -10,8 +10,8 @@ crate-type = ["cdylib", "rlib"] [dependencies] eth-types = { path = "../eth-types" } admin-controlled = { path = "../admin-controlled" } -near-sdk = "0.11.0" -borsh = "0.6.2" +near-sdk = { git = "https://github.com/near/near-sdk-rs", rev = "613adcab6322e4f830efb4d5bde2a810ae642158" } +borsh = "0.8.1" wee_alloc = { version = "0.4.5", default-features = false, features = [] } rlp = "0.4.2" futures = "0.1.26" diff --git a/contracts/near/eth-client/rust-toolchain b/contracts/near/eth-client/rust-toolchain new file mode 100644 index 000000000..ed83872af --- /dev/null +++ b/contracts/near/eth-client/rust-toolchain @@ -0,0 +1 @@ +stable-2020-10-08 diff --git a/contracts/near/eth-prover/Cargo.toml b/contracts/near/eth-prover/Cargo.toml index 669768d0b..ed23536b0 100644 --- a/contracts/near/eth-prover/Cargo.toml +++ b/contracts/near/eth-prover/Cargo.toml @@ -13,8 +13,8 @@ eth-types = { path = "../eth-types" } admin-controlled = { path = "../admin-controlled" } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -near-sdk = "0.11.0" -borsh = "0.6.2" +near-sdk = { git = "https://github.com/near/near-sdk-rs", rev = "613adcab6322e4f830efb4d5bde2a810ae642158" } +borsh = "0.8.1" rlp = "0.4.2" hex = "0.4.2" diff --git a/contracts/near/eth-prover/rust-toolchain b/contracts/near/eth-prover/rust-toolchain new file mode 100644 index 000000000..ed83872af --- /dev/null +++ b/contracts/near/eth-prover/rust-toolchain @@ -0,0 +1 @@ +stable-2020-10-08 diff --git a/contracts/near/eth-types/Cargo.toml b/contracts/near/eth-types/Cargo.toml index 576bd7d57..015248bf2 100644 --- a/contracts/near/eth-types/Cargo.toml +++ b/contracts/near/eth-types/Cargo.toml @@ -10,7 +10,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] serde = { version = "1.0", features = ["derive"] } near-sdk = "0.11.0" -borsh = "0.6.2" +borsh = "0.8.1" rlp = "0.4.2" rlp-derive = "0.1.0" ethereum-types = "0.9.2" From 23c79394e180c27d546c504bc89913ed28a8f7b2 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Thu, 11 Mar 2021 20:26:22 +0100 Subject: [PATCH 03/12] Add test to check near contracts are compiled correctly --- .buildkite/contracts-near.yml | 13 +++++++++++++ .buildkite/pipeline.yml | 3 +++ contracts/near/Cargo.lock | 2 +- contracts/near/eth-client/build.sh | 2 +- contracts/near/eth-prover/build.sh | 2 +- contracts/near/res/eth_client.wasm | Bin 178364 -> 183509 bytes contracts/near/res/eth_prover.wasm | Bin 130855 -> 134549 bytes 7 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 .buildkite/contracts-near.yml diff --git a/.buildkite/contracts-near.yml b/.buildkite/contracts-near.yml new file mode 100644 index 000000000..e975779a2 --- /dev/null +++ b/.buildkite/contracts-near.yml @@ -0,0 +1,13 @@ +steps: + - label: "build all rust contracts" + command: | + cd contracts/near/eth-client + ./build.sh + cd ../eth-prover + ./build.sh + git status + changed_files=$$(git status --porcelain --untracked-files=no | wc -l) + if [ $$changed_files -gt 0 ]; then + echo 'contract changed, please rebuild contract' + exit 1 + fi \ No newline at end of file diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 841d12882..88f3585d2 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -65,3 +65,6 @@ steps: - label: "contracts/eth/" command: buildkite-agent pipeline upload .buildkite/contracts-eth.yml + + - label: "contracts/near/" + command: buildkite-agent pipeline upload .buildkite/contracts-near.yml diff --git a/contracts/near/Cargo.lock b/contracts/near/Cargo.lock index a66278aff..b18aac541 100644 --- a/contracts/near/Cargo.lock +++ b/contracts/near/Cargo.lock @@ -10,7 +10,7 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" name = "admin-controlled" version = "0.1.0" dependencies = [ - "near-sdk 0.11.0", + "near-sdk 3.0.0-pre.3", ] [[package]] diff --git a/contracts/near/eth-client/build.sh b/contracts/near/eth-client/build.sh index 1b273b69a..0e995c507 100755 --- a/contracts/near/eth-client/build.sh +++ b/contracts/near/eth-client/build.sh @@ -18,6 +18,6 @@ docker run \ -w /host/eth-client \ -e RUSTFLAGS='-C link-arg=-s' \ nearprotocol/contract-builder \ - cargo +stable build --target wasm32-unknown-unknown --release + /bin/bash -c "rustup target add wasm32-unknown-unknown; cargo build --target wasm32-unknown-unknown --release" cp $DIR/../target/wasm32-unknown-unknown/release/eth_client.wasm $DIR/../res/ diff --git a/contracts/near/eth-prover/build.sh b/contracts/near/eth-prover/build.sh index 1cf0ce3e5..53483792a 100755 --- a/contracts/near/eth-prover/build.sh +++ b/contracts/near/eth-prover/build.sh @@ -18,6 +18,6 @@ docker run \ -w /host/eth-prover \ -e RUSTFLAGS='-C link-arg=-s' \ nearprotocol/contract-builder \ - cargo +stable build --target wasm32-unknown-unknown --release + /bin/bash -c "rustup target add wasm32-unknown-unknown; cargo build --target wasm32-unknown-unknown --release" cp $DIR/../target/wasm32-unknown-unknown/release/eth_prover.wasm $DIR/../res/ diff --git a/contracts/near/res/eth_client.wasm b/contracts/near/res/eth_client.wasm index 08b6f117a42fa76ceb77c5e4236bbf258b18223a..64326ea2acb755805c9a87b8491f1617d44ec439 100755 GIT binary patch literal 183509 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%0DoZ6OACntNp6CKsY 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 E2H9nf$N&HU literal 178364 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 Sj~_?A{YB2=pmp?P-2Vc$XE>_> diff --git a/contracts/near/res/eth_prover.wasm b/contracts/near/res/eth_prover.wasm index 73799053cda100b656fdf96f6898e58a1326cfdc..8dd12a539341745ef182cf260b6bebdaaf1d445a 100755 GIT binary patch literal 134549 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 literal 130855 zcmeFa378#Mb?;kMXXtL7?p6upMA(j0=U7Qv!44uZk^;U-m%?CTa>Gq{@8f+p@7ani zuw~;x7F>9bYqf1*1l0t6@wNe2rehyf=EV!#2BC}4siA~E0)2j1_$ z)~?~4?$(4v;QL}hpQ>HE)?Rzfd+nj3HCH|_j-n{OyYa;H;*HUH$;OTG#`7Zn-`IH7 zRq<8l&EqHh7oFGCP59xNs^}H|3>Vd+^ICQpo!9mv>ct!RLpA$LBaMyLN}{)8mBw5| z{5A}H1h}G23P*}-d*6^!J)R7OCt#$js8$s;?4f|t8ttfGEiSETzYvc0pSt7^>=!^q zchpRc1l;KrYmEN+1@Bx%3nTiuN^nZJG&!UK{&UhgHb64tOHoPYjh&*%4|3!+Eq!GbFKU?FDPk zUwh@1m(6^sb(@MY?YYmtlE2~Q0`WgtbIF=Z&tDs`DN5DW+6&I@ zdzh}-uwl*l7gBryZCrU#ffzlwe9c7{ocr80S32zB=U+*s^0u>n&7~Jy_PleiT)Q?9 zseR>zYkuPiE24$!#>mBM&p&_7#e?@xc>Hhp^U)Wqx#an4VabN)ufNn8(z<-jr5Bwa zout?2+4Z^4-|(DO{&4t`%br`i9SOIOU*V6(FJFJz^Deq_?YZZ}=?!b6Ul5SdqHx27 zaQGKh)G3NUK3b%bg+k$%477-Y5fn@oWJ3s%PtMC7Bb?bUpi|| zD1FIgFFN=9%P!rpo|l~>y;-Y1=lPcg=xZ*yBsy8G|I(}#fpqDW&nblaQc(XCD>Pv%zy5X`7Yc2`T z9@ThF`xkm7jpY4On5u>Kq6Kl>SOwOT{b(9qB?|4O6L9&U{c&70S3wMHAmop!s?8vfOZ z@$vb~e(kX*@t@uoBmrBpG+vT9@TJy-V*%bmoqvlLgMa^j^XJo-#YKO3A&S6UFWP^+ zvh<{rqQ(4wX?JONeEjsqJfE*Bi>Vr)F&;;Y==mAH&Y$t|GZsg`PE*lhAdXY>*T+Yx z5yyhcb8l(1Xbp_Vm+;o&UU%`5@x`D_3#X5dpENwIDvw@##^~c7wfyl5f8#gLe8Llk zA2og&jjm9$2~QV8W#`IL$8LPd>FVL)o)!0a7B3y=hkw@P@$qiAw~}^1$NpQoI9`0x zlBG+)GaB_e^XH2cLTRa&2oGMuDRvH}Y+QHO+S z%xaWGTK(vv_Ua?T4bZN~E#kDtW9#azbV38q~N;}{Ux;<$_GP;trprAy{7Sv=pM z#qncLqj(7-G=Iseh`LUj-%=C)-+caS4#k(pf6BjBBaRldAJf~uy*}L&w0_gawHV5e^K;T@w{`-MS<6Fe?cSeoQu0%b2;Af%C(JT&fg zwj?(suSs6re08!Z`ED}Z*xb0T{YdhX_J1UQ-MYSUP2>Bmmp1;Q@x$bM$q$l;lTS3> z)PA7xuZ{0E9%@|Qd{gty&F#%MHg9RZq4}!j?ag;JztH@A^PSDRnzuFYY`(qu^42Y_ z8(KHEZfbq5b$x4J>+`Kwwcgaawe`l+7v=wEnR*)xN%cP5WK#AGB_4zoNaR{cvkj z`{wrR+OKc_S^L)Z8`^Jdf3*FP_J`Z^uKylJ@>5CN*m&9$|3&$9ba5|PYS&qu53lPs zlF7zoGMP0dlISU8QI=4cHPZK}HpR&q(QqDLVNcG8M!Jn0$sBETsPbM_$r^dIB8fVQ zV8jziQ-7jf^JxZ(N9kzX$>OY;$LpvE_;g*CWX<$__I5Inq~7ZCb!u3T`2~bk&XQ$~ zbY){X<(VEXUzhIkR?F7yrA#j^YeXw)p`n*Du4ovvgwG;tg8nXA=N(hGki{#yv9987 zgSzQkUm^lUUGN3U6Qh`)_=%Blo{rWz%{r^&WMk3S;a(!>qx6;61OwtU=xk!09kx~+ z9B>2W+_r=?iit(}}TG`OsN&50lY9L;b40FqmmBP0bu#N(g12{EGlWEcE zZE@V(NEZ`zGnrJUhkH#CRn6p4);y(${EX`5;fuSCg6u_|MWGJd2CmgfI{8NRYaKL9 zvc}U->9zpgbl@&T5}^qAS>m$L_=9d!tO=;LDD7Md)dCH&It@&U47<>EIAvEUt*K|} zpNWRRAC+8{!V~39?t>)3RcC)z5Mo7NbB&-!#`5%^L|D*kq<<-n!lMx+BdHr zXze9&g=Jmclk_1&5mKa6YU^Zrj^->91s0Xkq9W-ie?$kw#%h_KIh|DGL~3MoSdY^m zIOv+D%!e3AAdP)QGTr%|3adVG%}m%b6dr{UyW{k=0@jrt6(X3$ol^rmfVzB044die zq_v$V0Nm6vLKkB!l$1D+(|bgmUOX11Z&p1k`;M+6j8bP&luR0u5@oSIoiA$FF*}7hozQN=qO5dp8x%YeZ8ykt~z@O`F zp#c$jh%~BTJ{(D}Ho%>Ym8>kUskQ7C2E=3qYXJ;7FB20Jo%Gw*SD3IgPo6ra2IF-- zex5!CPrA`4c9x3EgF0ulnIF7*dMe6K&G+j!{h`aoF9SLQGwkKxnFNLY3E8`^1KE>d zVW;S0)`YQMuO&LPc(ExJ$(rY!lKzF&cWBi6iVHxilS1x1!$xI6hWizywbaBbYatL= zShF#>&CiJ$0BbF449nZKN)_om8Ke`ak;Rf&5cmTq01jCz{r5uTxo@S9gu6&}FLuKZ zeEH`AEv+LVYb}Z#8i}28pI2&nFJM*+)bK7CbuMUGPBZSdq^M14y~q{ktqtqakDBPA zVWSy;aIzQYtrzq}RQ`{nXyhBaabr?%^M*0Fp{@cn{hG)_d4j5-htilXL>h}a>08um zA)*FLyVB}BP6$b_O%(rD0HmPqFQBlwpvs+g7DV~h>!$&=FnyDxHR?R6f{?%eWfL1pe2u9M@f z;}-54B^NsX?+Hguex=s2s_7^9HJvzB%$o25{>~#OWHVf;?;ntmP^XZh&SW2uKw6Ox z%lO1-zBrf9Uxz<>gM<(+DG;Qr1n~VhNyy%w24Lu1g)-9U#Kg1NYvfHSw);pp#QV*B z>n7Nd{!NLHg;)ABn!dx@B9Kh;_^BAcWFlH17iGe3UW@m4*!%nZef)h_QDDPtf(7;& zrp#k$>u=u4cSr#8lhc=kt`sq(BK3p-EkWm;idfe|ZWLhTTkTE9IEd~e>UUD~yR!BD z{T}vyOPsvl!vp_rw51X{i4wO!n^eKeqz?%KfwkQ<_CLb$>5De8y51`oYRBGrQn=?zfagIi6xMd z*D<_dg1br!^x-`nOFt?ucQN6m+z|skHPKW`5WK#?%v2^y-{oS2zd?A6EE+j9q|p_i z&i}54m=%!Vodqa8;38HGC&9volL$9q0HX>0*r*Y=kY24eF~UAt$%x5KVX%2VvI>s8 zRG)Xo3{Xs8yNN`n;TB!vAfPG|!1dUx*mXr}5Gvho7y8e>>v1HFMBXr`66QrIi=}ZQpP8 zBSuuxf?i8bv7NQE*3(ZpGE&CrUwD(H?sm?K0&5P%7_klnd}OK{XHVyueIi=f!zBHC zYX`o-fWjC8LY^l$9cWpMTknCnQ6yuG$HR1-q5f~Sf|_F4hn0T0A3X;ifbA& zdZYOxQr`Sgg9fvxZ$LgFjP*ugJ3Fr)>~W>&rceK&H;^?5seU%Bm#`lesFzZB_jlBw zUyd1rT_HylWFsWplEoG3i(V-E!U)*S8ImiyCKX=ONu3ir;{jHX1JEnObmhJ%Q0Q9) zJN_8GgVfIkB@vZB2cmWPo+!k~fmLXb^QpNy+x*+fvmI34TyHN`)dgx)Tr;MtxqNQ{ zibC1Jl3@aJN30g9R(2B>+z}7*jMTxQcqS(Ymx7d5ugz9gx`qW<5*rvGpFn|?B7~o#pG~a$ z0;Q*o$wPs|epS2|9ISfD5SqWY#t@!vFX@@&6>Saw^v}K5B9~u}65Fc}$%fE^dO4$o zEwvU#6|j^D9kx2as>U$v*4WngDEd?HLj?-EQeklsd&F{Yf(C&hEgSofUV! zQpr{&F6jA$B&Z!|w#O@F?XhSzf#K?AcL>WdO!iklR3aza&Oc8x{CWB*y^%c5`2RVl zy2c?vSuU5i0q(%@C5%#@qIF)bFLE8pDY0>=mDy+0dqyjp;ZMD-=BShRvJok7q=` z-WBRZy%D0HUi*pBXT@I(J5SGHY*Z?6ChmjGb0dzT@#F6FA+jKbJj}0e% zEhtDhmmwyAWBx=^x4r+#v_Bc)2{fp`V^az}ge#x!dmvP%ApdzTm)p5~reE&l5*bp3 zX)c%JM(9n;2LuW&{7UX}S>rsvK?y_yxydMBYEPaiS&8z~*JZ=yljZhg(%)GHiOMHu z*^}k|&K^wvyzX$!6iTn7~*u?`P{Q>c9MY5l3^>cV7Qmo4yQC*Q7RFz61|0TdN0r4m4wJLKt$I>5# zb%al@CIC8SfmUaylET{_UF7&}(S}g&zamFuup4K`GjjZVyP=q;S&V(Q491QNJ$6hJ zEQ9`KiNbX=3WEc0BDeE!1PZb($uV+TbtKLjUXnkbed3VoZ0w=V^kCX;Ft@FJyumGD?&@Qk7(l$3<(N6#p?; zHSz~T`J_eZ$kYWkzXjCuLWCRaoszjW(c*m_6Hv7{wr*Jzt&E_7Q2BqJ7%kV;vIa)v zJg%B6qsQYFS8cwXQEB6G@gH~F_+@Zh)>!UN(#9%O%{Svf40!M{RN0JUa{4v$-|06B z)=4)Cjn&D@f2DXph)t>Xi)&UGI~r97`SUg2P5n_=66{ft&F2= z$ibB9Jar;jWMpJeZzDe+q5F)V%>qJR+1&&S{3N?#@I=?o^WudD>9dSI+yPYYh*Vq3;lwqKDxGk!n%y@AG6&ws zvm$>6EeWYi*5s%8U$0fWh3xHcs~_@drcjsyTFml0OsA?`W1cA-!X+!)c#Zo3^Mw{T z@WSqz5~7x(6`#b9p({_h4mbNV_YjDQCP|4p|wumwISV@xbinwm`S5d#zjvNVr>Qhd5p zAV15CNoOoe&a6@%XGEx$>w^ZzNV4an#Z8NioF!yC?S9PgkXY0W&*S3LpA<8EmcZIl zjAGO+lk@B+MKL;J)8uufaaDo1(x8S=|5CJ$7||u!bZ1qiIxsMHrj+A#tV_rru;e2I zy+Lc9J*YJxd>Ex+%x=jQR4_2?<8hUt>YF1sfp;$;Zkra7sSH^axV|hJL1yTdi5*Fn z$CLu)Vn@+}s>sBSqLHG=@+|j=`=#6gG#OplSXBu3s=h8Gdx{Nfa)&($-PqihjFI-w zC3i%eCU^hpaF+wqm%VC%qkvZ zG_6v>RteUH$B=}P6|6MyU44|ex3Yr}RY5^Ln_^b0%%h~1N5LG$!TA?62PWAb)&n7g z{#YqQ;4v=Qyp-Uy3WJiPq)EQ4x}VVf%`H$l(a!u?~jUN7`Rg1txp^7>xnB^aaX^3_ zByCpk>ljG;Z$E3K{exL$4$4}jLM&v$mJinnb)3cR-+$I<@+(m?X`zMNRG-~uIZuQp zDsz?ooiOek1N-eovyY9R4U@CG+0+=eHf351xv@U0$U}_$%;0jUc7Np7 zaJl5g&7d3$##y4!p;e~X1OFKbjY9!d+_ zj9*GYlDuu?dj|$-7VPNHX!;F%zqbB^>i1doT8=gh(UyyPj7#LW2Us((Ap7O!BdmQP zo4(BMgV)b$FB`kewMQNm7859Eu54u15P!11K!Cu#h-AdvXf-{UQZ!FgF}#j3s!y~k zCOG8U3<79dnSz`x6^N+QZ^v6+YOAYYhPypx!5H?mZ6538sQR4nmL|4o{pu?ekokw&N;P@%@UPXAJmW_V=l#RR{E#c!Zr~V83JgE8XBU8avX9Z z5`B;fY>gG!nZ=U|Ko;zKEoRVBYm)GL-Vv>i1{HfX|FrezSG);Z44UtIDP1glP5<)gxFiKbttkDz z;JjM@9L)-vw7{#=h*jv#?f#RrNL2ztC5RX}ni`V^MtV_0L+- zD3ExKYo5;&SeqmB%WJAq`dn1lR9#}ii_+`tayUv~T3l={F0L;wZmZPx)-@K-Nv(0YUk^pJ&gDfM@ z+9cA4)7RRAlV?20M$*^S0ldC`bF1Byc)!7JjR2@m)U3s(Juz)_G zmcC`M;H_3LD~>ztQHjZI{kLzkTc~uqU4#bjup2}7?RLp-h>|SnJFKXL_|E>@JMA_A zx~u=$yX@BBzS}N;SR1+T$BeaIqnI);EH}w(61HtuU(avby(z3Gw{?%LC~6X4w$q0M zp4Tt|Z5g^dYzh0Se7}B!*0+7ok$w+}R$aYlk@ttB>|Eo$@`Lu`SO_NVxvZBU^BZg! ziw|YPh@?w6yz9_hmeP*|nEMM0*V$X^yG(f5_l#l5u(iM+GC2>2zTk|k*`hB~H%!<1 zq6U+)FV=60(xNZWV2kSK^UJRA*t=490M->8z@&90kdJl+-n63ZNolJ)>t=Ux>GkrO z$)p)L`5qZ`3(~@}{gQriw9a|#e&Pl;f0LnmTE54+xpfn;qR#b6Qwzu0{Zy>smDp6V z9W*LTt3@AbJ7rxgArs@ub?KLk4d#8TdN7`+!$mdr02S5tiKvpF3RT5D#MjTDoUn`b ztQ{_TBzD;eDsi<(@^L0YI7Q9$^xF2w264S1r9YvkiZC?(ghGh58i{{4#Il#umssQx z2d868Mx0We+cXJNl3}VoyR5Wo`c~_zuK?T;uF)!nOgs$UhsaNPadpEhmgQ-enN{I; zAwR4L$>3v=%qAfEsAN)`fBZFfi4MBB{w?*toTO@y80Nm5p=yvg=DwVsq5)}e)CD3l zgjpVGX>&-kC;?!(l}3)*#p}bq7lud;Eu3+JWC_Bf=^^^JB6*=*G7q#Oc`;=$qme(1 zz(WX>=69g^mZY$x-pghh4H#65XLAc9ui_j#-q{#T9NgtG=lWR zj9^B6)HMiz21EwHOV#4)sp(Js>!!CR>2%p3{!SIsj~ZdT#q@qNJPypc+N>h9&W`bF z?6QCS;@(JLgVv5QT|PqMLLPe)o#SRVxUvRlLVr$A|5T8Z$>N_1cZWHr5ly~WeU`xH zrxzor5vami^Z{_0-dvh~&=4(w#Jmqb0uBgQ0HSN5}fV+0GCe#l5S zB(yr&5Qd&r8YB6^F?(OzxPq@7VcHun&^S28V-)EQ2%<#Xb`b_Cp=PheC4lQM(dPcK zm5tqyE#Fy^XqPpr>XcF46q3FP#hv4-o=jp>A0&P4!(I=M-$2;`F5IYzx%b6-1yB!fw)n?1Wc4i+qL#Y2smXz{r-+lSx0#^T`&u52WYpQI@2bN ztmD*g!g5Se-08-JbE;$#1Uv}6caDodYTe=U_g;WUxp3m$^e-h(J=+I5{FE^ztz^FC z>|5Ee?dC^U*lFzc!}Kz}+vq2WOh2hh<+_{@qZm(>$nbif7X~vtlFeI@2xHk{DNkXD zO(Mcerf&v`<(;lz;J6~$tR5TYu7F&xqIjnWAi{1nMg@aS881nKb~De>XD{7A7tAm* z{kI{T?<{#l954igt4piwwONQVkK*gAV(z{h-c=XQhz=rwPaBggi}lFHyps7Y3usj# z4Jv>o#R3wO_uVX9G?j!w!S-9*4v@c;*ZfVqIhcQIkH^+&k)w11_9S?L!*kJFa7MGr zIB>jCa(@4K72}~ZnAMSdPt7chEQ7Br8{3E|u0e0|$MPKGn{T>Scl#^~EOvk%{rd+7 z-VYR<6@{ts8VaiDC_K~$0@ILhGPwy!&HN@uJKtfYLG2HmTrF4H$*zYo%2(h*toubd z+`6|$&kN+*hFefCgrTy0z9#*-K7@r(U5hTucUn6m^7L!7e^ zDh3FN`>gh&mUvAhm+Q}l^b_V(07q$*{il*{Kj+jdzpPf-8BGvWwnF2|VHq-{V>hz&PVYBG28o${3>v_9c#KyF=Bw*8c3X)}{m- zFFy-92M&V{5*yI*nud;R?!BD6!82-fhvd{;s0nC>ytH!4Hq72j*kkJB7^=^24eIzX z%7B5d_TfWs-;ynTk~ZnF#!taxvx&vRDgg235&5^_J`js{7N@45I5N+j$Ds+7Ys-@ zRT2_7Z%+wN_F1C^mklznu~7Oz^`IN{DjUj?Q$iNxp(-11Ce0`|CK8W1+$4XBWLx_YKfXQYqW<^f3tpfsmZvzIvmg9aB~&4b|I5JF^6o)#U+< z@QFu8(*s9LQ?EH2O=SZ_VUKwOQAElt8XMPcu8?cojYJ|+^`5!0nn;$5q-Wyp=Oj`# z#NjvvktR&Qp!?QWNW^~Z7E)xII9f8vl9m>8RS)EFKm>GTH)pdx*2a;D!B(sJb1nw#*r*xCf|aB?T+KVSasm}^1+`DY&aNVL+jt6& zbzUdmuJ9u7=9?_c2&07ZSf)K@31pH=ouakvYVFLl4VC-fD{HW22WSji9kgW#@3|I>Fwose7j!<%+;B$>jXJWO?q+9h&M?&b&X!@X6n@A>oc0BS) z1m5wvabKkcAf~u`Otf!_^uL5NFzH(yQ?ogOq;Ef(}RS zhT3%jWPdRO#WJpKH&0JR`7aeGJ7tcLb}SvVC%+0zW7p*mkuSv-FK(SP;EP(>6@ri3N%`ygoNT2`_Ua%KIzS z&Zu2&*|auE<-gzMg&~)6IWcwMh|5Z`2GW~Mp5<&ae8jbZjt4RNj*C&~asoV;L}zMIlV0z#z-c&$1I`?%e7HH3go88s4$s(rSY-oXscc(J z7*tXyn{koiQs#Il`UaW%7xg-sREbG37>j%e?BT5fow3Q%&?&N>S|~092Mj$jwLED1 z2z#zfDm5KONK_ZyvKE6Dms6**kRXce*hsY$W zjJ!Ht$_P{`lt$?|Yaw-|VUi%ETU%u&b|~wFGLgi0=&4)0sMm#(2>tQO>Qcho$Pa_m zm%Nx$>T7J7A@z040s83xl$Og5p$u+?JGXE=JF~;($x8>1N@(_%#OMnamKiN zfzNHRsd?IOr|<{LtOxZ)(Jhs-ou@<+dd6gUA$_`QbGI$l4nGU#kvm$om139!lU_U6 z#pKP*B{IqigX*D9TgU){?DHlPTYsoi86@rQIuPJy{pog|PV!W|m`#qM0Z%1{F2{}P zP=?A%F*R3*i3Nugadi@dYA&|}JFFp)%sTZKChd>|YlgZThyzwC8i2scQFfpmf1KEW@Leo@~celNbF=coPV z3CGGoF~q!?t11-1ZU*da-6F5H=VY>P23Uep0DR#!VD#Tw#YYs!a7z ztBy{ic2IglrsCrKg(9>qFs~!L`!zL$Z%)L|B;Dtn^e_@QwozRhkDX;AC`l_0Y9-wy z1UB%Di*rr^Zy6#P{tT@!(ug9-+u6Jj)BVsZahly()|Ug;gFv?pp|}fb=gmL>OdYl4{Rk$LX_o%?_5$LGhJUcYPQ1;kktSs zh7PMVxyEv-e-MU7X7EdMCQl7N4K<39w7QMFu;@khpP(%?_TQ_<>ODs-{=NbVDJ8UY zxm@ZN;K5?SD{;T90yi7(h$Ggb!kr~I2kOm`jSjS>T76|*e{&W3-)JO5Rf1LlHfso54$j+vm z7@xm@P9IR8xF(>dDlvC6Spn+VJyvv0AUI*Q)wrM1!TB2 zVMhImlRL(^az=BG5OUR2tRCd_3(e-REvfFy=2gs|A}~+aX*rz!G4{YXg)a}l_=RFT z5sUze@#1fd>ngP+QCeMEP{ry7?)CHA2Vu>eHXUU8Pl4f#!^Chc+~bu*Q4}>)YD0c) zP3$WL6}ST`MQK=ec%E3oVNiD1{-(G)me3(Bu&J@V1?6z%t!xY>gwta-mtT(khst~a zu|v@(fj!TLkYgycD2ysO`4D1-c`DuzzLUKLJ`ANPjbzoQ#0D+lsR$@F=lSiXQ`+)X{r1ltKe zIOV>RjBEr>$jTrg!j@(YjtM&}T4+~`I8>KyF!N3CbMnb4WGry z=&yX)pdZngj2?Vd?{_|5i%hmR>zffYkr$`mP(QsZn3u#Ne+ZuBJXR8Ss#uzAeQXrD zZ8Sg@y?R`j9DmUuJlYAT9z!O~33D?^zJ;T+tWtjmDFz;94W7|yRa(~AqH{iLUEJO* z%)+fnZFzUyS!!K(oL*?ip@Pd3fe6BIxIBKyRy)F8JMRkdwe!;Kq$^v9AC*SgT9}@S^rkN~qzo!eT~UUwyDlcg5$(6^YiGyh^1ED3hsNL8bgya5(Wv|7-|O&rtN zqDMg!L`cDhA_D0THp>`k_w?2GA~-!8XDflE*5mYtp>>jKbdT3Z;a2f3^i9aOUT%Xu z!H=mxC#h)|`AfChjmuXy&NIkKdN4qif1tjH%aSdzRA8ro#=C+mu|#YvJSxDs8q%B6 z)>#Bob&PYfG-xb9Dj~&@L6Qj!ZRqI~JB~+#G?x(+_j*g8Z8MNb{yF#C0lDZLdta$w zV%$C}KoR(aR%rtbsUM%LpqS_UnUyrWa11~RBMfL?XX%)!%u(YAEI63j2aN=Hdufor zUo%wuXKM5{uF>q#FcW1)1WjcVMsW&OsiLKk5-FA?oO>j#G_#tS!?k-{hiw4DS=&8Q zE3+$yY;HB2LPr}$(YkpmMCeG>Rg6McSz3c#Hh~clTn#(l(_kx%LHa^xIk!07a(12mgygxU@sLuy6bqg$_d@ zOXM97BXl?|>;KGTIW#l&h0QBOZR7^@XEgo3IA?Kch!egvn8v8$sE#5{hQ2GbF4t+aH+B`f+o6r7aw0ZrBp^XiF zj*TEcw?6%Q$IIXxGG_j{CC?9jD&$!fp{7g(En;{Tr7uyOo=j@N>LN|?kc|1hicrK( zf6cEeLwH0ruRUUzUpr!$UpZo!|9HeTuRcW0>O!+tM zeCgY+qavvvEz$OAx&!uvRSJw*^N;8zeW@z(jqi-y4`&1B-?A#2)TGKo163&VTAOZF z6H32P>z=+^=~hAP*1Z9&tI&Ump}!E;VrBJ*3IFsaE37KL)b9VUIlFj=VcAS?FS=-G zIXZV5I=6&=rLR6TI#Z%~4ZR;r0&4d+9tM-E4}r<%Bf#VteSNIFq;eeT9o9WNhXqo> zT7CKWWx^yeOPtX z7C?JpqE`zi=)Ywt(pMTVZi}wZ_6_s@K_VUxo+Oh6C^`=m)-8De6{m04Su@Jn+F~X( z$BIRti_c?UQq}TxMOuZ@xgp`xG>xm0LuAFiDvN0?dUi{b#|gVAqV&DOnd`2W+*_*9 zj({h;35UPaG;v3hr9=upnAj!5ZzsqPDdE=Aq~ws|Bm3gWkm4F9a}2tl)!lX#V5>AS z8LwEV<^;3U9+@M}|0zo**`h{zx8Y{|9rJoRpAVPf973i)q*junlIbg|L}X>)9R#0wzR1#s`R3P6V~8IM z`jB^*-8^hsU7Yz~QVp`nPPV2H45vICFb z>|FvQxH#%76va=m)ff913z0^{E`5{nh8j(X#}8TnOVS-u!dj?J&@NmhF6Q9pdfY4e5np^ouW?tF+;tUSt;sguuBbr}5ZtVJJCJ5=rL%3W&fZC9r~5VKr`y{n z_gV2uvt}26^)^X&IB_dp%E5y6+pIiJ-Tt0sg%}`N4uu8CGSl0|Jz8W(`WE-0L4V$P zxHh%fKOwMu-D>D1j!l$TS#hOD5*&tX#<=11PsMRbh3y4cCAR8cW76b=Kb&y$xDd2C*N;M(+%$yy9JM;G;8Epc)K{LnciuubwOk^$F_{Xi_BVKp?z(K z)e0sVEeSKd z6*$8ix#A#@CQi)UFr%UmszEBGvM3}A(54V#g+j((x>{azcBrqj@2GWlNHJ6oqok$! zQN$-GHR%$FK1@4)JdizsDeSR!Wx@H@=uvYPbvnG$8d}q*zhy|5A^vFU2UJJ$Zh4Kc zeul2V2?aZ`Eu6%;d`DUWi>hF3ekc8|7aqEW-N&JYchp1`>AUo@Di6zN;3E_Y$m-h^q?YBJeyO6aMrr@) z_`CH|)Jb>xFAs@d-s3mVij15JO`WbnCZ?s&O2mPvY#-{R}X@Ls{~X#M4Y_pxAa zBr1qqT|L?a-u^TT{v4W6+l8T!Ix&Q5yT0$=)sBEC@@RT= zV0};koh280z>L>+?+VM{t~qU<3MCE&@YoBM=hRC-C=9d~s|+^2(VV&YxK%afL>v5T zMsBuO5LrXkn$OnMA6QeXWLj%)ubS~T zi@saPdVjTSMzvv8W8n*eU1EB+WBLp*Wlg{0^L{9kGoTD9)Q!%zUE;Q;C-(7{I{eJu zuv8VL)NvbH2FRZp>WgMTvuc*)XFQgmV&~3Ve;XEvapiJo8hS?x|pf>u)Lkzju#@Ab1{?y(uJ6YUx zXZkQW8!XV;#6Bep>Ip@bz`)0&#~u%G@}8mqI|)_WkkrLsMm{6I-5ZftxBVFG3e{Lb zjwrp`l2_C(9Xi&OXO6XPlTp^h5$tdnJY=bQq|6qF$P+DKenK(Sgj#bIpO`PW9LtFB zb~COTSB1_U3y`-D0{Kh~G4io|KKp~x?@6fmd;@~RHsbW(Eo6`KTiGL8Tz`b?{|MzQ zVlK-M)~>fCRXN9xq>p(0^lEE7!u6$7;gYX56{UE(^7;X;iz+N3On)p0-542>ED67z z?A$1Dx|i!8sm95j&MQu1KSrZCaARtIEvsRnEbi?gLx=oNOBp6x&Gr~ZBE`_c%54;q zki6@)`^p)zD4V{F5k*nX$Rc8a_`R*c*k$lugP+tFeduL9Z|#Ci*nP{0c9%MUtMEYGy+MblOe zI4}26tl_Boa_m;WTA-@I))o#DI9Q^ZRO@>U)tOY^YZx>3ON{Ea)E(Uo)ZJU*sqE5D zt1O!@-3l>;ugTlPUNgC`R5Z-*1HC!rv(= zrgEd01Me$0imAMxVpAM!zrVz{S>iiwH5n>v3jhZ_6ysu*Bd2-;IUVXNM^5=PV^I`{ zI9;JGVB5Wy#V#B#Fgj?Lzo@DjAZw##6^O6XV7Xm7KuzW+N-U@FL)5L%Qvr1@qfP~22JgaigwmvDmduAa;K@`P?QVXDb5buUt-%%|J8M$#+0?px6c!o z$yC)h7%nnjBlA7ObPxqHAM-gEw zxvy5Tof#Ty5Kzq4gcYSCda{?TPTMtGXG9-Pza31NEsLPP>@8;KW5z|30aj~d5W|}| zgWNjXT;FTv#cE~8k@xclXx8{c#r)K=eJclIlB;}Sf4SkS@_u}`umkIX65n})nA{5{ zgBZ-Cft>&{45(1YK;?#k%4-;?+%QmiKL-1BD)*T67jAWCQjGQj#WX-Nij9_w^*7tW z(PpF|F&k~F_4Ua@_K%F0FRPOeI~rQHV%A84x0xMB50~wam1?rvkEAwLF7-24DXJ{3 zwD}@eKb4}$QVE+ovQmJ{-RuU1pfYNOL+VAj;-qUYpi`ylS`ECNns6NIYO)(_w*k@V zFrI$b<%?8}b{ugMx{R(#T2^JDPJcd35B)S_mqX6hPBuCIZP~b4d(r2 zVeu_uw{tuB8s<%kNMYtdt~rm`u6MRqCilo!K5Q?#{V!{JA%O}Ycfv!QF;%*V5NO4!m3vRBLCBdhq4{ah?=Gxf>cjI(V z7#PUeVRIzl)a0`4wVq(3%x&_d)>%CXrbX{m{1h_V@xa^X0S+52p!4`rlQ-{W;lvty zB4YtwBYp>yu$NR0ag{ zxV`*LN#rR_#>)1<1og|UzMUqYBj(n8G?-hZ{=FvN_dp~tq{H*7y%eM4b-=H0_W^#D z9kq3gfH|_e!uWIjfdA?z0X$jcJ;xs4U#TkGh#e-es+k5LD2R{7E*gR zt=FXX!x-&j1q?pKqi*t)Y%D1}LD=TozB}c%@6PJlw(t9RtbO0d(w%y%YIACSk)_%@ z@a^9E%%VI^)0Yxx)|3DBTD4ov`i5KmqzqM-W8#?)xkHQgxJBhv7JP`o$ZV$3CK=Of zYzD__*m?+rgCMz>{I&i2)oy8ERg=GDT~aw@+bg%!mfLl93{@K>w-415OPl3+$Si#) zgw4sa_y)Yja@nAqhv3O)?_xaDie$3*r`UNj-&eBj%4guLY-yN-imMUR=9UdF4_Fi< zShby|pl7T668jPcROi%=B#hlXYSL+uMF|m?2$tl)8W=5IsKfFMRr--sqvX)|W|mNR zM`n(bt&0{VQL8UZ^sY40e+z@vEf%Q;K>cH?o1oSf#>o?jQ$#_A4FrXAErPOuMP;?< z!@A^sD*{2e;YlAu2?-11`cRutq2m)Qh%62$u&bbm6N>c|+@Fciuo086D3>A%4R_?_=%vKg({)Hs?lenZe#2X-Io=gme1ux8b_y03oc zd)_oXg)!zu8n|z}Ztho6@vUkI!)!2e1KFA^OQMSb1fNqC^`DR<-{t2}MMh_T9+ul&es6v2~$v%=a8=MBz ztd4%Ft)FCaX(2@6CxwRb6PV~?nK3M9tuH@KX4UzLy2Ek>hGxM`TWzg|=u(ZJdCyF7JH$Y&t4Z^l?HuHY+D;8uz~1vZbFuNwj(tqRQX%f2egzzHdiGRF#O2#!P7n z1!&5%7Cqj3HgDA^Jp+@LH)Poh$C0}C}q}9Jf zj%W_+jj6JaT1;3IPE29DZpawlaF%B~9 zT5s=1Id=CqJ7eOKE3ug+cW<&xI)u~pAweHRa`fS?70N0>3;02t7B1NAT44Hm7%ix& z?mx%29;`fbq*7mDqe&IBoame^rx{RfmN3gXG^0muIs46~IczhV_&M(peWpiJj8pPW z17_1EW3#r@oIk8$&=r5Q@<6k&CW#Xyg%@0Z7`5-SdZpU4gR9(1QgwDlPY&nMXR%ce z-d^#>#YyOL1$%bJ1%DFR)5GvbzQ<+e1WNxSGtezeYry%Bk5T&XA2dv*mzQ&a>4l$l z8rKbziOHa!tqIGXLBm8q1%101Sm3%vQkoV283&6*faFe-iZ8CmRQ=|tRX0bZL|EP) z%#q-g=BPV~U4Fo>ZgEW$%=Y5y3*Ba+W`=;E2?yU&$qyw>v`r5zE@ZTA z0mEIkP_JN&Oz+`jNrpej(up%m56xwkvO?^S(k$KGCqq90on>)q0<^1NfV9tD5{a|~ z@)BRMj&>q>VIeB=Ml~uQ)^ioq#&hlLH#NsmRJPWPW=%%!66XAGOMHwH@|8Gg9Iu!H z30H`Wbe9r-U;u5Ga52H+3MTtYE#_-sbuH#QfEh)KE9l>jxQO}sqKZ<5^SE1!`5LAA zcIF-w-B1pSzV=4cFjwLaw(qqe$gU$E6b+1fSdJCOJ$p`=+1S@l)B&?0f@)ZSIjaoF z_8R?avOOpL3YqS_JFdnIRm7=`iZ%@rE0E)!!xV~}QM%s-A!Y+Pa9Z0H@Q=eboZ{&L zdrC-CtraZe#;@ra@}!d^d;rWN($W8D<#BzCQ)BqRHd(9O=}Zy=xZcZqK%xbN5>pHz zblbB?hirpPFp&z6(>q?m<1EGs|GS#&)VCiT-ymYgi~-MG!5vQ)rql%U$Rmgko-ix) zP|cW%iosLKf?`I^tx>%BScUDxxvQ-;BKJknOA8twrMvn{TzxpZk_V5OEd^mV4ifpv z#3ocl6m$$R^RAl8OJoViC8oCU#A1eCWFxRbYA$f|oho zN}JYvAn{$Z^f2Jfd;!undy4hM4J8lMEbHJQ(JQNXY;#^LnZH@`oc^nj zveNWU3k{0X9Qw~bpvH8$bNB2jbizf%g;sjHb*B)?SGo>8yj?dt6^E9Y_)1~?)Qt~& zvp)OL>4;L_7gAB@cdK>?(Ly_>a462d7~;}YD@nI0>@~}$KcmIBHS6%~`rjNj*HO`q z?bd)@=D&bJaP(=-F?PbiC65CSYX4Yo@}&^TKumRUSGxz&DK!mabzVK(Y$BfR zYW$(y%q5*ssGxLY{8)uBac#;F&y=(Dq2wET^x_HBgr0K&n^A|AQTG z3Bv-%uB+om63t*6vYLfuL!4Hj;k(%u&s^-=1-wTY$#+Rp#C}JfO%T%x0lA|(0;iV< zO!PP*q>g~{{X&4fdK^z1CS&-j3g{~CJ&T`)q(<4lRo*;^d#X*bO3wG1lpzQCcL=Gj zTpzSI)V=(jUanaNn=+#G^jb@F%3EsCH$hx=iRMD6wVVlZwJMXtHw&%rG(JMu-Dph0 zJceLuom{Ob(KbqCBVl5y-ASl3_>WDB4LSqF@exLs%~pG8I09qMx3Xhomv9}`Cd>3r zyJY2ziKjjFDG;BwaRI%{Dv>YN5eg2%E5YnjnPlN-QCCk*VHqD3Ao#+P9;W)kIuz(9 zXOO@`|6Q)%^j!wt@;?$Pe`M3#>AUTbwqEj<74d7c;{4K+o%Wn5Iq%u(D1DEW*aWUY zXPPIp$0Sb-2Hc)nVJIl8`KkdkJ!(LRX8N-b)4p5X9sb743g03 zlyiEqo#8&)q#hEex@^EM=Ktod+e~fTCB2o1hp9tNcG^Z!Nvl3d5X6QlcU(sh8mgOnSb&u|3;dM-?=+aL1VW&U3B$&apUEi4Y8>|j z(eU7``LBRPK!B4idT}2Acjmn$Nw0uBRkjV&C^p+{#fh}A@Lr&*}a{j zDh!dB!H8mA0NOt1xkhsy^|M<85}c?nJfJZwd7N%>)v@+v16;1ma)h{EjI@mFvhaxc~DGn%)LU<~J* zjpvW01_H24H-r|&p;qXqs#Q3Y%f}ixGuP728PYPdv7eH`>&2@H3U!Q?G#tz${8I5H z@VHYy#^u#wXlG5;n=0*3Aja#U@;cQ?Ch47Gl%jXG)ai(iaXBFem#pkVI}Bh=j}UE- zK_I0c@5+1hk?9|XFXGm>ypqw3Nipq>VVaTQzma$37c*Uqp zq<7|<^$o&=Yt)dfdYGd`7-T;KBB_{qL0|8h&T4BOLyW9neDp_?yxzE7KbqtxKg@yU z2uOxdDvl;OSRCfCKR%YTNnRl&HRbj*f0#pw>2W#C!Q8C+eY_8Ictb(ZL!C`x>+{t5 zVb3O6r6Y?Z(Zt+GaW+YgIQI#P!U<3E<4a^jG2JBkX@&+Dc9CM9n3iF}tOaJO!vOpE?<>{4oW zKfh1Sr1#6&>CnH@MJ=x_+0LpUfYYrc8g9}slUfc4^)nqgf!R!NPd}sQB_=lbBQF24 z&@q;I?ZV87cgq?X1`zQ`-zqeyWe$^yMarr3dlh1}ygiOt%iXt2h4P zUB0xrwB-L^1&Th#ZX+Gv^b3Zi>@35=H>)EUUB-VZ$+sv?neU-B%U9kU9-Eh^hp)AJ zy+GXqR^?TpO4*G=wSE5)we2(bhirS3Wq@b24cASi(g&OsMGrgwll5tFaRvm`4J5IS z^pe%KLO!;iz|}bYy5q{QyGlWd5#$jqekh4OUNrik-soId(Y^|S2pY(tj4Fv!$*^T= z{>GY76jUIqCb+G5vBx^=^k`I$@QsZ`NvhM_VfP)kr&dnK3?X9^5@Y{IZ^OsB%|}c0 zkm#5%cDq0qG9K5@XUs@JF_5cP-={A#jstknQ}{kKzo+&Z1z=J#N+vOyXck2rIHi_(W?E!|}8hPq-@zQanwiH@bVFIPt<)}?!egu`Y9B%V;5I1U>1O3>2CUmBQ;u=P8vO^_c^cRq9qS zn0pYEeFjCAs)Q1CbdYV3kbV>}9wiExl<$}rRtR+ZQ^bvcR-YI{Bq0;PFntbF({C6c z39!G?c|*7q+M;wz!6<#?l}`pe5x^ECbv5N0gYC*oY$59C%|(>Zykg5-o<3Eic-Vj3W{)d41r@~gahgA*m!oIBmgVfei9*I>|BQh%KH$!ih7mT}oPR8+#LUGK# zxCZ0YXvr~7pFW*CGR@*GD2QX6p?xMl!|2V5cLodd ziiJm}DSvMuDn02OHH5DYLikjTSg@oPy1?|p04I}ys}{Zdm0&O?P5w{9i}?2O1}SM0 zp%1-HF8CMon{MYf4dD#_U-5!{TpVVVt|Hh~LX%rnJzt*RW3Rch2w!L|w`_a((!cwL zB)&%OX2ycX9;wZ^&xla78FPFV#cY*(qr&DG0lqj$#Le-5$qb`AR02UlFJw7`?%0Rq z@ug1NLR(NLY|uX$Wm~IbD4R!2@wRRsPm(yPh`X;IE9Q*H>IYLY4gA(VO!^H&<;M%Y z)+|H%IcvLVZFBhaIL+3W`cS>yf~kxd4(b0l*$RGRscM$yhQqo`pTFV%j zWKy^EeVuJd^$A=}g$4s9a#=>nXH;!$%u%oFQeW_ z$ka46d)5L}6N^4U?p0sWK2ujVAC$-GEfzemOkbr_$ zn9VNGO$&CJZ%K@V^fFx8RG6y>a|JuZl>C?T9q*{AXGmS-$iL8;Q@Lsw z%!y2(=%~Idkbc<6HB@6DUpy^W;a9?M{38fsV5Kdp)<^cSqMU#-xD=LHQ<3#+npYfT zubm8R^NR3#5tO%S1fb}!58I1NPgv_3GE~L7${K$}0qaskN4#^wr_c=8vrBBr7w7xt zU=J&Q3mDMf<;L`t_nWE8C=JsKr-!L4=~3^L(~t3*0Sc+hTk>Tj7I7Ru_blitK~&bfh~>Zb*?LTMVU?w@b?q*EGNqcuk` z->}!1C=H{N(#Rv9Z+Pl}i!CD+L>b01?d$_IP0SMCyGww8?oP_6zMd@qw28r*${C?L zRZI$JNtW*`dwA^0@|Vxyl+7+NwvDe)qDHQi2LH-Pq#Iv(Xju4Jq4Y`~Me;^{b9I?P|7P3c1ZVXR;F`8lK1uHyp`$oUXjl#$cU&w$c0CB?D}V&B+6wn zFN;~yuv#57)uV&?=*(l+|5`6`?E2sMFNokVKIb>p8RFH|qai8+sXyfj>9yesqS16) z;arnBIhK_D=Y>H%XzP6a1f0LTC>*~`%3br$=F&9cH~)LM!^DkOKNku664T?7us64H zA``H>{-P1sLJ!rs;$%GHm~ny?>o6=AJu6=k6pMJ$LBW~7rG(MYR~X!kK3Xb~)JyGC?E3T#(9JjTjwTNDq51&FJ~Oa7IxAY5C9C7# zK1Lv%Vx^B7T)mOQb%ZZ2k8qoeRDRE$3ZlMZdS=muC0(^GJf`~7#uz_nkfyHd3j#xZ z-6Qj3tLFs!Q&+K`#9@=khCl}X!8&-Nbs1F8`lespB;DqIY1eYfnZ_6lCdl-XA_kNa zy&61o`)8_Et)1K-^C@F0 zoNszp4d()Au%G|vJvk%VmUNNalGuGGV<(e%2FnKF=rC*4%BRYcv0cpFih{9eY<^nb zsZpnJ%&=Iw-A*~3!Apu~TF&iZ-IwglXfT}*8hMVzbUI=Z_T*MDk?}l)aL~UQmb@-s zh50-Lh(pTffFUp&Zw5~smjyk3Y$?E=2)4+0@=uquD=QX`|DV`PH;OHT>n(wtuUc-zS@; zN#bS!>vS&fe7BW8J7eZ$B~y&ee215uZ4fo@nAsIDwXHb>AT2kT%4QzlB@J_Vx@9NBHiegB|Y? zVZL>oJsjYDbg-umo?*~zql2^DzcFcZDEC$%yl)nW!Mi;ebjR#@4|_m^`G}pR-B85C zjt4C)p>RP}$c$9e3m;P!Y7p^TTBzuWuYbnnc!Cdg)Q%Zlz@&{lPDE8& zCG~GN?kQVAQuJ#1*Rc@Bk?1TF`E_snJ#+AXV^3R2xGbfwL$7TaA zw*TPX>eOB)2(5hs>onuwUrsN;TZw$5`T@qOUR?7-zkjm*i*@->Rz)aOv?N8swJF!d7X+$o|MrqvGTGc z(=@ZmAb)3c57DgZn@zmD*2UxLXpHCw8Lu8D1J&7x2XCvTtOhN4#xCzjmg0yOd7%Z@P(#$>2} zWHyI!kplHdHb--S;wX`lou96xRC$m6P`<0YCzi2T2MGaWWc#$0$12V8H*1L`jW~Y# zA-0*s!4SKWrjW2j7}a0PI@Ck#qkns*3d2f7%a~Rcarjun*!c)NP)WP|i`1)g6H82sHU7&7%qNxJ zsCX4-G&rb z$^lIbAS3G=maU~X3ZXpK;fk7cbDx(*wPShSZTYNn}`@>-(3JpF6RTY=B^^>_r4w@D|5oD_(JC8I4Q*lQly`#myjis$p07uX zbp6PXy)?n~j~XgnwRzK~P2`kV{%ZQ2XZhauqItz8f|n-sU2xdHI8akd_;Wt1kp4)# zhNk4B*ds5H0sawP*QqCJsrsS=p#*pw<3qVoE36mI!6e{ z{5Z7B;?jRM4pA8lAWixMd%5~}lZ`}(NzKFB4Sce!k#6K}?bHVyE9E^xgf_`5<-Zcp z2^(!T*9J|MGX?kH*l?k^Fgn9ls^aR-L%FwqI#T!6g#aabS=>49n0)J4G5KmOYN}`= z(~w2!BjN<&JXE-doOzbK@dAlB5~EIK>l7%7W{b)zZFjXYkD>ICMF#(2Y(;O1B@7-F zAU@Kg2Sw-fVXs4qN?O8;l80h4t;XK{JH_5p!&`+FDipjijJuJjbBuGgGgeX(hc$uQxAYPYl#LcEQ0Ly8F~=Iu z3{3%1E$;SHk$fbQ$LT9X=T2udT7BSMAA8AbUVq!>1p~2H@FmJB`4&1@7}iD^LuK{T zS1M>vzv7dxM@F0X>Xk5`{lVJxVEq3Y!*HR~TU}s#YWg}WtOg0M9jrvy5-Rl{PEqzo zBE|Oy)v$RwSPYZbrLPyH^tCGQ>PeyQu;q{X>`m!o8ysNULEFaGJqKHzh5@dLdM3T^ovf|j8ii{2+*2HJjdd8Nut6Qp70i&R-RCS z8^gYQn9%4RPEd-(`Zxnky^lQ0AF}>+qRAw4s z9O~&igK8q(;SV5<)MxmFuTyx)y`^F>Vwz)Er!f5?Be2#f1Xx<9u=T@MilHjjDcs~G z$FNReH=qjBa%_5ctAyZK_3qH?NWPr(33-UIB~!EgGmejUibFX^=0!>fA&6T)E)3i0 z?WSLZVPwNB#X!J-YTT;F=`E%jHdn{T(VPdbx&wywz zi=r;417su+c#%7;foN+)F{DQ$yf6RXn^!(!bYYJ;LY7C|jh2rz($HID0F-ODiUK&4 zjp=8UZ=v%ukIx?S)67V@kt5(xZ5-7R?KAvy>1O^|3r_O~?dB$_^)c-;+)$wD?yv2SjeUEw7Ef^Qu#4r&N?-6p=76TO-ZR}LY#2=4DzfC=`~fpcA+G*dGafE7 zlT(=YK2IkXLS8Z!1%OU_3@m+pAPyi)&N(H&nsxtbiFT75dpz|**{X}d%x<1~iZ&*6 zTlh^vJ2o8flceu9`cSMFFYfUN5$2pwr4R}jM5t{{Nq~afoPiV}?1&~SXn}`p15c$R z8KO#pDp4bmw1Gy}0e!>{XQ!AGh|vxC$rdMD@c*Zu0vvxVp&jAvJnpsu+s=k{o()^b z1OZh+(A7v>G&$mk(CBPUvfER0XxjAo|F?H8aCTMI{XdWUntNv^Hy9u!A)FZ_1ju9Z zoFu4l0trMAP(XZ>N#=%39y7_zBtWY&fvBh`Xi@PUEEQBxw4$x05*6PT@n0;ys$k=z z{qt99X|)yQ|NX6f&b{Z}nSl_X?f=vNz{x#(pMCaTd+oK?Yp=Zzuxw?X7I41mG-3M~ zZ9%F*!Bm56SF;^8*mD34TA1QeG(g$sjmOYWRa^anQZu-%KboQM%Ch}}hpuQ_@-!)$ z-#h$(EyMyW|EzuVlE+~VUDH@ z^S$~Ny}`E7uex6z;uHItOPG%5M?O?u{ZnOCUQ#z3N*ZX?N!#6p+3?qTZmOQSlEE0W zJ2$Gml_@&K^_aVv9sknZp>?T&S$*ia|r^3y_nac=iG0=!EtLV#a#zm5RE>=LUOANv-7pfLl6ar@RDUSLfD25Q6T zk`@N-M5irZG&V9f?k3vO+<4l!o2cB=u=V*H>SWW_=ZC_kn7#ZQo28=B$^J9Np)>S+ z*pptPW{~E6QKuEd2AYea$D`LZ=jo_^_zr_>+)oWnckRuh zJ+RdDrhFFd_q?H`PlTK(UtKTVYvFALs#|oo)}#PlhYM5ETOAnD_v!1N-~gzqH$!! z+vre=3evYJ99ckpjzLaJS&;idQx;lA{pcUel%nG$$X`>Qp5Uf*H=kNJr3-L3U&MpE z+r*&@`ln4cfVH#L?bewgz%hel*{~;-PBd(iNqm>jtc(9<52f%~{g%;qWn)tpQvuH` z!v~e|Kw%L`Dw=B0O~^a)(0G^Nv3*KtAfD??^?%va&&bQQ6ANI~m+(4Qp`Bh7idVsk zs^4v`W^TPZ@RZ2c5}e$FLA4&lFBar)d1^MrPvR=PV}FyYaN<*vj2W`BpK%_ho8|Ql zGj&>yKu(x(RKdE9X`4PBvLQBqB8Z5uZf=iPQ{U;tKE*ePWJUZ=+6fSrVx8O%SzyJ~ z4Nfuey0I5w=~&rn)Kp0Bj9-&L_7LM>nvu+6$N8&|I+|gCoJ2AcTPx7AbXi||L~em} zmHS+IQIqk-ssSBZo>KQ2CIN_{=SQA=yy(I6J=<)Kyd~Iyj;FybSSKJu)K&Rm^HOy} ztFhlDIg+PaaEhjHYD5y@>MoUIuoU^aN`c+wn46(wuAOPA-BUp3j)w#iT2fFBAs0A- z9L5x{B{~pv(r?ec8{k2fq72l}e6s7V033JCjr?StC4>Xlc2jxaRO>2mZhiHm1 ziL-W0Ws;Nfo$0~GZGn!<N&Lw*D-yCzy0b40G@FRqT#< z%mCAS_X{`9WQHs=C+j{X0j3XUtGDA2(8@&rnE=zJkRv%gj}c*?2{7IJ`3%5GjY)v% z58cS%v+@@cGs>h=H0kla*Xth}FgfOX)&}D^-&@qh%&TKcXhMI?pi`A}_xj>M?3xea z6SmCtz2$y=i}3;LSe@@?#^EsoKLHpT!l%|%XtahDD7es4_B~6qm`0eXQqrz zQxB_{NQ)=eduauY7ANaHKInLVJ%CaxS1_N@aav(GHklN-b1tb6vXs+9ZXgf#X9$Gp%haf{t~O0pvC&RF%qZ`eBHZJwFd5V9r$z#AIJO>BfNzRWoYA(rylWjBGv` z!oiI_M5$u84Pz8$w*xtTp#l?d3HcSpAX`{OJ?0a+G|4$I)+II&P%X1+@*`j-;ts7x zz#Ig3VE&}APQ)E>rVN8jr7aW6eP*&rl$aE5NM<_=>3@tAKHx^|f2b6Ga=kwkDLgQ_ z6lO1g#Ck&ti(JvcyNSMb`65k;aMLcL06j>exh|na)q=^%=CAnK$S(Z84PmUP-|kS6 z%wcOJbJ!Hg95zQXldMNFQ?MS%Of5+yGnHB-vyP-rWWIJ0nB}baQUwOb;qLgMFH0}H zJz*EK5RYgBj`OGSfa!`w_Di&l#aC4?i+~?HzBpC*X^ig>{<@V9y{k2TIyWcdXqA}N z8o9#coq9wyS}}DaU_1k@myk$d-`1;R$uM|neBGVuiBrj41e<=FcJCT z16yk?e0qf)FP91uAx8tNp|npY%G6=i)7oOZUCI{F8`@}M(F(J5@e|8sDr!hgsl5hU zJyJ6BQLbFWANhcf;p=*x_TB97c~BlExX#EUHkvc?a>*HaE)^!HaJpymEt$Vws!7VzVcrCtfYNSTsqyew zKJg2ZiR4df$|vMO7CQN}(mmmPrQ!Hs9_NQKhQ6>Wt9!1~<*X#0Z(M;yV*#~$7o$n% zXGYNm)my;qn*4B|R6m zY-vCq4Ea(F6%H9Z$Cbl9^GJA2mw4HPAi@{80GJb}3!U05H;bF|t|!8rsb6M;8Q;?z zjXY3*@|HLdGP=xv_Sh&tREuKS#&M1stL-_mP}vcKRN3P@Sd$&YXnl5P_h@ZC~pMLbX#GET0$%=S%~z~_rWsS)nmSPWD@$N%Tx%o#fn zwdRpVHtoTS`QF?Ts%$$wCN|>v+V3G;M_41(2ZcgQCPS!sA~BHQ1frP6VgNt(?LoZZ zT_tDP%U{PG%@8>xEEU00>=T?}sB6@HS+CCIJ4@c>SDAHG_3-Ek$OHrB75<*cRixiVl*+Ha&(_OEoxk;74(WaM(T+z9m1$hGr zSLtd)7Bu>NU6u~&n7A>Uo4`Swm0YOOiz6Htno_V1`=EmnVi}s(5@X71Kh=ayqGoKs zSPHDSa#vFcL#dIB{3@v!Y-$4HH7ua6YR!cd_l3t<7v#1Rf1rKB0;d@Gln6; z$wWsU{lle7@Qvci4;XMxf@`~b7yTA1NIE>-c|{BfiN!>0nv>8eJ>5H5|1_oX2PG&} zuc!y2H55wS%OF^M%so{(aY0$FDj-6rt3#Wb47=PMW5S|4NnC=Qcn?nLxF=lE;^uul zi$7&!?UXLqqLT|C!{Cq#LgBi_r=VnYS3QuZXy*S{6p*O(V8ouR1fZh&?z2{w;%2X{ zRBOr}>_NPyJ*4Ndq`Cx$5=f zuDMq9e2yC|^*DVBC0ZnE=GfgZb}o#d$=$;1EIgeY$6#vxN!_hy{28H7n+rLOks z6UCX4r=XY+XOHb@nefmN0hJCHWG6k?QL>jA3$4E!4soy;`JPEU`o%od2X@s_ zIH1ZqSqT9$lV#kwzULNsQ|T|$)dCO{EXp$xbu69+5)2)dg~!~sjiUuhi2x0D=$>>5 zeYXq}wPho;dls)&+hUZ!LTn|wY%&W-vShS?1QgO79WeT!4Ymrcn_aEOdTBV}-g)T%QbCMrEv tXAOgnaZ7*@9w zHQRVgWUlGt+HT8`3t@hv)jyG`)zF$##ghuH3I;y;8naoPNT}-P3=CB%rlJ)(h{Tvv zusX4UY&>mbp!PddUNj@~tp2uN{kNnZnB{c&2~##7d6oNuhC1A^uN#~@lB3?O$%=}* zrPb^BaSQchqU0D$6j>y-B7Q^6ZvzlQO;|2QkOJ*2MpZ9~plrJ=r7e~)sXq@At!l^= z^wO4UWATwjN^!7OcBMlEjgg0WD&32DCOu5k#{#2;p#rw&zpKkJ0a83l5Fl|{Xu&{6 zQ{MZ9{Tbp*wVMM?xz{Nb&yVl2+z+V@M73=ViBF90&6dps`eeN?5>grRFxx={W^N1& z0I3IQ$fVg4&cPv85mbL`;}|qZN-?sgild~*KNW+IJL89q(I>$19yPQ(TD7|CA8_}p z_o%+g=X`XE%!vCj9tt(+)8y|Ak2)6rHyUQS0wM-fvJ0yf&N#94inZ;vPfI4bu$1$7~hPt_wIG2 z1PA2bj^@BvRR27AH|1?nzVa2}!Hp*~L(%&(;b6TMlTVcm&VmA^_S9M~Gt{49sLjt4 zg}AKhdi;Sb*6qc3EMYTKkOm^fh)4qJw+Q=KhP+&us42M4AO!^=t4_kNWZ)4gyTU_^<4 zY&a(vd~+HYZ)7~x9WZJP(;ZP@C8~Q9Y}?E##n%eP>US+OY;epAo0>>vu-I_Qd6Onm z*D|hbJyD73>ysu@H%-u}_q0a6h|xqB1XX$!arC-6aA;J`z-6qib&X0|`foITQ_>mg z6i({kI3J&;c*+IrqjGV3^(wtVOph^sGmwS7q-)%H4o%L^lMTqX%(FU*KL-MWxFwM& z%-pQrrYf0c#-ft7iE6S(lyY^|BB->fehpXVj@^!L|INFu{`EgTa(yQ|onxH4C(|D(Ghel@IV)>pBagr;y2B5 zj#6^~vYunJ#a^xMc^yD>!FcK;6```@kfl*@O81*%AN}e(4eUx8TvV^Kdx}pIL3vO+ z<8IbWjZbu4xz`d`X_6n(&bT!VWHppWszyg8*h88iLeq8qdI29ne2E8B6UtGS8x)Yj zJb90Gv4?6UM1oU9X!Y~TPq!5qyt+AC8KC~^T|(%Z%H2T|*`}i=niBcA{}{C~b2JB{ zO3p2b$Ep&E(yFC-D`PCDjbhXspS+XO!>hbbOBHt4Gde7zeRn)%XMDd(w8tUdcI>k3 zYf~(B7;9Ztq_q-PE0v_pbP%$y!*KyalK{<1#9#_C`fFXpu+J#fqo6_*sEGf>QEXF< z%;78$4pd-2Mqf1&s7YsWWjjk36u!?;&VzJ3n3UO#Kx6iNb7Q14>a0Vs4e%407GRhu zQ+=Ci?$Q9He2dwT?!_S6fd)8Dix1F$_WyAcc=8Q2A60wEj(XMbC*!4c&dAe*JjGxW z@-#KT{%QKol^Y!RpvO6JKIG~wbH?QH_l+Igry4U{!4ZWPO&D;$daI2|rLQq4+3BYu zaOzL1Pyq4Ux{uSYgm>e%3P)#U1O2Pcyc-liwC+FaWv}wsTi4!|wm=)`q)%+?nh6rU zcFN&z*?(V;^6b{!Rfkwryg^c$%7PuQE3 zu^AgmgpDB57U{Fq9p&bvs_cBzFXRkzULF}4<{nV55!MjF?drJ-*2($5-<~5QqyNOc zA@%m2*xr!VJx7j!Z6Wti_8k3%Mn=7U+V>oN(Px*L$f!^4H?ux5myNd8b{A%L6_XkYycyc^E&5;VYeSC+&*>^KLR+`BEO_|cd*~)b0xicD zVLRIX!V(9jp*DHBvxP05ftr|u%u1tS$Xiv(X=4i_>B%=w={6TPgip^lmvMq=T!v|K z;!x0lQ^95MOJP33*!;Nc-=qTxnsUaxU~mZ=%WakDXFc0|H&T4$Tdj{e18!Eao`!DA zADhsl{FyVm3ubW}ZJ4J(LcKe$fhu79vmf8BOomZG;z!0f-o9j9372F8eUL)I(1&%| z!BV8396RG`Bbgcs)FZB?ZrDnjjC{EcAsE}JKErAhSHrC*1z`1i-};;V@BhMmKYxCu z!(08nyMFbRcYXSMw}0SrJvvZ7x9Di9G@i~sRK`8#)|{!3;26TJVGP`5T=A#jMDjC5 z*<=6O9+1w%{25Lz}^px>MPX`=|$K4b-L}M zmF(m{qtWLKor8ZjO`V^@W^oYjQ=JYG$*rdI-wTtIisY7l+-m)3$#k7_Mr`#y8<+QXVHCUBR$qsd-XFLR;W7*n9lhR~(;)+d2JCBq zRCQwwV8nE|L+!Ymqm>Rn!eNxMN!dtA-@DWc!`{Cer!J&jH^AiLwniEq1pG0{7l(uy z$SZ(KNj@_f1q0J&W1H>v$991_%BbWZ+AFlSEY%%$)ib)2b+Vr*9HYbgP2DRY421 zi7hO_(x%SO4Ia@m7^^G!3rit2=LQeywktq@B3Uh=+y^a}=7oDp$f#W&*o(m_k&7iV z|Hf3H8S{)Hayrh1iXuyu65%?f0;utAMo~-SM~s-h>;_{)Q#h+X$Eu3F>YGLW@zo|f zzpkQ+t*TzF-0C+h4X+hEGG@#S_v2esIxPkJNKVB3K*mD}^G(J(M!QZY{W#P~Yvu6c z2KrRO5GYB8{%rS*yTu<$C?o+M7WI*GvuTWL!p(?mnCno-FkXI^7V4l->VlFIjH-lT z-xdv(azmgPY%KxER;eZ+3BuB6ayhXiULKxuuYY;PM@8_?_BfI3!>B^uPne< zAJQyE-f)odT*}Yc5~osZ?iS~xXS$1B5e!a4@E92@itFXufT4mn4JJD}OiLrkw{ANJ z0h20aJp^H>yoK|IlyM)Fpc-6F<||}L)CdP|s~kv3&B+4nVy1Jta^Nvb8tg#ZxU=lQ ztY~DX3zSOe&x`kq{!}seGN|MI-WEsEmAyej>&xIcL2S}3A=&}--weaaMhx(l%;-rl zES8_ag3ZfJa5P?1eds`4lo|%Ez%zYM;}Q?zz|;fHICh*xhpeWoni{Qz4$r7OZh4`y zXfmy&Ngu&Qen69B29@MgQ^SD0)AWo}VKnN8H8-h&^GTIW44m=D>|WkbL^2AJs_o_< zJJ-ybkiF&(%cXDf6NI2lY?(C$CJQRVK1urYv|A6p(gm?wln6)N$vR7q)Rojsd90+2 zRvT!8`u|DYMLYbb3C)v~Q`&I-f4c;C+5dZX$^X#^OEF4G;Ayf-M2p75Cth=Hu}Tao z={7@znTw{iY6u&xU>>^(Hi|8OLKoH(Mpc z^-&BQi%f8KJD{0|lII-jWhZRnge5#rTNjGRLHU&9OVM(~I$Gwv1+W2FfwQQjN#ez( zO8)z;F`$2UeXwQ=@f3vtsUfO2=W{`4cd~0l-^rutVvGuAgyLW-N-^@24C*c#xK>Ia zbCbF>F>*x5a6pU#31KaDuscl#Kd{Wl*;;SgHDz>$*Ytkh_ns|F#Bfi38;-OWd!2)AjzJ`I%@j z(+Ul9^6aCgfF12AjM(}_4Qb!y@UT&l1lEE%#N~=TGt7usM&4bEY&ZVBG;{ zp*d90WAuLNQ0b;}d6l)CDz!R2DL|KeVl$-hpcPk`}Nd-@X(V1;iE;r9YY%mV9+y%v}m@I z1Lw4*|4=`^l%?sK8N6V7PKgGcdW~7XI3Sre6eCo|O;9(F)59}$cySU%E&Ys@9~iAR zHTzv9^f_MKlI~)QLTv#qYYVVv903o5i|w?@Y5W_n6mHBewaDsHo2G1;Sd%WD+Eun) z!{zwLwiBWfwa10g;jS|ND65UB?`rE{s&^)}d8)0$z@Ro(JvyR_y(TVSCX`0JMpdS9jormZ@B*B+4qTN~FKA8M z=$uVgj7nSaw}PmUjbnIUz%9MdD|#P~uyu%~O-{Ls2vj%5saqX~$s*?#5E-B1&aM=S zcoKy(wN;3x+`wLw@tu5NaUR+JLT9A}>?35<7_qh}R44ZnpFQTUW$@e>h5!frWhXsp zuWhTSroEdeefZv_^kdCPB5VJg3?kja{GUK`fD~+%jBV>G3o*edF)hybB0`$NI9xlk zGZ*-t4m)Vmx8~R{$YANN3=z7cdG(!n zpv6D4yN%YNL1{=3Bb!)_kW-%;gdBlCTs43gWQaJ_mO<-fBpSi`)A9GRr5Uoab&Z7U zTJql69a`{Hf1nQaCCBc|V68@8>m7Ofk~xCrLkzeHo4kDs zsFBn+ewOmm)qhWCmj^xECKB!}V72#`GZwm)o9M-MSLNb(AuMp)|=Nv>|JvfNg*CBGSNp*0rNtGN28$={F1r3Se7@=wO$Pztu zm&Lq6ILwbS(kXT^!bbj4QKMUiYj^okIbq{ky%qOnWW>9TbF!A3JV3NZ za}so4p;)DPq9GOw7c*9Za6lsFUY*Zh11R|)OA${jDKapUF5Ib#8jORkPm@-mJ3 z;@#y8?+%99h~jv!!Gw}AM<_^O;ssl>B*+orWR4-@eh09D*#4hFyl7R zJI{t*V{2gv`S`)+fuEQTZfYjRo9oHdc{lX${ZUGc;t7oFW76d2It4gdm{X?!sb{Se z5WnGXsXRUrdQH}SS2y&tj3Z1r|ztk6x31kT1tNb&c7bE^^5evy2TQK5Fu( zO-=rF!7pb_yKs*4jfXf*oqrLYzRE+hTCE3TIURdo`d$QGNU^6aR6jG59D#}i(74@) z7q}C7^5f2uc1H=6L>$BfZ`q^;LYE%3<`wV>L)E!|X>sa;jq zYe#vo+NEVP&~SKnw1~l}*HsUP1MmW)fI81zE)km@e0(KpJEudl`c?AQ*=Pvk7~tBP z9HB4L1C9d_YiBg^giBz05sC}zZ4JaTP@JtsYfRL;?t{Y8qd_g_-p9#lr2-pp>`7!B zR8W>?Wn=GvnQZKJ_CY%Kp+ke~ax(sDuUX5`AgZ4e_L|Ngbgy+xf%q`zRPa>}!<8XP zpS2O*6&rq%*fqP)I0_Lk%YGO(_JMCZE zyE_-cK5YpxgROLK<5G|*hEF2?g`4dRCZwVvcHRYZiUbU`YsINiOqjGG1VrO0(KLUr z-DSxpoiW9mHJ}rO;6kqT?l7+I1V$rNv4LnO2+!Rb`zdGPyVEdl_gwRc5kpto58ED(0kZ^*)77Ntn`nGN{rhbEM<3>d^*y$MHkf^OiDw~o3^SE={D(`V*q2Rv9OHk@gBqL zmHHRu9Q~lXI5Q67Fe=W3$F#s@8#T~6tS;V;Afm@F72jbZZNidbo|;R<^R*`v*&KGz zn?aKW^$~eFfNTP=9Kji1Ciqe31|G@J(k=1*&NISfjY`J{TIJ&|A0LV2ttyA}RP<9t z3{hgf7p?MEa97p}BFaQ>7%AVD6sL11!Q!+~x%v>WZ%Zbv9;E%OXG##UFF4aTMg*?W z6F+KQffvsWmNvL;7pfXVv&zdyFvC?I(E#!Obd?Y9(YA&r(CRCa2sC*o3GRZ$%~^wV zia+I418u7Nkke)6Q94A?Gp7l6>J)NQF3q}I2uGUl#)bjPRex`eH1@jJxAJ9Z4$PP~ z0^BBZ<#3Yif_5aih|kKrS9#7&ia*j&r|@3MoZ0W-1HUPJX#6C43@Y78q1Ui9&@Z&6 z3jK7*Tr_0hW{_QRvBjn2x4rT}X8B3bCp?bH5JGP@CGR&Brg-P`a;Pep+PMAqpr*NjY-G=;Ora6+WDDfQc0{E!pNmAWO-QX?cDOTwL>fP+)kzj5GmAk>qwB%sZ0ihq)tWx%t%WP@PzV&1F(`H zz(m}vE>NYFd}`&9`j644{_k~@H`{;Su)@jm4{n#t5^xl1+o6$xC*{iMA|>6+8uG0n zeA98x3R@;J^FXg-j$~pDEN*}o#`*VKMX&WI6}*U6+hcTp&M&6&wJ~{vQy{#+j5+hi zYf?5sM?yUn#m#poe+Z`dx5hfmRbsU6JcRPCBTj7^uYM!MNQ6lwg}@xOiMFnk)K#d= z?XZn;05RkLL`+Pe=s#(I$>9#%aoSc$mXr%976L^oCk_XfH>aB=7f(+)^h?yJI~HPc z>&Pv{`Ezul7YaV5IaG^C2>gxm6X=U&g=C+fya<$;#WP;Rao~=;Lg_c2v;}qz29j#F z@M>Ree z?MH3+U7|KnD3%s^L- z5z?9*{ls?4nY2Sz`bu&`72-Wt>@95*WkXG10;h#D-lF_SHx988Tw#y?{&$yb*%{e_ zA-SyBjYtQu+~IhP8ZI?ulL^?39fe-bXw!;LX|p;RM+kLm7f9?1)xo4S>l*a-#JeVk z0)uB=RDbqrF`%yHA=S8Ew5jRd~}i06Y0Hj9+K@kV-utLRSc(NX;BP-szR!2Cdp*I7fE86hG)gV3r&x zIibnHR7hJ_A=%)mcK9aK4)f9rSbhxC#Hzd89 zs0vkp3S_N^PKOJdbT}A7qQgmjaXK71CHz7BR555NG2iKMsEN|yAX>)=ZK0KbGQH_^ zIBZ>MXBmiv_pEkCBCDN&U}mRcHEj@OJZt>JCLQgjlnhFa4B#)_&h=`Ojec1^Dg>wr z+?GW~!@jv=lo4h|!OZdL@zu$YYaI|AWjK$M%LpnB)|-=Jw4@R5XQ6{4Ik1T5lu)s;tZ}X^{l?u?(;$6x~Y;; z_@G4RC3R}v!D@H`;wrvQ{w^9xeJs{uM$xMWyrqU=CbI9{8ttbiDC+UR%6#WIgNPP4 zlaQBazT=f%k4H8w=zZkbog!4T{-!P=rj84*^5+G#5fPvr&L5u$vE5~ClaN}Jhi)H# zJyjr-9{pmMnL!C1bYk1yZeMMsji!m~rD_|f{MZDtJRH}3M$CRi#F$IL91+B$`n zAkw8$oR!4Kx3Nkmp5a@~@FR3UEtlZ;pjTn_1~cV-aVnjzm&X)uVPlZENi+qVh#TTM zkalzM6(q+g5$EH2Xb3 z*3YpoH$XMDECn{f_u~Rfg;YziWNfTo_0?a=atO#2`C0HbmFo(uAuYGsii1@Uut14e zPgj^bLi;*14t3XSo!9J^iDefgZ8p(|Hz^Dp>N*|jy}H)m|RK%JDfL6oblPLFlyjT+5-bc^JQm#6dN=oZZ-2k)sL0hD0_N#PV{j=jkM zK3L8u4jfF%5;Z-XLK6qOD`~2_6HjkF743}kyDLjQ(}S%C<24v)T9zD>QeQ{_CALac zSwZ!W@tV`s%&7vHYgTy>h-72Vgs#09Uo)xJG)bFps|4+hQ*uFNlitK=qft(eyFp6A zKI+5exv@2dW;O+|yJ#KyWg!9Z0Vc8n0W46WtQV-UsAbo<^4is&*49C77PBME&&BKr3~IBO9T)0@ zUO|O!omW*UW~W|NXId3uG|nAhF+0V2%noF(YIv^^vr`%FZZ~>QVs;GNF19?Y7p(Rs zSV(Zu9$&JBzRcFw(%a)7YGIC!#1DI2oz|O5=P`Ld2t2+GG43x^PKf6CYf58-$G_CC z1qQWOKVtmfjgjCn4~A|qXIcA;uYKfnHibP>k%yu^zWsY6TjJY)aH327XvH5Y7KK`8^Gi067l$)T+U^Je!Q%6X3m$l4Qwq>rembuK#t_U?# zR$u-qYir7t+{-H8aV6DhK${z>Dwh$g=el8wf3G$nUag&XavMsf&}D`?4Uj17o>Q<~ zfP|ywnF@pB2zvQ5vb7or`$ZHLQ3X1@gsfR<&8hT0DsAWSBt-|P;%J!F@eV-T?yPl>$v#&;7E z((O|acaeS=nyddelS7(YTp6WEWwhI89a_$H98&seEt5WmqdwMSSmdOSTkB-az+bBg zw+`2XPF|fY6;j}J1@R{ck7gXn)Z_``YYkw9PUCnG+=uTb(vX4ASt%47FroMJ@i7Wt zV9#K-m(a6^1dtO(GP=?I!*|oLzeSBuF&;D2CtP_UHG9k^KfW!m^LGW;RSybh$OFO^ zBJD^N>=Ft|oErB#Q9k_mnE0W8q-Z@rz^6Cy*gs{nfHJ-|n{!o&Q#?+hoT4;Bji7V0 z1?<394sIp#Po(Z?!gkRagOCuXcBmQM-|yzWBLHlmWT@NJEq>I44&H0;f_q0L$qD21 z9Z^}n=?;zvfDIE;iFej2rF|bXfe5Tv>f&AXl-J8q#hjoBX-(5{wQ62<#0L}>RQC>2 zf0C2BchjweTe>Rh%%kB>B2ujL^vDb#<6H7fD9FoBQtj?==cbmKwCMT(BH7Wwa{5k= zw^dPp7;qVQrZvM51zQG`uCAu+1B)T}FYa#NoQk|;2RIcmBiq3+>rp}U&njaxH3o#cnm7H$mcsgcE&89I#Xq~xG0!V>OoHGLC(|z_U$)C!GzdG7AS*obtDV74dXp_ z#$`A@*aRN(*wHcYv`oZGK|5)W`e6AzD!XzK}@igTQCZ3 z;zr0{2?YE&jzzIjLp-Vt%UINf3Bv-xC%>PFjhOF;wZ()Ry8;ASpiQOiQnalz^n8|2 zi~)8NGKfCB8rI9#IrQVQi7q~;LmsC#HSD%B(8xaOF2o&YN;Orhot;fuzfY}g@%@Cn z?n4<33_!KtF0{5e;B9AA<_Y;o8D2o=uV=eZFddDdXBBJjaVpq9z5-YCooteCpdzXH z4^;b0Da@HBCvKoDte`c+?}e;$I&gmxl@C@@4;Usyu@!alv^AsdT0@-<(@s!_ejK0) z3u6z7P=TmNLm~ZCNHa($L>g1Tb?w@wK9?PqRZ(-F?Lje~;u>k943y6ao8bJaMvv8* zY>!XxC?q%u6P$=rvL#sBw0?};5ANzcDpk_kmg1*(pzq_PbPIpb3VdTLlR~&coa!jq z@D$$RyDa!8rB7PaYG#d6aVn^0vLK}&+m?~!6)brto+Y%I*xD`w$8z*95l(6M8Z*(H zbJV4Ud*rZO7kH3dU-oDF;u~4O)6o#}x9*Kfd)>!Ju5 z1&1Jw-e{Llm+_Z+hXDf4*X2`$C?4~q1d2S=_aDEj#cPEDOZjynL_QE`b7T^pp};)V z7#qV_<>6>;jvY~BI(uc0AX2bQqg_>6WPuG>G7uOd0tLtjf~&=49vcGMZ!D6#J?VV0 zB=*rL?%bsl48DVe$s3hKdStSsz?*eMu^TsWpSE`I(f!n53BklZAj8&00U%XOz~l zB|c7pH!kE>Ynt`Y=3M2YlT8_k>oE4ZJkSbpjn{yP&Hc|-fNq`)*vFmUlK}g)P4DA< z|22t?bcWukyI;r1EJ@o24mpY~`J`_BC!QPa*2cDc7kshD$-wp%% z>JReLypISg1Qi}mFs-=JP*#9*cy{^p1|i9EE84ne;U$`~kso>TCz|)L_5H+um{gO# zFK3)B4MhQ5`HR`zdN)W2fUl8rq}d-|63FYT=@U9zEPQ>}O5$neI6+XgoDZQC}qapB15 z@W9~33x-E%|774;%kR}C&uioN5G&p|G+bLav}0sp-|)cbW~#oPde5M~S8{LHu^`?Q4GiwsHM(%u$nZi?*|%-s#=hZ;hZYXkE*=1_ml>ijrgOVC zEZ8`-eg2}_#*NDtuUy%`VP$ROip5J7ZWtOK**w2z!SV%*t!#g7;r5|^Hx{4stKNCE zE4=k^rRjCtAC*b(<$fyHxw9W8rlZE>=>?%q~xp1&f+?bD@{M2`z%cV zNLuAmnE#3U!!zj*aG!xDYkkA>NBXxi zZi^Nz=rQ!v26qn(4-IOwHAY8p<+(%`1A_yj4u$>EWwp@-YYhrb+m>z&4~>j8Fw7(viFS>^R-)CS z@C9kzGpScF3=LkifeEwqqRo9Hn@Ok7=OoV?4=)<&+f)-3)Q4|i1acLb!Xz8uHR@PO z9pVLPov-HpnVIx!xQ{aF%el`!zk>9%%yXr)^}UO<_(NL%UvjUpO4HxqUU*E?_i&#r z|Fe@F7 z>yI>Fm{wqQ<7Rm8z$Tk9PzfxKAxh@Y@G$Zw+B7u0y>GNp-@j3p=5kv9@3?1b*3*x0 z|E!jD_PGcm$~^Z;pPWetq)*7COD*NwNYBnZFOxpKC4FipU1_OrDrxbu6#i+X=eDG? z_&b8<^E1!8Ti$BmS)UIEzc|2}beKh^vdMn@jUTb5i4XESK;k+=zZOCMR;u z;}U!exNz54Uo^gpxg=kfaxLTHSZkeR?XBQi$%T$3-;VceuIF$)mrLV*3Rldvn(O&6 ztD*j=f2cMxcpPGC;!Y>Z8?X~Sg!apkqrMCr>|wpOK#{dQ+`r@mA)r=Bf8A~W!~S8;x@2j+hxs4B8AiUMTdGn zO^cqgY0;q4hmNpIYPE|PvZ0NJtz{Xp+0Vv<^Qrs&5S4VqG<{Uy=1?}Rd61@O@mw-F zO&?8Kb1hAGk=EQ4-_oCG_B5_FT++{<+P+|GTm(^XU$R&P(9>S^UPc>&PqZvvnoBO} zqEE&qFf1;_z8Tszs2tY%K_>k|?#~*!cnzB8WlS7Y z@{!S@9RnLj$UiSrPBhftH`=$+sjlL4=u>^DzfyFfvt(OD=Zy{x_g!2|ctQUznQhX8 z`!|LLCblCeHo&jarqXh=lX6d{ z>DKx4ATVU-&xJNRj#gjH{Yx_GmvXOptv}K7%eh{m1b<3bxSq)TdnM(kacRC>#I>GF zf9ZVe<9>tXxV(+r_jA>_R!jNcxVdj&5aA8=Zt6pHn@q*XICSQAkd_(x(o|=gT?s6r z>oonAB>h4&;F(pD^{JmlX3yrn-L*(F6?J)I->#8bbV)7RBCGV0;i1u5G$5Oaas#6a z(mLNuosvJ#a!<+f;6XBbifJJ|RWwQ0q+1>EA9T|<3)W9He z=@DR)9`be?kZzr(-$7b-UYg!V`dOLuhe&JOpK5rnKB5_(G@Zherc-#*bPCU*`@mL3 zvyOB=uyy=OpS^(JkY6cF1B1?<>l^HkMuv6`BY{S?4WM`>OnzX~CgvTq?YzAsJ9t+* z{F9-h?R^{Zlr?<3w@~Lg>Xc0_9{W_|o+|AxqaTg4-&7#;d}95WGNtLwd*@9=Z>nHog{f6nRw{<+%Y_`9pC5fn)87( z&w3LdeQGCDef=+kzlrtFo=d$4fDKma9RQE|dogM0WDyrrZvtQM(&&U}MfBX~IJ$IL zq9A_}m-H^xr@!=9w5`90tHhP&b8Gi{p0+DqD!FlpcsEtJm7ZTUqnVzc%-sDhbx9A& z&vbKlD!+$1cjxi0=I(Yb;YGL`FaVpL^+ z8TuJFKc7rnt>ZImmK&dLS{1)Z(<%QsPOawQULGSidT| zig!dSxAQAL|D2-_omO7VyP}m;rXR#QWLorK+!o%Y)U7|wdHF4FgEr6LH(igrjQf=S z{)qcS=V8tIfmW19;E}UtJ3cPmz;U93VH)&cv>1SrrvYBN+rO&^|{YjbhPr1*& z|4*c&%yXqBo6`4tAq3e|X?hiD>Fa6wRMOe@){vHbOP@cVwD6Iphe&H~r|DD=Ow*~n zPSg7+FFi0#r}Fx#!Y^*ATHkgE4?7zD3JZBh-{8PT@4BdJzOorff6}zpJJg?-4DE_i zf7p&4HMBI`*0Qi`+qED?AOv2-#5nJweER+gysx!|G`)zl)<4qpV$#BYntnOy8KlSa z8CzwLp_8&3bQN^ML=dO%zmoTb?=-!hwD@V7?rV9zg|y~R`dn%CH%$+=ysvb&ywWNU zB8K~L38v8qtmbWINf@VvA!kuqpX~GO``42euS}mS-TGYhpNdyw2!Z*>+)Fmaxp>2m4RMOVTL2Zm@qq%ZH$o%(Ey4Jil70=pk|XN#Q2d$_LPx{_-z*K4_6$E7m5Ue9$E*BiK=j5utS+4nrNS*J?V zsSJNIZMBGA@7Z%6Pxc;c{K2Z|dg>CLeTiS;^4t6#s{ZyM?`CE4!3f$n(x(12zLK-& z4-eo)QRu>EJm*`T_hK81gv^+YeLMQ#OqX3vxpX|=%>7%quHjO?{#4hsT&ci62;Csw zC|^EtMnl7A4h;6Yx>S#@w{o2`B5#h%PuqSQ`CBQyomX-Bdw)VYrN`^IPxvCSLIayF zb8GeDsnO=4p{;HKv(Ir^D!G{FT17~LzGN>M1J)zBve$oX)%f8S>J=YL(>DO%luY`A zN&4;NNpBFW@8EhTR~EkONef@84)ZSV-`$e;9@6ICN|;O*@A8*s)9)kQ@YSsu+H?-l zJj3hc6&v2QgZQ@#2{NmRjhsKQz1DxuuF-@&i7OlCJSp+X(Z^BlYQku{gXBt}*b z4{fato;$Fk7PCS_)JwdZC>OcelwLP@!AOnFQ-=lzE!r-*fse%-U@Nu$Mg~+_OACt6 z)i&WE?mxFSjB9L!jMHj^kRX+<9ojY6KeR*qo9xU&^84v)N&_F@ejnEjT-p2&l72FC ze$)2Rx&xwTu3Jah%-G8JqjvO1($)j|l4uW{C6Li@pWNGz6PVZ(TS!|XG4C6+qxzp0 zIGeMn&~V=+7wxWXq+mJ?>#=|j@t$P$VDjEt+>95DZdzf}$pY4zar38?HM-(Ai?bU^ zuV1jhs~zub@YS{qWVN{4=kFS|)DxK4{nVwuRS|P0xxXW+|5khA@c1$A-Gqbv^o>Tx z9XBs}kaEKD|KV3WQTj?+hj)T|mj1#9YL`YVm@3|IgD7WYl}-6=HC9hXB0MMrQW7EM z3X+37qYi$&XY+d)zk(;_A0OxbHm*-_Mf&^W^1Sjqexg@Lubx|;JMZ}N%Tzw4!%uSm zie$jd=obME?vh65-9Y`)bv%H6h)Si`#dKN8Ow0O~y zMN1bgTeN&p@1hlpRxa*YylC;_#Y+}1UA%1Z^2NQ2S1ew+q-V*ZC5x9VS+aD=vL(xx z^e$PkWaZMHrHhs>Ub-=DRT*D-Yqc|%#+CS!qC_FKo z7tF6L@O#2V!D9cW;KRX3avv@INASD+?{j|$A8ot!(#ziT<`4E<_~JKReeJBH|Gsm| znP>g(kp&A+e)%gdy8S16-~5)hzU{-G`0QVO>C0dH`i~C$^ieN2^|0d?E$v-((sR~5 z?-hIB!oyE}_OHJD^}D}y;HT^-?zE??PFk~e-Sb}AU)%fE_q^|GcYmv6>hWvVUD#iH z^IJbm;V*sd#|M7;P{-6Y>-uYBdp~){=kEN@eGmQfm9Kr%jUW2lonQLO-QW8D56-y$ zum9%DcYkZ$+2>sNl2=~zhPPbviBEs#&d-1OEB8%3;>ef1{NH}_heyXcw(tDWk2|Lv zGdMKs=!;(cnvZ?_ukQGdBaWPX%-Yk>KIg?RefcY2bNTIGy7xOjeCVJ5b$H~O(OvIY zc+s&77T)yn&)oTyZ{7Ffcc1dk>wB&_X8-5!e)Q~fUiz|PX-f6Dg}?mO;85>#PF}s{ z+PD7U(ep0e_0_N4^X>0`@8^Gb)Qc|azT(HZD^4rT%oV2YxutXLqs!)2#_kV~D*3sE zxuv-xXW0~rQ_JU0Ijnd=G0e>>w}qv!7zRv__FO)!6#UM^^Q*$C#X`PXys#J)5AQfP zcWOAFj}lBROle=0JNj7{McZ>*o;CK>{1vx_GYVJyK72{>@XC>G)7q!CZz+@uGYT&$ zo|s=-p2zv&ez>SIFE^u53CC{XQP;_5<>rT@rDumz!ewGW!bfjxKQg!IhTNX-AIq6I z`LREnx@UX!(zz!Tc>3nt*yqBT;gk-q;QMqhfJ}pOz7llis{YjAu>3QoPV)~Bjtq|K zn3X@eG{@f(ZVm1Tz8&1#{++hJ3+@ZP@86$)AoxY_%jlupZ-ajiAXLBoxRaiH_Bq$Q z|NS2*6x)_R=eaNXmwUdQn>KxU?~5+H{39Rx_+Kx(|FGA;;Vtj4lb@*X>~s2SFaPvs zX3i>>%9UwHE?>Fo<_~}Odu_efzV+r}`K0G=8o1_dLl^z>S1;Z0?)Mxw_k#EByWvl7 zyy@m!KYPbrg-ZM3N3S}0%?mzs(>MQSU-76J-OqaN$zS?%E_&v(j-9(?#i}!&chtWYcK*ctX}Qi5#y(P*lbe&9TUuK2$FAMe+jc~`Gh=Lk-Lnwj@cS&=(4 zzc5!WwiQo_j?1;TEe}`aXB2bo#dFv7F6mfOTu>_SIrfET&n=zsqFK|9Y&$zQd&;Su zM-|J3GfKy`?W&v{pHMg{UoO0$;ODDhe(X&fW}i_ikA3Ks-D@i4LdP>!7R$@$<*H-* zpWT06`x$NJwQFXcQ9AGFm3xY7%SVT&uj>svOXUKk_AEbY>@)t9#T{3^XVb3A*j;bD zWADOizJ0~%H~i%lD~l)Og7wFi*OuqzpK--)FRPuITUnfXiiY}~zb)H|788xzm-QygGa6%d-t^V3)_wwd;Ol%!`H5!a`?Tj ziP&($jxXxRA~T)h8%wL^Q$h~AvnwBo~T&}D>`stSRXGotve3?vx^R#|z zdi;4q+p*dPU7~I=m=bc)t{oSR4w;p35h_$u-G4z{Qpm5&Mc!NU>%CVzW1n}}k^5%1 zNB7VE)x7A$6MFWYIP{_Q^Maf2pEvt=_s{qKuy5J>AH9Fs@BO~ze))#wb2|EZKic`g ziiOj=R`$&5Tl+7wZ+PBATl&sEXXu8r-*-pXIkj&;aE|x=u5-QnA9z8}1AXT`_>&vX zzvmYZoF91$E_lel^8yy5ir#!w8}<+S{uz~?!>fL+7!)`}B=<~z_RN=6R<*VH({p|s z93X#Uc*zt$>ZN$D1nVl6kxQI=?FYFM1?u2SLG~;)Cz-=s<|-u@+v>?`CnwS{G0vtkyjW9yqwQD$L9t}d|*E+$ouaMW*pYxA6q)A zvLNiCZ$WUJe=1lH_!e-oRjxU&*enTrESbQ{~}ID^y&LPKP(+?*!2A){LW&S|6)m9 zI8vBobX3X@{x|Rx_?;PCP*TnoVS%SLzEwrf+Wg>O8Ea_3zm~RgoU1msV53tA!UZ7N zD}o09g+~NM)%HgP8UW8wmzwf{AJOIcC+A+Ed-|Enmr6l#cJ8{+>&-1L`JMg|d4CGE rOtl*FP-xC8ZZCT4`8e=d7Rt+%L(|&Lwkj{a=bzcp*rR#$ME?FSu_5Ta From 02274f71556d275c51389ab0a05aa4ff5ec23468 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Thu, 11 Mar 2021 20:41:27 +0100 Subject: [PATCH 04/12] Fix pipeline.yml syntax --- .buildkite/contracts-near.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.buildkite/contracts-near.yml b/.buildkite/contracts-near.yml index e975779a2..198d147fa 100644 --- a/.buildkite/contracts-near.yml +++ b/.buildkite/contracts-near.yml @@ -1,13 +1,13 @@ steps: - label: "build all rust contracts" - command: | - cd contracts/near/eth-client - ./build.sh - cd ../eth-prover - ./build.sh - git status - changed_files=$$(git status --porcelain --untracked-files=no | wc -l) - if [ $$changed_files -gt 0 ]; then - echo 'contract changed, please rebuild contract' - exit 1 - fi \ No newline at end of file + command: | + cd contracts/near/eth-client + ./build.sh + cd ../eth-prover + ./build.sh + git status + changed_files=$$(git status --porcelain --untracked-files=no | wc -l) + if [ $$changed_files -gt 0 ]; then + echo 'contract changed, please rebuild contract' + exit 1 + fi \ No newline at end of file From 3a60b7eac2f06d160bd7b20b67a181961c08055d Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Thu, 11 Mar 2021 21:38:22 +0100 Subject: [PATCH 05/12] Update near-sdk from eth-types --- contracts/near/Cargo.lock | 110 +++++----------------------- contracts/near/eth-types/Cargo.toml | 2 +- contracts/near/rust-toolchain | 2 +- 3 files changed, 19 insertions(+), 95 deletions(-) diff --git a/contracts/near/Cargo.lock b/contracts/near/Cargo.lock index b18aac541..0516e3846 100644 --- a/contracts/near/Cargo.lock +++ b/contracts/near/Cargo.lock @@ -10,7 +10,7 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" name = "admin-controlled" version = "0.1.0" dependencies = [ - "near-sdk 3.0.0-pre.3", + "near-sdk", ] [[package]] @@ -754,7 +754,7 @@ dependencies = [ "hex", "indicatif", "lazy_static", - "near-sdk 3.0.0-pre.3", + "near-sdk", "primal", "rlp", "rustc-hex", @@ -777,7 +777,7 @@ dependencies = [ "near-crypto", "near-primitives", "near-runtime-standalone", - "near-sdk 3.0.0-pre.3", + "near-sdk", "rlp", "serde", "serde_json", @@ -791,7 +791,7 @@ dependencies = [ "borsh 0.8.2", "derive_more 0.99.8", "ethereum-types 0.9.2", - "near-sdk 0.11.0", + "near-sdk", "rlp", "rlp-derive", "serde", @@ -1607,7 +1607,7 @@ dependencies = [ "lazy_static", "near-crypto", "near-rpc-error-macro 0.1.0 (git+https://github.com/nearprotocol/nearcore.git)", - "near-vm-errors 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", + "near-vm-errors 0.9.1", "num-rational 0.2.4", "primitive-types 0.7.2", "rand 0.7.3", @@ -1696,18 +1696,8 @@ version = "0.1.0" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ "near-primitives", - "near-runtime-fees 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", - "near-vm-logic 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", - "serde", -] - -[[package]] -name = "near-runtime-fees" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4992274c8acb33fa1246715d3aafbce5688ae82243c779b561f8eaff1bb6f1" -dependencies = [ - "num-rational 0.2.4", + "near-runtime-fees", + "near-vm-logic 0.9.1", "serde", ] @@ -1743,21 +1733,6 @@ dependencies = [ "regex", ] -[[package]] -name = "near-sdk" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81319d4d44283f63467e4f02b6209297b10643c7aeb62e2ee41e0c31b43e2375" -dependencies = [ - "base64 0.11.0", - "borsh 0.6.2", - "bs58 0.3.1", - "near-runtime-fees 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "near-sdk-macros 0.11.0", - "near-vm-logic 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde", -] - [[package]] name = "near-sdk" version = "3.0.0-pre.3" @@ -1767,25 +1742,13 @@ dependencies = [ "borsh 0.8.2", "bs58 0.4.0", "near-primitives-core", - "near-sdk-macros 3.0.0-pre.3", + "near-sdk-macros", "near-vm-logic 3.0.0", "serde", "serde_json", "wee_alloc", ] -[[package]] -name = "near-sdk-core" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3767fc2a61e6577f1336e06d6962a6c61fc39299573b8a25696fd09ce96ffb" -dependencies = [ - "Inflector", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.57", -] - [[package]] name = "near-sdk-core" version = "3.0.0-pre.3" @@ -1797,24 +1760,12 @@ dependencies = [ "syn 1.0.57", ] -[[package]] -name = "near-sdk-macros" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c06b45c56028b0e1241b2196397d449091665f3f08d543415373505df5e05f" -dependencies = [ - "near-sdk-core 0.11.0", - "proc-macro2 1.0.24", - "quote 1.0.7", - "syn 1.0.57", -] - [[package]] name = "near-sdk-macros" version = "3.0.0-pre.3" source = "git+https://github.com/near/near-sdk-rs?rev=613adcab6322e4f830efb4d5bde2a810ae642158#613adcab6322e4f830efb4d5bde2a810ae642158" dependencies = [ - "near-sdk-core 3.0.0-pre.3", + "near-sdk-core", "proc-macro2 1.0.24", "quote 1.0.7", "syn 1.0.57", @@ -1841,17 +1792,6 @@ dependencies = [ "strum_macros", ] -[[package]] -name = "near-vm-errors" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "386c2c07ef37ae52ad43860ef69c6322bbc1e610ae0c08c1d7f5ff56f4c28e6a" -dependencies = [ - "borsh 0.6.2", - "near-rpc-error-macro 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde", -] - [[package]] name = "near-vm-errors" version = "0.9.1" @@ -1874,22 +1814,6 @@ dependencies = [ "serde", ] -[[package]] -name = "near-vm-logic" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6da6c80d3428f45248577820bfc943b8261a6f11d6721037e5c3f43484047cd" -dependencies = [ - "base64 0.11.0", - "bs58 0.3.1", - "byteorder", - "near-runtime-fees 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "near-vm-errors 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde", - "sha2 0.8.2", - "sha3", -] - [[package]] name = "near-vm-logic" version = "0.9.1" @@ -1898,8 +1822,8 @@ dependencies = [ "base64 0.11.0", "bs58 0.3.1", "byteorder", - "near-runtime-fees 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", - "near-vm-errors 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", + "near-runtime-fees", + "near-vm-errors 0.9.1", "serde", "sha2 0.8.2", "sha3", @@ -1929,9 +1853,9 @@ version = "0.9.1" source = "git+https://github.com/nearprotocol/nearcore.git#06674af003f0031d1ec2dbd226c309bde5b5d200" dependencies = [ "cached", - "near-runtime-fees 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", - "near-vm-errors 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", - "near-vm-logic 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", + "near-runtime-fees", + "near-vm-errors 0.9.1", + "near-vm-logic 0.9.1", "parity-wasm", "pwasm-utils", "wasmer-runtime", @@ -1976,10 +1900,10 @@ dependencies = [ "near-metrics", "near-primitives", "near-runtime-configs", - "near-runtime-fees 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", + "near-runtime-fees", "near-store", - "near-vm-errors 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", - "near-vm-logic 0.9.1 (git+https://github.com/nearprotocol/nearcore.git)", + "near-vm-errors 0.9.1", + "near-vm-logic 0.9.1", "near-vm-runner", "num-rational 0.2.4", "rand 0.7.3", diff --git a/contracts/near/eth-types/Cargo.toml b/contracts/near/eth-types/Cargo.toml index 015248bf2..277e6f6d6 100644 --- a/contracts/near/eth-types/Cargo.toml +++ b/contracts/near/eth-types/Cargo.toml @@ -9,7 +9,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] serde = { version = "1.0", features = ["derive"] } -near-sdk = "0.11.0" +near-sdk = { git = "https://github.com/near/near-sdk-rs", rev = "613adcab6322e4f830efb4d5bde2a810ae642158" } borsh = "0.8.1" rlp = "0.4.2" rlp-derive = "0.1.0" diff --git a/contracts/near/rust-toolchain b/contracts/near/rust-toolchain index 8737a7eb5..ed83872af 100644 --- a/contracts/near/rust-toolchain +++ b/contracts/near/rust-toolchain @@ -1 +1 @@ -nightly-2020-05-15 +stable-2020-10-08 From fb7d1ed1ca93c81943eb005bc182bda962b78727 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Thu, 11 Mar 2021 21:55:09 +0100 Subject: [PATCH 06/12] Recompile contracts --- contracts/near/res/eth_client.wasm | Bin 183509 -> 178391 bytes contracts/near/res/eth_prover.wasm | Bin 134549 -> 131680 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/contracts/near/res/eth_client.wasm b/contracts/near/res/eth_client.wasm index 64326ea2acb755805c9a87b8491f1617d44ec439..7c6efa7e8c69ab7a1f8e6ee02d69ebd8a81a0dc4 100755 GIT binary patch delta 33313 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 delta 27886 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 dyf?$;+aTM@z}v-=G?KtbB9{k{~xC}Z}9*C From 9b3a511e3af9de6073e22a167a56928d8ebb6c80 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Thu, 11 Mar 2021 20:32:38 +0100 Subject: [PATCH 07/12] fix: Use new version of the connector. TODO: Don't use current pinned commit from token-connector, instead wait until it is merged into master --- cli/package.json | 2 +- yarn.lock | 13 +++---------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/cli/package.json b/cli/package.json index a32d42aa2..fc292cf68 100644 --- a/cli/package.json +++ b/cli/package.json @@ -34,7 +34,7 @@ "rainbow-bridge-near2eth-block-relay": "1.0.0", "rainbow-bridge-watchdog": "1.0.0", "rainbow-bridge-testing": "1.0.0", - "rainbow-token-connector": "near/rainbow-token-connector#0646850267c42057e92f2d670eebe79c9c9211f9", + "rainbow-token-connector": "near/rainbow-token-connector#6855221404f81f987fcf1db9a860b2345149531a", "request": "^2.88.2" } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index c6d19f621..98e0549bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4254,9 +4254,9 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -rainbow-token-connector@near/rainbow-token-connector#0646850267c42057e92f2d670eebe79c9c9211f9: +rainbow-token-connector@near/rainbow-token-connector#6855221404f81f987fcf1db9a860b2345149531a: version "0.0.0" - resolved "https://codeload.github.com/near/rainbow-token-connector/tar.gz/0646850267c42057e92f2d670eebe79c9c9211f9" + resolved "https://codeload.github.com/near/rainbow-token-connector/tar.gz/6855221404f81f987fcf1db9a860b2345149531a" randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" @@ -4537,14 +4537,7 @@ semver@6.3.0, semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2, semver@^7.2.1: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.4: +semver@^7.2, semver@^7.2.1, semver@^7.3.4: version "7.3.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== From c91505f299175338510ce55a4e31c567e3b4f4bf Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Thu, 11 Mar 2021 22:54:43 +0100 Subject: [PATCH 08/12] Update arguments to deploy locker using new interface --- cli/init/eth-contracts.js | 7 +- yarn.lock | 431 +++++++++++++++++++++----------------- 2 files changed, 244 insertions(+), 194 deletions(-) diff --git a/cli/init/eth-contracts.js b/cli/init/eth-contracts.js index 3ea044f51..c03cb16dd 100644 --- a/cli/init/eth-contracts.js +++ b/cli/init/eth-contracts.js @@ -132,12 +132,17 @@ class InitEthLocker { console.log('Using as locker admin:', ethAdminAddress) const ethContractInitializer = new EthContractInitializer() + const minBlockAcceptanceHeight = 0 + const pausedFlag = 0 + const success = await ethContractInitializer.execute( { args: [ Buffer.from(nearTokenFactoryAccount, 'utf8'), ethProverAddress, - ethAdminAddress + minBlockAcceptanceHeight, + ethAdminAddress, + pausedFlag ], gas: 5000000, ethContractAbiPath: ethLockerAbiPath, diff --git a/yarn.lock b/yarn.lock index 98e0549bb..fac134bae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,9 +15,9 @@ integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== "@babel/highlight@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" - integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" + integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== dependencies: "@babel/helper-validator-identifier" "^7.12.11" chalk "^2.0.0" @@ -55,9 +55,9 @@ "@ethersproject/strings" "^5.0.4" "@ethersproject/abstract-provider@^5.0.8": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.9.tgz#a55410b73e3994842884eb82b1f43e3a9f653eea" - integrity sha512-X9fMkqpeu9ayC3JyBkeeZhn35P4xQkpGX/l+FrxDtEW9tybf/UWXSMi8bGThpPtfJ6q6U2LDetXSpSwK4TfYQQ== + version "5.0.10" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.10.tgz#a533aed39a5f27312745c8c4c40fa25fc884831c" + integrity sha512-OSReY5iz94iIaPlRvLiJP8YVIvQLx4aUvMMnHWSaA/vTU8QHZmgNlt4OBdYV1+aFY8Xl+VRYiWBHq72ZDKXXCQ== dependencies: "@ethersproject/bignumber" "^5.0.13" "@ethersproject/bytes" "^5.0.9" @@ -68,9 +68,9 @@ "@ethersproject/web" "^5.0.12" "@ethersproject/abstract-signer@^5.0.10": - version "5.0.12" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.12.tgz#04ab597eb87a08faaab19dd5a739339e1e3beb58" - integrity sha512-qt4jAEzQGPZ31My1gFGPzzJHJveYhVycW7RHkuX0W8fvMdg7wr0uvP7mQEptMVrb+jYwsVktCf6gBGwWDpFiTA== + version "5.0.14" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.14.tgz#30ef912b0f86599d90fdffc65c110452e7b55cf1" + integrity sha512-JztBwVO7o5OHLh2vyjordlS4/1EjRyaECtc8vPdXTF1i4dXN+J0coeRoPN6ZFbBvi/YbaB6br2fvqhst1VQD/g== dependencies: "@ethersproject/abstract-provider" "^5.0.8" "@ethersproject/bignumber" "^5.0.13" @@ -79,9 +79,9 @@ "@ethersproject/properties" "^5.0.7" "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.0.9": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.10.tgz#2bc69fdff4408e0570471cd19dee577ab06a10d0" - integrity sha512-70vqESmW5Srua1kMDIN6uVfdneZMaMyRYH4qPvkAXGkbicrCOsA9m01vIloA4wYiiF+HLEfL1ENKdn5jb9xiAw== + version "5.0.11" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.11.tgz#12022e8c590c33939beb5ab18b401ecf585eac59" + integrity sha512-Et4GBdD8/tsBGjCEOKee9upN29qjL5kbRcmJifb4Penmiuh9GARXL2/xpXvEp5EW+EIW/rfCHFJrkYBgoQFQBw== dependencies: "@ethersproject/bignumber" "^5.0.13" "@ethersproject/bytes" "^5.0.9" @@ -90,39 +90,39 @@ "@ethersproject/rlp" "^5.0.7" "@ethersproject/base64@^5.0.7": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.8.tgz#1bc4b4b8c59c1debf972c7164b96c0b8964a20a1" - integrity sha512-PNbpHOMgZpZ1skvQl119pV2YkCPXmZTxw+T92qX0z7zaMFPypXWTZBzim+hUceb//zx4DFjeGT4aSjZRTOYThg== + version "5.0.9" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.9.tgz#bb1f35d3dba92082a574d5e2418f9202a0a1a7e6" + integrity sha512-37RBz5LEZ9SlTNGiWCYFttnIN9J7qVs9Xo2EbqGqDH5LfW9EIji66S+YDMpXVo1zWDax1FkEldAoatxHK2gfgA== dependencies: "@ethersproject/bytes" "^5.0.9" "@ethersproject/bignumber@^5.0.13", "@ethersproject/bignumber@^5.0.7": - version "5.0.14" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.14.tgz#605bc61dcbd4a8c6df8b5a7a77c0210273f3de8a" - integrity sha512-Q4TjMq9Gg3Xzj0aeJWqJgI3tdEiPiET7Y5OtNtjTAODZ2kp4y9jMNg97zVcvPedFvGROdpGDyCI77JDFodUzOw== + version "5.0.15" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.15.tgz#b089b3f1e0381338d764ac1c10512f0c93b184ed" + integrity sha512-MTADqnyacvdRwtKh7o9ujwNDSM1SDJjYDMYAzjIgjoi9rh6TY4suMbhCa3i2vh3SUXiXSICyTI8ui+NPdrZ9Lw== dependencies: "@ethersproject/bytes" "^5.0.9" "@ethersproject/logger" "^5.0.8" bn.js "^4.4.0" "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.9": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.10.tgz#aa49afe7491ba24ff76fa33d98677351263f9ba4" - integrity sha512-vpu0v1LZ1j1s9kERQIMnVU69MyHEzUff7nqK9XuCU4vx+AM8n9lU2gj7jtJIvGSt9HzatK/6I6bWusI5nyuaTA== + version "5.0.11" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.11.tgz#21118e75b1d00db068984c15530e316021101276" + integrity sha512-D51plLYY5qF05AsoVQwIZVLqlBkaTPVHVP/1WmmBIWyHB0cRW0C9kh0kx5Exo51rB63Hk8PfHxc7SmpoaQFEyg== dependencies: "@ethersproject/logger" "^5.0.8" "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.0.8": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.9.tgz#81ac44c3bf612de63eb1c490b314ea1b932cda9f" - integrity sha512-2uAKH89UcaJP/Sc+54u92BtJtZ4cPgcS1p0YbB1L3tlkavwNvth+kNCUplIB1Becqs7BOZr0B/3dMNjhJDy4Dg== + version "5.0.10" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.10.tgz#eb0c604fbc44c53ba9641eed31a1d0c9e1ebcadc" + integrity sha512-OSo8jxkHLDXieCy8bgOFR7lMfgPxEzKvSDdP+WAWHCDM8+orwch0B6wzkTmiQFgryAtIctrBt5glAdJikZ3hGw== dependencies: "@ethersproject/bignumber" "^5.0.13" "@ethersproject/hash@^5.0.4": - version "5.0.11" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.11.tgz#da89517438bbbf8a39df56fff09f0a71669ae7a7" - integrity sha512-H3KJ9fk33XWJ2djAW03IL7fg3DsDMYjO1XijiUb1hJ85vYfhvxu0OmsU7d3tg2Uv1H1kFSo8ghr3WFQ8c+NL3g== + version "5.0.12" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.12.tgz#1074599f7509e2ca2bb7a3d4f4e39ab3a796da42" + integrity sha512-kn4QN+fhNFbUgX3XZTZUaQixi0oyfIEY+hfW+KtkHu+rq7dV76oAIvaLEEynu1/4npOL38E4X4YI42gGZk+C0Q== dependencies: "@ethersproject/abstract-signer" "^5.0.10" "@ethersproject/address" "^5.0.9" @@ -134,44 +134,44 @@ "@ethersproject/strings" "^5.0.8" "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.0.7": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.8.tgz#13aaf69e1c8bd15fc59a2ebd055c0878f2a059c8" - integrity sha512-zoGbwXcWWs9MX4NOAZ7N0hhgIRl4Q/IO/u9c/RHRY4WqDy3Ywm0OLamEV53QDwhjwn3YiiVwU1Ve5j7yJ0a/KQ== + version "5.0.9" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.9.tgz#ca0d86e4af56c13b1ef25e533bde3e96d28f647d" + integrity sha512-zhdUTj6RGtCJSgU+bDrWF6cGbvW453LoIC1DSNWrTlXzC7WuH4a+EiPrgc7/kNoRxerKuA/cxYlI8GwNtVtDlw== dependencies: "@ethersproject/bytes" "^5.0.9" js-sha3 "0.5.7" "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.0.8": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.9.tgz#0e6a0b3ecc938713016954daf4ac7967467aa763" - integrity sha512-kV3Uamv3XOH99Xf3kpIG3ZkS7mBNYcLDM00JSDtNgNB4BihuyxpQzIZPRIDmRi+95Z/R1Bb0X2kUNHa/kJoVrw== + version "5.0.10" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.10.tgz#fd884688b3143253e0356ef92d5f22d109d2e026" + integrity sha512-0y2T2NqykDrbPM3Zw9RSbPkDOxwChAL8detXaom76CfYoGxsOnRP/zTX8OUAV+x9LdwzgbWvWmeXrc0M7SuDZw== "@ethersproject/networks@^5.0.7": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.8.tgz#37e6f8c058f2d540373ea5939056cd3de069132e" - integrity sha512-PYpptlO2Tu5f/JEBI5hdlMds5k1DY1QwVbh3LKPb3un9dQA2bC51vd2/gRWAgSBpF3kkmZOj4FhD7ATLX4H+DA== + version "5.0.9" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.9.tgz#ec5da11e4d4bfd69bec4eaebc9ace33eb9569279" + integrity sha512-L8+VCQwArBLGkxZb/5Ns/OH/OxP38AcaveXIxhUTq+VWpXYjrObG3E7RDQIKkUx1S1IcQl/UWTz5w4DK0UitJg== dependencies: "@ethersproject/logger" "^5.0.8" "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.0.7": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.8.tgz#e45d28d25402c73394873dbf058f856c966cae01" - integrity sha512-zEnLMze2Eu2VDPj/05QwCwMKHh506gpT9PP9KPVd4dDB+5d6AcROUYVLoIIQgBYK7X/Gw0UJmG3oVtnxOQafAw== + version "5.0.9" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.9.tgz#d7aae634680760136ea522e25c3ef043ec15b5c2" + integrity sha512-ZCjzbHYTw+rF1Pn8FDCEmx3gQttwIHcm/6Xee8g/M3Ga3SfW4tccNMbs5zqnBH0E4RoOPaeNgyg1O68TaF0tlg== dependencies: "@ethersproject/logger" "^5.0.8" "@ethersproject/rlp@^5.0.7": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.8.tgz#ff54e206d0ae28640dd054f2bcc7070f06f9dfbe" - integrity sha512-E4wdFs8xRNJfzNHmnkC8w5fPeT4Wd1U2cust3YeT16/46iSkLT8nn8ilidC6KhR7hfuSZE4UqSPzyk76p7cdZg== + version "5.0.9" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.9.tgz#da205bf8a34d3c3409eb73ddd237130a4b376aff" + integrity sha512-ns1U7ZMVeruUW6JXc4om+1w3w4ynHN/0fpwmeNTsAjwGKoF8SAUgue6ylKpHKWSti2idx7jDxbn8hNNFHk67CA== dependencies: "@ethersproject/bytes" "^5.0.9" "@ethersproject/logger" "^5.0.8" "@ethersproject/signing-key@^5.0.8": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.10.tgz#05e26e04f0aa5360dc78674d7331bacea8fea5c1" - integrity sha512-w5it3GbFOvN6e0mTd5gDNj+bwSe6L9jqqYjU+uaYS8/hAEp4qYLk5p8ZjbJJkNn7u1p0iwocp8X9oH/OdK8apA== + version "5.0.11" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.11.tgz#19fc5c4597e18ad0a5efc6417ba5b74069fdd2af" + integrity sha512-Jfcru/BGwdkXhLxT+8WCZtFy7LL0TPFZw05FAb5asxB/MyVsEfNdNxGDtjVE9zXfmRSPe/EusXYY4K7wcygOyQ== dependencies: "@ethersproject/bytes" "^5.0.9" "@ethersproject/logger" "^5.0.8" @@ -179,18 +179,18 @@ elliptic "6.5.4" "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.0.8": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.9.tgz#8e2eb2918b140231e1d1b883d77e43213a8ac280" - integrity sha512-ogxBpcUpdO524CYs841MoJHgHxEPUy0bJFDS4Ezg8My+WYVMfVAOlZSLss0Rurbeeam8CpUVDzM4zUn09SU66Q== + version "5.0.10" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.10.tgz#ddce1e9724f4ac4f3f67e0cac0b48748e964bfdb" + integrity sha512-KAeoS1tZ9/5ECXiIZA6S6hywbD0so2VmuW+Wfyo5EDXeyZ6Na1nxTPhTnW7voQmjbeYJffCrOc0qLFJeylyg7w== dependencies: "@ethersproject/bytes" "^5.0.9" "@ethersproject/constants" "^5.0.8" "@ethersproject/logger" "^5.0.8" "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.0.9": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.10.tgz#d50cafd80d27206336f80114bc0f18bc18687331" - integrity sha512-Tqpp+vKYQyQdJQQk4M73tDzO7ODf2D42/sJOcKlDAAbdSni13v6a+31hUdo02qYXhVYwIs+ZjHnO4zKv5BNk8w== + version "5.0.11" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.11.tgz#b31df5292f47937136a45885d6ee6112477c13df" + integrity sha512-ftsRvR9+gQp7L63F6+XmstvsZ4w8GtWvQB08e/zB+oB86Fnhq8+i/tkgpJplSHC8I/qgiCisva+M3u2GVhDFPA== dependencies: "@ethersproject/address" "^5.0.9" "@ethersproject/bignumber" "^5.0.13" @@ -203,9 +203,9 @@ "@ethersproject/signing-key" "^5.0.8" "@ethersproject/web@^5.0.12": - version "5.0.13" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.13.tgz#5a92ac6d835d2ebce95b6b645a86668736e2f532" - integrity sha512-G3x/Ns7pQm21ALnWLbdBI5XkW/jrsbXXffI9hKNPHqf59mTxHYtlNiSwxdoTSwCef3Hn7uvGZpaSgTyxs7IufQ== + version "5.0.14" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.14.tgz#6e7bebdd9fb967cb25ee60f44d9218dc0803bac4" + integrity sha512-QpTgplslwZ0Sp9oKNLoRuS6TKxnkwfaEk3gr7zd7XLF8XBsYejsrQO/03fNfnMx/TAT/RR6WEw/mbOwpRSeVRA== dependencies: "@ethersproject/base64" "^5.0.7" "@ethersproject/bytes" "^5.0.9" @@ -311,10 +311,10 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@solidity-parser/parser@^0.11.0": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.11.1.tgz#fa840af64840c930f24a9c82c08d4a092a068add" - integrity sha512-H8BSBoKE8EubJa0ONqecA2TviT3TnHeC4NpgnAHSUiuhZoQBfPB4L2P9bs8R6AoTW10Endvh3vc+fomVMIDIYQ== +"@solidity-parser/parser@^0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.12.0.tgz#18a0fb2a9d2484b23176f63b16093c64794fc323" + integrity sha512-DT3f/Aa4tQysZwUsuqBwvr8YRJzKkvPUKV/9o2/o5EVw3xqlbzmtx4O60lTUcZdCawL+N8bBLNUyOGpHjGlJVQ== "@szmarczak/http-timer@^1.1.2": version "1.1.2" @@ -330,25 +330,32 @@ dependencies: "@types/node" "*" +"@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== + dependencies: + "@types/node" "*" + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/node@*": - version "14.14.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.25.tgz#15967a7b577ff81383f9b888aa6705d43fbbae93" - integrity sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ== + version "14.14.33" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.33.tgz#9e4f8c64345522e4e8ce77b334a8aaa64e2b6c78" + integrity sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g== "@types/node@^10.12.18", "@types/node@^10.3.2": - version "10.17.51" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.51.tgz#639538575befbcf3d3861f95c41de8e47124d674" - integrity sha512-KANw+MkL626tq90l++hGelbl67irOJzGhUJk6a1Bt8QHOeh9tztJx+L0AqttraWKinmZn7Qi5lJZJzx45Gq0dg== + version "10.17.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.55.tgz#a147f282edec679b894d4694edb5abeb595fecbd" + integrity sha512-koZJ89uLZufDvToeWO5BrC4CR4OUfHnUz2qoPs/daQH6qq3IN62QFxCTZ+bKaCE0xaoCAJYE4AXre8AbghCrhg== "@types/node@^12.12.6", "@types/node@^12.6.1": - version "12.19.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.16.tgz#15753af35cbef636182d8d8ca55b37c8583cecb3" - integrity sha512-7xHmXm/QJ7cbK2laF+YYD7gb5MggHIIQwqyjin3bpEGiSuvScMQ5JZZXPvRipi1MwckTQbJZROMns/JxdnIL1Q== + version "12.20.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.5.tgz#4ca82a766f05c359fd6c77505007e5a272f4bb9b" + integrity sha512-5Oy7tYZnu3a4pnJ//d4yVvOImExl4Vtwf0D40iKUlU+XlUsyV9iyFWyCFlwy489b72FMAik/EFwRkNLjjOdSPg== "@types/pbkdf2@^3.0.0": version "3.1.0" @@ -516,14 +523,14 @@ array-flatten@1.1.1: integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= array-includes@^3.1.1, array-includes@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8" - integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw== + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - get-intrinsic "^1.0.1" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" is-string "^1.0.5" array.prototype.flat@^1.2.3: @@ -711,14 +718,14 @@ bn.js@4.11.8: integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== bodec@^0.1.0: version "0.1.0" @@ -1305,7 +1312,7 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.1, debug@^4.2, debug@^4.3.0, debug@~4.3.1: +debug@4, debug@^4.0.1, debug@^4.1.1, debug@^4.2, debug@^4.3.1, debug@~4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== @@ -1567,9 +1574,9 @@ emoji-regex@^8.0.0: integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.1: - version "9.2.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.1.tgz#c9b25604256bb3428964bead3ab63069d736f7ee" - integrity sha512-117l1H6U4X3Krn+MrzYrL57d5H7siRHWraBs7s+LjRuFK7Fe7hJqnJ0skWlinqsycVLU5YAo6L8CsEYQ0V5prg== + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== encodeurl@~1.0.2: version "1.0.2" @@ -1613,25 +1620,27 @@ error-polyfill@^0.1.2: o3 "^1.0.3" u3 "^0.1.0" -es-abstract@^1.18.0-next.1: - version "1.18.0-next.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" - integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: + version "1.18.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" + integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" - get-intrinsic "^1.0.2" + get-intrinsic "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" + has-symbols "^1.0.2" + is-callable "^1.2.3" is-negative-zero "^2.0.1" - is-regex "^1.1.1" + is-regex "^1.1.2" + is-string "^1.0.5" object-inspect "^1.9.0" object-keys "^1.1.1" object.assign "^4.1.2" - string.prototype.trimend "^1.0.3" - string.prototype.trimstart "^1.0.3" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.0" es-to-primitive@^1.2.1: version "1.2.1" @@ -2054,11 +2063,11 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.0: rlp "^2.2.3" ethereumjs-util@^7.0.3: - version "7.0.8" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.8.tgz#5258762b7b17e3d828e41834948363ff0a703ffd" - integrity sha512-JJt7tDpCAmDPw/sGoFYeq0guOVqT3pTE9xlEbBmc/nlCij3JRCoS2c96SQ6kXVHOT3xWUNLDm5QCJLQaUnVAtQ== + version "7.0.9" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.9.tgz#2038baeb30f370a3e576ec175bd70bbbb6807d42" + integrity sha512-cRqvYYKJoitq6vMKMf8pXeVwvTrX+dRD0JwHaYqm8jvogK14tqIoCWH/KUHcRwnVxVXEYF/o6pup5jRG4V0xzg== dependencies: - "@types/bn.js" "^4.11.3" + "@types/bn.js" "^5.1.0" bn.js "^5.1.2" create-hash "^1.1.2" ethereum-cryptography "^0.1.3" @@ -2103,9 +2112,9 @@ eventemitter2@5.0.1, eventemitter2@^5.0.1, eventemitter2@~5.0.1: integrity sha1-YZegldX7a1folC9v1+qtY6CclFI= eventemitter2@^6.3.1: - version "6.4.3" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.3.tgz#35c563619b13f3681e7eb05cbdaf50f56ba58820" - integrity sha512-t0A2msp6BzOf+QAcI6z9XMktLj52OjGQg+8SJH6v5+3uxNpWYRR3wQmfA+6xtMU9kOC59qk9licus5dYcrYkMQ== + version "6.4.4" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.4.tgz#aa96e8275c4dbeb017a5d0e03780c65612a1202b" + integrity sha512-HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw== eventemitter2@~0.4.14: version "0.4.14" @@ -2291,9 +2300,9 @@ flatted@^2.0.0: integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== follow-redirects@^1.10.0: - version "1.13.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.2.tgz#dd73c8effc12728ba5cf4259d760ea5fb83e3147" - integrity sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA== + version "1.13.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267" + integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA== foreach@^2.0.5: version "2.0.5" @@ -2373,7 +2382,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -get-intrinsic@^1.0.1, get-intrinsic@^1.0.2, get-intrinsic@^1.1.0: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -2444,9 +2453,9 @@ git-sha1@^0.1.2: integrity sha1-WZrBkrcYdYJeE6RF86bgURjC90U= glob-parent@^5.0.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -2532,6 +2541,11 @@ har-validator@~5.1.3: ajv "^6.12.3" har-schema "^2.0.0" +has-bigints@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -2547,10 +2561,10 @@ has-symbol-support-x@^1.4.1: resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== has-to-string-tag-x@^1.2.0: version "1.4.1" @@ -2751,7 +2765,7 @@ ini@^1.3.5: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-slot@^1.0.2: +internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== @@ -2782,6 +2796,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-bigint@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" + integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -2789,12 +2808,19 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-callable@^1.1.4, is-callable@^1.2.2: +is-boolean-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" + integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + dependencies: + call-bind "^1.0.0" + +is-callable@^1.1.4, is-callable@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== -is-core-module@^2.1.0: +is-core-module@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== @@ -2853,6 +2879,11 @@ is-negative-zero@^2.0.1: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== +is-number-object@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" + integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -2873,7 +2904,7 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -is-regex@^1.1.1: +is-regex@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== @@ -2896,7 +2927,7 @@ is-string@^1.0.5: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== -is-symbol@^1.0.2: +is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== @@ -2904,13 +2935,13 @@ is-symbol@^1.0.2: has-symbols "^1.0.1" is-typed-array@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.4.tgz#1f66f34a283a3c94a4335434661ca53fff801120" - integrity sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA== + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" + integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== dependencies: available-typed-arrays "^1.0.2" - call-bind "^1.0.0" - es-abstract "^1.18.0-next.1" + call-bind "^1.0.2" + es-abstract "^1.18.0-next.2" foreach "^2.0.5" has-symbols "^1.0.1" @@ -3176,9 +3207,9 @@ locate-path@^3.0.0: path-exists "^3.0.0" lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-driver@^1.2.7: version "1.2.7" @@ -3300,17 +3331,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.45.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== +mime-db@1.46.0: + version "1.46.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" + integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.28" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" - integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== + version "2.1.29" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" + integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== dependencies: - mime-db "1.45.0" + mime-db "1.46.0" mime@1.6.0: version "1.6.0" @@ -3645,23 +3676,23 @@ object.entries@^1.1.2: has "^1.0.3" object.fromentries@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.3.tgz#13cefcffa702dc67750314a3305e8cb3fad1d072" - integrity sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" + integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.18.0-next.2" has "^1.0.3" object.values@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731" - integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag== + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" + integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.18.0-next.2" has "^1.0.3" oboe@2.1.4: @@ -4037,9 +4068,9 @@ pm2-promise@^2.0.1: pm2 "^4.4.0" pm2@^4.4.0: - version "4.5.4" - resolved "https://registry.yarnpkg.com/pm2/-/pm2-4.5.4.tgz#266748fe83337f36cda57a04eb239b710192987b" - integrity sha512-2xKXrKz21i1R3BK2XxVIPq5Iy9fKHBVgZ+KMfRrx72mc7bq84SG/D+iTO32ihLf2Qe+N1o8rDskAt4M30JWyiA== + version "4.5.5" + resolved "https://registry.yarnpkg.com/pm2/-/pm2-4.5.5.tgz#f2f9f7f4fd1b9bd308b4680029ff460af2f5a671" + integrity sha512-feLYWAq8liDsM2IV0ViZ4TSnEUoOtpuICakzFnhh2bb51BUnpJMOjO1sojR1jDuNHvhrYGWqneOUglxE6slKwg== dependencies: "@pm2/agent" "~1.0.4" "@pm2/io" "~4.3.5" @@ -4053,7 +4084,7 @@ pm2@^4.4.0: commander "2.15.1" cron "1.8.2" dayjs "~1.8.25" - debug "^4.3.0" + debug "^4.3.1" enquirer "2.3.6" eventemitter2 "5.0.1" fclone "1.0.11" @@ -4071,8 +4102,6 @@ pm2@^4.4.0: sprintf-js "1.1.2" vizion "2.2.1" yamljs "0.3.0" - optionalDependencies: - systeminformation "^4.32" prelude-ls@^1.2.1: version "1.2.1" @@ -4095,11 +4124,11 @@ prepend-http@^2.0.0: integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= prettier-plugin-solidity@^1.0.0-beta.5: - version "1.0.0-beta.5" - resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.5.tgz#04347bc3fb8deb5d097c9c823cbc01451a40da7a" - integrity sha512-Fd0a+rF/FD7dnN/ZyaSHjH9q/onw6Qd4lzU+nIPj9FoqBkt+WDUYLpiwuVZ/I0i5hZRTVAxiwErp7qmgdyqYpA== + version "1.0.0-beta.6" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.6.tgz#aa7b14a60cd6e22e46db75c84d836b569fb63f65" + integrity sha512-WymLqd22Hl93t5+HDNLk08TAWp4i4vZMhpihuVqkwOApjCT7mH1qwhLtvf3m+NdU//qj8vrPDmMoT+xc74skcg== dependencies: - "@solidity-parser/parser" "^0.11.0" + "@solidity-parser/parser" "^0.12.0" dir-to-object "^2.0.0" emoji-regex "^9.2.1" escape-string-regexp "^4.0.0" @@ -4376,7 +4405,7 @@ readdirp@~3.5.0: dependencies: picomatch "^2.2.1" -regexp.prototype.flags@^1.3.0: +regexp.prototype.flags@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== @@ -4430,11 +4459,11 @@ resolve-from@^4.0.0: integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: - is-core-module "^2.1.0" + is-core-module "^2.2.0" path-parse "^1.0.6" responselike@^1.0.2: @@ -4648,7 +4677,7 @@ shimmer@^1.1.0, shimmer@^1.2.0: resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== -side-channel@^1.0.3, side-channel@^1.0.4: +side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== @@ -4827,41 +4856,41 @@ string-width@^3.0.0: strip-ansi "^5.1.0" string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" string.prototype.matchall@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz#24243399bc31b0a49d19e2b74171a15653ec996a" - integrity sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" + integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.18.0-next.2" has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" -string.prototype.trimend@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" - integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" -string.prototype.trimstart@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" - integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" string_decoder@^1.1.1: @@ -4970,11 +4999,6 @@ swarm-js@^0.1.40: tar "^4.0.2" xhr-request "^1.0.1" -systeminformation@^4.32: - version "4.34.13" - resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-4.34.13.tgz#4d6bdf451369aa137e7b445bf700ba5b82dd6fa0" - integrity sha512-K3h3ofFOvXgsGAoACcGEG+T+X9Kq1xRk1bJS+p6JOd2U4mDFkIOW03u2wSCcVMuCq/NsM/piALNt1u3DrQftlw== - table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -5153,9 +5177,9 @@ type@^1.0.1: integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" - integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -5174,6 +5198,16 @@ ultron@~1.1.0: resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== +unbox-primitive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.0.tgz#eeacbc4affa28e9b3d36b5eaeccc50b3251b1d3f" + integrity sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.0" + has-symbols "^1.0.0" + which-boxed-primitive "^1.0.1" + unbzip2-stream@^1.0.9: version "1.4.3" resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" @@ -5299,9 +5333,9 @@ uuid@^3.2.1, uuid@^3.3.2: integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== v8-compile-cache@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" - integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== validate-npm-package-license@^3.0.1: version "3.0.4" @@ -5830,6 +5864,17 @@ websocket@^1.0.32: utf-8-validate "^5.0.2" yaeti "^0.0.6" +which-boxed-primitive@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-typed-array@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" @@ -5894,9 +5939,9 @@ ws@^6.0.0: async-limiter "~1.0.0" ws@^7.0.0: - version "7.4.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" - integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== + version "7.4.4" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" + integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== ws@~7.2.0: version "7.2.5" From 40cdf65dea70ec8aee2527710cb63a68429d4791 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Fri, 12 Mar 2021 17:24:22 +0100 Subject: [PATCH 09/12] Use fixed amount of gas --- contracts/near/eth-prover/src/lib.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/contracts/near/eth-prover/src/lib.rs b/contracts/near/eth-prover/src/lib.rs index 6d8fff9a1..6495efbe3 100644 --- a/contracts/near/eth-prover/src/lib.rs +++ b/contracts/near/eth-prover/src/lib.rs @@ -1,7 +1,7 @@ use admin_controlled::Mask; use borsh::{BorshDeserialize, BorshSerialize}; use eth_types::*; -use near_sdk::{env, ext_contract, near_bindgen, PromiseOrValue}; +use near_sdk::{env, ext_contract, near_bindgen, Gas, PanicOnDefault, PromiseOrValue}; use rlp::Rlp; #[cfg(test)] @@ -13,6 +13,12 @@ static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; type AccountId = String; +/// Gas to call block_hash_safe +const BLOCK_HASH_SAFE_GAS: Gas = 10_000_000_000_000; + +/// Gas to call on_block_hash +const ON_BLOCK_HASH_GAS: Gas = 5_000_000_000_000; + #[near_bindgen] #[derive(BorshDeserialize, BorshSerialize)] pub struct EthProver { @@ -105,13 +111,13 @@ impl EthProver { block_number, &self.bridge_smart_contract, 0, - env::prepaid_gas() / 3, + BLOCK_HASH_SAFE_GAS, ) .then(remote_self::on_block_hash( expected_block_hash, &env::current_account_id(), 0, - 10000000000000, + ON_BLOCK_HASH_GAS, )) .into() } @@ -153,13 +159,13 @@ impl EthProver { header.number, &self.bridge_smart_contract, 0, - 10000000000000, + BLOCK_HASH_SAFE_GAS, ) .then(remote_self::on_block_hash( header.hash.unwrap(), &env::current_account_id(), 0, - env::prepaid_gas() / 2, + ON_BLOCK_HASH_GAS, )) .into() } From 5029b893aa0448a1a86a3fcab1812c31ffd41791 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Fri, 12 Mar 2021 17:24:51 +0100 Subject: [PATCH 10/12] Compile contracts --- contracts/near/eth-client/src/lib.rs | 14 +++----------- contracts/near/eth-prover/src/lib.rs | 12 ++---------- contracts/near/res/eth_client.wasm | Bin 178391 -> 178391 bytes contracts/near/res/eth_prover.wasm | Bin 131680 -> 131460 bytes 4 files changed, 5 insertions(+), 21 deletions(-) diff --git a/contracts/near/eth-client/src/lib.rs b/contracts/near/eth-client/src/lib.rs index 2f78ed3e8..3b3fc0af8 100644 --- a/contracts/near/eth-client/src/lib.rs +++ b/contracts/near/eth-client/src/lib.rs @@ -3,11 +3,9 @@ use borsh::{BorshDeserialize, BorshSerialize}; use eth_types::*; use near_sdk::collections::UnorderedMap; use near_sdk::AccountId; -use near_sdk::{env, near_bindgen}; +use near_sdk::{env, near_bindgen, PanicOnDefault}; -#[cfg(target_arch = "wasm32")] -#[global_allocator] -static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; +near_sdk::setup_alloc!(); #[cfg(not(target_arch = "wasm32"))] #[cfg(test)] @@ -62,7 +60,7 @@ pub struct HeaderInfo { const PAUSE_ADD_BLOCK_HEADER: Mask = 1; #[near_bindgen] -#[derive(BorshDeserialize, BorshSerialize)] +#[derive(BorshDeserialize, BorshSerialize, PanicOnDefault)] pub struct EthClient { /// Whether client validates the PoW when accepting the header. Should only be set to `false` /// for debugging, testing, diagnostic purposes when used with Ganache or in PoA testnets @@ -105,12 +103,6 @@ pub struct EthClient { paused: Mask, } -impl Default for EthClient { - fn default() -> Self { - env::panic(b"EthClient is not initialized"); - } -} - #[near_bindgen] impl EthClient { #[init] diff --git a/contracts/near/eth-prover/src/lib.rs b/contracts/near/eth-prover/src/lib.rs index 6495efbe3..00d6b085b 100644 --- a/contracts/near/eth-prover/src/lib.rs +++ b/contracts/near/eth-prover/src/lib.rs @@ -7,9 +7,7 @@ use rlp::Rlp; #[cfg(test)] mod tests; -#[cfg(target_arch = "wasm32")] -#[global_allocator] -static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; +near_sdk::setup_alloc!(); type AccountId = String; @@ -20,7 +18,7 @@ const BLOCK_HASH_SAFE_GAS: Gas = 10_000_000_000_000; const ON_BLOCK_HASH_GAS: Gas = 5_000_000_000_000; #[near_bindgen] -#[derive(BorshDeserialize, BorshSerialize)] +#[derive(BorshDeserialize, BorshSerialize, PanicOnDefault)] pub struct EthProver { bridge_smart_contract: AccountId, paused: Mask, @@ -47,12 +45,6 @@ pub trait RemoteEthClient { fn block_hash_safe(&self, #[serializer(borsh)] index: u64) -> Option; } -impl Default for EthProver { - fn default() -> Self { - env::panic(b"Not initialized yet."); - } -} - const PAUSE_VERIFY: Mask = 1; #[near_bindgen] diff --git a/contracts/near/res/eth_client.wasm b/contracts/near/res/eth_client.wasm index 7c6efa7e8c69ab7a1f8e6ee02d69ebd8a81a0dc4..70cc71f5ab5d9e13788617bb19ca0bef07b98fdc 100755 GIT binary patch delta 1486 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 az+6qv^~0GIzc$Ps%t8#TsrZXF1^s_@v@KEq delta 23291 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 From 641ede96ede55169d2db930001b712c75757c1c1 Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Fri, 12 Mar 2021 18:58:41 +0100 Subject: [PATCH 11/12] Update tests --- testing/adapter/index.js | 6 +++--- testing/ci/e2e.sh | 2 +- testing/transfer-eth-erc20/from-near.js | 12 ++++++------ testing/transfer-eth-erc20/to-near.js | 10 +++++----- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/testing/adapter/index.js b/testing/adapter/index.js index f59dfb41a..e559e73e6 100644 --- a/testing/adapter/index.js +++ b/testing/adapter/index.js @@ -225,12 +225,12 @@ async function getBridgeOnNearBalance ({ nearErc20Account, { changeMethods: [], - viewMethods: ['get_balance'] + viewMethods: ['ft_balance_of'] } ) - const balance = await nearTokenContract.get_balance({ - owner_id: nearReceiverAccount + const balance = await nearTokenContract.ft_balance_of({ + account_id: nearReceiverAccount }) console.log( `[Rainbow-Bridge on Near] Balance of ${nearReceiverAccount} is ${balance}` diff --git a/testing/ci/e2e.sh b/testing/ci/e2e.sh index 166081191..5d55769bc 100755 --- a/testing/ci/e2e.sh +++ b/testing/ci/e2e.sh @@ -26,7 +26,7 @@ while ! curl localhost:9545; do sleep 1 done -node index.js init-near-contracts +node index.js init-near-contracts --num-confirmations 2 node index.js init-eth-ed25519 # Use short lockup time for tests node index.js init-eth-client --eth-client-lock-eth-amount 1000000000000000000 --eth-client-lock-duration 30 diff --git a/testing/transfer-eth-erc20/from-near.js b/testing/transfer-eth-erc20/from-near.js index 45720914a..61bf65e11 100644 --- a/testing/transfer-eth-erc20/from-near.js +++ b/testing/transfer-eth-erc20/from-near.js @@ -67,8 +67,8 @@ class TransferEthERC20FromNear { // Withdraw the token on Near side. try { const oldBalance = await backoff(10, () => - nearTokenContract.get_balance({ - owner_id: nearSenderAccountId + nearTokenContract.ft_balance_of({ + account_id: nearSenderAccountId }) ) console.log( @@ -84,7 +84,7 @@ class TransferEthERC20FromNear { 'withdraw', { amount: amount, recipient: ethReceiverAddress }, new BN('300000000000000'), - new BN(0) + new BN(1) ) console.log(`tx withdraw: ${JSON.stringify(txWithdraw)}`) @@ -214,8 +214,8 @@ class TransferEthERC20FromNear { } console.log(`Withdrawn ${JSON.stringify(amount)}`) const newBalance = await backoff(10, () => - nearTokenContract.get_balance({ - owner_id: nearSenderAccountId + nearTokenContract.ft_balance_of({ + account_id: nearSenderAccountId }) ) console.log( @@ -382,7 +382,7 @@ class TransferEthERC20FromNear { nearErc20Account, { changeMethods: ['new', 'withdraw'], - viewMethods: ['get_balance'] + viewMethods: ['ft_balance_of'] } ) const nearTokenContractBorsh = new NearMintableToken( diff --git a/testing/transfer-eth-erc20/to-near.js b/testing/transfer-eth-erc20/to-near.js index 3cec46d27..8e1bfe896 100644 --- a/testing/transfer-eth-erc20/to-near.js +++ b/testing/transfer-eth-erc20/to-near.js @@ -196,8 +196,8 @@ class TransferETHERC20ToNear { nearTokenContract, newOwnerId }) { - const oldBalance = await nearTokenContract.get_balance({ - owner_id: newOwnerId + const oldBalance = await nearTokenContract.ft_balance_of({ + account_id: newOwnerId }) console.log( `Balance of ${newOwnerId} before the transfer is ${oldBalance}` @@ -218,8 +218,8 @@ class TransferETHERC20ToNear { TransferETHERC20ToNear.showRetryAndExit() } - const newBalance = await nearTokenContract.get_balance({ - owner_id: newOwnerId + const newBalance = await nearTokenContract.ft_balance_of({ + account_id: newOwnerId }) console.log( `Balance of ${newOwnerId} after the transfer is ${newBalance}` @@ -314,7 +314,7 @@ class TransferETHERC20ToNear { nearErc20Account, { changeMethods: [], - viewMethods: ['get_balance'] + viewMethods: ['ft_balance_of'] } ) const nearFactoryContractBorsh = new NearMintableToken( From edf2ea473d0bb3ae36675e24debfbfadaa2c104b Mon Sep 17 00:00:00 2001 From: Marcelo Fornet Date: Sat, 13 Mar 2021 00:20:49 +0100 Subject: [PATCH 12/12] Update cli/package.json Use commit on master. --- cli/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/package.json b/cli/package.json index fc292cf68..36a6535f6 100644 --- a/cli/package.json +++ b/cli/package.json @@ -34,7 +34,7 @@ "rainbow-bridge-near2eth-block-relay": "1.0.0", "rainbow-bridge-watchdog": "1.0.0", "rainbow-bridge-testing": "1.0.0", - "rainbow-token-connector": "near/rainbow-token-connector#6855221404f81f987fcf1db9a860b2345149531a", + "rainbow-token-connector": "near/rainbow-token-connector#7fb86958362fe8e4455ebbcdb00caac067eda2ff", "request": "^2.88.2" } -} \ No newline at end of file +}