algosdk 2.8.0 → 3.0.0-beta.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 (810) hide show
  1. package/README.md +8 -4
  2. package/dist/browser/algosdk.min.js +1 -1
  3. package/dist/browser/algosdk.min.js.LICENSE.txt +0 -9
  4. package/dist/browser/algosdk.min.js.map +1 -1
  5. package/dist/cjs/abi/abi_type.js +34 -27
  6. package/dist/cjs/abi/abi_type.js.map +1 -1
  7. package/dist/cjs/abi/contract.js +5 -3
  8. package/dist/cjs/abi/contract.js.map +1 -1
  9. package/dist/cjs/{types/transactions/asset.js → abi/event.js} +1 -1
  10. package/dist/cjs/abi/event.js.map +1 -0
  11. package/dist/cjs/abi/index.js +6 -6
  12. package/dist/cjs/abi/index.js.map +1 -1
  13. package/dist/cjs/abi/interface.js +3 -3
  14. package/dist/cjs/abi/interface.js.map +1 -1
  15. package/dist/cjs/abi/method.js +14 -10
  16. package/dist/cjs/abi/method.js.map +1 -1
  17. package/dist/cjs/abi/reference.js +1 -1
  18. package/dist/cjs/abi/reference.js.map +1 -1
  19. package/dist/cjs/abi/transaction.js +2 -2
  20. package/dist/cjs/abi/transaction.js.map +1 -1
  21. package/dist/cjs/account.js +4 -4
  22. package/dist/cjs/account.js.map +1 -1
  23. package/dist/cjs/boxStorage.js +17 -17
  24. package/dist/cjs/boxStorage.js.map +1 -1
  25. package/dist/cjs/client/client.js +77 -41
  26. package/dist/cjs/client/client.js.map +1 -1
  27. package/dist/cjs/client/index.js +29 -0
  28. package/dist/cjs/client/index.js.map +1 -0
  29. package/dist/cjs/client/kmd.js +69 -86
  30. package/dist/cjs/client/kmd.js.map +1 -1
  31. package/dist/cjs/client/urlTokenBaseHTTPClient.js +16 -11
  32. package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -1
  33. package/dist/cjs/client/v2/algod/accountApplicationInformation.js +11 -7
  34. package/dist/cjs/client/v2/algod/accountApplicationInformation.js.map +1 -1
  35. package/dist/cjs/client/v2/algod/accountAssetInformation.js +11 -7
  36. package/dist/cjs/client/v2/algod/accountAssetInformation.js.map +1 -1
  37. package/dist/cjs/client/v2/algod/accountInformation.js +11 -6
  38. package/dist/cjs/client/v2/algod/accountInformation.js.map +1 -1
  39. package/dist/cjs/client/v2/algod/algod.js +85 -83
  40. package/dist/cjs/client/v2/algod/algod.js.map +1 -1
  41. package/dist/cjs/client/v2/algod/block.js +6 -33
  42. package/dist/cjs/client/v2/algod/block.js.map +1 -1
  43. package/dist/cjs/client/v2/algod/compile.js +17 -11
  44. package/dist/cjs/client/v2/algod/compile.js.map +1 -1
  45. package/dist/cjs/client/v2/algod/disassemble.js +17 -11
  46. package/dist/cjs/client/v2/algod/disassemble.js.map +1 -1
  47. package/dist/cjs/client/v2/algod/dryrun.js +18 -37
  48. package/dist/cjs/client/v2/algod/dryrun.js.map +1 -1
  49. package/dist/cjs/client/v2/algod/genesis.js +6 -2
  50. package/dist/cjs/client/v2/algod/genesis.js.map +1 -1
  51. package/dist/cjs/client/v2/algod/getApplicationBoxByName.js +10 -10
  52. package/dist/cjs/client/v2/algod/getApplicationBoxByName.js.map +1 -1
  53. package/dist/cjs/client/v2/algod/getApplicationBoxes.js +8 -8
  54. package/dist/cjs/client/v2/algod/getApplicationBoxes.js.map +1 -1
  55. package/dist/cjs/client/v2/algod/getApplicationByID.js +10 -5
  56. package/dist/cjs/client/v2/algod/getApplicationByID.js.map +1 -1
  57. package/dist/cjs/client/v2/algod/getAssetByID.js +10 -5
  58. package/dist/cjs/client/v2/algod/getAssetByID.js.map +1 -1
  59. package/dist/cjs/client/v2/algod/getBlockHash.js +10 -6
  60. package/dist/cjs/client/v2/algod/getBlockHash.js.map +1 -1
  61. package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js +6 -5
  62. package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -1
  63. package/dist/cjs/client/v2/algod/getBlockTxids.js +10 -4
  64. package/dist/cjs/client/v2/algod/getBlockTxids.js.map +1 -1
  65. package/dist/cjs/client/v2/algod/getLedgerStateDelta.js +11 -6
  66. package/dist/cjs/client/v2/algod/getLedgerStateDelta.js.map +1 -1
  67. package/dist/cjs/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js +11 -6
  68. package/dist/cjs/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js.map +1 -1
  69. package/dist/cjs/client/v2/algod/getSyncRound.js +6 -5
  70. package/dist/cjs/client/v2/algod/getSyncRound.js.map +1 -1
  71. package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js +9 -9
  72. package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
  73. package/dist/cjs/client/v2/algod/getTransactionProof.js +10 -6
  74. package/dist/cjs/client/v2/algod/getTransactionProof.js.map +1 -1
  75. package/dist/cjs/client/v2/algod/healthCheck.js +4 -9
  76. package/dist/cjs/client/v2/algod/healthCheck.js.map +1 -1
  77. package/dist/cjs/{types → client/v2/algod}/index.js +5 -3
  78. package/dist/cjs/client/v2/algod/index.js.map +1 -0
  79. package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js +10 -5
  80. package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js.map +1 -1
  81. package/dist/cjs/client/v2/algod/models/types.js +3712 -1824
  82. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  83. package/dist/cjs/client/v2/algod/pendingTransactionInformation.js +6 -32
  84. package/dist/cjs/client/v2/algod/pendingTransactionInformation.js.map +1 -1
  85. package/dist/cjs/client/v2/algod/pendingTransactions.js +6 -31
  86. package/dist/cjs/client/v2/algod/pendingTransactions.js.map +1 -1
  87. package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js +7 -33
  88. package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js.map +1 -1
  89. package/dist/cjs/client/v2/algod/ready.js +4 -2
  90. package/dist/cjs/client/v2/algod/ready.js.map +1 -1
  91. package/dist/cjs/client/v2/algod/sendRawTransaction.js +17 -8
  92. package/dist/cjs/client/v2/algod/sendRawTransaction.js.map +1 -1
  93. package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js +13 -8
  94. package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
  95. package/dist/cjs/client/v2/algod/setSyncRound.js +13 -8
  96. package/dist/cjs/client/v2/algod/setSyncRound.js.map +1 -1
  97. package/dist/cjs/client/v2/algod/simulateTransaction.js +15 -35
  98. package/dist/cjs/client/v2/algod/simulateTransaction.js.map +1 -1
  99. package/dist/cjs/client/v2/algod/stateproof.js +10 -5
  100. package/dist/cjs/client/v2/algod/stateproof.js.map +1 -1
  101. package/dist/cjs/client/v2/algod/status.js +8 -2
  102. package/dist/cjs/client/v2/algod/status.js.map +1 -1
  103. package/dist/cjs/client/v2/algod/statusAfterBlock.js +10 -5
  104. package/dist/cjs/client/v2/algod/statusAfterBlock.js.map +1 -1
  105. package/dist/cjs/client/v2/algod/suggestedParams.js +13 -9
  106. package/dist/cjs/client/v2/algod/suggestedParams.js.map +1 -1
  107. package/dist/cjs/client/v2/algod/supply.js +8 -2
  108. package/dist/cjs/client/v2/algod/supply.js.map +1 -1
  109. package/dist/cjs/client/v2/algod/unsetSyncRound.js +11 -5
  110. package/dist/cjs/client/v2/algod/unsetSyncRound.js.map +1 -1
  111. package/dist/cjs/client/v2/algod/versions.js +8 -2
  112. package/dist/cjs/client/v2/algod/versions.js.map +1 -1
  113. package/dist/cjs/client/v2/indexer/index.js +22 -0
  114. package/dist/cjs/client/v2/indexer/index.js.map +1 -0
  115. package/dist/cjs/client/v2/indexer/indexer.js +44 -43
  116. package/dist/cjs/client/v2/indexer/indexer.js.map +1 -1
  117. package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js +11 -6
  118. package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -1
  119. package/dist/cjs/client/v2/indexer/lookupAccountAssets.js +11 -6
  120. package/dist/cjs/client/v2/indexer/lookupAccountAssets.js.map +1 -1
  121. package/dist/cjs/client/v2/indexer/lookupAccountByID.js +11 -6
  122. package/dist/cjs/client/v2/indexer/lookupAccountByID.js.map +1 -1
  123. package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js +11 -6
  124. package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -1
  125. package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js +11 -6
  126. package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -1
  127. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js +19 -12
  128. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
  129. package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js +10 -10
  130. package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
  131. package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js +10 -5
  132. package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
  133. package/dist/cjs/client/v2/indexer/lookupApplications.js +10 -5
  134. package/dist/cjs/client/v2/indexer/lookupApplications.js.map +1 -1
  135. package/dist/cjs/client/v2/indexer/lookupAssetBalances.js +10 -5
  136. package/dist/cjs/client/v2/indexer/lookupAssetBalances.js.map +1 -1
  137. package/dist/cjs/client/v2/indexer/lookupAssetByID.js +10 -5
  138. package/dist/cjs/client/v2/indexer/lookupAssetByID.js.map +1 -1
  139. package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js +19 -12
  140. package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
  141. package/dist/cjs/client/v2/indexer/lookupBlock.js +10 -5
  142. package/dist/cjs/client/v2/indexer/lookupBlock.js.map +1 -1
  143. package/dist/cjs/client/v2/indexer/lookupTransactionByID.js +10 -5
  144. package/dist/cjs/client/v2/indexer/lookupTransactionByID.js.map +1 -1
  145. package/dist/cjs/client/v2/indexer/makeHealthCheck.js +8 -2
  146. package/dist/cjs/client/v2/indexer/makeHealthCheck.js.map +1 -1
  147. package/dist/cjs/client/v2/indexer/models/types.js +3591 -1651
  148. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
  149. package/dist/cjs/client/v2/indexer/searchAccounts.js +9 -3
  150. package/dist/cjs/client/v2/indexer/searchAccounts.js.map +1 -1
  151. package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js +8 -8
  152. package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js.map +1 -1
  153. package/dist/cjs/client/v2/indexer/searchForApplications.js +9 -3
  154. package/dist/cjs/client/v2/indexer/searchForApplications.js.map +1 -1
  155. package/dist/cjs/client/v2/indexer/searchForAssets.js +9 -3
  156. package/dist/cjs/client/v2/indexer/searchForAssets.js.map +1 -1
  157. package/dist/cjs/client/v2/indexer/searchForTransactions.js +17 -9
  158. package/dist/cjs/client/v2/indexer/searchForTransactions.js.map +1 -1
  159. package/dist/cjs/client/v2/jsonrequest.js +22 -54
  160. package/dist/cjs/client/v2/jsonrequest.js.map +1 -1
  161. package/dist/cjs/client/v2/serviceClient.js +5 -25
  162. package/dist/cjs/client/v2/serviceClient.js.map +1 -1
  163. package/dist/cjs/client/v2/untypedmodel.js +22 -0
  164. package/dist/cjs/client/v2/untypedmodel.js.map +1 -0
  165. package/dist/cjs/composer.js +64 -58
  166. package/dist/cjs/composer.js.map +1 -1
  167. package/dist/cjs/convert.js.map +1 -1
  168. package/dist/cjs/dryrun.js +107 -203
  169. package/dist/cjs/dryrun.js.map +1 -1
  170. package/dist/cjs/encoding/address.js +88 -104
  171. package/dist/cjs/encoding/address.js.map +1 -1
  172. package/dist/cjs/encoding/bigint.js +2 -3
  173. package/dist/cjs/encoding/bigint.js.map +1 -1
  174. package/dist/cjs/encoding/binarydata.js +82 -0
  175. package/dist/cjs/encoding/binarydata.js.map +1 -0
  176. package/dist/cjs/encoding/encoding.js +353 -38
  177. package/dist/cjs/encoding/encoding.js.map +1 -1
  178. package/dist/cjs/encoding/schema/address.js +41 -0
  179. package/dist/cjs/encoding/schema/address.js.map +1 -0
  180. package/dist/cjs/encoding/schema/array.js +43 -0
  181. package/dist/cjs/encoding/schema/array.js.map +1 -0
  182. package/dist/cjs/encoding/schema/binarystring.js +55 -0
  183. package/dist/cjs/encoding/schema/binarystring.js.map +1 -0
  184. package/dist/cjs/encoding/schema/blockhash.js +67 -0
  185. package/dist/cjs/encoding/schema/blockhash.js.map +1 -0
  186. package/dist/cjs/encoding/schema/boolean.js +42 -0
  187. package/dist/cjs/encoding/schema/boolean.js.map +1 -0
  188. package/dist/cjs/encoding/schema/bytearray.js +98 -0
  189. package/dist/cjs/encoding/schema/bytearray.js.map +1 -0
  190. package/dist/cjs/encoding/schema/index.js +34 -0
  191. package/dist/cjs/encoding/schema/index.js.map +1 -0
  192. package/dist/cjs/encoding/schema/map.js +528 -0
  193. package/dist/cjs/encoding/schema/map.js.map +1 -0
  194. package/dist/cjs/encoding/schema/optional.js +58 -0
  195. package/dist/cjs/encoding/schema/optional.js.map +1 -0
  196. package/dist/cjs/encoding/schema/string.js +43 -0
  197. package/dist/cjs/encoding/schema/string.js.map +1 -0
  198. package/dist/cjs/encoding/schema/uint64.js +36 -0
  199. package/dist/cjs/encoding/schema/uint64.js.map +1 -0
  200. package/dist/cjs/encoding/schema/untyped.js +33 -0
  201. package/dist/cjs/encoding/schema/untyped.js.map +1 -0
  202. package/dist/cjs/encoding/uint64.js +2 -2
  203. package/dist/cjs/encoding/uint64.js.map +1 -1
  204. package/dist/cjs/group.js +23 -60
  205. package/dist/cjs/group.js.map +1 -1
  206. package/dist/cjs/index.js +2 -2
  207. package/dist/cjs/index.js.map +1 -1
  208. package/dist/cjs/logic/sourcemap.js +56 -25
  209. package/dist/cjs/logic/sourcemap.js.map +1 -1
  210. package/dist/cjs/logicsig.js +113 -146
  211. package/dist/cjs/logicsig.js.map +1 -1
  212. package/dist/cjs/main.js +113 -122
  213. package/dist/cjs/main.js.map +1 -1
  214. package/dist/cjs/makeTxn.js +320 -554
  215. package/dist/cjs/makeTxn.js.map +1 -1
  216. package/dist/cjs/mnemonic/mnemonic.js +8 -8
  217. package/dist/cjs/mnemonic/mnemonic.js.map +1 -1
  218. package/dist/cjs/multisig.js +60 -312
  219. package/dist/cjs/multisig.js.map +1 -1
  220. package/dist/cjs/multisigSigning.js +285 -0
  221. package/dist/cjs/multisigSigning.js.map +1 -0
  222. package/dist/cjs/nacl/naclWrappers.js +2 -2
  223. package/dist/cjs/nacl/naclWrappers.js.map +1 -1
  224. package/dist/cjs/signedTransaction.js +106 -0
  225. package/dist/cjs/signedTransaction.js.map +1 -0
  226. package/dist/cjs/signer.js +7 -7
  227. package/dist/cjs/signer.js.map +1 -1
  228. package/dist/cjs/signing.js +105 -0
  229. package/dist/cjs/signing.js.map +1 -0
  230. package/dist/cjs/stateproof.js +421 -0
  231. package/dist/cjs/stateproof.js.map +1 -0
  232. package/dist/cjs/transaction.js +724 -1009
  233. package/dist/cjs/transaction.js.map +1 -1
  234. package/dist/cjs/types/block.js +813 -0
  235. package/dist/cjs/types/block.js.map +1 -0
  236. package/dist/cjs/types/intDecoding.js +1 -1
  237. package/dist/cjs/types/intDecoding.js.map +1 -1
  238. package/dist/cjs/types/statedelta.js +1155 -0
  239. package/dist/cjs/types/statedelta.js.map +1 -0
  240. package/dist/cjs/types/transactions/base.js +22 -5
  241. package/dist/cjs/types/transactions/base.js.map +1 -1
  242. package/dist/cjs/types/transactions/encoded.js +67 -0
  243. package/dist/cjs/types/transactions/encoded.js.map +1 -1
  244. package/dist/cjs/types/transactions/index.js +2 -5
  245. package/dist/cjs/types/transactions/index.js.map +1 -1
  246. package/dist/cjs/utils/utils.js +86 -22
  247. package/dist/cjs/utils/utils.js.map +1 -1
  248. package/dist/cjs/wait.js +4 -4
  249. package/dist/cjs/wait.js.map +1 -1
  250. package/dist/esm/abi/abi_type.js +22 -15
  251. package/dist/esm/abi/abi_type.js.map +1 -1
  252. package/dist/esm/abi/contract.js +3 -1
  253. package/dist/esm/abi/contract.js.map +1 -1
  254. package/dist/esm/abi/event.js +2 -0
  255. package/dist/esm/abi/event.js.map +1 -0
  256. package/dist/esm/abi/index.js +6 -6
  257. package/dist/esm/abi/index.js.map +1 -1
  258. package/dist/esm/abi/interface.js +1 -1
  259. package/dist/esm/abi/interface.js.map +1 -1
  260. package/dist/esm/abi/method.js +8 -4
  261. package/dist/esm/abi/method.js.map +1 -1
  262. package/dist/esm/abi/transaction.js +1 -1
  263. package/dist/esm/abi/transaction.js.map +1 -1
  264. package/dist/esm/account.js +4 -4
  265. package/dist/esm/account.js.map +1 -1
  266. package/dist/esm/boxStorage.js +15 -15
  267. package/dist/esm/boxStorage.js.map +1 -1
  268. package/dist/esm/client/client.js +74 -40
  269. package/dist/esm/client/client.js.map +1 -1
  270. package/dist/esm/client/index.js +7 -0
  271. package/dist/esm/client/index.js.map +1 -0
  272. package/dist/esm/client/kmd.js +67 -62
  273. package/dist/esm/client/kmd.js.map +1 -1
  274. package/dist/esm/client/urlTokenBaseHTTPClient.js +16 -11
  275. package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -1
  276. package/dist/esm/client/v2/algod/accountApplicationInformation.js +10 -6
  277. package/dist/esm/client/v2/algod/accountApplicationInformation.js.map +1 -1
  278. package/dist/esm/client/v2/algod/accountAssetInformation.js +10 -6
  279. package/dist/esm/client/v2/algod/accountAssetInformation.js.map +1 -1
  280. package/dist/esm/client/v2/algod/accountInformation.js +10 -5
  281. package/dist/esm/client/v2/algod/accountInformation.js.map +1 -1
  282. package/dist/esm/client/v2/algod/algod.js +71 -70
  283. package/dist/esm/client/v2/algod/algod.js.map +1 -1
  284. package/dist/esm/client/v2/algod/block.js +5 -9
  285. package/dist/esm/client/v2/algod/block.js.map +1 -1
  286. package/dist/esm/client/v2/algod/compile.js +16 -10
  287. package/dist/esm/client/v2/algod/compile.js.map +1 -1
  288. package/dist/esm/client/v2/algod/disassemble.js +16 -10
  289. package/dist/esm/client/v2/algod/disassemble.js.map +1 -1
  290. package/dist/esm/client/v2/algod/dryrun.js +16 -12
  291. package/dist/esm/client/v2/algod/dryrun.js.map +1 -1
  292. package/dist/esm/client/v2/algod/genesis.js +5 -1
  293. package/dist/esm/client/v2/algod/genesis.js.map +1 -1
  294. package/dist/esm/client/v2/algod/getApplicationBoxByName.js +9 -9
  295. package/dist/esm/client/v2/algod/getApplicationBoxByName.js.map +1 -1
  296. package/dist/esm/client/v2/algod/getApplicationBoxes.js +7 -7
  297. package/dist/esm/client/v2/algod/getApplicationBoxes.js.map +1 -1
  298. package/dist/esm/client/v2/algod/getApplicationByID.js +9 -4
  299. package/dist/esm/client/v2/algod/getApplicationByID.js.map +1 -1
  300. package/dist/esm/client/v2/algod/getAssetByID.js +9 -4
  301. package/dist/esm/client/v2/algod/getAssetByID.js.map +1 -1
  302. package/dist/esm/client/v2/algod/getBlockHash.js +9 -5
  303. package/dist/esm/client/v2/algod/getBlockHash.js.map +1 -1
  304. package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js +5 -4
  305. package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -1
  306. package/dist/esm/client/v2/algod/getBlockTxids.js +9 -3
  307. package/dist/esm/client/v2/algod/getBlockTxids.js.map +1 -1
  308. package/dist/esm/client/v2/algod/getLedgerStateDelta.js +10 -5
  309. package/dist/esm/client/v2/algod/getLedgerStateDelta.js.map +1 -1
  310. package/dist/esm/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js +10 -5
  311. package/dist/esm/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js.map +1 -1
  312. package/dist/esm/client/v2/algod/getSyncRound.js +5 -4
  313. package/dist/esm/client/v2/algod/getSyncRound.js.map +1 -1
  314. package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js +8 -8
  315. package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
  316. package/dist/esm/client/v2/algod/getTransactionProof.js +9 -5
  317. package/dist/esm/client/v2/algod/getTransactionProof.js.map +1 -1
  318. package/dist/esm/client/v2/algod/healthCheck.js +3 -8
  319. package/dist/esm/client/v2/algod/healthCheck.js.map +1 -1
  320. package/dist/esm/client/v2/algod/index.js +4 -0
  321. package/dist/esm/client/v2/algod/index.js.map +1 -0
  322. package/dist/esm/client/v2/algod/lightBlockHeaderProof.js +9 -4
  323. package/dist/esm/client/v2/algod/lightBlockHeaderProof.js.map +1 -1
  324. package/dist/esm/client/v2/algod/models/types.js +3712 -1821
  325. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  326. package/dist/esm/client/v2/algod/pendingTransactionInformation.js +5 -8
  327. package/dist/esm/client/v2/algod/pendingTransactionInformation.js.map +1 -1
  328. package/dist/esm/client/v2/algod/pendingTransactions.js +5 -7
  329. package/dist/esm/client/v2/algod/pendingTransactions.js.map +1 -1
  330. package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js +6 -9
  331. package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js.map +1 -1
  332. package/dist/esm/client/v2/algod/ready.js +3 -1
  333. package/dist/esm/client/v2/algod/ready.js.map +1 -1
  334. package/dist/esm/client/v2/algod/sendRawTransaction.js +15 -6
  335. package/dist/esm/client/v2/algod/sendRawTransaction.js.map +1 -1
  336. package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js +12 -7
  337. package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
  338. package/dist/esm/client/v2/algod/setSyncRound.js +12 -7
  339. package/dist/esm/client/v2/algod/setSyncRound.js.map +1 -1
  340. package/dist/esm/client/v2/algod/simulateTransaction.js +14 -11
  341. package/dist/esm/client/v2/algod/simulateTransaction.js.map +1 -1
  342. package/dist/esm/client/v2/algod/stateproof.js +9 -4
  343. package/dist/esm/client/v2/algod/stateproof.js.map +1 -1
  344. package/dist/esm/client/v2/algod/status.js +7 -1
  345. package/dist/esm/client/v2/algod/status.js.map +1 -1
  346. package/dist/esm/client/v2/algod/statusAfterBlock.js +9 -4
  347. package/dist/esm/client/v2/algod/statusAfterBlock.js.map +1 -1
  348. package/dist/esm/client/v2/algod/suggestedParams.js +12 -8
  349. package/dist/esm/client/v2/algod/suggestedParams.js.map +1 -1
  350. package/dist/esm/client/v2/algod/supply.js +7 -1
  351. package/dist/esm/client/v2/algod/supply.js.map +1 -1
  352. package/dist/esm/client/v2/algod/unsetSyncRound.js +10 -4
  353. package/dist/esm/client/v2/algod/unsetSyncRound.js.map +1 -1
  354. package/dist/esm/client/v2/algod/versions.js +7 -1
  355. package/dist/esm/client/v2/algod/versions.js.map +1 -1
  356. package/dist/esm/client/v2/indexer/index.js +4 -0
  357. package/dist/esm/client/v2/indexer/index.js.map +1 -0
  358. package/dist/esm/client/v2/indexer/indexer.js +42 -42
  359. package/dist/esm/client/v2/indexer/indexer.js.map +1 -1
  360. package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js +10 -5
  361. package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -1
  362. package/dist/esm/client/v2/indexer/lookupAccountAssets.js +10 -5
  363. package/dist/esm/client/v2/indexer/lookupAccountAssets.js.map +1 -1
  364. package/dist/esm/client/v2/indexer/lookupAccountByID.js +10 -5
  365. package/dist/esm/client/v2/indexer/lookupAccountByID.js.map +1 -1
  366. package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js +10 -5
  367. package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -1
  368. package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js +10 -5
  369. package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -1
  370. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js +18 -11
  371. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
  372. package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js +9 -9
  373. package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
  374. package/dist/esm/client/v2/indexer/lookupApplicationLogs.js +9 -4
  375. package/dist/esm/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
  376. package/dist/esm/client/v2/indexer/lookupApplications.js +9 -4
  377. package/dist/esm/client/v2/indexer/lookupApplications.js.map +1 -1
  378. package/dist/esm/client/v2/indexer/lookupAssetBalances.js +9 -4
  379. package/dist/esm/client/v2/indexer/lookupAssetBalances.js.map +1 -1
  380. package/dist/esm/client/v2/indexer/lookupAssetByID.js +9 -4
  381. package/dist/esm/client/v2/indexer/lookupAssetByID.js.map +1 -1
  382. package/dist/esm/client/v2/indexer/lookupAssetTransactions.js +17 -10
  383. package/dist/esm/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
  384. package/dist/esm/client/v2/indexer/lookupBlock.js +9 -4
  385. package/dist/esm/client/v2/indexer/lookupBlock.js.map +1 -1
  386. package/dist/esm/client/v2/indexer/lookupTransactionByID.js +9 -4
  387. package/dist/esm/client/v2/indexer/lookupTransactionByID.js.map +1 -1
  388. package/dist/esm/client/v2/indexer/makeHealthCheck.js +7 -1
  389. package/dist/esm/client/v2/indexer/makeHealthCheck.js.map +1 -1
  390. package/dist/esm/client/v2/indexer/models/types.js +3591 -1648
  391. package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
  392. package/dist/esm/client/v2/indexer/searchAccounts.js +8 -2
  393. package/dist/esm/client/v2/indexer/searchAccounts.js.map +1 -1
  394. package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js +7 -7
  395. package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js.map +1 -1
  396. package/dist/esm/client/v2/indexer/searchForApplications.js +8 -2
  397. package/dist/esm/client/v2/indexer/searchForApplications.js.map +1 -1
  398. package/dist/esm/client/v2/indexer/searchForAssets.js +8 -2
  399. package/dist/esm/client/v2/indexer/searchForAssets.js.map +1 -1
  400. package/dist/esm/client/v2/indexer/searchForTransactions.js +15 -7
  401. package/dist/esm/client/v2/indexer/searchForTransactions.js.map +1 -1
  402. package/dist/esm/client/v2/jsonrequest.js +22 -51
  403. package/dist/esm/client/v2/jsonrequest.js.map +1 -1
  404. package/dist/esm/client/v2/serviceClient.js +3 -20
  405. package/dist/esm/client/v2/serviceClient.js.map +1 -1
  406. package/dist/esm/client/v2/untypedmodel.js +18 -0
  407. package/dist/esm/client/v2/untypedmodel.js.map +1 -0
  408. package/dist/esm/composer.js +43 -37
  409. package/dist/esm/composer.js.map +1 -1
  410. package/dist/esm/convert.js.map +1 -1
  411. package/dist/esm/dryrun.js +98 -195
  412. package/dist/esm/dryrun.js.map +1 -1
  413. package/dist/esm/encoding/address.js +85 -100
  414. package/dist/esm/encoding/address.js.map +1 -1
  415. package/dist/esm/encoding/bigint.js +2 -3
  416. package/dist/esm/encoding/bigint.js.map +1 -1
  417. package/dist/esm/encoding/binarydata.js +73 -0
  418. package/dist/esm/encoding/binarydata.js.map +1 -0
  419. package/dist/esm/encoding/encoding.js +337 -12
  420. package/dist/esm/encoding/encoding.js.map +1 -1
  421. package/dist/esm/encoding/schema/address.js +37 -0
  422. package/dist/esm/encoding/schema/address.js.map +1 -0
  423. package/dist/esm/encoding/schema/array.js +39 -0
  424. package/dist/esm/encoding/schema/array.js.map +1 -0
  425. package/dist/esm/encoding/schema/binarystring.js +51 -0
  426. package/dist/esm/encoding/schema/binarystring.js.map +1 -0
  427. package/dist/esm/encoding/schema/blockhash.js +60 -0
  428. package/dist/esm/encoding/schema/blockhash.js.map +1 -0
  429. package/dist/esm/encoding/schema/boolean.js +38 -0
  430. package/dist/esm/encoding/schema/boolean.js.map +1 -0
  431. package/dist/esm/encoding/schema/bytearray.js +93 -0
  432. package/dist/esm/encoding/schema/bytearray.js.map +1 -0
  433. package/dist/esm/encoding/schema/index.js +12 -0
  434. package/dist/esm/encoding/schema/index.js.map +1 -0
  435. package/dist/esm/encoding/schema/map.js +517 -0
  436. package/dist/esm/encoding/schema/map.js.map +1 -0
  437. package/dist/esm/encoding/schema/optional.js +54 -0
  438. package/dist/esm/encoding/schema/optional.js.map +1 -0
  439. package/dist/esm/encoding/schema/string.js +39 -0
  440. package/dist/esm/encoding/schema/string.js.map +1 -0
  441. package/dist/esm/encoding/schema/uint64.js +32 -0
  442. package/dist/esm/encoding/schema/uint64.js.map +1 -0
  443. package/dist/esm/encoding/schema/untyped.js +29 -0
  444. package/dist/esm/encoding/schema/untyped.js.map +1 -0
  445. package/dist/esm/encoding/uint64.js +1 -1
  446. package/dist/esm/encoding/uint64.js.map +1 -1
  447. package/dist/esm/group.js +22 -58
  448. package/dist/esm/group.js.map +1 -1
  449. package/dist/esm/index.js +2 -2
  450. package/dist/esm/index.js.map +1 -1
  451. package/dist/esm/logic/sourcemap.js +54 -23
  452. package/dist/esm/logic/sourcemap.js.map +1 -1
  453. package/dist/esm/logicsig.js +110 -141
  454. package/dist/esm/logicsig.js.map +1 -1
  455. package/dist/esm/main.js +47 -76
  456. package/dist/esm/main.js.map +1 -1
  457. package/dist/esm/makeTxn.js +314 -513
  458. package/dist/esm/makeTxn.js.map +1 -1
  459. package/dist/esm/mnemonic/mnemonic.js +5 -5
  460. package/dist/esm/mnemonic/mnemonic.js.map +1 -1
  461. package/dist/esm/multisig.js +56 -305
  462. package/dist/esm/multisig.js.map +1 -1
  463. package/dist/esm/multisigSigning.js +254 -0
  464. package/dist/esm/multisigSigning.js.map +1 -0
  465. package/dist/esm/nacl/naclWrappers.js +1 -1
  466. package/dist/esm/nacl/naclWrappers.js.map +1 -1
  467. package/dist/esm/package.json +1 -0
  468. package/dist/esm/signedTransaction.js +100 -0
  469. package/dist/esm/signedTransaction.js.map +1 -0
  470. package/dist/esm/signer.js +3 -3
  471. package/dist/esm/signer.js.map +1 -1
  472. package/dist/esm/signing.js +77 -0
  473. package/dist/esm/signing.js.map +1 -0
  474. package/dist/esm/stateproof.js +408 -0
  475. package/dist/esm/stateproof.js.map +1 -0
  476. package/dist/esm/transaction.js +723 -1005
  477. package/dist/esm/transaction.js.map +1 -1
  478. package/dist/esm/types/block.js +797 -0
  479. package/dist/esm/types/block.js.map +1 -0
  480. package/dist/esm/types/intDecoding.js +1 -1
  481. package/dist/esm/types/intDecoding.js.map +1 -1
  482. package/dist/esm/types/statedelta.js +1129 -0
  483. package/dist/esm/types/statedelta.js.map +1 -0
  484. package/dist/esm/types/transactions/base.js +18 -2
  485. package/dist/esm/types/transactions/base.js.map +1 -1
  486. package/dist/esm/types/transactions/encoded.js +62 -1
  487. package/dist/esm/types/transactions/encoded.js.map +1 -1
  488. package/dist/esm/types/transactions/index.js +2 -3
  489. package/dist/esm/types/transactions/index.js.map +1 -1
  490. package/dist/esm/utils/utils.js +80 -21
  491. package/dist/esm/utils/utils.js.map +1 -1
  492. package/dist/esm/wait.js +4 -4
  493. package/dist/esm/wait.js.map +1 -1
  494. package/dist/types/abi/abi_type.d.ts +1 -1
  495. package/dist/types/abi/contract.d.ts +5 -1
  496. package/dist/types/abi/event.d.ts +16 -0
  497. package/dist/types/abi/index.d.ts +6 -6
  498. package/dist/types/abi/interface.d.ts +1 -1
  499. package/dist/types/abi/method.d.ts +12 -5
  500. package/dist/types/abi/transaction.d.ts +1 -1
  501. package/dist/types/account.d.ts +1 -1
  502. package/dist/types/boxStorage.d.ts +4 -5
  503. package/dist/types/client/baseHTTPClient.d.ts +9 -6
  504. package/dist/types/client/client.d.ts +59 -18
  505. package/dist/types/client/index.d.ts +5 -0
  506. package/dist/types/client/kmd.d.ts +12 -10
  507. package/dist/types/client/urlTokenBaseHTTPClient.d.ts +8 -5
  508. package/dist/types/client/v2/algod/accountApplicationInformation.d.ts +8 -6
  509. package/dist/types/client/v2/algod/accountAssetInformation.d.ts +8 -6
  510. package/dist/types/client/v2/algod/accountInformation.d.ts +7 -5
  511. package/dist/types/client/v2/algod/algod.d.ts +53 -52
  512. package/dist/types/client/v2/algod/block.d.ts +5 -4
  513. package/dist/types/client/v2/algod/compile.d.ts +7 -9
  514. package/dist/types/client/v2/algod/disassemble.d.ts +7 -9
  515. package/dist/types/client/v2/algod/dryrun.d.ts +7 -9
  516. package/dist/types/client/v2/algod/genesis.d.ts +4 -2
  517. package/dist/types/client/v2/algod/getApplicationBoxByName.d.ts +6 -7
  518. package/dist/types/client/v2/algod/getApplicationBoxes.d.ts +6 -7
  519. package/dist/types/client/v2/algod/getApplicationByID.d.ts +6 -5
  520. package/dist/types/client/v2/algod/getAssetByID.d.ts +6 -5
  521. package/dist/types/client/v2/algod/getBlockHash.d.ts +7 -6
  522. package/dist/types/client/v2/algod/getBlockOffsetTimestamp.d.ts +5 -4
  523. package/dist/types/client/v2/algod/getBlockTxids.d.ts +6 -5
  524. package/dist/types/client/v2/algod/getLedgerStateDelta.d.ts +6 -5
  525. package/dist/types/client/v2/algod/getLedgerStateDeltaForTransactionGroup.d.ts +6 -5
  526. package/dist/types/client/v2/algod/getSyncRound.d.ts +5 -4
  527. package/dist/types/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.d.ts +6 -7
  528. package/dist/types/client/v2/algod/getTransactionProof.d.ts +6 -5
  529. package/dist/types/client/v2/algod/healthCheck.d.ts +4 -3
  530. package/dist/types/client/v2/algod/index.d.ts +2 -0
  531. package/dist/types/client/v2/algod/lightBlockHeaderProof.d.ts +6 -5
  532. package/dist/types/client/v2/algod/models/types.d.ts +629 -318
  533. package/dist/types/client/v2/algod/pendingTransactionInformation.d.ts +5 -4
  534. package/dist/types/client/v2/algod/pendingTransactions.d.ts +5 -4
  535. package/dist/types/client/v2/algod/pendingTransactionsByAddress.d.ts +7 -5
  536. package/dist/types/client/v2/algod/ready.d.ts +4 -2
  537. package/dist/types/client/v2/algod/sendRawTransaction.d.ts +7 -5
  538. package/dist/types/client/v2/algod/setBlockOffsetTimestamp.d.ts +6 -6
  539. package/dist/types/client/v2/algod/setSyncRound.d.ts +6 -6
  540. package/dist/types/client/v2/algod/simulateTransaction.d.ts +7 -7
  541. package/dist/types/client/v2/algod/stateproof.d.ts +6 -5
  542. package/dist/types/client/v2/algod/status.d.ts +5 -2
  543. package/dist/types/client/v2/algod/statusAfterBlock.d.ts +6 -5
  544. package/dist/types/client/v2/algod/suggestedParams.d.ts +25 -4
  545. package/dist/types/client/v2/algod/supply.d.ts +5 -2
  546. package/dist/types/client/v2/algod/unsetSyncRound.d.ts +5 -3
  547. package/dist/types/client/v2/algod/versions.d.ts +5 -2
  548. package/dist/types/client/v2/indexer/index.d.ts +2 -0
  549. package/dist/types/client/v2/indexer/indexer.d.ts +31 -30
  550. package/dist/types/client/v2/indexer/lookupAccountAppLocalStates.d.ts +7 -5
  551. package/dist/types/client/v2/indexer/lookupAccountAssets.d.ts +7 -5
  552. package/dist/types/client/v2/indexer/lookupAccountByID.d.ts +7 -5
  553. package/dist/types/client/v2/indexer/lookupAccountCreatedApplications.d.ts +7 -5
  554. package/dist/types/client/v2/indexer/lookupAccountCreatedAssets.d.ts +7 -5
  555. package/dist/types/client/v2/indexer/lookupAccountTransactions.d.ts +11 -9
  556. package/dist/types/client/v2/indexer/lookupApplicationBoxByIDandName.d.ts +6 -7
  557. package/dist/types/client/v2/indexer/lookupApplicationLogs.d.ts +6 -5
  558. package/dist/types/client/v2/indexer/lookupApplications.d.ts +6 -5
  559. package/dist/types/client/v2/indexer/lookupAssetBalances.d.ts +6 -5
  560. package/dist/types/client/v2/indexer/lookupAssetByID.d.ts +6 -5
  561. package/dist/types/client/v2/indexer/lookupAssetTransactions.d.ts +12 -10
  562. package/dist/types/client/v2/indexer/lookupBlock.d.ts +6 -5
  563. package/dist/types/client/v2/indexer/lookupTransactionByID.d.ts +6 -5
  564. package/dist/types/client/v2/indexer/makeHealthCheck.d.ts +5 -2
  565. package/dist/types/client/v2/indexer/models/types.d.ts +513 -267
  566. package/dist/types/client/v2/indexer/searchAccounts.d.ts +7 -3
  567. package/dist/types/client/v2/indexer/searchForApplicationBoxes.d.ts +6 -7
  568. package/dist/types/client/v2/indexer/searchForApplications.d.ts +7 -3
  569. package/dist/types/client/v2/indexer/searchForAssets.d.ts +7 -3
  570. package/dist/types/client/v2/indexer/searchForTransactions.d.ts +11 -7
  571. package/dist/types/client/v2/jsonrequest.d.ts +20 -33
  572. package/dist/types/client/v2/serviceClient.d.ts +4 -18
  573. package/dist/types/client/v2/untypedmodel.d.ts +10 -0
  574. package/dist/types/composer.d.ts +18 -17
  575. package/dist/types/dryrun.d.ts +8 -80
  576. package/dist/types/encoding/address.d.ts +40 -31
  577. package/dist/types/encoding/binarydata.d.ts +30 -0
  578. package/dist/types/encoding/encoding.d.ts +219 -7
  579. package/dist/types/encoding/schema/address.d.ts +10 -0
  580. package/dist/types/encoding/schema/array.d.ts +11 -0
  581. package/dist/types/encoding/schema/binarystring.d.ts +18 -0
  582. package/dist/types/encoding/schema/blockhash.d.ts +16 -0
  583. package/dist/types/encoding/schema/boolean.d.ts +10 -0
  584. package/dist/types/encoding/schema/bytearray.d.ts +19 -0
  585. package/dist/types/encoding/schema/index.d.ts +11 -0
  586. package/dist/types/encoding/schema/map.d.ts +125 -0
  587. package/dist/types/encoding/schema/optional.d.ts +24 -0
  588. package/dist/types/encoding/schema/string.d.ts +9 -0
  589. package/dist/types/encoding/schema/uint64.d.ts +9 -0
  590. package/dist/types/encoding/schema/untyped.d.ts +9 -0
  591. package/dist/types/encoding/uint64.d.ts +1 -0
  592. package/dist/types/group.d.ts +6 -25
  593. package/dist/types/index.d.ts +2 -2
  594. package/dist/types/logic/sourcemap.d.ts +39 -13
  595. package/dist/types/logicsig.d.ts +27 -57
  596. package/dist/types/main.d.ts +43 -54
  597. package/dist/types/makeTxn.d.ts +129 -388
  598. package/dist/types/mnemonic/mnemonic.d.ts +1 -1
  599. package/dist/types/multisig.d.ts +28 -99
  600. package/dist/types/multisigSigning.d.ts +72 -0
  601. package/dist/types/signedTransaction.d.ts +55 -0
  602. package/dist/types/signer.d.ts +5 -5
  603. package/dist/types/signing.d.ts +29 -0
  604. package/dist/types/stateproof.d.ts +194 -0
  605. package/dist/types/transaction.d.ts +103 -182
  606. package/dist/types/types/account.d.ts +2 -1
  607. package/dist/types/types/block.d.ts +407 -0
  608. package/dist/types/types/intDecoding.d.ts +1 -1
  609. package/dist/types/types/statedelta.d.ts +575 -0
  610. package/dist/types/types/transactions/base.d.ts +206 -118
  611. package/dist/types/types/transactions/encoded.d.ts +7 -301
  612. package/dist/types/types/transactions/index.d.ts +2 -15
  613. package/dist/types/types/utils.d.ts +7 -7
  614. package/dist/types/utils/utils.d.ts +21 -16
  615. package/dist/types/wait.d.ts +3 -2
  616. package/package.json +48 -20
  617. package/src/abi/abi_type.ts +28 -18
  618. package/src/abi/contract.ts +7 -1
  619. package/src/abi/event.ts +16 -0
  620. package/src/abi/index.ts +6 -6
  621. package/src/abi/interface.ts +1 -1
  622. package/src/abi/method.ts +22 -8
  623. package/src/abi/transaction.ts +2 -2
  624. package/src/account.ts +5 -5
  625. package/src/boxStorage.ts +25 -23
  626. package/src/client/baseHTTPClient.ts +12 -6
  627. package/src/client/client.ts +147 -75
  628. package/src/client/index.ts +6 -0
  629. package/src/client/kmd.ts +79 -72
  630. package/src/client/urlTokenBaseHTTPClient.ts +25 -14
  631. package/src/client/v2/algod/accountApplicationInformation.ts +16 -9
  632. package/src/client/v2/algod/accountAssetInformation.ts +16 -9
  633. package/src/client/v2/algod/accountInformation.ts +16 -11
  634. package/src/client/v2/algod/algod.ts +83 -105
  635. package/src/client/v2/algod/block.ts +7 -11
  636. package/src/client/v2/algod/compile.ts +27 -19
  637. package/src/client/v2/algod/disassemble.ts +27 -19
  638. package/src/client/v2/algod/dryrun.ts +23 -19
  639. package/src/client/v2/algod/genesis.ts +8 -2
  640. package/src/client/v2/algod/getApplicationBoxByName.ts +10 -15
  641. package/src/client/v2/algod/getApplicationBoxes.ts +12 -13
  642. package/src/client/v2/algod/getApplicationByID.ts +15 -7
  643. package/src/client/v2/algod/getAssetByID.ts +15 -7
  644. package/src/client/v2/algod/getBlockHash.ts +13 -9
  645. package/src/client/v2/algod/getBlockOffsetTimestamp.ts +7 -8
  646. package/src/client/v2/algod/getBlockTxids.ts +12 -6
  647. package/src/client/v2/algod/getLedgerStateDelta.ts +16 -8
  648. package/src/client/v2/algod/getLedgerStateDeltaForTransactionGroup.ts +16 -8
  649. package/src/client/v2/algod/getSyncRound.ts +7 -8
  650. package/src/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.ts +15 -15
  651. package/src/client/v2/algod/getTransactionProof.ts +11 -9
  652. package/src/client/v2/algod/healthCheck.ts +5 -9
  653. package/src/client/v2/algod/index.ts +3 -0
  654. package/src/client/v2/algod/lightBlockHeaderProof.ts +15 -8
  655. package/src/client/v2/algod/models/types.ts +4729 -2254
  656. package/src/client/v2/algod/pendingTransactionInformation.ts +11 -11
  657. package/src/client/v2/algod/pendingTransactions.ts +7 -9
  658. package/src/client/v2/algod/pendingTransactionsByAddress.ts +12 -11
  659. package/src/client/v2/algod/ready.ts +6 -2
  660. package/src/client/v2/algod/sendRawTransaction.ts +24 -13
  661. package/src/client/v2/algod/setBlockOffsetTimestamp.ts +21 -11
  662. package/src/client/v2/algod/setSyncRound.ts +21 -11
  663. package/src/client/v2/algod/simulateTransaction.ts +22 -23
  664. package/src/client/v2/algod/stateproof.ts +15 -8
  665. package/src/client/v2/algod/status.ts +10 -2
  666. package/src/client/v2/algod/statusAfterBlock.ts +15 -7
  667. package/src/client/v2/algod/suggestedParams.ts +40 -10
  668. package/src/client/v2/algod/supply.ts +10 -2
  669. package/src/client/v2/algod/unsetSyncRound.ts +16 -5
  670. package/src/client/v2/algod/versions.ts +10 -2
  671. package/src/client/v2/indexer/index.ts +3 -0
  672. package/src/client/v2/indexer/indexer.ts +51 -59
  673. package/src/client/v2/indexer/lookupAccountAppLocalStates.ts +16 -11
  674. package/src/client/v2/indexer/lookupAccountAssets.ts +16 -11
  675. package/src/client/v2/indexer/lookupAccountByID.ts +16 -11
  676. package/src/client/v2/indexer/lookupAccountCreatedApplications.ts +16 -11
  677. package/src/client/v2/indexer/lookupAccountCreatedAssets.ts +16 -11
  678. package/src/client/v2/indexer/lookupAccountTransactions.ts +26 -19
  679. package/src/client/v2/indexer/lookupApplicationBoxByIDandName.ts +10 -15
  680. package/src/client/v2/indexer/lookupApplicationLogs.ts +15 -7
  681. package/src/client/v2/indexer/lookupApplications.ts +15 -7
  682. package/src/client/v2/indexer/lookupAssetBalances.ts +15 -7
  683. package/src/client/v2/indexer/lookupAssetByID.ts +15 -7
  684. package/src/client/v2/indexer/lookupAssetTransactions.ts +27 -16
  685. package/src/client/v2/indexer/lookupBlock.ts +15 -7
  686. package/src/client/v2/indexer/lookupTransactionByID.ts +15 -7
  687. package/src/client/v2/indexer/makeHealthCheck.ts +10 -2
  688. package/src/client/v2/indexer/models/types.ts +4454 -1988
  689. package/src/client/v2/indexer/searchAccounts.ts +13 -4
  690. package/src/client/v2/indexer/searchForApplicationBoxes.ts +12 -13
  691. package/src/client/v2/indexer/searchForApplications.ts +13 -4
  692. package/src/client/v2/indexer/searchForAssets.ts +13 -4
  693. package/src/client/v2/indexer/searchForTransactions.ts +22 -11
  694. package/src/client/v2/jsonrequest.ts +39 -57
  695. package/src/client/v2/serviceClient.ts +9 -31
  696. package/src/client/v2/untypedmodel.ts +25 -0
  697. package/src/composer.ts +83 -60
  698. package/src/dryrun.ts +129 -306
  699. package/src/encoding/address.ts +134 -146
  700. package/src/encoding/bigint.ts +2 -4
  701. package/src/encoding/binarydata.ts +80 -0
  702. package/src/encoding/encoding.ts +558 -13
  703. package/src/encoding/schema/address.ts +53 -0
  704. package/src/encoding/schema/array.ts +66 -0
  705. package/src/encoding/schema/binarystring.ts +73 -0
  706. package/src/encoding/schema/blockhash.ts +84 -0
  707. package/src/encoding/schema/boolean.ts +54 -0
  708. package/src/encoding/schema/bytearray.ts +127 -0
  709. package/src/encoding/schema/index.ts +26 -0
  710. package/src/encoding/schema/map.ts +713 -0
  711. package/src/encoding/schema/optional.ts +72 -0
  712. package/src/encoding/schema/string.ts +55 -0
  713. package/src/encoding/schema/uint64.ts +46 -0
  714. package/src/encoding/schema/untyped.ts +47 -0
  715. package/src/encoding/uint64.ts +2 -1
  716. package/src/group.ts +27 -75
  717. package/src/index.ts +2 -2
  718. package/src/logic/sourcemap.ts +94 -29
  719. package/src/logicsig.ts +154 -202
  720. package/src/main.ts +91 -94
  721. package/src/makeTxn.ts +670 -1320
  722. package/src/mnemonic/mnemonic.ts +14 -14
  723. package/src/multisig.ts +89 -403
  724. package/src/multisigSigning.ts +359 -0
  725. package/src/nacl/naclWrappers.ts +1 -1
  726. package/src/signedTransaction.ts +163 -0
  727. package/src/signer.ts +10 -5
  728. package/src/signing.ts +95 -0
  729. package/src/stateproof.ts +595 -0
  730. package/src/transaction.ts +986 -1242
  731. package/src/types/account.ts +3 -1
  732. package/src/types/block.ts +1278 -0
  733. package/src/types/intDecoding.ts +1 -1
  734. package/src/types/statedelta.ts +1717 -0
  735. package/src/types/transactions/base.ts +230 -122
  736. package/src/types/transactions/encoded.ts +81 -371
  737. package/src/types/transactions/index.ts +2 -72
  738. package/src/types/utils.ts +3 -3
  739. package/src/utils/utils.ts +96 -25
  740. package/src/wait.ts +8 -7
  741. package/dist/cjs/bid.js +0 -83
  742. package/dist/cjs/bid.js.map +0 -1
  743. package/dist/cjs/client/v2/basemodel.js +0 -67
  744. package/dist/cjs/client/v2/basemodel.js.map +0 -1
  745. package/dist/cjs/types/address.js +0 -3
  746. package/dist/cjs/types/address.js.map +0 -1
  747. package/dist/cjs/types/blockHeader.js +0 -3
  748. package/dist/cjs/types/blockHeader.js.map +0 -1
  749. package/dist/cjs/types/index.js.map +0 -1
  750. package/dist/cjs/types/multisig.js +0 -3
  751. package/dist/cjs/types/multisig.js.map +0 -1
  752. package/dist/cjs/types/transactions/application.js +0 -3
  753. package/dist/cjs/types/transactions/application.js.map +0 -1
  754. package/dist/cjs/types/transactions/asset.js.map +0 -1
  755. package/dist/cjs/types/transactions/builder.js +0 -3
  756. package/dist/cjs/types/transactions/builder.js.map +0 -1
  757. package/dist/cjs/types/transactions/keyreg.js +0 -3
  758. package/dist/cjs/types/transactions/keyreg.js.map +0 -1
  759. package/dist/cjs/types/transactions/payment.js +0 -3
  760. package/dist/cjs/types/transactions/payment.js.map +0 -1
  761. package/dist/cjs/types/transactions/stateproof.js +0 -3
  762. package/dist/cjs/types/transactions/stateproof.js.map +0 -1
  763. package/dist/esm/bid.js +0 -57
  764. package/dist/esm/bid.js.map +0 -1
  765. package/dist/esm/client/v2/basemodel.js +0 -64
  766. package/dist/esm/client/v2/basemodel.js.map +0 -1
  767. package/dist/esm/types/address.js +0 -2
  768. package/dist/esm/types/address.js.map +0 -1
  769. package/dist/esm/types/blockHeader.js +0 -2
  770. package/dist/esm/types/blockHeader.js.map +0 -1
  771. package/dist/esm/types/index.js +0 -4
  772. package/dist/esm/types/index.js.map +0 -1
  773. package/dist/esm/types/multisig.js +0 -2
  774. package/dist/esm/types/multisig.js.map +0 -1
  775. package/dist/esm/types/transactions/application.js +0 -2
  776. package/dist/esm/types/transactions/application.js.map +0 -1
  777. package/dist/esm/types/transactions/asset.js +0 -2
  778. package/dist/esm/types/transactions/asset.js.map +0 -1
  779. package/dist/esm/types/transactions/builder.js +0 -2
  780. package/dist/esm/types/transactions/builder.js.map +0 -1
  781. package/dist/esm/types/transactions/keyreg.js +0 -2
  782. package/dist/esm/types/transactions/keyreg.js.map +0 -1
  783. package/dist/esm/types/transactions/payment.js +0 -2
  784. package/dist/esm/types/transactions/payment.js.map +0 -1
  785. package/dist/esm/types/transactions/stateproof.js +0 -2
  786. package/dist/esm/types/transactions/stateproof.js.map +0 -1
  787. package/dist/types/bid.d.ts +0 -38
  788. package/dist/types/client/v2/basemodel.d.ts +0 -11
  789. package/dist/types/types/address.d.ts +0 -7
  790. package/dist/types/types/blockHeader.d.ts +0 -67
  791. package/dist/types/types/index.d.ts +0 -3
  792. package/dist/types/types/multisig.d.ts +0 -20
  793. package/dist/types/types/transactions/application.d.ts +0 -22
  794. package/dist/types/types/transactions/asset.d.ts +0 -28
  795. package/dist/types/types/transactions/builder.d.ts +0 -36
  796. package/dist/types/types/transactions/keyreg.d.ts +0 -8
  797. package/dist/types/types/transactions/payment.d.ts +0 -8
  798. package/dist/types/types/transactions/stateproof.d.ts +0 -8
  799. package/src/bid.ts +0 -96
  800. package/src/client/v2/basemodel.ts +0 -81
  801. package/src/types/address.ts +0 -7
  802. package/src/types/blockHeader.ts +0 -81
  803. package/src/types/index.ts +0 -3
  804. package/src/types/multisig.ts +0 -22
  805. package/src/types/transactions/application.ts +0 -111
  806. package/src/types/transactions/asset.ts +0 -108
  807. package/src/types/transactions/builder.ts +0 -69
  808. package/src/types/transactions/keyreg.ts +0 -23
  809. package/src/types/transactions/payment.ts +0 -14
  810. package/src/types/transactions/stateproof.ts +0 -17
