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
@@ -0,0 +1,1129 @@
1
+ import { NamedMapSchema, Uint64MapSchema, ByteArrayMapSchema, SpecialCaseBinaryStringMapSchema, SpecialCaseBinaryStringSchema, ArraySchema, BooleanSchema, Uint64Schema, AddressSchema, ByteArraySchema, FixedLengthByteArraySchema, OptionalSchema, UntypedSchema, allOmitEmpty, convertMap, combineMaps, } from '../encoding/schema/index.js';
2
+ import { BlockHeader } from './block.js';
3
+ import { UntypedValue } from '../client/v2/untypedmodel.js';
4
+ // TealValue contains type information and a value, representing a value in a TEAL program
5
+ export class TealValue {
6
+ constructor(params) {
7
+ this.type = params.type;
8
+ this.bytes = params.bytes;
9
+ this.uint = params.uint;
10
+ }
11
+ // eslint-disable-next-line class-methods-use-this
12
+ getEncodingSchema() {
13
+ return TealValue.encodingSchema;
14
+ }
15
+ toEncodingData() {
16
+ return new Map([
17
+ ['tt', this.type],
18
+ ['tb', this.bytes],
19
+ ['ui', this.uint],
20
+ ]);
21
+ }
22
+ static fromEncodingData(data) {
23
+ if (!(data instanceof Map)) {
24
+ throw new Error(`Invalid decoded TealValue: ${data}`);
25
+ }
26
+ return new TealValue({
27
+ type: Number(data.get('tt')),
28
+ bytes: data.get('tb'),
29
+ uint: data.get('ui'),
30
+ });
31
+ }
32
+ }
33
+ TealValue.encodingSchema = new NamedMapSchema(allOmitEmpty([
34
+ { key: 'tt', valueSchema: new Uint64Schema() }, // type
35
+ {
36
+ key: 'tb', // bytes
37
+ valueSchema: new OptionalSchema(new SpecialCaseBinaryStringSchema()),
38
+ },
39
+ { key: 'ui', valueSchema: new OptionalSchema(new Uint64Schema()) }, // uint
40
+ ]));
41
+ /**
42
+ * StateSchema sets maximums on the number of each type that may be stored
43
+ */
44
+ export class StateSchema {
45
+ constructor(params) {
46
+ this.numUints = params.numUints;
47
+ this.numByteSlices = params.numByteSlices;
48
+ }
49
+ // eslint-disable-next-line class-methods-use-this
50
+ getEncodingSchema() {
51
+ return StateSchema.encodingSchema;
52
+ }
53
+ toEncodingData() {
54
+ return new Map([
55
+ ['nui', this.numUints],
56
+ ['nbs', this.numByteSlices],
57
+ ]);
58
+ }
59
+ static fromEncodingData(data) {
60
+ if (!(data instanceof Map)) {
61
+ throw new Error(`Invalid decoded StateSchema: ${data}`);
62
+ }
63
+ return new StateSchema({
64
+ numUints: Number(data.get('nui')),
65
+ numByteSlices: Number(data.get('nbs')),
66
+ });
67
+ }
68
+ }
69
+ StateSchema.encodingSchema = new NamedMapSchema(allOmitEmpty([
70
+ {
71
+ key: 'nui', // numUints
72
+ valueSchema: new Uint64Schema(),
73
+ },
74
+ {
75
+ key: 'nbs', // numByteSlices
76
+ valueSchema: new Uint64Schema(),
77
+ },
78
+ ]));
79
+ /**
80
+ * AppParams stores the global information associated with an application
81
+ */
82
+ export class AppParams {
83
+ constructor(params) {
84
+ this.approvalProgram = params.approvalProgram;
85
+ this.clearStateProgram = params.clearStateProgram;
86
+ this.globalState = params.globalState;
87
+ this.localStateSchema = params.localStateSchema;
88
+ this.globalStateSchema = params.globalStateSchema;
89
+ this.extraProgramPages = params.extraProgramPages;
90
+ }
91
+ // eslint-disable-next-line class-methods-use-this
92
+ getEncodingSchema() {
93
+ return AppParams.encodingSchema;
94
+ }
95
+ toEncodingData() {
96
+ return new Map([
97
+ ['approv', this.approvalProgram],
98
+ ['clearp', this.clearStateProgram],
99
+ ['gs', convertMap(this.globalState, (k, v) => [k, v.toEncodingData()])],
100
+ ['lsch', this.localStateSchema.toEncodingData()],
101
+ ['gsch', this.globalStateSchema.toEncodingData()],
102
+ ['epp', this.extraProgramPages],
103
+ ]);
104
+ }
105
+ static fromEncodingData(data) {
106
+ if (!(data instanceof Map)) {
107
+ throw new Error(`Invalid decoded AppParams: ${data}`);
108
+ }
109
+ return new AppParams({
110
+ approvalProgram: data.get('approv'),
111
+ clearStateProgram: data.get('clearp'),
112
+ globalState: convertMap(data.get('gs'), (k, v) => [k, TealValue.fromEncodingData(v)]),
113
+ localStateSchema: StateSchema.fromEncodingData(data.get('lsch')),
114
+ globalStateSchema: StateSchema.fromEncodingData(data.get('gsch')),
115
+ extraProgramPages: Number(data.get('epp')),
116
+ });
117
+ }
118
+ }
119
+ AppParams.encodingSchema = new NamedMapSchema(allOmitEmpty([
120
+ { key: 'approv', valueSchema: new ByteArraySchema() }, // approvalProgram
121
+ { key: 'clearp', valueSchema: new ByteArraySchema() }, // alearStateProgram
122
+ {
123
+ key: 'gs',
124
+ valueSchema: new SpecialCaseBinaryStringMapSchema(TealValue.encodingSchema),
125
+ }, // globalState
126
+ { key: 'lsch', valueSchema: StateSchema.encodingSchema }, // localStateSchema
127
+ { key: 'gsch', valueSchema: StateSchema.encodingSchema }, // globalStateSchema
128
+ { key: 'epp', valueSchema: new Uint64Schema() }, // extraProgramPages
129
+ ]));
130
+ /**
131
+ * AppLocalState stores the LocalState associated with an application.
132
+ */
133
+ export class AppLocalState {
134
+ constructor(params) {
135
+ this.schema = params.schema;
136
+ this.keyValue = params.keyValue;
137
+ }
138
+ // eslint-disable-next-line class-methods-use-this
139
+ getEncodingSchema() {
140
+ return AppLocalState.encodingSchema;
141
+ }
142
+ toEncodingData() {
143
+ return new Map([
144
+ ['hsch', this.schema.toEncodingData()],
145
+ ['tkv', convertMap(this.keyValue, (k, v) => [k, v.toEncodingData()])],
146
+ ]);
147
+ }
148
+ static fromEncodingData(data) {
149
+ if (!(data instanceof Map)) {
150
+ throw new Error(`Invalid decoded AppLocalState: ${data}`);
151
+ }
152
+ return new AppLocalState({
153
+ schema: StateSchema.fromEncodingData(data.get('hsch')),
154
+ keyValue: convertMap(data.get('tkv'), (k, v) => [k, TealValue.fromEncodingData(v)]),
155
+ });
156
+ }
157
+ }
158
+ AppLocalState.encodingSchema = new NamedMapSchema(allOmitEmpty([
159
+ { key: 'hsch', valueSchema: StateSchema.encodingSchema }, // schema
160
+ {
161
+ key: 'tkv', // keyValue
162
+ valueSchema: new SpecialCaseBinaryStringMapSchema(TealValue.encodingSchema),
163
+ },
164
+ ]));
165
+ /**
166
+ * AppLocalStateDelta tracks a changed AppLocalState, and whether it was deleted
167
+ */
168
+ export class AppLocalStateDelta {
169
+ constructor(params) {
170
+ this.localState = params.localState;
171
+ this.deleted = params.deleted;
172
+ }
173
+ // eslint-disable-next-line class-methods-use-this
174
+ getEncodingSchema() {
175
+ return AppLocalStateDelta.encodingSchema;
176
+ }
177
+ toEncodingData() {
178
+ return new Map([
179
+ [
180
+ 'LocalState',
181
+ this.localState ? this.localState.toEncodingData() : undefined,
182
+ ],
183
+ ['Deleted', this.deleted],
184
+ ]);
185
+ }
186
+ static fromEncodingData(data) {
187
+ if (!(data instanceof Map)) {
188
+ throw new Error(`Invalid decoded AppLocalStateDelta: ${data}`);
189
+ }
190
+ return new AppLocalStateDelta({
191
+ localState: data.get('LocalState')
192
+ ? AppLocalState.fromEncodingData(data.get('LocalState'))
193
+ : undefined,
194
+ deleted: data.get('Deleted'),
195
+ });
196
+ }
197
+ }
198
+ AppLocalStateDelta.encodingSchema = new NamedMapSchema(allOmitEmpty([
199
+ {
200
+ key: 'LocalState', // localState
201
+ valueSchema: new OptionalSchema(AppLocalState.encodingSchema),
202
+ },
203
+ { key: 'Deleted', valueSchema: new BooleanSchema() }, // deleted
204
+ ]));
205
+ /**
206
+ * AppParamsDelta tracks a changed AppParams, and whether it was deleted
207
+ */
208
+ export class AppParamsDelta {
209
+ constructor(params) {
210
+ this.params = params.params;
211
+ this.deleted = params.deleted;
212
+ }
213
+ // eslint-disable-next-line class-methods-use-this
214
+ getEncodingSchema() {
215
+ return AppParamsDelta.encodingSchema;
216
+ }
217
+ toEncodingData() {
218
+ return new Map([
219
+ ['Params', this.params ? this.params.toEncodingData() : undefined],
220
+ ['Deleted', this.deleted],
221
+ ]);
222
+ }
223
+ static fromEncodingData(data) {
224
+ if (!(data instanceof Map)) {
225
+ throw new Error(`Invalid decoded AppParamsDelta: ${data}`);
226
+ }
227
+ return new AppParamsDelta({
228
+ params: data.get('Params')
229
+ ? AppParams.fromEncodingData(data.get('Params'))
230
+ : undefined,
231
+ deleted: data.get('Deleted'),
232
+ });
233
+ }
234
+ }
235
+ AppParamsDelta.encodingSchema = new NamedMapSchema(allOmitEmpty([
236
+ {
237
+ key: 'Params', // params
238
+ valueSchema: new OptionalSchema(AppParams.encodingSchema),
239
+ },
240
+ { key: 'Deleted', valueSchema: new BooleanSchema() }, // deleted
241
+ ]));
242
+ /**
243
+ * AppResourceRecord represents AppParams and AppLocalState in deltas
244
+ */
245
+ export class AppResourceRecord {
246
+ constructor(params) {
247
+ this.id = params.id;
248
+ this.address = params.address;
249
+ this.params = params.params;
250
+ this.state = params.state;
251
+ }
252
+ // eslint-disable-next-line class-methods-use-this
253
+ getEncodingSchema() {
254
+ return AppResourceRecord.encodingSchema;
255
+ }
256
+ toEncodingData() {
257
+ return new Map([
258
+ ['Aidx', this.id],
259
+ ['Addr', this.address],
260
+ ['Params', this.params.toEncodingData()],
261
+ ['State', this.state.toEncodingData()],
262
+ ]);
263
+ }
264
+ static fromEncodingData(data) {
265
+ if (!(data instanceof Map)) {
266
+ throw new Error(`Invalid decoded AppResourceRecord: ${data}`);
267
+ }
268
+ return new AppResourceRecord({
269
+ id: data.get('Aidx'),
270
+ address: data.get('Addr'),
271
+ params: AppParamsDelta.fromEncodingData(data.get('Params')),
272
+ state: AppLocalStateDelta.fromEncodingData(data.get('State')),
273
+ });
274
+ }
275
+ }
276
+ AppResourceRecord.encodingSchema = new NamedMapSchema(allOmitEmpty([
277
+ { key: 'Aidx', valueSchema: new Uint64Schema() }, // id
278
+ { key: 'Addr', valueSchema: new AddressSchema() }, // address
279
+ {
280
+ key: 'Params', // params
281
+ valueSchema: AppParamsDelta.encodingSchema,
282
+ },
283
+ {
284
+ key: 'State', // state
285
+ valueSchema: AppLocalStateDelta.encodingSchema,
286
+ },
287
+ ]));
288
+ /**
289
+ * AssetHolding describes an asset held by an account.
290
+ */
291
+ export class AssetHolding {
292
+ constructor(params) {
293
+ this.amount = params.amount;
294
+ this.frozen = params.frozen;
295
+ }
296
+ // eslint-disable-next-line class-methods-use-this
297
+ getEncodingSchema() {
298
+ return AssetHolding.encodingSchema;
299
+ }
300
+ toEncodingData() {
301
+ return new Map([
302
+ ['a', this.amount],
303
+ ['f', this.frozen],
304
+ ]);
305
+ }
306
+ static fromEncodingData(data) {
307
+ if (!(data instanceof Map)) {
308
+ throw new Error(`Invalid decoded AssetHolding: ${data}`);
309
+ }
310
+ return new AssetHolding({
311
+ amount: data.get('a'),
312
+ frozen: data.get('f'),
313
+ });
314
+ }
315
+ }
316
+ AssetHolding.encodingSchema = new NamedMapSchema(allOmitEmpty([
317
+ { key: 'a', valueSchema: new Uint64Schema() }, // amount
318
+ { key: 'f', valueSchema: new BooleanSchema() }, // frozen
319
+ ]));
320
+ /**
321
+ * AssetHoldingDelta records a changed AssetHolding, and whether it was deleted
322
+ */
323
+ export class AssetHoldingDelta {
324
+ constructor(params) {
325
+ this.holding = params.holding;
326
+ this.deleted = params.deleted;
327
+ }
328
+ // eslint-disable-next-line class-methods-use-this
329
+ getEncodingSchema() {
330
+ return AssetHoldingDelta.encodingSchema;
331
+ }
332
+ toEncodingData() {
333
+ return new Map([
334
+ ['Holding', this.holding ? this.holding.toEncodingData() : undefined],
335
+ ['Deleted', this.deleted],
336
+ ]);
337
+ }
338
+ static fromEncodingData(data) {
339
+ if (!(data instanceof Map)) {
340
+ throw new Error(`Invalid decoded AssetHoldingDelta: ${data}`);
341
+ }
342
+ return new AssetHoldingDelta({
343
+ holding: data.get('Holding')
344
+ ? AssetHolding.fromEncodingData(data.get('Holding'))
345
+ : undefined,
346
+ deleted: data.get('Deleted'),
347
+ });
348
+ }
349
+ }
350
+ AssetHoldingDelta.encodingSchema = new NamedMapSchema(allOmitEmpty([
351
+ {
352
+ key: 'Holding', // holding
353
+ valueSchema: new OptionalSchema(AssetHolding.encodingSchema),
354
+ },
355
+ { key: 'Deleted', valueSchema: new BooleanSchema() }, // deleted
356
+ ]));
357
+ /**
358
+ * AssetParams describes the parameters of an asset.
359
+ */
360
+ export class AssetParams {
361
+ constructor(params) {
362
+ this.total = params.total;
363
+ this.decimals = params.decimals;
364
+ this.defaultFrozen = params.defaultFrozen;
365
+ this.unitName = params.unitName;
366
+ this.assetName = params.assetName;
367
+ this.url = params.url;
368
+ this.metadataHash = params.metadataHash;
369
+ this.manager = params.manager;
370
+ this.reserve = params.reserve;
371
+ this.freeze = params.freeze;
372
+ this.clawback = params.clawback;
373
+ }
374
+ // eslint-disable-next-line class-methods-use-this
375
+ getEncodingSchema() {
376
+ return AssetParams.encodingSchema;
377
+ }
378
+ toEncodingData() {
379
+ return new Map([
380
+ ['t', this.total],
381
+ ['dc', this.decimals],
382
+ ['df', this.defaultFrozen],
383
+ ['un', this.unitName],
384
+ ['an', this.assetName],
385
+ ['au', this.url],
386
+ ['am', this.metadataHash],
387
+ ['m', this.manager],
388
+ ['r', this.reserve],
389
+ ['f', this.freeze],
390
+ ['c', this.clawback],
391
+ ]);
392
+ }
393
+ static fromEncodingData(data) {
394
+ if (!(data instanceof Map)) {
395
+ throw new Error(`Invalid decoded AssetParams: ${data}`);
396
+ }
397
+ return new AssetParams({
398
+ total: data.get('t'),
399
+ decimals: data.get('dc'),
400
+ defaultFrozen: data.get('df'),
401
+ unitName: data.get('un'),
402
+ assetName: data.get('an'),
403
+ url: data.get('au'),
404
+ metadataHash: data.get('am'),
405
+ manager: data.get('m'),
406
+ reserve: data.get('r'),
407
+ freeze: data.get('f'),
408
+ clawback: data.get('c'),
409
+ });
410
+ }
411
+ }
412
+ AssetParams.encodingSchema = new NamedMapSchema(allOmitEmpty([
413
+ { key: 't', valueSchema: new Uint64Schema() }, // total
414
+ { key: 'dc', valueSchema: new Uint64Schema() }, // decimals
415
+ { key: 'df', valueSchema: new BooleanSchema() }, // defaultFrozen
416
+ {
417
+ key: 'un', // unitName
418
+ valueSchema: new OptionalSchema(new SpecialCaseBinaryStringSchema()),
419
+ },
420
+ {
421
+ key: 'an', // assetName
422
+ valueSchema: new OptionalSchema(new SpecialCaseBinaryStringSchema()),
423
+ },
424
+ {
425
+ key: 'au', // url
426
+ valueSchema: new OptionalSchema(new SpecialCaseBinaryStringSchema()),
427
+ },
428
+ { key: 'am', valueSchema: new FixedLengthByteArraySchema(32) }, // metadataHash
429
+ { key: 'm', valueSchema: new OptionalSchema(new AddressSchema()) }, // manager
430
+ { key: 'r', valueSchema: new OptionalSchema(new AddressSchema()) }, // reserve
431
+ { key: 'f', valueSchema: new OptionalSchema(new AddressSchema()) }, // freeze
432
+ { key: 'c', valueSchema: new OptionalSchema(new AddressSchema()) }, // clawback
433
+ ]));
434
+ /**
435
+ * AssetParamsDelta tracks a changed AssetParams, and whether it was deleted
436
+ */
437
+ export class AssetParamsDelta {
438
+ constructor(params) {
439
+ this.params = params.params;
440
+ this.deleted = params.deleted;
441
+ }
442
+ // eslint-disable-next-line class-methods-use-this
443
+ getEncodingSchema() {
444
+ return AssetParamsDelta.encodingSchema;
445
+ }
446
+ toEncodingData() {
447
+ return new Map([
448
+ ['Params', this.params ? this.params.toEncodingData() : undefined],
449
+ ['Deleted', this.deleted],
450
+ ]);
451
+ }
452
+ static fromEncodingData(data) {
453
+ if (!(data instanceof Map)) {
454
+ throw new Error(`Invalid decoded AssetParamsDelta: ${data}`);
455
+ }
456
+ return new AssetParamsDelta({
457
+ params: data.get('Params')
458
+ ? AssetParams.fromEncodingData(data.get('Params'))
459
+ : undefined,
460
+ deleted: data.get('Deleted'),
461
+ });
462
+ }
463
+ }
464
+ AssetParamsDelta.encodingSchema = new NamedMapSchema(allOmitEmpty([
465
+ {
466
+ key: 'Params', // params
467
+ valueSchema: new OptionalSchema(AssetParams.encodingSchema),
468
+ },
469
+ { key: 'Deleted', valueSchema: new BooleanSchema() }, // deleted
470
+ ]));
471
+ /**
472
+ * AssetResourceRecord represents AssetParams and AssetHolding in deltas
473
+ */
474
+ export class AssetResourceRecord {
475
+ constructor(params) {
476
+ this.id = params.id;
477
+ this.address = params.address;
478
+ this.params = params.params;
479
+ this.holding = params.holding;
480
+ }
481
+ // eslint-disable-next-line class-methods-use-this
482
+ getEncodingSchema() {
483
+ return AssetResourceRecord.encodingSchema;
484
+ }
485
+ toEncodingData() {
486
+ return new Map([
487
+ ['Aidx', this.id],
488
+ ['Addr', this.address],
489
+ ['Params', this.params.toEncodingData()],
490
+ ['Holding', this.holding.toEncodingData()],
491
+ ]);
492
+ }
493
+ static fromEncodingData(data) {
494
+ if (!(data instanceof Map)) {
495
+ throw new Error(`Invalid decoded AssetResourceRecord: ${data}`);
496
+ }
497
+ return new AssetResourceRecord({
498
+ id: data.get('Aidx'),
499
+ address: data.get('Addr'),
500
+ params: AssetParamsDelta.fromEncodingData(data.get('Params')),
501
+ holding: AssetHoldingDelta.fromEncodingData(data.get('Holding')),
502
+ });
503
+ }
504
+ }
505
+ AssetResourceRecord.encodingSchema = new NamedMapSchema(allOmitEmpty([
506
+ { key: 'Aidx', valueSchema: new Uint64Schema() }, // id
507
+ { key: 'Addr', valueSchema: new AddressSchema() }, // address
508
+ {
509
+ key: 'Params', // params
510
+ valueSchema: AssetParamsDelta.encodingSchema,
511
+ },
512
+ {
513
+ key: 'Holding', // holding
514
+ valueSchema: AssetHoldingDelta.encodingSchema,
515
+ },
516
+ ]));
517
+ /**
518
+ * VotingData holds participation information
519
+ */
520
+ export class VotingData {
521
+ constructor(params) {
522
+ this.voteID = params.voteID;
523
+ this.selectionID = params.selectionID;
524
+ this.stateProofID = params.stateProofID;
525
+ this.voteFirstValid = params.voteFirstValid;
526
+ this.voteLastValid = params.voteLastValid;
527
+ this.voteKeyDilution = params.voteKeyDilution;
528
+ }
529
+ // eslint-disable-next-line class-methods-use-this
530
+ getEncodingSchema() {
531
+ return VotingData.encodingSchema;
532
+ }
533
+ toEncodingData() {
534
+ return new Map([
535
+ ['VoteID', this.voteID],
536
+ ['SelectionID', this.selectionID],
537
+ ['StateProofID', this.stateProofID],
538
+ ['VoteFirstValid', this.voteFirstValid],
539
+ ['VoteLastValid', this.voteLastValid],
540
+ ['VoteKeyDilution', this.voteKeyDilution],
541
+ ]);
542
+ }
543
+ static fromEncodingData(data) {
544
+ if (!(data instanceof Map)) {
545
+ throw new Error(`Invalid decoded VotingData: ${data}`);
546
+ }
547
+ return new VotingData({
548
+ voteID: data.get('VoteID'),
549
+ selectionID: data.get('SelectionID'),
550
+ stateProofID: data.get('StateProofID'),
551
+ voteFirstValid: data.get('VoteFirstValid'),
552
+ voteLastValid: data.get('VoteLastValid'),
553
+ voteKeyDilution: data.get('VoteKeyDilution'),
554
+ });
555
+ }
556
+ }
557
+ VotingData.encodingSchema = new NamedMapSchema(allOmitEmpty([
558
+ {
559
+ key: 'VoteID', // voteID
560
+ valueSchema: new FixedLengthByteArraySchema(32),
561
+ },
562
+ {
563
+ key: 'SelectionID', // selectionID
564
+ valueSchema: new FixedLengthByteArraySchema(32),
565
+ },
566
+ {
567
+ key: 'StateProofID', // stateProofID
568
+ valueSchema: new FixedLengthByteArraySchema(64),
569
+ },
570
+ {
571
+ key: 'VoteFirstValid', // voteFirstValid
572
+ valueSchema: new Uint64Schema(),
573
+ },
574
+ {
575
+ key: 'VoteLastValid', // voteLastValid
576
+ valueSchema: new Uint64Schema(),
577
+ },
578
+ {
579
+ key: 'VoteKeyDilution', // voteKeyDilution
580
+ valueSchema: new Uint64Schema(),
581
+ },
582
+ ]));
583
+ /**
584
+ * AccountBaseData contains base account info like balance, status and total number of resources
585
+ */
586
+ export class AccountBaseData {
587
+ constructor(params) {
588
+ this.status = params.status;
589
+ this.microAlgos = params.microAlgos;
590
+ this.rewardsBase = params.rewardsBase;
591
+ this.rewardedMicroAlgos = params.rewardedMicroAlgos;
592
+ this.authAddr = params.authAddr;
593
+ this.incentiveEligible = params.incentiveEligible;
594
+ this.totalAppSchema = params.totalAppSchema;
595
+ this.totalExtraAppPages = params.totalExtraAppPages;
596
+ this.totalAppParams = params.totalAppParams;
597
+ this.totalAppLocalStates = params.totalAppLocalStates;
598
+ this.totalAssetParams = params.totalAssetParams;
599
+ this.totalAssets = params.totalAssets;
600
+ this.totalBoxes = params.totalBoxes;
601
+ this.totalBoxBytes = params.totalBoxBytes;
602
+ this.lastProposed = params.lastProposed;
603
+ this.lastHeartbeat = params.lastHeartbeat;
604
+ }
605
+ // eslint-disable-next-line class-methods-use-this
606
+ getEncodingSchema() {
607
+ return AccountBaseData.encodingSchema;
608
+ }
609
+ toEncodingData() {
610
+ return new Map([
611
+ ['Status', this.status],
612
+ ['MicroAlgos', this.microAlgos],
613
+ ['RewardsBase', this.rewardsBase],
614
+ ['RewardedMicroAlgos', this.rewardedMicroAlgos],
615
+ ['AuthAddr', this.authAddr],
616
+ ['IncentiveEligible', this.incentiveEligible],
617
+ ['TotalAppSchema', this.totalAppSchema.toEncodingData()],
618
+ ['TotalExtraAppPages', this.totalExtraAppPages],
619
+ ['TotalAppParams', this.totalAppParams],
620
+ ['TotalAppLocalStates', this.totalAppLocalStates],
621
+ ['TotalAssetParams', this.totalAssetParams],
622
+ ['TotalAssets', this.totalAssets],
623
+ ['TotalBoxes', this.totalBoxes],
624
+ ['TotalBoxBytes', this.totalBoxBytes],
625
+ ['LastProposed', this.lastProposed],
626
+ ['LastHeartbeat', this.lastHeartbeat],
627
+ ]);
628
+ }
629
+ static fromEncodingData(data) {
630
+ if (!(data instanceof Map)) {
631
+ throw new Error(`Invalid decoded AccountBaseData: ${data}`);
632
+ }
633
+ return new AccountBaseData({
634
+ status: Number(data.get('Status')),
635
+ microAlgos: data.get('MicroAlgos'),
636
+ rewardsBase: data.get('RewardsBase'),
637
+ rewardedMicroAlgos: data.get('RewardedMicroAlgos'),
638
+ authAddr: data.get('AuthAddr'),
639
+ incentiveEligible: data.get('IncentiveEligible'),
640
+ totalAppSchema: StateSchema.fromEncodingData(data.get('TotalAppSchema')),
641
+ totalExtraAppPages: Number(data.get('TotalExtraAppPages')),
642
+ totalAppParams: data.get('TotalAppParams'),
643
+ totalAppLocalStates: data.get('TotalAppLocalStates'),
644
+ totalAssetParams: data.get('TotalAssetParams'),
645
+ totalAssets: data.get('TotalAssets'),
646
+ totalBoxes: data.get('TotalBoxes'),
647
+ totalBoxBytes: data.get('TotalBoxBytes'),
648
+ lastProposed: data.get('LastProposed'),
649
+ lastHeartbeat: data.get('LastHeartbeat'),
650
+ });
651
+ }
652
+ }
653
+ AccountBaseData.encodingSchema = new NamedMapSchema(allOmitEmpty([
654
+ { key: 'Status', valueSchema: new Uint64Schema() }, // status
655
+ { key: 'MicroAlgos', valueSchema: new Uint64Schema() }, // microAlgos
656
+ { key: 'RewardsBase', valueSchema: new Uint64Schema() }, // rewardsBase
657
+ {
658
+ key: 'RewardedMicroAlgos', // rewardedMicroAlgos
659
+ valueSchema: new Uint64Schema(),
660
+ },
661
+ { key: 'AuthAddr', valueSchema: new AddressSchema() }, // authAddr
662
+ {
663
+ key: 'IncentiveEligible', // incentiveEligible
664
+ valueSchema: new BooleanSchema(),
665
+ },
666
+ {
667
+ key: 'TotalAppSchema', // totalAppSchema
668
+ valueSchema: StateSchema.encodingSchema,
669
+ },
670
+ {
671
+ key: 'TotalExtraAppPages', // totalExtraAppPages
672
+ valueSchema: new Uint64Schema(),
673
+ },
674
+ {
675
+ key: 'TotalAppParams', // totalAppParams
676
+ valueSchema: new Uint64Schema(),
677
+ },
678
+ {
679
+ key: 'TotalAppLocalStates', // totalAppLocalStates
680
+ valueSchema: new Uint64Schema(),
681
+ },
682
+ {
683
+ key: 'TotalAssetParams', // totalAssetParams
684
+ valueSchema: new Uint64Schema(),
685
+ },
686
+ { key: 'TotalAssets', valueSchema: new Uint64Schema() }, // totalAssets
687
+ { key: 'TotalBoxes', valueSchema: new Uint64Schema() }, // totalBoxes
688
+ {
689
+ key: 'TotalBoxBytes', // totalBoxBytes
690
+ valueSchema: new Uint64Schema(),
691
+ },
692
+ { key: 'LastProposed', valueSchema: new Uint64Schema() }, // lastProposed
693
+ {
694
+ key: 'LastHeartbeat', // lastHeartbeat
695
+ valueSchema: new Uint64Schema(),
696
+ },
697
+ ]));
698
+ /**
699
+ * AccountData provides per-account data
700
+ */
701
+ export class AccountData {
702
+ constructor(params) {
703
+ this.accountBaseData = params.accountBaseData;
704
+ this.votingData = params.votingData;
705
+ }
706
+ // eslint-disable-next-line class-methods-use-this
707
+ getEncodingSchema() {
708
+ return AccountData.encodingSchema;
709
+ }
710
+ toEncodingData() {
711
+ return combineMaps(this.accountBaseData.toEncodingData(), this.votingData.toEncodingData());
712
+ }
713
+ static fromEncodingData(data) {
714
+ if (!(data instanceof Map)) {
715
+ throw new Error(`Invalid decoded AccountData: ${data}`);
716
+ }
717
+ return new AccountData({
718
+ accountBaseData: AccountBaseData.fromEncodingData(data),
719
+ votingData: VotingData.fromEncodingData(data),
720
+ });
721
+ }
722
+ }
723
+ AccountData.encodingSchema = new NamedMapSchema(allOmitEmpty([
724
+ {
725
+ key: '',
726
+ valueSchema: AccountBaseData.encodingSchema,
727
+ embedded: true,
728
+ },
729
+ {
730
+ key: '',
731
+ valueSchema: VotingData.encodingSchema,
732
+ embedded: true,
733
+ },
734
+ ]));
735
+ export class BalanceRecord {
736
+ constructor(params) {
737
+ this.addr = params.addr;
738
+ this.accountData = params.accountData;
739
+ }
740
+ // eslint-disable-next-line class-methods-use-this
741
+ getEncodingSchema() {
742
+ return BalanceRecord.encodingSchema;
743
+ }
744
+ toEncodingData() {
745
+ return combineMaps(new Map([['Addr', this.addr]]), this.accountData.toEncodingData());
746
+ }
747
+ static fromEncodingData(data) {
748
+ if (!(data instanceof Map)) {
749
+ throw new Error(`Invalid decoded BalanceRecord: ${data}`);
750
+ }
751
+ return new BalanceRecord({
752
+ addr: data.get('Addr'),
753
+ accountData: AccountData.fromEncodingData(data),
754
+ });
755
+ }
756
+ }
757
+ BalanceRecord.encodingSchema = new NamedMapSchema(allOmitEmpty([
758
+ {
759
+ key: 'Addr',
760
+ valueSchema: new AddressSchema(),
761
+ },
762
+ {
763
+ key: '',
764
+ valueSchema: AccountData.encodingSchema,
765
+ embedded: true,
766
+ },
767
+ ]));
768
+ export class AccountDeltas {
769
+ constructor(params) {
770
+ this.accounts = params.accounts;
771
+ this.appResources = params.appResources;
772
+ this.assetResources = params.assetResources;
773
+ }
774
+ // eslint-disable-next-line class-methods-use-this
775
+ getEncodingSchema() {
776
+ return AccountDeltas.encodingSchema;
777
+ }
778
+ toEncodingData() {
779
+ return new Map([
780
+ ['Accts', this.accounts.map((account) => account.toEncodingData())],
781
+ [
782
+ 'AppResources',
783
+ this.appResources.length === 0
784
+ ? undefined
785
+ : this.appResources.map((appResource) => appResource.toEncodingData()),
786
+ ],
787
+ [
788
+ 'AssetResources',
789
+ this.assetResources.length === 0
790
+ ? undefined
791
+ : this.assetResources.map((assetResource) => assetResource.toEncodingData()),
792
+ ],
793
+ ]);
794
+ }
795
+ static fromEncodingData(data) {
796
+ if (!(data instanceof Map)) {
797
+ throw new Error(`Invalid decoded AccountDeltas: ${data}`);
798
+ }
799
+ return new AccountDeltas({
800
+ accounts: (data.get('Accts') ?? []).map(BalanceRecord.fromEncodingData),
801
+ appResources: (data.get('AppResources') ?? []).map(AppResourceRecord.fromEncodingData),
802
+ assetResources: (data.get('AssetResources') ?? []).map(AssetResourceRecord.fromEncodingData),
803
+ });
804
+ }
805
+ }
806
+ AccountDeltas.encodingSchema = new NamedMapSchema(allOmitEmpty([
807
+ {
808
+ key: 'Accts', // accounts
809
+ valueSchema: new ArraySchema(BalanceRecord.encodingSchema),
810
+ },
811
+ {
812
+ key: 'AppResources', // appResources
813
+ valueSchema: new OptionalSchema(new ArraySchema(AppResourceRecord.encodingSchema)),
814
+ },
815
+ {
816
+ key: 'AssetResources', // assetResources
817
+ valueSchema: new OptionalSchema(new ArraySchema(AssetResourceRecord.encodingSchema)),
818
+ },
819
+ ]));
820
+ /**
821
+ * A KvValueDelta shows how the Data associated with a key in the kvstore has changed.
822
+ */
823
+ export class KvValueDelta {
824
+ constructor(params) {
825
+ this.data = params.data;
826
+ this.oldData = params.oldData;
827
+ }
828
+ // eslint-disable-next-line class-methods-use-this
829
+ getEncodingSchema() {
830
+ return KvValueDelta.encodingSchema;
831
+ }
832
+ toEncodingData() {
833
+ return new Map([
834
+ ['Data', this.data],
835
+ ['OldData', this.oldData],
836
+ ]);
837
+ }
838
+ static fromEncodingData(data) {
839
+ if (!(data instanceof Map)) {
840
+ throw new Error(`Invalid decoded KvValueDelta: ${data}`);
841
+ }
842
+ return new KvValueDelta({
843
+ data: data.get('Data'),
844
+ oldData: data.get('OldData'),
845
+ });
846
+ }
847
+ }
848
+ KvValueDelta.encodingSchema = new NamedMapSchema(allOmitEmpty([
849
+ {
850
+ key: 'Data',
851
+ valueSchema: new OptionalSchema(new ByteArraySchema()),
852
+ },
853
+ {
854
+ key: 'OldData',
855
+ valueSchema: new OptionalSchema(new ByteArraySchema()),
856
+ },
857
+ ]));
858
+ /**
859
+ * IncludedTransactions defines the transactions included in a block, their index and last valid round.
860
+ */
861
+ export class IncludedTransactions {
862
+ constructor(params) {
863
+ this.lastValid = params.lastValid;
864
+ this.intra = params.intra;
865
+ }
866
+ // eslint-disable-next-line class-methods-use-this
867
+ getEncodingSchema() {
868
+ return IncludedTransactions.encodingSchema;
869
+ }
870
+ toEncodingData() {
871
+ return new Map([
872
+ ['LastValid', this.lastValid],
873
+ ['Intra', this.intra],
874
+ ]);
875
+ }
876
+ static fromEncodingData(data) {
877
+ if (!(data instanceof Map)) {
878
+ throw new Error(`Invalid decoded IncludedTransactions: ${data}`);
879
+ }
880
+ return new IncludedTransactions({
881
+ lastValid: data.get('LastValid'),
882
+ intra: Number(data.get('Intra')),
883
+ });
884
+ }
885
+ }
886
+ IncludedTransactions.encodingSchema = new NamedMapSchema(allOmitEmpty([
887
+ {
888
+ key: 'LastValid',
889
+ valueSchema: new Uint64Schema(),
890
+ },
891
+ {
892
+ key: 'Intra',
893
+ valueSchema: new Uint64Schema(),
894
+ },
895
+ ]));
896
+ /**
897
+ * ModifiedCreatable represents a change to a single creatable state
898
+ */
899
+ export class ModifiedCreatable {
900
+ constructor(params) {
901
+ this.creatableType = params.creatableType;
902
+ this.created = params.created;
903
+ this.creator = params.creator;
904
+ this.ndeltas = params.ndeltas;
905
+ }
906
+ // eslint-disable-next-line class-methods-use-this
907
+ getEncodingSchema() {
908
+ return ModifiedCreatable.encodingSchema;
909
+ }
910
+ toEncodingData() {
911
+ return new Map([
912
+ ['Ctype', this.creatableType],
913
+ ['Created', this.created],
914
+ ['Creator', this.creator],
915
+ ['Ndeltas', this.ndeltas],
916
+ ]);
917
+ }
918
+ static fromEncodingData(data) {
919
+ if (!(data instanceof Map)) {
920
+ throw new Error(`Invalid decoded ModifiedCreatable: ${data}`);
921
+ }
922
+ return new ModifiedCreatable({
923
+ creatableType: Number(data.get('Ctype')),
924
+ created: data.get('Created'),
925
+ creator: data.get('Creator'),
926
+ ndeltas: Number(data.get('Ndeltas')),
927
+ });
928
+ }
929
+ }
930
+ ModifiedCreatable.encodingSchema = new NamedMapSchema(allOmitEmpty([
931
+ {
932
+ key: 'Ctype', // creatableType
933
+ valueSchema: new Uint64Schema(),
934
+ },
935
+ {
936
+ key: 'Created', // created
937
+ valueSchema: new BooleanSchema(),
938
+ },
939
+ {
940
+ key: 'Creator', // creator
941
+ valueSchema: new AddressSchema(),
942
+ },
943
+ {
944
+ key: 'Ndeltas', // ndeltas
945
+ valueSchema: new Uint64Schema(),
946
+ },
947
+ ]));
948
+ /**
949
+ * AlgoCount represents a total of algos of a certain class of accounts (split up by their Status value).
950
+ */
951
+ export class AlgoCount {
952
+ constructor(params) {
953
+ this.money = params.money;
954
+ this.rewardUnits = params.rewardUnits;
955
+ }
956
+ // eslint-disable-next-line class-methods-use-this
957
+ getEncodingSchema() {
958
+ return AlgoCount.encodingSchema;
959
+ }
960
+ toEncodingData() {
961
+ return new Map([
962
+ ['mon', this.money],
963
+ ['rwd', this.rewardUnits],
964
+ ]);
965
+ }
966
+ static fromEncodingData(data) {
967
+ if (!(data instanceof Map)) {
968
+ throw new Error(`Invalid decoded AlgoCount: ${data}`);
969
+ }
970
+ return new AlgoCount({
971
+ money: data.get('mon'),
972
+ rewardUnits: data.get('rwd'),
973
+ });
974
+ }
975
+ }
976
+ AlgoCount.encodingSchema = new NamedMapSchema(allOmitEmpty([
977
+ { key: 'mon', valueSchema: new Uint64Schema() }, // money
978
+ { key: 'rwd', valueSchema: new Uint64Schema() }, // rewardUnits
979
+ ]));
980
+ /**
981
+ * AccountTotals represents the totals of algos in the system grouped by different account status values.
982
+ */
983
+ export class AccountTotals {
984
+ constructor(params) {
985
+ this.online = params.online;
986
+ this.offline = params.offline;
987
+ this.notParticipating = params.notParticipating;
988
+ this.rewardsLevel = params.rewardsLevel;
989
+ }
990
+ // eslint-disable-next-line class-methods-use-this
991
+ getEncodingSchema() {
992
+ return AccountTotals.encodingSchema;
993
+ }
994
+ toEncodingData() {
995
+ return new Map([
996
+ ['online', this.online.toEncodingData()],
997
+ ['offline', this.offline.toEncodingData()],
998
+ ['notpart', this.notParticipating.toEncodingData()],
999
+ ['rwdlvl', this.rewardsLevel],
1000
+ ]);
1001
+ }
1002
+ static fromEncodingData(data) {
1003
+ if (!(data instanceof Map)) {
1004
+ throw new Error(`Invalid decoded AccountTotals: ${data}`);
1005
+ }
1006
+ return new AccountTotals({
1007
+ online: AlgoCount.fromEncodingData(data.get('online')),
1008
+ offline: AlgoCount.fromEncodingData(data.get('offline')),
1009
+ notParticipating: AlgoCount.fromEncodingData(data.get('notpart')),
1010
+ rewardsLevel: data.get('rwdlvl'),
1011
+ });
1012
+ }
1013
+ }
1014
+ AccountTotals.encodingSchema = new NamedMapSchema(allOmitEmpty([
1015
+ { key: 'online', valueSchema: AlgoCount.encodingSchema }, // online
1016
+ { key: 'offline', valueSchema: AlgoCount.encodingSchema }, // offline
1017
+ { key: 'notpart', valueSchema: AlgoCount.encodingSchema }, // notParticipating
1018
+ { key: 'rwdlvl', valueSchema: new Uint64Schema() }, // rewardsLevel
1019
+ ]));
1020
+ /**
1021
+ * LedgerStateDelta describes the delta between a given round to the previous round
1022
+ */
1023
+ export class LedgerStateDelta {
1024
+ constructor(params) {
1025
+ this.accounts = params.accounts;
1026
+ this.kvMods = params.kvMods;
1027
+ this.txids = params.txids;
1028
+ this.txleases = params.txleases;
1029
+ this.creatables = params.creatables;
1030
+ this.blockHeader = params.blockHeader;
1031
+ this.stateProofNext = params.stateProofNext;
1032
+ this.prevTimestamp = params.prevTimestamp;
1033
+ this.totals = params.totals;
1034
+ }
1035
+ // eslint-disable-next-line class-methods-use-this
1036
+ getEncodingSchema() {
1037
+ return LedgerStateDelta.encodingSchema;
1038
+ }
1039
+ toEncodingData() {
1040
+ return new Map([
1041
+ ['Accts', this.accounts.toEncodingData()],
1042
+ [
1043
+ 'KvMods',
1044
+ this.kvMods.size === 0
1045
+ ? undefined
1046
+ : convertMap(this.kvMods, (key, value) => [
1047
+ key,
1048
+ value.toEncodingData(),
1049
+ ]),
1050
+ ],
1051
+ [
1052
+ 'Txids',
1053
+ convertMap(this.txids, (key, value) => [key, value.toEncodingData()]),
1054
+ ],
1055
+ ['Txleases', this.txleases.toEncodingData()],
1056
+ [
1057
+ 'Creatables',
1058
+ this.creatables.size === 0
1059
+ ? undefined
1060
+ : convertMap(this.creatables, (key, value) => [
1061
+ key,
1062
+ value.toEncodingData(),
1063
+ ]),
1064
+ ],
1065
+ ['Hdr', this.blockHeader.toEncodingData()],
1066
+ ['StateProofNext', this.stateProofNext],
1067
+ ['PrevTimestamp', this.prevTimestamp],
1068
+ ['Totals', this.totals.toEncodingData()],
1069
+ ]);
1070
+ }
1071
+ static fromEncodingData(data) {
1072
+ if (!(data instanceof Map)) {
1073
+ throw new Error(`Invalid decoded LedgerStateDelta: ${data}`);
1074
+ }
1075
+ return new LedgerStateDelta({
1076
+ accounts: AccountDeltas.fromEncodingData(data.get('Accts')),
1077
+ kvMods: convertMap((data.get('KvMods') ?? new Map()), (key, value) => [key, KvValueDelta.fromEncodingData(value)]),
1078
+ txids: convertMap(data.get('Txids'), (key, value) => [key, IncludedTransactions.fromEncodingData(value)]),
1079
+ txleases: UntypedValue.fromEncodingData(data.get('Txleases')),
1080
+ creatables: convertMap((data.get('Creatables') ?? new Map()), (key, value) => [key, ModifiedCreatable.fromEncodingData(value)]),
1081
+ blockHeader: BlockHeader.fromEncodingData(data.get('Hdr')),
1082
+ stateProofNext: data.get('StateProofNext'),
1083
+ prevTimestamp: data.get('PrevTimestamp'),
1084
+ totals: AccountTotals.fromEncodingData(data.get('Totals')),
1085
+ });
1086
+ }
1087
+ }
1088
+ LedgerStateDelta.encodingSchema = new NamedMapSchema(allOmitEmpty([
1089
+ {
1090
+ key: 'Accts', // accounts
1091
+ valueSchema: AccountDeltas.encodingSchema,
1092
+ },
1093
+ {
1094
+ key: 'KvMods', // kvMods
1095
+ valueSchema: new OptionalSchema(new SpecialCaseBinaryStringMapSchema(KvValueDelta.encodingSchema)),
1096
+ },
1097
+ {
1098
+ key: 'Txids', // txids
1099
+ valueSchema: new ByteArrayMapSchema(IncludedTransactions.encodingSchema),
1100
+ },
1101
+ {
1102
+ key: 'Txleases', // txleases
1103
+ // Note: because txleases is currently just an UntypedSchema and we are expected to decode
1104
+ // null values for this field, we use OptionalSchema to coerce null values to undefined so
1105
+ // that the values can be properly omitted during encoding.
1106
+ valueSchema: new OptionalSchema(new UntypedSchema()),
1107
+ },
1108
+ {
1109
+ key: 'Creatables', // creatables
1110
+ valueSchema: new OptionalSchema(new Uint64MapSchema(ModifiedCreatable.encodingSchema)),
1111
+ },
1112
+ {
1113
+ key: 'Hdr', // blockHeader
1114
+ valueSchema: BlockHeader.encodingSchema,
1115
+ },
1116
+ {
1117
+ key: 'StateProofNext', // stateProofNext
1118
+ valueSchema: new Uint64Schema(),
1119
+ },
1120
+ {
1121
+ key: 'PrevTimestamp', // prevTimestamp
1122
+ valueSchema: new Uint64Schema(),
1123
+ },
1124
+ {
1125
+ key: 'Totals', // totals
1126
+ valueSchema: AccountTotals.encodingSchema,
1127
+ },
1128
+ ]));
1129
+ //# sourceMappingURL=statedelta.js.map