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
package/src/composer.ts CHANGED
@@ -1,4 +1,3 @@
1
- import { Buffer } from 'buffer';
2
1
  import {
3
2
  ABIAddressType,
4
3
  abiCheckTransactionType,
@@ -10,32 +9,35 @@ import {
10
9
  abiTypeIsTransaction,
11
10
  ABIUintType,
12
11
  ABIValue,
13
- } from './abi';
14
- import Algodv2 from './client/v2/algod/algod';
12
+ } from './abi/index.js';
13
+ import { AlgodClient } from './client/v2/algod/algod.js';
15
14
  import {
16
- SimulateResponse,
17
15
  SimulateRequest,
18
16
  SimulateRequestTransactionGroup,
19
- } from './client/v2/algod/models/types';
20
- import { EncodedSignedTransaction } from './types';
21
- import { assignGroupID } from './group';
22
- import { makeApplicationCallTxnFromObject } from './makeTxn';
17
+ PendingTransactionResponse,
18
+ SimulateResponse,
19
+ } from './client/v2/algod/models/types.js';
20
+ import * as encoding from './encoding/encoding.js';
21
+ import { Address } from './encoding/address.js';
22
+ import { assignGroupID } from './group.js';
23
+ import { makeApplicationCallTxnFromObject } from './makeTxn.js';
23
24
  import {
24
25
  isTransactionWithSigner,
25
26
  TransactionSigner,
26
27
  TransactionWithSigner,
27
- } from './signer';
28
- import { decodeSignedTransaction, Transaction } from './transaction';
28
+ } from './signer.js';
29
+ import { Transaction } from './transaction.js';
30
+ import { SignedTransaction } from './signedTransaction.js';
29
31
  import {
30
32
  BoxReference,
31
33
  OnApplicationComplete,
32
34
  SuggestedParams,
33
- } from './types/transactions/base';
34
- import { waitForConfirmation } from './wait';
35
- import * as encoding from './encoding/encoding';
35
+ } from './types/transactions/base.js';
36
+ import { arrayEqual, stringifyJSON, ensureUint64 } from './utils/utils.js';
37
+ import { waitForConfirmation } from './wait.js';
36
38
 
37
39
  // First 4 bytes of SHA-512/256 hash of "return"
38
- const RETURN_PREFIX = Buffer.from([21, 31, 124, 117]);
40
+ const RETURN_PREFIX = new Uint8Array([21, 31, 124, 117]);
39
41
 
40
42
  // The maximum number of arguments for an application call transaction
41
43
  const MAX_APP_ARGS = 16;
@@ -63,7 +65,7 @@ export interface ABIResult {
63
65
  /** If the SDK was unable to decode a return value, the error will be here. */
64
66
  decodeError?: Error;
65
67
  /** The pending transaction information from the method transaction */
66
- txInfo?: Record<string, any>;
68
+ txInfo?: PendingTransactionResponse;
67
69
  }
68
70
 