@@ -1,16 +1,10 @@
1
- import { Buffer } from 'buffer';
2
- import { Application, ApplicationParams, ApplicationStateSchema, DryrunRequest, } from './client/v2/algod/models/types';
3
- import { TransactionType } from './types/transactions';
4
- import { encodeAddress, getApplicationAddress } from './encoding/address';
1
+ import { Application, ApplicationParams, ApplicationStateSchema, DryrunRequest, } from './client/v2/algod/models/types.js';
2
+ import { getApplicationAddress } from './encoding/address.js';
3
+ import { bytesToHex } from './encoding/binarydata.js';
4
+ import { TransactionType } from './types/transactions/index.js';
5
+ import { stringifyJSON } from './utils/utils.js';
5
6
  const defaultAppId = 1380011588;
6
7
  const defaultMaxWidth = 30;
7
- function decodePrograms(ap) {
8
- // eslint-disable-next-line no-param-reassign
9
- ap.params['approval-program'] = Buffer.from(ap.params['approval-program'].toString(), 'base64');
10
- // eslint-disable-next-line no-param-reassign
11
- ap.params['clear-state-program'] = Buffer.from(ap.params['clear-state-program'].toString(), 'base64');
12
- return ap;
13
- }
14
8
  /**
15
9
  * createDryrun takes an Algod Client (from algod.AlgodV2Client) and an array of Signed Transactions
16
10
  * from (transaction.SignedTransaction) and creates a DryrunRequest object with relevant balances
@@ -18,6 +12,8 @@ function decodePrograms(ap) {
18
12
  * @param txns - the array of SignedTransaction to use for generating the DryrunRequest object
19
13
  * @param protocolVersion - the string representing the protocol version to use
20
14
  * @param latestTimestamp - the timestamp
15
+ * @param round - the round available to some TEAL scripts. Defaults to the current round on the network.
16
+ * @param sources - TEAL source text that gets uploaded, compiled, and inserted into transactions or application state.
21
17
  * @returns the DryrunRequest object constructed from the SignedTransactions passed
22
18
  */
