@aeternity/aepp-sdk 14.0.0 → 14.1.1

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 (206) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +11 -19
  3. package/dist/aepp-sdk.browser-script.cjs +1 -1
  4. package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +2 -0
  5. package/dist/aepp-sdk.browser-script.cjs.map +1 -1
  6. package/dist/aepp-sdk.browser.cjs +1 -1
  7. package/dist/aepp-sdk.browser.cjs.map +1 -1
  8. package/dist/aepp-sdk.cjs +10846 -4277
  9. package/dist/aepp-sdk.cjs.map +1 -1
  10. package/es/AeSdkBase.d.ts +10 -1
  11. package/es/AeSdkBase.js +12 -2
  12. package/es/AeSdkBase.js.map +1 -1
  13. package/es/AeSdkMethods.d.ts +1 -1
  14. package/es/AeSdkMethods.js.map +1 -1
  15. package/es/AeSdkWallet.js +1 -1
  16. package/es/AeSdkWallet.js.map +1 -1
  17. package/es/Middleware.d.ts +5 -1
  18. package/es/Middleware.js +7 -2
  19. package/es/Middleware.js.map +1 -1
  20. package/es/MiddlewareSubscriber.d.ts +3 -0
  21. package/es/MiddlewareSubscriber.js +4 -0
  22. package/es/MiddlewareSubscriber.js.map +1 -1
  23. package/es/Node.d.ts +6 -1
  24. package/es/Node.js +28 -4
  25. package/es/Node.js.map +1 -1
  26. package/es/account/Base.d.ts +12 -0
  27. package/es/account/Base.js +1 -0
  28. package/es/account/Base.js.map +1 -1
  29. package/es/account/BaseFactory.d.ts +1 -0
  30. package/es/account/BaseFactory.js +1 -0
  31. package/es/account/BaseFactory.js.map +1 -1
  32. package/es/account/Generalized.d.ts +5 -0
  33. package/es/account/Generalized.js +9 -0
  34. package/es/account/Generalized.js.map +1 -1
  35. package/es/account/Ledger.d.ts +5 -0
  36. package/es/account/Ledger.js +9 -0
  37. package/es/account/Ledger.js.map +1 -1
  38. package/es/account/LedgerFactory.d.ts +2 -0
  39. package/es/account/LedgerFactory.js +10 -4
  40. package/es/account/LedgerFactory.js.map +1 -1
  41. package/es/account/Memory.d.ts +5 -0
  42. package/es/account/Memory.js +14 -5
  43. package/es/account/Memory.js.map +1 -1
  44. package/es/account/Metamask.d.ts +8 -0
  45. package/es/account/Metamask.js +13 -0
  46. package/es/account/Metamask.js.map +1 -1
  47. package/es/account/MetamaskFactory.d.ts +20 -2
  48. package/es/account/MetamaskFactory.js +93 -39
  49. package/es/account/MetamaskFactory.js.map +1 -1
  50. package/es/account/MnemonicFactory.d.ts +12 -2
  51. package/es/account/MnemonicFactory.js +48 -24
  52. package/es/account/MnemonicFactory.js.map +1 -1
  53. package/es/account/Rpc.d.ts +5 -0
  54. package/es/account/Rpc.js +8 -0
  55. package/es/account/Rpc.js.map +1 -1
  56. package/es/aens.d.ts +35 -7
  57. package/es/aens.js +62 -20
  58. package/es/aens.js.map +1 -1
  59. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -1
  60. package/es/aepp-wallet-communication/connection/BrowserRuntime.js.map +1 -1
  61. package/es/apis/middleware/middleware.d.ts +99 -9
  62. package/es/apis/middleware/middleware.js +560 -91
  63. package/es/apis/middleware/middleware.js.map +1 -1
  64. package/es/apis/middleware/models/index.d.ts +1267 -1582
  65. package/es/apis/middleware/models/index.js +1 -1363
  66. package/es/apis/middleware/models/index.js.map +1 -1
  67. package/es/apis/middleware/models/mappers.d.ts +126 -56
  68. package/es/apis/middleware/models/mappers.js +6250 -2989
  69. package/es/apis/middleware/models/mappers.js.map +1 -1
  70. package/es/apis/middleware/models/parameters.d.ts +54 -33
  71. package/es/apis/middleware/models/parameters.js +389 -134
  72. package/es/apis/middleware/models/parameters.js.map +1 -1
  73. package/es/apis/node/models/index.d.ts +60 -15
  74. package/es/apis/node/models/index.js.map +1 -1
  75. package/es/apis/node/models/mappers.d.ts +3 -0
  76. package/es/apis/node/models/mappers.js +130 -2
  77. package/es/apis/node/models/mappers.js.map +1 -1
  78. package/es/apis/node/node.d.ts +13 -1
  79. package/es/apis/node/node.js +54 -0
  80. package/es/apis/node/node.js.map +1 -1
  81. package/es/chain.d.ts +19 -6
  82. package/es/chain.js +30 -24
  83. package/es/chain.js.map +1 -1
  84. package/es/channel/Contract.d.ts +6 -3
  85. package/es/channel/Contract.js +5 -2
  86. package/es/channel/Contract.js.map +1 -1
  87. package/es/channel/Spend.d.ts +1 -1
  88. package/es/channel/Spend.js.map +1 -1
  89. package/es/channel/handlers.js +1 -2
  90. package/es/channel/handlers.js.map +1 -1
  91. package/es/channel/internal.d.ts +1 -1
  92. package/es/channel/internal.js +2 -2
  93. package/es/channel/internal.js.map +1 -1
  94. package/es/contract/Contract.d.ts +13 -2
  95. package/es/contract/Contract.js +22 -12
  96. package/es/contract/Contract.js.map +1 -1
  97. package/es/contract/compiler/Base.d.ts +1 -0
  98. package/es/contract/compiler/Base.js +1 -0
  99. package/es/contract/compiler/Base.js.map +1 -1
  100. package/es/contract/compiler/Cli.d.ts +2 -1
  101. package/es/contract/compiler/Cli.js +17 -11
  102. package/es/contract/compiler/Cli.js.map +1 -1
  103. package/es/contract/compiler/Http.d.ts +2 -1
  104. package/es/contract/compiler/Http.js +3 -2
  105. package/es/contract/compiler/Http.js.map +1 -1
  106. package/es/contract/compiler/getFileSystem.d.ts +1 -0
  107. package/es/contract/compiler/getFileSystem.js +1 -0
  108. package/es/contract/compiler/getFileSystem.js.map +1 -1
  109. package/es/contract/ga.d.ts +3 -3
  110. package/es/contract/ga.js +3 -3
  111. package/es/contract/ga.js.map +1 -1
  112. package/es/index-browser.d.ts +32 -2
  113. package/es/index-browser.js +32 -2
  114. package/es/index-browser.js.map +1 -1
  115. package/es/oracle/Oracle.d.ts +10 -1
  116. package/es/oracle/Oracle.js +16 -6
  117. package/es/oracle/Oracle.js.map +1 -1
  118. package/es/oracle/OracleBase.d.ts +15 -2
  119. package/es/oracle/OracleBase.js +23 -1
  120. package/es/oracle/OracleBase.js.map +1 -1
  121. package/es/oracle/OracleClient.d.ts +3 -0
  122. package/es/oracle/OracleClient.js +6 -1
  123. package/es/oracle/OracleClient.js.map +1 -1
  124. package/es/spend.js +1 -1
  125. package/es/spend.js.map +1 -1
  126. package/es/tx/builder/common.js +6 -3
  127. package/es/tx/builder/common.js.map +1 -1
  128. package/es/tx/builder/constants.d.ts +53 -3
  129. package/es/tx/builder/constants.js +62 -12
  130. package/es/tx/builder/constants.js.map +1 -1
  131. package/es/tx/builder/delegation/schema.js +15 -0
  132. package/es/tx/builder/delegation/schema.js.map +1 -1
  133. package/es/tx/builder/entry/constants.d.ts +4 -1
  134. package/es/tx/builder/entry/constants.js +10 -1
  135. package/es/tx/builder/entry/constants.js.map +1 -1
  136. package/es/tx/builder/entry/index.js +1 -2
  137. package/es/tx/builder/entry/index.js.map +1 -1
  138. package/es/tx/builder/field-types/ct-version.js +1 -2
  139. package/es/tx/builder/field-types/ct-version.js.map +1 -1
  140. package/es/tx/builder/field-types/fee.d.ts +1 -1
  141. package/es/tx/builder/field-types/fee.js +4 -4
  142. package/es/tx/builder/field-types/fee.js.map +1 -1
  143. package/es/tx/builder/field-types/gas-price.d.ts +3 -0
  144. package/es/tx/builder/field-types/gas-price.js +1 -1
  145. package/es/tx/builder/field-types/gas-price.js.map +1 -1
  146. package/es/tx/builder/field-types/name-fee.js +1 -1
  147. package/es/tx/builder/field-types/name-fee.js.map +1 -1
  148. package/es/tx/builder/field-types/name-id.js +2 -2
  149. package/es/tx/builder/field-types/name-id.js.map +1 -1
  150. package/es/tx/builder/field-types/nonce.d.ts +1 -1
  151. package/es/tx/builder/field-types/nonce.js.map +1 -1
  152. package/es/tx/builder/field-types/pointers.js +3 -3
  153. package/es/tx/builder/field-types/pointers.js.map +1 -1
  154. package/es/tx/builder/field-types/ttl.d.ts +1 -2
  155. package/es/tx/builder/field-types/ttl.js +7 -5
  156. package/es/tx/builder/field-types/ttl.js.map +1 -1
  157. package/es/tx/builder/helpers.d.ts +18 -12
  158. package/es/tx/builder/helpers.js +25 -17
  159. package/es/tx/builder/helpers.js.map +1 -1
  160. package/es/tx/builder/schema.d.ts +50 -70
  161. package/es/tx/builder/schema.generated.d.ts +12 -12
  162. package/es/tx/builder/schema.generated.js.map +1 -1
  163. package/es/tx/builder/schema.js +5 -3
  164. package/es/tx/builder/schema.js.map +1 -1
  165. package/es/tx/execution-cost.d.ts +3 -0
  166. package/es/tx/execution-cost.js +7 -4
  167. package/es/tx/execution-cost.js.map +1 -1
  168. package/es/tx/transaction-signer.d.ts +1 -0
  169. package/es/tx/transaction-signer.js +1 -0
  170. package/es/tx/transaction-signer.js.map +1 -1
  171. package/es/tx/validator.js +4 -3
  172. package/es/tx/validator.js.map +1 -1
  173. package/es/utils/MiddlewarePage.d.ts +4 -3
  174. package/es/utils/MiddlewarePage.js.map +1 -1
  175. package/es/utils/amount-formatter.d.ts +15 -1
  176. package/es/utils/amount-formatter.js +17 -1
  177. package/es/utils/amount-formatter.js.map +1 -1
  178. package/es/utils/autorest.d.ts +1 -1
  179. package/es/utils/autorest.js +10 -4
  180. package/es/utils/autorest.js.map +1 -1
  181. package/es/utils/bignumber.d.ts +1 -1
  182. package/es/utils/bignumber.js +1 -1
  183. package/es/utils/bignumber.js.map +1 -1
  184. package/es/utils/bytes.d.ts +3 -1
  185. package/es/utils/bytes.js +3 -1
  186. package/es/utils/bytes.js.map +1 -1
  187. package/es/utils/crypto.d.ts +48 -15
  188. package/es/utils/crypto.js +80 -29
  189. package/es/utils/crypto.js.map +1 -1
  190. package/es/utils/encoder-types.d.ts +1 -1
  191. package/es/utils/encoder-types.js +1 -1
  192. package/es/utils/encoder-types.js.map +1 -1
  193. package/es/utils/encoder.d.ts +2 -0
  194. package/es/utils/encoder.js +2 -0
  195. package/es/utils/encoder.js.map +1 -1
  196. package/es/utils/errors.d.ts +2 -2
  197. package/es/utils/errors.js +2 -2
  198. package/es/utils/errors.js.map +1 -1
  199. package/es/utils/json-big.js +1 -1
  200. package/es/utils/json-big.js.map +1 -1
  201. package/es/utils/jwt.js +3 -3
  202. package/es/utils/jwt.js.map +1 -1
  203. package/es/utils/typed-data.d.ts +5 -0
  204. package/es/utils/typed-data.js +6 -0
  205. package/es/utils/typed-data.js.map +1 -1
  206. package/package.json +51 -52
