tx-engine 0.7.1__tar.gz → 0.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tx_engine-0.7.1 → tx_engine-0.7.2}/Cargo.lock +58 -53
- {tx_engine-0.7.1 → tx_engine-0.7.2}/Cargo.toml +1 -1
- {tx_engine-0.7.1 → tx_engine-0.7.2}/PKG-INFO +1 -1
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/Development.md +3 -2
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/Releases.md +2 -1
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_bsv.py +4 -4
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/engine/op_code_names.py +2 -2
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/engine/op_codes.py +2 -2
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/python/op_code_names.rs +2 -2
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/script/interpreter.rs +17 -2
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/script/mod.rs +4 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/.github/workflows/CI.yml +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/.github/workflows/on_push.yml +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/.gitignore +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/LICENSE +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/LICENSE-rust-sv +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/README.md +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/README-chain-gang.md +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/Requirements +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/diagrams/keys.png +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/diagrams/keys.puml +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/diagrams/overview.png +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/diagrams/overview.puml +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/diagrams/python_classes.png +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/docs/diagrams/python_classes.puml +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/pyproject.toml +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/lint.sh +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/requirements.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/README.md +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_bit_twiddling.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_debug.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_ec.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_fed.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_if.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_interface.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_op.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_parse.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_script.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_sighash.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_sign.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_tx.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tests/test_wallet.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/__init__.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/engine/__init__.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/engine/context.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/engine/cryptography_utils.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/engine/engine_types.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/engine/util.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/interface/__init__.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/interface/blockchain_interface.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/interface/interface_factory.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/interface/mock_interface.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/interface/rpc_interface.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/interface/verify_script.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/interface/woc.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/interface/woc_interface.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/tx/__init__.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/src/tx_engine/tx/sighash.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/python/tests.sh +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/address/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/interface/blockchain_interface.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/interface/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/interface/test_interface.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/interface/uaas_interface.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/interface/woc_interface.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/lib.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/addr.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/authch.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/block.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/block_header.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/block_locator.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/blocktxn.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/cmpctblock.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/createstrm.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/fee_filter.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/filter_add.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/filter_load.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/getblocktxn.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/headers.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/inv.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/inv_vect.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/merkle_block.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/message.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/message_header.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/node_addr.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/node_addr_ex.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/out_point.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/ping.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/protoconf.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/reject.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/send_cmpct.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/streamack.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/tx.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/tx_in.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/tx_out.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/messages/version.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/network/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/network/network.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/network/seed_iter.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/peer/atomic_reader.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/peer/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/peer/peer.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/python/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/python/py_script.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/python/py_stack.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/python/py_tx.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/python/py_wallet.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/script/checker.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/script/op_codes.rs +4 -4
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/script/stack.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/transaction/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/transaction/p2pkh.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/transaction/sighash.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/bits.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/bloom_filter.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/errors.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/future.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/hash160.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/hash256.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/latch.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/rx.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/serdes.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/sha1.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/sha256.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/util/var_int.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/base58_checksum.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/extended_key.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/mnemonic.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/mod.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wallet.rs +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wordlists/chinese_simplified.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wordlists/chinese_traditional.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wordlists/english.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wordlists/french.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wordlists/italian.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wordlists/japanese.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wordlists/korean.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/src/wallet/wordlists/spanish.txt +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/tools/README.md +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/tools/dbg.py +0 -0
- {tx_engine-0.7.1 → tx_engine-0.7.2}/tools/generate_key.py +0 -0
|
@@ -37,9 +37,9 @@ dependencies = [
|
|
|
37
37
|
|
|
38
38
|
[[package]]
|
|
39
39
|
name = "async-trait"
|
|
40
|
-
version = "0.1.
|
|
40
|
+
version = "0.1.88"
|
|
41
41
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
42
|
-
checksum = "
|
|
42
|
+
checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
|
|
43
43
|
dependencies = [
|
|
44
44
|
"proc-macro2",
|
|
45
45
|
"quote",
|
|
@@ -93,9 +93,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
|
|
|
93
93
|
|
|
94
94
|
[[package]]
|
|
95
95
|
name = "base64ct"
|
|
96
|
-
version = "1.7.
|
|
96
|
+
version = "1.7.3"
|
|
97
97
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
98
|
-
checksum = "
|
|
98
|
+
checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3"
|
|
99
99
|
|
|
100
100
|
[[package]]
|
|
101
101
|
name = "bitflags"
|
|
@@ -132,9 +132,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
|
|
|
132
132
|
|
|
133
133
|
[[package]]
|
|
134
134
|
name = "cc"
|
|
135
|
-
version = "1.2.
|
|
135
|
+
version = "1.2.17"
|
|
136
136
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
137
|
-
checksum = "
|
|
137
|
+
checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a"
|
|
138
138
|
dependencies = [
|
|
139
139
|
"shlex",
|
|
140
140
|
]
|
|
@@ -147,7 +147,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
|
147
147
|
|
|
148
148
|
[[package]]
|
|
149
149
|
name = "chain-gang"
|
|
150
|
-
version = "0.7.
|
|
150
|
+
version = "0.7.2"
|
|
151
151
|
dependencies = [
|
|
152
152
|
"async-mutex",
|
|
153
153
|
"async-trait",
|
|
@@ -458,14 +458,14 @@ dependencies = [
|
|
|
458
458
|
|
|
459
459
|
[[package]]
|
|
460
460
|
name = "getrandom"
|
|
461
|
-
version = "0.3.
|
|
461
|
+
version = "0.3.2"
|
|
462
462
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
463
|
-
checksum = "
|
|
463
|
+
checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
|
|
464
464
|
dependencies = [
|
|
465
465
|
"cfg-if",
|
|
466
466
|
"libc",
|
|
467
|
-
"
|
|
468
|
-
"
|
|
467
|
+
"r-efi",
|
|
468
|
+
"wasi 0.14.2+wasi-0.2.4",
|
|
469
469
|
]
|
|
470
470
|
|
|
471
471
|
[[package]]
|
|
@@ -684,9 +684,9 @@ dependencies = [
|
|
|
684
684
|
|
|
685
685
|
[[package]]
|
|
686
686
|
name = "icu_locid_transform_data"
|
|
687
|
-
version = "1.5.
|
|
687
|
+
version = "1.5.1"
|
|
688
688
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
689
|
-
checksum = "
|
|
689
|
+
checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
|
|
690
690
|
|
|
691
691
|
[[package]]
|
|
692
692
|
name = "icu_normalizer"
|
|
@@ -708,9 +708,9 @@ dependencies = [
|
|
|
708
708
|
|
|
709
709
|
[[package]]
|
|
710
710
|
name = "icu_normalizer_data"
|
|
711
|
-
version = "1.5.
|
|
711
|
+
version = "1.5.1"
|
|
712
712
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
713
|
-
checksum = "
|
|
713
|
+
checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7"
|
|
714
714
|
|
|
715
715
|
[[package]]
|
|
716
716
|
name = "icu_properties"
|
|
@@ -729,9 +729,9 @@ dependencies = [
|
|
|
729
729
|
|
|
730
730
|
[[package]]
|
|
731
731
|
name = "icu_properties_data"
|
|
732
|
-
version = "1.5.
|
|
732
|
+
version = "1.5.1"
|
|
733
733
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
734
|
-
checksum = "
|
|
734
|
+
checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2"
|
|
735
735
|
|
|
736
736
|
[[package]]
|
|
737
737
|
name = "icu_provider"
|
|
@@ -854,9 +854,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
|
|
|
854
854
|
|
|
855
855
|
[[package]]
|
|
856
856
|
name = "linux-raw-sys"
|
|
857
|
-
version = "0.9.
|
|
857
|
+
version = "0.9.3"
|
|
858
858
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
859
|
-
checksum = "
|
|
859
|
+
checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413"
|
|
860
860
|
|
|
861
861
|
[[package]]
|
|
862
862
|
name = "litemap"
|
|
@@ -866,9 +866,9 @@ checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
|
|
|
866
866
|
|
|
867
867
|
[[package]]
|
|
868
868
|
name = "log"
|
|
869
|
-
version = "0.4.
|
|
869
|
+
version = "0.4.27"
|
|
870
870
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
871
|
-
checksum = "
|
|
871
|
+
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
|
|
872
872
|
|
|
873
873
|
[[package]]
|
|
874
874
|
name = "memchr"
|
|
@@ -973,9 +973,9 @@ dependencies = [
|
|
|
973
973
|
|
|
974
974
|
[[package]]
|
|
975
975
|
name = "once_cell"
|
|
976
|
-
version = "1.21.
|
|
976
|
+
version = "1.21.3"
|
|
977
977
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
978
|
-
checksum = "
|
|
978
|
+
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
|
979
979
|
|
|
980
980
|
[[package]]
|
|
981
981
|
name = "openssl"
|
|
@@ -1161,6 +1161,12 @@ dependencies = [
|
|
|
1161
1161
|
"proc-macro2",
|
|
1162
1162
|
]
|
|
1163
1163
|
|
|
1164
|
+
[[package]]
|
|
1165
|
+
name = "r-efi"
|
|
1166
|
+
version = "5.2.0"
|
|
1167
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1168
|
+
checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
|
|
1169
|
+
|
|
1164
1170
|
[[package]]
|
|
1165
1171
|
name = "rand"
|
|
1166
1172
|
version = "0.8.5"
|
|
@@ -1228,9 +1234,9 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
|
|
1228
1234
|
|
|
1229
1235
|
[[package]]
|
|
1230
1236
|
name = "reqwest"
|
|
1231
|
-
version = "0.12.
|
|
1237
|
+
version = "0.12.15"
|
|
1232
1238
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1233
|
-
checksum = "
|
|
1239
|
+
checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb"
|
|
1234
1240
|
dependencies = [
|
|
1235
1241
|
"base64",
|
|
1236
1242
|
"bytes",
|
|
@@ -1311,9 +1317,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
|
|
1311
1317
|
|
|
1312
1318
|
[[package]]
|
|
1313
1319
|
name = "rustix"
|
|
1314
|
-
version = "1.0.
|
|
1320
|
+
version = "1.0.3"
|
|
1315
1321
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1316
|
-
checksum = "
|
|
1322
|
+
checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
|
|
1317
1323
|
dependencies = [
|
|
1318
1324
|
"bitflags",
|
|
1319
1325
|
"errno",
|
|
@@ -1324,9 +1330,9 @@ dependencies = [
|
|
|
1324
1330
|
|
|
1325
1331
|
[[package]]
|
|
1326
1332
|
name = "rustls"
|
|
1327
|
-
version = "0.23.
|
|
1333
|
+
version = "0.23.25"
|
|
1328
1334
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1329
|
-
checksum = "
|
|
1335
|
+
checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c"
|
|
1330
1336
|
dependencies = [
|
|
1331
1337
|
"once_cell",
|
|
1332
1338
|
"rustls-pki-types",
|
|
@@ -1352,9 +1358,9 @@ checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c"
|
|
|
1352
1358
|
|
|
1353
1359
|
[[package]]
|
|
1354
1360
|
name = "rustls-webpki"
|
|
1355
|
-
version = "0.
|
|
1361
|
+
version = "0.103.1"
|
|
1356
1362
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1357
|
-
checksum = "
|
|
1363
|
+
checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03"
|
|
1358
1364
|
dependencies = [
|
|
1359
1365
|
"ring",
|
|
1360
1366
|
"rustls-pki-types",
|
|
@@ -1524,9 +1530,9 @@ checksum = "27207bb65232eda1f588cf46db2fee75c0808d557f6b3cf19a75f5d6d7c94df1"
|
|
|
1524
1530
|
|
|
1525
1531
|
[[package]]
|
|
1526
1532
|
name = "socket2"
|
|
1527
|
-
version = "0.5.
|
|
1533
|
+
version = "0.5.9"
|
|
1528
1534
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1529
|
-
checksum = "
|
|
1535
|
+
checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
|
|
1530
1536
|
dependencies = [
|
|
1531
1537
|
"libc",
|
|
1532
1538
|
"windows-sys 0.52.0",
|
|
@@ -1614,13 +1620,12 @@ checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
|
|
|
1614
1620
|
|
|
1615
1621
|
[[package]]
|
|
1616
1622
|
name = "tempfile"
|
|
1617
|
-
version = "3.
|
|
1623
|
+
version = "3.19.1"
|
|
1618
1624
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1619
|
-
checksum = "
|
|
1625
|
+
checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf"
|
|
1620
1626
|
dependencies = [
|
|
1621
|
-
"cfg-if",
|
|
1622
1627
|
"fastrand",
|
|
1623
|
-
"getrandom 0.3.
|
|
1628
|
+
"getrandom 0.3.2",
|
|
1624
1629
|
"once_cell",
|
|
1625
1630
|
"rustix",
|
|
1626
1631
|
"windows-sys 0.59.0",
|
|
@@ -1658,9 +1663,9 @@ dependencies = [
|
|
|
1658
1663
|
|
|
1659
1664
|
[[package]]
|
|
1660
1665
|
name = "tokio"
|
|
1661
|
-
version = "1.44.
|
|
1666
|
+
version = "1.44.1"
|
|
1662
1667
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1663
|
-
checksum = "
|
|
1668
|
+
checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a"
|
|
1664
1669
|
dependencies = [
|
|
1665
1670
|
"backtrace",
|
|
1666
1671
|
"bytes",
|
|
@@ -1693,9 +1698,9 @@ dependencies = [
|
|
|
1693
1698
|
|
|
1694
1699
|
[[package]]
|
|
1695
1700
|
name = "tokio-util"
|
|
1696
|
-
version = "0.7.
|
|
1701
|
+
version = "0.7.14"
|
|
1697
1702
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1698
|
-
checksum = "
|
|
1703
|
+
checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034"
|
|
1699
1704
|
dependencies = [
|
|
1700
1705
|
"bytes",
|
|
1701
1706
|
"futures-core",
|
|
@@ -1832,9 +1837,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
|
|
1832
1837
|
|
|
1833
1838
|
[[package]]
|
|
1834
1839
|
name = "wasi"
|
|
1835
|
-
version = "0.
|
|
1840
|
+
version = "0.14.2+wasi-0.2.4"
|
|
1836
1841
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1837
|
-
checksum = "
|
|
1842
|
+
checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
|
|
1838
1843
|
dependencies = [
|
|
1839
1844
|
"wit-bindgen-rt",
|
|
1840
1845
|
]
|
|
@@ -1922,9 +1927,9 @@ dependencies = [
|
|
|
1922
1927
|
|
|
1923
1928
|
[[package]]
|
|
1924
1929
|
name = "windows-link"
|
|
1925
|
-
version = "0.1.
|
|
1930
|
+
version = "0.1.1"
|
|
1926
1931
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1927
|
-
checksum = "
|
|
1932
|
+
checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
|
|
1928
1933
|
|
|
1929
1934
|
[[package]]
|
|
1930
1935
|
name = "windows-registry"
|
|
@@ -1939,9 +1944,9 @@ dependencies = [
|
|
|
1939
1944
|
|
|
1940
1945
|
[[package]]
|
|
1941
1946
|
name = "windows-result"
|
|
1942
|
-
version = "0.3.
|
|
1947
|
+
version = "0.3.2"
|
|
1943
1948
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1944
|
-
checksum = "
|
|
1949
|
+
checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252"
|
|
1945
1950
|
dependencies = [
|
|
1946
1951
|
"windows-link",
|
|
1947
1952
|
]
|
|
@@ -2169,9 +2174,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
|
|
|
2169
2174
|
|
|
2170
2175
|
[[package]]
|
|
2171
2176
|
name = "wit-bindgen-rt"
|
|
2172
|
-
version = "0.
|
|
2177
|
+
version = "0.39.0"
|
|
2173
2178
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2174
|
-
checksum = "
|
|
2179
|
+
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
|
|
2175
2180
|
dependencies = [
|
|
2176
2181
|
"bitflags",
|
|
2177
2182
|
]
|
|
@@ -2214,18 +2219,18 @@ dependencies = [
|
|
|
2214
2219
|
|
|
2215
2220
|
[[package]]
|
|
2216
2221
|
name = "zerocopy"
|
|
2217
|
-
version = "0.8.
|
|
2222
|
+
version = "0.8.24"
|
|
2218
2223
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2219
|
-
checksum = "
|
|
2224
|
+
checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
|
|
2220
2225
|
dependencies = [
|
|
2221
2226
|
"zerocopy-derive",
|
|
2222
2227
|
]
|
|
2223
2228
|
|
|
2224
2229
|
[[package]]
|
|
2225
2230
|
name = "zerocopy-derive"
|
|
2226
|
-
version = "0.8.
|
|
2231
|
+
version = "0.8.24"
|
|
2227
2232
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2228
|
-
checksum = "
|
|
2233
|
+
checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
|
|
2229
2234
|
dependencies = [
|
|
2230
2235
|
"proc-macro2",
|
|
2231
2236
|
"quote",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "chain-gang"
|
|
3
|
-
version = "0.7.
|
|
3
|
+
version = "0.7.2"
|
|
4
4
|
description = "This is a library that enables monitoring of multiple blockchains (BTC, BCH, BSV)."
|
|
5
5
|
# repository = "https://github.com/brentongunning/rust-sv"
|
|
6
6
|
authors = ["Arthur Gordon <a.gordon@nchain.com>"]
|
|
@@ -99,8 +99,9 @@ https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-e
|
|
|
99
99
|
# Github & PyPi
|
|
100
100
|
|
|
101
101
|
To force a release the git version needs to be tagged.
|
|
102
|
-
1) Update `cargo.toml` version
|
|
103
|
-
2)
|
|
102
|
+
1) Update `cargo.toml` version
|
|
103
|
+
2) Update `Releases.md` file
|
|
104
|
+
3) push code up to repo. Otherwise GitHub won't figure out that the software has been updated.
|
|
104
105
|
4) Update git `tag` and push. Otherwise the GitHub action `release` will not be triggered.
|
|
105
106
|
|
|
106
107
|
```bash
|
|
@@ -45,4 +45,5 @@
|
|
|
45
45
|
* v0.6.14 - Try again - remove platforms that did not read env vars
|
|
46
46
|
* v0.6.15 - Try again - remove two more platforms that did not read env vars
|
|
47
47
|
* v0.7.0 - Bump version for Python 3.13 support
|
|
48
|
-
* v0.7.1 -
|
|
48
|
+
* v0.7.1 - Fixed OP_CODESEPARATOR
|
|
49
|
+
* v0.7.2 - Added OP_2MUL and OP_2DIV script operations
|
|
@@ -140,16 +140,16 @@ class BSVTests(unittest.TestCase):
|
|
|
140
140
|
"""
|
|
141
141
|
script = Script([OP_16, OP_2MUL])
|
|
142
142
|
context = Context(script=script)
|
|
143
|
-
|
|
144
|
-
self.
|
|
143
|
+
self.assertTrue(context.evaluate_core())
|
|
144
|
+
self.assertEqual(context.get_stack(), Stack([[32]]))
|
|
145
145
|
|
|
146
146
|
def test_2div(self):
|
|
147
147
|
""" Simple check of 2DIV
|
|
148
148
|
"""
|
|
149
149
|
script = Script([OP_16, OP_2DIV])
|
|
150
150
|
context = Context(script=script)
|
|
151
|
-
|
|
152
|
-
self.
|
|
151
|
+
self.assertTrue(context.evaluate_core())
|
|
152
|
+
self.assertEqual(context.get_stack(), Stack([[8]]))
|
|
153
153
|
|
|
154
154
|
def test_mod(self):
|
|
155
155
|
""" Simple check of MOD
|
|
@@ -83,8 +83,8 @@ OP_RESERVED2: Final = 0x8A
|
|
|
83
83
|
# Artithmetic
|
|
84
84
|
OP_1ADD: Final = 0x8B
|
|
85
85
|
OP_1SUB: Final = 0x8C
|
|
86
|
-
OP_2MUL: Final = 0x8D
|
|
87
|
-
OP_2DIV: Final = 0x8E
|
|
86
|
+
OP_2MUL: Final = 0x8D
|
|
87
|
+
OP_2DIV: Final = 0x8E
|
|
88
88
|
OP_NEGATE: Final = 0x8F
|
|
89
89
|
OP_ABS: Final = 0x90
|
|
90
90
|
OP_NOT: Final = 0x91
|
|
@@ -429,6 +429,12 @@ pub fn core_eval<T: Checker>(
|
|
|
429
429
|
let product = a * b;
|
|
430
430
|
stack.push(encode_bigint(product));
|
|
431
431
|
}
|
|
432
|
+
OP_2MUL => {
|
|
433
|
+
let a = pop_bigint(&mut stack)?;
|
|
434
|
+
let two = BigInt::from(2);
|
|
435
|
+
let product = a * two;
|
|
436
|
+
stack.push(encode_bigint(product));
|
|
437
|
+
}
|
|
432
438
|
OP_DIV => {
|
|
433
439
|
let b = pop_bigint(&mut stack)?;
|
|
434
440
|
let a = pop_bigint(&mut stack)?;
|
|
@@ -439,6 +445,13 @@ pub fn core_eval<T: Checker>(
|
|
|
439
445
|
let quotient = a / b;
|
|
440
446
|
stack.push(encode_bigint(quotient));
|
|
441
447
|
}
|
|
448
|
+
OP_2DIV => {
|
|
449
|
+
let a = pop_bigint(&mut stack)?;
|
|
450
|
+
let b = BigInt::from(2);
|
|
451
|
+
|
|
452
|
+
let quotient = a / b;
|
|
453
|
+
stack.push(encode_bigint(quotient));
|
|
454
|
+
}
|
|
442
455
|
OP_MOD => {
|
|
443
456
|
let b = pop_bigint(&mut stack)?;
|
|
444
457
|
let a = pop_bigint(&mut stack)?;
|
|
@@ -1069,9 +1082,11 @@ mod tests {
|
|
|
1069
1082
|
OP_MUL,
|
|
1070
1083
|
]);
|
|
1071
1084
|
pass(&[OP_1, OP_1NEGATE, OP_MUL, OP_1NEGATE, OP_EQUAL]);
|
|
1085
|
+
pass(&[OP_5, OP_2MUL, OP_10, OP_EQUAL]);
|
|
1072
1086
|
pass(&[OP_1, OP_1, OP_DIV, OP_1, OP_EQUAL]);
|
|
1073
1087
|
pass(&[OP_5, OP_2, OP_DIV, OP_2, OP_EQUAL]);
|
|
1074
1088
|
pass(&[OP_2, OP_1NEGATE, OP_DIV, OP_PUSH + 1, 130, OP_EQUAL]);
|
|
1089
|
+
pass(&[OP_5, OP_2DIV, OP_2, OP_EQUAL]);
|
|
1075
1090
|
pass(&[OP_1, OP_1, OP_MOD, OP_0, OP_EQUAL]);
|
|
1076
1091
|
pass(&[OP_5, OP_2, OP_MOD, OP_1, OP_EQUAL]);
|
|
1077
1092
|
pass(&[OP_5, OP_PUSH + 1, 130, OP_MOD, OP_1, OP_EQUAL]);
|
|
@@ -1327,7 +1342,9 @@ mod tests {
|
|
|
1327
1342
|
fail(&[OP_PUSH + 5, 0, 0, 0, 0, 0, OP_MUL]);
|
|
1328
1343
|
fail(&[OP_PUSH + 2, 0, 0, OP_PUSH + 2, 0, 0, OP_MUL]);
|
|
1329
1344
|
fail(&[OP_DIV]);
|
|
1345
|
+
fail(&[OP_2MUL]);
|
|
1330
1346
|
fail(&[OP_1, OP_DIV]);
|
|
1347
|
+
fail(&[OP_2DIV]);
|
|
1331
1348
|
fail(&[OP_PUSH + 5, 0, 0, 0, 0, 0, OP_DIV]);
|
|
1332
1349
|
fail(&[OP_1, OP_0, OP_DIV]);
|
|
1333
1350
|
fail(&[OP_MOD]);
|
|
@@ -1446,8 +1463,6 @@ mod tests {
|
|
|
1446
1463
|
fail(&[OP_RESERVED1, OP_1]);
|
|
1447
1464
|
fail(&[OP_RESERVED2, OP_1]);
|
|
1448
1465
|
fail(&[OP_INVERT, OP_1]);
|
|
1449
|
-
fail(&[OP_2MUL, OP_1]);
|
|
1450
|
-
fail(&[OP_2DIV, OP_1]);
|
|
1451
1466
|
fail(&[OP_MUL, OP_1]);
|
|
1452
1467
|
fail(&[OP_LSHIFT, OP_1]);
|
|
1453
1468
|
fail(&[OP_RSHIFT, OP_1]);
|
|
@@ -269,7 +269,9 @@ impl Script {
|
|
|
269
269
|
OP_ADD => ret.push_str("OP_ADD"),
|
|
270
270
|
OP_SUB => ret.push_str("OP_SUB"),
|
|
271
271
|
OP_MUL => ret.push_str("OP_MUL"),
|
|
272
|
+
OP_2MUL => ret.push_str("OP_2MUL"),
|
|
272
273
|
OP_DIV => ret.push_str("OP_DIV"),
|
|
274
|
+
OP_2DIV => ret.push_str("OP_2DIV"),
|
|
273
275
|
OP_MOD => ret.push_str("OP_MOD"),
|
|
274
276
|
|
|
275
277
|
OP_BOOLAND => ret.push_str("OP_BOOLAND"),
|
|
@@ -439,7 +441,9 @@ impl fmt::Debug for Script {
|
|
|
439
441
|
OP_ADD => ret.push_str("OP_ADD"),
|
|
440
442
|
OP_SUB => ret.push_str("OP_SUB"),
|
|
441
443
|
OP_MUL => ret.push_str("OP_MUL"),
|
|
444
|
+
OP_2MUL => ret.push_str("OP_2MUL"),
|
|
442
445
|
OP_DIV => ret.push_str("OP_DIV"),
|
|
446
|
+
OP_2DIV => ret.push_str("OP_2DIV"),
|
|
443
447
|
OP_MOD => ret.push_str("OP_MOD"),
|
|
444
448
|
|
|
445
449
|
OP_BOOLAND => ret.push_str("OP_BOOLAND"),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -169,8 +169,12 @@ pub const OP_ADD: u8 = 147;
|
|
|
169
169
|
pub const OP_SUB: u8 = 148;
|
|
170
170
|
/// Multiplies a by b
|
|
171
171
|
pub(crate) const OP_MUL: u8 = 149;
|
|
172
|
+
/// The input is multiplied by 2
|
|
173
|
+
pub(crate) const OP_2MUL: u8 = 141;
|
|
172
174
|
/// Divides a by b
|
|
173
175
|
pub const OP_DIV: u8 = 150;
|
|
176
|
+
/// The input is divided by 2
|
|
177
|
+
pub(crate) const OP_2DIV: u8 = 142;
|
|
174
178
|
/// Returns the remainder after dividing a by b
|
|
175
179
|
pub const OP_MOD: u8 = 151;
|
|
176
180
|
/// Shifts a left b bits, preserving sign
|
|
@@ -291,7 +295,3 @@ pub(crate) const OP_INVALID_ABOVE: u8 = 186;
|
|
|
291
295
|
// Disabled words
|
|
292
296
|
// --------------------------------------------------------------------------------------------
|
|
293
297
|
|
|
294
|
-
/// The input is multiplied by 2
|
|
295
|
-
pub(crate) const OP_2MUL: u8 = 141;
|
|
296
|
-
/// The input is divided by 2
|
|
297
|
-
pub(crate) const OP_2DIV: u8 = 142;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|