Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
d18dc94209 | |||
8242fd19eb | |||
469e91cd8d | |||
4889c2a29c | |||
3c6115c94a | |||
70b15317a9 | |||
a834e9ae10 |
496
Cargo.lock
generated
496
Cargo.lock
generated
@ -79,14 +79,6 @@ name = "ascii"
|
|||||||
version = "0.7.1"
|
version = "0.7.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "ascii-canvas"
|
|
||||||
version = "1.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"term 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "assert_cmd"
|
name = "assert_cmd"
|
||||||
version = "0.11.1"
|
version = "0.11.1"
|
||||||
@ -815,11 +807,6 @@ dependencies = [
|
|||||||
"syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
"syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "diff"
|
|
||||||
version = "0.1.11"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "difference"
|
name = "difference"
|
||||||
version = "2.0.0"
|
version = "2.0.0"
|
||||||
@ -871,17 +858,6 @@ dependencies = [
|
|||||||
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "docopt"
|
|
||||||
version = "1.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"regex 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dtoa"
|
name = "dtoa"
|
||||||
version = "0.4.4"
|
version = "0.4.4"
|
||||||
@ -939,14 +915,6 @@ dependencies = [
|
|||||||
"tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "ena"
|
|
||||||
version = "0.11.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "encode_unicode"
|
name = "encode_unicode"
|
||||||
version = "0.3.5"
|
version = "0.3.5"
|
||||||
@ -1633,30 +1601,6 @@ dependencies = [
|
|||||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "lalrpop"
|
|
||||||
version = "0.16.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"ascii-canvas 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"diff 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"lalrpop-util 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"regex 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"regex-syntax 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"serde_derive 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"string_cache 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"term 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lalrpop-util"
|
name = "lalrpop-util"
|
||||||
version = "0.16.3"
|
version = "0.16.3"
|
||||||
@ -1953,11 +1897,6 @@ dependencies = [
|
|||||||
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "new_debug_unreachable"
|
|
||||||
version = "1.0.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "nibble_vec"
|
name = "nibble_vec"
|
||||||
version = "0.0.4"
|
version = "0.0.4"
|
||||||
@ -2315,11 +2254,6 @@ name = "ppv-lite86"
|
|||||||
version = "0.2.5"
|
version = "0.2.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "precomputed-hash"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "predicates"
|
name = "predicates"
|
||||||
version = "1.0.1"
|
version = "1.0.1"
|
||||||
@ -3164,10 +3098,13 @@ dependencies = [
|
|||||||
"solana-ed25519-dalek 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"solana-ed25519-dalek 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana-exchange-program 0.17.0",
|
"solana-exchange-program 0.17.0",
|
||||||
"solana-kvstore 0.17.0",
|
"solana-kvstore 0.17.0",
|
||||||
|
"solana-librapay-api 0.17.0",
|
||||||
"solana-logger 0.17.0",
|
"solana-logger 0.17.0",
|
||||||
"solana-measure 0.17.0",
|
"solana-measure 0.17.0",
|
||||||
"solana-merkle-tree 0.17.0",
|
"solana-merkle-tree 0.17.0",
|
||||||
"solana-metrics 0.17.0",
|
"solana-metrics 0.17.0",
|
||||||
|
"solana-move-loader-api 0.17.0",
|
||||||
|
"solana-move-loader-program 0.17.0",
|
||||||
"solana-netutil 0.17.0",
|
"solana-netutil 0.17.0",
|
||||||
"solana-runtime 0.17.0",
|
"solana-runtime 0.17.0",
|
||||||
"solana-sdk 0.17.0",
|
"solana-sdk 0.17.0",
|
||||||
@ -3230,6 +3167,7 @@ dependencies = [
|
|||||||
name = "solana-bench-tps"
|
name = "solana-bench-tps"
|
||||||
version = "0.17.0"
|
version = "0.17.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -3240,7 +3178,9 @@ dependencies = [
|
|||||||
"solana 0.17.0",
|
"solana 0.17.0",
|
||||||
"solana-client 0.17.0",
|
"solana-client 0.17.0",
|
||||||
"solana-drone 0.17.0",
|
"solana-drone 0.17.0",
|
||||||
|
"solana-librapay-api 0.17.0",
|
||||||
"solana-logger 0.17.0",
|
"solana-logger 0.17.0",
|
||||||
|
"solana-measure 0.17.0",
|
||||||
"solana-metrics 0.17.0",
|
"solana-metrics 0.17.0",
|
||||||
"solana-netutil 0.17.0",
|
"solana-netutil 0.17.0",
|
||||||
"solana-runtime 0.17.0",
|
"solana-runtime 0.17.0",
|
||||||
@ -3542,6 +3482,20 @@ dependencies = [
|
|||||||
"solana-sdk 0.17.0",
|
"solana-sdk 0.17.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "solana-librapay-api"
|
||||||
|
version = "0.17.0"
|
||||||
|
dependencies = [
|
||||||
|
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"solana-logger 0.17.0",
|
||||||
|
"solana-move-loader-api 0.17.0",
|
||||||
|
"solana-runtime 0.17.0",
|
||||||
|
"solana-sdk 0.17.0",
|
||||||
|
"solana_libra_language_e2e_tests 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana-logger"
|
name = "solana-logger"
|
||||||
version = "0.17.0"
|
version = "0.17.0"
|
||||||
@ -3594,16 +3548,16 @@ dependencies = [
|
|||||||
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana-logger 0.17.0",
|
"solana-logger 0.17.0",
|
||||||
"solana-sdk 0.17.0",
|
"solana-sdk 0.17.0",
|
||||||
"solana_libra_bytecode_verifier 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_bytecode_verifier 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_compiler 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_compiler 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_language_e2e_tests 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_language_e2e_tests 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_state_view 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_state_view 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_stdlib 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_stdlib 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm_cache_map 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm_cache_map 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm_runtime 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm_runtime 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3931,45 +3885,45 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_bytecode_verifier"
|
name = "solana_libra_bytecode_verifier"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"mirai-annotations 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mirai-annotations 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_canonical_serialization"
|
name = "solana_libra_canonical_serialization"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_compiler"
|
name = "solana_libra_compiler"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_bytecode_verifier 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_bytecode_verifier 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_ir_to_bytecode 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_ir_to_bytecode 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_stdlib 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_stdlib 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
|
"structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_config"
|
name = "solana_libra_config"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"get_if_addrs 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"get_if_addrs 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -3977,19 +3931,19 @@ dependencies = [
|
|||||||
"parity-multiaddr 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-multiaddr 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_logger 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_logger 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proto_conv 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proto_conv 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_crypto"
|
name = "solana_libra_crypto"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4007,9 +3961,9 @@ dependencies = [
|
|||||||
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto-derive 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto-derive 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proto_conv 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proto_conv 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"threshold_crypto 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"threshold_crypto 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"x25519-dalek 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"x25519-dalek 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4017,8 +3971,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_crypto-derive"
|
name = "solana_libra_crypto-derive"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
"syn 0.15.42 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4026,81 +3980,80 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_failure_ext"
|
name = "solana_libra_failure_ext"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_macros 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_macros 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_failure_macros"
|
name = "solana_libra_failure_macros"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_ir_to_bytecode"
|
name = "solana_libra_ir_to_bytecode"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"codespan 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"codespan 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"codespan-reporting 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"codespan-reporting 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lalrpop-util 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lalrpop-util 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"regex 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"regex 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_ir_to_bytecode_syntax 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_ir_to_bytecode_syntax 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_ir_to_bytecode_syntax"
|
name = "solana_libra_ir_to_bytecode_syntax"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"codespan 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"codespan 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"codespan-reporting 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"codespan-reporting 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lalrpop 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"lalrpop-util 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lalrpop-util 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"regex 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"regex 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_language_e2e_tests"
|
name = "solana_libra_language_e2e_tests"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"proptest-derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proptest-derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"protobuf 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"protobuf 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_bytecode_verifier 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_bytecode_verifier 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_canonical_serialization 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_canonical_serialization 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_compiler 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_compiler 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_config 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_config 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_ir_to_bytecode 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_ir_to_bytecode 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_logger 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_logger 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proptest_helpers 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proptest_helpers 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proto_conv 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proto_conv 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_state_view 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_state_view 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_stdlib 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_stdlib 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm_genesis 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm_genesis 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm_runtime 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm_runtime 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_logger"
|
name = "solana_libra_logger"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"backtrace 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
"backtrace 0.3.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"chrono 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"chrono 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4118,15 +4071,15 @@ dependencies = [
|
|||||||
"slog-envlogger 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"slog-envlogger 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"slog-scope 4.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"slog-scope 4.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"slog-term 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"slog-term 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"thread-id 3.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_metrics"
|
name = "solana_libra_metrics"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"grpcio 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"grpcio 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4135,27 +4088,27 @@ dependencies = [
|
|||||||
"prometheus 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"prometheus 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"protobuf 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"protobuf 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_logger 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_logger 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_move_ir_natives"
|
name = "solana_libra_move_ir_natives"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitcoin_hashes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitcoin_hashes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_nextgen_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_nextgen_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_nextgen_crypto"
|
name = "solana_libra_nextgen_crypto"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4174,10 +4127,10 @@ dependencies = [
|
|||||||
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"sha3 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto-derive 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto-derive 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proto_conv 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proto_conv 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"threshold_crypto 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"threshold_crypto 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"x25519-dalek 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"x25519-dalek 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4185,8 +4138,8 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_proptest_helpers"
|
name = "solana_libra_proptest_helpers"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4195,18 +4148,18 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_proto_conv"
|
name = "solana_libra_proto_conv"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"protobuf 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"protobuf 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proto_conv_derive 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proto_conv_derive 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_proto_conv_derive"
|
name = "solana_libra_proto_conv_derive"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4215,28 +4168,28 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_state_view"
|
name = "solana_libra_state_view"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_stdlib"
|
name = "solana_libra_stdlib"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_bytecode_verifier 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_bytecode_verifier 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_ir_to_bytecode 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_ir_to_bytecode 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_types"
|
name = "solana_libra_types"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bech32 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bech32 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4252,20 +4205,20 @@ dependencies = [
|
|||||||
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_canonical_serialization 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_canonical_serialization 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_logger 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_logger 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_nextgen_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_nextgen_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proptest_helpers 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proptest_helpers 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proto_conv 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proto_conv 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_vm"
|
name = "solana_libra_vm"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4273,16 +4226,16 @@ dependencies = [
|
|||||||
"mirai-annotations 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mirai-annotations 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"proptest-derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proptest-derive 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proptest_helpers 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proptest_helpers 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_vm_cache_map"
|
name = "solana_libra_vm_cache_map"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chashmap 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"chashmap 2.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"typed-arena 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"typed-arena 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4290,31 +4243,31 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_vm_genesis"
|
name = "solana_libra_vm_genesis"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_config 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_config 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_ir_to_bytecode 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_ir_to_bytecode 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_proto_conv 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_proto_conv 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_state_view 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_state_view 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_stdlib 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_stdlib 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm_cache_map 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm_cache_map 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm_runtime 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm_runtime 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "solana_libra_vm_runtime"
|
name = "solana_libra_vm_runtime"
|
||||||
version = "0.0.0-sol13"
|
version = "0.0.0-sol15"
|
||||||
source = "git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2#bb473eb35cde9974e8890db1b62528c51bf2dfe7"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -4322,18 +4275,18 @@ dependencies = [
|
|||||||
"proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proptest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rayon 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rental 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rental 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_bytecode_verifier 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_bytecode_verifier 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_canonical_serialization 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_canonical_serialization 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_config 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_config 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_logger 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_logger 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_metrics 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_metrics 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_move_ir_natives 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_move_ir_natives 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_state_view 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_state_view 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"solana_libra_vm_cache_map 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)",
|
"solana_libra_vm_cache_map 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tiny-keccak 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -4384,47 +4337,11 @@ dependencies = [
|
|||||||
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "string_cache"
|
|
||||||
version = "0.7.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"serde 1.0.97 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"string_cache_codegen 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "string_cache_codegen"
|
|
||||||
version = "0.4.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "string_cache_shared"
|
|
||||||
version = "0.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "strsim"
|
name = "strsim"
|
||||||
version = "0.8.0"
|
version = "0.8.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "strsim"
|
|
||||||
version = "0.9.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "structopt"
|
name = "structopt"
|
||||||
version = "0.2.18"
|
version = "0.2.18"
|
||||||
@ -4541,15 +4458,6 @@ dependencies = [
|
|||||||
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "term"
|
|
||||||
version = "0.4.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "term"
|
name = "term"
|
||||||
version = "0.5.2"
|
version = "0.5.2"
|
||||||
@ -5202,7 +5110,6 @@ dependencies = [
|
|||||||
"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
|
"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
|
||||||
"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
|
"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
|
||||||
"checksum ascii 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae7d751998c189c1d4468cf0a39bb2eae052a9c58d50ebb3b9591ee3813ad50"
|
"checksum ascii 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae7d751998c189c1d4468cf0a39bb2eae052a9c58d50ebb3b9591ee3813ad50"
|
||||||
"checksum ascii-canvas 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b385d69402821a1c254533a011a312531cbcc0e3e24f19bbb4747a5a2daf37e2"
|
|
||||||
"checksum assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc477793bd82ec39799b6f6b3df64938532fdf2ab0d49ef817eac65856a5a1e"
|
"checksum assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc477793bd82ec39799b6f6b3df64938532fdf2ab0d49ef817eac65856a5a1e"
|
||||||
"checksum assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5"
|
"checksum assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7deb0a829ca7bcfaf5da70b073a8d128619259a7be8216a355e23f00763059e5"
|
||||||
"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
|
"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
|
||||||
@ -5285,20 +5192,17 @@ dependencies = [
|
|||||||
"checksum curve25519-dalek 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5d4b820e8711c211745880150f5fac78ab07d6e3851d8ce9f5a02cedc199174c"
|
"checksum curve25519-dalek 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5d4b820e8711c211745880150f5fac78ab07d6e3851d8ce9f5a02cedc199174c"
|
||||||
"checksum data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4f47ca1860a761136924ddd2422ba77b2ea54fe8cc75b9040804a0d9d32ad97"
|
"checksum data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4f47ca1860a761136924ddd2422ba77b2ea54fe8cc75b9040804a0d9d32ad97"
|
||||||
"checksum derive_deref 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11554fdb0aa42363a442e0c4278f51c9621e20c1ce3bac51d79e60646f3b8b8f"
|
"checksum derive_deref 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11554fdb0aa42363a442e0c4278f51c9621e20c1ce3bac51d79e60646f3b8b8f"
|
||||||
"checksum diff 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3c2b69f912779fbb121ceb775d74d51e915af17aaebc38d28a592843a2dd0a3a"
|
|
||||||
"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
|
"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
|
||||||
"checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90"
|
"checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90"
|
||||||
"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
|
"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
|
||||||
"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
|
"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
|
||||||
"checksum dirs 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1c4ef5a8b902d393339e2a2c7fe573af92ce7e0ee5a3ff827b4c9ad7e07e4fa1"
|
"checksum dirs 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1c4ef5a8b902d393339e2a2c7fe573af92ce7e0ee5a3ff827b4c9ad7e07e4fa1"
|
||||||
"checksum dirs-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "937756392ec77d1f2dd9dc3ac9d69867d109a2121479d72c364e42f4cab21e2d"
|
"checksum dirs-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "937756392ec77d1f2dd9dc3ac9d69867d109a2121479d72c364e42f4cab21e2d"
|
||||||
"checksum docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
|
|
||||||
"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
|
"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
|
||||||
"checksum ed25519-dalek 1.0.0-pre.1 (registry+https://github.com/rust-lang/crates.io-index)" = "81956bcf7ef761fb4e1d88de3fa181358a0d26cbcb9755b587a08f9119824b86"
|
"checksum ed25519-dalek 1.0.0-pre.1 (registry+https://github.com/rust-lang/crates.io-index)" = "81956bcf7ef761fb4e1d88de3fa181358a0d26cbcb9755b587a08f9119824b86"
|
||||||
"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
|
"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b"
|
||||||
"checksum elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4841de15dbe0e49b9b62a417589299e3be0d557e0900d36acb87e6dae47197f5"
|
"checksum elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4841de15dbe0e49b9b62a417589299e3be0d557e0900d36acb87e6dae47197f5"
|
||||||
"checksum elfkit 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "02f182eda16a7360c80a2f8638d0726e9d5478173058f1505c42536ca666ecd2"
|
"checksum elfkit 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "02f182eda16a7360c80a2f8638d0726e9d5478173058f1505c42536ca666ecd2"
|
||||||
"checksum ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f56c93cc076508c549d9bb747f79aa9b4eb098be7b8cad8830c3137ef52d1e00"
|
|
||||||
"checksum encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd"
|
"checksum encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd"
|
||||||
"checksum encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed"
|
"checksum encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed"
|
||||||
"checksum endian-type 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
|
"checksum endian-type 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
|
||||||
@ -5373,7 +5277,6 @@ dependencies = [
|
|||||||
"checksum jsonrpc-ws-server 12.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "698fee4fcaf09a5927b7e39dd8a8136a102b343cebacaa351fc4def01a050a5b"
|
"checksum jsonrpc-ws-server 12.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "698fee4fcaf09a5927b7e39dd8a8136a102b343cebacaa351fc4def01a050a5b"
|
||||||
"checksum keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7"
|
"checksum keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7"
|
||||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
|
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
|
||||||
"checksum lalrpop 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4e2e80bee40b22bca46665b4ef1f3cd88ed0fb043c971407eac17a0712c02572"
|
|
||||||
"checksum lalrpop-util 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)" = "33b27d8490dbe1f9704b0088d61e8d46edc10d5673a8829836c6ded26a9912c7"
|
"checksum lalrpop-util 0.16.3 (registry+https://github.com/rust-lang/crates.io-index)" = "33b27d8490dbe1f9704b0088d61e8d46edc10d5673a8829836c6ded26a9912c7"
|
||||||
"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
|
"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
|
||||||
"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
|
"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
|
||||||
@ -5410,7 +5313,6 @@ dependencies = [
|
|||||||
"checksum mirai-annotations 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d15444fc4fbe11acaf6683f49e1d4be94bfd6d96799673e9b8417dd7ba9b6ea9"
|
"checksum mirai-annotations 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d15444fc4fbe11acaf6683f49e1d4be94bfd6d96799673e9b8417dd7ba9b6ea9"
|
||||||
"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e"
|
"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e"
|
||||||
"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
|
"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
|
||||||
"checksum new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f40f005c60db6e03bae699e414c58bf9aa7ea02a2d0b9bfbcf19286cc4c82b30"
|
|
||||||
"checksum nibble_vec 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c8d77f3db4bce033f4d04db08079b2ef1c3d02b44e86f25d08886fafa7756ffa"
|
"checksum nibble_vec 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c8d77f3db4bce033f4d04db08079b2ef1c3d02b44e86f25d08886fafa7756ffa"
|
||||||
"checksum nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce"
|
"checksum nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce"
|
||||||
"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
|
"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
|
||||||
@ -5451,7 +5353,6 @@ dependencies = [
|
|||||||
"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
|
"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
|
||||||
"checksum pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c1d2cfa5a714db3b5f24f0915e74fcdf91d09d496ba61329705dda7774d2af"
|
"checksum pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c1d2cfa5a714db3b5f24f0915e74fcdf91d09d496ba61329705dda7774d2af"
|
||||||
"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
|
"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
|
||||||
"checksum precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
|
|
||||||
"checksum predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "53e09015b0d3f5a0ec2d4428f7559bb7b3fff341b4e159fedd1d57fac8b939ff"
|
"checksum predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "53e09015b0d3f5a0ec2d4428f7559bb7b3fff341b4e159fedd1d57fac8b939ff"
|
||||||
"checksum predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "06075c3a3e92559ff8929e7a280684489ea27fe44805174c3ebd9328dcb37178"
|
"checksum predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "06075c3a3e92559ff8929e7a280684489ea27fe44805174c3ebd9328dcb37178"
|
||||||
"checksum predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e63c4859013b38a76eca2414c64911fba30def9e3202ac461a2d22831220124"
|
"checksum predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e63c4859013b38a76eca2414c64911fba30def9e3202ac461a2d22831220124"
|
||||||
@ -5540,42 +5441,38 @@ dependencies = [
|
|||||||
"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
|
"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
|
||||||
"checksum socket2 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)" = "df028e0e632c2a1823d920ad74895e7f9128e6438cbc4bc6fd1f180e644767b9"
|
"checksum socket2 0.3.10 (registry+https://github.com/rust-lang/crates.io-index)" = "df028e0e632c2a1823d920ad74895e7f9128e6438cbc4bc6fd1f180e644767b9"
|
||||||
"checksum solana-ed25519-dalek 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1c21f9d5aa62959872194dfd086feb4e8efec1c2589d27e6a0339904759e99fc"
|
"checksum solana-ed25519-dalek 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1c21f9d5aa62959872194dfd086feb4e8efec1c2589d27e6a0339904759e99fc"
|
||||||
"checksum solana_libra_bytecode_verifier 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_bytecode_verifier 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "cdbd247ba148f48626f84f6c902270974b871ada749bd0c8a8df8325c2f443f7"
|
||||||
"checksum solana_libra_canonical_serialization 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_canonical_serialization 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "6e048a56ee25eb44fa3c10ffa32ef970b1ed235d0cf297c9b982bc1370a91915"
|
||||||
"checksum solana_libra_compiler 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_compiler 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "122680634c26d48b47e8fd84710f18c5d06fb263f6cbfd2429e508e9263b5b94"
|
||||||
"checksum solana_libra_config 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_config 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "f3e1f1e36b86eba9b3eee921d5f5a35ed000932bd135889f75baf7012b9b072c"
|
||||||
"checksum solana_libra_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "e034f00e11e54683ccd2b35cf70b21b42f49f6d6e7ffb742ed317a1d7a6a747d"
|
||||||
"checksum solana_libra_crypto-derive 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_crypto-derive 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "8a73e01f1b8003fe23b541444ea6c4666edfdbd585bfc5834776c38f934c9261"
|
||||||
"checksum solana_libra_failure_ext 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_failure_ext 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "f746f50c7fc974eb154ff2a0016ca142f5cd9298af74cdd875b07e15235c0b0a"
|
||||||
"checksum solana_libra_failure_macros 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_failure_macros 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "3080ec410a120187c5184e85713ec6796bdff9297d23317d84d7d75b068d7d8d"
|
||||||
"checksum solana_libra_ir_to_bytecode 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_ir_to_bytecode 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "683468c3e738bf4f7775b04107121297e4a0da5708dd2262db02b4a5f5c58477"
|
||||||
"checksum solana_libra_ir_to_bytecode_syntax 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_ir_to_bytecode_syntax 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "2fced1204a50746ffca2ebf7716c2d0e69b11e2a65781dffad96c2f56366a2fa"
|
||||||
"checksum solana_libra_language_e2e_tests 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_language_e2e_tests 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "5419058e181091b82ea4fe8bed5407ee718bfc61d87fccb8afc821d477bc66f9"
|
||||||
"checksum solana_libra_logger 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_logger 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "ca510fe50f83785013bf4101b43833f3748b5e5b57d625bfa066301067405d1e"
|
||||||
"checksum solana_libra_metrics 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_metrics 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "8b308d761ff5a4aeadb9b3a4bb9633fad1697be64bbec00d80f477b4a3981e5e"
|
||||||
"checksum solana_libra_move_ir_natives 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_move_ir_natives 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "c4dc75fd4eccb74fb5b0617817b5b8d9db560625440f83f0ad42c01714f2eac6"
|
||||||
"checksum solana_libra_nextgen_crypto 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_nextgen_crypto 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "2d08c6e256b8774b620d9b3d31b96c507f3585786a5f631acb329635e47ecba1"
|
||||||
"checksum solana_libra_proptest_helpers 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_proptest_helpers 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "e6ca5297a53d9f0778ab95303eb795e1d625a557626e3ce91661cbcfe3e20ecf"
|
||||||
"checksum solana_libra_proto_conv 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_proto_conv 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "9486271bc6a8f89a56b503a4c73085fd20958b8d9d0bcac9294299478039ac5f"
|
||||||
"checksum solana_libra_proto_conv_derive 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_proto_conv_derive 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "d93691537cc87685e3d0e0c6da5b0972454bf0f9e6fcec544e59d3071c396281"
|
||||||
"checksum solana_libra_state_view 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_state_view 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "2817ffe86d237a656e243b0e8db2450a0cfe9988633a6d3d11b46aa1e41ecfaa"
|
||||||
"checksum solana_libra_stdlib 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_stdlib 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "e723bac501b04923b2e2748757ab25b97fb5cca8a225ba2110fc37de1aa9fc3c"
|
||||||
"checksum solana_libra_types 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_types 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a0da726df0dd4c9772e4a8cb2cba806ec4b1cf6154af0172a6b6292992fe9da"
|
||||||
"checksum solana_libra_vm 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_vm 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "f77b064a6512b9962755208f90b2a750e44f6ee3a9f709746640fe1af9d465db"
|
||||||
"checksum solana_libra_vm_cache_map 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_vm_cache_map 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "7f8ad9ba68164d231a5057632cf48a1bc2bd35af296d797bdfc7606ae5f85d2b"
|
||||||
"checksum solana_libra_vm_genesis 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_vm_genesis 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "a195626ecac8cf32fc83df08950c1c5ce7a99ef94a531306ad3adfd1f09303f8"
|
||||||
"checksum solana_libra_vm_runtime 0.0.0-sol13 (git+https://github.com/solana-labs/libra?tag=v0.0.0-sol13.2)" = "<none>"
|
"checksum solana_libra_vm_runtime 0.0.0-sol15 (registry+https://github.com/rust-lang/crates.io-index)" = "62401cabf7d9208bd7c9edc08a6f571401a7a1d0c94fde44dc60edbd4300e442"
|
||||||
"checksum solana_rbpf 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "b6145a3a0104925b0be63e817f7b5814fac6aa29a328bbc1d637ffd33022d748"
|
"checksum solana_rbpf 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "b6145a3a0104925b0be63e817f7b5814fac6aa29a328bbc1d637ffd33022d748"
|
||||||
"checksum solicit 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "172382bac9424588d7840732b250faeeef88942e37b6e35317dce98cafdd75b2"
|
"checksum solicit 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "172382bac9424588d7840732b250faeeef88942e37b6e35317dce98cafdd75b2"
|
||||||
"checksum spin 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ceac490aa12c567115b40b7b7fceca03a6c9d53d5defea066123debc83c5dc1f"
|
"checksum spin 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ceac490aa12c567115b40b7b7fceca03a6c9d53d5defea066123debc83c5dc1f"
|
||||||
"checksum spin 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44363f6f51401c34e7be73db0db371c04705d35efbe9f7d6082e03a921a32c55"
|
"checksum spin 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44363f6f51401c34e7be73db0db371c04705d35efbe9f7d6082e03a921a32c55"
|
||||||
"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
|
"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
|
||||||
"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
|
"checksum string 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d"
|
||||||
"checksum string_cache 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25d70109977172b127fe834e5449e5ab1740b9ba49fa18a2020f509174f25423"
|
|
||||||
"checksum string_cache_codegen 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1eea1eee654ef80933142157fdad9dd8bc43cf7c74e999e369263496f04ff4da"
|
|
||||||
"checksum string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc"
|
|
||||||
"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
||||||
"checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
|
|
||||||
"checksum structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7"
|
"checksum structopt 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "16c2cdbf9cc375f15d1b4141bc48aeef444806655cd0e904207edc8d68d86ed7"
|
||||||
"checksum structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107"
|
"checksum structopt-derive 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "53010261a84b37689f9ed7d395165029f9cc7abb9f56bbfe86bee2597ed25107"
|
||||||
"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
|
"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
|
||||||
@ -5589,7 +5486,6 @@ dependencies = [
|
|||||||
"checksum tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3"
|
"checksum tar 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)" = "b3196bfbffbba3e57481b6ea32249fbaf590396a52505a2615adbb79d9d826d3"
|
||||||
"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
|
"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
|
||||||
"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
|
"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
|
||||||
"checksum term 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "fa63644f74ce96fbeb9b794f66aff2a52d601cbd5e80f4b97123e3899f4570f1"
|
|
||||||
"checksum term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
|
"checksum term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
|
||||||
"checksum termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
|
"checksum termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
|
||||||
"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
|
"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
|
||||||
|
@ -32,6 +32,7 @@ members = [
|
|||||||
"programs/failure_program",
|
"programs/failure_program",
|
||||||
"programs/move_loader_api",
|
"programs/move_loader_api",
|
||||||
"programs/move_loader_program",
|
"programs/move_loader_program",
|
||||||
|
"programs/librapay_api",
|
||||||
"programs/noop_program",
|
"programs/noop_program",
|
||||||
"programs/stake_api",
|
"programs/stake_api",
|
||||||
"programs/stake_program",
|
"programs/stake_program",
|
||||||
|
@ -8,6 +8,7 @@ license = "Apache-2.0"
|
|||||||
homepage = "https://solana.com/"
|
homepage = "https://solana.com/"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
bincode = "1.1.4"
|
||||||
clap = "2.33.0"
|
clap = "2.33.0"
|
||||||
log = "0.4.7"
|
log = "0.4.7"
|
||||||
rayon = "1.1.0"
|
rayon = "1.1.0"
|
||||||
@ -18,8 +19,10 @@ serde_yaml = "0.8.9"
|
|||||||
solana = { path = "../core", version = "0.17.0" }
|
solana = { path = "../core", version = "0.17.0" }
|
||||||
solana-client = { path = "../client", version = "0.17.0" }
|
solana-client = { path = "../client", version = "0.17.0" }
|
||||||
solana-drone = { path = "../drone", version = "0.17.0" }
|
solana-drone = { path = "../drone", version = "0.17.0" }
|
||||||
|
solana-librapay-api = { path = "../programs/librapay_api", version = "0.17.0" }
|
||||||
solana-logger = { path = "../logger", version = "0.17.0" }
|
solana-logger = { path = "../logger", version = "0.17.0" }
|
||||||
solana-metrics = { path = "../metrics", version = "0.17.0" }
|
solana-metrics = { path = "../metrics", version = "0.17.0" }
|
||||||
|
solana-measure = { path = "../measure", version = "0.17.0" }
|
||||||
solana-netutil = { path = "../netutil", version = "0.17.0" }
|
solana-netutil = { path = "../netutil", version = "0.17.0" }
|
||||||
solana-runtime = { path = "../runtime", version = "0.17.0" }
|
solana-runtime = { path = "../runtime", version = "0.17.0" }
|
||||||
solana-sdk = { path = "../sdk", version = "0.17.0" }
|
solana-sdk = { path = "../sdk", version = "0.17.0" }
|
||||||
|
@ -1,13 +1,16 @@
|
|||||||
use solana_metrics;
|
use solana_metrics;
|
||||||
|
|
||||||
|
use bincode;
|
||||||
use log::*;
|
use log::*;
|
||||||
use rayon::prelude::*;
|
use rayon::prelude::*;
|
||||||
use solana::gen_keys::GenKeys;
|
use solana::gen_keys::GenKeys;
|
||||||
use solana_client::perf_utils::{sample_txs, SampleStats};
|
use solana_client::perf_utils::{sample_txs, SampleStats};
|
||||||
use solana_drone::drone::request_airdrop_transaction;
|
use solana_drone::drone::request_airdrop_transaction;
|
||||||
|
use solana_measure::measure::Measure;
|
||||||
use solana_metrics::datapoint_info;
|
use solana_metrics::datapoint_info;
|
||||||
use solana_sdk::client::Client;
|
use solana_sdk::client::Client;
|
||||||
use solana_sdk::hash::Hash;
|
use solana_sdk::hash::Hash;
|
||||||
|
use solana_sdk::pubkey::Pubkey;
|
||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
use solana_sdk::system_instruction;
|
use solana_sdk::system_instruction;
|
||||||
use solana_sdk::system_transaction;
|
use solana_sdk::system_transaction;
|
||||||
@ -24,6 +27,8 @@ use std::thread::Builder;
|
|||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
use std::time::Instant;
|
use std::time::Instant;
|
||||||
|
|
||||||
|
use solana_librapay_api::librapay_transaction;
|
||||||
|
|
||||||
pub const MAX_SPENDS_PER_TX: u64 = 4;
|
pub const MAX_SPENDS_PER_TX: u64 = 4;
|
||||||
pub const NUM_LAMPORTS_PER_ACCOUNT: u64 = 128;
|
pub const NUM_LAMPORTS_PER_ACCOUNT: u64 = 128;
|
||||||
|
|
||||||
@ -43,6 +48,7 @@ pub struct Config {
|
|||||||
pub duration: Duration,
|
pub duration: Duration,
|
||||||
pub tx_count: usize,
|
pub tx_count: usize,
|
||||||
pub sustained: bool,
|
pub sustained: bool,
|
||||||
|
pub use_move: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Config {
|
impl Default for Config {
|
||||||
@ -54,6 +60,7 @@ impl Default for Config {
|
|||||||
duration: Duration::new(std::u64::MAX, 0),
|
duration: Duration::new(std::u64::MAX, 0),
|
||||||
tx_count: 500_000,
|
tx_count: 500_000,
|
||||||
sustained: false,
|
sustained: false,
|
||||||
|
use_move: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,6 +70,8 @@ pub fn do_bench_tps<T>(
|
|||||||
config: Config,
|
config: Config,
|
||||||
gen_keypairs: Vec<Keypair>,
|
gen_keypairs: Vec<Keypair>,
|
||||||
keypair0_balance: u64,
|
keypair0_balance: u64,
|
||||||
|
program_id: &Pubkey,
|
||||||
|
libra_mint_id: &Pubkey,
|
||||||
) -> u64
|
) -> u64
|
||||||
where
|
where
|
||||||
T: 'static + Client + Send + Sync,
|
T: 'static + Client + Send + Sync,
|
||||||
@ -73,6 +82,7 @@ where
|
|||||||
thread_batch_sleep_ms,
|
thread_batch_sleep_ms,
|
||||||
duration,
|
duration,
|
||||||
tx_count,
|
tx_count,
|
||||||
|
use_move,
|
||||||
sustained,
|
sustained,
|
||||||
} = config;
|
} = config;
|
||||||
|
|
||||||
@ -165,6 +175,9 @@ where
|
|||||||
&keypairs[len..],
|
&keypairs[len..],
|
||||||
threads,
|
threads,
|
||||||
reclaim_lamports_back_to_source_account,
|
reclaim_lamports_back_to_source_account,
|
||||||
|
use_move,
|
||||||
|
&program_id,
|
||||||
|
&libra_mint_id,
|
||||||
);
|
);
|
||||||
// In sustained mode overlap the transfers with generation
|
// In sustained mode overlap the transfers with generation
|
||||||
// this has higher average performance but lower peak performance
|
// this has higher average performance but lower peak performance
|
||||||
@ -228,6 +241,9 @@ fn generate_txs(
|
|||||||
dest: &[Keypair],
|
dest: &[Keypair],
|
||||||
threads: usize,
|
threads: usize,
|
||||||
reclaim: bool,
|
reclaim: bool,
|
||||||
|
use_move: bool,
|
||||||
|
libra_pay_program_id: &Pubkey,
|
||||||
|
libra_mint_id: &Pubkey,
|
||||||
) {
|
) {
|
||||||
let tx_count = source.len();
|
let tx_count = source.len();
|
||||||
println!("Signing transactions... {} (reclaim={})", tx_count, reclaim);
|
println!("Signing transactions... {} (reclaim={})", tx_count, reclaim);
|
||||||
@ -241,10 +257,25 @@ fn generate_txs(
|
|||||||
let transactions: Vec<_> = pairs
|
let transactions: Vec<_> = pairs
|
||||||
.par_iter()
|
.par_iter()
|
||||||
.map(|(id, keypair)| {
|
.map(|(id, keypair)| {
|
||||||
(
|
if use_move {
|
||||||
system_transaction::create_user_account(id, &keypair.pubkey(), 1, *blockhash),
|
(
|
||||||
timestamp(),
|
librapay_transaction::transfer(
|
||||||
)
|
libra_pay_program_id,
|
||||||
|
libra_mint_id,
|
||||||
|
&id,
|
||||||
|
&id,
|
||||||
|
&keypair.pubkey(),
|
||||||
|
1,
|
||||||
|
*blockhash,
|
||||||
|
),
|
||||||
|
timestamp(),
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
(
|
||||||
|
system_transaction::create_user_account(id, &keypair.pubkey(), 1, *blockhash),
|
||||||
|
timestamp(),
|
||||||
|
)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
@ -392,13 +423,10 @@ pub fn fund_keys<T: Client>(
|
|||||||
let mut to_fund_txs: Vec<_> = chunk
|
let mut to_fund_txs: Vec<_> = chunk
|
||||||
.par_iter()
|
.par_iter()
|
||||||
.map(|(k, m)| {
|
.map(|(k, m)| {
|
||||||
(
|
let tx = Transaction::new_unsigned_instructions(
|
||||||
k.clone(),
|
system_instruction::transfer_many(&k.pubkey(), &m),
|
||||||
Transaction::new_unsigned_instructions(system_instruction::transfer_many(
|
);
|
||||||
&k.pubkey(),
|
(k.clone(), tx)
|
||||||
&m,
|
|
||||||
)),
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
@ -586,7 +614,11 @@ fn should_switch_directions(num_lamports_per_account: u64, i: u64) -> bool {
|
|||||||
i % (num_lamports_per_account / 4) == 0 && (i >= (3 * num_lamports_per_account) / 4)
|
i % (num_lamports_per_account / 4) == 0 && (i >= (3 * num_lamports_per_account) / 4)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn generate_keypairs(seed_keypair: &Keypair, count: u64) -> (Vec<Keypair>, u64) {
|
pub fn generate_keypairs(
|
||||||
|
seed_keypair: &Keypair,
|
||||||
|
count: u64,
|
||||||
|
use_move: bool,
|
||||||
|
) -> (Vec<Keypair>, u64) {
|
||||||
let mut seed = [0u8; 32];
|
let mut seed = [0u8; 32];
|
||||||
seed.copy_from_slice(&seed_keypair.to_bytes()[..32]);
|
seed.copy_from_slice(&seed_keypair.to_bytes()[..32]);
|
||||||
let mut rnd = GenKeys::new(seed);
|
let mut rnd = GenKeys::new(seed);
|
||||||
@ -599,18 +631,149 @@ pub fn generate_keypairs(seed_keypair: &Keypair, count: u64) -> (Vec<Keypair>, u
|
|||||||
delta *= MAX_SPENDS_PER_TX;
|
delta *= MAX_SPENDS_PER_TX;
|
||||||
total_keys += delta;
|
total_keys += delta;
|
||||||
}
|
}
|
||||||
(rnd.gen_n_keypairs(total_keys), extra)
|
if use_move {
|
||||||
|
// Move funding is a naive loop that doesn't
|
||||||
|
// need aligned number of keys.
|
||||||
|
(rnd.gen_n_keypairs(count), extra)
|
||||||
|
} else {
|
||||||
|
(rnd.gen_n_keypairs(total_keys), extra)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn fund_move_keys<T: Client>(
|
||||||
|
client: &T,
|
||||||
|
funding_key: &Keypair,
|
||||||
|
keypairs: &[Keypair],
|
||||||
|
total: u64,
|
||||||
|
libra_pay_program_id: &Pubkey,
|
||||||
|
libra_mint_program_id: &Pubkey,
|
||||||
|
libra_mint_key: &Keypair,
|
||||||
|
) {
|
||||||
|
let (mut blockhash, _fee_calculator) = client.get_recent_blockhash().unwrap();
|
||||||
|
|
||||||
|
info!("creating the libra funding account..");
|
||||||
|
let libra_funding_key = Keypair::new();
|
||||||
|
let tx = librapay_transaction::create_account(
|
||||||
|
funding_key,
|
||||||
|
&libra_funding_key.pubkey(),
|
||||||
|
1,
|
||||||
|
blockhash,
|
||||||
|
);
|
||||||
|
let sig = client
|
||||||
|
.async_send_transaction(tx)
|
||||||
|
.expect("create_account in generate_and_fund_keypairs");
|
||||||
|
client.poll_for_signature(&sig).unwrap();
|
||||||
|
|
||||||
|
info!("minting to funding keypair");
|
||||||
|
let tx = librapay_transaction::mint_tokens(
|
||||||
|
&libra_mint_program_id,
|
||||||
|
funding_key,
|
||||||
|
libra_mint_key,
|
||||||
|
&libra_funding_key.pubkey(),
|
||||||
|
total,
|
||||||
|
blockhash,
|
||||||
|
);
|
||||||
|
let sig = client
|
||||||
|
.async_send_transaction(tx)
|
||||||
|
.expect("create_account in generate_and_fund_keypairs");
|
||||||
|
client.poll_for_signature(&sig).unwrap();
|
||||||
|
|
||||||
|
info!("creating move accounts.. {}", keypairs.len());
|
||||||
|
let create_len = 8;
|
||||||
|
let mut funding_time = Measure::start("funding_time");
|
||||||
|
for (i, keys) in keypairs.chunks(create_len).enumerate() {
|
||||||
|
let mut tx_send = Measure::start("poll");
|
||||||
|
let pubkeys: Vec<_> = keys.iter().map(|k| k.pubkey()).collect();
|
||||||
|
let tx = librapay_transaction::create_accounts(funding_key, &pubkeys, 1, blockhash);
|
||||||
|
let ser_size = bincode::serialized_size(&tx).unwrap();
|
||||||
|
let sig = client
|
||||||
|
.async_send_transaction(tx)
|
||||||
|
.expect("create_account in generate_and_fund_keypairs");
|
||||||
|
tx_send.stop();
|
||||||
|
let mut poll = Measure::start("poll");
|
||||||
|
client.poll_for_signature(&sig).unwrap();
|
||||||
|
poll.stop();
|
||||||
|
if i % 10 == 0 {
|
||||||
|
blockhash = client.get_recent_blockhash().unwrap().0;
|
||||||
|
info!(
|
||||||
|
"size: {} created {} accounts of {} sig: {}us send: {}us",
|
||||||
|
ser_size,
|
||||||
|
i,
|
||||||
|
(keypairs.len() / create_len),
|
||||||
|
poll.as_us(),
|
||||||
|
tx_send.as_us()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
funding_time.stop();
|
||||||
|
info!("funding accounts {}ms", funding_time.as_ms());
|
||||||
|
let mut sigs = vec![];
|
||||||
|
let tx_count = keypairs.len();
|
||||||
|
let amount = total / (tx_count as u64);
|
||||||
|
for (i, key) in keypairs[..tx_count].iter().enumerate() {
|
||||||
|
let tx = librapay_transaction::transfer(
|
||||||
|
libra_pay_program_id,
|
||||||
|
&libra_mint_key.pubkey(),
|
||||||
|
funding_key,
|
||||||
|
&libra_funding_key,
|
||||||
|
&key.pubkey(),
|
||||||
|
amount,
|
||||||
|
blockhash,
|
||||||
|
);
|
||||||
|
|
||||||
|
let sig = client
|
||||||
|
.async_send_transaction(tx.clone())
|
||||||
|
.expect("create_account in generate_and_fund_keypairs");
|
||||||
|
sigs.push((sig, key));
|
||||||
|
|
||||||
|
if i % 50 == 0 {
|
||||||
|
blockhash = client.get_recent_blockhash().unwrap().0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i, (sig, key)) in sigs.iter().enumerate() {
|
||||||
|
let mut times = 0;
|
||||||
|
loop {
|
||||||
|
match client.poll_for_signature(&sig) {
|
||||||
|
Ok(_) => {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Err(e) => {
|
||||||
|
info!("e :{:?} waiting times: {} sig: {}", e, times, sig);
|
||||||
|
times += 1;
|
||||||
|
sleep(Duration::from_secs(1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
times = 0;
|
||||||
|
loop {
|
||||||
|
let balance = librapay_transaction::get_libra_balance(client, &key.pubkey()).unwrap();
|
||||||
|
if amount != balance {
|
||||||
|
info!("i: {} balance: {} times: {}", i, balance, times);
|
||||||
|
times += 1;
|
||||||
|
sleep(Duration::from_secs(1));
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if i % 10 == 0 {
|
||||||
|
info!("funding {} of {}", i, tx_count);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
info!("done..");
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn generate_and_fund_keypairs<T: Client>(
|
pub fn generate_and_fund_keypairs<T: Client>(
|
||||||
client: &T,
|
client: &T,
|
||||||
drone_addr: Option<SocketAddr>,
|
drone_addr: Option<SocketAddr>,
|
||||||
funding_pubkey: &Keypair,
|
funding_key: &Keypair,
|
||||||
tx_count: usize,
|
tx_count: usize,
|
||||||
lamports_per_account: u64,
|
lamports_per_account: u64,
|
||||||
|
libra_keys: Option<(&Pubkey, &Pubkey, &Arc<Keypair>)>,
|
||||||
) -> Result<(Vec<Keypair>, u64)> {
|
) -> Result<(Vec<Keypair>, u64)> {
|
||||||
info!("Creating {} keypairs...", tx_count * 2);
|
info!("Creating {} keypairs...", tx_count * 2);
|
||||||
let (mut keypairs, extra) = generate_keypairs(funding_pubkey, tx_count as u64 * 2);
|
let (mut keypairs, extra) =
|
||||||
|
generate_keypairs(funding_key, tx_count as u64 * 2, libra_keys.is_some());
|
||||||
info!("Get lamports...");
|
info!("Get lamports...");
|
||||||
|
|
||||||
// Sample the first keypair, see if it has lamports, if so then resume.
|
// Sample the first keypair, see if it has lamports, if so then resume.
|
||||||
@ -620,23 +783,34 @@ pub fn generate_and_fund_keypairs<T: Client>(
|
|||||||
.unwrap_or(0);
|
.unwrap_or(0);
|
||||||
|
|
||||||
if lamports_per_account > last_keypair_balance {
|
if lamports_per_account > last_keypair_balance {
|
||||||
let (_, fee_calculator) = client.get_recent_blockhash().unwrap();
|
let (_blockhash, fee_calculator) = client.get_recent_blockhash().unwrap();
|
||||||
let account_desired_balance =
|
let account_desired_balance =
|
||||||
lamports_per_account - last_keypair_balance + fee_calculator.max_lamports_per_signature;
|
lamports_per_account - last_keypair_balance + fee_calculator.max_lamports_per_signature;
|
||||||
let extra_fees = extra * fee_calculator.max_lamports_per_signature;
|
let extra_fees = extra * fee_calculator.max_lamports_per_signature;
|
||||||
let total = account_desired_balance * (1 + keypairs.len() as u64) + extra_fees;
|
let total = account_desired_balance * (1 + keypairs.len() as u64) + extra_fees;
|
||||||
if client.get_balance(&funding_pubkey.pubkey()).unwrap_or(0) < total {
|
if client.get_balance(&funding_key.pubkey()).unwrap_or(0) < total {
|
||||||
airdrop_lamports(client, &drone_addr.unwrap(), funding_pubkey, total)?;
|
airdrop_lamports(client, &drone_addr.unwrap(), funding_key, total)?;
|
||||||
|
}
|
||||||
|
if let Some((libra_pay_program_id, libra_mint_program_id, libra_mint_key)) = libra_keys {
|
||||||
|
fund_move_keys(
|
||||||
|
client,
|
||||||
|
funding_key,
|
||||||
|
&keypairs,
|
||||||
|
total,
|
||||||
|
libra_pay_program_id,
|
||||||
|
libra_mint_program_id,
|
||||||
|
libra_mint_key,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
fund_keys(
|
||||||
|
client,
|
||||||
|
funding_key,
|
||||||
|
&keypairs,
|
||||||
|
total,
|
||||||
|
fee_calculator.max_lamports_per_signature,
|
||||||
|
extra,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
info!("adding more lamports {}", account_desired_balance);
|
|
||||||
fund_keys(
|
|
||||||
client,
|
|
||||||
funding_pubkey,
|
|
||||||
&keypairs,
|
|
||||||
total,
|
|
||||||
fee_calculator.max_lamports_per_signature,
|
|
||||||
extra,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 'generate_keypairs' generates extra keys to be able to have size-aligned funding batches for fund_keys.
|
// 'generate_keypairs' generates extra keys to be able to have size-aligned funding batches for fund_keys.
|
||||||
@ -653,6 +827,7 @@ mod tests {
|
|||||||
use solana::validator::ValidatorConfig;
|
use solana::validator::ValidatorConfig;
|
||||||
use solana_client::thin_client::create_client;
|
use solana_client::thin_client::create_client;
|
||||||
use solana_drone::drone::run_local_drone;
|
use solana_drone::drone::run_local_drone;
|
||||||
|
use solana_librapay_api::{upload_mint_program, upload_payment_program};
|
||||||
use solana_runtime::bank::Bank;
|
use solana_runtime::bank::Bank;
|
||||||
use solana_runtime::bank_client::BankClient;
|
use solana_runtime::bank_client::BankClient;
|
||||||
use solana_sdk::client::SyncClient;
|
use solana_sdk::client::SyncClient;
|
||||||
@ -675,47 +850,93 @@ mod tests {
|
|||||||
assert_eq!(should_switch_directions(20, 101), false);
|
assert_eq!(should_switch_directions(20, 101), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
fn test_bench_tps_local_cluster(config: Config) {
|
||||||
fn test_bench_tps_local_cluster() {
|
|
||||||
solana_logger::setup();
|
solana_logger::setup();
|
||||||
const NUM_NODES: usize = 1;
|
const NUM_NODES: usize = 1;
|
||||||
let cluster = LocalCluster::new(&ClusterConfig {
|
let cluster = LocalCluster::new(&ClusterConfig {
|
||||||
node_stakes: vec![999_990; NUM_NODES],
|
node_stakes: vec![999_990; NUM_NODES],
|
||||||
cluster_lamports: 2_000_000,
|
cluster_lamports: 200_000_000,
|
||||||
validator_configs: vec![ValidatorConfig::default(); NUM_NODES],
|
validator_configs: vec![ValidatorConfig::default(); NUM_NODES],
|
||||||
..ClusterConfig::default()
|
..ClusterConfig::default()
|
||||||
});
|
});
|
||||||
|
|
||||||
let drone_keypair = Keypair::new();
|
let drone_keypair = Keypair::new();
|
||||||
cluster.transfer(&cluster.funding_keypair, &drone_keypair.pubkey(), 1_000_000);
|
cluster.transfer(
|
||||||
|
&cluster.funding_keypair,
|
||||||
let (addr_sender, addr_receiver) = channel();
|
&drone_keypair.pubkey(),
|
||||||
run_local_drone(drone_keypair, addr_sender, None);
|
100_000_000,
|
||||||
let drone_addr = addr_receiver.recv_timeout(Duration::from_secs(2)).unwrap();
|
);
|
||||||
|
|
||||||
let mut config = Config::default();
|
|
||||||
config.tx_count = 100;
|
|
||||||
config.duration = Duration::from_secs(5);
|
|
||||||
|
|
||||||
let client = create_client(
|
let client = create_client(
|
||||||
(cluster.entry_point_info.rpc, cluster.entry_point_info.tpu),
|
(cluster.entry_point_info.rpc, cluster.entry_point_info.tpu),
|
||||||
FULLNODE_PORT_RANGE,
|
FULLNODE_PORT_RANGE,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let (libra_mint_id, libra_pay_program_id) = if config.use_move {
|
||||||
|
let libra_mint_id = upload_mint_program(&drone_keypair, &client);
|
||||||
|
let libra_pay_program_id = upload_payment_program(&drone_keypair, &client);
|
||||||
|
(libra_mint_id, libra_pay_program_id)
|
||||||
|
} else {
|
||||||
|
(Pubkey::default(), Pubkey::default())
|
||||||
|
};
|
||||||
|
|
||||||
|
let (addr_sender, addr_receiver) = channel();
|
||||||
|
run_local_drone(drone_keypair, addr_sender, None);
|
||||||
|
let drone_addr = addr_receiver.recv_timeout(Duration::from_secs(2)).unwrap();
|
||||||
|
|
||||||
let lamports_per_account = 100;
|
let lamports_per_account = 100;
|
||||||
|
|
||||||
|
let libra_keys = if config.use_move {
|
||||||
|
Some((
|
||||||
|
&libra_pay_program_id,
|
||||||
|
&libra_mint_id,
|
||||||
|
&cluster.libra_mint_keypair,
|
||||||
|
))
|
||||||
|
} else {
|
||||||
|
None
|
||||||
|
};
|
||||||
|
|
||||||
let (keypairs, _keypair_balance) = generate_and_fund_keypairs(
|
let (keypairs, _keypair_balance) = generate_and_fund_keypairs(
|
||||||
&client,
|
&client,
|
||||||
Some(drone_addr),
|
Some(drone_addr),
|
||||||
&config.id,
|
&config.id,
|
||||||
config.tx_count,
|
config.tx_count,
|
||||||
lamports_per_account,
|
lamports_per_account,
|
||||||
|
libra_keys,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let total = do_bench_tps(vec![client], config, keypairs, 0);
|
let total = do_bench_tps(
|
||||||
|
vec![client],
|
||||||
|
config,
|
||||||
|
keypairs,
|
||||||
|
0,
|
||||||
|
&libra_pay_program_id,
|
||||||
|
&cluster.libra_mint_keypair.pubkey(),
|
||||||
|
);
|
||||||
assert!(total > 100);
|
assert!(total > 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_bench_tps_local_cluster_solana() {
|
||||||
|
let mut config = Config::default();
|
||||||
|
config.tx_count = 100;
|
||||||
|
config.duration = Duration::from_secs(10);
|
||||||
|
|
||||||
|
test_bench_tps_local_cluster(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[ignore]
|
||||||
|
fn test_bench_tps_local_cluster_move() {
|
||||||
|
let mut config = Config::default();
|
||||||
|
config.tx_count = 100;
|
||||||
|
config.duration = Duration::from_secs(10);
|
||||||
|
config.use_move = true;
|
||||||
|
|
||||||
|
test_bench_tps_local_cluster(config);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_bench_tps_bank_client() {
|
fn test_bench_tps_bank_client() {
|
||||||
let (genesis_block, id) = create_genesis_block(10_000);
|
let (genesis_block, id) = create_genesis_block(10_000);
|
||||||
@ -728,9 +949,17 @@ mod tests {
|
|||||||
config.duration = Duration::from_secs(5);
|
config.duration = Duration::from_secs(5);
|
||||||
|
|
||||||
let (keypairs, _keypair_balance) =
|
let (keypairs, _keypair_balance) =
|
||||||
generate_and_fund_keypairs(&clients[0], None, &config.id, config.tx_count, 20).unwrap();
|
generate_and_fund_keypairs(&clients[0], None, &config.id, config.tx_count, 20, None)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
do_bench_tps(clients, config, keypairs, 0);
|
do_bench_tps(
|
||||||
|
clients,
|
||||||
|
config,
|
||||||
|
keypairs,
|
||||||
|
0,
|
||||||
|
&Pubkey::default(),
|
||||||
|
&Pubkey::default(),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -742,7 +971,7 @@ mod tests {
|
|||||||
let lamports = 20;
|
let lamports = 20;
|
||||||
|
|
||||||
let (keypairs, _keypair_balance) =
|
let (keypairs, _keypair_balance) =
|
||||||
generate_and_fund_keypairs(&client, None, &id, tx_count, lamports).unwrap();
|
generate_and_fund_keypairs(&client, None, &id, tx_count, lamports, None).unwrap();
|
||||||
|
|
||||||
for kp in &keypairs {
|
for kp in &keypairs {
|
||||||
assert_eq!(client.get_balance(&kp.pubkey()).unwrap(), lamports);
|
assert_eq!(client.get_balance(&kp.pubkey()).unwrap(), lamports);
|
||||||
@ -760,7 +989,7 @@ mod tests {
|
|||||||
let lamports = 20;
|
let lamports = 20;
|
||||||
|
|
||||||
let (keypairs, _keypair_balance) =
|
let (keypairs, _keypair_balance) =
|
||||||
generate_and_fund_keypairs(&client, None, &id, tx_count, lamports).unwrap();
|
generate_and_fund_keypairs(&client, None, &id, tx_count, lamports, None).unwrap();
|
||||||
|
|
||||||
let max_fee = client
|
let max_fee = client
|
||||||
.get_recent_blockhash()
|
.get_recent_blockhash()
|
||||||
|
@ -22,6 +22,7 @@ pub struct Config {
|
|||||||
pub write_to_client_file: bool,
|
pub write_to_client_file: bool,
|
||||||
pub read_from_client_file: bool,
|
pub read_from_client_file: bool,
|
||||||
pub target_lamports_per_signature: u64,
|
pub target_lamports_per_signature: u64,
|
||||||
|
pub use_move: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Config {
|
impl Default for Config {
|
||||||
@ -40,6 +41,7 @@ impl Default for Config {
|
|||||||
write_to_client_file: false,
|
write_to_client_file: false,
|
||||||
read_from_client_file: false,
|
read_from_client_file: false,
|
||||||
target_lamports_per_signature: FeeCalculator::default().target_lamports_per_signature,
|
target_lamports_per_signature: FeeCalculator::default().target_lamports_per_signature,
|
||||||
|
use_move: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -100,6 +102,11 @@ pub fn build_args<'a, 'b>() -> App<'a, 'b> {
|
|||||||
.long("sustained")
|
.long("sustained")
|
||||||
.help("Use sustained performance mode vs. peak mode. This overlaps the tx generation with transfers."),
|
.help("Use sustained performance mode vs. peak mode. This overlaps the tx generation with transfers."),
|
||||||
)
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::with_name("use-move")
|
||||||
|
.long("use-move")
|
||||||
|
.help("Use Move language transactions to perform transfers."),
|
||||||
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("tx_count")
|
Arg::with_name("tx_count")
|
||||||
.long("tx_count")
|
.long("tx_count")
|
||||||
@ -211,5 +218,7 @@ pub fn extract_args<'a>(matches: &ArgMatches<'a>) -> Config {
|
|||||||
args.target_lamports_per_signature = v.to_string().parse().expect("can't parse lamports");
|
args.target_lamports_per_signature = v.to_string().parse().expect("can't parse lamports");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
args.use_move = matches.is_present("use-move");
|
||||||
|
|
||||||
args
|
args
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ use crate::bench::{
|
|||||||
};
|
};
|
||||||
use solana::gossip_service::{discover_cluster, get_multi_client};
|
use solana::gossip_service::{discover_cluster, get_multi_client};
|
||||||
use solana_sdk::fee_calculator::FeeCalculator;
|
use solana_sdk::fee_calculator::FeeCalculator;
|
||||||
|
use solana_sdk::pubkey::Pubkey;
|
||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
@ -37,10 +38,11 @@ fn main() {
|
|||||||
write_to_client_file,
|
write_to_client_file,
|
||||||
read_from_client_file,
|
read_from_client_file,
|
||||||
target_lamports_per_signature,
|
target_lamports_per_signature,
|
||||||
|
use_move,
|
||||||
} = cli_config;
|
} = cli_config;
|
||||||
|
|
||||||
if write_to_client_file {
|
if write_to_client_file {
|
||||||
let (keypairs, _) = generate_keypairs(&id, tx_count as u64 * 2);
|
let (keypairs, _) = generate_keypairs(&id, tx_count as u64 * 2, use_move);
|
||||||
let num_accounts = keypairs.len() as u64;
|
let num_accounts = keypairs.len() as u64;
|
||||||
let max_fee = FeeCalculator::new(target_lamports_per_signature).max_lamports_per_signature;
|
let max_fee = FeeCalculator::new(target_lamports_per_signature).max_lamports_per_signature;
|
||||||
let num_lamports_per_account = (num_accounts - 1 + NUM_SIGNATURES_FOR_TXS * max_fee)
|
let num_lamports_per_account = (num_accounts - 1 + NUM_SIGNATURES_FOR_TXS * max_fee)
|
||||||
@ -103,6 +105,7 @@ fn main() {
|
|||||||
&id,
|
&id,
|
||||||
tx_count,
|
tx_count,
|
||||||
NUM_LAMPORTS_PER_ACCOUNT,
|
NUM_LAMPORTS_PER_ACCOUNT,
|
||||||
|
None,
|
||||||
)
|
)
|
||||||
.unwrap_or_else(|e| {
|
.unwrap_or_else(|e| {
|
||||||
eprintln!("Error could not fund keys: {:?}", e);
|
eprintln!("Error could not fund keys: {:?}", e);
|
||||||
@ -117,7 +120,15 @@ fn main() {
|
|||||||
duration,
|
duration,
|
||||||
tx_count,
|
tx_count,
|
||||||
sustained,
|
sustained,
|
||||||
|
use_move,
|
||||||
};
|
};
|
||||||
|
|
||||||
do_bench_tps(vec![client], config, keypairs, keypair_balance);
|
do_bench_tps(
|
||||||
|
vec![client],
|
||||||
|
config,
|
||||||
|
keypairs,
|
||||||
|
keypair_balance,
|
||||||
|
&Pubkey::new_rand(),
|
||||||
|
&Pubkey::new_rand(),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
@ -59,10 +59,8 @@
|
|||||||
- [Economic Design MVP](ed_mvp.md)
|
- [Economic Design MVP](ed_mvp.md)
|
||||||
- [References](ed_references.md)
|
- [References](ed_references.md)
|
||||||
- [Cluster Test Framework](cluster-test-framework.md)
|
- [Cluster Test Framework](cluster-test-framework.md)
|
||||||
- [Credit-only Accounts](credit-only-credit-debit-accounts.md)
|
|
||||||
- [Validator](validator-proposal.md)
|
- [Validator](validator-proposal.md)
|
||||||
- [Simple Payment and State Verification](simple-payment-and-state-verification.md)
|
- [Simple Payment and State Verification](simple-payment-and-state-verification.md)
|
||||||
- [Embedding the Move Langauge](embedding-move.md)
|
|
||||||
- [Cross-Program Invocation](cross-program-invocation.md)
|
- [Cross-Program Invocation](cross-program-invocation.md)
|
||||||
|
|
||||||
- [Implemented Design Proposals](implemented-proposals.md)
|
- [Implemented Design Proposals](implemented-proposals.md)
|
||||||
@ -77,3 +75,5 @@
|
|||||||
- [Reliable Vote Transmission](reliable-vote-transmission.md)
|
- [Reliable Vote Transmission](reliable-vote-transmission.md)
|
||||||
- [Repair Service](repair-service.md)
|
- [Repair Service](repair-service.md)
|
||||||
- [Testing Programs](testing-programs.md)
|
- [Testing Programs](testing-programs.md)
|
||||||
|
- [Credit-only Accounts](credit-only-credit-debit-accounts.md)
|
||||||
|
- [Embedding the Move Langauge](embedding-move.md)
|
||||||
|
@ -74,7 +74,7 @@ The `solana-install` tool can be used to easily install and upgrade the cluster
|
|||||||
software on Linux x86_64 and mac OS systems.
|
software on Linux x86_64 and mac OS systems.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v0.16.5/install/solana-install-init.sh | sh -s
|
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v0.17.0/install/solana-install-init.sh | sh -s
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternatively build the `solana-install` program from source and run the
|
Alternatively build the `solana-install` program from source and run the
|
||||||
|
@ -53,8 +53,7 @@ software.
|
|||||||
|
|
||||||
##### Linux and mac OS
|
##### Linux and mac OS
|
||||||
```bash
|
```bash
|
||||||
$ export SOLANA_RELEASE=v0.16.0 # skip this line to install the latest release
|
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v0.17.0/install/solana-install-init.sh | sh -s
|
||||||
$ curl -sSf https://raw.githubusercontent.com/solana-labs/solana/v0.16.0/install/solana-install-init.sh | sh -s
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Alternatively build the `solana-install` program from source and run the
|
Alternatively build the `solana-install` program from source and run the
|
||||||
|
@ -69,6 +69,9 @@ solana-storage-program = { path = "../programs/storage_program", version = "0.17
|
|||||||
solana-vote-api = { path = "../programs/vote_api", version = "0.17.0" }
|
solana-vote-api = { path = "../programs/vote_api", version = "0.17.0" }
|
||||||
solana-vote-program = { path = "../programs/vote_program", version = "0.17.0" }
|
solana-vote-program = { path = "../programs/vote_program", version = "0.17.0" }
|
||||||
solana-vote-signer = { path = "../vote-signer", version = "0.17.0" }
|
solana-vote-signer = { path = "../vote-signer", version = "0.17.0" }
|
||||||
|
solana-move-loader-program = { path = "../programs/move_loader_program", version = "0.17.0" }
|
||||||
|
solana-move-loader-api = { path = "../programs/move_loader_api", version = "0.17.0" }
|
||||||
|
solana-librapay-api = { path = "../programs/librapay_api", version = "0.17.0" }
|
||||||
sys-info = "0.5.7"
|
sys-info = "0.5.7"
|
||||||
tokio = "0.1"
|
tokio = "0.1"
|
||||||
tokio-codec = "0.1"
|
tokio-codec = "0.1"
|
||||||
|
@ -101,3 +101,6 @@ extern crate solana_metrics;
|
|||||||
extern crate matches;
|
extern crate matches;
|
||||||
|
|
||||||
extern crate crossbeam_channel;
|
extern crate crossbeam_channel;
|
||||||
|
|
||||||
|
#[macro_use]
|
||||||
|
extern crate solana_move_loader_program;
|
||||||
|
@ -29,6 +29,9 @@ use std::fs::remove_dir_all;
|
|||||||
use std::io::{Error, ErrorKind, Result};
|
use std::io::{Error, ErrorKind, Result};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
use solana_librapay_api::librapay_transaction;
|
||||||
|
use solana_move_loader_api;
|
||||||
|
|
||||||
pub struct ValidatorInfo {
|
pub struct ValidatorInfo {
|
||||||
pub keypair: Arc<Keypair>,
|
pub keypair: Arc<Keypair>,
|
||||||
pub voting_keypair: Arc<Keypair>,
|
pub voting_keypair: Arc<Keypair>,
|
||||||
@ -115,6 +118,7 @@ pub struct LocalCluster {
|
|||||||
pub genesis_block: GenesisBlock,
|
pub genesis_block: GenesisBlock,
|
||||||
replicators: Vec<Replicator>,
|
replicators: Vec<Replicator>,
|
||||||
pub replicator_infos: HashMap<Pubkey, ReplicatorInfo>,
|
pub replicator_infos: HashMap<Pubkey, ReplicatorInfo>,
|
||||||
|
pub libra_mint_keypair: Arc<Keypair>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl LocalCluster {
|
impl LocalCluster {
|
||||||
@ -161,13 +165,22 @@ impl LocalCluster {
|
|||||||
storage_keypair.pubkey(),
|
storage_keypair.pubkey(),
|
||||||
storage_contract::create_validator_storage_account(leader_pubkey, 1),
|
storage_contract::create_validator_storage_account(leader_pubkey, 1),
|
||||||
));
|
));
|
||||||
|
let libra_mint_keypair = Keypair::new();
|
||||||
|
genesis_block.accounts.push((
|
||||||
|
libra_mint_keypair.pubkey(),
|
||||||
|
librapay_transaction::create_libra_genesis_account(10_000),
|
||||||
|
));
|
||||||
genesis_block
|
genesis_block
|
||||||
.native_instruction_processors
|
.native_instruction_processors
|
||||||
.push(solana_storage_program!());
|
.push(solana_storage_program!());
|
||||||
|
genesis_block
|
||||||
|
.native_instruction_processors
|
||||||
|
.push(solana_move_loader_program!());
|
||||||
|
|
||||||
let (leader_ledger_path, _blockhash) = create_new_tmp_ledger!(&genesis_block);
|
let (leader_ledger_path, _blockhash) = create_new_tmp_ledger!(&genesis_block);
|
||||||
let leader_contact_info = leader_node.info.clone();
|
let leader_contact_info = leader_node.info.clone();
|
||||||
let leader_storage_keypair = Arc::new(storage_keypair);
|
let leader_storage_keypair = Arc::new(storage_keypair);
|
||||||
|
let libra_mint_keypair = Arc::new(libra_mint_keypair);
|
||||||
let leader_voting_keypair = Arc::new(voting_keypair);
|
let leader_voting_keypair = Arc::new(voting_keypair);
|
||||||
let leader_server = Validator::new(
|
let leader_server = Validator::new(
|
||||||
leader_node,
|
leader_node,
|
||||||
@ -206,6 +219,7 @@ impl LocalCluster {
|
|||||||
fullnode_infos,
|
fullnode_infos,
|
||||||
replicator_infos: HashMap::new(),
|
replicator_infos: HashMap::new(),
|
||||||
listener_infos: HashMap::new(),
|
listener_infos: HashMap::new(),
|
||||||
|
libra_mint_keypair,
|
||||||
};
|
};
|
||||||
|
|
||||||
for (stake, validator_config) in (&config.node_stakes[1..])
|
for (stake, validator_config) in (&config.node_stakes[1..])
|
||||||
|
3
programs/librapay_api/.gitignore
vendored
Normal file
3
programs/librapay_api/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
/farf/
|
||||||
|
/target/
|
||||||
|
Cargo.lock
|
23
programs/librapay_api/Cargo.toml
Normal file
23
programs/librapay_api/Cargo.toml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
[package]
|
||||||
|
name = "solana-librapay-api"
|
||||||
|
version = "0.17.0"
|
||||||
|
description = "Solana Libra Payment"
|
||||||
|
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
||||||
|
repository = "https://github.com/solana-labs/solana"
|
||||||
|
license = "Apache-2.0"
|
||||||
|
homepage = "https://solana.com/"
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
bincode = "1.1.4"
|
||||||
|
log = "0.4.2"
|
||||||
|
solana-logger = { path = "../../logger", version = "0.17.0" }
|
||||||
|
solana-sdk = { path = "../../sdk", version = "0.17.0" }
|
||||||
|
solana-runtime = { path = "../../runtime", version = "0.17.0" }
|
||||||
|
types = { version = "0.0.0-sol15", package = "solana_libra_types" }
|
||||||
|
language_e2e_tests = { version = "0.0.0-sol15", package = "solana_libra_language_e2e_tests" }
|
||||||
|
solana-move-loader-api = { path = "../move_loader_api", version = "0.17.0" }
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
crate-type = ["lib"]
|
||||||
|
name = "solana_librapay_api"
|
64
programs/librapay_api/src/lib.rs
Normal file
64
programs/librapay_api/src/lib.rs
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
const LIBRAPAY_PROGRAM_ID: [u8; 32] = [
|
||||||
|
5, 13, 18, 222, 165, 11, 80, 225, 56, 103, 125, 38, 15, 252, 181, 16, 125, 99, 110, 106, 186,
|
||||||
|
28, 136, 119, 235, 245, 20, 80, 0, 0, 0, 0,
|
||||||
|
];
|
||||||
|
|
||||||
|
solana_sdk::solana_name_id!(
|
||||||
|
LIBRAPAY_PROGRAM_ID,
|
||||||
|
"LibraPay11111111111111111111111111111111111"
|
||||||
|
);
|
||||||
|
|
||||||
|
pub mod librapay_instruction;
|
||||||
|
pub mod librapay_transaction;
|
||||||
|
|
||||||
|
extern crate solana_move_loader_api;
|
||||||
|
|
||||||
|
use solana_move_loader_api::account_state::LibraAccountState;
|
||||||
|
use solana_runtime::loader_utils::load_program;
|
||||||
|
use solana_sdk::account::KeyedAccount;
|
||||||
|
use solana_sdk::client::Client;
|
||||||
|
use solana_sdk::instruction::InstructionError;
|
||||||
|
use solana_sdk::pubkey::Pubkey;
|
||||||
|
use solana_sdk::signature::Keypair;
|
||||||
|
|
||||||
|
use types::account_address::AccountAddress;
|
||||||
|
|
||||||
|
pub fn upload_move_program<T: Client>(from: &Keypair, client: &T, code: &str) -> Pubkey {
|
||||||
|
let address = AccountAddress::default();
|
||||||
|
let account_state = LibraAccountState::create_program(&address, code, vec![]);
|
||||||
|
let program_bytes = bincode::serialize(&account_state).unwrap();
|
||||||
|
|
||||||
|
load_program(client, &from, &solana_move_loader_api::id(), program_bytes)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn upload_mint_program<T: Client>(from: &Keypair, client: &T) -> Pubkey {
|
||||||
|
let code = "
|
||||||
|
import 0x0.LibraAccount;
|
||||||
|
import 0x0.LibraCoin;
|
||||||
|
main(payee: address, amount: u64) {
|
||||||
|
LibraAccount.mint_to_address(move(payee), move(amount));
|
||||||
|
return;
|
||||||
|
}";
|
||||||
|
upload_move_program(from, client, code)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn upload_payment_program<T: Client>(from: &Keypair, client: &T) -> Pubkey {
|
||||||
|
let code = "
|
||||||
|
import 0x0.LibraAccount;
|
||||||
|
import 0x0.LibraCoin;
|
||||||
|
main(payee: address, amount: u64) {
|
||||||
|
LibraAccount.pay_from_sender(move(payee), move(amount));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
";
|
||||||
|
|
||||||
|
upload_move_program(from, client, code)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn process_instruction(
|
||||||
|
program_id: &Pubkey,
|
||||||
|
keyed_accounts: &mut [KeyedAccount],
|
||||||
|
data: &[u8],
|
||||||
|
) -> Result<(), InstructionError> {
|
||||||
|
solana_move_loader_api::processor::process_instruction(program_id, keyed_accounts, data)
|
||||||
|
}
|
89
programs/librapay_api/src/librapay_instruction.rs
Normal file
89
programs/librapay_api/src/librapay_instruction.rs
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
use bincode;
|
||||||
|
use solana_move_loader_api::account_state::pubkey_to_address;
|
||||||
|
use solana_move_loader_api::processor::InvokeInfo;
|
||||||
|
use solana_sdk::instruction::{AccountMeta, Instruction};
|
||||||
|
use solana_sdk::loader_instruction::LoaderInstruction;
|
||||||
|
use solana_sdk::pubkey::Pubkey;
|
||||||
|
use types::account_address::AccountAddress;
|
||||||
|
use types::transaction::TransactionArgument;
|
||||||
|
|
||||||
|
pub fn mint(
|
||||||
|
program_id: &Pubkey,
|
||||||
|
from_pubkey: &Pubkey,
|
||||||
|
to_pubkey: &Pubkey,
|
||||||
|
microlibras: u64,
|
||||||
|
) -> Instruction {
|
||||||
|
let args = vec![
|
||||||
|
TransactionArgument::Address(pubkey_to_address(to_pubkey)),
|
||||||
|
TransactionArgument::U64(microlibras),
|
||||||
|
];
|
||||||
|
|
||||||
|
let invoke_info = InvokeInfo {
|
||||||
|
sender_address: AccountAddress::default(),
|
||||||
|
function_name: "main".to_string(),
|
||||||
|
args,
|
||||||
|
};
|
||||||
|
let data = bincode::serialize(&invoke_info).unwrap();
|
||||||
|
let ix_data = LoaderInstruction::InvokeMain { data };
|
||||||
|
|
||||||
|
let accounts = vec![
|
||||||
|
AccountMeta::new_credit_only(*program_id, false),
|
||||||
|
AccountMeta::new(*from_pubkey, true),
|
||||||
|
AccountMeta::new(*to_pubkey, false),
|
||||||
|
];
|
||||||
|
|
||||||
|
Instruction::new(solana_move_loader_api::id(), &ix_data, accounts)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn transfer(
|
||||||
|
program_id: &Pubkey,
|
||||||
|
mint_pubkey: &Pubkey,
|
||||||
|
from_pubkey: &Pubkey,
|
||||||
|
to_pubkey: &Pubkey,
|
||||||
|
microlibras: u64,
|
||||||
|
) -> Instruction {
|
||||||
|
let args = vec![
|
||||||
|
TransactionArgument::Address(pubkey_to_address(to_pubkey)),
|
||||||
|
TransactionArgument::U64(microlibras),
|
||||||
|
];
|
||||||
|
|
||||||
|
let invoke_info = InvokeInfo {
|
||||||
|
sender_address: pubkey_to_address(from_pubkey),
|
||||||
|
function_name: "main".to_string(),
|
||||||
|
args,
|
||||||
|
};
|
||||||
|
let data = bincode::serialize(&invoke_info).unwrap();
|
||||||
|
let ix_data = LoaderInstruction::InvokeMain { data };
|
||||||
|
|
||||||
|
let accounts = vec![
|
||||||
|
AccountMeta::new_credit_only(*program_id, false),
|
||||||
|
AccountMeta::new_credit_only(*mint_pubkey, false),
|
||||||
|
AccountMeta::new(*from_pubkey, true),
|
||||||
|
AccountMeta::new(*to_pubkey, false),
|
||||||
|
];
|
||||||
|
|
||||||
|
Instruction::new(solana_move_loader_api::id(), &ix_data, accounts)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_pay() {
|
||||||
|
let from = Pubkey::new_rand();
|
||||||
|
let to = Pubkey::new_rand();
|
||||||
|
let program_id = Pubkey::new_rand();
|
||||||
|
let mint_id = Pubkey::new_rand();
|
||||||
|
transfer(&program_id, &mint_id, &from, &to, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_mint() {
|
||||||
|
let program_id = Pubkey::new_rand();
|
||||||
|
let from = Pubkey::new_rand();
|
||||||
|
let to = Pubkey::new_rand();
|
||||||
|
|
||||||
|
mint(&program_id, &from, &to, 1);
|
||||||
|
}
|
||||||
|
}
|
230
programs/librapay_api/src/librapay_transaction.rs
Normal file
230
programs/librapay_api/src/librapay_transaction.rs
Normal file
@ -0,0 +1,230 @@
|
|||||||
|
use crate::librapay_instruction;
|
||||||
|
use language_e2e_tests::account::AccountResource;
|
||||||
|
use log::*;
|
||||||
|
use solana_move_loader_api::account_state::{pubkey_to_address, LibraAccountState};
|
||||||
|
use solana_move_loader_api::data_store::DataStore;
|
||||||
|
use solana_sdk::account::Account;
|
||||||
|
use solana_sdk::client::Client;
|
||||||
|
use solana_sdk::hash::Hash;
|
||||||
|
use solana_sdk::pubkey::Pubkey;
|
||||||
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
|
use solana_sdk::system_instruction;
|
||||||
|
use solana_sdk::transaction::Transaction;
|
||||||
|
use std::boxed::Box;
|
||||||
|
use std::error;
|
||||||
|
use std::fmt;
|
||||||
|
|
||||||
|
pub fn mint_tokens(
|
||||||
|
program_id: &Pubkey,
|
||||||
|
payer: &Keypair,
|
||||||
|
mint: &Keypair,
|
||||||
|
to: &Pubkey,
|
||||||
|
microlibras: u64,
|
||||||
|
recent_blockhash: Hash,
|
||||||
|
) -> Transaction {
|
||||||
|
let ix = librapay_instruction::mint(program_id, &mint.pubkey(), to, microlibras);
|
||||||
|
Transaction::new_signed_with_payer(
|
||||||
|
vec![ix],
|
||||||
|
Some(&payer.pubkey()),
|
||||||
|
&[payer, mint],
|
||||||
|
recent_blockhash,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn transfer(
|
||||||
|
program_id: &Pubkey,
|
||||||
|
mint: &Pubkey,
|
||||||
|
payer: &Keypair,
|
||||||
|
from: &Keypair,
|
||||||
|
to: &Pubkey,
|
||||||
|
microlibras: u64,
|
||||||
|
recent_blockhash: Hash,
|
||||||
|
) -> Transaction {
|
||||||
|
let ix = librapay_instruction::transfer(program_id, mint, &from.pubkey(), to, microlibras);
|
||||||
|
Transaction::new_signed_with_payer(
|
||||||
|
vec![ix],
|
||||||
|
Some(&payer.pubkey()),
|
||||||
|
&[payer, from],
|
||||||
|
recent_blockhash,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn create_accounts(
|
||||||
|
from: &Keypair,
|
||||||
|
tos: &[Pubkey],
|
||||||
|
lamports: u64,
|
||||||
|
recent_blockhash: Hash,
|
||||||
|
) -> Transaction {
|
||||||
|
let instructions = tos
|
||||||
|
.iter()
|
||||||
|
.map(|to| {
|
||||||
|
system_instruction::create_account(
|
||||||
|
&from.pubkey(),
|
||||||
|
to,
|
||||||
|
lamports,
|
||||||
|
128,
|
||||||
|
&solana_move_loader_api::id(),
|
||||||
|
)
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
Transaction::new_signed_instructions(&[from], instructions, recent_blockhash)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn create_account(
|
||||||
|
from: &Keypair,
|
||||||
|
to: &Pubkey,
|
||||||
|
lamports: u64,
|
||||||
|
recent_blockhash: Hash,
|
||||||
|
) -> Transaction {
|
||||||
|
create_accounts(from, &[*to], lamports, recent_blockhash)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
enum LibrapayError {
|
||||||
|
UnknownAccountState,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for LibrapayError {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
write!(f, "{:?}", self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl error::Error for LibrapayError {}
|
||||||
|
|
||||||
|
pub fn get_libra_balance<T: Client>(
|
||||||
|
client: &T,
|
||||||
|
account_address: &Pubkey,
|
||||||
|
) -> Result<u64, Box<dyn error::Error>> {
|
||||||
|
let account = client.get_account_data(&account_address)?;
|
||||||
|
if let Some(account) = account {
|
||||||
|
let mut data_store = DataStore::default();
|
||||||
|
match bincode::deserialize(&account)? {
|
||||||
|
LibraAccountState::User(write_set) => {
|
||||||
|
data_store.apply_write_set(&write_set);
|
||||||
|
}
|
||||||
|
LibraAccountState::Unallocated => {
|
||||||
|
return Ok(0);
|
||||||
|
}
|
||||||
|
state => {
|
||||||
|
info!("Unknown account state: {:?}", state);
|
||||||
|
return Err(LibrapayError::UnknownAccountState)?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let resource = data_store
|
||||||
|
.read_account_resource(&pubkey_to_address(account_address))
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let res = AccountResource::read_balance(&resource);
|
||||||
|
Ok(res)
|
||||||
|
} else {
|
||||||
|
Ok(0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn create_libra_genesis_account(microlibras: u64) -> Account {
|
||||||
|
let libra_genesis_data =
|
||||||
|
bincode::serialize(&LibraAccountState::create_genesis(microlibras)).unwrap();
|
||||||
|
Account {
|
||||||
|
lamports: 1,
|
||||||
|
data: libra_genesis_data,
|
||||||
|
owner: solana_move_loader_api::id(),
|
||||||
|
executable: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
use crate::{upload_mint_program, upload_payment_program};
|
||||||
|
use solana_runtime::bank::Bank;
|
||||||
|
use solana_runtime::bank_client::BankClient;
|
||||||
|
use solana_sdk::account::Account;
|
||||||
|
use solana_sdk::genesis_block::GenesisBlock;
|
||||||
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
|
use solana_sdk::system_program;
|
||||||
|
use std::sync::Arc;
|
||||||
|
|
||||||
|
fn create_bank(lamports: u64) -> (Arc<Bank>, Keypair, Keypair, Pubkey, Pubkey) {
|
||||||
|
let libra_genesis_account = create_libra_genesis_account(lamports);
|
||||||
|
//let (genesis_block, mint_keypair) = create_genesis_block(lamports);
|
||||||
|
let mint_keypair = Keypair::new();
|
||||||
|
let libra_mint_keypair = Keypair::new();
|
||||||
|
let genesis_block = GenesisBlock::new(
|
||||||
|
&[
|
||||||
|
(
|
||||||
|
mint_keypair.pubkey(),
|
||||||
|
Account::new(lamports, 0, &system_program::id()),
|
||||||
|
),
|
||||||
|
(libra_mint_keypair.pubkey(), libra_genesis_account),
|
||||||
|
],
|
||||||
|
&[],
|
||||||
|
);
|
||||||
|
|
||||||
|
let mut bank = Bank::new(&genesis_block);
|
||||||
|
bank.add_instruction_processor(
|
||||||
|
solana_move_loader_api::id(),
|
||||||
|
solana_move_loader_api::processor::process_instruction,
|
||||||
|
);
|
||||||
|
let shared_bank = Arc::new(bank);
|
||||||
|
let bank_client = BankClient::new_shared(&shared_bank);
|
||||||
|
let mint_program_pubkey = upload_mint_program(&mint_keypair, &bank_client);
|
||||||
|
let program_pubkey = upload_payment_program(&mint_keypair, &bank_client);
|
||||||
|
(
|
||||||
|
shared_bank,
|
||||||
|
mint_keypair,
|
||||||
|
libra_mint_keypair,
|
||||||
|
mint_program_pubkey,
|
||||||
|
program_pubkey,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_transfer() {
|
||||||
|
let (bank, mint_keypair, libra_mint_keypair, mint_program_id, program_id) =
|
||||||
|
create_bank(10_000);
|
||||||
|
let from = Keypair::new();
|
||||||
|
let to = Keypair::new();
|
||||||
|
|
||||||
|
let tx = create_accounts(
|
||||||
|
&mint_keypair,
|
||||||
|
&[from.pubkey(), to.pubkey()],
|
||||||
|
1,
|
||||||
|
bank.last_blockhash(),
|
||||||
|
);
|
||||||
|
bank.process_transaction(&tx).unwrap();
|
||||||
|
|
||||||
|
info!(
|
||||||
|
"created accounts: mint: {} libra_mint: {}",
|
||||||
|
mint_keypair.pubkey(),
|
||||||
|
libra_mint_keypair.pubkey()
|
||||||
|
);
|
||||||
|
info!(" from: {} to: {}", from.pubkey(), to.pubkey());
|
||||||
|
|
||||||
|
let tx = mint_tokens(
|
||||||
|
&mint_program_id,
|
||||||
|
&mint_keypair,
|
||||||
|
&libra_mint_keypair,
|
||||||
|
&from.pubkey(),
|
||||||
|
1,
|
||||||
|
bank.last_blockhash(),
|
||||||
|
);
|
||||||
|
bank.process_transaction(&tx).unwrap();
|
||||||
|
let client = BankClient::new_shared(&bank);
|
||||||
|
assert_eq!(1, get_libra_balance(&client, &from.pubkey()).unwrap());
|
||||||
|
|
||||||
|
info!("passed mint... doing another transfer..");
|
||||||
|
|
||||||
|
let tx = transfer(
|
||||||
|
&program_id,
|
||||||
|
&libra_mint_keypair.pubkey(),
|
||||||
|
&mint_keypair,
|
||||||
|
&from,
|
||||||
|
&to.pubkey(),
|
||||||
|
1,
|
||||||
|
bank.last_blockhash(),
|
||||||
|
);
|
||||||
|
bank.process_transaction(&tx).unwrap();
|
||||||
|
assert_eq!(1, get_libra_balance(&client, &to.pubkey()).unwrap());
|
||||||
|
}
|
||||||
|
}
|
@ -20,16 +20,16 @@ serde_json = "1.0.40"
|
|||||||
solana-logger = { path = "../../logger", version = "0.17.0" }
|
solana-logger = { path = "../../logger", version = "0.17.0" }
|
||||||
solana-sdk = { path = "../../sdk", version = "0.17.0" }
|
solana-sdk = { path = "../../sdk", version = "0.17.0" }
|
||||||
|
|
||||||
bytecode_verifier = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_bytecode_verifier" }
|
bytecode_verifier = { version = "0.0.0-sol15", package = "solana_libra_bytecode_verifier" }
|
||||||
compiler = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_compiler" }
|
compiler = { version = "0.0.0-sol15", package = "solana_libra_compiler" }
|
||||||
failure = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_failure_ext" }
|
failure = { version = "0.0.0-sol15", package = "solana_libra_failure_ext" }
|
||||||
language_e2e_tests = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_language_e2e_tests" }
|
language_e2e_tests = { version = "0.0.0-sol15", package = "solana_libra_language_e2e_tests" }
|
||||||
state_view = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_state_view" }
|
state_view = { version = "0.0.0-sol15", package = "solana_libra_state_view" }
|
||||||
stdlib = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_stdlib" }
|
stdlib = { version = "0.0.0-sol15", package = "solana_libra_stdlib" }
|
||||||
types = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_types" }
|
types = { version = "0.0.0-sol15", package = "solana_libra_types" }
|
||||||
vm = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_vm" }
|
vm = { version = "0.0.0-sol15", package = "solana_libra_vm" }
|
||||||
vm_cache_map = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_vm_cache_map" }
|
vm_cache_map = { version = "0.0.0-sol15", package = "solana_libra_vm_cache_map" }
|
||||||
vm_runtime = { git = "https://github.com/solana-labs/libra", tag = "v0.0.0-sol13.2", package = "solana_libra_vm_runtime" }
|
vm_runtime = { version = "0.0.0-sol15", package = "solana_libra_vm_runtime" }
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
crate-type = ["lib"]
|
crate-type = ["lib"]
|
||||||
|
@ -61,11 +61,11 @@ pub const GENESIS_INDEX: usize = 1;
|
|||||||
#[derive(Default, Debug, Serialize, Deserialize)]
|
#[derive(Default, Debug, Serialize, Deserialize)]
|
||||||
pub struct InvokeInfo {
|
pub struct InvokeInfo {
|
||||||
/// Sender of the "transaction", the "sender" who is calling this program
|
/// Sender of the "transaction", the "sender" who is calling this program
|
||||||
sender_address: AccountAddress,
|
pub sender_address: AccountAddress,
|
||||||
/// Name of the function to call
|
/// Name of the function to call
|
||||||
function_name: String,
|
pub function_name: String,
|
||||||
/// Arguments to pass to the program being invoked
|
/// Arguments to pass to the program being invoked
|
||||||
args: Vec<TransactionArgument>,
|
pub args: Vec<TransactionArgument>,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct MoveProcessor {}
|
pub struct MoveProcessor {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
use crate::bank_client::BankClient;
|
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use solana_sdk::client::SyncClient;
|
use solana_sdk::client::Client;
|
||||||
use solana_sdk::instruction::{AccountMeta, Instruction};
|
use solana_sdk::instruction::{AccountMeta, Instruction};
|
||||||
use solana_sdk::loader_instruction;
|
use solana_sdk::loader_instruction;
|
||||||
use solana_sdk::message::Message;
|
use solana_sdk::message::Message;
|
||||||
@ -8,8 +7,8 @@ use solana_sdk::pubkey::Pubkey;
|
|||||||
use solana_sdk::signature::{Keypair, KeypairUtil};
|
use solana_sdk::signature::{Keypair, KeypairUtil};
|
||||||
use solana_sdk::system_instruction;
|
use solana_sdk::system_instruction;
|
||||||
|
|
||||||
pub fn load_program(
|
pub fn load_program<T: Client>(
|
||||||
bank_client: &BankClient,
|
bank_client: &T,
|
||||||
from_keypair: &Keypair,
|
from_keypair: &Keypair,
|
||||||
loader_pubkey: &Pubkey,
|
loader_pubkey: &Pubkey,
|
||||||
program: Vec<u8>,
|
program: Vec<u8>,
|
||||||
|
Reference in New Issue
Block a user