@@ -1 +1 @@
1
- {"version":3,"file":"schema.generated.js","names":[],"sources":["../../../src/tx/builder/schema.generated.ts"],"sourcesContent":["/* eslint-disable */\n// This file generated by `npm run build:generate`, don't edit manually.\n\nimport { TxParams as TxParamsComplex, TxParamsAsync as TxParamsAsyncComplex, TxUnpacked as TxUnpackedComplex } from \"./schema.js\";\nimport { Tag } from \"./constants.js\";\n/**\n * @category transaction builder\n */\ntype TxParamsSignedTx1Type = Omit<TxParamsComplex & {\n tag: Tag.SignedTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsSignedTx1 extends TxParamsSignedTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncSignedTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.SignedTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncSignedTx1 extends TxParamsAsyncSignedTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedSignedTx1Type = TxUnpackedComplex & {\n tag: Tag.SignedTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedSignedTx1 extends TxUnpackedSignedTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsSpendTx1Type = Omit<TxParamsComplex & {\n tag: Tag.SpendTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsSpendTx1 extends TxParamsSpendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncSpendTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.SpendTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncSpendTx1 extends TxParamsAsyncSpendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedSpendTx1Type = TxUnpackedComplex & {\n tag: Tag.SpendTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedSpendTx1 extends TxUnpackedSpendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNamePreclaimTx1Type = Omit<TxParamsComplex & {\n tag: Tag.NamePreclaimTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNamePreclaimTx1 extends TxParamsNamePreclaimTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNamePreclaimTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NamePreclaimTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNamePreclaimTx1 extends TxParamsAsyncNamePreclaimTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNamePreclaimTx1Type = TxUnpackedComplex & {\n tag: Tag.NamePreclaimTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNamePreclaimTx1 extends TxUnpackedNamePreclaimTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameClaimTx2Type = Omit<TxParamsComplex & {\n tag: Tag.NameClaimTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameClaimTx2 extends TxParamsNameClaimTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameClaimTx2Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NameClaimTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameClaimTx2 extends TxParamsAsyncNameClaimTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameClaimTx2Type = TxUnpackedComplex & {\n tag: Tag.NameClaimTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameClaimTx2 extends TxUnpackedNameClaimTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameUpdateTx1Type = Omit<TxParamsComplex & {\n tag: Tag.NameUpdateTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameUpdateTx1 extends TxParamsNameUpdateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameUpdateTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NameUpdateTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameUpdateTx1 extends TxParamsAsyncNameUpdateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameUpdateTx1Type = TxUnpackedComplex & {\n tag: Tag.NameUpdateTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameUpdateTx1 extends TxUnpackedNameUpdateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameUpdateTx2Type = TxParamsComplex & {\n tag: Tag.NameUpdateTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameUpdateTx2 extends TxParamsNameUpdateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameUpdateTx2Type = TxParamsAsyncComplex & {\n tag: Tag.NameUpdateTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameUpdateTx2 extends TxParamsAsyncNameUpdateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameUpdateTx2Type = TxUnpackedComplex & {\n tag: Tag.NameUpdateTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameUpdateTx2 extends TxUnpackedNameUpdateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameTransferTx1Type = Omit<TxParamsComplex & {\n tag: Tag.NameTransferTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameTransferTx1 extends TxParamsNameTransferTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameTransferTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NameTransferTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameTransferTx1 extends TxParamsAsyncNameTransferTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameTransferTx1Type = TxUnpackedComplex & {\n tag: Tag.NameTransferTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameTransferTx1 extends TxUnpackedNameTransferTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameRevokeTx1Type = Omit<TxParamsComplex & {\n tag: Tag.NameRevokeTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameRevokeTx1 extends TxParamsNameRevokeTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameRevokeTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NameRevokeTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameRevokeTx1 extends TxParamsAsyncNameRevokeTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameRevokeTx1Type = TxUnpackedComplex & {\n tag: Tag.NameRevokeTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameRevokeTx1 extends TxUnpackedNameRevokeTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsContractCreateTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ContractCreateTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsContractCreateTx1 extends TxParamsContractCreateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncContractCreateTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ContractCreateTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncContractCreateTx1 extends TxParamsAsyncContractCreateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedContractCreateTx1Type = TxUnpackedComplex & {\n tag: Tag.ContractCreateTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedContractCreateTx1 extends TxUnpackedContractCreateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsContractCallTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ContractCallTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsContractCallTx1 extends TxParamsContractCallTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncContractCallTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ContractCallTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncContractCallTx1 extends TxParamsAsyncContractCallTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedContractCallTx1Type = TxUnpackedComplex & {\n tag: Tag.ContractCallTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedContractCallTx1 extends TxUnpackedContractCallTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsOracleRegisterTx1Type = Omit<TxParamsComplex & {\n tag: Tag.OracleRegisterTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsOracleRegisterTx1 extends TxParamsOracleRegisterTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncOracleRegisterTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.OracleRegisterTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncOracleRegisterTx1 extends TxParamsAsyncOracleRegisterTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedOracleRegisterTx1Type = TxUnpackedComplex & {\n tag: Tag.OracleRegisterTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedOracleRegisterTx1 extends TxUnpackedOracleRegisterTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsOracleExtendTx1Type = Omit<TxParamsComplex & {\n tag: Tag.OracleExtendTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsOracleExtendTx1 extends TxParamsOracleExtendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncOracleExtendTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.OracleExtendTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncOracleExtendTx1 extends TxParamsAsyncOracleExtendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedOracleExtendTx1Type = TxUnpackedComplex & {\n tag: Tag.OracleExtendTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedOracleExtendTx1 extends TxUnpackedOracleExtendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsOracleQueryTx1Type = Omit<TxParamsComplex & {\n tag: Tag.OracleQueryTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsOracleQueryTx1 extends TxParamsOracleQueryTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncOracleQueryTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.OracleQueryTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncOracleQueryTx1 extends TxParamsAsyncOracleQueryTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedOracleQueryTx1Type = TxUnpackedComplex & {\n tag: Tag.OracleQueryTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedOracleQueryTx1 extends TxUnpackedOracleQueryTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsOracleResponseTx1Type = Omit<TxParamsComplex & {\n tag: Tag.OracleResponseTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsOracleResponseTx1 extends TxParamsOracleResponseTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncOracleResponseTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.OracleResponseTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncOracleResponseTx1 extends TxParamsAsyncOracleResponseTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedOracleResponseTx1Type = TxUnpackedComplex & {\n tag: Tag.OracleResponseTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedOracleResponseTx1 extends TxUnpackedOracleResponseTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelCreateTx2Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelCreateTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelCreateTx2 extends TxParamsChannelCreateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelCreateTx2Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelCreateTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelCreateTx2 extends TxParamsAsyncChannelCreateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelCreateTx2Type = TxUnpackedComplex & {\n tag: Tag.ChannelCreateTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelCreateTx2 extends TxUnpackedChannelCreateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelCloseMutualTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelCloseMutualTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelCloseMutualTx1 extends TxParamsChannelCloseMutualTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelCloseMutualTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelCloseMutualTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelCloseMutualTx1 extends TxParamsAsyncChannelCloseMutualTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelCloseMutualTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelCloseMutualTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelCloseMutualTx1 extends TxUnpackedChannelCloseMutualTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelCloseSoloTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelCloseSoloTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelCloseSoloTx1 extends TxParamsChannelCloseSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelCloseSoloTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelCloseSoloTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelCloseSoloTx1 extends TxParamsAsyncChannelCloseSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelCloseSoloTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelCloseSoloTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelCloseSoloTx1 extends TxUnpackedChannelCloseSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelSlashTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelSlashTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelSlashTx1 extends TxParamsChannelSlashTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelSlashTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelSlashTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelSlashTx1 extends TxParamsAsyncChannelSlashTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelSlashTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelSlashTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelSlashTx1 extends TxUnpackedChannelSlashTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelDepositTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelDepositTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelDepositTx1 extends TxParamsChannelDepositTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelDepositTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelDepositTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelDepositTx1 extends TxParamsAsyncChannelDepositTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelDepositTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelDepositTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelDepositTx1 extends TxUnpackedChannelDepositTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelWithdrawTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelWithdrawTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelWithdrawTx1 extends TxParamsChannelWithdrawTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelWithdrawTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelWithdrawTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelWithdrawTx1 extends TxParamsAsyncChannelWithdrawTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelWithdrawTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelWithdrawTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelWithdrawTx1 extends TxUnpackedChannelWithdrawTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelSettleTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelSettleTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelSettleTx1 extends TxParamsChannelSettleTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelSettleTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelSettleTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelSettleTx1 extends TxParamsAsyncChannelSettleTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelSettleTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelSettleTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelSettleTx1 extends TxUnpackedChannelSettleTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelForceProgressTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelForceProgressTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelForceProgressTx1 extends TxParamsChannelForceProgressTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelForceProgressTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelForceProgressTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelForceProgressTx1 extends TxParamsAsyncChannelForceProgressTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelForceProgressTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelForceProgressTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelForceProgressTx1 extends TxUnpackedChannelForceProgressTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelOffChainTx2Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelOffChainTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelOffChainTx2 extends TxParamsChannelOffChainTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelOffChainTx2Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelOffChainTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelOffChainTx2 extends TxParamsAsyncChannelOffChainTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelOffChainTx2Type = TxUnpackedComplex & {\n tag: Tag.ChannelOffChainTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelOffChainTx2 extends TxUnpackedChannelOffChainTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelSnapshotSoloTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelSnapshotSoloTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelSnapshotSoloTx1 extends TxParamsChannelSnapshotSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelSnapshotSoloTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelSnapshotSoloTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelSnapshotSoloTx1 extends TxParamsAsyncChannelSnapshotSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelSnapshotSoloTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelSnapshotSoloTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelSnapshotSoloTx1 extends TxUnpackedChannelSnapshotSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsGaAttachTx1Type = Omit<TxParamsComplex & {\n tag: Tag.GaAttachTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsGaAttachTx1 extends TxParamsGaAttachTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncGaAttachTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.GaAttachTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncGaAttachTx1 extends TxParamsAsyncGaAttachTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedGaAttachTx1Type = TxUnpackedComplex & {\n tag: Tag.GaAttachTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedGaAttachTx1 extends TxUnpackedGaAttachTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsGaMetaTx2Type = Omit<TxParamsComplex & {\n tag: Tag.GaMetaTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsGaMetaTx2 extends TxParamsGaMetaTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncGaMetaTx2Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.GaMetaTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncGaMetaTx2 extends TxParamsAsyncGaMetaTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedGaMetaTx2Type = TxUnpackedComplex & {\n tag: Tag.GaMetaTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedGaMetaTx2 extends TxUnpackedGaMetaTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsPayingForTx1Type = Omit<TxParamsComplex & {\n tag: Tag.PayingForTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsPayingForTx1 extends TxParamsPayingForTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncPayingForTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.PayingForTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncPayingForTx1 extends TxParamsAsyncPayingForTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedPayingForTx1Type = TxUnpackedComplex & {\n tag: Tag.PayingForTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedPayingForTx1 extends TxUnpackedPayingForTx1Type {\n}\n/**\n * @category transaction builder\n */\nexport type TxParams = TxParamsSignedTx1 | TxParamsSpendTx1 | TxParamsNamePreclaimTx1 | TxParamsNameClaimTx2 | TxParamsNameUpdateTx1 | TxParamsNameUpdateTx2 | TxParamsNameTransferTx1 | TxParamsNameRevokeTx1 | TxParamsContractCreateTx1 | TxParamsContractCallTx1 | TxParamsOracleRegisterTx1 | TxParamsOracleExtendTx1 | TxParamsOracleQueryTx1 | TxParamsOracleResponseTx1 | TxParamsChannelCreateTx2 | TxParamsChannelCloseMutualTx1 | TxParamsChannelCloseSoloTx1 | TxParamsChannelSlashTx1 | TxParamsChannelDepositTx1 | TxParamsChannelWithdrawTx1 | TxParamsChannelSettleTx1 | TxParamsChannelForceProgressTx1 | TxParamsChannelOffChainTx2 | TxParamsChannelSnapshotSoloTx1 | TxParamsGaAttachTx1 | TxParamsGaMetaTx2 | TxParamsPayingForTx1;\n/**\n * @category transaction builder\n */\nexport type TxParamsAsync = TxParamsAsyncSignedTx1 | TxParamsAsyncSpendTx1 | TxParamsAsyncNamePreclaimTx1 | TxParamsAsyncNameClaimTx2 | TxParamsAsyncNameUpdateTx1 | TxParamsAsyncNameUpdateTx2 | TxParamsAsyncNameTransferTx1 | TxParamsAsyncNameRevokeTx1 | TxParamsAsyncContractCreateTx1 | TxParamsAsyncContractCallTx1 | TxParamsAsyncOracleRegisterTx1 | TxParamsAsyncOracleExtendTx1 | TxParamsAsyncOracleQueryTx1 | TxParamsAsyncOracleResponseTx1 | TxParamsAsyncChannelCreateTx2 | TxParamsAsyncChannelCloseMutualTx1 | TxParamsAsyncChannelCloseSoloTx1 | TxParamsAsyncChannelSlashTx1 | TxParamsAsyncChannelDepositTx1 | TxParamsAsyncChannelWithdrawTx1 | TxParamsAsyncChannelSettleTx1 | TxParamsAsyncChannelForceProgressTx1 | TxParamsAsyncChannelOffChainTx2 | TxParamsAsyncChannelSnapshotSoloTx1 | TxParamsAsyncGaAttachTx1 | TxParamsAsyncGaMetaTx2 | TxParamsAsyncPayingForTx1;\n/**\n * @category transaction builder\n */\nexport type TxUnpacked = TxUnpackedSignedTx1 | TxUnpackedSpendTx1 | TxUnpackedNamePreclaimTx1 | TxUnpackedNameClaimTx2 | TxUnpackedNameUpdateTx1 | TxUnpackedNameUpdateTx2 | TxUnpackedNameTransferTx1 | TxUnpackedNameRevokeTx1 | TxUnpackedContractCreateTx1 | TxUnpackedContractCallTx1 | TxUnpackedOracleRegisterTx1 | TxUnpackedOracleExtendTx1 | TxUnpackedOracleQueryTx1 | TxUnpackedOracleResponseTx1 | TxUnpackedChannelCreateTx2 | TxUnpackedChannelCloseMutualTx1 | TxUnpackedChannelCloseSoloTx1 | TxUnpackedChannelSlashTx1 | TxUnpackedChannelDepositTx1 | TxUnpackedChannelWithdrawTx1 | TxUnpackedChannelSettleTx1 | TxUnpackedChannelForceProgressTx1 | TxUnpackedChannelOffChainTx2 | TxUnpackedChannelSnapshotSoloTx1 | TxUnpackedGaAttachTx1 | TxUnpackedGaMetaTx2 | TxUnpackedPayingForTx1;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"schema.generated.js","names":[],"sources":["../../../src/tx/builder/schema.generated.ts"],"sourcesContent":["/* eslint-disable */\n// This file generated by `npm run build:generate`, don't edit manually.\n\nimport { TxParams as TxParamsComplex, TxParamsAsync as TxParamsAsyncComplex, TxUnpacked as TxUnpackedComplex } from \"./schema.js\";\nimport { Tag } from \"./constants.js\";\n/**\n * @category transaction builder\n */\ntype TxParamsSignedTx1Type = Omit<TxParamsComplex & {\n tag: Tag.SignedTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsSignedTx1 extends TxParamsSignedTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncSignedTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.SignedTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncSignedTx1 extends TxParamsAsyncSignedTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedSignedTx1Type = TxUnpackedComplex & {\n tag: Tag.SignedTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedSignedTx1 extends TxUnpackedSignedTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsSpendTx1Type = Omit<TxParamsComplex & {\n tag: Tag.SpendTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsSpendTx1 extends TxParamsSpendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncSpendTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.SpendTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncSpendTx1 extends TxParamsAsyncSpendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedSpendTx1Type = TxUnpackedComplex & {\n tag: Tag.SpendTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedSpendTx1 extends TxUnpackedSpendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNamePreclaimTx1Type = Omit<TxParamsComplex & {\n tag: Tag.NamePreclaimTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNamePreclaimTx1 extends TxParamsNamePreclaimTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNamePreclaimTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NamePreclaimTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNamePreclaimTx1 extends TxParamsAsyncNamePreclaimTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNamePreclaimTx1Type = TxUnpackedComplex & {\n tag: Tag.NamePreclaimTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNamePreclaimTx1 extends TxUnpackedNamePreclaimTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameClaimTx2Type = Omit<TxParamsComplex & {\n tag: Tag.NameClaimTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameClaimTx2 extends TxParamsNameClaimTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameClaimTx2Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NameClaimTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameClaimTx2 extends TxParamsAsyncNameClaimTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameClaimTx2Type = TxUnpackedComplex & {\n tag: Tag.NameClaimTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameClaimTx2 extends TxUnpackedNameClaimTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameUpdateTx1Type = Omit<TxParamsComplex & {\n tag: Tag.NameUpdateTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameUpdateTx1 extends TxParamsNameUpdateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameUpdateTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NameUpdateTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameUpdateTx1 extends TxParamsAsyncNameUpdateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameUpdateTx1Type = TxUnpackedComplex & {\n tag: Tag.NameUpdateTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameUpdateTx1 extends TxUnpackedNameUpdateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameUpdateTx2Type = TxParamsComplex & {\n tag: Tag.NameUpdateTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameUpdateTx2 extends TxParamsNameUpdateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameUpdateTx2Type = TxParamsAsyncComplex & {\n tag: Tag.NameUpdateTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameUpdateTx2 extends TxParamsAsyncNameUpdateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameUpdateTx2Type = TxUnpackedComplex & {\n tag: Tag.NameUpdateTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameUpdateTx2 extends TxUnpackedNameUpdateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameTransferTx1Type = Omit<TxParamsComplex & {\n tag: Tag.NameTransferTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameTransferTx1 extends TxParamsNameTransferTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameTransferTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NameTransferTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameTransferTx1 extends TxParamsAsyncNameTransferTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameTransferTx1Type = TxUnpackedComplex & {\n tag: Tag.NameTransferTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameTransferTx1 extends TxUnpackedNameTransferTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsNameRevokeTx1Type = Omit<TxParamsComplex & {\n tag: Tag.NameRevokeTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsNameRevokeTx1 extends TxParamsNameRevokeTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncNameRevokeTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.NameRevokeTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncNameRevokeTx1 extends TxParamsAsyncNameRevokeTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedNameRevokeTx1Type = TxUnpackedComplex & {\n tag: Tag.NameRevokeTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedNameRevokeTx1 extends TxUnpackedNameRevokeTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsContractCreateTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ContractCreateTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsContractCreateTx1 extends TxParamsContractCreateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncContractCreateTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ContractCreateTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncContractCreateTx1 extends TxParamsAsyncContractCreateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedContractCreateTx1Type = TxUnpackedComplex & {\n tag: Tag.ContractCreateTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedContractCreateTx1 extends TxUnpackedContractCreateTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsContractCallTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ContractCallTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsContractCallTx1 extends TxParamsContractCallTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncContractCallTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ContractCallTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncContractCallTx1 extends TxParamsAsyncContractCallTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedContractCallTx1Type = TxUnpackedComplex & {\n tag: Tag.ContractCallTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedContractCallTx1 extends TxUnpackedContractCallTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsOracleRegisterTx1Type = Omit<TxParamsComplex & {\n tag: Tag.OracleRegisterTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsOracleRegisterTx1 extends TxParamsOracleRegisterTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncOracleRegisterTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.OracleRegisterTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncOracleRegisterTx1 extends TxParamsAsyncOracleRegisterTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedOracleRegisterTx1Type = TxUnpackedComplex & {\n tag: Tag.OracleRegisterTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedOracleRegisterTx1 extends TxUnpackedOracleRegisterTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsOracleExtendTx1Type = Omit<TxParamsComplex & {\n tag: Tag.OracleExtendTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsOracleExtendTx1 extends TxParamsOracleExtendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncOracleExtendTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.OracleExtendTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncOracleExtendTx1 extends TxParamsAsyncOracleExtendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedOracleExtendTx1Type = TxUnpackedComplex & {\n tag: Tag.OracleExtendTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedOracleExtendTx1 extends TxUnpackedOracleExtendTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsOracleQueryTx1Type = Omit<TxParamsComplex & {\n tag: Tag.OracleQueryTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsOracleQueryTx1 extends TxParamsOracleQueryTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncOracleQueryTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.OracleQueryTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncOracleQueryTx1 extends TxParamsAsyncOracleQueryTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedOracleQueryTx1Type = TxUnpackedComplex & {\n tag: Tag.OracleQueryTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedOracleQueryTx1 extends TxUnpackedOracleQueryTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsOracleRespondTx1Type = Omit<TxParamsComplex & {\n tag: Tag.OracleRespondTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsOracleRespondTx1 extends TxParamsOracleRespondTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncOracleRespondTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.OracleRespondTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncOracleRespondTx1 extends TxParamsAsyncOracleRespondTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedOracleRespondTx1Type = TxUnpackedComplex & {\n tag: Tag.OracleRespondTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedOracleRespondTx1 extends TxUnpackedOracleRespondTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelCreateTx2Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelCreateTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelCreateTx2 extends TxParamsChannelCreateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelCreateTx2Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelCreateTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelCreateTx2 extends TxParamsAsyncChannelCreateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelCreateTx2Type = TxUnpackedComplex & {\n tag: Tag.ChannelCreateTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelCreateTx2 extends TxUnpackedChannelCreateTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelCloseMutualTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelCloseMutualTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelCloseMutualTx1 extends TxParamsChannelCloseMutualTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelCloseMutualTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelCloseMutualTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelCloseMutualTx1 extends TxParamsAsyncChannelCloseMutualTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelCloseMutualTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelCloseMutualTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelCloseMutualTx1 extends TxUnpackedChannelCloseMutualTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelCloseSoloTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelCloseSoloTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelCloseSoloTx1 extends TxParamsChannelCloseSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelCloseSoloTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelCloseSoloTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelCloseSoloTx1 extends TxParamsAsyncChannelCloseSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelCloseSoloTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelCloseSoloTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelCloseSoloTx1 extends TxUnpackedChannelCloseSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelSlashTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelSlashTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelSlashTx1 extends TxParamsChannelSlashTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelSlashTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelSlashTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelSlashTx1 extends TxParamsAsyncChannelSlashTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelSlashTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelSlashTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelSlashTx1 extends TxUnpackedChannelSlashTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelDepositTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelDepositTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelDepositTx1 extends TxParamsChannelDepositTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelDepositTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelDepositTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelDepositTx1 extends TxParamsAsyncChannelDepositTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelDepositTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelDepositTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelDepositTx1 extends TxUnpackedChannelDepositTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelWithdrawTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelWithdrawTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelWithdrawTx1 extends TxParamsChannelWithdrawTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelWithdrawTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelWithdrawTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelWithdrawTx1 extends TxParamsAsyncChannelWithdrawTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelWithdrawTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelWithdrawTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelWithdrawTx1 extends TxUnpackedChannelWithdrawTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelSettleTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelSettleTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelSettleTx1 extends TxParamsChannelSettleTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelSettleTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelSettleTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelSettleTx1 extends TxParamsAsyncChannelSettleTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelSettleTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelSettleTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelSettleTx1 extends TxUnpackedChannelSettleTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelForceProgressTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelForceProgressTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelForceProgressTx1 extends TxParamsChannelForceProgressTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelForceProgressTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelForceProgressTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelForceProgressTx1 extends TxParamsAsyncChannelForceProgressTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelForceProgressTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelForceProgressTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelForceProgressTx1 extends TxUnpackedChannelForceProgressTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelOffChainTx2Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelOffChainTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelOffChainTx2 extends TxParamsChannelOffChainTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelOffChainTx2Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelOffChainTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelOffChainTx2 extends TxParamsAsyncChannelOffChainTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelOffChainTx2Type = TxUnpackedComplex & {\n tag: Tag.ChannelOffChainTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelOffChainTx2 extends TxUnpackedChannelOffChainTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsChannelSnapshotSoloTx1Type = Omit<TxParamsComplex & {\n tag: Tag.ChannelSnapshotSoloTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsChannelSnapshotSoloTx1 extends TxParamsChannelSnapshotSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncChannelSnapshotSoloTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.ChannelSnapshotSoloTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncChannelSnapshotSoloTx1 extends TxParamsAsyncChannelSnapshotSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedChannelSnapshotSoloTx1Type = TxUnpackedComplex & {\n tag: Tag.ChannelSnapshotSoloTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedChannelSnapshotSoloTx1 extends TxUnpackedChannelSnapshotSoloTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsGaAttachTx1Type = Omit<TxParamsComplex & {\n tag: Tag.GaAttachTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsGaAttachTx1 extends TxParamsGaAttachTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncGaAttachTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.GaAttachTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncGaAttachTx1 extends TxParamsAsyncGaAttachTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedGaAttachTx1Type = TxUnpackedComplex & {\n tag: Tag.GaAttachTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedGaAttachTx1 extends TxUnpackedGaAttachTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsGaMetaTx2Type = Omit<TxParamsComplex & {\n tag: Tag.GaMetaTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsGaMetaTx2 extends TxParamsGaMetaTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncGaMetaTx2Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.GaMetaTx;\n version: 2;\n}, \"version\"> & {\n version?: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncGaMetaTx2 extends TxParamsAsyncGaMetaTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedGaMetaTx2Type = TxUnpackedComplex & {\n tag: Tag.GaMetaTx;\n version: 2;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedGaMetaTx2 extends TxUnpackedGaMetaTx2Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsPayingForTx1Type = Omit<TxParamsComplex & {\n tag: Tag.PayingForTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsPayingForTx1 extends TxParamsPayingForTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxParamsAsyncPayingForTx1Type = Omit<TxParamsAsyncComplex & {\n tag: Tag.PayingForTx;\n version: 1;\n}, \"version\"> & {\n version?: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxParamsAsyncPayingForTx1 extends TxParamsAsyncPayingForTx1Type {\n}\n/**\n * @category transaction builder\n */\ntype TxUnpackedPayingForTx1Type = TxUnpackedComplex & {\n tag: Tag.PayingForTx;\n version: 1;\n};\n/**\n * @category transaction builder\n */\nexport interface TxUnpackedPayingForTx1 extends TxUnpackedPayingForTx1Type {\n}\n/**\n * @category transaction builder\n */\nexport type TxParams = TxParamsSignedTx1 | TxParamsSpendTx1 | TxParamsNamePreclaimTx1 | TxParamsNameClaimTx2 | TxParamsNameUpdateTx1 | TxParamsNameUpdateTx2 | TxParamsNameTransferTx1 | TxParamsNameRevokeTx1 | TxParamsContractCreateTx1 | TxParamsContractCallTx1 | TxParamsOracleRegisterTx1 | TxParamsOracleExtendTx1 | TxParamsOracleQueryTx1 | TxParamsOracleRespondTx1 | TxParamsChannelCreateTx2 | TxParamsChannelCloseMutualTx1 | TxParamsChannelCloseSoloTx1 | TxParamsChannelSlashTx1 | TxParamsChannelDepositTx1 | TxParamsChannelWithdrawTx1 | TxParamsChannelSettleTx1 | TxParamsChannelForceProgressTx1 | TxParamsChannelOffChainTx2 | TxParamsChannelSnapshotSoloTx1 | TxParamsGaAttachTx1 | TxParamsGaMetaTx2 | TxParamsPayingForTx1;\n/**\n * @category transaction builder\n */\nexport type TxParamsAsync = TxParamsAsyncSignedTx1 | TxParamsAsyncSpendTx1 | TxParamsAsyncNamePreclaimTx1 | TxParamsAsyncNameClaimTx2 | TxParamsAsyncNameUpdateTx1 | TxParamsAsyncNameUpdateTx2 | TxParamsAsyncNameTransferTx1 | TxParamsAsyncNameRevokeTx1 | TxParamsAsyncContractCreateTx1 | TxParamsAsyncContractCallTx1 | TxParamsAsyncOracleRegisterTx1 | TxParamsAsyncOracleExtendTx1 | TxParamsAsyncOracleQueryTx1 | TxParamsAsyncOracleRespondTx1 | TxParamsAsyncChannelCreateTx2 | TxParamsAsyncChannelCloseMutualTx1 | TxParamsAsyncChannelCloseSoloTx1 | TxParamsAsyncChannelSlashTx1 | TxParamsAsyncChannelDepositTx1 | TxParamsAsyncChannelWithdrawTx1 | TxParamsAsyncChannelSettleTx1 | TxParamsAsyncChannelForceProgressTx1 | TxParamsAsyncChannelOffChainTx2 | TxParamsAsyncChannelSnapshotSoloTx1 | TxParamsAsyncGaAttachTx1 | TxParamsAsyncGaMetaTx2 | TxParamsAsyncPayingForTx1;\n/**\n * @category transaction builder\n */\nexport type TxUnpacked = TxUnpackedSignedTx1 | TxUnpackedSpendTx1 | TxUnpackedNamePreclaimTx1 | TxUnpackedNameClaimTx2 | TxUnpackedNameUpdateTx1 | TxUnpackedNameUpdateTx2 | TxUnpackedNameTransferTx1 | TxUnpackedNameRevokeTx1 | TxUnpackedContractCreateTx1 | TxUnpackedContractCallTx1 | TxUnpackedOracleRegisterTx1 | TxUnpackedOracleExtendTx1 | TxUnpackedOracleQueryTx1 | TxUnpackedOracleRespondTx1 | TxUnpackedChannelCreateTx2 | TxUnpackedChannelCloseMutualTx1 | TxUnpackedChannelCloseSoloTx1 | TxUnpackedChannelSlashTx1 | TxUnpackedChannelDepositTx1 | TxUnpackedChannelWithdrawTx1 | TxUnpackedChannelSettleTx1 | TxUnpackedChannelForceProgressTx1 | TxUnpackedChannelOffChainTx2 | TxUnpackedChannelSnapshotSoloTx1 | TxUnpackedGaAttachTx1 | TxUnpackedGaMetaTx2 | TxUnpackedPayingForTx1;\n"],"mappings":"","ignoreList":[]}
@@ -34,6 +34,9 @@ import withFormatting from './field-types/with-formatting.js';
34
34
  import { Encoding } from '../../utils/encoder.js';
35
35
  import { ArgumentError } from '../../utils/errors.js';
36
36
  import { EntryTag } from './entry/constants.js';
37
+ /**
38
+ * @category oracle
39
+ */
37
40
  export let ORACLE_TTL_TYPES = /*#__PURE__*/function (ORACLE_TTL_TYPES) {
38
41
  ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["delta"] = 0] = "delta";
39
42
  ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["block"] = 1] = "block";
@@ -51,9 +54,8 @@ const clientTtl = withDefault(60 * 60, shortUInt);
51
54
  * Name ttl represented in number of blocks (Max value is 50000 blocks)
52
55
  */
53
56
  const nameTtl = withFormatting(value => {
54
- var _value;
55
57
  const NAME_TTL = 180000;
56
- (_value = value) !== null && _value !== void 0 ? _value : value = NAME_TTL;
58
+ value !== null && value !== void 0 ? value : value = NAME_TTL;
57
59
  if (value >= 1 && value <= NAME_TTL) return value;
58
60
  throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, value);
59
61
  }, shortUInt);
