algosdk 2.9.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 (805) 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 +3 -3
  8. package/dist/cjs/abi/contract.js.map +1 -1
  9. package/dist/cjs/abi/index.js +6 -6
  10. package/dist/cjs/abi/index.js.map +1 -1
  11. package/dist/cjs/abi/interface.js +3 -3
  12. package/dist/cjs/abi/interface.js.map +1 -1
  13. package/dist/cjs/abi/method.js +10 -10
  14. package/dist/cjs/abi/method.js.map +1 -1
  15. package/dist/cjs/abi/reference.js +1 -1
  16. package/dist/cjs/abi/reference.js.map +1 -1
  17. package/dist/cjs/abi/transaction.js +2 -2
  18. package/dist/cjs/abi/transaction.js.map +1 -1
  19. package/dist/cjs/account.js +4 -4
  20. package/dist/cjs/account.js.map +1 -1
  21. package/dist/cjs/boxStorage.js +17 -17
  22. package/dist/cjs/boxStorage.js.map +1 -1
  23. package/dist/cjs/client/client.js +77 -41
  24. package/dist/cjs/client/client.js.map +1 -1
  25. package/dist/cjs/client/index.js +29 -0
  26. package/dist/cjs/client/index.js.map +1 -0
  27. package/dist/cjs/client/kmd.js +69 -86
  28. package/dist/cjs/client/kmd.js.map +1 -1
  29. package/dist/cjs/client/urlTokenBaseHTTPClient.js +16 -11
  30. package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -1
  31. package/dist/cjs/client/v2/algod/accountApplicationInformation.js +11 -7
  32. package/dist/cjs/client/v2/algod/accountApplicationInformation.js.map +1 -1
  33. package/dist/cjs/client/v2/algod/accountAssetInformation.js +11 -7
  34. package/dist/cjs/client/v2/algod/accountAssetInformation.js.map +1 -1
  35. package/dist/cjs/client/v2/algod/accountInformation.js +11 -6
  36. package/dist/cjs/client/v2/algod/accountInformation.js.map +1 -1
  37. package/dist/cjs/client/v2/algod/algod.js +85 -83
  38. package/dist/cjs/client/v2/algod/algod.js.map +1 -1
  39. package/dist/cjs/client/v2/algod/block.js +6 -33
  40. package/dist/cjs/client/v2/algod/block.js.map +1 -1
  41. package/dist/cjs/client/v2/algod/compile.js +17 -11
  42. package/dist/cjs/client/v2/algod/compile.js.map +1 -1
  43. package/dist/cjs/client/v2/algod/disassemble.js +17 -11
  44. package/dist/cjs/client/v2/algod/disassemble.js.map +1 -1
  45. package/dist/cjs/client/v2/algod/dryrun.js +18 -37
  46. package/dist/cjs/client/v2/algod/dryrun.js.map +1 -1
  47. package/dist/cjs/client/v2/algod/genesis.js +6 -2
  48. package/dist/cjs/client/v2/algod/genesis.js.map +1 -1
  49. package/dist/cjs/client/v2/algod/getApplicationBoxByName.js +10 -10
  50. package/dist/cjs/client/v2/algod/getApplicationBoxByName.js.map +1 -1
  51. package/dist/cjs/client/v2/algod/getApplicationBoxes.js +8 -8
  52. package/dist/cjs/client/v2/algod/getApplicationBoxes.js.map +1 -1
  53. package/dist/cjs/client/v2/algod/getApplicationByID.js +10 -5
  54. package/dist/cjs/client/v2/algod/getApplicationByID.js.map +1 -1
  55. package/dist/cjs/client/v2/algod/getAssetByID.js +10 -5
  56. package/dist/cjs/client/v2/algod/getAssetByID.js.map +1 -1
  57. package/dist/cjs/client/v2/algod/getBlockHash.js +10 -6
  58. package/dist/cjs/client/v2/algod/getBlockHash.js.map +1 -1
  59. package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js +6 -5
  60. package/dist/cjs/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -1
  61. package/dist/cjs/client/v2/algod/getBlockTxids.js +10 -4
  62. package/dist/cjs/client/v2/algod/getBlockTxids.js.map +1 -1
  63. package/dist/cjs/client/v2/algod/getLedgerStateDelta.js +11 -6
  64. package/dist/cjs/client/v2/algod/getLedgerStateDelta.js.map +1 -1
  65. package/dist/cjs/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js +11 -6
  66. package/dist/cjs/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js.map +1 -1
  67. package/dist/cjs/client/v2/algod/getSyncRound.js +6 -5
  68. package/dist/cjs/client/v2/algod/getSyncRound.js.map +1 -1
  69. package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js +9 -9
  70. package/dist/cjs/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
  71. package/dist/cjs/client/v2/algod/getTransactionProof.js +10 -6
  72. package/dist/cjs/client/v2/algod/getTransactionProof.js.map +1 -1
  73. package/dist/cjs/client/v2/algod/healthCheck.js +4 -9
  74. package/dist/cjs/client/v2/algod/healthCheck.js.map +1 -1
  75. package/dist/cjs/{types → client/v2/algod}/index.js +5 -3
  76. package/dist/cjs/client/v2/algod/index.js.map +1 -0
  77. package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js +10 -5
  78. package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js.map +1 -1
  79. package/dist/cjs/client/v2/algod/models/types.js +3701 -1828
  80. package/dist/cjs/client/v2/algod/models/types.js.map +1 -1
  81. package/dist/cjs/client/v2/algod/pendingTransactionInformation.js +6 -32
  82. package/dist/cjs/client/v2/algod/pendingTransactionInformation.js.map +1 -1
  83. package/dist/cjs/client/v2/algod/pendingTransactions.js +6 -31
  84. package/dist/cjs/client/v2/algod/pendingTransactions.js.map +1 -1
  85. package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js +7 -33
  86. package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js.map +1 -1
  87. package/dist/cjs/client/v2/algod/ready.js +4 -2
  88. package/dist/cjs/client/v2/algod/ready.js.map +1 -1
  89. package/dist/cjs/client/v2/algod/sendRawTransaction.js +17 -8
  90. package/dist/cjs/client/v2/algod/sendRawTransaction.js.map +1 -1
  91. package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js +13 -8
  92. package/dist/cjs/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
  93. package/dist/cjs/client/v2/algod/setSyncRound.js +13 -8
  94. package/dist/cjs/client/v2/algod/setSyncRound.js.map +1 -1
  95. package/dist/cjs/client/v2/algod/simulateTransaction.js +15 -35
  96. package/dist/cjs/client/v2/algod/simulateTransaction.js.map +1 -1
  97. package/dist/cjs/client/v2/algod/stateproof.js +10 -5
  98. package/dist/cjs/client/v2/algod/stateproof.js.map +1 -1
  99. package/dist/cjs/client/v2/algod/status.js +8 -2
  100. package/dist/cjs/client/v2/algod/status.js.map +1 -1
  101. package/dist/cjs/client/v2/algod/statusAfterBlock.js +10 -5
  102. package/dist/cjs/client/v2/algod/statusAfterBlock.js.map +1 -1
  103. package/dist/cjs/client/v2/algod/suggestedParams.js +13 -9
  104. package/dist/cjs/client/v2/algod/suggestedParams.js.map +1 -1
  105. package/dist/cjs/client/v2/algod/supply.js +8 -2
  106. package/dist/cjs/client/v2/algod/supply.js.map +1 -1
  107. package/dist/cjs/client/v2/algod/unsetSyncRound.js +11 -5
  108. package/dist/cjs/client/v2/algod/unsetSyncRound.js.map +1 -1
  109. package/dist/cjs/client/v2/algod/versions.js +8 -2
  110. package/dist/cjs/client/v2/algod/versions.js.map +1 -1
  111. package/dist/cjs/client/v2/indexer/index.js +22 -0
  112. package/dist/cjs/client/v2/indexer/index.js.map +1 -0
  113. package/dist/cjs/client/v2/indexer/indexer.js +44 -43
  114. package/dist/cjs/client/v2/indexer/indexer.js.map +1 -1
  115. package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js +11 -6
  116. package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -1
  117. package/dist/cjs/client/v2/indexer/lookupAccountAssets.js +11 -6
  118. package/dist/cjs/client/v2/indexer/lookupAccountAssets.js.map +1 -1
  119. package/dist/cjs/client/v2/indexer/lookupAccountByID.js +11 -6
  120. package/dist/cjs/client/v2/indexer/lookupAccountByID.js.map +1 -1
  121. package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js +11 -6
  122. package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -1
  123. package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js +11 -6
  124. package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -1
  125. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js +19 -12
  126. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
  127. package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js +10 -10
  128. package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
  129. package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js +10 -5
  130. package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
  131. package/dist/cjs/client/v2/indexer/lookupApplications.js +10 -5
  132. package/dist/cjs/client/v2/indexer/lookupApplications.js.map +1 -1
  133. package/dist/cjs/client/v2/indexer/lookupAssetBalances.js +10 -5
  134. package/dist/cjs/client/v2/indexer/lookupAssetBalances.js.map +1 -1
  135. package/dist/cjs/client/v2/indexer/lookupAssetByID.js +10 -5
  136. package/dist/cjs/client/v2/indexer/lookupAssetByID.js.map +1 -1
  137. package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js +19 -12
  138. package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
  139. package/dist/cjs/client/v2/indexer/lookupBlock.js +10 -5
  140. package/dist/cjs/client/v2/indexer/lookupBlock.js.map +1 -1
  141. package/dist/cjs/client/v2/indexer/lookupTransactionByID.js +10 -5
  142. package/dist/cjs/client/v2/indexer/lookupTransactionByID.js.map +1 -1
  143. package/dist/cjs/client/v2/indexer/makeHealthCheck.js +8 -2
  144. package/dist/cjs/client/v2/indexer/makeHealthCheck.js.map +1 -1
  145. package/dist/cjs/client/v2/indexer/models/types.js +3591 -1651
  146. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -1
  147. package/dist/cjs/client/v2/indexer/searchAccounts.js +9 -3
  148. package/dist/cjs/client/v2/indexer/searchAccounts.js.map +1 -1
  149. package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js +8 -8
  150. package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js.map +1 -1
  151. package/dist/cjs/client/v2/indexer/searchForApplications.js +9 -3
  152. package/dist/cjs/client/v2/indexer/searchForApplications.js.map +1 -1
  153. package/dist/cjs/client/v2/indexer/searchForAssets.js +9 -3
  154. package/dist/cjs/client/v2/indexer/searchForAssets.js.map +1 -1
  155. package/dist/cjs/client/v2/indexer/searchForTransactions.js +17 -9
  156. package/dist/cjs/client/v2/indexer/searchForTransactions.js.map +1 -1
  157. package/dist/cjs/client/v2/jsonrequest.js +22 -54
  158. package/dist/cjs/client/v2/jsonrequest.js.map +1 -1
  159. package/dist/cjs/client/v2/serviceClient.js +5 -25
  160. package/dist/cjs/client/v2/serviceClient.js.map +1 -1
  161. package/dist/cjs/client/v2/untypedmodel.js +22 -0
  162. package/dist/cjs/client/v2/untypedmodel.js.map +1 -0
  163. package/dist/cjs/composer.js +64 -58
  164. package/dist/cjs/composer.js.map +1 -1
  165. package/dist/cjs/convert.js.map +1 -1
  166. package/dist/cjs/dryrun.js +107 -203
  167. package/dist/cjs/dryrun.js.map +1 -1
  168. package/dist/cjs/encoding/address.js +88 -104
  169. package/dist/cjs/encoding/address.js.map +1 -1
  170. package/dist/cjs/encoding/bigint.js +2 -3
  171. package/dist/cjs/encoding/bigint.js.map +1 -1
  172. package/dist/cjs/encoding/binarydata.js +82 -0
  173. package/dist/cjs/encoding/binarydata.js.map +1 -0
  174. package/dist/cjs/encoding/encoding.js +353 -38
  175. package/dist/cjs/encoding/encoding.js.map +1 -1
  176. package/dist/cjs/encoding/schema/address.js +41 -0
  177. package/dist/cjs/encoding/schema/address.js.map +1 -0
  178. package/dist/cjs/encoding/schema/array.js +43 -0
  179. package/dist/cjs/encoding/schema/array.js.map +1 -0
  180. package/dist/cjs/encoding/schema/binarystring.js +55 -0
  181. package/dist/cjs/encoding/schema/binarystring.js.map +1 -0
  182. package/dist/cjs/encoding/schema/blockhash.js +67 -0
  183. package/dist/cjs/encoding/schema/blockhash.js.map +1 -0
  184. package/dist/cjs/encoding/schema/boolean.js +42 -0
  185. package/dist/cjs/encoding/schema/boolean.js.map +1 -0
  186. package/dist/cjs/encoding/schema/bytearray.js +98 -0
  187. package/dist/cjs/encoding/schema/bytearray.js.map +1 -0
  188. package/dist/cjs/encoding/schema/index.js +34 -0
  189. package/dist/cjs/encoding/schema/index.js.map +1 -0
  190. package/dist/cjs/encoding/schema/map.js +528 -0
  191. package/dist/cjs/encoding/schema/map.js.map +1 -0
  192. package/dist/cjs/encoding/schema/optional.js +58 -0
  193. package/dist/cjs/encoding/schema/optional.js.map +1 -0
  194. package/dist/cjs/encoding/schema/string.js +43 -0
  195. package/dist/cjs/encoding/schema/string.js.map +1 -0
  196. package/dist/cjs/encoding/schema/uint64.js +36 -0
  197. package/dist/cjs/encoding/schema/uint64.js.map +1 -0
  198. package/dist/cjs/encoding/schema/untyped.js +33 -0
  199. package/dist/cjs/encoding/schema/untyped.js.map +1 -0
  200. package/dist/cjs/encoding/uint64.js +2 -2
  201. package/dist/cjs/encoding/uint64.js.map +1 -1
  202. package/dist/cjs/group.js +23 -60
  203. package/dist/cjs/group.js.map +1 -1
  204. package/dist/cjs/index.js +2 -2
  205. package/dist/cjs/index.js.map +1 -1
  206. package/dist/cjs/logic/sourcemap.js +56 -25
  207. package/dist/cjs/logic/sourcemap.js.map +1 -1
  208. package/dist/cjs/logicsig.js +113 -146
  209. package/dist/cjs/logicsig.js.map +1 -1
  210. package/dist/cjs/main.js +113 -122
  211. package/dist/cjs/main.js.map +1 -1
  212. package/dist/cjs/makeTxn.js +310 -570
  213. package/dist/cjs/makeTxn.js.map +1 -1
  214. package/dist/cjs/mnemonic/mnemonic.js +8 -8
  215. package/dist/cjs/mnemonic/mnemonic.js.map +1 -1
  216. package/dist/cjs/multisig.js +60 -312
  217. package/dist/cjs/multisig.js.map +1 -1
  218. package/dist/cjs/multisigSigning.js +285 -0
  219. package/dist/cjs/multisigSigning.js.map +1 -0
  220. package/dist/cjs/nacl/naclWrappers.js +2 -2
  221. package/dist/cjs/nacl/naclWrappers.js.map +1 -1
  222. package/dist/cjs/signedTransaction.js +106 -0
  223. package/dist/cjs/signedTransaction.js.map +1 -0
  224. package/dist/cjs/signer.js +7 -7
  225. package/dist/cjs/signer.js.map +1 -1
  226. package/dist/cjs/signing.js +105 -0
  227. package/dist/cjs/signing.js.map +1 -0
  228. package/dist/cjs/stateproof.js +421 -0
  229. package/dist/cjs/stateproof.js.map +1 -0
  230. package/dist/cjs/transaction.js +724 -1009
  231. package/dist/cjs/transaction.js.map +1 -1
  232. package/dist/cjs/types/block.js +813 -0
  233. package/dist/cjs/types/block.js.map +1 -0
  234. package/dist/cjs/types/intDecoding.js +1 -1
  235. package/dist/cjs/types/intDecoding.js.map +1 -1
  236. package/dist/cjs/types/statedelta.js +1155 -0
  237. package/dist/cjs/types/statedelta.js.map +1 -0
  238. package/dist/cjs/types/transactions/base.js +22 -5
  239. package/dist/cjs/types/transactions/base.js.map +1 -1
  240. package/dist/cjs/types/transactions/encoded.js +67 -0
  241. package/dist/cjs/types/transactions/encoded.js.map +1 -1
  242. package/dist/cjs/types/transactions/index.js +2 -5
  243. package/dist/cjs/types/transactions/index.js.map +1 -1
  244. package/dist/cjs/utils/utils.js +86 -22
  245. package/dist/cjs/utils/utils.js.map +1 -1
  246. package/dist/cjs/wait.js +4 -4
  247. package/dist/cjs/wait.js.map +1 -1
  248. package/dist/esm/abi/abi_type.js +22 -15
  249. package/dist/esm/abi/abi_type.js.map +1 -1
  250. package/dist/esm/abi/contract.js +1 -1
  251. package/dist/esm/abi/contract.js.map +1 -1
  252. package/dist/esm/abi/index.js +6 -6
  253. package/dist/esm/abi/index.js.map +1 -1
  254. package/dist/esm/abi/interface.js +1 -1
  255. package/dist/esm/abi/interface.js.map +1 -1
  256. package/dist/esm/abi/method.js +4 -4
  257. package/dist/esm/abi/method.js.map +1 -1
  258. package/dist/esm/abi/transaction.js +1 -1
  259. package/dist/esm/abi/transaction.js.map +1 -1
  260. package/dist/esm/account.js +4 -4
  261. package/dist/esm/account.js.map +1 -1
  262. package/dist/esm/boxStorage.js +15 -15
  263. package/dist/esm/boxStorage.js.map +1 -1
  264. package/dist/esm/client/client.js +74 -40
  265. package/dist/esm/client/client.js.map +1 -1
  266. package/dist/esm/client/index.js +7 -0
  267. package/dist/esm/client/index.js.map +1 -0
  268. package/dist/esm/client/kmd.js +67 -62
  269. package/dist/esm/client/kmd.js.map +1 -1
  270. package/dist/esm/client/urlTokenBaseHTTPClient.js +16 -11
  271. package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -1
  272. package/dist/esm/client/v2/algod/accountApplicationInformation.js +10 -6
  273. package/dist/esm/client/v2/algod/accountApplicationInformation.js.map +1 -1
  274. package/dist/esm/client/v2/algod/accountAssetInformation.js +10 -6
  275. package/dist/esm/client/v2/algod/accountAssetInformation.js.map +1 -1
  276. package/dist/esm/client/v2/algod/accountInformation.js +10 -5
  277. package/dist/esm/client/v2/algod/accountInformation.js.map +1 -1
  278. package/dist/esm/client/v2/algod/algod.js +71 -70
  279. package/dist/esm/client/v2/algod/algod.js.map +1 -1
  280. package/dist/esm/client/v2/algod/block.js +5 -9
  281. package/dist/esm/client/v2/algod/block.js.map +1 -1
  282. package/dist/esm/client/v2/algod/compile.js +16 -10
  283. package/dist/esm/client/v2/algod/compile.js.map +1 -1
  284. package/dist/esm/client/v2/algod/disassemble.js +16 -10
  285. package/dist/esm/client/v2/algod/disassemble.js.map +1 -1
  286. package/dist/esm/client/v2/algod/dryrun.js +16 -12
  287. package/dist/esm/client/v2/algod/dryrun.js.map +1 -1
  288. package/dist/esm/client/v2/algod/genesis.js +5 -1
  289. package/dist/esm/client/v2/algod/genesis.js.map +1 -1
  290. package/dist/esm/client/v2/algod/getApplicationBoxByName.js +9 -9
  291. package/dist/esm/client/v2/algod/getApplicationBoxByName.js.map +1 -1
  292. package/dist/esm/client/v2/algod/getApplicationBoxes.js +7 -7
  293. package/dist/esm/client/v2/algod/getApplicationBoxes.js.map +1 -1
  294. package/dist/esm/client/v2/algod/getApplicationByID.js +9 -4
  295. package/dist/esm/client/v2/algod/getApplicationByID.js.map +1 -1
  296. package/dist/esm/client/v2/algod/getAssetByID.js +9 -4
  297. package/dist/esm/client/v2/algod/getAssetByID.js.map +1 -1
  298. package/dist/esm/client/v2/algod/getBlockHash.js +9 -5
  299. package/dist/esm/client/v2/algod/getBlockHash.js.map +1 -1
  300. package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js +5 -4
  301. package/dist/esm/client/v2/algod/getBlockOffsetTimestamp.js.map +1 -1
  302. package/dist/esm/client/v2/algod/getBlockTxids.js +9 -3
  303. package/dist/esm/client/v2/algod/getBlockTxids.js.map +1 -1
  304. package/dist/esm/client/v2/algod/getLedgerStateDelta.js +10 -5
  305. package/dist/esm/client/v2/algod/getLedgerStateDelta.js.map +1 -1
  306. package/dist/esm/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js +10 -5
  307. package/dist/esm/client/v2/algod/getLedgerStateDeltaForTransactionGroup.js.map +1 -1
  308. package/dist/esm/client/v2/algod/getSyncRound.js +5 -4
  309. package/dist/esm/client/v2/algod/getSyncRound.js.map +1 -1
  310. package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js +8 -8
  311. package/dist/esm/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.js.map +1 -1
  312. package/dist/esm/client/v2/algod/getTransactionProof.js +9 -5
  313. package/dist/esm/client/v2/algod/getTransactionProof.js.map +1 -1
  314. package/dist/esm/client/v2/algod/healthCheck.js +3 -8
  315. package/dist/esm/client/v2/algod/healthCheck.js.map +1 -1
  316. package/dist/esm/client/v2/algod/index.js +4 -0
  317. package/dist/esm/client/v2/algod/index.js.map +1 -0
  318. package/dist/esm/client/v2/algod/lightBlockHeaderProof.js +9 -4
  319. package/dist/esm/client/v2/algod/lightBlockHeaderProof.js.map +1 -1
  320. package/dist/esm/client/v2/algod/models/types.js +3701 -1825
  321. package/dist/esm/client/v2/algod/models/types.js.map +1 -1
  322. package/dist/esm/client/v2/algod/pendingTransactionInformation.js +5 -8
  323. package/dist/esm/client/v2/algod/pendingTransactionInformation.js.map +1 -1
  324. package/dist/esm/client/v2/algod/pendingTransactions.js +5 -7
  325. package/dist/esm/client/v2/algod/pendingTransactions.js.map +1 -1
  326. package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js +6 -9
  327. package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js.map +1 -1
  328. package/dist/esm/client/v2/algod/ready.js +3 -1
  329. package/dist/esm/client/v2/algod/ready.js.map +1 -1
  330. package/dist/esm/client/v2/algod/sendRawTransaction.js +15 -6
  331. package/dist/esm/client/v2/algod/sendRawTransaction.js.map +1 -1
  332. package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js +12 -7
  333. package/dist/esm/client/v2/algod/setBlockOffsetTimestamp.js.map +1 -1
  334. package/dist/esm/client/v2/algod/setSyncRound.js +12 -7
  335. package/dist/esm/client/v2/algod/setSyncRound.js.map +1 -1
  336. package/dist/esm/client/v2/algod/simulateTransaction.js +14 -11
  337. package/dist/esm/client/v2/algod/simulateTransaction.js.map +1 -1
  338. package/dist/esm/client/v2/algod/stateproof.js +9 -4
  339. package/dist/esm/client/v2/algod/stateproof.js.map +1 -1
  340. package/dist/esm/client/v2/algod/status.js +7 -1
  341. package/dist/esm/client/v2/algod/status.js.map +1 -1
  342. package/dist/esm/client/v2/algod/statusAfterBlock.js +9 -4
  343. package/dist/esm/client/v2/algod/statusAfterBlock.js.map +1 -1
  344. package/dist/esm/client/v2/algod/suggestedParams.js +12 -8
  345. package/dist/esm/client/v2/algod/suggestedParams.js.map +1 -1
  346. package/dist/esm/client/v2/algod/supply.js +7 -1
  347. package/dist/esm/client/v2/algod/supply.js.map +1 -1
  348. package/dist/esm/client/v2/algod/unsetSyncRound.js +10 -4
  349. package/dist/esm/client/v2/algod/unsetSyncRound.js.map +1 -1
  350. package/dist/esm/client/v2/algod/versions.js +7 -1
  351. package/dist/esm/client/v2/algod/versions.js.map +1 -1
  352. package/dist/esm/client/v2/indexer/index.js +4 -0
  353. package/dist/esm/client/v2/indexer/index.js.map +1 -0
  354. package/dist/esm/client/v2/indexer/indexer.js +42 -42
  355. package/dist/esm/client/v2/indexer/indexer.js.map +1 -1
  356. package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js +10 -5
  357. package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -1
  358. package/dist/esm/client/v2/indexer/lookupAccountAssets.js +10 -5
  359. package/dist/esm/client/v2/indexer/lookupAccountAssets.js.map +1 -1
  360. package/dist/esm/client/v2/indexer/lookupAccountByID.js +10 -5
  361. package/dist/esm/client/v2/indexer/lookupAccountByID.js.map +1 -1
  362. package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js +10 -5
  363. package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -1
  364. package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js +10 -5
  365. package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -1
  366. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js +18 -11
  367. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js.map +1 -1
  368. package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js +9 -9
  369. package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -1
  370. package/dist/esm/client/v2/indexer/lookupApplicationLogs.js +9 -4
  371. package/dist/esm/client/v2/indexer/lookupApplicationLogs.js.map +1 -1
  372. package/dist/esm/client/v2/indexer/lookupApplications.js +9 -4
  373. package/dist/esm/client/v2/indexer/lookupApplications.js.map +1 -1
  374. package/dist/esm/client/v2/indexer/lookupAssetBalances.js +9 -4
  375. package/dist/esm/client/v2/indexer/lookupAssetBalances.js.map +1 -1
  376. package/dist/esm/client/v2/indexer/lookupAssetByID.js +9 -4
  377. package/dist/esm/client/v2/indexer/lookupAssetByID.js.map +1 -1
  378. package/dist/esm/client/v2/indexer/lookupAssetTransactions.js +17 -10
  379. package/dist/esm/client/v2/indexer/lookupAssetTransactions.js.map +1 -1
  380. package/dist/esm/client/v2/indexer/lookupBlock.js +9 -4
  381. package/dist/esm/client/v2/indexer/lookupBlock.js.map +1 -1
  382. package/dist/esm/client/v2/indexer/lookupTransactionByID.js +9 -4
  383. package/dist/esm/client/v2/indexer/lookupTransactionByID.js.map +1 -1
  384. package/dist/esm/client/v2/indexer/makeHealthCheck.js +7 -1
  385. package/dist/esm/client/v2/indexer/makeHealthCheck.js.map +1 -1
  386. package/dist/esm/client/v2/indexer/models/types.js +3591 -1648
  387. package/dist/esm/client/v2/indexer/models/types.js.map +1 -1
  388. package/dist/esm/client/v2/indexer/searchAccounts.js +8 -2
  389. package/dist/esm/client/v2/indexer/searchAccounts.js.map +1 -1
  390. package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js +7 -7
  391. package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js.map +1 -1
  392. package/dist/esm/client/v2/indexer/searchForApplications.js +8 -2
  393. package/dist/esm/client/v2/indexer/searchForApplications.js.map +1 -1
  394. package/dist/esm/client/v2/indexer/searchForAssets.js +8 -2
  395. package/dist/esm/client/v2/indexer/searchForAssets.js.map +1 -1
  396. package/dist/esm/client/v2/indexer/searchForTransactions.js +15 -7
  397. package/dist/esm/client/v2/indexer/searchForTransactions.js.map +1 -1
  398. package/dist/esm/client/v2/jsonrequest.js +22 -51
  399. package/dist/esm/client/v2/jsonrequest.js.map +1 -1
  400. package/dist/esm/client/v2/serviceClient.js +3 -20
  401. package/dist/esm/client/v2/serviceClient.js.map +1 -1
  402. package/dist/esm/client/v2/untypedmodel.js +18 -0
  403. package/dist/esm/client/v2/untypedmodel.js.map +1 -0
  404. package/dist/esm/composer.js +43 -37
  405. package/dist/esm/composer.js.map +1 -1
  406. package/dist/esm/convert.js.map +1 -1
  407. package/dist/esm/dryrun.js +98 -195
  408. package/dist/esm/dryrun.js.map +1 -1
  409. package/dist/esm/encoding/address.js +85 -100
  410. package/dist/esm/encoding/address.js.map +1 -1
  411. package/dist/esm/encoding/bigint.js +2 -3
  412. package/dist/esm/encoding/bigint.js.map +1 -1
  413. package/dist/esm/encoding/binarydata.js +73 -0
  414. package/dist/esm/encoding/binarydata.js.map +1 -0
  415. package/dist/esm/encoding/encoding.js +337 -12
  416. package/dist/esm/encoding/encoding.js.map +1 -1
  417. package/dist/esm/encoding/schema/address.js +37 -0
  418. package/dist/esm/encoding/schema/address.js.map +1 -0
  419. package/dist/esm/encoding/schema/array.js +39 -0
  420. package/dist/esm/encoding/schema/array.js.map +1 -0
  421. package/dist/esm/encoding/schema/binarystring.js +51 -0
  422. package/dist/esm/encoding/schema/binarystring.js.map +1 -0
  423. package/dist/esm/encoding/schema/blockhash.js +60 -0
  424. package/dist/esm/encoding/schema/blockhash.js.map +1 -0
  425. package/dist/esm/encoding/schema/boolean.js +38 -0
  426. package/dist/esm/encoding/schema/boolean.js.map +1 -0
  427. package/dist/esm/encoding/schema/bytearray.js +93 -0
  428. package/dist/esm/encoding/schema/bytearray.js.map +1 -0
  429. package/dist/esm/encoding/schema/index.js +12 -0
  430. package/dist/esm/encoding/schema/index.js.map +1 -0
  431. package/dist/esm/encoding/schema/map.js +517 -0
  432. package/dist/esm/encoding/schema/map.js.map +1 -0
  433. package/dist/esm/encoding/schema/optional.js +54 -0
  434. package/dist/esm/encoding/schema/optional.js.map +1 -0
  435. package/dist/esm/encoding/schema/string.js +39 -0
  436. package/dist/esm/encoding/schema/string.js.map +1 -0
  437. package/dist/esm/encoding/schema/uint64.js +32 -0
  438. package/dist/esm/encoding/schema/uint64.js.map +1 -0
  439. package/dist/esm/encoding/schema/untyped.js +29 -0
  440. package/dist/esm/encoding/schema/untyped.js.map +1 -0
  441. package/dist/esm/encoding/uint64.js +1 -1
  442. package/dist/esm/encoding/uint64.js.map +1 -1
  443. package/dist/esm/group.js +22 -58
  444. package/dist/esm/group.js.map +1 -1
  445. package/dist/esm/index.js +2 -2
  446. package/dist/esm/index.js.map +1 -1
  447. package/dist/esm/logic/sourcemap.js +54 -23
  448. package/dist/esm/logic/sourcemap.js.map +1 -1
  449. package/dist/esm/logicsig.js +110 -141
  450. package/dist/esm/logicsig.js.map +1 -1
  451. package/dist/esm/main.js +47 -76
  452. package/dist/esm/main.js.map +1 -1
  453. package/dist/esm/makeTxn.js +304 -529
  454. package/dist/esm/makeTxn.js.map +1 -1
  455. package/dist/esm/mnemonic/mnemonic.js +5 -5
  456. package/dist/esm/mnemonic/mnemonic.js.map +1 -1
  457. package/dist/esm/multisig.js +56 -305
  458. package/dist/esm/multisig.js.map +1 -1
  459. package/dist/esm/multisigSigning.js +254 -0
  460. package/dist/esm/multisigSigning.js.map +1 -0
  461. package/dist/esm/nacl/naclWrappers.js +1 -1
  462. package/dist/esm/nacl/naclWrappers.js.map +1 -1
  463. package/dist/esm/package.json +1 -0
  464. package/dist/esm/signedTransaction.js +100 -0
  465. package/dist/esm/signedTransaction.js.map +1 -0
  466. package/dist/esm/signer.js +3 -3
  467. package/dist/esm/signer.js.map +1 -1
  468. package/dist/esm/signing.js +77 -0
  469. package/dist/esm/signing.js.map +1 -0
  470. package/dist/esm/stateproof.js +408 -0
  471. package/dist/esm/stateproof.js.map +1 -0
  472. package/dist/esm/transaction.js +723 -1005
  473. package/dist/esm/transaction.js.map +1 -1
  474. package/dist/esm/types/block.js +797 -0
  475. package/dist/esm/types/block.js.map +1 -0
  476. package/dist/esm/types/intDecoding.js +1 -1
  477. package/dist/esm/types/intDecoding.js.map +1 -1
  478. package/dist/esm/types/statedelta.js +1129 -0
  479. package/dist/esm/types/statedelta.js.map +1 -0
  480. package/dist/esm/types/transactions/base.js +18 -2
  481. package/dist/esm/types/transactions/base.js.map +1 -1
  482. package/dist/esm/types/transactions/encoded.js +62 -1
  483. package/dist/esm/types/transactions/encoded.js.map +1 -1
  484. package/dist/esm/types/transactions/index.js +2 -3
  485. package/dist/esm/types/transactions/index.js.map +1 -1
  486. package/dist/esm/utils/utils.js +80 -21
  487. package/dist/esm/utils/utils.js.map +1 -1
  488. package/dist/esm/wait.js +4 -4
  489. package/dist/esm/wait.js.map +1 -1
  490. package/dist/types/abi/abi_type.d.ts +1 -1
  491. package/dist/types/abi/contract.d.ts +2 -2
  492. package/dist/types/abi/index.d.ts +6 -6
  493. package/dist/types/abi/interface.d.ts +1 -1
  494. package/dist/types/abi/method.d.ts +6 -6
  495. package/dist/types/abi/transaction.d.ts +1 -1
  496. package/dist/types/account.d.ts +1 -1
  497. package/dist/types/boxStorage.d.ts +4 -5
  498. package/dist/types/client/baseHTTPClient.d.ts +9 -6
  499. package/dist/types/client/client.d.ts +59 -18
  500. package/dist/types/client/index.d.ts +5 -0
  501. package/dist/types/client/kmd.d.ts +12 -10
  502. package/dist/types/client/urlTokenBaseHTTPClient.d.ts +8 -5
  503. package/dist/types/client/v2/algod/accountApplicationInformation.d.ts +8 -6
  504. package/dist/types/client/v2/algod/accountAssetInformation.d.ts +8 -6
  505. package/dist/types/client/v2/algod/accountInformation.d.ts +7 -5
  506. package/dist/types/client/v2/algod/algod.d.ts +53 -52
  507. package/dist/types/client/v2/algod/block.d.ts +5 -4
  508. package/dist/types/client/v2/algod/compile.d.ts +7 -9
  509. package/dist/types/client/v2/algod/disassemble.d.ts +7 -9
  510. package/dist/types/client/v2/algod/dryrun.d.ts +7 -9
  511. package/dist/types/client/v2/algod/genesis.d.ts +4 -2
  512. package/dist/types/client/v2/algod/getApplicationBoxByName.d.ts +6 -7
  513. package/dist/types/client/v2/algod/getApplicationBoxes.d.ts +6 -7
  514. package/dist/types/client/v2/algod/getApplicationByID.d.ts +6 -5
  515. package/dist/types/client/v2/algod/getAssetByID.d.ts +6 -5
  516. package/dist/types/client/v2/algod/getBlockHash.d.ts +7 -6
  517. package/dist/types/client/v2/algod/getBlockOffsetTimestamp.d.ts +5 -4
  518. package/dist/types/client/v2/algod/getBlockTxids.d.ts +6 -5
  519. package/dist/types/client/v2/algod/getLedgerStateDelta.d.ts +6 -5
  520. package/dist/types/client/v2/algod/getLedgerStateDeltaForTransactionGroup.d.ts +6 -5
  521. package/dist/types/client/v2/algod/getSyncRound.d.ts +5 -4
  522. package/dist/types/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.d.ts +6 -7
  523. package/dist/types/client/v2/algod/getTransactionProof.d.ts +6 -5
  524. package/dist/types/client/v2/algod/healthCheck.d.ts +4 -3
  525. package/dist/types/client/v2/algod/index.d.ts +2 -0
  526. package/dist/types/client/v2/algod/lightBlockHeaderProof.d.ts +6 -5
  527. package/dist/types/client/v2/algod/models/types.d.ts +604 -317
  528. package/dist/types/client/v2/algod/pendingTransactionInformation.d.ts +5 -4
  529. package/dist/types/client/v2/algod/pendingTransactions.d.ts +5 -4
  530. package/dist/types/client/v2/algod/pendingTransactionsByAddress.d.ts +7 -5
  531. package/dist/types/client/v2/algod/ready.d.ts +4 -2
  532. package/dist/types/client/v2/algod/sendRawTransaction.d.ts +7 -5
  533. package/dist/types/client/v2/algod/setBlockOffsetTimestamp.d.ts +6 -6
  534. package/dist/types/client/v2/algod/setSyncRound.d.ts +6 -6
  535. package/dist/types/client/v2/algod/simulateTransaction.d.ts +7 -7
  536. package/dist/types/client/v2/algod/stateproof.d.ts +6 -5
  537. package/dist/types/client/v2/algod/status.d.ts +5 -2
  538. package/dist/types/client/v2/algod/statusAfterBlock.d.ts +6 -5
  539. package/dist/types/client/v2/algod/suggestedParams.d.ts +25 -4
  540. package/dist/types/client/v2/algod/supply.d.ts +5 -2
  541. package/dist/types/client/v2/algod/unsetSyncRound.d.ts +5 -3
  542. package/dist/types/client/v2/algod/versions.d.ts +5 -2
  543. package/dist/types/client/v2/indexer/index.d.ts +2 -0
  544. package/dist/types/client/v2/indexer/indexer.d.ts +31 -30
  545. package/dist/types/client/v2/indexer/lookupAccountAppLocalStates.d.ts +7 -5
  546. package/dist/types/client/v2/indexer/lookupAccountAssets.d.ts +7 -5
  547. package/dist/types/client/v2/indexer/lookupAccountByID.d.ts +7 -5
  548. package/dist/types/client/v2/indexer/lookupAccountCreatedApplications.d.ts +7 -5
  549. package/dist/types/client/v2/indexer/lookupAccountCreatedAssets.d.ts +7 -5
  550. package/dist/types/client/v2/indexer/lookupAccountTransactions.d.ts +11 -9
  551. package/dist/types/client/v2/indexer/lookupApplicationBoxByIDandName.d.ts +6 -7
  552. package/dist/types/client/v2/indexer/lookupApplicationLogs.d.ts +6 -5
  553. package/dist/types/client/v2/indexer/lookupApplications.d.ts +6 -5
  554. package/dist/types/client/v2/indexer/lookupAssetBalances.d.ts +6 -5
  555. package/dist/types/client/v2/indexer/lookupAssetByID.d.ts +6 -5
  556. package/dist/types/client/v2/indexer/lookupAssetTransactions.d.ts +12 -10
  557. package/dist/types/client/v2/indexer/lookupBlock.d.ts +6 -5
  558. package/dist/types/client/v2/indexer/lookupTransactionByID.d.ts +6 -5
  559. package/dist/types/client/v2/indexer/makeHealthCheck.d.ts +5 -2
  560. package/dist/types/client/v2/indexer/models/types.d.ts +513 -267
  561. package/dist/types/client/v2/indexer/searchAccounts.d.ts +7 -3
  562. package/dist/types/client/v2/indexer/searchForApplicationBoxes.d.ts +6 -7
  563. package/dist/types/client/v2/indexer/searchForApplications.d.ts +7 -3
  564. package/dist/types/client/v2/indexer/searchForAssets.d.ts +7 -3
  565. package/dist/types/client/v2/indexer/searchForTransactions.d.ts +11 -7
  566. package/dist/types/client/v2/jsonrequest.d.ts +20 -33
  567. package/dist/types/client/v2/serviceClient.d.ts +4 -18
  568. package/dist/types/client/v2/untypedmodel.d.ts +10 -0
  569. package/dist/types/composer.d.ts +18 -17
  570. package/dist/types/dryrun.d.ts +8 -80
  571. package/dist/types/encoding/address.d.ts +40 -31
  572. package/dist/types/encoding/binarydata.d.ts +30 -0
  573. package/dist/types/encoding/encoding.d.ts +219 -7
  574. package/dist/types/encoding/schema/address.d.ts +10 -0
  575. package/dist/types/encoding/schema/array.d.ts +11 -0
  576. package/dist/types/encoding/schema/binarystring.d.ts +18 -0
  577. package/dist/types/encoding/schema/blockhash.d.ts +16 -0
  578. package/dist/types/encoding/schema/boolean.d.ts +10 -0
  579. package/dist/types/encoding/schema/bytearray.d.ts +19 -0
  580. package/dist/types/encoding/schema/index.d.ts +11 -0
  581. package/dist/types/encoding/schema/map.d.ts +125 -0
  582. package/dist/types/encoding/schema/optional.d.ts +24 -0
  583. package/dist/types/encoding/schema/string.d.ts +9 -0
  584. package/dist/types/encoding/schema/uint64.d.ts +9 -0
  585. package/dist/types/encoding/schema/untyped.d.ts +9 -0
  586. package/dist/types/encoding/uint64.d.ts +1 -0
  587. package/dist/types/group.d.ts +6 -25
  588. package/dist/types/index.d.ts +2 -2
  589. package/dist/types/logic/sourcemap.d.ts +39 -13
  590. package/dist/types/logicsig.d.ts +27 -57
  591. package/dist/types/main.d.ts +43 -54
  592. package/dist/types/makeTxn.d.ts +117 -404
  593. package/dist/types/mnemonic/mnemonic.d.ts +1 -1
  594. package/dist/types/multisig.d.ts +28 -99
  595. package/dist/types/multisigSigning.d.ts +72 -0
  596. package/dist/types/signedTransaction.d.ts +55 -0
  597. package/dist/types/signer.d.ts +5 -5
  598. package/dist/types/signing.d.ts +29 -0
  599. package/dist/types/stateproof.d.ts +194 -0
  600. package/dist/types/transaction.d.ts +103 -182
  601. package/dist/types/types/account.d.ts +2 -1
  602. package/dist/types/types/block.d.ts +407 -0
  603. package/dist/types/types/intDecoding.d.ts +1 -1
  604. package/dist/types/types/statedelta.d.ts +575 -0
  605. package/dist/types/types/transactions/base.d.ts +206 -118
  606. package/dist/types/types/transactions/encoded.d.ts +7 -301
  607. package/dist/types/types/transactions/index.d.ts +2 -15
  608. package/dist/types/types/utils.d.ts +7 -7
  609. package/dist/types/utils/utils.d.ts +21 -16
  610. package/dist/types/wait.d.ts +3 -2
  611. package/package.json +48 -20
  612. package/src/abi/abi_type.ts +28 -18
  613. package/src/abi/contract.ts +2 -2
  614. package/src/abi/index.ts +6 -6
  615. package/src/abi/interface.ts +1 -1
  616. package/src/abi/method.ts +11 -9
  617. package/src/abi/transaction.ts +2 -2
  618. package/src/account.ts +5 -5
  619. package/src/boxStorage.ts +25 -23
  620. package/src/client/baseHTTPClient.ts +12 -6
  621. package/src/client/client.ts +147 -75
  622. package/src/client/index.ts +6 -0
  623. package/src/client/kmd.ts +79 -72
  624. package/src/client/urlTokenBaseHTTPClient.ts +25 -14
  625. package/src/client/v2/algod/accountApplicationInformation.ts +16 -9
  626. package/src/client/v2/algod/accountAssetInformation.ts +16 -9
  627. package/src/client/v2/algod/accountInformation.ts +16 -11
  628. package/src/client/v2/algod/algod.ts +83 -105
  629. package/src/client/v2/algod/block.ts +7 -11
  630. package/src/client/v2/algod/compile.ts +27 -19
  631. package/src/client/v2/algod/disassemble.ts +27 -19
  632. package/src/client/v2/algod/dryrun.ts +23 -19
  633. package/src/client/v2/algod/genesis.ts +8 -2
  634. package/src/client/v2/algod/getApplicationBoxByName.ts +10 -15
  635. package/src/client/v2/algod/getApplicationBoxes.ts +12 -13
  636. package/src/client/v2/algod/getApplicationByID.ts +15 -7
  637. package/src/client/v2/algod/getAssetByID.ts +15 -7
  638. package/src/client/v2/algod/getBlockHash.ts +13 -9
  639. package/src/client/v2/algod/getBlockOffsetTimestamp.ts +7 -8
  640. package/src/client/v2/algod/getBlockTxids.ts +12 -6
  641. package/src/client/v2/algod/getLedgerStateDelta.ts +16 -8
  642. package/src/client/v2/algod/getLedgerStateDeltaForTransactionGroup.ts +16 -8
  643. package/src/client/v2/algod/getSyncRound.ts +7 -8
  644. package/src/client/v2/algod/getTransactionGroupLedgerStateDeltasForRound.ts +15 -15
  645. package/src/client/v2/algod/getTransactionProof.ts +11 -9
  646. package/src/client/v2/algod/healthCheck.ts +5 -9
  647. package/src/client/v2/algod/index.ts +3 -0
  648. package/src/client/v2/algod/lightBlockHeaderProof.ts +15 -8
  649. package/src/client/v2/algod/models/types.ts +4699 -2263
  650. package/src/client/v2/algod/pendingTransactionInformation.ts +11 -11
  651. package/src/client/v2/algod/pendingTransactions.ts +7 -9
  652. package/src/client/v2/algod/pendingTransactionsByAddress.ts +12 -11
  653. package/src/client/v2/algod/ready.ts +6 -2
  654. package/src/client/v2/algod/sendRawTransaction.ts +24 -13
  655. package/src/client/v2/algod/setBlockOffsetTimestamp.ts +21 -11
  656. package/src/client/v2/algod/setSyncRound.ts +21 -11
  657. package/src/client/v2/algod/simulateTransaction.ts +22 -23
  658. package/src/client/v2/algod/stateproof.ts +15 -8
  659. package/src/client/v2/algod/status.ts +10 -2
  660. package/src/client/v2/algod/statusAfterBlock.ts +15 -7
  661. package/src/client/v2/algod/suggestedParams.ts +40 -10
  662. package/src/client/v2/algod/supply.ts +10 -2
  663. package/src/client/v2/algod/unsetSyncRound.ts +16 -5
  664. package/src/client/v2/algod/versions.ts +10 -2
  665. package/src/client/v2/indexer/index.ts +3 -0
  666. package/src/client/v2/indexer/indexer.ts +51 -59
  667. package/src/client/v2/indexer/lookupAccountAppLocalStates.ts +16 -11
  668. package/src/client/v2/indexer/lookupAccountAssets.ts +16 -11
  669. package/src/client/v2/indexer/lookupAccountByID.ts +16 -11
  670. package/src/client/v2/indexer/lookupAccountCreatedApplications.ts +16 -11
  671. package/src/client/v2/indexer/lookupAccountCreatedAssets.ts +16 -11
  672. package/src/client/v2/indexer/lookupAccountTransactions.ts +26 -19
  673. package/src/client/v2/indexer/lookupApplicationBoxByIDandName.ts +10 -15
  674. package/src/client/v2/indexer/lookupApplicationLogs.ts +15 -7
  675. package/src/client/v2/indexer/lookupApplications.ts +15 -7
  676. package/src/client/v2/indexer/lookupAssetBalances.ts +15 -7
  677. package/src/client/v2/indexer/lookupAssetByID.ts +15 -7
  678. package/src/client/v2/indexer/lookupAssetTransactions.ts +27 -16
  679. package/src/client/v2/indexer/lookupBlock.ts +15 -7
  680. package/src/client/v2/indexer/lookupTransactionByID.ts +15 -7
  681. package/src/client/v2/indexer/makeHealthCheck.ts +10 -2
  682. package/src/client/v2/indexer/models/types.ts +4454 -1988
  683. package/src/client/v2/indexer/searchAccounts.ts +13 -4
  684. package/src/client/v2/indexer/searchForApplicationBoxes.ts +12 -13
  685. package/src/client/v2/indexer/searchForApplications.ts +13 -4
  686. package/src/client/v2/indexer/searchForAssets.ts +13 -4
  687. package/src/client/v2/indexer/searchForTransactions.ts +22 -11
  688. package/src/client/v2/jsonrequest.ts +39 -57
  689. package/src/client/v2/serviceClient.ts +9 -31
  690. package/src/client/v2/untypedmodel.ts +25 -0
  691. package/src/composer.ts +83 -60
  692. package/src/dryrun.ts +129 -306
  693. package/src/encoding/address.ts +134 -146
  694. package/src/encoding/bigint.ts +2 -4
  695. package/src/encoding/binarydata.ts +80 -0
  696. package/src/encoding/encoding.ts +558 -13
  697. package/src/encoding/schema/address.ts +53 -0
  698. package/src/encoding/schema/array.ts +66 -0
  699. package/src/encoding/schema/binarystring.ts +73 -0
  700. package/src/encoding/schema/blockhash.ts +84 -0
  701. package/src/encoding/schema/boolean.ts +54 -0
  702. package/src/encoding/schema/bytearray.ts +127 -0
  703. package/src/encoding/schema/index.ts +26 -0
  704. package/src/encoding/schema/map.ts +713 -0
  705. package/src/encoding/schema/optional.ts +72 -0
  706. package/src/encoding/schema/string.ts +55 -0
  707. package/src/encoding/schema/uint64.ts +46 -0
  708. package/src/encoding/schema/untyped.ts +47 -0
  709. package/src/encoding/uint64.ts +2 -1
  710. package/src/group.ts +27 -75
  711. package/src/index.ts +2 -2
  712. package/src/logic/sourcemap.ts +94 -29
  713. package/src/logicsig.ts +154 -202
  714. package/src/main.ts +91 -94
  715. package/src/makeTxn.ts +660 -1338
  716. package/src/mnemonic/mnemonic.ts +14 -14
  717. package/src/multisig.ts +89 -403
  718. package/src/multisigSigning.ts +359 -0
  719. package/src/nacl/naclWrappers.ts +1 -1
  720. package/src/signedTransaction.ts +163 -0
  721. package/src/signer.ts +10 -5
  722. package/src/signing.ts +95 -0
  723. package/src/stateproof.ts +595 -0
  724. package/src/transaction.ts +986 -1242
  725. package/src/types/account.ts +3 -1
  726. package/src/types/block.ts +1278 -0
  727. package/src/types/intDecoding.ts +1 -1
  728. package/src/types/statedelta.ts +1717 -0
  729. package/src/types/transactions/base.ts +230 -122
  730. package/src/types/transactions/encoded.ts +81 -371
  731. package/src/types/transactions/index.ts +2 -72
  732. package/src/types/utils.ts +3 -3
  733. package/src/utils/utils.ts +96 -25
  734. package/src/wait.ts +8 -7
  735. package/dist/cjs/bid.js +0 -83
  736. package/dist/cjs/bid.js.map +0 -1
  737. package/dist/cjs/client/v2/basemodel.js +0 -67
  738. package/dist/cjs/client/v2/basemodel.js.map +0 -1
  739. package/dist/cjs/types/address.js +0 -3
  740. package/dist/cjs/types/address.js.map +0 -1
  741. package/dist/cjs/types/blockHeader.js +0 -3
  742. package/dist/cjs/types/blockHeader.js.map +0 -1
  743. package/dist/cjs/types/index.js.map +0 -1
  744. package/dist/cjs/types/multisig.js +0 -3
  745. package/dist/cjs/types/multisig.js.map +0 -1
  746. package/dist/cjs/types/transactions/application.js +0 -3
  747. package/dist/cjs/types/transactions/application.js.map +0 -1
  748. package/dist/cjs/types/transactions/asset.js +0 -3
  749. package/dist/cjs/types/transactions/asset.js.map +0 -1
  750. package/dist/cjs/types/transactions/builder.js +0 -3
  751. package/dist/cjs/types/transactions/builder.js.map +0 -1
  752. package/dist/cjs/types/transactions/keyreg.js +0 -3
  753. package/dist/cjs/types/transactions/keyreg.js.map +0 -1
  754. package/dist/cjs/types/transactions/payment.js +0 -3
  755. package/dist/cjs/types/transactions/payment.js.map +0 -1
  756. package/dist/cjs/types/transactions/stateproof.js +0 -3
  757. package/dist/cjs/types/transactions/stateproof.js.map +0 -1
  758. package/dist/esm/bid.js +0 -57
  759. package/dist/esm/bid.js.map +0 -1
  760. package/dist/esm/client/v2/basemodel.js +0 -64
  761. package/dist/esm/client/v2/basemodel.js.map +0 -1
  762. package/dist/esm/types/address.js +0 -2
  763. package/dist/esm/types/address.js.map +0 -1
  764. package/dist/esm/types/blockHeader.js +0 -2
  765. package/dist/esm/types/blockHeader.js.map +0 -1
  766. package/dist/esm/types/index.js +0 -4
  767. package/dist/esm/types/index.js.map +0 -1
  768. package/dist/esm/types/multisig.js +0 -2
  769. package/dist/esm/types/multisig.js.map +0 -1
  770. package/dist/esm/types/transactions/application.js +0 -2
  771. package/dist/esm/types/transactions/application.js.map +0 -1
  772. package/dist/esm/types/transactions/asset.js +0 -2
  773. package/dist/esm/types/transactions/asset.js.map +0 -1
  774. package/dist/esm/types/transactions/builder.js +0 -2
  775. package/dist/esm/types/transactions/builder.js.map +0 -1
  776. package/dist/esm/types/transactions/keyreg.js +0 -2
  777. package/dist/esm/types/transactions/keyreg.js.map +0 -1
  778. package/dist/esm/types/transactions/payment.js +0 -2
  779. package/dist/esm/types/transactions/payment.js.map +0 -1
  780. package/dist/esm/types/transactions/stateproof.js +0 -2
  781. package/dist/esm/types/transactions/stateproof.js.map +0 -1
  782. package/dist/types/bid.d.ts +0 -38
  783. package/dist/types/client/v2/basemodel.d.ts +0 -11
  784. package/dist/types/types/address.d.ts +0 -7
  785. package/dist/types/types/blockHeader.d.ts +0 -67
  786. package/dist/types/types/index.d.ts +0 -3
  787. package/dist/types/types/multisig.d.ts +0 -20
  788. package/dist/types/types/transactions/application.d.ts +0 -22
  789. package/dist/types/types/transactions/asset.d.ts +0 -28
  790. package/dist/types/types/transactions/builder.d.ts +0 -36
  791. package/dist/types/types/transactions/keyreg.d.ts +0 -8
  792. package/dist/types/types/transactions/payment.d.ts +0 -8
  793. package/dist/types/types/transactions/stateproof.d.ts +0 -8
  794. package/src/bid.ts +0 -96
  795. package/src/client/v2/basemodel.ts +0 -81
  796. package/src/types/address.ts +0 -7
  797. package/src/types/blockHeader.ts +0 -81
  798. package/src/types/index.ts +0 -3
  799. package/src/types/multisig.ts +0 -22
  800. package/src/types/transactions/application.ts +0 -111
  801. package/src/types/transactions/asset.ts +0 -108
  802. package/src/types/transactions/builder.ts +0 -69
  803. package/src/types/transactions/keyreg.ts +0 -23
  804. package/src/types/transactions/payment.ts +0 -14
  805. package/src/types/transactions/stateproof.ts +0 -17
