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
@@ -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"}