tx-engine 0.6.6__tar.gz → 0.6.8__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.
Files changed (163) hide show
  1. tx_engine-0.6.8/.github/workflows/on_push.yml +65 -0
  2. {tx_engine-0.6.6 → tx_engine-0.6.8}/Cargo.lock +568 -235
  3. {tx_engine-0.6.6 → tx_engine-0.6.8}/Cargo.toml +13 -13
  4. tx_engine-0.6.8/PKG-INFO +347 -0
  5. tx_engine-0.6.6/docs/PythonClasses.md → tx_engine-0.6.8/README.md +121 -14
  6. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/Releases.md +3 -1
  7. tx_engine-0.6.8/docs/diagrams/python_classes.png +0 -0
  8. tx_engine-0.6.8/docs/diagrams/python_classes.puml +135 -0
  9. {tx_engine-0.6.6 → tx_engine-0.6.8}/pyproject.toml +1 -1
  10. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/requirements.txt +1 -0
  11. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_bit_twiddling.py +25 -26
  12. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_bsv.py +50 -45
  13. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_debug.py +9 -9
  14. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_ec.py +3 -7
  15. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_fed.py +9 -8
  16. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_if.py +2 -6
  17. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_interface.py +5 -3
  18. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_op.py +21 -18
  19. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_parse.py +9 -8
  20. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_script.py +37 -12
  21. tx_engine-0.6.8/python/src/tests/test_sighash.py +36 -0
  22. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_sign.py +12 -7
  23. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_tx.py +12 -6
  24. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/test_wallet.py +51 -6
  25. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/__init__.py +3 -2
  26. tx_engine-0.6.8/python/src/tx_engine/engine/context.py +88 -0
  27. tx_engine-0.6.6/python/src/tx_engine/engine/context.py → tx_engine-0.6.8/python/src/tx_engine/engine/context.py.to-delete +13 -3
  28. tx_engine-0.6.8/python/src/tx_engine/engine/cryptography_utils.py +28 -0
  29. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/engine/engine_types.py +2 -0
  30. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/engine/op_code_names.py +2 -0
  31. tx_engine-0.6.8/python/src/tx_engine/engine/op_codes.py +126 -0
  32. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/engine/util.py +16 -16
  33. tx_engine-0.6.8/python/src/tx_engine/interface/blockchain_interface.py +84 -0
  34. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/interface/interface_factory.py +4 -0
  35. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/interface/mock_interface.py +3 -2
  36. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/interface/rpc_interface.py +43 -28
  37. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/interface/verify_script.py +22 -20
  38. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/interface/woc.py +6 -5
  39. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/interface/woc_interface.py +13 -7
  40. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tx_engine/tx/sighash.py +2 -0
  41. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/interface/blockchain_interface.rs +8 -1
  42. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/interface/test_interface.rs +11 -1
  43. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/interface/woc_interface.rs +37 -2
  44. tx_engine-0.6.8/src/python/mod.rs +329 -0
  45. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/python/py_script.rs +81 -2
  46. tx_engine-0.6.8/src/python/py_stack.rs +165 -0
  47. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/python/py_tx.rs +10 -1
  48. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/python/py_wallet.rs +197 -6
  49. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/script/interpreter.rs +16 -7
  50. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/script/mod.rs +22 -4
  51. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/script/stack.rs +80 -0
  52. {tx_engine-0.6.6 → tx_engine-0.6.8}/tools/dbg.py +15 -4
  53. {tx_engine-0.6.6 → tx_engine-0.6.8}/tools/generate_key.py +2 -3
  54. tx_engine-0.6.6/PKG-INFO +0 -164
  55. tx_engine-0.6.6/README.md +0 -145
  56. tx_engine-0.6.6/python/examples/README.md +0 -8
  57. tx_engine-0.6.6/python/examples/add.bs +0 -2
  58. tx_engine-0.6.6/python/examples/swap.bs +0 -1
  59. tx_engine-0.6.6/python/src/debugger/breakpoints.py +0 -56
  60. tx_engine-0.6.6/python/src/debugger/debug_context.py +0 -129
  61. tx_engine-0.6.6/python/src/debugger/debug_interface.py +0 -249
  62. tx_engine-0.6.6/python/src/debugger/decode_op.py +0 -60
  63. tx_engine-0.6.6/python/src/debugger/script_state.py +0 -71
  64. tx_engine-0.6.6/python/src/debugger/stack_frame.py +0 -59
  65. tx_engine-0.6.6/python/src/debugger/util.py +0 -14
  66. tx_engine-0.6.6/python/src/tests/test_debugger.py +0 -134
  67. tx_engine-0.6.6/python/src/tx_engine/engine/decode_op.py +0 -38
  68. tx_engine-0.6.6/python/src/tx_engine/engine/op_codes.py +0 -122
  69. tx_engine-0.6.6/python/src/tx_engine/interface/blockchain_interface.py +0 -79
  70. tx_engine-0.6.6/python/src/tx_engine/tx/__init__.py +0 -0
  71. tx_engine-0.6.6/src/python/mod.rs +0 -177
  72. {tx_engine-0.6.6 → tx_engine-0.6.8}/.github/workflows/CI.yml +0 -0
  73. {tx_engine-0.6.6 → tx_engine-0.6.8}/.gitignore +0 -0
  74. {tx_engine-0.6.6 → tx_engine-0.6.8}/LICENSE +0 -0
  75. {tx_engine-0.6.6 → tx_engine-0.6.8}/LICENSE-rust-sv +0 -0
  76. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/Development.md +0 -0
  77. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/README-chain-gang.md +0 -0
  78. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/Requirements +0 -0
  79. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/diagrams/debugger.png +0 -0
  80. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/diagrams/debugger.puml +0 -0
  81. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/diagrams/keys.png +0 -0
  82. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/diagrams/keys.puml +0 -0
  83. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/diagrams/overview.png +0 -0
  84. {tx_engine-0.6.6 → tx_engine-0.6.8}/docs/diagrams/overview.puml +0 -0
  85. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/lint.sh +0 -0
  86. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/src/tests/README.md +0 -0
  87. {tx_engine-0.6.6/python/src/debugger → tx_engine-0.6.8/python/src/tx_engine/engine}/__init__.py +0 -0
  88. {tx_engine-0.6.6/python/src/tx_engine/engine → tx_engine-0.6.8/python/src/tx_engine/interface}/__init__.py +0 -0
  89. {tx_engine-0.6.6/python/src/tx_engine/interface → tx_engine-0.6.8/python/src/tx_engine/tx}/__init__.py +0 -0
  90. {tx_engine-0.6.6 → tx_engine-0.6.8}/python/tests.sh +0 -0
  91. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/address/mod.rs +0 -0
  92. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/interface/mod.rs +0 -0
  93. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/lib.rs +0 -0
  94. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/addr.rs +0 -0
  95. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/authch.rs +0 -0
  96. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/block.rs +0 -0
  97. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/block_header.rs +0 -0
  98. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/block_locator.rs +0 -0
  99. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/blocktxn.rs +0 -0
  100. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/cmpctblock.rs +0 -0
  101. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/createstrm.rs +0 -0
  102. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/fee_filter.rs +0 -0
  103. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/filter_add.rs +0 -0
  104. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/filter_load.rs +0 -0
  105. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/getblocktxn.rs +0 -0
  106. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/headers.rs +0 -0
  107. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/inv.rs +0 -0
  108. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/inv_vect.rs +0 -0
  109. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/merkle_block.rs +0 -0
  110. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/message.rs +0 -0
  111. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/message_header.rs +0 -0
  112. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/mod.rs +0 -0
  113. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/node_addr.rs +0 -0
  114. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/node_addr_ex.rs +0 -0
  115. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/out_point.rs +0 -0
  116. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/ping.rs +0 -0
  117. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/protoconf.rs +0 -0
  118. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/reject.rs +0 -0
  119. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/send_cmpct.rs +0 -0
  120. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/streamack.rs +0 -0
  121. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/tx.rs +0 -0
  122. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/tx_in.rs +0 -0
  123. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/tx_out.rs +0 -0
  124. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/messages/version.rs +0 -0
  125. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/network/mod.rs +0 -0
  126. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/network/network.rs +0 -0
  127. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/network/seed_iter.rs +0 -0
  128. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/peer/atomic_reader.rs +0 -0
  129. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/peer/mod.rs +0 -0
  130. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/peer/peer.rs +0 -0
  131. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/python/base58_checksum.rs +0 -0
  132. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/python/hashes.rs +0 -0
  133. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/python/op_code_names.rs +0 -0
  134. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/script/checker.rs +0 -0
  135. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/script/op_codes.rs +0 -0
  136. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/transaction/mod.rs +0 -0
  137. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/transaction/p2pkh.rs +0 -0
  138. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/transaction/sighash.rs +0 -0
  139. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/bits.rs +0 -0
  140. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/bloom_filter.rs +0 -0
  141. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/future.rs +0 -0
  142. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/hash160.rs +0 -0
  143. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/hash256.rs +0 -0
  144. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/latch.rs +0 -0
  145. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/mod.rs +0 -0
  146. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/result.rs +0 -0
  147. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/rx.rs +0 -0
  148. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/serdes.rs +0 -0
  149. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/sha1.rs +0 -0
  150. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/sha256.rs +0 -0
  151. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/util/var_int.rs +0 -0
  152. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/extended_key.rs +0 -0
  153. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/mnemonic.rs +0 -0
  154. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/mod.rs +0 -0
  155. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/wordlists/chinese_simplified.txt +0 -0
  156. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/wordlists/chinese_traditional.txt +0 -0
  157. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/wordlists/english.txt +0 -0
  158. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/wordlists/french.txt +0 -0
  159. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/wordlists/italian.txt +0 -0
  160. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/wordlists/japanese.txt +0 -0
  161. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/wordlists/korean.txt +0 -0
  162. {tx_engine-0.6.6 → tx_engine-0.6.8}/src/wallet/wordlists/spanish.txt +0 -0
  163. {tx_engine-0.6.6 → tx_engine-0.6.8}/tools/README.md +0 -0