@@ -10,32 +10,15 @@
10
10
  * 4. Every positive number must be encoded as uint
11
11
  * 5. Binary blob should be used for binary data and string for strings
12
12
  * */
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
35
15
  };
36
16
  Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.decode = exports.encode = exports.rawEncode = exports.ERROR_CONTAINS_EMPTY_STRING = void 0;
38
- const msgpack = __importStar(require("algo-msgpack-with-bigint"));
17
+ exports.encodeJSON = exports.decodeJSON = exports.encodeMsgpack = exports.decodeMsgpack = exports.Schema = exports.MsgpackRawStringProvider = exports.jsonEncodingDataToMsgpackEncodingData = exports.msgpackEncodingDataToJSONEncodingData = exports.msgpackRawDecodeAsMap = exports.decodeObj = exports.msgpackRawDecode = exports.encodeObj = exports.msgpackRawEncode = exports.ERROR_CONTAINS_EMPTY_STRING = void 0;
18
+ const algorand_msgpack_1 = require("algorand-msgpack");
19
+ const binarydata_js_1 = require("./binarydata.js");
20
+ const intDecoding_js_1 = __importDefault(require("../types/intDecoding.js"));
21
+ const utils_js_1 = require("../utils/utils.js");
39
22
  // Errors
40
23
  exports.ERROR_CONTAINS_EMPTY_STRING = 'The object contains empty or 0 values. First empty or 0 value encountered during encoding: ';