23
19
  export async function createDryrun({ client, txns, protocolVersion, latestTimestamp, round, sources, }) {
@@ -28,43 +24,42 @@ export async function createDryrun({ client, txns, protocolVersion, latestTimest
28
24
  const accts = [];
29
25
  for (const t of txns) {
30
26
  if (t.txn.type === TransactionType.appl) {
31
- accts.push(encodeAddress(t.txn.from.publicKey));
32
- if (t.txn.appAccounts)
33
- accts.push(...t.txn.appAccounts.map((a) => encodeAddress(a.publicKey)));
34
- if (t.txn.appForeignApps) {
35
- apps.push(...t.txn.appForeignApps);
36
- accts.push(...t.txn.appForeignApps.map((aidx) => getApplicationAddress(aidx)));
37
- }
38
- if (t.txn.appForeignAssets)
39
- assets.push(...t.txn.appForeignAssets);
27
+ accts.push(t.txn.sender.toString());
28
+ accts.push(...t.txn.applicationCall.accounts.map((a) => a.toString()));
29
+ apps.push(...t.txn.applicationCall.foreignApps);
30
+ accts.push(...t.txn
31
+ .applicationCall.foreignApps.map(getApplicationAddress)
32
+ .map((a) => a.toString()));
33
+ assets.push(...t.txn.applicationCall.foreignAssets);
40
34
  // Create application,
41
- if (t.txn.appIndex === undefined || t.txn.appIndex === 0) {
35
+ if (t.txn.applicationCall.appIndex === BigInt(0)) {
42
36
  appInfos.push(new Application({
43
37
  id: defaultAppId,
44
38
  params: new ApplicationParams({
45
- creator: encodeAddress(t.txn.from.publicKey),
46
- approvalProgram: t.txn.appApprovalProgram,
47
- clearStateProgram: t.txn.appClearProgram,
39
+ creator: t.txn.sender.toString(),
40
+ approvalProgram: t.txn.applicationCall.approvalProgram,
41
+ clearStateProgram: t.txn.applicationCall.clearProgram,
48
42
  localStateSchema: new ApplicationStateSchema({
49
- numUint: t.txn.appLocalInts,
50
- numByteSlice: t.txn.appLocalByteSlices,
43
+ numUint: t.txn.applicationCall.numLocalInts,
44
+ numByteSlice: t.txn.applicationCall.numLocalByteSlices,
51
45
  }),
52
46
  globalStateSchema: new ApplicationStateSchema({
53
- numUint: t.txn.appGlobalInts,
54
- numByteSlice: t.txn.appGlobalByteSlices,
47
+ numUint: t.txn.applicationCall.numGlobalInts,
48
+ numByteSlice: t.txn.applicationCall.numGlobalByteSlices,
55
49
  }),
56
50
  }),
57
51
  }));
58
52
  }
59
53
  else {
60
- apps.push(t.txn.appIndex);
61
- accts.push(getApplicationAddress(t.txn.appIndex));
54
+ const { appIndex } = t.txn.applicationCall;
55
+ apps.push(appIndex);
56
+ accts.push(getApplicationAddress(appIndex).toString());
62
57
  }
63
58
  }
64
59
  }
65
60
  // Dedupe and add creator to accts array
66
61
  const assetPromises = [];
67
- for (const assetId of [...new Set(assets)]) {
62
+ for (const assetId of new Set(assets)) {
68
63
  assetPromises.push(client
69
64
  .getAssetByID(assetId)
70
65
  .do()
@@ -76,79 +71,36 @@ export async function createDryrun({ client, txns, protocolVersion, latestTimest
76
71
  await Promise.all(assetPromises);
77
72
  // Dedupe and get app info for all apps
78
73
  const appPromises = [];
79
- for (const appId of [...new Set(apps)]) {
74
+ for (const appId of new Set(apps)) {
80
75
  appPromises.push(client
81
76
  .getApplicationByID(appId)
82
77
  .do()
83
78
  .then((appInfo) => {
84
- const ai = decodePrograms(appInfo);
85
- appInfos.push(ai);
86
- accts.push(ai.params.creator);
79
+ appInfos.push(appInfo);
80
+ accts.push(appInfo.params.creator.toString());
87
81
  }));
88
82
  }
89
83
  await Promise.all(appPromises);
90
84
  const acctPromises = [];
91
- for (const acct of [...new Set(accts)]) {
85
+ for (const acct of new Set(accts)) {
92
86
  acctPromises.push(client
93
87
  .accountInformation(acct)
94
88
  .do()
95
89
  .then((acctInfo) => {
96
- if ('created-apps' in acctInfo) {
97
- // eslint-disable-next-line no-param-reassign
98
- acctInfo['created-apps'] = acctInfo['created-apps'].map((app) => decodePrograms(app));
99
- }
100
90
  acctInfos.push(acctInfo);
101
91
  }));
102
92
  }
103
93
  await Promise.all(acctPromises);
104
94
  return new DryrunRequest({
105
- txns: txns.map((st) => ({ ...st, txn: st.txn.get_obj_for_encoding() })),
95
+ txns: txns.slice(),
106
96
  accounts: acctInfos,
107
97
  apps: appInfos,
108
- latestTimestamp,
109
- round,
110
- protocolVersion,
111
- sources,
98
+ latestTimestamp: latestTimestamp ?? 0,
99
+ round: round ?? 0,
100
+ protocolVersion: protocolVersion ?? '',
101
+ sources: sources ?? [],
112
102
  });
113
103
  }
114
- class DryrunStackValue {
115
- constructor(sv) {
116
- this.type = 0;
117
- this.bytes = '';
118
- this.uint = 0;
119
- this.type = sv.type;
120
- this.bytes = sv.bytes;
121
- this.uint = sv.uint;
122
- }
123
- toString() {
124
- if (this.type === 1) {
125
- return `0x${Buffer.from(this.bytes, 'base64').toString('hex')}`;
126
- }
127
- return this.uint.toString();
128
- }
129
- }
130
- class DryrunTraceLine {
131
- constructor(line) {
132
- this.error = '';
133
- this.line = 0;
134
- this.pc = 0;
135
- this.scratch = [];
136
- this.stack = [];
137
- this.error = line.error === undefined ? '' : line.error;
138
- this.line = line.line;
139
- this.pc = line.pc;
140
- this.scratch = line.scratch;
141
- this.stack = line.stack.map((sv) => new DryrunStackValue(sv));
142
- }
143
- }
144
- class DryrunTrace {
145
- constructor(t) {
146
- this.trace = [];
147
- if (t == null)
148
- return;
149
- this.trace = t.map((line) => new DryrunTraceLine(line));
150
- }
151
- }
152
104
  function truncate(str, maxValueWidth) {
153
105
  if (str.length > maxValueWidth && maxValueWidth > 0) {
154
106
  return `${str.slice(0, maxValueWidth)}...`;
@@ -164,7 +116,7 @@ function scratchToString(prevScratch, currScratch) {
164
116
  newScratchIdx = idx;
165
117
  continue;
166
118
  }
167
- if (JSON.stringify(prevScratch[idx]) !== JSON.stringify(currScratch[idx])) {
119
+ if (stringifyJSON(prevScratch[idx]) !== stringifyJSON(currScratch[idx])) {
168
120
  newScratchIdx = idx;
169
121
  }
170
122
  }
@@ -172,7 +124,7 @@ function scratchToString(prevScratch, currScratch) {
172
124
  return '';
173
125
  const newScratch = currScratch[newScratchIdx];
174
126
  if (newScratch.bytes.length > 0) {
175
- return `${newScratchIdx} = 0x${Buffer.from(newScratch.bytes, 'base64').toString('hex')}`;
127
+ return `${newScratchIdx} = 0x${bytesToHex(newScratch.bytes)}`;
176
128
  }
177
129
  return `${newScratchIdx} = ${newScratch.uint.toString()}`;
178
130
  }
@@ -182,124 +134,75 @@ function stackToString(stack, reverse) {
182
134
  .map((sv) => {
183
135
  switch (sv.type) {
184
136
  case 1:
185
- return `0x${Buffer.from(sv.bytes, 'base64').toString('hex')}`;
137
+ return `0x${bytesToHex(sv.bytes)}`;
186
138
  case 2:
187
- return `${sv.uint.toString()}`;
139
+ return sv.uint.toString();
188
140
  default:
189
141
  return '';
190
142
  }
191
143
  })
192
144
  .join(', ')}]`;
193
145
  }
194
- class DryrunTransactionResult {
195
- constructor(dtr) {
196
- this.disassembly = [];
197
- this.appCallMessages = [];
198
- this.localDeltas = [];
199
- this.globalDelta = [];
200
- this.cost = 0;
201
- this.logicSigMessages = [];
202
- this.logicSigDisassembly = [];
203
- this.logs = [];
204
- this.appCallTrace = undefined;
205
- this.logicSigTrace = undefined;
206
- this.required = ['disassembly'];
207
- this.optionals = [
208
- 'app-call-messages',
209
- 'local-deltas',
210
- 'global-delta',
211
- 'cost',
212
- 'logic-sig-messages',
213
- 'logic-sig-disassembly',
214
- 'logs',
215
- ];
216
- this.traces = ['app-call-trace', 'logic-sig-trace'];
217
- this.disassembly = dtr.disassembly;
218
- this.appCallMessages = dtr['app-call-messages'];
219
- this.localDeltas = dtr['local-deltas'];
220
- this.globalDelta = dtr['global-delta'];
221
- this.cost = dtr.cost;
222
- this.logicSigMessages = dtr['logic-sig-messages'];
223
- this.logicSigDisassembly = dtr['logic-sig-disassembly'];
224
- this.logs = dtr.logs;
225
- this.appCallTrace = new DryrunTrace(dtr['app-call-trace']);
226
- this.logicSigTrace = new DryrunTrace(dtr['logic-sig-trace']);
227
- }
228
- appCallRejected() {
229
- return (this.appCallMessages !== undefined &&
230
- this.appCallMessages.includes('REJECT'));
231
- }
232
- logicSigRejected() {
233
- return (this.logicSigMessages !== undefined &&
234
- this.logicSigMessages.includes('REJECT'));
235
- }
236
- static trace(drt, disassembly, spc) {
237
- const maxWidth = spc.maxValueWidth || defaultMaxWidth;
238
- // Create the array of arrays, each sub array contains N columns
239
- const lines = [['pc#', 'ln#', 'source', 'scratch', 'stack']];
240
- for (let idx = 0; idx < drt.trace.length; idx++) {
241
- const { line, error, pc, scratch, stack } = drt.trace[idx];
242
- const currScratch = scratch !== undefined ? scratch : [];
243
- const prevScratch = idx > 0 && drt.trace[idx - 1].scratch !== undefined
244
- ? drt.trace[idx - 1].scratch
245
- : [];
246
- const src = error === '' ? disassembly[line] : `!! ${error} !!`;
247
- lines.push([
248
- pc.toString().padEnd(3, ' '),
249
- line.toString().padEnd(3, ' '),
250
- truncate(src, maxWidth),
251
- truncate(scratchToString(prevScratch, currScratch), maxWidth),
252
- truncate(stackToString(stack, spc.topOfStackFirst), maxWidth),
253
- ]);
146
+ function dryrunTrace(trace, disassembly, spc) {
147
+ const maxWidth = spc.maxValueWidth || defaultMaxWidth;
148
+ // Create the array of arrays, each sub array contains N columns
149
+ const lines = [['pc#', 'ln#', 'source', 'scratch', 'stack']];
150
+ for (let idx = 0; idx < trace.length; idx++) {
151
+ const { line, error, pc, scratch, stack } = trace[idx];
152
+ const currScratch = scratch !== undefined ? scratch : [];
153
+ const prevScratch = idx > 0 && trace[idx - 1].scratch !== undefined
154
+ ? trace[idx - 1].scratch
155
+ : [];
156
+ const src = !error ? disassembly[line] : `!! ${error} !!`;
157
+ lines.push([
158
+ pc.toString().padEnd(3, ' '),
159
+ line.toString().padEnd(3, ' '),
160
+ truncate(src, maxWidth),
161
+ truncate(scratchToString(prevScratch, currScratch), maxWidth),
162
+ truncate(stackToString(stack, spc.topOfStackFirst), maxWidth),
163
+ ]);
164
+ }
165
+ // Get the max length for each column
166
+ const maxLengths = lines.reduce((prev, curr) => {
167
+ const newVal = new Array(lines[0].length).fill(0);
168
+ for (let idx = 0; idx < prev.length; idx++) {
169
+ newVal[idx] = curr[idx].length > prev[idx] ? curr[idx].length : prev[idx];
254
170
  }
255
- // Get the max length for each column
256
- const maxLengths = lines.reduce((prev, curr) => {
257
- const newVal = new Array(lines[0].length).fill(0);
258
- for (let idx = 0; idx < prev.length; idx++) {
259
- newVal[idx] =
260
- curr[idx].length > prev[idx] ? curr[idx].length : prev[idx];
261
- }
262
- return newVal;
263
- }, new Array(lines[0].length).fill(0));
264
- return `${lines
265
- .map((line) => line
266
- .map((v, idx) => v.padEnd(maxLengths[idx] + 1, ' '))
267
- .join('|')
268
- .trim())
269
- .join('\n')}\n`;
270
- }
271
- appTrace(spc) {
272
- if (this.appCallTrace === undefined || !this.disassembly)
273
- return '';
274
- let conf = spc;
275
- if (spc === undefined)
276
- conf = {
277
- maxValueWidth: defaultMaxWidth,
278
- topOfStackFirst: false,
279
- };
280
- return DryrunTransactionResult.trace(this.appCallTrace, this.disassembly, conf);
281
- }
282
- lsigTrace(spc) {
283
- if (this.logicSigTrace === undefined ||
284
- this.logicSigDisassembly === undefined)
285
- return '';
286
- let conf = spc;
287
- if (spc === undefined)
288
- conf = {
289
- maxValueWidth: defaultMaxWidth,
290
- topOfStackFirst: true,
291
- };
292
- return DryrunTransactionResult.trace(this.logicSigTrace, this.logicSigDisassembly, conf);
293
- }
171
+ return newVal;
172
+ }, new Array(lines[0].length).fill(0));
173
+ return `${lines
174
+ .map((line) => line
175
+ .map((v, idx) => v.padEnd(maxLengths[idx] + 1, ' '))
176
+ .join('|')
177
+ .trim())
178
+ .join('\n')}\n`;
294
179
  }
295
- export class DryrunResult {
296
- constructor(drrResp) {
297
- this.error = '';
298
- this.protocolVersion = '';
299
- this.txns = [];
300
- this.error = drrResp.error;
301
- this.protocolVersion = drrResp['protocol-version'];
302
- this.txns = drrResp.txns.map((txn) => new DryrunTransactionResult(txn));
303
- }
180
+ export function dryrunTxnResultAppTrace(result, spc) {
181
+ if (!result.appCallTrace || !result.disassembly)
182
+ return '';
183
+ let conf = spc;
184
+ if (spc !== undefined)
185
+ conf = spc;
186
+ else {
187
+ conf = {
188
+ maxValueWidth: defaultMaxWidth,
189
+ topOfStackFirst: false,
190
+ };
191
+ }
192
+ return dryrunTrace(result.appCallTrace, result.disassembly, conf);
193
+ }
194
+ export function dryrunTxnResultLogicSigTrace(result, spc) {
195
+ if (!result.logicSigTrace || !result.logicSigDisassembly)
196
+ return '';
197
+ let conf;
198
+ if (spc !== undefined)
199
+ conf = spc;
200
+ else {
201
+ conf = {
202
+ maxValueWidth: defaultMaxWidth,
203
+ topOfStackFirst: true,
204
+ };
205
+ }
206
+ return dryrunTrace(result.logicSigTrace, result.logicSigDisassembly, conf);
304
207
  }
305
208
  //# sourceMappingURL=dryrun.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dryrun.js","sourceRoot":"","sources":["../../src/dryrun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dryrun.js","sourceRoot":"","sources":["../../src/dryrun.ts"],"names":[],"mappings":"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"}
@@ -1,58 +1,94 @@
1
- import { Buffer } from 'buffer';
2
1
  import base32 from 'hi-base32';
3
- import * as nacl from '../nacl/naclWrappers';
4
- import * as utils from '../utils/utils';
5
- import { encodeUint64 } from './uint64';
6
- const ALGORAND_ADDRESS_BYTE_LENGTH = 36;
7
- const ALGORAND_CHECKSUM_BYTE_LENGTH = 4;
8
- const ALGORAND_ADDRESS_LENGTH = 58;
2
+ import * as nacl from '../nacl/naclWrappers.js';
3
+ import * as utils from '../utils/utils.js';
4
+ import { encodeUint64 } from './uint64.js';
5
+ import { bytesToHex } from './binarydata.js';
6
+ export const ALGORAND_ADDRESS_BYTE_LENGTH = 36;
7
+ export const ALGORAND_CHECKSUM_BYTE_LENGTH = 4;
8
+ export const ALGORAND_ADDRESS_LENGTH = 58;
9
9
  export const ALGORAND_ZERO_ADDRESS_STRING = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ';
10
- // Convert "MultisigAddr" UTF-8 to byte array
11
- const MULTISIG_PREIMG2ADDR_PREFIX = new Uint8Array([
12
- 77,
13
- 117,
14
- 108,
15
- 116,
16
- 105,
17
- 115,
18
- 105,
19
- 103,
20
- 65,
21
- 100,
22
- 100,
23
- 114,
24
- ]);
25
- const APP_ID_PREFIX = Buffer.from('appID');
26
10
  export const MALFORMED_ADDRESS_ERROR_MSG = 'address seems to be malformed';
27
11
  export const CHECKSUM_ADDRESS_ERROR_MSG = 'wrong checksum for address';
28
- export const INVALID_MSIG_VERSION_ERROR_MSG = 'invalid multisig version';
29
- export const INVALID_MSIG_THRESHOLD_ERROR_MSG = 'bad multisig threshold';
30
- export const INVALID_MSIG_PK_ERROR_MSG = 'bad multisig public key - wrong length';
31
- export const UNEXPECTED_PK_LEN_ERROR_MSG = 'nacl public key length is not 32 bytes';
12
+ function checksumFromPublicKey(pk) {
13
+ return Uint8Array.from(nacl
14
+ .genericHash(pk)
15
+ .slice(nacl.HASH_BYTES_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, nacl.HASH_BYTES_LENGTH));
16
+ }
17
+ /**
18
+ * Represents an Algorand address
19
+ */
20
+ export class Address {
21
+ /**
22
+ * Create a new Address object from its binary form.
23
+ * @param publicKey - The binary form of the address. Must be 32 bytes.
24
+ */
25
+ constructor(publicKey) {
26
+ if (!(publicKey instanceof Uint8Array)) {
27
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: ${publicKey} is not Uint8Array, type ${typeof publicKey}`);
28
+ }
29
+ if (publicKey.length !==
30
+ ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH)
31
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: 0x${bytesToHex(publicKey)}, length ${publicKey.length}`);
32
+ this.publicKey = publicKey;
33
+ }
34
+ /**
35
+ * Check if the address is equal to another address.
36
+ */
37
+ equals(other) {
38
+ return (other instanceof Address &&
39
+ utils.arrayEqual(this.publicKey, other.publicKey));
40
+ }
41
+ /**
42
+ * Compute the 4 byte checksum of the address.
43
+ */
44
+ checksum() {
45
+ return checksumFromPublicKey(this.publicKey);
46
+ }
47
+ /**
48
+ * Encode the address into a string form.
49
+ */
50
+ toString() {
51
+ const addr = base32.encode(utils.concatArrays(this.publicKey, this.checksum()));
52
+ return addr.slice(0, ALGORAND_ADDRESS_LENGTH); // removing the extra '===='
53
+ }
54
+ /**
55
+ * Decode an address from a string.
56
+ * @param address - The address to decode. Must be 58 bytes long.
57
+ * @returns An Address object corresponding to the input string.
58
+ */
59
+ static fromString(address) {
60
+ if (typeof address !== 'string')
61
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected string, got ${typeof address}, ${address}`);
62
+ if (address.length !== ALGORAND_ADDRESS_LENGTH)
63
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected length ${ALGORAND_ADDRESS_LENGTH}, got ${address.length}: ${address}`);
64
+ // try to decode
65
+ const decoded = base32.decode.asBytes(address);
66
+ // Sanity check
67
+ if (decoded.length !== ALGORAND_ADDRESS_BYTE_LENGTH)
68
+ throw new Error(`${MALFORMED_ADDRESS_ERROR_MSG}: expected byte length ${ALGORAND_ADDRESS_BYTE_LENGTH}, got ${decoded.length}`);
69
+ // Find publickey and checksum
70
+ const pk = new Uint8Array(decoded.slice(0, ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH));
71
+ const cs = new Uint8Array(decoded.slice(nacl.PUBLIC_KEY_LENGTH, ALGORAND_ADDRESS_BYTE_LENGTH));
72
+ const checksum = checksumFromPublicKey(pk);
73
+ // Check if the checksum and the address are equal
74
+ if (!utils.arrayEqual(checksum, cs))
75
+ throw new Error(CHECKSUM_ADDRESS_ERROR_MSG);
76
+ return new Address(pk);
77
+ }
78
+ /**
79
+ * Get the zero address.
80
+ */
81
+ static zeroAddress() {
82
+ return new Address(new Uint8Array(ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH));
83
+ }
84
+ }
32
85
  /**
33
86
  * decodeAddress takes an Algorand address in string form and decodes it into a Uint8Array.
34
87
  * @param address - an Algorand address with checksum.
35
88
  * @returns the decoded form of the address's public key and checksum
36
89
  */
37
90
  export function decodeAddress(address) {
38
- if (typeof address !== 'string' || address.length !== ALGORAND_ADDRESS_LENGTH)
39
- throw new Error(MALFORMED_ADDRESS_ERROR_MSG);
40
- // try to decode
41
- const decoded = base32.decode.asBytes(address.toString());
42
- // Sanity check
43
- if (decoded.length !== ALGORAND_ADDRESS_BYTE_LENGTH)
44
- throw new Error(MALFORMED_ADDRESS_ERROR_MSG);
45
- // Find publickey and checksum
46
- const pk = new Uint8Array(decoded.slice(0, ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH));
47
- const cs = new Uint8Array(decoded.slice(nacl.PUBLIC_KEY_LENGTH, ALGORAND_ADDRESS_BYTE_LENGTH));
48
- // Compute checksum
49
- const checksum = nacl
50
- .genericHash(pk)
51
- .slice(nacl.HASH_BYTES_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, nacl.HASH_BYTES_LENGTH);
52
- // Check if the checksum and the address are equal
53
- if (!utils.arrayEqual(checksum, cs))
54
- throw new Error(CHECKSUM_ADDRESS_ERROR_MSG);
55
- return { publicKey: pk, checksum: cs };
91
+ return Address.fromString(address);
56
92
  }
57
93
  /**
58
94
  * isValidAddress checks if a string is a valid Algorand address.
@@ -62,7 +98,7 @@ export function decodeAddress(address) {
62
98
  export function isValidAddress(address) {
63
99
  // Try to decode
64
100
  try {
65
- decodeAddress(address);
101
+ Address.fromString(address);
66
102
  }
67
103
  catch (e) {
68
104
  return false;
@@ -75,60 +111,9 @@ export function isValidAddress(address) {
75
111
  * @returns the address and checksum encoded as a string.
76
112
  */
77
113
  export function encodeAddress(address) {
78
- // compute checksum
79
- const checksum = nacl
80
- .genericHash(address)
81
- .slice(nacl.PUBLIC_KEY_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH, nacl.PUBLIC_KEY_LENGTH);
82
- const addr = base32.encode(utils.concatArrays(address, checksum));
83
- return addr.toString().slice(0, ALGORAND_ADDRESS_LENGTH); // removing the extra '===='
84
- }
85
- /**
86
- * fromMultisigPreImg takes multisig parameters and returns a 32 byte typed array public key,
87
- * representing an address that identifies the "exact group, version, and public keys" that are required for signing.
88
- * Hash("MultisigAddr" || version uint8 || threshold uint8 || PK1 || PK2 || ...)
89
- * Encoding this output yields a human readable address.
90
- * @param version - multisig version
91
- * @param threshold - multisig threshold
92
- * @param pks - array of typed array public keys
93
- */
94
- export function fromMultisigPreImg({ version, threshold, pks, }) {
95
- if (version !== 1 || version > 255 || version < 0) {
96
- // ^ a tad redundant, but in case in the future version != 1, still check for uint8
97
- throw new Error(INVALID_MSIG_VERSION_ERROR_MSG);
98
- }
99
- if (threshold === 0 ||
100
- pks.length === 0 ||
101
- threshold > pks.length ||
102
- threshold > 255) {
103
- throw new Error(INVALID_MSIG_THRESHOLD_ERROR_MSG);
104
- }
105
- const pkLen = ALGORAND_ADDRESS_BYTE_LENGTH - ALGORAND_CHECKSUM_BYTE_LENGTH;
106
- if (pkLen !== nacl.PUBLIC_KEY_LENGTH) {
107
- throw new Error(UNEXPECTED_PK_LEN_ERROR_MSG);
108
- }
109
- const merged = new Uint8Array(MULTISIG_PREIMG2ADDR_PREFIX.length + 2 + pkLen * pks.length);
110
- merged.set(MULTISIG_PREIMG2ADDR_PREFIX, 0);
111
- merged.set([version], MULTISIG_PREIMG2ADDR_PREFIX.length);
112
- merged.set([threshold], MULTISIG_PREIMG2ADDR_PREFIX.length + 1);
113
- for (let i = 0; i < pks.length; i++) {
114
- if (pks[i].length !== pkLen) {
115
- throw new Error(INVALID_MSIG_PK_ERROR_MSG);
116
- }
117
- merged.set(pks[i], MULTISIG_PREIMG2ADDR_PREFIX.length + 2 + i * pkLen);
118
- }
119
- return new Uint8Array(nacl.genericHash(merged));
120
- }
121
- /**
122
- * fromMultisigPreImgAddrs takes multisig parameters and returns a human readable Algorand address.
123
- * This is equivalent to fromMultisigPreImg, but interfaces with encoded addresses.
124
- * @param version - multisig version
125
- * @param threshold - multisig threshold
126
- * @param addrs - array of encoded addresses
127
- */
128
- export function fromMultisigPreImgAddrs({ version, threshold, addrs, }) {
129
- const pks = addrs.map((addr) => decodeAddress(addr).publicKey);
130
- return encodeAddress(fromMultisigPreImg({ version, threshold, pks }));
114
+ return new Address(address).toString();
131
115
  }
116
+ const APP_ID_PREFIX = new TextEncoder().encode('appID');
132
117
  /**
133
118
  * Get the escrow address of an application.
134
119
  * @param appID - The ID of the application.
@@ -137,6 +122,6 @@ export function fromMultisigPreImgAddrs({ version, threshold, addrs, }) {
137
122
  export function getApplicationAddress(appID) {
138
123
  const toBeSigned = utils.concatArrays(APP_ID_PREFIX, encodeUint64(appID));
139
124
  const hash = nacl.genericHash(toBeSigned);
140
- return encodeAddress(new Uint8Array(hash));
125
+ return new Address(Uint8Array.from(hash));
141
126
  }
142
127
  //# sourceMappingURL=address.js.map