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