@@ -0,0 +1,65 @@
1
+ name: On Push
2
+ on: [push]
3
+ permissions:
4
+ contents: read
5
+
6
+ jobs:
7
+ python-lint:
8
+ name: Lint Python
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Checkout branch code
12
+ uses: actions/checkout@v4
13
+ - name: Install Python
14
+ uses: actions/setup-python@v5
15
+ with:
16
+ python-version: '3.12'
17
+ cache: 'pip'
18
+ - name: Lint Python
19
+ working-directory: python
20
+ run: |
21
+ pip install mypy flake8 types-requests --root-user-action=ignore
22
+ flake8 --ignore=E501,E131,E402,E722 src ../tools
23
+ mypy --check-untyped-defs --ignore-missing-imports src ../tools
24
+
25
+ rust-test:
26
+ name: Rust Tests
27
+ runs-on: ubuntu-latest
28
+ steps:
29
+ - name: Checkout branch code
30
+ uses: actions/checkout@v4
31
+ - name: Install Rust
32
+ uses: actions-rust-lang/setup-rust-toolchain@v1
33
+ with:
34
+ toolchain: stable
35
+ cache: true
36
+ - name: Rust Tests
37
+ run: cargo test --all-features
38
+
39
+ python-test:
40
+ name: Python Tests
41
+ runs-on: ubuntu-latest
42
+ steps:
43
+ - name: Checkout branch code
44
+ uses: actions/checkout@v4
45
+ - name: Install Python
46
+ uses: actions/setup-python@v5
47
+ with:
48
+ python-version: '3.12'
49
+ cache: 'pip'
50
+ - name: Install Rust
51
+ uses: actions-rust-lang/setup-rust-toolchain@v1
52
+ with:
53
+ toolchain: stable
54
+ cache: true
55
+ - name: Clear wheel dir
56
+ run: rm target/wheels/* | true
57
+ - name: Maturin build
58
+ uses: PyO3/maturin-action@v1
59
+ with:
60
+ command: build --target-dir=target
61
+ - name: Install wheel
62
+ run: pip install --root-user-action=ignore --find-links=target/wheels tx-engine
63
+ - name: Python tests
64
+ working-directory: python
65
+ run: ./tests.sh