41
24
  /**
@@ -55,35 +38,367 @@ function containsEmpty(obj) {
55
38
  return { containsEmpty: false, firstEmptyKey: undefined };
56
39
  }
57
40
  /**
58
- * rawEncode encodes objects using msgpack, regardless of whether there are
41
+ * msgpackRawEncode encodes objects using msgpack, regardless of whether there are
59
42
  * empty or 0 value fields.
60
43
  * @param obj - a dictionary to be encoded. May or may not contain empty or 0 values.
61
44
  * @returns msgpack representation of the object
62
45
  */
63
- function rawEncode(obj) {
46
+ function msgpackRawEncode(obj) {
64
47
  // enable the canonical option
65
48
  const options = { sortKeys: true };
66
- return msgpack.encode(obj, options);
49
+ return (0, algorand_msgpack_1.encode)(obj, options);
67
50
  }
68
- exports.rawEncode = rawEncode;
51
+ exports.msgpackRawEncode = msgpackRawEncode;
69
52
  /**
70
- * encode encodes objects using msgpack
71
- * @param obj - a dictionary to be encoded. Must not contain empty or 0 values.
72
- * @returns msgpack representation of the object
53
+ * encodeObj takes a javascript object and returns its msgpack encoding
54
+ * Note that the encoding sorts the fields alphabetically
55
+ * @param o - js object to be encoded. Must not contain empty or 0 values.
56
+ * @returns Uint8Array binary representation
73
57
  * @throws Error containing ERROR_CONTAINS_EMPTY_STRING if the object contains empty or zero values
58
+ *
59
+ * @deprecated Use {@link msgpackRawEncode} instead. Note that function does not
60
+ * check for empty values like this one does.
74
61
  */
75
- function encode(obj) {
62
+ function encodeObj(obj) {
76
63
  // Check for empty values
77
64
  const emptyCheck = containsEmpty(obj);
78
65
  if (emptyCheck.containsEmpty) {
79
66
  throw new Error(exports.ERROR_CONTAINS_EMPTY_STRING + emptyCheck.firstEmptyKey);
80
67
  }
81
- // enable the canonical option
82
- return rawEncode(obj);
68
+ return msgpackRawEncode(obj);
69
+ }
70
+ exports.encodeObj = encodeObj;
71
+ function intDecodingToIntMode(intDecoding) {
72
+ switch (intDecoding) {
73
+ case intDecoding_js_1.default.UNSAFE:
74
+ return algorand_msgpack_1.IntMode.UNSAFE_NUMBER;
75
+ case intDecoding_js_1.default.SAFE:
76
+ return algorand_msgpack_1.IntMode.SAFE_NUMBER;
77
+ case intDecoding_js_1.default.MIXED:
78
+ return algorand_msgpack_1.IntMode.MIXED;
79
+ case intDecoding_js_1.default.BIGINT:
80
+ return algorand_msgpack_1.IntMode.BIGINT;
81
+ default:
82
+ throw new Error(`Invalid intDecoding: ${intDecoding}`);
83
+ }
84
+ }
85
+ /**
86
+ * Decodes msgpack bytes into a plain JavaScript object.
87
+ * @param buffer - The msgpack bytes to decode
88
+ * @param options - Options for decoding, including int decoding mode. See {@link IntDecoding} for more information.
89
+ * @returns The decoded object
90
+ */
91
+ function msgpackRawDecode(buffer, options) {
92
+ const decoderOptions = {
93
+ intMode: options?.intDecoding
94
+ ? intDecodingToIntMode(options?.intDecoding)
95
+ : algorand_msgpack_1.IntMode.BIGINT,
96
+ };
97
+ return (0, algorand_msgpack_1.decode)(buffer, decoderOptions);
98
+ }
99
+ exports.msgpackRawDecode = msgpackRawDecode;
100
+ /**
101
+ * decodeObj takes a Uint8Array and returns its javascript obj
102
+ * @param o - Uint8Array to decode
103
+ * @returns object
104
+ *
105
+ * @deprecated Use {@link msgpackRawDecode} instead. Note that this function uses `IntDecoding.MIXED`
106
+ * while `msgpackRawDecode` defaults to `IntDecoding.BIGINT` for int decoding, though it is
107
+ * configurable.
108
+ */
109
+ function decodeObj(o) {
110
+ return msgpackRawDecode(o, { intDecoding: intDecoding_js_1.default.MIXED });
111
+ }
112
+ exports.decodeObj = decodeObj;
113
+ /**
114
+ * Decodes msgpack bytes into a Map object. This supports decoding non-string map keys.
115
+ * @param encoded - The msgpack bytes to decode
116
+ * @param options - Options for decoding, including int decoding mode. See {@link IntDecoding} for more information.
117
+ * @returns The decoded Map object
118
+ */
119
+ function msgpackRawDecodeAsMap(encoded, options) {
120
+ const decoderOptions = {
121
+ intMode: options?.intDecoding
122
+ ? intDecodingToIntMode(options?.intDecoding)
123
+ : algorand_msgpack_1.IntMode.BIGINT,
124
+ useMap: true,
125
+ };
126
+ return (0, algorand_msgpack_1.decode)(encoded, decoderOptions);
127
+ }
128
+ exports.msgpackRawDecodeAsMap = msgpackRawDecodeAsMap;
129
+ function msgpackRawDecodeAsMapWithRawStrings(encoded, options) {
130
+ const decoderOptions = {
131
+ intMode: options?.intDecoding
132
+ ? intDecodingToIntMode(options?.intDecoding)
133
+ : algorand_msgpack_1.IntMode.BIGINT,
134
+ useMap: true,
135
+ rawBinaryStringKeys: true,
136
+ rawBinaryStringValues: true,
137
+ useRawBinaryStringClass: true,
138
+ };
139
+ return (0, algorand_msgpack_1.decode)(encoded, decoderOptions);
83
140
  }
84
- exports.encode = encode;
85
- function decode(buffer) {
86
- return msgpack.decode(buffer);
141
+ function msgpackEncodingDataToJSONEncodingData(e) {
142
+ if (e === null || e === undefined) {
143
+ return e;
144
+ }
145
+ if (e instanceof Uint8Array) {
146
+ return (0, binarydata_js_1.bytesToBase64)(e);
147
+ }
148
+ if (Array.isArray(e)) {
149
+ return e.map(msgpackEncodingDataToJSONEncodingData);
150
+ }
151
+ if (e instanceof Map) {
152
+ const obj = {};
153
+ for (const [k, v] of e) {
154
+ if (typeof k !== 'string') {
155
+ throw new Error(`JSON map key must be a string: ${k}`);
156
+ }
157
+ obj[k] = msgpackEncodingDataToJSONEncodingData(v);
158
+ }
159
+ return obj;
160
+ }
161
+ return e;
162
+ }
163
+ exports.msgpackEncodingDataToJSONEncodingData = msgpackEncodingDataToJSONEncodingData;
164
+ function jsonEncodingDataToMsgpackEncodingData(e) {
165
+ if (e === null || e === undefined) {
166
+ return e;
167
+ }
168
+ if (typeof e === 'string' || // Note, this will not convert base64 to Uint8Array
169
+ typeof e === 'number' ||
170
+ typeof e === 'bigint' ||
171
+ typeof e === 'boolean') {
172
+ return e;
173
+ }
174
+ if (Array.isArray(e)) {
175
+ return e.map(jsonEncodingDataToMsgpackEncodingData);
176
+ }
177
+ if (typeof e === 'object') {
178
+ const obj = new Map();
179
+ for (const [key, value] of Object.entries(e)) {
180
+ obj.set(key, jsonEncodingDataToMsgpackEncodingData(value));
181
+ }
182
+ return obj;
183
+ }
184
+ throw new Error(`Invalid JSON encoding data: ${e}`);
185
+ }
186
+ exports.jsonEncodingDataToMsgpackEncodingData = jsonEncodingDataToMsgpackEncodingData;
187
+ /* eslint-disable class-methods-use-this */
188
+ /* eslint-disable no-useless-constructor,no-empty-function */
189
+ var MsgpackObjectPathSegmentKind;
190
+ (function (MsgpackObjectPathSegmentKind) {
191
+ MsgpackObjectPathSegmentKind[MsgpackObjectPathSegmentKind["MAP_VALUE"] = 0] = "MAP_VALUE";
192
+ MsgpackObjectPathSegmentKind[MsgpackObjectPathSegmentKind["ARRAY_ELEMENT"] = 1] = "ARRAY_ELEMENT";
193
+ })(MsgpackObjectPathSegmentKind || (MsgpackObjectPathSegmentKind = {}));
194
+ /**
195
+ * This class is used to index into an encoded msgpack object and extract raw strings.
196
+ */
197
+ class MsgpackRawStringProvider {
198
+ constructor({ parent, segment, baseObjectBytes, }) {
199
+ this.resolvedCache = null;
200
+ this.resolvedCachePresent = false;
201
+ this.parent = parent;
202
+ this.segment = segment;
203
+ this.baseObjectBytes = baseObjectBytes;
204
+ }
205
+ /**
206
+ * Create a new provider that resolves to the current provider's map value at the given key.
207
+ */
208
+ withMapValue(key) {
209
+ return new MsgpackRawStringProvider({
210
+ parent: this,
211
+ segment: {
212
+ kind: MsgpackObjectPathSegmentKind.MAP_VALUE,
213
+ key,
214
+ },
215
+ });
216
+ }
217
+ /**
218
+ * Create a new provider that resolves to the current provider's array element at the given index.
219
+ */
220
+ withArrayElement(index) {
221
+ return new MsgpackRawStringProvider({
222
+ parent: this,
223
+ segment: {
224
+ kind: MsgpackObjectPathSegmentKind.ARRAY_ELEMENT,
225
+ key: index,
226
+ },
227
+ });
228
+ }
229
+ /**
230
+ * Get the raw string at the current location. If the current location is not a raw string, an error is thrown.
231
+ */
232
+ getRawStringAtCurrentLocation() {
233
+ const resolved = this.resolve();
234
+ if (resolved instanceof algorand_msgpack_1.RawBinaryString) {
235
+ // Decoded rawBinaryValue will always be a Uint8Array
236
+ return resolved.rawBinaryValue;
237
+ }
238
+ throw new Error(`Invalid type. Expected RawBinaryString, got ${resolved} (${typeof resolved})`);
239
+ }
240
+ /**
241
+ * Get the raw string map keys and values at the current location. If the current location is not a map, an error is thrown.
242
+ */
243
+ getRawStringKeysAndValuesAtCurrentLocation() {
244
+ const resolved = this.resolve();
245
+ if (!(resolved instanceof Map)) {
246
+ throw new Error(`Invalid type. Expected Map, got ${resolved} (${typeof resolved})`);
247
+ }
248
+ const keysAndValues = new Map();
249
+ for (const [key, value] of resolved) {
250
+ if (key instanceof algorand_msgpack_1.RawBinaryString) {
251
+ // Decoded rawBinaryValue will always be a Uint8Array
252
+ keysAndValues.set(key.rawBinaryValue, value);
253
+ }
254
+ else {
255
+ throw new Error(`Invalid type for map key. Expected RawBinaryString, got ${key} (${typeof key})`);
256
+ }
257
+ }
258
+ return keysAndValues;
259
+ }
260
+ /**
261
+ * Resolve the provider by extracting the value it indicates from the base msgpack object.
262
+ */
263
+ resolve() {
264
+ if (this.resolvedCachePresent) {
265
+ return this.resolvedCache;
266
+ }
267
+ let parentResolved;
268
+ if (this.parent) {
269
+ parentResolved = this.parent.resolve();
270
+ }
271
+ else {
272
+ // Need to parse baseObjectBytes
273
+ parentResolved = msgpackRawDecodeAsMapWithRawStrings(this.baseObjectBytes);
274
+ }
275
+ if (!this.segment) {
276
+ this.resolvedCache = parentResolved;
277
+ this.resolvedCachePresent = true;
278
+ return parentResolved;
279
+ }
280
+ if (this.segment.kind === MsgpackObjectPathSegmentKind.MAP_VALUE) {
281
+ if (!(parentResolved instanceof Map)) {
282
+ throw new Error(`Invalid type. Expected Map, got ${parentResolved} (${typeof parentResolved})`);
283
+ }
284
+ // All decoded map keys will be raw strings, and Map objects compare complex values by reference,
285
+ // so we must check all the values for value-equality.
286
+ if (typeof this.segment.key === 'string' ||
287
+ this.segment.key instanceof Uint8Array ||
288
+ this.segment.key instanceof algorand_msgpack_1.RawBinaryString) {
289
+ const targetBytes = this.segment.key instanceof algorand_msgpack_1.RawBinaryString
290
+ ? // Decoded rawBinaryValue will always be a Uint8Array
291
+ this.segment.key.rawBinaryValue
292
+ : (0, binarydata_js_1.coerceToBytes)(this.segment.key);
293
+ const targetIsRawString = typeof this.segment.key === 'string' ||
294
+ this.segment.key instanceof algorand_msgpack_1.RawBinaryString;
295
+ for (const [key, value] of parentResolved) {
296
+ let potentialKeyBytes;
297
+ if (targetIsRawString) {
298
+ if (key instanceof algorand_msgpack_1.RawBinaryString) {
299
+ // Decoded rawBinaryValue will always be a Uint8Array
300
+ potentialKeyBytes = key.rawBinaryValue;
301
+ }
302
+ }
303
+ else if (key instanceof Uint8Array) {
304
+ potentialKeyBytes = key;
305
+ }
306
+ if (potentialKeyBytes && (0, utils_js_1.arrayEqual)(targetBytes, potentialKeyBytes)) {
307
+ this.resolvedCache = value;
308
+ break;
309
+ }
310
+ }
311
+ }
312
+ else {
313
+ this.resolvedCache = parentResolved.get(this.segment.key);
314
+ }
315
+ this.resolvedCachePresent = true;
316
+ return this.resolvedCache;
317
+ }
318
+ if (this.segment.kind === MsgpackObjectPathSegmentKind.ARRAY_ELEMENT) {
319
+ if (!Array.isArray(parentResolved)) {
320
+ throw new Error(`Invalid type. Expected Array, got ${parentResolved} (${typeof parentResolved})`);
321
+ }
322
+ this.resolvedCache = parentResolved[this.segment.key];
323
+ this.resolvedCachePresent = true;
324
+ return this.resolvedCache;
325
+ }
326
+ throw new Error(`Invalid segment kind: ${this.segment.kind}`);
327
+ }
328
+ /**
329
+ * Get the path string of the current location indicated by the provider. Useful for debugging.
330
+ */
331
+ getPathString() {
332
+ const parentPathString = this.parent ? this.parent.getPathString() : 'root';
333
+ if (!this.segment) {
334
+ return parentPathString;
335
+ }
336
+ if (this.segment.kind === MsgpackObjectPathSegmentKind.MAP_VALUE) {
337
+ return `${parentPathString} -> map key "${this.segment.key}" (${typeof this.segment.key})`;
338
+ }
339
+ if (this.segment.kind === MsgpackObjectPathSegmentKind.ARRAY_ELEMENT) {
340
+ return `${parentPathString} -> array index ${this.segment.key} (${typeof this.segment.key})`;
341
+ }
342
+ return `${parentPathString} -> unknown segment kind ${this.segment.kind}`;
343
+ }
344
+ }
345
+ exports.MsgpackRawStringProvider = MsgpackRawStringProvider;
346
+ /**
347
+ * A Schema is used to prepare objects for encoding and decoding from msgpack and JSON.
348
+ *
349
+ * Schemas represent a specific type.
350
+ */
351
+ class Schema {
352
+ }
353
+ exports.Schema = Schema;
354
+ /**
355
+ * Decode a msgpack byte array to an Encodable object.
356
+ * @param encoded - The msgpack bytes to decode
357
+ * @param c - The class of the object to decode. This class must match the object that was encoded.
358
+ * @returns An instance of the class with the decoded data
359
+ */
360
+ function decodeMsgpack(encoded, c) {
361
+ const decoded = msgpackRawDecodeAsMap(encoded);
362
+ const rawStringProvider = new MsgpackRawStringProvider({
363
+ baseObjectBytes: encoded,
364
+ });
365
+ return c.fromEncodingData(c.encodingSchema.fromPreparedMsgpack(decoded, rawStringProvider));
366
+ }
367
+ exports.decodeMsgpack = decodeMsgpack;
368
+ /**
369
+ * Encode an Encodable object to a msgpack byte array.
370
+ * @param e - The object to encode
371
+ * @returns A msgpack byte array encoding of the object
372
+ */
373
+ function encodeMsgpack(e) {
374
+ return msgpackRawEncode(e.getEncodingSchema().prepareMsgpack(e.toEncodingData()));
375
+ }
376
+ exports.encodeMsgpack = encodeMsgpack;
377
+ /**
378
+ * Decode a JSON string to an Encodable object.
379
+ * @param encoded - The JSON string to decode
380
+ * @param c - The class of the object to decode. This class must match the object that was encoded.
381
+ * @returns An instance of the class with the decoded data
382
+ */
383
+ function decodeJSON(encoded, c) {
384
+ const decoded = (0, utils_js_1.parseJSON)(encoded, {
385
+ intDecoding: intDecoding_js_1.default.BIGINT,
386
+ });
387
+ return c.fromEncodingData(c.encodingSchema.fromPreparedJSON(decoded));
388
+ }
389
+ exports.decodeJSON = decodeJSON;
390
+ /**
391
+ * Encode an Encodable object to a JSON string.
392
+ * @param e - The object to encode
393
+ * @param options - Optional encoding options. See {@link EncodeJSONOptions} for more information.
394
+ * @returns A JSON string encoding of the object
395
+ */
396
+ function encodeJSON(e, options) {
397
+ const { space, ...prepareJSONOptions } = options ?? {};
398
+ const prepared = e
399
+ .getEncodingSchema()
400
+ .prepareJSON(e.toEncodingData(), prepareJSONOptions);
401
+ return (0, utils_js_1.stringifyJSON)(prepared, undefined, space);
87
402
  }
88
- exports.decode = decode;
403
+ exports.encodeJSON = encodeJSON;
89
404
  //# sourceMappingURL=encoding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/encoding/encoding.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;MAUM;;;;;;;;;;;;;;;;;;;;;;;;;;AAEN,kEAAoD;AAEpD,SAAS;AACI,QAAA,2BAA2B,GACtC,6FAA6F,CAAC;AAEhG;;;;;GAKG;AACH,SAAS,aAAa,CAAC,GAA0C;IAC/D,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACrB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;aACpD;SACF;KACF;IACD,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,GAA0C;IAClE,8BAA8B;IAC9B,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAJD,8BAIC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,GAA0C;IAC/D,yBAAyB;IACzB,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,UAAU,CAAC,aAAa,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,mCAA2B,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;KACzE;IAED,8BAA8B;IAC9B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AATD,wBASC;AAED,SAAgB,MAAM,CAAC,MAAyB;IAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAFD,wBAEC"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/encoding/encoding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddressSchema = void 0;
4
+ const encoding_js_1 = require("../encoding.js");
5
+ const address_js_1 = require("../address.js");
6
+ /* eslint-disable class-methods-use-this */
7
+ class AddressSchema extends encoding_js_1.Schema {
8
+ defaultValue() {
9
+ return address_js_1.Address.zeroAddress();
10
+ }
11
+ isDefaultValue(data) {
12
+ // The equals method checks if the input is an Address
13
+ return address_js_1.Address.zeroAddress().equals(data);
14
+ }
15
+ prepareMsgpack(data) {
16
+ if (data instanceof address_js_1.Address) {
17
+ return data.publicKey;
18
+ }
19
+ throw new Error(`Invalid address: (${typeof data}) ${data}`);
20
+ }
21
+ fromPreparedMsgpack(encoded,
22
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
+ _rawStringProvider) {
24
+ // The Address constructor checks that the input is a Uint8Array
25
+ return new address_js_1.Address(encoded);
26
+ }
27
+ prepareJSON(data,
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
+ _options) {
30
+ if (data instanceof address_js_1.Address) {
31
+ return data.toString();
32
+ }
33
+ throw new Error(`Invalid address: (${typeof data}) ${data}`);
34
+ }
35
+ fromPreparedJSON(encoded) {
36
+ // The Address.fromString method checks that the input is a string
37
+ return address_js_1.Address.fromString(encoded);
38
+ }
39
+ }
40
+ exports.AddressSchema = AddressSchema;
41
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../../src/encoding/schema/address.ts"],"names":[],"mappings":";;;AAAA,gDAMwB;AACxB,8CAAwC;AAExC,2CAA2C;AAE3C,MAAa,aAAc,SAAQ,oBAAM;IAChC,YAAY;QACjB,OAAO,oBAAO,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAEM,cAAc,CAAC,IAAa;QACjC,sDAAsD;QACtD,OAAO,oBAAO,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAe,CAAC,CAAC;IACvD,CAAC;IAEM,cAAc,CAAC,IAAa;QACjC,IAAI,IAAI,YAAY,oBAAO,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEM,mBAAmB,CACxB,OAA4B;IAC5B,6DAA6D;IAC7D,kBAA4C;QAE5C,gEAAgE;QAChE,OAAO,IAAI,oBAAO,CAAC,OAAqB,CAAC,CAAC;IAC5C,CAAC;IAEM,WAAW,CAChB,IAAa;IACb,6DAA6D;IAC7D,QAA4B;QAE5B,IAAI,IAAI,YAAY,oBAAO,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEM,gBAAgB,CAAC,OAAyB;QAC/C,kEAAkE;QAClE,OAAO,oBAAO,CAAC,UAAU,CAAC,OAAiB,CAAC,CAAC;IAC/C,CAAC;CACF;AAzCD,sCAyCC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArraySchema = void 0;
4
+ const encoding_js_1 = require("../encoding.js");
5
+ /* eslint-disable class-methods-use-this */
6
+ class ArraySchema extends encoding_js_1.Schema {
7
+ constructor(itemSchema) {
8
+ super();
9
+ this.itemSchema = itemSchema;
10
+ }
11
+ defaultValue() {
12
+ return [];
13
+ }
14
+ isDefaultValue(data) {
15
+ return Array.isArray(data) && data.length === 0;
16
+ }
17
+ prepareMsgpack(data) {
18
+ if (Array.isArray(data)) {
19
+ return data.map((item) => this.itemSchema.prepareMsgpack(item));
20
+ }
21
+ throw new Error('ArraySchema data must be an array');
22
+ }
23
+ fromPreparedMsgpack(encoded, rawStringProvider) {
24
+ if (Array.isArray(encoded)) {
25
+ return encoded.map((item, index) => this.itemSchema.fromPreparedMsgpack(item, rawStringProvider.withArrayElement(index)));
26
+ }
27
+ throw new Error(`ArraySchema encoded data must be an array: ${encoded} (${typeof encoded})`);
28
+ }
29
+ prepareJSON(data, options) {
30
+ if (Array.isArray(data)) {
31
+ return data.map((item) => this.itemSchema.prepareJSON(item, options));
32
+ }
33
+ throw new Error('ArraySchema data must be an array');
34
+ }
35
+ fromPreparedJSON(encoded) {
36
+ if (Array.isArray(encoded)) {
37
+ return encoded.map((item) => this.itemSchema.fromPreparedJSON(item));
38
+ }
39
+ throw new Error(`ArraySchema encoded data must be an array: ${encoded} (${typeof encoded})`);
40
+ }
41
+ }
42
+ exports.ArraySchema = ArraySchema;
43
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../src/encoding/schema/array.ts"],"names":[],"mappings":";;;AAAA,gDAMwB;AAExB,2CAA2C;AAE3C,MAAa,WAAY,SAAQ,oBAAM;IACrC,YAA4B,UAAkB;QAC5C,KAAK,EAAE,CAAC;QADkB,eAAU,GAAV,UAAU,CAAQ;IAE9C,CAAC;IAEM,YAAY;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,cAAc,CAAC,IAAa;QACjC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;IAClD,CAAC;IAEM,cAAc,CAAC,IAAa;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAEM,mBAAmB,CACxB,OAA4B,EAC5B,iBAA2C;QAE3C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACjC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CACjC,IAAI,EACJ,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAC1C,CACF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8CAA8C,OAAO,KAAK,OAAO,OAAO,GAAG,CAC5E,CAAC;IACJ,CAAC;IAEM,WAAW,CAChB,IAAa,EACb,OAA2B;QAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAEM,gBAAgB,CAAC,OAAyB;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8CAA8C,OAAO,KAAK,OAAO,OAAO,GAAG,CAC5E,CAAC;IACJ,CAAC;CACF;AAvDD,kCAuDC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpecialCaseBinaryStringSchema = void 0;
4
+ const algorand_msgpack_1 = require("algorand-msgpack");
5
+ const encoding_js_1 = require("../encoding.js");
6
+ const binarydata_js_1 = require("../binarydata.js");
7
+ const utils_js_1 = require("../../utils/utils.js");
8
+ /* eslint-disable class-methods-use-this */
9
+ /**
10
+ * SpecialCaseBinaryStringSchema is a schema for byte arrays which are encoded
11
+ * as strings in msgpack and JSON.
12
+ *
13
+ * This schema allows lossless conversion between the in memory representation
14
+ * and the msgpack encoded representation, but NOT between the in memory and
15
+ * JSON encoded representations if the byte array contains invalid UTF-8
16
+ * sequences.
17
+ */
18
+ class SpecialCaseBinaryStringSchema extends encoding_js_1.Schema {
19
+ defaultValue() {
20
+ return new Uint8Array();
21
+ }
22
+ isDefaultValue(data) {
23
+ return data instanceof Uint8Array && data.byteLength === 0;
24
+ }
25
+ prepareMsgpack(data) {
26
+ if (data instanceof Uint8Array) {
27
+ // Cast is needed because RawBinaryString is not part of the standard MsgpackEncodingData
28
+ return new algorand_msgpack_1.RawBinaryString(data);
29
+ }
30
+ throw new Error(`Invalid byte array: (${typeof data}) ${data}`);
31
+ }
32
+ fromPreparedMsgpack(_encoded, rawStringProvider) {
33
+ return rawStringProvider.getRawStringAtCurrentLocation();
34
+ }
35
+ prepareJSON(data, options) {
36
+ if (data instanceof Uint8Array) {
37
+ // Not safe to convert to string for all binary data
38
+ const stringValue = (0, binarydata_js_1.bytesToString)(data);
39
+ if (!options.lossyBinaryStringConversion &&
40
+ !(0, utils_js_1.arrayEqual)((0, binarydata_js_1.coerceToBytes)(stringValue), data)) {
41
+ throw new Error(`Invalid UTF-8 byte array encountered. Encode with lossyBinaryStringConversion enabled to bypass this check. Base64 value: ${(0, binarydata_js_1.bytesToBase64)(data)}`);
42
+ }
43
+ return stringValue;
44
+ }
45
+ throw new Error(`Invalid byte array: (${typeof data}) ${data}`);
46
+ }
47
+ fromPreparedJSON(encoded) {
48
+ if (typeof encoded === 'string') {
49
+ return (0, binarydata_js_1.coerceToBytes)(encoded);
50
+ }
51
+ throw new Error(`Invalid byte array: (${typeof encoded}) ${encoded}`);
52
+ }
53
+ }
54
+ exports.SpecialCaseBinaryStringSchema = SpecialCaseBinaryStringSchema;
55
+ //# sourceMappingURL=binarystring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binarystring.js","sourceRoot":"","sources":["../../../../src/encoding/schema/binarystring.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,gDAMwB;AACxB,oDAA+E;AAC/E,mDAAkD;AAElD,2CAA2C;AAE3C;;;;;;;;GAQG;AACH,MAAa,6BAA8B,SAAQ,oBAAM;IAChD,YAAY;QACjB,OAAO,IAAI,UAAU,EAAE,CAAC;IAC1B,CAAC;IAEM,cAAc,CAAC,IAAa;QACjC,OAAO,IAAI,YAAY,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC;IAC7D,CAAC;IAEM,cAAc,CAAC,IAAa;QACjC,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;YAC/B,yFAAyF;YACzF,OAAO,IAAI,kCAAe,CAAC,IAAI,CAAmC,CAAC;QACrE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAEM,mBAAmB,CACxB,QAA6B,EAC7B,iBAA2C;QAE3C,OAAO,iBAAiB,CAAC,6BAA6B,EAAE,CAAC;IAC3D,CAAC;IAEM,WAAW,CAChB,IAAa,EACb,OAA2B;QAE3B,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;YAC/B,oDAAoD;YACpD,MAAM,WAAW,GAAG,IAAA,6BAAa,EAAC,IAAI,CAAC,CAAC;YACxC,IACE,CAAC,OAAO,CAAC,2BAA2B;gBACpC,CAAC,IAAA,qBAAU,EAAC,IAAA,6BAAa,EAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAC7C,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,6HAA6H,IAAA,6BAAa,EAAC,IAAI,CAAC,EAAE,CACnJ,CAAC;YACJ,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IAEM,gBAAgB,CAAC,OAAyB;QAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,IAAA,6BAAa,EAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,OAAO,KAAK,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;CACF;AAlDD,sEAkDC"}