69
71
  export enum AtomicTransactionComposerStatus {
@@ -149,15 +151,16 @@ export class AtomicTransactionComposer {
149
151
  clone(): AtomicTransactionComposer {
150
152
  const theClone = new AtomicTransactionComposer();
151
153
 
152
- theClone.transactions = this.transactions.map(({ txn, signer }) => ({
153
- // not quite a deep copy, but good enough for our purposes (modifying txn.group in buildGroup)
154
- txn: Transaction.from_obj_for_encoding({
155
- ...txn.get_obj_for_encoding(),
156
- // erase the group ID
157
- grp: undefined,
158
- }),
159
- signer,
160
- }));
154
+ theClone.transactions = this.transactions.map(({ txn, signer }) => {
155
+ const txnMap = txn.toEncodingData();
156
+ // erase the group ID
157
+ txnMap.delete('grp');
158
+ return {
159
+ // not quite a deep copy, but good enough for our purposes (modifying txn.group in buildGroup)
160
+ txn: Transaction.fromEncodingData(txnMap),
161
+ signer,
162
+ };
163
+ });
161
164
  theClone.methodCalls = new Map(this.methodCalls);
162
165
 
163
166
  return theClone;
@@ -220,13 +223,13 @@ export class AtomicTransactionComposer {
220
223
  signer,
221
224
  }: {
222
225
  /** The ID of the smart contract to call. Set this to 0 to indicate an application creation call. */
223
- appID: number;
226
+ appID: number | bigint;
224
227
  /** The method to call on the smart contract */
225
228
  method: ABIMethod;
226
229
  /** The arguments to include in the method call. If omitted, no arguments will be passed to the method. */
227
230
  methodArgs?: ABIArgument[];
228
231
  /** The address of the sender of this application call */
229
- sender: string;
232
+ sender: string | Address;
230
233
  /** Transactions params to use for this application call */
231
234
  suggestedParams: SuggestedParams;
232
235
  /** The OnComplete action to take for this application call. If omitted, OnApplicationComplete.NoOpOC will be used. */
@@ -246,11 +249,11 @@ export class AtomicTransactionComposer {
246
249
  /** The number of extra pages to allocate for the application's programs. Only set this if this is an application creation call. If omitted, defaults to 0. */
247
250
  extraPages?: number;
248
251
  /** Array of Address strings that represent external accounts supplied to this application. If accounts are provided here, the accounts specified in the method args will appear after these. */
249
- appAccounts?: string[];
252
+ appAccounts?: Array<string | Address>;
250
253
  /** Array of App ID numbers that represent external apps supplied to this application. If apps are provided here, the apps specified in the method args will appear after these. */
251
- appForeignApps?: number[];
254
+ appForeignApps?: Array<number | bigint>;
252
255
  /** Array of Asset ID numbers that represent external assets supplied to this application. If assets are provided here, the assets specified in the method args will appear after these. */
253
- appForeignAssets?: number[];
256
+ appForeignAssets?: Array<number | bigint>;
254
257
  /** The box references for this application call */
255
258
  boxes?: BoxReference[];
256
259
  /** The note value for this application call */
@@ -258,7 +261,7 @@ export class AtomicTransactionComposer {
258
261
  /** The lease value for this application call */
259
262
  lease?: Uint8Array;
260
263
  /** If provided, the address that the sender will be rekeyed to at the conclusion of this application call */
261
- rekeyTo?: string;
264
+ rekeyTo?: string | Address;
262
265
  /** A transaction signer that can authorize this application call from sender */
263
266
  signer: TransactionSigner;
264
267
  }): void {
@@ -277,7 +280,7 @@ export class AtomicTransactionComposer {
277
280
  );
278
281
  }
279
282
 
280
- if (appID === 0) {
283
+ if (BigInt(appID) === BigInt(0)) {
281
284
  if (
282
285
  approvalProgram == null ||
283
286
  clearProgram == null ||
@@ -387,12 +390,13 @@ export class AtomicTransactionComposer {
387
390
  }
388
391
 
389
392
  const resolvedRefIndexes: number[] = [];
393
+ // Converting addresses to string form for easier comparison
390
394
  const foreignAccounts: string[] =
391
- appAccounts == null ? [] : appAccounts.slice();
392
- const foreignApps: number[] =
393
- appForeignApps == null ? [] : appForeignApps.slice();
394
- const foreignAssets: number[] =
395
- appForeignAssets == null ? [] : appForeignAssets.slice();
395
+ appAccounts == null ? [] : appAccounts.map((addr) => addr.toString());
396
+ const foreignApps: bigint[] =
397
+ appForeignApps == null ? [] : appForeignApps.map(ensureUint64);
398
+ const foreignAssets: bigint[] =
399
+ appForeignAssets == null ? [] : appForeignAssets.map(ensureUint64);
396
400
  for (let i = 0; i < refArgTypes.length; i++) {
397
401
  const refType = refArgTypes[i];
398
402
  const refValue = refArgValues[i];
@@ -402,7 +406,11 @@ export class AtomicTransactionComposer {
402
406
  case ABIReferenceType.account: {
403
407
  const addressType = new ABIAddressType();
404
408
  const address = addressType.decode(addressType.encode(refValue));
405
- resolved = populateForeignArray(address, foreignAccounts, sender);
409
+ resolved = populateForeignArray(
410
+ address,
411
+ foreignAccounts,
412
+ sender.toString()
413
+ );
406
414
  break;
407
415
  }
408
416
  case ABIReferenceType.application: {
@@ -413,7 +421,11 @@ export class AtomicTransactionComposer {
413
421
  `Expected safe integer for application value, got ${refAppID}`
414
422
  );
415
423
  }
416
- resolved = populateForeignArray(Number(refAppID), foreignApps, appID);
424
+ resolved = populateForeignArray(
425
+ refAppID,
426
+ foreignApps,
427
+ ensureUint64(appID)
428
+ );
417
429
  break;
418
430
  }
419
431
  case ABIReferenceType.asset: {
@@ -424,7 +436,7 @@ export class AtomicTransactionComposer {
424
436
  `Expected safe integer for asset value, got ${refAssetID}`
425
437
  );
426
438
  }
427
- resolved = populateForeignArray(Number(refAssetID), foreignAssets);
439
+ resolved = populateForeignArray(refAssetID, foreignAssets);
428
440
  break;
429
441
  }
430
442
  default:
@@ -435,7 +447,7 @@ export class AtomicTransactionComposer {
435
447
  }
436
448
 
437
449
  for (let i = 0; i < resolvedRefIndexes.length; i++) {
438
- const basicArgIndex = refArgIndexToBasicArgIndex.get(i);
450
+ const basicArgIndex = refArgIndexToBasicArgIndex.get(i)!;
439
451
  basicArgValues[basicArgIndex] = resolvedRefIndexes[i];
440
452
  }
441
453
 
@@ -457,7 +469,7 @@ export class AtomicTransactionComposer {
457
469
 
458
470
  const appCall = {
459
471
  txn: makeApplicationCallTxnFromObject({
460
- from: sender,
472
+ sender,
461
473
  appIndex: appID,
462
474
  appArgs: appArgsEncoded,
463
475
  accounts: foreignAccounts,
@@ -533,7 +545,7 @@ export class AtomicTransactionComposer {
533
545
  indexesPerSigner.set(signer, []);
534
546
  }
535
547
 
536
- indexesPerSigner.get(signer).push(i);
548
+ indexesPerSigner.get(signer)!.push(i);
537
549
  }
538
550
 
539
551
  const orderedSigners = Array.from(indexesPerSigner);
@@ -559,13 +571,17 @@ export class AtomicTransactionComposer {
559
571
  }
560
572
  }
561
573
 
562
- if (!signedTxns.every((sig) => sig != null)) {
574
+ function fullyPopulated(a: Array<Uint8Array | null>): a is Uint8Array[] {
575
+ return a.every((v) => v != null);
576
+ }
577
+
578
+ if (!fullyPopulated(signedTxns)) {
563
579
  throw new Error(`Missing signatures. Got ${signedTxns}`);
564
580
  }
565
581
 
566
582
  const txIDs = signedTxns.map((stxn, index) => {
567
583
  try {
568
- return decodeSignedTransaction(stxn).txn.txID();
584
+ return encoding.decodeMsgpack(stxn, SignedTransaction).txn.txID();
569
585
  } catch (err) {
570
586
  throw new Error(
571
587
  `Cannot decode signed transaction at index ${index}. ${err}`
@@ -593,7 +609,7 @@ export class AtomicTransactionComposer {
593
609
  *
594
610
  * @returns A promise that, upon success, resolves to a list of TxIDs of the submitted transactions.
595
611
  */
596
- async submit(client: Algodv2): Promise<string[]> {
612
+ async submit(client: AlgodClient): Promise<string[]> {
597
613
  if (this.status > AtomicTransactionComposerStatus.SUBMITTED) {
598
614
  throw new Error('Transaction group cannot be resubmitted');
599
615
  }
@@ -624,7 +640,7 @@ export class AtomicTransactionComposer {
624
640
  * in this group (ABIResult[]) and the SimulateResponse object.
625
641
  */
626
642
  async simulate(
627
- client: Algodv2,
643
+ client: AlgodClient,
628
644
  request?: SimulateRequest
629
645
  ): Promise<{
630
646
  methodResults: ABIResult[];
@@ -637,8 +653,8 @@ export class AtomicTransactionComposer {
637
653
  }
638
654
 
639
655
  const stxns = await this.gatherSignatures();
640
- const txnObjects: EncodedSignedTransaction[] = stxns.map(
641
- (stxn) => encoding.decode(stxn) as EncodedSignedTransaction
656
+ const txnObjects: SignedTransaction[] = stxns.map((stxn) =>
657
+ encoding.decodeMsgpack(stxn, SignedTransaction)
642
658
  );
643
659
 
644
660
  const currentRequest: SimulateRequest =
@@ -671,7 +687,7 @@ export class AtomicTransactionComposer {
671
687
  AtomicTransactionComposer.parseMethodResponse(
672
688
  method,
673
689
  methodResult,
674
- pendingInfo.get_obj_for_encoding()
690
+ pendingInfo
675
691
  )
676
692
  );
677
693
  }
@@ -697,7 +713,7 @@ export class AtomicTransactionComposer {
697
713
  * one element for each method call transaction in this group.
698
714
  */
699
715
  async execute(
700
- client: Algodv2,
716
+ client: AlgodClient,
701
717
  waitRounds: number
702
718
  ): Promise<{
703
719
  confirmedRound: number;
@@ -725,7 +741,7 @@ export class AtomicTransactionComposer {
725
741
  );
726
742
  this.status = AtomicTransactionComposerStatus.COMMITTED;
727
743
 
728
- const confirmedRound: number = confirmedTxnInfo['confirmed-round'];
744
+ const confirmedRound = Number(confirmedTxnInfo.confirmedRound);
729
745
 
730
746
  const methodResults: ABIResult[] = [];
731
747
 
@@ -751,7 +767,7 @@ export class AtomicTransactionComposer {
751
767
  pendingInfo
752
768
  );
753
769
  } catch (err) {
754
- methodResult.decodeError = err;
770
+ methodResult.decodeError = err as Error;
755
771
  }
756
772
 
757
773
  methodResults.push(methodResult);
@@ -775,23 +791,30 @@ export class AtomicTransactionComposer {
775
791
  static parseMethodResponse(
776
792
  method: ABIMethod,
777
793
  methodResult: ABIResult,
778
- pendingInfo: Record<string, any>
794
+ pendingInfo: PendingTransactionResponse
779
795
  ): ABIResult {
780
796
  const returnedResult: ABIResult = methodResult;
781
797
  try {
782
798
  returnedResult.txInfo = pendingInfo;
783
799
  if (method.returns.type !== 'void') {
784
- const logs: string[] = pendingInfo.logs || [];
800
+ const logs = pendingInfo.logs || [];
785
801
  if (logs.length === 0) {
786
- throw new Error('App call transaction did not log a return value');
802
+ throw new Error(
803
+ `App call transaction did not log a return value ${stringifyJSON(
804
+ pendingInfo
805
+ )}`
806
+ );
787
807
  }
788
-
789
- const lastLog = Buffer.from(logs[logs.length - 1], 'base64');
808
+ const lastLog = logs[logs.length - 1];
790
809
  if (
791
810
  lastLog.byteLength < 4 ||
792
- !lastLog.slice(0, 4).equals(RETURN_PREFIX)
811
+ !arrayEqual(lastLog.slice(0, 4), RETURN_PREFIX)
793
812
  ) {
794
- throw new Error('App call transaction did not log a return value');
813
+ throw new Error(
814
+ `App call transaction did not log a ABI return value ${stringifyJSON(
815
+ pendingInfo
816
+ )}`
817
+ );
795
818
  }
796
819
 
797
820
  returnedResult.rawReturnValue = new Uint8Array(lastLog.slice(4));
@@ -800,7 +823,7 @@ export class AtomicTransactionComposer {
800
823
  );
801
824
  }
802
825
  } catch (err) {
803
- returnedResult.decodeError = err;
826
+ returnedResult.decodeError = err as Error;
804
827
  }
805
828
 
806
829
  return returnedResult;