tx-engine 0.7.6__tar.gz → 0.9.0__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 (178) hide show
  1. {tx_engine-0.7.6 → tx_engine-0.9.0}/.github/workflows/on_push.yml +6 -2
  2. {tx_engine-0.7.6 → tx_engine-0.9.0}/Cargo.lock +567 -422
  3. {tx_engine-0.7.6 → tx_engine-0.9.0}/Cargo.toml +14 -14
  4. tx_engine-0.9.0/PKG-INFO +83 -0
  5. {tx_engine-0.7.6/docs → tx_engine-0.9.0}/README-chain-gang.md +17 -2
  6. tx_engine-0.9.0/README-pypi.md +62 -0
  7. tx_engine-0.9.0/README.md +57 -0
  8. tx_engine-0.9.0/docs/BIP-32-Python.md +68 -0
  9. tx_engine-0.9.0/docs/BIP-32.md +102 -0
  10. tx_engine-0.9.0/docs/Chronicle-Python.md +183 -0
  11. tx_engine-0.9.0/docs/Chronicle.md +162 -0
  12. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/Development.md +6 -1
  13. tx_engine-0.7.6/PKG-INFO → tx_engine-0.9.0/docs/Python-API.md +103 -79
  14. tx_engine-0.9.0/docs/README-chain-gang.md +81 -0
  15. tx_engine-0.9.0/docs/README.md +59 -0
  16. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/Releases.md +2 -0
  17. {tx_engine-0.7.6 → tx_engine-0.9.0}/pyproject.toml +9 -4
  18. tx_engine-0.9.0/python/README.md +45 -0
  19. tx_engine-0.9.0/python/src/tests/test_chronicle_context.py +114 -0
  20. tx_engine-0.9.0/python/src/tests/test_chronicle_opcodes.py +44 -0
  21. tx_engine-0.9.0/python/src/tests/test_chronicle_tx_validate.py +198 -0
  22. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_debug.py +10 -0
  23. tx_engine-0.9.0/python/src/tests/test_hd_wallet.py +51 -0
  24. tx_engine-0.9.0/python/src/tests/test_sighash.py +78 -0
  25. tx_engine-0.9.0/python/src/tests/test_verify_script.py +66 -0
  26. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_woc.py +0 -1
  27. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/__init__.py +2 -2
  28. tx_engine-0.9.0/python/src/tx_engine/engine/context.py +154 -0
  29. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/engine/op_code_names.py +6 -1
  30. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/engine/op_codes.py +5 -0
  31. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/engine/util.py +17 -5
  32. tx_engine-0.9.0/python/src/tx_engine/interface/verify_script.py +150 -0
  33. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/interface/woc.py +28 -16
  34. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/tx/sighash.py +4 -0
  35. tx_engine-0.9.0/src/chronicle.rs +180 -0
  36. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/lib.rs +1 -0
  37. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/mod.rs +2 -0
  38. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/tx.rs +126 -7
  39. tx_engine-0.9.0/src/messages/tx_chronicle_validate.rs +280 -0
  40. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/python/mod.rs +169 -74
  41. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/python/op_code_names.rs +8 -4
  42. tx_engine-0.9.0/src/python/py_hd_wallet.rs +196 -0
  43. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/python/py_script.rs +0 -2
  44. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/python/py_stack.rs +0 -3
  45. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/python/py_tx.rs +79 -31
  46. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/python/py_wallet.rs +20 -31
  47. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/script/checker.rs +211 -15
  48. tx_engine-0.9.0/src/script/format.rs +311 -0
  49. tx_engine-0.9.0/src/script/interpreter/eval.rs +849 -0
  50. tx_engine-0.9.0/src/script/interpreter/mod.rs +125 -0
  51. tx_engine-0.9.0/src/script/interpreter/multisig.rs +106 -0
  52. tx_engine-0.9.0/src/script/interpreter/push.rs +172 -0
  53. tx_engine-0.9.0/src/script/interpreter/rules.rs +90 -0
  54. tx_engine-0.9.0/src/script/interpreter/script_code.rs +67 -0
  55. tx_engine-0.9.0/src/script/interpreter/tests.rs +1056 -0
  56. tx_engine-0.9.0/src/script/mod.rs +234 -0
  57. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/script/op_codes.rs +15 -15
  58. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/script/stack.rs +142 -16
  59. tx_engine-0.9.0/src/transaction/mod.rs +198 -0
  60. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/transaction/sighash.rs +122 -11
  61. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/extended_key.rs +136 -33
  62. tx_engine-0.9.0/src/wallet/hd_wallet.rs +217 -0
  63. tx_engine-0.9.0/src/wallet/hd_watch_wallet.rs +191 -0
  64. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/mnemonic.rs +57 -2
  65. tx_engine-0.9.0/src/wallet/mod.rs +30 -0
  66. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wallet.rs +18 -0
  67. tx_engine-0.7.6/README.md +0 -336
  68. tx_engine-0.7.6/python/src/tests/test_sighash.py +0 -58
  69. tx_engine-0.7.6/python/src/tx_engine/engine/context.py +0 -91
  70. tx_engine-0.7.6/python/src/tx_engine/interface/verify_script.py +0 -131
  71. tx_engine-0.7.6/src/script/interpreter.rs +0 -1659
  72. tx_engine-0.7.6/src/script/mod.rs +0 -554
  73. tx_engine-0.7.6/src/transaction/mod.rs +0 -57
  74. tx_engine-0.7.6/src/wallet/mod.rs +0 -19
  75. {tx_engine-0.7.6 → tx_engine-0.9.0}/.github/workflows/CI.yml +0 -0
  76. {tx_engine-0.7.6 → tx_engine-0.9.0}/.gitignore +0 -0
  77. {tx_engine-0.7.6 → tx_engine-0.9.0}/LICENSE +0 -0
  78. {tx_engine-0.7.6 → tx_engine-0.9.0}/LICENSE-rust-sv +0 -0
  79. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/Requirements +0 -0
  80. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/diagrams/keys.png +0 -0
  81. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/diagrams/keys.puml +0 -0
  82. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/diagrams/overview.png +0 -0
  83. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/diagrams/overview.puml +0 -0
  84. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/diagrams/python_classes.png +0 -0
  85. {tx_engine-0.7.6 → tx_engine-0.9.0}/docs/diagrams/python_classes.puml +0 -0
  86. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/lint.sh +0 -0
  87. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/requirements.txt +0 -0
  88. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/README.md +0 -0
  89. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_bit_twiddling.py +0 -0
  90. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_bsv.py +0 -0
  91. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_ec.py +0 -0
  92. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_fed.py +0 -0
  93. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_if.py +0 -0
  94. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_interface.py +0 -0
  95. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_op.py +0 -0
  96. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_parse.py +0 -0
  97. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_script.py +0 -0
  98. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_sign.py +0 -0
  99. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_tx.py +0 -0
  100. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tests/test_wallet.py +0 -0
  101. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/engine/__init__.py +0 -0
  102. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/engine/cryptography_utils.py +0 -0
  103. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/engine/engine_types.py +0 -0
  104. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/interface/__init__.py +0 -0
  105. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/interface/blockchain_interface.py +0 -0
  106. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/interface/interface_factory.py +0 -0
  107. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/interface/mock_interface.py +0 -0
  108. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/interface/rpc_interface.py +0 -0
  109. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/interface/woc_interface.py +0 -0
  110. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/src/tx_engine/tx/__init__.py +0 -0
  111. {tx_engine-0.7.6 → tx_engine-0.9.0}/python/tests.sh +0 -0
  112. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/address/mod.rs +0 -0
  113. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/interface/blockchain_interface.rs +0 -0
  114. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/interface/mod.rs +0 -0
  115. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/interface/test_interface.rs +0 -0
  116. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/interface/uaas_interface.rs +0 -0
  117. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/interface/woc_interface.rs +0 -0
  118. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/addr.rs +0 -0
  119. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/authch.rs +0 -0
  120. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/block.rs +0 -0
  121. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/block_header.rs +0 -0
  122. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/block_locator.rs +0 -0
  123. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/blocktxn.rs +0 -0
  124. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/cmpctblock.rs +0 -0
  125. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/createstrm.rs +0 -0
  126. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/fee_filter.rs +0 -0
  127. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/filter_add.rs +0 -0
  128. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/filter_load.rs +0 -0
  129. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/getblocktxn.rs +0 -0
  130. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/headers.rs +0 -0
  131. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/inv.rs +0 -0
  132. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/inv_vect.rs +0 -0
  133. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/merkle_block.rs +0 -0
  134. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/message.rs +0 -0
  135. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/message_header.rs +0 -0
  136. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/node_addr.rs +0 -0
  137. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/node_addr_ex.rs +0 -0
  138. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/out_point.rs +0 -0
  139. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/ping.rs +0 -0
  140. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/protoconf.rs +0 -0
  141. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/reject.rs +0 -0
  142. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/send_cmpct.rs +0 -0
  143. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/streamack.rs +0 -0
  144. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/tx_in.rs +0 -0
  145. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/tx_out.rs +0 -0
  146. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/messages/version.rs +0 -0
  147. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/network/mod.rs +0 -0
  148. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/network/network.rs +0 -0
  149. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/network/seed_iter.rs +0 -0
  150. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/peer/atomic_reader.rs +0 -0
  151. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/peer/mod.rs +0 -0
  152. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/peer/peer.rs +0 -0
  153. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/transaction/p2pkh.rs +0 -0
  154. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/bits.rs +0 -0
  155. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/bloom_filter.rs +0 -0
  156. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/errors.rs +0 -0
  157. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/future.rs +0 -0
  158. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/hash160.rs +0 -0
  159. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/hash256.rs +0 -0
  160. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/latch.rs +0 -0
  161. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/mod.rs +0 -0
  162. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/rx.rs +0 -0
  163. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/serdes.rs +0 -0
  164. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/sha1.rs +0 -0
  165. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/sha256.rs +0 -0
  166. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/util/var_int.rs +0 -0
  167. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/base58_checksum.rs +0 -0
  168. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wordlists/chinese_simplified.txt +0 -0
  169. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wordlists/chinese_traditional.txt +0 -0
  170. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wordlists/english.txt +0 -0
  171. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wordlists/french.txt +0 -0
  172. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wordlists/italian.txt +0 -0
  173. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wordlists/japanese.txt +0 -0
  174. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wordlists/korean.txt +0 -0
  175. {tx_engine-0.7.6 → tx_engine-0.9.0}/src/wallet/wordlists/spanish.txt +0 -0
  176. {tx_engine-0.7.6 → tx_engine-0.9.0}/tools/README.md +0 -0
  177. {tx_engine-0.7.6 → tx_engine-0.9.0}/tools/dbg.py +0 -0
  178. {tx_engine-0.7.6 → tx_engine-0.9.0}/tools/generate_key.py +0 -0
@@ -39,15 +39,19 @@ jobs:
39
39
  run: cargo test --all-features
40
40
 
41
41
  python-test:
42
- name: Python Tests
42
+ name: Python Tests (${{ matrix.python-version }})
43
43
  runs-on: ubuntu-latest
44
+ strategy:
45
+ fail-fast: false
46
+ matrix:
47
+ python-version: ['3.11', '3.12', '3.13', '3.14']
44
48
  steps:
45
49
  - name: Checkout branch code
46
50
  uses: actions/checkout@v4
47
51
  - name: Install Python
48
52
  uses: actions/setup-python@v5
49
53
  with:
50
- python-version: '3.12'
54
+ python-version: ${{ matrix.python-version }}
51
55
  cache: 'pip'
52
56
  - name: Install Rust
53
57
  uses: actions-rust-lang/setup-rust-toolchain@v1