@@ -206,7 +208,7 @@ export const txSchema = [{
206
208
  fee,
207
209
  ttl
208
210
  }, {
209
- tag: shortUIntConst(Tag.OracleResponseTx),
211
+ tag: shortUIntConst(Tag.OracleRespondTx),
210
212
  version: shortUIntConst(1, true),
211
213
  oracleId: address(Encoding.OracleAddress),
212
214
  nonce: nonce('oracleId'),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":["Tag","abiVersion","address","idTagToEncoding","array","coinAmount","ctVersion","encoded","entry","enumeration","fee","gasLimit","gasPrice","name","nameFee","nameId","nonce","pointers","queryFee","raw","shortUInt","shortUIntConst","string","transaction","ttl","uInt","withDefault","withFormatting","Encoding","ArgumentError","EntryTag","ORACLE_TTL_TYPES","transactionAny","transactionSignedTx","SignedTx","entryTreesPoi","TreesPoi","clientTtl","nameTtl","value","_value","NAME_TTL","txSchema","tag","version","signatures","encodedTx","SpendTx","senderId","AccountAddress","recipientId","ContractAddress","Name","amount","payload","Bytearray","NamePreclaimTx","accountId","commitmentId","Commitment","NameClaimTx","nameSalt","NameUpdateTx","NameTransferTx","NameRevokeTx","ContractCreateTx","ownerId","code","ContractBytearray","deposit","callData","ContractCallTx","callerId","contractId","OracleRegisterTx","queryFormat","responseFormat","oracleTtlType","delta","oracleTtlValue","OracleExtendTx","oracleId","OracleAddress","OracleQueryTx","query","queryTtlType","queryTtlValue","responseTtlType","responseTtlValue","OracleResponseTx","queryId","OracleQueryId","response","ChannelCreateTx","initiator","initiatorAmount","responder","responderAmount","channelReserve","lockPeriod","initiatorDelegateIds","responderDelegateIds","stateHash","State","ChannelCloseMutualTx","channelId","Channel","fromId","initiatorAmountFinal","responderAmountFinal","ChannelCloseSoloTx","Transaction","poi","ChannelSlashTx","ChannelDepositTx","round","ChannelWithdrawTx","toId","ChannelSettleTx","ChannelForceProgressTx","update","offChainTrees","StateTrees","ChannelOffChainTx","ChannelSnapshotSoloTx","GaAttachTx","authFun","GaMetaTx","gaId","authData","tx","PayingForTx","payerId"],"sources":["../../../src/tx/builder/schema.ts"],"sourcesContent":["/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport { Tag } from './constants.js';\nimport SchemaTypes from './SchemaTypes.js';\nimport abiVersion from './field-types/abi-version.js';\nimport address, { idTagToEncoding } from './field-types/address.js';\nimport array from './field-types/array.js';\nimport coinAmount from './field-types/coin-amount.js';\nimport ctVersion from './field-types/ct-version.js';\nimport encoded from './field-types/encoded.js';\nimport entry from './field-types/entry.js';\nimport enumeration from './field-types/enumeration.js';\nimport fee from './field-types/fee.js';\nimport gasLimit from './field-types/gas-limit.js';\nimport gasPrice from './field-types/gas-price.js';\nimport name from './field-types/name.js';\nimport nameFee from './field-types/name-fee.js';\nimport nameId from './field-types/name-id.js';\nimport nonce from './field-types/nonce.js';\nimport pointers from './field-types/pointers.js';\nimport queryFee from './field-types/query-fee.js';\nimport raw from './field-types/raw.js';\nimport shortUInt from './field-types/short-u-int.js';\nimport shortUIntConst from './field-types/short-u-int-const.js';\nimport string from './field-types/string.js';\nimport transaction from './field-types/transaction.js';\nimport ttl from './field-types/ttl.js';\nimport uInt from './field-types/u-int.js';\nimport withDefault from './field-types/with-default.js';\nimport withFormatting from './field-types/with-formatting.js';\nimport { Encoded, Encoding } from '../../utils/encoder.js';\nimport { ArgumentError } from '../../utils/errors.js';\nimport { EntryTag } from './entry/constants.js';\nimport { EntParams, EntUnpacked } from './entry/schema.generated.js';\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\n// TODO: figure out how to omit overriding types of recursive fields\ninterface TransactionAny {\n serialize: (value: TxParams | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked;\n recursiveType: true;\n}\n\nconst transactionAny = transaction() as unknown as TransactionAny;\n\ninterface TransactionSignedTx {\n serialize: (\n value: (TxParams & { tag: Tag.SignedTx }) | Uint8Array | Encoded.Transaction,\n ) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.SignedTx };\n recursiveType: true;\n}\n\nconst transactionSignedTx = transaction(Tag.SignedTx) as unknown as TransactionSignedTx;\n\ninterface EntryTreesPoi {\n serialize: (\n value: (EntParams & { tag: EntryTag.TreesPoi }) | Uint8Array | Encoded.Transaction,\n ) => Buffer;\n deserialize: (value: Buffer) => EntUnpacked & { tag: EntryTag.TreesPoi };\n recursiveType: true;\n}\n\nconst entryTreesPoi = entry(EntryTag.TreesPoi) as unknown as EntryTreesPoi;\n\nconst clientTtl = withDefault(60 * 60, shortUInt);\n// https://github.com/aeternity/protocol/blob/fd17982/AENS.md#update\n/**\n * Name ttl represented in number of blocks (Max value is 50000 blocks)\n */\nconst nameTtl = withFormatting((value) => {\n const NAME_TTL = 180000;\n value ??= NAME_TTL;\n if (value >= 1 && value <= NAME_TTL) return value;\n throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, value);\n}, shortUInt);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const txSchema = [\n {\n tag: shortUIntConst(Tag.SignedTx),\n version: shortUIntConst(1, true),\n signatures: array(raw), // TODO: use sg_ (Encoding.Signature) instead\n encodedTx: transactionAny,\n },\n {\n tag: shortUIntConst(Tag.SpendTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n // TODO: accept also an AENS name\n recipientId: address(Encoding.AccountAddress, Encoding.ContractAddress, Encoding.Name),\n amount: coinAmount,\n fee,\n ttl,\n nonce: nonce('senderId'),\n payload: encoded(Encoding.Bytearray, true),\n },\n {\n tag: shortUIntConst(Tag.NamePreclaimTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n commitmentId: address(Encoding.Commitment),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameClaimTx),\n version: shortUIntConst(2, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n name,\n nameSalt: withDefault(0, uInt),\n nameFee,\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameUpdateTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n nameTtl,\n pointers: pointers(false),\n clientTtl,\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameUpdateTx),\n version: shortUIntConst(2),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n nameTtl,\n pointers: pointers(true),\n clientTtl,\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameTransferTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n // TODO: accept also an AENS name\n recipientId: address(Encoding.AccountAddress, Encoding.Name),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameRevokeTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.ContractCreateTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n ctVersion,\n fee,\n ttl,\n deposit: withFormatting((value = 0) => {\n if (+value === 0) return value;\n throw new ArgumentError('deposit', 'equal 0 (because is not refundable)', value);\n }, coinAmount),\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n },\n {\n tag: shortUIntConst(Tag.ContractCallTx),\n version: shortUIntConst(1, true),\n callerId: address(Encoding.AccountAddress),\n nonce: nonce('callerId'),\n // TODO: accept also an AENS name\n contractId: address(Encoding.ContractAddress, Encoding.Name),\n abiVersion,\n fee,\n ttl,\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n },\n {\n tag: shortUIntConst(Tag.OracleRegisterTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n queryFormat: string,\n responseFormat: string,\n queryFee: coinAmount,\n oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n oracleTtlValue: withDefault(500, shortUInt),\n fee,\n ttl,\n abiVersion,\n },\n {\n tag: shortUIntConst(Tag.OracleExtendTx),\n version: shortUIntConst(1, true),\n // TODO: accept also an AENS name\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n nonce: nonce('oracleId'),\n oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n oracleTtlValue: withDefault(500, shortUInt),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.OracleQueryTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n nonce: nonce('senderId'),\n // TODO: accept also an AENS name\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n query: string,\n queryFee,\n queryTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n queryTtlValue: withDefault(10, shortUInt),\n responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n responseTtlValue: withDefault(10, shortUInt),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.OracleResponseTx),\n version: shortUIntConst(1, true),\n oracleId: address(Encoding.OracleAddress),\n nonce: nonce('oracleId'),\n queryId: encoded(Encoding.OracleQueryId),\n response: string,\n responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n responseTtlValue: withDefault(10, shortUInt),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.ChannelCreateTx),\n version: shortUIntConst(2, true),\n initiator: address(Encoding.AccountAddress),\n initiatorAmount: uInt,\n responder: address(Encoding.AccountAddress),\n responderAmount: uInt,\n channelReserve: uInt,\n lockPeriod: uInt,\n ttl,\n fee,\n initiatorDelegateIds: array(address(...idTagToEncoding)),\n responderDelegateIds: array(address(...idTagToEncoding)),\n stateHash: encoded(Encoding.State),\n nonce: nonce('initiator'),\n },\n {\n tag: shortUIntConst(Tag.ChannelCloseMutualTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelCloseSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelSlashTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelDepositTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelWithdrawTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n toId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelSettleTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelForceProgressTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n round: shortUInt,\n update: encoded(Encoding.ContractBytearray),\n stateHash: encoded(Encoding.State),\n offChainTrees: encoded(Encoding.StateTrees),\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelOffChainTx),\n version: shortUIntConst(2, true),\n channelId: address(Encoding.Channel),\n round: shortUInt,\n stateHash: encoded(Encoding.State),\n },\n {\n tag: shortUIntConst(Tag.ChannelSnapshotSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.GaAttachTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n authFun: raw,\n ctVersion,\n fee,\n ttl,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n },\n {\n tag: shortUIntConst(Tag.GaMetaTx),\n version: shortUIntConst(2, true),\n gaId: address(Encoding.AccountAddress),\n authData: encoded(Encoding.ContractBytearray),\n abiVersion,\n fee,\n gasLimit,\n gasPrice,\n tx: transactionSignedTx,\n },\n {\n tag: shortUIntConst(Tag.PayingForTx),\n version: shortUIntConst(1, true),\n payerId: address(Encoding.AccountAddress),\n nonce: nonce('payerId'),\n fee,\n tx: transactionSignedTx,\n },\n] as const;\n\ntype TxSchema = SchemaTypes<typeof txSchema>;\nexport type TxParams = TxSchema['TxParams'];\nexport type TxParamsAsync = TxSchema['TxParamsAsync'];\nexport type TxUnpacked = TxSchema['TxUnpacked'];\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"schema.js","names":["Tag","abiVersion","address","idTagToEncoding","array","coinAmount","ctVersion","encoded","entry","enumeration","fee","gasLimit","gasPrice","name","nameFee","nameId","nonce","pointers","queryFee","raw","shortUInt","shortUIntConst","string","transaction","ttl","uInt","withDefault","withFormatting","Encoding","ArgumentError","EntryTag","ORACLE_TTL_TYPES","transactionAny","transactionSignedTx","SignedTx","entryTreesPoi","TreesPoi","clientTtl","nameTtl","value","NAME_TTL","txSchema","tag","version","signatures","encodedTx","SpendTx","senderId","AccountAddress","recipientId","ContractAddress","Name","amount","payload","Bytearray","NamePreclaimTx","accountId","commitmentId","Commitment","NameClaimTx","nameSalt","NameUpdateTx","NameTransferTx","NameRevokeTx","ContractCreateTx","ownerId","code","ContractBytearray","deposit","callData","ContractCallTx","callerId","contractId","OracleRegisterTx","queryFormat","responseFormat","oracleTtlType","delta","oracleTtlValue","OracleExtendTx","oracleId","OracleAddress","OracleQueryTx","query","queryTtlType","queryTtlValue","responseTtlType","responseTtlValue","OracleRespondTx","queryId","OracleQueryId","response","ChannelCreateTx","initiator","initiatorAmount","responder","responderAmount","channelReserve","lockPeriod","initiatorDelegateIds","responderDelegateIds","stateHash","State","ChannelCloseMutualTx","channelId","Channel","fromId","initiatorAmountFinal","responderAmountFinal","ChannelCloseSoloTx","Transaction","poi","ChannelSlashTx","ChannelDepositTx","round","ChannelWithdrawTx","toId","ChannelSettleTx","ChannelForceProgressTx","update","offChainTrees","StateTrees","ChannelOffChainTx","ChannelSnapshotSoloTx","GaAttachTx","authFun","GaMetaTx","gaId","authData","tx","PayingForTx","payerId"],"sources":["../../../src/tx/builder/schema.ts"],"sourcesContent":["/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport { Tag } from './constants.js';\nimport SchemaTypes from './SchemaTypes.js';\nimport abiVersion from './field-types/abi-version.js';\nimport address, { idTagToEncoding } from './field-types/address.js';\nimport array from './field-types/array.js';\nimport coinAmount from './field-types/coin-amount.js';\nimport ctVersion from './field-types/ct-version.js';\nimport encoded from './field-types/encoded.js';\nimport entry from './field-types/entry.js';\nimport enumeration from './field-types/enumeration.js';\nimport fee from './field-types/fee.js';\nimport gasLimit from './field-types/gas-limit.js';\nimport gasPrice from './field-types/gas-price.js';\nimport name from './field-types/name.js';\nimport nameFee from './field-types/name-fee.js';\nimport nameId from './field-types/name-id.js';\nimport nonce from './field-types/nonce.js';\nimport pointers from './field-types/pointers.js';\nimport queryFee from './field-types/query-fee.js';\nimport raw from './field-types/raw.js';\nimport shortUInt from './field-types/short-u-int.js';\nimport shortUIntConst from './field-types/short-u-int-const.js';\nimport string from './field-types/string.js';\nimport transaction from './field-types/transaction.js';\nimport ttl from './field-types/ttl.js';\nimport uInt from './field-types/u-int.js';\nimport withDefault from './field-types/with-default.js';\nimport withFormatting from './field-types/with-formatting.js';\nimport { Encoded, Encoding } from '../../utils/encoder.js';\nimport { ArgumentError } from '../../utils/errors.js';\nimport { EntryTag } from './entry/constants.js';\nimport { EntParams, EntUnpacked } from './entry/schema.generated.js';\n\n/**\n * @category oracle\n */\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\n// TODO: figure out how to omit overriding types of recursive fields\ninterface TransactionAny {\n serialize: (value: TxParams | Uint8Array | Encoded.Transaction) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked;\n recursiveType: true;\n}\n\nconst transactionAny = transaction() as unknown as TransactionAny;\n\ninterface TransactionSignedTx {\n serialize: (\n value: (TxParams & { tag: Tag.SignedTx }) | Uint8Array | Encoded.Transaction,\n ) => Buffer;\n deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.SignedTx };\n recursiveType: true;\n}\n\nconst transactionSignedTx = transaction(Tag.SignedTx) as unknown as TransactionSignedTx;\n\ninterface EntryTreesPoi {\n serialize: (\n value: (EntParams & { tag: EntryTag.TreesPoi }) | Uint8Array | Encoded.Transaction,\n ) => Buffer;\n deserialize: (value: Buffer) => EntUnpacked & { tag: EntryTag.TreesPoi };\n recursiveType: true;\n}\n\nconst entryTreesPoi = entry(EntryTag.TreesPoi) as unknown as EntryTreesPoi;\n\nconst clientTtl = withDefault(60 * 60, shortUInt);\n// https://github.com/aeternity/protocol/blob/fd17982/AENS.md#update\n/**\n * Name ttl represented in number of blocks (Max value is 50000 blocks)\n */\nconst nameTtl = withFormatting((value) => {\n const NAME_TTL = 180000;\n value ??= NAME_TTL;\n if (value >= 1 && value <= NAME_TTL) return value;\n throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, value);\n}, shortUInt);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const txSchema = [\n {\n tag: shortUIntConst(Tag.SignedTx),\n version: shortUIntConst(1, true),\n signatures: array(raw), // TODO: use sg_ (Encoding.Signature) instead\n encodedTx: transactionAny,\n },\n {\n tag: shortUIntConst(Tag.SpendTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n // TODO: accept also an AENS name\n recipientId: address(Encoding.AccountAddress, Encoding.ContractAddress, Encoding.Name),\n amount: coinAmount,\n fee,\n ttl,\n nonce: nonce('senderId'),\n payload: encoded(Encoding.Bytearray, true),\n },\n {\n tag: shortUIntConst(Tag.NamePreclaimTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n commitmentId: address(Encoding.Commitment),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameClaimTx),\n version: shortUIntConst(2, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n name,\n nameSalt: withDefault(0, uInt),\n nameFee,\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameUpdateTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n nameTtl,\n pointers: pointers(false),\n clientTtl,\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameUpdateTx),\n version: shortUIntConst(2),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n nameTtl,\n pointers: pointers(true),\n clientTtl,\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameTransferTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n // TODO: accept also an AENS name\n recipientId: address(Encoding.AccountAddress, Encoding.Name),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.NameRevokeTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n nameId,\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.ContractCreateTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n ctVersion,\n fee,\n ttl,\n deposit: withFormatting((value = 0) => {\n if (+value === 0) return value;\n throw new ArgumentError('deposit', 'equal 0 (because is not refundable)', value);\n }, coinAmount),\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n },\n {\n tag: shortUIntConst(Tag.ContractCallTx),\n version: shortUIntConst(1, true),\n callerId: address(Encoding.AccountAddress),\n nonce: nonce('callerId'),\n // TODO: accept also an AENS name\n contractId: address(Encoding.ContractAddress, Encoding.Name),\n abiVersion,\n fee,\n ttl,\n amount: coinAmount,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n },\n {\n tag: shortUIntConst(Tag.OracleRegisterTx),\n version: shortUIntConst(1, true),\n accountId: address(Encoding.AccountAddress),\n nonce: nonce('accountId'),\n queryFormat: string,\n responseFormat: string,\n queryFee: coinAmount,\n oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n oracleTtlValue: withDefault(500, shortUInt),\n fee,\n ttl,\n abiVersion,\n },\n {\n tag: shortUIntConst(Tag.OracleExtendTx),\n version: shortUIntConst(1, true),\n // TODO: accept also an AENS name\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n nonce: nonce('oracleId'),\n oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n oracleTtlValue: withDefault(500, shortUInt),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.OracleQueryTx),\n version: shortUIntConst(1, true),\n senderId: address(Encoding.AccountAddress),\n nonce: nonce('senderId'),\n // TODO: accept also an AENS name\n oracleId: address(Encoding.OracleAddress, Encoding.Name),\n query: string,\n queryFee,\n queryTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n queryTtlValue: withDefault(10, shortUInt),\n responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n responseTtlValue: withDefault(10, shortUInt),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.OracleRespondTx),\n version: shortUIntConst(1, true),\n oracleId: address(Encoding.OracleAddress),\n nonce: nonce('oracleId'),\n queryId: encoded(Encoding.OracleQueryId),\n response: string,\n responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n responseTtlValue: withDefault(10, shortUInt),\n fee,\n ttl,\n },\n {\n tag: shortUIntConst(Tag.ChannelCreateTx),\n version: shortUIntConst(2, true),\n initiator: address(Encoding.AccountAddress),\n initiatorAmount: uInt,\n responder: address(Encoding.AccountAddress),\n responderAmount: uInt,\n channelReserve: uInt,\n lockPeriod: uInt,\n ttl,\n fee,\n initiatorDelegateIds: array(address(...idTagToEncoding)),\n responderDelegateIds: array(address(...idTagToEncoding)),\n stateHash: encoded(Encoding.State),\n nonce: nonce('initiator'),\n },\n {\n tag: shortUIntConst(Tag.ChannelCloseMutualTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelCloseSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelSlashTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n poi: entryTreesPoi,\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelDepositTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelWithdrawTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n toId: address(Encoding.AccountAddress),\n amount: uInt,\n ttl,\n fee,\n stateHash: encoded(Encoding.State),\n round: shortUInt,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelSettleTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n initiatorAmountFinal: uInt,\n responderAmountFinal: uInt,\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelForceProgressTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n round: shortUInt,\n update: encoded(Encoding.ContractBytearray),\n stateHash: encoded(Encoding.State),\n offChainTrees: encoded(Encoding.StateTrees),\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.ChannelOffChainTx),\n version: shortUIntConst(2, true),\n channelId: address(Encoding.Channel),\n round: shortUInt,\n stateHash: encoded(Encoding.State),\n },\n {\n tag: shortUIntConst(Tag.ChannelSnapshotSoloTx),\n version: shortUIntConst(1, true),\n channelId: address(Encoding.Channel),\n fromId: address(Encoding.AccountAddress),\n payload: encoded(Encoding.Transaction),\n ttl,\n fee,\n nonce: nonce('fromId'),\n },\n {\n tag: shortUIntConst(Tag.GaAttachTx),\n version: shortUIntConst(1, true),\n ownerId: address(Encoding.AccountAddress),\n nonce: nonce('ownerId'),\n code: encoded(Encoding.ContractBytearray),\n authFun: raw,\n ctVersion,\n fee,\n ttl,\n gasLimit,\n gasPrice,\n callData: encoded(Encoding.ContractBytearray),\n },\n {\n tag: shortUIntConst(Tag.GaMetaTx),\n version: shortUIntConst(2, true),\n gaId: address(Encoding.AccountAddress),\n authData: encoded(Encoding.ContractBytearray),\n abiVersion,\n fee,\n gasLimit,\n gasPrice,\n tx: transactionSignedTx,\n },\n {\n tag: shortUIntConst(Tag.PayingForTx),\n version: shortUIntConst(1, true),\n payerId: address(Encoding.AccountAddress),\n nonce: nonce('payerId'),\n fee,\n tx: transactionSignedTx,\n },\n] as const;\n\ntype TxSchema = SchemaTypes<typeof txSchema>;\nexport type TxParams = TxSchema['TxParams'];\nexport type TxParamsAsync = TxSchema['TxParamsAsync'];\nexport type TxUnpacked = TxSchema['TxUnpacked'];\n"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,7 @@ import Node from '../Node.js';
27
27
  * @param options.gasUsed - Amount of gas actually used to make calculation more accurate
28
28
  * @param options.queryFee - Oracle query fee
29
29
  * @param options.isInitiator - Is transaction signer an initiator of state channel
30
+ * @category utils
30
31
  */
31
32
  export declare function getExecutionCost(transaction: Encoded.Transaction, { innerTx, gasUsed, queryFee, isInitiator, }?: {
32
33
  innerTx?: 'fee-payer' | 'freeloader';
@@ -39,6 +40,7 @@ export declare function getExecutionCost(transaction: Encoded.Transaction, { inn
39
40
  * @param transaction - Transaction to calculate the cost of
40
41
  * @param networkId - Network id used to sign the transaction
41
42
  * @param options - Options
43
+ * @category utils
42
44
  */
43
45
  export declare function getExecutionCostBySignedTx(transaction: Encoded.Transaction, networkId: string, options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>): bigint;
44
46
  /**
@@ -47,6 +49,7 @@ export declare function getExecutionCostBySignedTx(transaction: Encoded.Transact
47
49
  * @param node - Node to use
48
50
  * @param options - Options
49
51
  * @param options.isMined - Is transaction already mined or not
52
+ * @category utils
50
53
  */
51
54
  export declare function getExecutionCostUsingNode(transaction: Encoded.Transaction, node: Node, { isMined, ...options }?: {
52
55
  isMined?: boolean;
@@ -1,6 +1,6 @@
1
1
  import { buildTx, buildTxHash, unpackTx } from './builder/index.js';
2
2
  import { Tag } from './builder/constants.js';
3
- import { verify } from '../utils/crypto.js';
3
+ import { verifySignature } from '../utils/crypto.js';
4
4
  import { getBufferToSign } from '../account/Memory.js';
5
5
  import { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors.js';
6
6
  import getTransactionSignerAddress from './transaction-signer.js';
@@ -32,6 +32,7 @@ import getTransactionSignerAddress from './transaction-signer.js';
32
32
  * @param options.gasUsed - Amount of gas actually used to make calculation more accurate
33
33
  * @param options.queryFee - Oracle query fee
34
34
  * @param options.isInitiator - Is transaction signer an initiator of state channel
35
+ * @category utils
35
36
  */
36
37
  export function getExecutionCost(transaction, {
37
38
  innerTx,
@@ -53,7 +54,7 @@ export function getExecutionCost(transaction, {
53
54
  if (params.tag === Tag.OracleQueryTx) {
54
55
  res += BigInt(params.queryFee);
55
56
  }
56
- if (params.tag === Tag.OracleResponseTx) {
57
+ if (params.tag === Tag.OracleRespondTx) {
57
58
  res -= BigInt(queryFee !== null && queryFee !== void 0 ? queryFee : 0);
58
59
  }
59
60
  if (params.tag === Tag.ChannelSettleTx) {
@@ -80,6 +81,7 @@ export function getExecutionCost(transaction, {
80
81
  * @param transaction - Transaction to calculate the cost of
81
82
  * @param networkId - Network id used to sign the transaction
82
83
  * @param options - Options
84
+ * @category utils
83
85
  */
84
86
  export function getExecutionCostBySignedTx(transaction, networkId, options) {
85
87
  const params = unpackTx(transaction, Tag.SignedTx);
@@ -88,7 +90,7 @@ export function getExecutionCostBySignedTx(transaction, networkId, options) {
88
90
  }
89
91
  const tx = buildTx(params.encodedTx);
90
92
  const address = getTransactionSignerAddress(tx);
91
- const [isInnerTx, isNotInnerTx] = [true, false].map(f => verify(getBufferToSign(tx, networkId, f), params.signatures[0], address));
93
+ const [isInnerTx, isNotInnerTx] = [true, false].map(f => verifySignature(getBufferToSign(tx, networkId, f), params.signatures[0], address));
92
94
  if (!isInnerTx && !isNotInnerTx) throw new TransactionError("Can't verify signature");
93
95
  return getExecutionCost(buildTx(params.encodedTx), {
94
96
  ...(isInnerTx && {
@@ -104,6 +106,7 @@ export function getExecutionCostBySignedTx(transaction, networkId, options) {
104
106
  * @param node - Node to use
105
107
  * @param options - Options
106
108
  * @param options.isMined - Is transaction already mined or not
109
+ * @category utils
107
110
  */
108
111
  export async function getExecutionCostUsingNode(transaction, node, {
109
112
  isMined,
@@ -126,7 +129,7 @@ export async function getExecutionCostUsingNode(transaction, node, {
126
129
  }
127
130
  options.gasUsed = combinedInfo.gasUsed;
128
131
  }
129
- if (options.queryFee == null && Tag.OracleResponseTx === params.tag) {
132
+ if (options.queryFee == null && Tag.OracleRespondTx === params.tag) {
130
133
  options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();
131
134
  }
132
135
  if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {
@@ -1 +1 @@
1
- {"version":3,"file":"execution-cost.js","names":["buildTx","buildTxHash","unpackTx","Tag","verify","getBufferToSign","IllegalArgumentError","InternalError","TransactionError","getTransactionSignerAddress","getExecutionCost","transaction","innerTx","gasUsed","queryFee","isInitiator","params","tag","SignedTx","res","BigInt","fee","NameClaimTx","nameFee","OracleQueryTx","OracleResponseTx","ChannelSettleTx","initiatorAmountFinal","responderAmountFinal","SpendTx","ContractCreateTx","ContractCallTx","ChannelDepositTx","amount","deposit","GaAttachTx","GaMetaTx","gasPrice","gasLimit","PayingForTx","tx","encodedTx","getExecutionCostBySignedTx","networkId","options","address","isInnerTx","isNotInnerTx","map","f","signatures","getExecutionCostUsingNode","node","isMined","isSignedTx","txHash","includes","callInfo","gaInfo","getTransactionInfoByHash","combinedInfo","getOracleByPubkey","oracleId","toString","initiatorId","getChannelByPubkey","channelId","fromId","getNetworkId"],"sources":["../../src/tx/execution-cost.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder.js';\nimport { buildTx, buildTxHash, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { verify } from '../utils/crypto.js';\nimport { getBufferToSign } from '../account/Memory.js';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\n\n/**\n * Calculates the cost of transaction execution\n * Provides an upper cost of contract-call-related transactions because of `gasLimit`.\n * Also assumes that oracle query fee is 0 unless it is provided in options.\n *\n * The idea is that if you need to show transaction details with some accuracy you can define\n * expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,\n * subtracting all fields shown separately.\n *\n * @example\n * ```vue\n * <template>\n * Amount: {{ txUnpacked.amount }}\n * Name fee: {{ txUnpacked.nameFee }}\n * Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}\n * </template>\n * ```\n *\n * Doing this way you won't worry to show wrong fee for a transaction you may not support. Because\n * the SDK calculates the overall price of any transaction on its side.\n *\n * @param transaction - Transaction to calculate the cost of\n * @param options - Options\n * @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx\n * @param options.gasUsed - Amount of gas actually used to make calculation more accurate\n * @param options.queryFee - Oracle query fee\n * @param options.isInitiator - Is transaction signer an initiator of state channel\n */\nexport function getExecutionCost(\n transaction: Encoded.Transaction,\n {\n innerTx,\n gasUsed,\n queryFee,\n isInitiator,\n }: {\n innerTx?: 'fee-payer' | 'freeloader';\n gasUsed?: number;\n queryFee?: string;\n isInitiator?: boolean;\n } = {},\n): bigint {\n const params = unpackTx(transaction);\n if (params.tag === Tag.SignedTx) {\n throw new IllegalArgumentError(\n \"Transaction shouldn't be a SignedTx, use `getExecutionCostBySignedTx` instead\",\n );\n }\n\n let res = 0n;\n if ('fee' in params && innerTx !== 'freeloader') {\n res += BigInt(params.fee);\n }\n if (params.tag === Tag.NameClaimTx) {\n res += BigInt(params.nameFee);\n }\n if (params.tag === Tag.OracleQueryTx) {\n res += BigInt(params.queryFee);\n }\n if (params.tag === Tag.OracleResponseTx) {\n res -= BigInt(queryFee ?? 0);\n }\n if (params.tag === Tag.ChannelSettleTx) {\n if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);\n if (isInitiator === false) res -= BigInt(params.responderAmountFinal);\n }\n if (\n (params.tag === Tag.SpendTx ||\n params.tag === Tag.ContractCreateTx ||\n params.tag === Tag.ContractCallTx ||\n params.tag === Tag.ChannelDepositTx) &&\n innerTx !== 'fee-payer'\n ) {\n res += BigInt(params.amount);\n }\n if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);\n if (\n (params.tag === Tag.ContractCreateTx ||\n params.tag === Tag.ContractCallTx ||\n params.tag === Tag.GaAttachTx ||\n params.tag === Tag.GaMetaTx) &&\n innerTx !== 'freeloader'\n ) {\n res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);\n }\n if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {\n res += getExecutionCost(\n buildTx(params.tx.encodedTx),\n params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},\n );\n }\n return res;\n}\n\n/**\n * Calculates the cost of signed transaction execution\n * @param transaction - Transaction to calculate the cost of\n * @param networkId - Network id used to sign the transaction\n * @param options - Options\n */\nexport function getExecutionCostBySignedTx(\n transaction: Encoded.Transaction,\n networkId: string,\n options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,\n): bigint {\n const params = unpackTx(transaction, Tag.SignedTx);\n if (params.encodedTx.tag === Tag.GaMetaTx) {\n return getExecutionCost(buildTx(params.encodedTx), options);\n }\n\n const tx = buildTx(params.encodedTx);\n const address = getTransactionSignerAddress(tx);\n const [isInnerTx, isNotInnerTx] = [true, false].map((f) =>\n verify(getBufferToSign(tx, networkId, f), params.signatures[0], address),\n );\n if (!isInnerTx && !isNotInnerTx) throw new TransactionError(\"Can't verify signature\");\n return getExecutionCost(buildTx(params.encodedTx), {\n ...(isInnerTx && { innerTx: 'freeloader' }),\n ...options,\n });\n}\n\n/**\n * Calculates the cost of signed and not signed transaction execution using node\n * @param transaction - Transaction to calculate the cost of\n * @param node - Node to use\n * @param options - Options\n * @param options.isMined - Is transaction already mined or not\n */\nexport async function getExecutionCostUsingNode(\n transaction: Encoded.Transaction,\n node: Node,\n { isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},\n): Promise<bigint> {\n let params = unpackTx(transaction);\n const isSignedTx = params.tag === Tag.SignedTx;\n const txHash = isSignedTx && isMined === true && buildTxHash(transaction);\n if (params.tag === Tag.SignedTx) params = params.encodedTx;\n\n // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087\n if (\n options.gasUsed == null &&\n txHash !== false &&\n [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)\n ) {\n const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);\n const combinedInfo = callInfo ?? gaInfo;\n if (combinedInfo == null) {\n throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);\n }\n options.gasUsed = combinedInfo.gasUsed;\n }\n\n if (options.queryFee == null && Tag.OracleResponseTx === params.tag) {\n options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();\n }\n\n if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {\n const { initiatorId } = await node.getChannelByPubkey(params.channelId);\n options.isInitiator = params.fromId === initiatorId;\n }\n\n return isSignedTx\n ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)\n : getExecutionCost(transaction, options);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"execution-cost.js","names":["buildTx","buildTxHash","unpackTx","Tag","verifySignature","getBufferToSign","IllegalArgumentError","InternalError","TransactionError","getTransactionSignerAddress","getExecutionCost","transaction","innerTx","gasUsed","queryFee","isInitiator","params","tag","SignedTx","res","BigInt","fee","NameClaimTx","nameFee","OracleQueryTx","OracleRespondTx","ChannelSettleTx","initiatorAmountFinal","responderAmountFinal","SpendTx","ContractCreateTx","ContractCallTx","ChannelDepositTx","amount","deposit","GaAttachTx","GaMetaTx","gasPrice","gasLimit","PayingForTx","tx","encodedTx","getExecutionCostBySignedTx","networkId","options","address","isInnerTx","isNotInnerTx","map","f","signatures","getExecutionCostUsingNode","node","isMined","isSignedTx","txHash","includes","callInfo","gaInfo","getTransactionInfoByHash","combinedInfo","getOracleByPubkey","oracleId","toString","initiatorId","getChannelByPubkey","channelId","fromId","getNetworkId"],"sources":["../../src/tx/execution-cost.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder.js';\nimport { buildTx, buildTxHash, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { verifySignature } from '../utils/crypto.js';\nimport { getBufferToSign } from '../account/Memory.js';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\n\n/**\n * Calculates the cost of transaction execution\n * Provides an upper cost of contract-call-related transactions because of `gasLimit`.\n * Also assumes that oracle query fee is 0 unless it is provided in options.\n *\n * The idea is that if you need to show transaction details with some accuracy you can define\n * expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,\n * subtracting all fields shown separately.\n *\n * @example\n * ```vue\n * <template>\n * Amount: {{ txUnpacked.amount }}\n * Name fee: {{ txUnpacked.nameFee }}\n * Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}\n * </template>\n * ```\n *\n * Doing this way you won't worry to show wrong fee for a transaction you may not support. Because\n * the SDK calculates the overall price of any transaction on its side.\n *\n * @param transaction - Transaction to calculate the cost of\n * @param options - Options\n * @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx\n * @param options.gasUsed - Amount of gas actually used to make calculation more accurate\n * @param options.queryFee - Oracle query fee\n * @param options.isInitiator - Is transaction signer an initiator of state channel\n * @category utils\n */\nexport function getExecutionCost(\n transaction: Encoded.Transaction,\n {\n innerTx,\n gasUsed,\n queryFee,\n isInitiator,\n }: {\n innerTx?: 'fee-payer' | 'freeloader';\n gasUsed?: number;\n queryFee?: string;\n isInitiator?: boolean;\n } = {},\n): bigint {\n const params = unpackTx(transaction);\n if (params.tag === Tag.SignedTx) {\n throw new IllegalArgumentError(\n \"Transaction shouldn't be a SignedTx, use `getExecutionCostBySignedTx` instead\",\n );\n }\n\n let res = 0n;\n if ('fee' in params && innerTx !== 'freeloader') {\n res += BigInt(params.fee);\n }\n if (params.tag === Tag.NameClaimTx) {\n res += BigInt(params.nameFee);\n }\n if (params.tag === Tag.OracleQueryTx) {\n res += BigInt(params.queryFee);\n }\n if (params.tag === Tag.OracleRespondTx) {\n res -= BigInt(queryFee ?? 0);\n }\n if (params.tag === Tag.ChannelSettleTx) {\n if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);\n if (isInitiator === false) res -= BigInt(params.responderAmountFinal);\n }\n if (\n (params.tag === Tag.SpendTx ||\n params.tag === Tag.ContractCreateTx ||\n params.tag === Tag.ContractCallTx ||\n params.tag === Tag.ChannelDepositTx) &&\n innerTx !== 'fee-payer'\n ) {\n res += BigInt(params.amount);\n }\n if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);\n if (\n (params.tag === Tag.ContractCreateTx ||\n params.tag === Tag.ContractCallTx ||\n params.tag === Tag.GaAttachTx ||\n params.tag === Tag.GaMetaTx) &&\n innerTx !== 'freeloader'\n ) {\n res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);\n }\n if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {\n res += getExecutionCost(\n buildTx(params.tx.encodedTx),\n params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},\n );\n }\n return res;\n}\n\n/**\n * Calculates the cost of signed transaction execution\n * @param transaction - Transaction to calculate the cost of\n * @param networkId - Network id used to sign the transaction\n * @param options - Options\n * @category utils\n */\nexport function getExecutionCostBySignedTx(\n transaction: Encoded.Transaction,\n networkId: string,\n options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,\n): bigint {\n const params = unpackTx(transaction, Tag.SignedTx);\n if (params.encodedTx.tag === Tag.GaMetaTx) {\n return getExecutionCost(buildTx(params.encodedTx), options);\n }\n\n const tx = buildTx(params.encodedTx);\n const address = getTransactionSignerAddress(tx);\n const [isInnerTx, isNotInnerTx] = [true, false].map((f) =>\n verifySignature(getBufferToSign(tx, networkId, f), params.signatures[0], address),\n );\n if (!isInnerTx && !isNotInnerTx) throw new TransactionError(\"Can't verify signature\");\n return getExecutionCost(buildTx(params.encodedTx), {\n ...(isInnerTx && { innerTx: 'freeloader' }),\n ...options,\n });\n}\n\n/**\n * Calculates the cost of signed and not signed transaction execution using node\n * @param transaction - Transaction to calculate the cost of\n * @param node - Node to use\n * @param options - Options\n * @param options.isMined - Is transaction already mined or not\n * @category utils\n */\nexport async function getExecutionCostUsingNode(\n transaction: Encoded.Transaction,\n node: Node,\n { isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},\n): Promise<bigint> {\n let params = unpackTx(transaction);\n const isSignedTx = params.tag === Tag.SignedTx;\n const txHash = isSignedTx && isMined === true && buildTxHash(transaction);\n if (params.tag === Tag.SignedTx) params = params.encodedTx;\n\n // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087\n if (\n options.gasUsed == null &&\n txHash !== false &&\n [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)\n ) {\n const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);\n const combinedInfo = callInfo ?? gaInfo;\n if (combinedInfo == null) {\n throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);\n }\n options.gasUsed = combinedInfo.gasUsed;\n }\n\n if (options.queryFee == null && Tag.OracleRespondTx === params.tag) {\n options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();\n }\n\n if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {\n const { initiatorId } = await node.getChannelByPubkey(params.channelId);\n options.isInitiator = params.fromId === initiatorId;\n }\n\n return isSignedTx\n ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)\n : getExecutionCost(transaction, options);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,5 +2,6 @@ import { Encoded } from '../utils/encoder.js';
2
2
  /**
3
3
  * Returns account address that signed a transaction
4
4
  * @param transaction - transaction to get a signer of
5
+ * @category utils
5
6
  */
6
7
  export default function getTransactionSignerAddress(transaction: Encoded.Transaction): Encoded.AccountAddress;
@@ -5,6 +5,7 @@ import { TransactionError, UnexpectedTsError } from '../utils/errors.js';
5
5
  /**
6
6
  * Returns account address that signed a transaction
7
7
  * @param transaction - transaction to get a signer of
8
+ * @category utils
8
9
  */
9
10
  export default function getTransactionSignerAddress(transaction) {
10
11
  const params = unpackTx(transaction);
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-signer.js","names":["buildTx","getSchema","unpackTx","Tag","TransactionError","UnexpectedTsError","getTransactionSignerAddress","transaction","params","tag","SignedTx","encodedTx","GaMetaTx","gaId","nonce","version","find","name","address","senderKey","replace"],"sources":["../../src/tx/transaction-signer.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder.js';\nimport { buildTx, getSchema, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { TransactionError, UnexpectedTsError } from '../utils/errors.js';\n\n/**\n * Returns account address that signed a transaction\n * @param transaction - transaction to get a signer of\n */\nexport default function getTransactionSignerAddress(\n transaction: Encoded.Transaction,\n): Encoded.AccountAddress {\n const params = unpackTx(transaction);\n switch (params.tag) {\n case Tag.SignedTx:\n return getTransactionSignerAddress(buildTx(params.encodedTx));\n case Tag.GaMetaTx:\n return params.gaId;\n default:\n }\n\n const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];\n if (nonce == null)\n throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);\n if (!('senderKey' in nonce)) throw new UnexpectedTsError();\n const address = params[nonce.senderKey as keyof typeof params] as unknown as string;\n return address.replace(/^ok_/, 'ak_') as Encoded.AccountAddress;\n}\n"],"mappings":"AACA,SAASA,OAAO,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AACjE,SAASC,GAAG,QAAQ,wBAAwB;AAC5C,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,oBAAoB;;AAExE;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CACjDC,WAAgC,EACR;EACxB,MAAMC,MAAM,GAAGN,QAAQ,CAACK,WAAW,CAAC;EACpC,QAAQC,MAAM,CAACC,GAAG;IAChB,KAAKN,GAAG,CAACO,QAAQ;MACf,OAAOJ,2BAA2B,CAACN,OAAO,CAACQ,MAAM,CAACG,SAAS,CAAC,CAAC;IAC/D,KAAKR,GAAG,CAACS,QAAQ;MACf,OAAOJ,MAAM,CAACK,IAAI;IACpB;EACF;EAEA,MAAMC,KAAK,GAAGb,SAAS,CAACO,MAAM,CAACC,GAAG,EAAED,MAAM,CAACO,OAAO,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;EAC3F,IAAIH,KAAK,IAAI,IAAI,EACf,MAAM,IAAIV,gBAAgB,CAAC,mCAAmCD,GAAG,CAACK,MAAM,CAACC,GAAG,CAAC,EAAE,CAAC;EAClF,IAAI,EAAE,WAAW,IAAIK,KAAK,CAAC,EAAE,MAAM,IAAIT,iBAAiB,CAAC,CAAC;EAC1D,MAAMa,OAAO,GAAGV,MAAM,CAACM,KAAK,CAACK,SAAS,CAA6C;EACnF,OAAOD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AACvC","ignoreList":[]}
1
+ {"version":3,"file":"transaction-signer.js","names":["buildTx","getSchema","unpackTx","Tag","TransactionError","UnexpectedTsError","getTransactionSignerAddress","transaction","params","tag","SignedTx","encodedTx","GaMetaTx","gaId","nonce","version","find","name","address","senderKey","replace"],"sources":["../../src/tx/transaction-signer.ts"],"sourcesContent":["import { Encoded } from '../utils/encoder.js';\nimport { buildTx, getSchema, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { TransactionError, UnexpectedTsError } from '../utils/errors.js';\n\n/**\n * Returns account address that signed a transaction\n * @param transaction - transaction to get a signer of\n * @category utils\n */\nexport default function getTransactionSignerAddress(\n transaction: Encoded.Transaction,\n): Encoded.AccountAddress {\n const params = unpackTx(transaction);\n switch (params.tag) {\n case Tag.SignedTx:\n return getTransactionSignerAddress(buildTx(params.encodedTx));\n case Tag.GaMetaTx:\n return params.gaId;\n default:\n }\n\n const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];\n if (nonce == null)\n throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);\n if (!('senderKey' in nonce)) throw new UnexpectedTsError();\n const address = params[nonce.senderKey as keyof typeof params] as unknown as string;\n return address.replace(/^ok_/, 'ak_') as Encoded.AccountAddress;\n}\n"],"mappings":"AACA,SAASA,OAAO,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AACjE,SAASC,GAAG,QAAQ,wBAAwB;AAC5C,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,oBAAoB;;AAExE;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CACjDC,WAAgC,EACR;EACxB,MAAMC,MAAM,GAAGN,QAAQ,CAACK,WAAW,CAAC;EACpC,QAAQC,MAAM,CAACC,GAAG;IAChB,KAAKN,GAAG,CAACO,QAAQ;MACf,OAAOJ,2BAA2B,CAACN,OAAO,CAACQ,MAAM,CAACG,SAAS,CAAC,CAAC;IAC/D,KAAKR,GAAG,CAACS,QAAQ;MACf,OAAOJ,MAAM,CAACK,IAAI;IACpB;EACF;EAEA,MAAMC,KAAK,GAAGb,SAAS,CAACO,MAAM,CAACC,GAAG,EAAED,MAAM,CAACO,OAAO,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,KAAKA,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;EAC3F,IAAIH,KAAK,IAAI,IAAI,EACf,MAAM,IAAIV,gBAAgB,CAAC,mCAAmCD,GAAG,CAACK,MAAM,CAACC,GAAG,CAAC,EAAE,CAAC;EAClF,IAAI,EAAE,WAAW,IAAIK,KAAK,CAAC,EAAE,MAAM,IAAIT,iBAAiB,CAAC,CAAC;EAC1D,MAAMa,OAAO,GAAGV,MAAM,CAACM,KAAK,CAACK,SAAS,CAA6C;EACnF,OAAOD,OAAO,CAACE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;AACvC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { Buffer as _Buffer } from "buffer";
2
2
  import { RestError } from '@azure/core-rest-pipeline';
3
- import { hash, isAddressValid, verify } from '../utils/crypto.js';
3
+ import { hash, isEncoded, verifySignature } from '../utils/crypto.js';
4
4
  import { ProtocolToVmAbi } from './builder/field-types/ct-version.js';
5
5
  import { Tag } from './builder/constants.js';
6
6
  import { buildTx, unpackTx } from './builder/index.js';
@@ -64,6 +64,7 @@ export default async function verifyTransaction(transaction, nodeNotCached) {
64
64
  pipeline,
65
65
  additionalPolicies: [genAggressiveCacheGetResponsesPolicy()]
66
66
  });
67
+ node._getCachedStatus = async () => nodeNotCached._getCachedStatus();
67
68
  return verifyTransactionInternal(unpackTx(transaction), node, []);
68
69
  }
69
70
  validators.push((tx, {
@@ -82,7 +83,7 @@ validators.push((tx, {
82
83
  const txBinary = decode(buildTx(encodedTx));
83
84
  const txWithNetworkId = concatBuffers([prefix, txBinary]);
84
85
  const txHashWithNetworkId = concatBuffers([prefix, hash(txBinary)]);
85
- if (verify(txWithNetworkId, signatures[0], account.id) || verify(txHashWithNetworkId, signatures[0], account.id)) return [];
86
+ if (verifySignature(txWithNetworkId, signatures[0], account.id) || verifySignature(txHashWithNetworkId, signatures[0], account.id)) return [];
86
87
  return [{
87
88
  message: 'Signature cannot be verified, please ensure that you transaction have' + ' the correct prefix and the correct private key for the sender address',
88
89
  key: 'InvalidSignature',
@@ -123,7 +124,7 @@ validators.push((tx, {
123
124
  }, async (tx, {
124
125
  node
125
126
  }) => {
126
- if (tx.tag !== Tag.SpendTx || isAddressValid(tx.recipientId, Encoding.Name)) return [];
127
+ if (tx.tag !== Tag.SpendTx || isEncoded(tx.recipientId, Encoding.Name)) return [];
127
128
  const recipient = await node.getAccountByPubkey(tx.recipientId).catch(error => {
128
129
  if (!isAccountNotFoundError(error)) throw error;
129
130
  return null;