algosdk 1.24.0 → 2.0.0

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 (895) hide show
  1. package/README.md +4 -4
  2. package/dist/browser/algosdk.min.js +1 -1
  3. package/dist/browser/algosdk.min.js.LICENSE.txt +0 -18
  4. package/dist/browser/algosdk.min.js.map +1 -1
  5. package/dist/cjs/{src/abi → abi}/abi_type.js +0 -0
  6. package/dist/cjs/abi/abi_type.js.map +1 -0
  7. package/dist/cjs/{src/abi → abi}/contract.js +0 -0
  8. package/dist/cjs/abi/contract.js.map +1 -0
  9. package/dist/cjs/{src/abi → abi}/index.js +0 -0
  10. package/dist/cjs/abi/index.js.map +1 -0
  11. package/dist/cjs/{src/abi → abi}/interface.js +0 -0
  12. package/dist/cjs/abi/interface.js.map +1 -0
  13. package/dist/cjs/{src/abi → abi}/method.js +0 -0
  14. package/dist/cjs/abi/method.js.map +1 -0
  15. package/dist/cjs/{src/abi → abi}/reference.js +0 -0
  16. package/dist/cjs/abi/reference.js.map +1 -0
  17. package/dist/cjs/{src/abi → abi}/transaction.js +0 -0
  18. package/dist/cjs/abi/transaction.js.map +1 -0
  19. package/dist/cjs/{src/account.js → account.js} +0 -0
  20. package/dist/cjs/account.js.map +1 -0
  21. package/dist/cjs/{src/bid.js → bid.js} +0 -0
  22. package/dist/cjs/bid.js.map +1 -0
  23. package/dist/cjs/{src/boxStorage.js → boxStorage.js} +0 -0
  24. package/dist/cjs/boxStorage.js.map +1 -0
  25. package/dist/cjs/{src/client → client}/baseHTTPClient.js +0 -0
  26. package/dist/cjs/client/baseHTTPClient.js.map +1 -0
  27. package/dist/cjs/{src/client → client}/client.js +0 -0
  28. package/dist/cjs/client/client.js.map +1 -0
  29. package/dist/cjs/{src/client → client}/kmd.js +0 -0
  30. package/dist/cjs/client/kmd.js.map +1 -0
  31. package/dist/cjs/{src/client → client}/urlTokenBaseHTTPClient.js +0 -0
  32. package/dist/cjs/client/urlTokenBaseHTTPClient.js.map +1 -0
  33. package/dist/cjs/{src/client → client}/v2/algod/accountApplicationInformation.js +0 -0
  34. package/dist/cjs/client/v2/algod/accountApplicationInformation.js.map +1 -0
  35. package/dist/cjs/{src/client → client}/v2/algod/accountAssetInformation.js +0 -0
  36. package/dist/cjs/client/v2/algod/accountAssetInformation.js.map +1 -0
  37. package/dist/cjs/{src/client → client}/v2/algod/accountInformation.js +0 -0
  38. package/dist/cjs/client/v2/algod/accountInformation.js.map +1 -0
  39. package/dist/cjs/client/v2/algod/algod.js +512 -0
  40. package/dist/cjs/client/v2/algod/algod.js.map +1 -0
  41. package/dist/cjs/{src/client → client}/v2/algod/block.js +0 -0
  42. package/dist/cjs/client/v2/algod/block.js.map +1 -0
  43. package/dist/cjs/{src/client → client}/v2/algod/compile.js +0 -0
  44. package/dist/cjs/client/v2/algod/compile.js.map +1 -0
  45. package/dist/cjs/{src/client → client}/v2/algod/dryrun.js +0 -0
  46. package/dist/cjs/client/v2/algod/dryrun.js.map +1 -0
  47. package/dist/cjs/{src/client → client}/v2/algod/genesis.js +0 -0
  48. package/dist/cjs/client/v2/algod/genesis.js.map +1 -0
  49. package/dist/cjs/{src/client → client}/v2/algod/getApplicationBoxByName.js +0 -0
  50. package/dist/cjs/client/v2/algod/getApplicationBoxByName.js.map +1 -0
  51. package/dist/cjs/{src/client → client}/v2/algod/getApplicationBoxes.js +0 -0
  52. package/dist/cjs/client/v2/algod/getApplicationBoxes.js.map +1 -0
  53. package/dist/cjs/{src/client → client}/v2/algod/getApplicationByID.js +0 -0
  54. package/dist/cjs/client/v2/algod/getApplicationByID.js.map +1 -0
  55. package/dist/cjs/{src/client → client}/v2/algod/getAssetByID.js +0 -0
  56. package/dist/cjs/client/v2/algod/getAssetByID.js.map +1 -0
  57. package/dist/cjs/{src/client → client}/v2/algod/getBlockHash.js +0 -0
  58. package/dist/cjs/client/v2/algod/getBlockHash.js.map +1 -0
  59. package/dist/cjs/{src/client → client}/v2/algod/getTransactionProof.js +0 -0
  60. package/dist/cjs/client/v2/algod/getTransactionProof.js.map +1 -0
  61. package/dist/cjs/{src/client → client}/v2/algod/healthCheck.js +0 -0
  62. package/dist/cjs/client/v2/algod/healthCheck.js.map +1 -0
  63. package/dist/cjs/{src/client → client}/v2/algod/lightBlockHeaderProof.js +0 -0
  64. package/dist/cjs/client/v2/algod/lightBlockHeaderProof.js.map +1 -0
  65. package/dist/cjs/client/v2/algod/models/types.js +2085 -0
  66. package/dist/cjs/client/v2/algod/models/types.js.map +1 -0
  67. package/dist/cjs/{src/client → client}/v2/algod/pendingTransactionInformation.js +0 -0
  68. package/dist/cjs/client/v2/algod/pendingTransactionInformation.js.map +1 -0
  69. package/dist/cjs/{src/client → client}/v2/algod/pendingTransactions.js +0 -0
  70. package/dist/cjs/client/v2/algod/pendingTransactions.js.map +1 -0
  71. package/dist/cjs/{src/client → client}/v2/algod/pendingTransactionsByAddress.js +0 -0
  72. package/dist/cjs/client/v2/algod/pendingTransactionsByAddress.js.map +1 -0
  73. package/dist/cjs/{src/client → client}/v2/algod/sendRawTransaction.js +0 -0
  74. package/dist/cjs/client/v2/algod/sendRawTransaction.js.map +1 -0
  75. package/dist/cjs/{src/client → client}/v2/algod/stateproof.js +0 -0
  76. package/dist/cjs/client/v2/algod/stateproof.js.map +1 -0
  77. package/dist/cjs/{src/client → client}/v2/algod/status.js +0 -0
  78. package/dist/cjs/client/v2/algod/status.js.map +1 -0
  79. package/dist/cjs/{src/client → client}/v2/algod/statusAfterBlock.js +0 -0
  80. package/dist/cjs/client/v2/algod/statusAfterBlock.js.map +1 -0
  81. package/dist/cjs/{src/client → client}/v2/algod/suggestedParams.js +0 -0
  82. package/dist/cjs/client/v2/algod/suggestedParams.js.map +1 -0
  83. package/dist/cjs/{src/client → client}/v2/algod/supply.js +0 -0
  84. package/dist/cjs/client/v2/algod/supply.js.map +1 -0
  85. package/dist/cjs/{src/client → client}/v2/algod/versions.js +0 -0
  86. package/dist/cjs/client/v2/algod/versions.js.map +1 -0
  87. package/dist/cjs/{src/client → client}/v2/basemodel.js +0 -0
  88. package/dist/cjs/client/v2/basemodel.js.map +1 -0
  89. package/dist/cjs/{src/client → client}/v2/indexer/indexer.js +0 -0
  90. package/dist/cjs/client/v2/indexer/indexer.js.map +1 -0
  91. package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountAppLocalStates.js +0 -0
  92. package/dist/cjs/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -0
  93. package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountAssets.js +0 -0
  94. package/dist/cjs/client/v2/indexer/lookupAccountAssets.js.map +1 -0
  95. package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountByID.js +0 -0
  96. package/dist/cjs/client/v2/indexer/lookupAccountByID.js.map +1 -0
  97. package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountCreatedApplications.js +0 -0
  98. package/dist/cjs/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -0
  99. package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountCreatedAssets.js +0 -0
  100. package/dist/cjs/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -0
  101. package/dist/cjs/{src/client → client}/v2/indexer/lookupAccountTransactions.js +0 -0
  102. package/dist/cjs/client/v2/indexer/lookupAccountTransactions.js.map +1 -0
  103. package/dist/cjs/{src/client → client}/v2/indexer/lookupApplicationBoxByIDandName.js +0 -0
  104. package/dist/cjs/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -0
  105. package/dist/cjs/{src/client → client}/v2/indexer/lookupApplicationLogs.js +0 -0
  106. package/dist/cjs/client/v2/indexer/lookupApplicationLogs.js.map +1 -0
  107. package/dist/cjs/{src/client → client}/v2/indexer/lookupApplications.js +0 -0
  108. package/dist/cjs/client/v2/indexer/lookupApplications.js.map +1 -0
  109. package/dist/cjs/{src/client → client}/v2/indexer/lookupAssetBalances.js +0 -0
  110. package/dist/cjs/client/v2/indexer/lookupAssetBalances.js.map +1 -0
  111. package/dist/cjs/{src/client → client}/v2/indexer/lookupAssetByID.js +0 -0
  112. package/dist/cjs/client/v2/indexer/lookupAssetByID.js.map +1 -0
  113. package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js +385 -0
  114. package/dist/cjs/client/v2/indexer/lookupAssetTransactions.js.map +1 -0
  115. package/dist/cjs/{src/client → client}/v2/indexer/lookupBlock.js +0 -0
  116. package/dist/cjs/client/v2/indexer/lookupBlock.js.map +1 -0
  117. package/dist/cjs/{src/client → client}/v2/indexer/lookupTransactionByID.js +0 -0
  118. package/dist/cjs/client/v2/indexer/lookupTransactionByID.js.map +1 -0
  119. package/dist/cjs/{src/client → client}/v2/indexer/makeHealthCheck.js +0 -0
  120. package/dist/cjs/client/v2/indexer/makeHealthCheck.js.map +1 -0
  121. package/dist/cjs/{src/client → client}/v2/indexer/models/types.js +0 -0
  122. package/dist/cjs/client/v2/indexer/models/types.js.map +1 -0
  123. package/dist/cjs/{src/client → client}/v2/indexer/searchAccounts.js +0 -0
  124. package/dist/cjs/client/v2/indexer/searchAccounts.js.map +1 -0
  125. package/dist/cjs/{src/client → client}/v2/indexer/searchForApplicationBoxes.js +0 -0
  126. package/dist/cjs/client/v2/indexer/searchForApplicationBoxes.js.map +1 -0
  127. package/dist/cjs/{src/client → client}/v2/indexer/searchForApplications.js +0 -0
  128. package/dist/cjs/client/v2/indexer/searchForApplications.js.map +1 -0
  129. package/dist/cjs/{src/client → client}/v2/indexer/searchForAssets.js +0 -0
  130. package/dist/cjs/client/v2/indexer/searchForAssets.js.map +1 -0
  131. package/dist/cjs/{src/client → client}/v2/indexer/searchForTransactions.js +0 -0
  132. package/dist/cjs/client/v2/indexer/searchForTransactions.js.map +1 -0
  133. package/dist/cjs/{src/client → client}/v2/jsonrequest.js +0 -0
  134. package/dist/cjs/client/v2/jsonrequest.js.map +1 -0
  135. package/dist/cjs/{src/client → client}/v2/serviceClient.js +0 -0
  136. package/dist/cjs/client/v2/serviceClient.js.map +1 -0
  137. package/dist/cjs/{src/composer.js → composer.js} +0 -0
  138. package/dist/cjs/composer.js.map +1 -0
  139. package/dist/cjs/{src/convert.js → convert.js} +0 -0
  140. package/dist/cjs/convert.js.map +1 -0
  141. package/dist/cjs/dryrun.js +309 -0
  142. package/dist/cjs/dryrun.js.map +1 -0
  143. package/dist/cjs/{src/encoding → encoding}/address.js +0 -0
  144. package/dist/cjs/encoding/address.js.map +1 -0
  145. package/dist/cjs/{src/encoding → encoding}/bigint.js +0 -0
  146. package/dist/cjs/encoding/bigint.js.map +1 -0
  147. package/dist/cjs/{src/encoding → encoding}/encoding.js +0 -0
  148. package/dist/cjs/encoding/encoding.js.map +1 -0
  149. package/dist/cjs/{src/encoding → encoding}/uint64.js +0 -0
  150. package/dist/cjs/encoding/uint64.js.map +1 -0
  151. package/dist/cjs/{src/group.js → group.js} +0 -0
  152. package/dist/cjs/group.js.map +1 -0
  153. package/dist/cjs/index.js +2 -2
  154. package/dist/cjs/index.js.map +1 -1
  155. package/dist/cjs/{src/logic → logic}/sourcemap.js +0 -0
  156. package/dist/cjs/logic/sourcemap.js.map +1 -0
  157. package/dist/cjs/logicsig.js +435 -0
  158. package/dist/cjs/logicsig.js.map +1 -0
  159. package/dist/cjs/main.js +197 -0
  160. package/dist/cjs/main.js.map +1 -0
  161. package/dist/cjs/makeTxn.js +670 -0
  162. package/dist/cjs/makeTxn.js.map +1 -0
  163. package/dist/cjs/{src/mnemonic → mnemonic}/mnemonic.js +0 -0
  164. package/dist/cjs/mnemonic/mnemonic.js.map +1 -0
  165. package/dist/cjs/{src/mnemonic → mnemonic}/wordlists/english.js +0 -0
  166. package/dist/cjs/mnemonic/wordlists/english.js.map +1 -0
  167. package/dist/cjs/{src/multisig.js → multisig.js} +0 -0
  168. package/dist/cjs/multisig.js.map +1 -0
  169. package/dist/cjs/{src/nacl → nacl}/naclWrappers.js +0 -0
  170. package/dist/cjs/nacl/naclWrappers.js.map +1 -0
  171. package/dist/cjs/{src/signer.js → signer.js} +0 -0
  172. package/dist/cjs/signer.js.map +1 -0
  173. package/dist/cjs/{src/transaction.js → transaction.js} +0 -0
  174. package/dist/cjs/transaction.js.map +1 -0
  175. package/dist/cjs/{src/types → types}/account.js +0 -0
  176. package/dist/cjs/types/account.js.map +1 -0
  177. package/dist/cjs/{src/types → types}/address.js +0 -0
  178. package/dist/cjs/types/address.js.map +1 -0
  179. package/dist/cjs/{src/types → types}/blockHeader.js +0 -0
  180. package/dist/cjs/types/blockHeader.js.map +1 -0
  181. package/dist/cjs/{src/types → types}/index.js +0 -0
  182. package/dist/cjs/types/index.js.map +1 -0
  183. package/dist/cjs/{src/types → types}/intDecoding.js +0 -0
  184. package/dist/cjs/types/intDecoding.js.map +1 -0
  185. package/dist/cjs/{src/types → types}/multisig.js +0 -0
  186. package/dist/cjs/types/multisig.js.map +1 -0
  187. package/dist/cjs/{src/types → types}/transactions/application.js +0 -0
  188. package/dist/cjs/types/transactions/application.js.map +1 -0
  189. package/dist/cjs/{src/types → types}/transactions/asset.js +0 -0
  190. package/dist/cjs/types/transactions/asset.js.map +1 -0
  191. package/dist/cjs/{src/types → types}/transactions/base.js +0 -0
  192. package/dist/cjs/types/transactions/base.js.map +1 -0
  193. package/dist/cjs/{src/types → types}/transactions/builder.js +0 -0
  194. package/dist/cjs/types/transactions/builder.js.map +1 -0
  195. package/dist/cjs/{src/types → types}/transactions/encoded.js +0 -0
  196. package/dist/cjs/types/transactions/encoded.js.map +1 -0
  197. package/dist/cjs/{src/types → types}/transactions/index.js +0 -0
  198. package/dist/cjs/types/transactions/index.js.map +1 -0
  199. package/dist/cjs/{src/types → types}/transactions/keyreg.js +0 -0
  200. package/dist/cjs/types/transactions/keyreg.js.map +1 -0
  201. package/dist/cjs/{src/types → types}/transactions/payment.js +0 -0
  202. package/dist/cjs/types/transactions/payment.js.map +1 -0
  203. package/dist/cjs/{src/types → types}/transactions/stateproof.js +0 -0
  204. package/dist/cjs/types/transactions/stateproof.js.map +1 -0
  205. package/dist/cjs/{src/types → types}/utils.js +0 -0
  206. package/dist/cjs/types/utils.js.map +1 -0
  207. package/dist/cjs/{src/utils → utils}/utils.js +0 -0
  208. package/dist/cjs/utils/utils.js.map +1 -0
  209. package/dist/cjs/{src/wait.js → wait.js} +0 -0
  210. package/dist/cjs/wait.js.map +1 -0
  211. package/dist/esm/{src/abi → abi}/abi_type.js +0 -0
  212. package/dist/esm/abi/abi_type.js.map +1 -0
  213. package/dist/esm/{src/abi → abi}/contract.js +0 -0
  214. package/dist/esm/abi/contract.js.map +1 -0
  215. package/dist/esm/{src/abi → abi}/index.js +0 -0
  216. package/dist/esm/abi/index.js.map +1 -0
  217. package/dist/esm/{src/abi → abi}/interface.js +0 -0
  218. package/dist/esm/abi/interface.js.map +1 -0
  219. package/dist/esm/{src/abi → abi}/method.js +0 -0
  220. package/dist/esm/abi/method.js.map +1 -0
  221. package/dist/esm/{src/abi → abi}/reference.js +0 -0
  222. package/dist/esm/abi/reference.js.map +1 -0
  223. package/dist/esm/{src/abi → abi}/transaction.js +0 -0
  224. package/dist/esm/abi/transaction.js.map +1 -0
  225. package/dist/esm/{src/account.js → account.js} +0 -0
  226. package/dist/esm/account.js.map +1 -0
  227. package/dist/esm/{src/bid.js → bid.js} +0 -0
  228. package/dist/esm/bid.js.map +1 -0
  229. package/dist/esm/{src/boxStorage.js → boxStorage.js} +0 -0
  230. package/dist/esm/boxStorage.js.map +1 -0
  231. package/dist/esm/{src/client → client}/baseHTTPClient.js +0 -0
  232. package/dist/esm/client/baseHTTPClient.js.map +1 -0
  233. package/dist/esm/{src/client → client}/client.js +0 -0
  234. package/dist/esm/client/client.js.map +1 -0
  235. package/dist/esm/{src/client → client}/kmd.js +0 -0
  236. package/dist/esm/client/kmd.js.map +1 -0
  237. package/dist/esm/{src/client → client}/urlTokenBaseHTTPClient.js +0 -0
  238. package/dist/esm/client/urlTokenBaseHTTPClient.js.map +1 -0
  239. package/dist/esm/{src/client → client}/v2/algod/accountApplicationInformation.js +0 -0
  240. package/dist/esm/client/v2/algod/accountApplicationInformation.js.map +1 -0
  241. package/dist/esm/{src/client → client}/v2/algod/accountAssetInformation.js +0 -0
  242. package/dist/esm/client/v2/algod/accountAssetInformation.js.map +1 -0
  243. package/dist/esm/{src/client → client}/v2/algod/accountInformation.js +0 -0
  244. package/dist/esm/client/v2/algod/accountInformation.js.map +1 -0
  245. package/dist/esm/client/v2/algod/algod.js +506 -0
  246. package/dist/esm/client/v2/algod/algod.js.map +1 -0
  247. package/dist/esm/{src/client → client}/v2/algod/block.js +0 -0
  248. package/dist/esm/client/v2/algod/block.js.map +1 -0
  249. package/dist/esm/{src/client → client}/v2/algod/compile.js +0 -0
  250. package/dist/esm/client/v2/algod/compile.js.map +1 -0
  251. package/dist/esm/{src/client → client}/v2/algod/dryrun.js +0 -0
  252. package/dist/esm/client/v2/algod/dryrun.js.map +1 -0
  253. package/dist/esm/{src/client → client}/v2/algod/genesis.js +0 -0
  254. package/dist/esm/client/v2/algod/genesis.js.map +1 -0
  255. package/dist/esm/{src/client → client}/v2/algod/getApplicationBoxByName.js +0 -0
  256. package/dist/esm/client/v2/algod/getApplicationBoxByName.js.map +1 -0
  257. package/dist/esm/{src/client → client}/v2/algod/getApplicationBoxes.js +0 -0
  258. package/dist/esm/client/v2/algod/getApplicationBoxes.js.map +1 -0
  259. package/dist/esm/{src/client → client}/v2/algod/getApplicationByID.js +0 -0
  260. package/dist/esm/client/v2/algod/getApplicationByID.js.map +1 -0
  261. package/dist/esm/{src/client → client}/v2/algod/getAssetByID.js +0 -0
  262. package/dist/esm/client/v2/algod/getAssetByID.js.map +1 -0
  263. package/dist/esm/{src/client → client}/v2/algod/getBlockHash.js +0 -0
  264. package/dist/esm/client/v2/algod/getBlockHash.js.map +1 -0
  265. package/dist/esm/{src/client → client}/v2/algod/getTransactionProof.js +0 -0
  266. package/dist/esm/client/v2/algod/getTransactionProof.js.map +1 -0
  267. package/dist/esm/{src/client → client}/v2/algod/healthCheck.js +0 -0
  268. package/dist/esm/client/v2/algod/healthCheck.js.map +1 -0
  269. package/dist/esm/{src/client → client}/v2/algod/lightBlockHeaderProof.js +0 -0
  270. package/dist/esm/client/v2/algod/lightBlockHeaderProof.js.map +1 -0
  271. package/dist/esm/client/v2/algod/models/types.js +2038 -0
  272. package/dist/esm/client/v2/algod/models/types.js.map +1 -0
  273. package/dist/esm/{src/client → client}/v2/algod/pendingTransactionInformation.js +0 -0
  274. package/dist/esm/client/v2/algod/pendingTransactionInformation.js.map +1 -0
  275. package/dist/esm/{src/client → client}/v2/algod/pendingTransactions.js +0 -0
  276. package/dist/esm/client/v2/algod/pendingTransactions.js.map +1 -0
  277. package/dist/esm/{src/client → client}/v2/algod/pendingTransactionsByAddress.js +0 -0
  278. package/dist/esm/client/v2/algod/pendingTransactionsByAddress.js.map +1 -0
  279. package/dist/esm/{src/client → client}/v2/algod/sendRawTransaction.js +0 -0
  280. package/dist/esm/client/v2/algod/sendRawTransaction.js.map +1 -0
  281. package/dist/esm/{src/client → client}/v2/algod/stateproof.js +0 -0
  282. package/dist/esm/client/v2/algod/stateproof.js.map +1 -0
  283. package/dist/esm/{src/client → client}/v2/algod/status.js +0 -0
  284. package/dist/esm/client/v2/algod/status.js.map +1 -0
  285. package/dist/esm/{src/client → client}/v2/algod/statusAfterBlock.js +0 -0
  286. package/dist/esm/client/v2/algod/statusAfterBlock.js.map +1 -0
  287. package/dist/esm/{src/client → client}/v2/algod/suggestedParams.js +0 -0
  288. package/dist/esm/client/v2/algod/suggestedParams.js.map +1 -0
  289. package/dist/esm/{src/client → client}/v2/algod/supply.js +0 -0
  290. package/dist/esm/client/v2/algod/supply.js.map +1 -0
  291. package/dist/esm/{src/client → client}/v2/algod/versions.js +0 -0
  292. package/dist/esm/client/v2/algod/versions.js.map +1 -0
  293. package/dist/esm/{src/client → client}/v2/basemodel.js +0 -0
  294. package/dist/esm/client/v2/basemodel.js.map +1 -0
  295. package/dist/esm/{src/client → client}/v2/indexer/indexer.js +0 -0
  296. package/dist/esm/client/v2/indexer/indexer.js.map +1 -0
  297. package/dist/esm/{src/client → client}/v2/indexer/lookupAccountAppLocalStates.js +0 -0
  298. package/dist/esm/client/v2/indexer/lookupAccountAppLocalStates.js.map +1 -0
  299. package/dist/esm/{src/client → client}/v2/indexer/lookupAccountAssets.js +0 -0
  300. package/dist/esm/client/v2/indexer/lookupAccountAssets.js.map +1 -0
  301. package/dist/esm/{src/client → client}/v2/indexer/lookupAccountByID.js +0 -0
  302. package/dist/esm/client/v2/indexer/lookupAccountByID.js.map +1 -0
  303. package/dist/esm/{src/client → client}/v2/indexer/lookupAccountCreatedApplications.js +0 -0
  304. package/dist/esm/client/v2/indexer/lookupAccountCreatedApplications.js.map +1 -0
  305. package/dist/esm/{src/client → client}/v2/indexer/lookupAccountCreatedAssets.js +0 -0
  306. package/dist/esm/client/v2/indexer/lookupAccountCreatedAssets.js.map +1 -0
  307. package/dist/esm/{src/client → client}/v2/indexer/lookupAccountTransactions.js +0 -0
  308. package/dist/esm/client/v2/indexer/lookupAccountTransactions.js.map +1 -0
  309. package/dist/esm/{src/client → client}/v2/indexer/lookupApplicationBoxByIDandName.js +0 -0
  310. package/dist/esm/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +1 -0
  311. package/dist/esm/{src/client → client}/v2/indexer/lookupApplicationLogs.js +0 -0
  312. package/dist/esm/client/v2/indexer/lookupApplicationLogs.js.map +1 -0
  313. package/dist/esm/{src/client → client}/v2/indexer/lookupApplications.js +0 -0
  314. package/dist/esm/client/v2/indexer/lookupApplications.js.map +1 -0
  315. package/dist/esm/{src/client → client}/v2/indexer/lookupAssetBalances.js +0 -0
  316. package/dist/esm/client/v2/indexer/lookupAssetBalances.js.map +1 -0
  317. package/dist/esm/{src/client → client}/v2/indexer/lookupAssetByID.js +0 -0
  318. package/dist/esm/client/v2/indexer/lookupAssetByID.js.map +1 -0
  319. package/dist/esm/client/v2/indexer/lookupAssetTransactions.js +379 -0
  320. package/dist/esm/client/v2/indexer/lookupAssetTransactions.js.map +1 -0
  321. package/dist/esm/{src/client → client}/v2/indexer/lookupBlock.js +0 -0
  322. package/dist/esm/client/v2/indexer/lookupBlock.js.map +1 -0
  323. package/dist/esm/{src/client → client}/v2/indexer/lookupTransactionByID.js +0 -0
  324. package/dist/esm/client/v2/indexer/lookupTransactionByID.js.map +1 -0
  325. package/dist/esm/{src/client → client}/v2/indexer/makeHealthCheck.js +0 -0
  326. package/dist/esm/client/v2/indexer/makeHealthCheck.js.map +1 -0
  327. package/dist/esm/{src/client → client}/v2/indexer/models/types.js +0 -0
  328. package/dist/esm/client/v2/indexer/models/types.js.map +1 -0
  329. package/dist/esm/{src/client → client}/v2/indexer/searchAccounts.js +0 -0
  330. package/dist/esm/client/v2/indexer/searchAccounts.js.map +1 -0
  331. package/dist/esm/{src/client → client}/v2/indexer/searchForApplicationBoxes.js +0 -0
  332. package/dist/esm/client/v2/indexer/searchForApplicationBoxes.js.map +1 -0
  333. package/dist/esm/{src/client → client}/v2/indexer/searchForApplications.js +0 -0
  334. package/dist/esm/client/v2/indexer/searchForApplications.js.map +1 -0
  335. package/dist/esm/{src/client → client}/v2/indexer/searchForAssets.js +0 -0
  336. package/dist/esm/client/v2/indexer/searchForAssets.js.map +1 -0
  337. package/dist/esm/{src/client → client}/v2/indexer/searchForTransactions.js +0 -0
  338. package/dist/esm/client/v2/indexer/searchForTransactions.js.map +1 -0
  339. package/dist/esm/{src/client → client}/v2/jsonrequest.js +0 -0
  340. package/dist/esm/client/v2/jsonrequest.js.map +1 -0
  341. package/dist/esm/{src/client → client}/v2/serviceClient.js +0 -0
  342. package/dist/esm/client/v2/serviceClient.js.map +1 -0
  343. package/dist/esm/{src/composer.js → composer.js} +0 -0
  344. package/dist/esm/composer.js.map +1 -0
  345. package/dist/esm/{src/convert.js → convert.js} +0 -0
  346. package/dist/esm/convert.js.map +1 -0
  347. package/dist/esm/dryrun.js +304 -0
  348. package/dist/esm/dryrun.js.map +1 -0
  349. package/dist/esm/{src/encoding → encoding}/address.js +0 -0
  350. package/dist/esm/encoding/address.js.map +1 -0
  351. package/dist/esm/{src/encoding → encoding}/bigint.js +0 -0
  352. package/dist/esm/encoding/bigint.js.map +1 -0
  353. package/dist/esm/{src/encoding → encoding}/encoding.js +0 -0
  354. package/dist/esm/encoding/encoding.js.map +1 -0
  355. package/dist/esm/{src/encoding → encoding}/uint64.js +0 -0
  356. package/dist/esm/encoding/uint64.js.map +1 -0
  357. package/dist/esm/{src/group.js → group.js} +0 -0
  358. package/dist/esm/group.js.map +1 -0
  359. package/dist/esm/index.js +2 -2
  360. package/dist/esm/index.js.map +1 -1
  361. package/dist/esm/{src/logic → logic}/sourcemap.js +0 -0
  362. package/dist/esm/logic/sourcemap.js.map +1 -0
  363. package/dist/esm/logicsig.js +401 -0
  364. package/dist/esm/logicsig.js.map +1 -0
  365. package/dist/esm/main.js +120 -0
  366. package/dist/esm/main.js.map +1 -0
  367. package/dist/esm/makeTxn.js +616 -0
  368. package/dist/esm/makeTxn.js.map +1 -0
  369. package/dist/esm/{src/mnemonic → mnemonic}/mnemonic.js +0 -0
  370. package/dist/esm/mnemonic/mnemonic.js.map +1 -0
  371. package/dist/esm/{src/mnemonic → mnemonic}/wordlists/english.js +0 -0
  372. package/dist/esm/mnemonic/wordlists/english.js.map +1 -0
  373. package/dist/esm/{src/multisig.js → multisig.js} +0 -0
  374. package/dist/esm/multisig.js.map +1 -0
  375. package/dist/esm/{src/nacl → nacl}/naclWrappers.js +0 -0
  376. package/dist/esm/nacl/naclWrappers.js.map +1 -0
  377. package/dist/esm/{src/signer.js → signer.js} +0 -0
  378. package/dist/esm/signer.js.map +1 -0
  379. package/dist/esm/{src/transaction.js → transaction.js} +0 -0
  380. package/dist/esm/transaction.js.map +1 -0
  381. package/dist/esm/{src/types → types}/account.js +0 -0
  382. package/dist/esm/types/account.js.map +1 -0
  383. package/dist/esm/{src/types → types}/address.js +0 -0
  384. package/dist/esm/types/address.js.map +1 -0
  385. package/dist/esm/{src/types → types}/blockHeader.js +0 -0
  386. package/dist/esm/types/blockHeader.js.map +1 -0
  387. package/dist/esm/{src/types → types}/index.js +0 -0
  388. package/dist/esm/types/index.js.map +1 -0
  389. package/dist/esm/{src/types → types}/intDecoding.js +0 -0
  390. package/dist/esm/types/intDecoding.js.map +1 -0
  391. package/dist/esm/{src/types → types}/multisig.js +0 -0
  392. package/dist/esm/types/multisig.js.map +1 -0
  393. package/dist/esm/{src/types → types}/transactions/application.js +0 -0
  394. package/dist/esm/types/transactions/application.js.map +1 -0
  395. package/dist/esm/{src/types → types}/transactions/asset.js +0 -0
  396. package/dist/esm/types/transactions/asset.js.map +1 -0
  397. package/dist/esm/{src/types → types}/transactions/base.js +0 -0
  398. package/dist/esm/types/transactions/base.js.map +1 -0
  399. package/dist/esm/{src/types → types}/transactions/builder.js +0 -0
  400. package/dist/esm/types/transactions/builder.js.map +1 -0
  401. package/dist/esm/{src/types → types}/transactions/encoded.js +0 -0
  402. package/dist/esm/types/transactions/encoded.js.map +1 -0
  403. package/dist/esm/{src/types → types}/transactions/index.js +0 -0
  404. package/dist/esm/types/transactions/index.js.map +1 -0
  405. package/dist/esm/{src/types → types}/transactions/keyreg.js +0 -0
  406. package/dist/esm/types/transactions/keyreg.js.map +1 -0
  407. package/dist/esm/{src/types → types}/transactions/payment.js +0 -0
  408. package/dist/esm/types/transactions/payment.js.map +1 -0
  409. package/dist/esm/{src/types → types}/transactions/stateproof.js +0 -0
  410. package/dist/esm/types/transactions/stateproof.js.map +1 -0
  411. package/dist/esm/{src/types → types}/utils.js +0 -0
  412. package/dist/esm/types/utils.js.map +1 -0
  413. package/dist/esm/{src/utils → utils}/utils.js +0 -0
  414. package/dist/esm/utils/utils.js.map +1 -0
  415. package/dist/esm/{src/wait.js → wait.js} +0 -0
  416. package/dist/esm/wait.js.map +1 -0
  417. package/dist/types/{src/abi → abi}/abi_type.d.ts +0 -0
  418. package/dist/types/{src/abi → abi}/contract.d.ts +0 -0
  419. package/dist/types/{src/abi → abi}/index.d.ts +0 -0
  420. package/dist/types/{src/abi → abi}/interface.d.ts +0 -0
  421. package/dist/types/{src/abi → abi}/method.d.ts +0 -0
  422. package/dist/types/{src/abi → abi}/reference.d.ts +0 -0
  423. package/dist/types/{src/abi → abi}/transaction.d.ts +0 -0
  424. package/dist/types/{src/account.d.ts → account.d.ts} +0 -0
  425. package/dist/types/{src/bid.d.ts → bid.d.ts} +0 -0
  426. package/dist/types/{src/boxStorage.d.ts → boxStorage.d.ts} +0 -0
  427. package/dist/types/{src/client → client}/baseHTTPClient.d.ts +0 -0
  428. package/dist/types/{src/client → client}/client.d.ts +0 -0
  429. package/dist/types/{src/client → client}/kmd.d.ts +0 -0
  430. package/dist/types/{src/client → client}/urlTokenBaseHTTPClient.d.ts +0 -0
  431. package/dist/types/{src/client → client}/v2/algod/accountApplicationInformation.d.ts +0 -0
  432. package/dist/types/{src/client → client}/v2/algod/accountAssetInformation.d.ts +0 -0
  433. package/dist/types/{src/client → client}/v2/algod/accountInformation.d.ts +0 -0
  434. package/dist/types/client/v2/algod/algod.d.ts +456 -0
  435. package/dist/types/{src/client → client}/v2/algod/block.d.ts +0 -0
  436. package/dist/types/{src/client → client}/v2/algod/compile.d.ts +0 -0
  437. package/dist/types/{src/client → client}/v2/algod/dryrun.d.ts +0 -0
  438. package/dist/types/{src/client → client}/v2/algod/genesis.d.ts +0 -0
  439. package/dist/types/{src/client → client}/v2/algod/getApplicationBoxByName.d.ts +0 -0
  440. package/dist/types/{src/client → client}/v2/algod/getApplicationBoxes.d.ts +0 -0
  441. package/dist/types/{src/client → client}/v2/algod/getApplicationByID.d.ts +0 -0
  442. package/dist/types/{src/client → client}/v2/algod/getAssetByID.d.ts +0 -0
  443. package/dist/types/{src/client → client}/v2/algod/getBlockHash.d.ts +0 -0
  444. package/dist/types/{src/client → client}/v2/algod/getTransactionProof.d.ts +0 -0
  445. package/dist/types/{src/client → client}/v2/algod/healthCheck.d.ts +0 -0
  446. package/dist/types/{src/client → client}/v2/algod/lightBlockHeaderProof.d.ts +0 -0
  447. package/dist/types/client/v2/algod/models/types.d.ts +1689 -0
  448. package/dist/types/{src/client → client}/v2/algod/pendingTransactionInformation.d.ts +0 -0
  449. package/dist/types/{src/client → client}/v2/algod/pendingTransactions.d.ts +0 -0
  450. package/dist/types/{src/client → client}/v2/algod/pendingTransactionsByAddress.d.ts +0 -0
  451. package/dist/types/{src/client → client}/v2/algod/sendRawTransaction.d.ts +0 -0
  452. package/dist/types/{src/client → client}/v2/algod/stateproof.d.ts +0 -0
  453. package/dist/types/{src/client → client}/v2/algod/status.d.ts +0 -0
  454. package/dist/types/{src/client → client}/v2/algod/statusAfterBlock.d.ts +0 -0
  455. package/dist/types/{src/client → client}/v2/algod/suggestedParams.d.ts +0 -0
  456. package/dist/types/{src/client → client}/v2/algod/supply.d.ts +0 -0
  457. package/dist/types/{src/client → client}/v2/algod/versions.d.ts +0 -0
  458. package/dist/types/{src/client → client}/v2/basemodel.d.ts +0 -0
  459. package/dist/types/{src/client → client}/v2/indexer/indexer.d.ts +0 -0
  460. package/dist/types/{src/client → client}/v2/indexer/lookupAccountAppLocalStates.d.ts +0 -0
  461. package/dist/types/{src/client → client}/v2/indexer/lookupAccountAssets.d.ts +0 -0
  462. package/dist/types/{src/client → client}/v2/indexer/lookupAccountByID.d.ts +0 -0
  463. package/dist/types/{src/client → client}/v2/indexer/lookupAccountCreatedApplications.d.ts +0 -0
  464. package/dist/types/{src/client → client}/v2/indexer/lookupAccountCreatedAssets.d.ts +0 -0
  465. package/dist/types/{src/client → client}/v2/indexer/lookupAccountTransactions.d.ts +0 -0
  466. package/dist/types/{src/client → client}/v2/indexer/lookupApplicationBoxByIDandName.d.ts +0 -0
  467. package/dist/types/{src/client → client}/v2/indexer/lookupApplicationLogs.d.ts +0 -0
  468. package/dist/types/{src/client → client}/v2/indexer/lookupApplications.d.ts +0 -0
  469. package/dist/types/{src/client → client}/v2/indexer/lookupAssetBalances.d.ts +0 -0
  470. package/dist/types/{src/client → client}/v2/indexer/lookupAssetByID.d.ts +0 -0
  471. package/dist/types/client/v2/indexer/lookupAssetTransactions.d.ts +323 -0
  472. package/dist/types/{src/client → client}/v2/indexer/lookupBlock.d.ts +0 -0
  473. package/dist/types/{src/client → client}/v2/indexer/lookupTransactionByID.d.ts +0 -0
  474. package/dist/types/{src/client → client}/v2/indexer/makeHealthCheck.d.ts +0 -0
  475. package/dist/types/{src/client → client}/v2/indexer/models/types.d.ts +0 -0
  476. package/dist/types/{src/client → client}/v2/indexer/searchAccounts.d.ts +0 -0
  477. package/dist/types/{src/client → client}/v2/indexer/searchForApplicationBoxes.d.ts +0 -0
  478. package/dist/types/{src/client → client}/v2/indexer/searchForApplications.d.ts +0 -0
  479. package/dist/types/{src/client → client}/v2/indexer/searchForAssets.d.ts +0 -0
  480. package/dist/types/{src/client → client}/v2/indexer/searchForTransactions.d.ts +0 -0
  481. package/dist/types/{src/client → client}/v2/jsonrequest.d.ts +0 -0
  482. package/dist/types/{src/client → client}/v2/serviceClient.d.ts +0 -0
  483. package/dist/types/{src/composer.d.ts → composer.d.ts} +0 -0
  484. package/dist/types/{src/convert.d.ts → convert.d.ts} +0 -0
  485. package/dist/types/{src/dryrun.d.ts → dryrun.d.ts} +0 -0
  486. package/dist/types/{src/encoding → encoding}/address.d.ts +0 -0
  487. package/dist/types/{src/encoding → encoding}/bigint.d.ts +0 -0
  488. package/dist/types/{src/encoding → encoding}/encoding.d.ts +0 -0
  489. package/dist/types/{src/encoding → encoding}/uint64.d.ts +0 -0
  490. package/dist/types/{src/group.d.ts → group.d.ts} +0 -0
  491. package/dist/types/index.d.ts +2 -2
  492. package/dist/types/{src/logic → logic}/sourcemap.d.ts +0 -0
  493. package/dist/types/logicsig.d.ts +183 -0
  494. package/dist/types/main.d.ts +88 -0
  495. package/dist/types/makeTxn.d.ts +426 -0
  496. package/dist/types/{src/mnemonic → mnemonic}/mnemonic.d.ts +0 -0
  497. package/dist/types/{src/mnemonic → mnemonic}/wordlists/english.d.ts +0 -0
  498. package/dist/types/{src/multisig.d.ts → multisig.d.ts} +0 -0
  499. package/dist/types/{src/nacl → nacl}/naclWrappers.d.ts +0 -0
  500. package/dist/types/{src/signer.d.ts → signer.d.ts} +0 -0
  501. package/dist/types/{src/transaction.d.ts → transaction.d.ts} +0 -0
  502. package/dist/types/{src/types → types}/account.d.ts +0 -0
  503. package/dist/types/{src/types → types}/address.d.ts +0 -0
  504. package/dist/types/{src/types → types}/blockHeader.d.ts +0 -0
  505. package/dist/types/{src/types → types}/index.d.ts +0 -0
  506. package/dist/types/{src/types → types}/intDecoding.d.ts +0 -0
  507. package/dist/types/{src/types → types}/multisig.d.ts +0 -0
  508. package/dist/types/{src/types → types}/transactions/application.d.ts +0 -0
  509. package/dist/types/{src/types → types}/transactions/asset.d.ts +0 -0
  510. package/dist/types/{src/types → types}/transactions/base.d.ts +0 -0
  511. package/dist/types/{src/types → types}/transactions/builder.d.ts +0 -0
  512. package/dist/types/types/transactions/encoded.d.ts +329 -0
  513. package/dist/types/{src/types → types}/transactions/index.d.ts +0 -0
  514. package/dist/types/{src/types → types}/transactions/keyreg.d.ts +0 -0
  515. package/dist/types/{src/types → types}/transactions/payment.d.ts +0 -0
  516. package/dist/types/{src/types → types}/transactions/stateproof.d.ts +0 -0
  517. package/dist/types/{src/types → types}/utils.d.ts +0 -0
  518. package/dist/types/{src/utils → utils}/utils.d.ts +0 -0
  519. package/dist/types/{src/wait.d.ts → wait.d.ts} +0 -0
  520. package/package.json +10 -6
  521. package/src/abi/abi_type.ts +846 -0
  522. package/src/abi/contract.ts +51 -0
  523. package/src/abi/index.ts +6 -0
  524. package/src/abi/interface.ts +35 -0
  525. package/src/abi/method.ts +186 -0
  526. package/src/abi/reference.ts +24 -0
  527. package/src/abi/transaction.ts +61 -0
  528. package/src/account.ts +12 -0
  529. package/src/bid.ts +95 -0
  530. package/src/boxStorage.ts +42 -0
  531. package/src/client/baseHTTPClient.ts +58 -0
  532. package/src/client/client.ts +306 -0
  533. package/src/client/kmd.ts +423 -0
  534. package/src/client/urlTokenBaseHTTPClient.ts +217 -0
  535. package/src/client/v2/algod/accountApplicationInformation.ts +20 -0
  536. package/src/client/v2/algod/accountAssetInformation.ts +20 -0
  537. package/src/client/v2/algod/accountInformation.ts +37 -0
  538. package/src/client/v2/algod/algod.ts +561 -0
  539. package/src/client/v2/algod/block.ts +30 -0
  540. package/src/client/v2/algod/compile.ts +50 -0
  541. package/src/client/v2/algod/dryrun.ts +33 -0
  542. package/src/client/v2/algod/genesis.ts +8 -0
  543. package/src/client/v2/algod/getApplicationBoxByName.ts +49 -0
  544. package/src/client/v2/algod/getApplicationBoxes.ts +61 -0
  545. package/src/client/v2/algod/getApplicationByID.ts +14 -0
  546. package/src/client/v2/algod/getAssetByID.ts +14 -0
  547. package/src/client/v2/algod/getBlockHash.ts +18 -0
  548. package/src/client/v2/algod/getTransactionProof.ts +43 -0
  549. package/src/client/v2/algod/healthCheck.ts +19 -0
  550. package/src/client/v2/algod/lightBlockHeaderProof.ts +15 -0
  551. package/src/client/v2/algod/models/types.ts +3731 -0
  552. package/src/client/v2/algod/pendingTransactionInformation.ts +32 -0
  553. package/src/client/v2/algod/pendingTransactions.ts +32 -0
  554. package/src/client/v2/algod/pendingTransactionsByAddress.ts +32 -0
  555. package/src/client/v2/algod/sendRawTransaction.ts +59 -0
  556. package/src/client/v2/algod/stateproof.ts +15 -0
  557. package/src/client/v2/algod/status.ts +8 -0
  558. package/src/client/v2/algod/statusAfterBlock.ts +15 -0
  559. package/src/client/v2/algod/suggestedParams.ts +24 -0
  560. package/src/client/v2/algod/supply.ts +8 -0
  561. package/src/client/v2/algod/versions.ts +11 -0
  562. package/src/client/v2/basemodel.ts +79 -0
  563. package/src/client/v2/indexer/indexer.ts +432 -0
  564. package/src/client/v2/indexer/lookupAccountAppLocalStates.ts +140 -0
  565. package/src/client/v2/indexer/lookupAccountAssets.ts +141 -0
  566. package/src/client/v2/indexer/lookupAccountByID.ts +109 -0
  567. package/src/client/v2/indexer/lookupAccountCreatedApplications.ts +141 -0
  568. package/src/client/v2/indexer/lookupAccountCreatedAssets.ts +142 -0
  569. package/src/client/v2/indexer/lookupAccountTransactions.ts +393 -0
  570. package/src/client/v2/indexer/lookupApplicationBoxByIDandName.ts +50 -0
  571. package/src/client/v2/indexer/lookupApplicationLogs.ts +156 -0
  572. package/src/client/v2/indexer/lookupApplications.ts +59 -0
  573. package/src/client/v2/indexer/lookupAssetBalances.ts +146 -0
  574. package/src/client/v2/indexer/lookupAssetByID.ts +58 -0
  575. package/src/client/v2/indexer/lookupAssetTransactions.ts +398 -0
  576. package/src/client/v2/indexer/lookupBlock.ts +39 -0
  577. package/src/client/v2/indexer/lookupTransactionByID.ts +30 -0
  578. package/src/client/v2/indexer/makeHealthCheck.ts +23 -0
  579. package/src/client/v2/indexer/models/types.ts +5667 -0
  580. package/src/client/v2/indexer/searchAccounts.ts +268 -0
  581. package/src/client/v2/indexer/searchForApplicationBoxes.ts +101 -0
  582. package/src/client/v2/indexer/searchForApplications.ts +134 -0
  583. package/src/client/v2/indexer/searchForAssets.ts +175 -0
  584. package/src/client/v2/indexer/searchForTransactions.ts +435 -0
  585. package/src/client/v2/jsonrequest.ts +103 -0
  586. package/src/client/v2/serviceClient.ts +86 -0
  587. package/src/composer.ts +688 -0
  588. package/src/convert.ts +25 -0
  589. package/src/dryrun.ts +468 -0
  590. package/src/encoding/address.ts +191 -0
  591. package/src/encoding/bigint.ts +33 -0
  592. package/src/encoding/encoding.ts +56 -0
  593. package/src/encoding/uint64.ts +84 -0
  594. package/src/group.ts +97 -0
  595. package/src/index.ts +4 -0
  596. package/src/logic/sourcemap.ts +67 -0
  597. package/src/logicsig.ts +512 -0
  598. package/src/main.ts +181 -0
  599. package/src/makeTxn.ts +1450 -0
  600. package/src/mnemonic/mnemonic.ts +181 -0
  601. package/src/mnemonic/wordlists/english.ts +2052 -0
  602. package/src/multisig.ts +495 -0
  603. package/src/nacl/naclWrappers.ts +49 -0
  604. package/src/signer.ts +105 -0
  605. package/src/transaction.ts +1363 -0
  606. package/src/types/account.ts +16 -0
  607. package/src/types/address.ts +7 -0
  608. package/src/types/blockHeader.ts +81 -0
  609. package/src/types/index.ts +3 -0
  610. package/src/types/intDecoding.ts +29 -0
  611. package/src/types/multisig.ts +22 -0
  612. package/src/types/transactions/application.ts +111 -0
  613. package/src/types/transactions/asset.ts +108 -0
  614. package/src/types/transactions/base.ts +428 -0
  615. package/src/types/transactions/builder.ts +69 -0
  616. package/src/types/transactions/encoded.ts +406 -0
  617. package/src/types/transactions/index.ts +72 -0
  618. package/src/types/transactions/keyreg.ts +23 -0
  619. package/src/types/transactions/payment.ts +14 -0
  620. package/src/types/transactions/stateproof.ts +17 -0
  621. package/src/types/utils.ts +63 -0
  622. package/src/utils/utils.ts +121 -0
  623. package/src/wait.ts +58 -0
  624. package/dist/cjs/src/abi/abi_type.js.map +0 -1
  625. package/dist/cjs/src/abi/contract.js.map +0 -1
  626. package/dist/cjs/src/abi/index.js.map +0 -1
  627. package/dist/cjs/src/abi/interface.js.map +0 -1
  628. package/dist/cjs/src/abi/method.js.map +0 -1
  629. package/dist/cjs/src/abi/reference.js.map +0 -1
  630. package/dist/cjs/src/abi/transaction.js.map +0 -1
  631. package/dist/cjs/src/account.js.map +0 -1
  632. package/dist/cjs/src/bid.js.map +0 -1
  633. package/dist/cjs/src/boxStorage.js.map +0 -1
  634. package/dist/cjs/src/client/algod.js +0 -295
  635. package/dist/cjs/src/client/algod.js.map +0 -1
  636. package/dist/cjs/src/client/baseHTTPClient.js.map +0 -1
  637. package/dist/cjs/src/client/client.js.map +0 -1
  638. package/dist/cjs/src/client/kmd.js.map +0 -1
  639. package/dist/cjs/src/client/urlTokenBaseHTTPClient.js.map +0 -1
  640. package/dist/cjs/src/client/v2/algod/accountApplicationInformation.js.map +0 -1
  641. package/dist/cjs/src/client/v2/algod/accountAssetInformation.js.map +0 -1
  642. package/dist/cjs/src/client/v2/algod/accountInformation.js.map +0 -1
  643. package/dist/cjs/src/client/v2/algod/algod.js +0 -512
  644. package/dist/cjs/src/client/v2/algod/algod.js.map +0 -1
  645. package/dist/cjs/src/client/v2/algod/block.js.map +0 -1
  646. package/dist/cjs/src/client/v2/algod/compile.js.map +0 -1
  647. package/dist/cjs/src/client/v2/algod/dryrun.js.map +0 -1
  648. package/dist/cjs/src/client/v2/algod/genesis.js.map +0 -1
  649. package/dist/cjs/src/client/v2/algod/getApplicationBoxByName.js.map +0 -1
  650. package/dist/cjs/src/client/v2/algod/getApplicationBoxes.js.map +0 -1
  651. package/dist/cjs/src/client/v2/algod/getApplicationByID.js.map +0 -1
  652. package/dist/cjs/src/client/v2/algod/getAssetByID.js.map +0 -1
  653. package/dist/cjs/src/client/v2/algod/getBlockHash.js.map +0 -1
  654. package/dist/cjs/src/client/v2/algod/getTransactionProof.js.map +0 -1
  655. package/dist/cjs/src/client/v2/algod/healthCheck.js.map +0 -1
  656. package/dist/cjs/src/client/v2/algod/lightBlockHeaderProof.js.map +0 -1
  657. package/dist/cjs/src/client/v2/algod/models/types.js +0 -2047
  658. package/dist/cjs/src/client/v2/algod/models/types.js.map +0 -1
  659. package/dist/cjs/src/client/v2/algod/pendingTransactionInformation.js.map +0 -1
  660. package/dist/cjs/src/client/v2/algod/pendingTransactions.js.map +0 -1
  661. package/dist/cjs/src/client/v2/algod/pendingTransactionsByAddress.js.map +0 -1
  662. package/dist/cjs/src/client/v2/algod/sendRawTransaction.js.map +0 -1
  663. package/dist/cjs/src/client/v2/algod/stateproof.js.map +0 -1
  664. package/dist/cjs/src/client/v2/algod/status.js.map +0 -1
  665. package/dist/cjs/src/client/v2/algod/statusAfterBlock.js.map +0 -1
  666. package/dist/cjs/src/client/v2/algod/suggestedParams.js.map +0 -1
  667. package/dist/cjs/src/client/v2/algod/supply.js.map +0 -1
  668. package/dist/cjs/src/client/v2/algod/versions.js.map +0 -1
  669. package/dist/cjs/src/client/v2/basemodel.js.map +0 -1
  670. package/dist/cjs/src/client/v2/indexer/indexer.js.map +0 -1
  671. package/dist/cjs/src/client/v2/indexer/lookupAccountAppLocalStates.js.map +0 -1
  672. package/dist/cjs/src/client/v2/indexer/lookupAccountAssets.js.map +0 -1
  673. package/dist/cjs/src/client/v2/indexer/lookupAccountByID.js.map +0 -1
  674. package/dist/cjs/src/client/v2/indexer/lookupAccountCreatedApplications.js.map +0 -1
  675. package/dist/cjs/src/client/v2/indexer/lookupAccountCreatedAssets.js.map +0 -1
  676. package/dist/cjs/src/client/v2/indexer/lookupAccountTransactions.js.map +0 -1
  677. package/dist/cjs/src/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +0 -1
  678. package/dist/cjs/src/client/v2/indexer/lookupApplicationLogs.js.map +0 -1
  679. package/dist/cjs/src/client/v2/indexer/lookupApplications.js.map +0 -1
  680. package/dist/cjs/src/client/v2/indexer/lookupAssetBalances.js.map +0 -1
  681. package/dist/cjs/src/client/v2/indexer/lookupAssetByID.js.map +0 -1
  682. package/dist/cjs/src/client/v2/indexer/lookupAssetTransactions.js +0 -392
  683. package/dist/cjs/src/client/v2/indexer/lookupAssetTransactions.js.map +0 -1
  684. package/dist/cjs/src/client/v2/indexer/lookupBlock.js.map +0 -1
  685. package/dist/cjs/src/client/v2/indexer/lookupTransactionByID.js.map +0 -1
  686. package/dist/cjs/src/client/v2/indexer/makeHealthCheck.js.map +0 -1
  687. package/dist/cjs/src/client/v2/indexer/models/types.js.map +0 -1
  688. package/dist/cjs/src/client/v2/indexer/searchAccounts.js.map +0 -1
  689. package/dist/cjs/src/client/v2/indexer/searchForApplicationBoxes.js.map +0 -1
  690. package/dist/cjs/src/client/v2/indexer/searchForApplications.js.map +0 -1
  691. package/dist/cjs/src/client/v2/indexer/searchForAssets.js.map +0 -1
  692. package/dist/cjs/src/client/v2/indexer/searchForTransactions.js.map +0 -1
  693. package/dist/cjs/src/client/v2/jsonrequest.js.map +0 -1
  694. package/dist/cjs/src/client/v2/serviceClient.js.map +0 -1
  695. package/dist/cjs/src/composer.js.map +0 -1
  696. package/dist/cjs/src/convert.js.map +0 -1
  697. package/dist/cjs/src/dryrun.js +0 -300
  698. package/dist/cjs/src/dryrun.js.map +0 -1
  699. package/dist/cjs/src/encoding/address.js.map +0 -1
  700. package/dist/cjs/src/encoding/bigint.js.map +0 -1
  701. package/dist/cjs/src/encoding/encoding.js.map +0 -1
  702. package/dist/cjs/src/encoding/uint64.js.map +0 -1
  703. package/dist/cjs/src/group.js.map +0 -1
  704. package/dist/cjs/src/logic/langspec.json +0 -2014
  705. package/dist/cjs/src/logic/logic.js +0 -262
  706. package/dist/cjs/src/logic/logic.js.map +0 -1
  707. package/dist/cjs/src/logic/sourcemap.js.map +0 -1
  708. package/dist/cjs/src/logicTemplates/dynamicfee.js +0 -192
  709. package/dist/cjs/src/logicTemplates/dynamicfee.js.map +0 -1
  710. package/dist/cjs/src/logicTemplates/htlc.js +0 -145
  711. package/dist/cjs/src/logicTemplates/htlc.js.map +0 -1
  712. package/dist/cjs/src/logicTemplates/index.js +0 -19
  713. package/dist/cjs/src/logicTemplates/index.js.map +0 -1
  714. package/dist/cjs/src/logicTemplates/limitorder.js +0 -167
  715. package/dist/cjs/src/logicTemplates/limitorder.js.map +0 -1
  716. package/dist/cjs/src/logicTemplates/periodicpayment.js +0 -163
  717. package/dist/cjs/src/logicTemplates/periodicpayment.js.map +0 -1
  718. package/dist/cjs/src/logicTemplates/split.js +0 -154
  719. package/dist/cjs/src/logicTemplates/split.js.map +0 -1
  720. package/dist/cjs/src/logicTemplates/templates.js +0 -67
  721. package/dist/cjs/src/logicTemplates/templates.js.map +0 -1
  722. package/dist/cjs/src/logicsig.js +0 -446
  723. package/dist/cjs/src/logicsig.js.map +0 -1
  724. package/dist/cjs/src/main.js +0 -200
  725. package/dist/cjs/src/main.js.map +0 -1
  726. package/dist/cjs/src/makeTxn.js +0 -862
  727. package/dist/cjs/src/makeTxn.js.map +0 -1
  728. package/dist/cjs/src/mnemonic/mnemonic.js.map +0 -1
  729. package/dist/cjs/src/mnemonic/wordlists/english.js.map +0 -1
  730. package/dist/cjs/src/multisig.js.map +0 -1
  731. package/dist/cjs/src/nacl/naclWrappers.js.map +0 -1
  732. package/dist/cjs/src/signer.js.map +0 -1
  733. package/dist/cjs/src/transaction.js.map +0 -1
  734. package/dist/cjs/src/types/account.js.map +0 -1
  735. package/dist/cjs/src/types/address.js.map +0 -1
  736. package/dist/cjs/src/types/blockHeader.js.map +0 -1
  737. package/dist/cjs/src/types/index.js.map +0 -1
  738. package/dist/cjs/src/types/intDecoding.js.map +0 -1
  739. package/dist/cjs/src/types/multisig.js.map +0 -1
  740. package/dist/cjs/src/types/transactions/application.js.map +0 -1
  741. package/dist/cjs/src/types/transactions/asset.js.map +0 -1
  742. package/dist/cjs/src/types/transactions/base.js.map +0 -1
  743. package/dist/cjs/src/types/transactions/builder.js.map +0 -1
  744. package/dist/cjs/src/types/transactions/encoded.js.map +0 -1
  745. package/dist/cjs/src/types/transactions/index.js.map +0 -1
  746. package/dist/cjs/src/types/transactions/keyreg.js.map +0 -1
  747. package/dist/cjs/src/types/transactions/payment.js.map +0 -1
  748. package/dist/cjs/src/types/transactions/stateproof.js.map +0 -1
  749. package/dist/cjs/src/types/utils.js.map +0 -1
  750. package/dist/cjs/src/utils/utils.js.map +0 -1
  751. package/dist/cjs/src/wait.js.map +0 -1
  752. package/dist/esm/src/abi/abi_type.js.map +0 -1
  753. package/dist/esm/src/abi/contract.js.map +0 -1
  754. package/dist/esm/src/abi/index.js.map +0 -1
  755. package/dist/esm/src/abi/interface.js.map +0 -1
  756. package/dist/esm/src/abi/method.js.map +0 -1
  757. package/dist/esm/src/abi/reference.js.map +0 -1
  758. package/dist/esm/src/abi/transaction.js.map +0 -1
  759. package/dist/esm/src/account.js.map +0 -1
  760. package/dist/esm/src/bid.js.map +0 -1
  761. package/dist/esm/src/boxStorage.js.map +0 -1
  762. package/dist/esm/src/client/algod.js +0 -295
  763. package/dist/esm/src/client/algod.js.map +0 -1
  764. package/dist/esm/src/client/baseHTTPClient.js.map +0 -1
  765. package/dist/esm/src/client/client.js.map +0 -1
  766. package/dist/esm/src/client/kmd.js.map +0 -1
  767. package/dist/esm/src/client/urlTokenBaseHTTPClient.js.map +0 -1
  768. package/dist/esm/src/client/v2/algod/accountApplicationInformation.js.map +0 -1
  769. package/dist/esm/src/client/v2/algod/accountAssetInformation.js.map +0 -1
  770. package/dist/esm/src/client/v2/algod/accountInformation.js.map +0 -1
  771. package/dist/esm/src/client/v2/algod/algod.js +0 -506
  772. package/dist/esm/src/client/v2/algod/algod.js.map +0 -1
  773. package/dist/esm/src/client/v2/algod/block.js.map +0 -1
  774. package/dist/esm/src/client/v2/algod/compile.js.map +0 -1
  775. package/dist/esm/src/client/v2/algod/dryrun.js.map +0 -1
  776. package/dist/esm/src/client/v2/algod/genesis.js.map +0 -1
  777. package/dist/esm/src/client/v2/algod/getApplicationBoxByName.js.map +0 -1
  778. package/dist/esm/src/client/v2/algod/getApplicationBoxes.js.map +0 -1
  779. package/dist/esm/src/client/v2/algod/getApplicationByID.js.map +0 -1
  780. package/dist/esm/src/client/v2/algod/getAssetByID.js.map +0 -1
  781. package/dist/esm/src/client/v2/algod/getBlockHash.js.map +0 -1
  782. package/dist/esm/src/client/v2/algod/getTransactionProof.js.map +0 -1
  783. package/dist/esm/src/client/v2/algod/healthCheck.js.map +0 -1
  784. package/dist/esm/src/client/v2/algod/lightBlockHeaderProof.js.map +0 -1
  785. package/dist/esm/src/client/v2/algod/models/types.js +0 -1998
  786. package/dist/esm/src/client/v2/algod/models/types.js.map +0 -1
  787. package/dist/esm/src/client/v2/algod/pendingTransactionInformation.js.map +0 -1
  788. package/dist/esm/src/client/v2/algod/pendingTransactions.js.map +0 -1
  789. package/dist/esm/src/client/v2/algod/pendingTransactionsByAddress.js.map +0 -1
  790. package/dist/esm/src/client/v2/algod/sendRawTransaction.js.map +0 -1
  791. package/dist/esm/src/client/v2/algod/stateproof.js.map +0 -1
  792. package/dist/esm/src/client/v2/algod/status.js.map +0 -1
  793. package/dist/esm/src/client/v2/algod/statusAfterBlock.js.map +0 -1
  794. package/dist/esm/src/client/v2/algod/suggestedParams.js.map +0 -1
  795. package/dist/esm/src/client/v2/algod/supply.js.map +0 -1
  796. package/dist/esm/src/client/v2/algod/versions.js.map +0 -1
  797. package/dist/esm/src/client/v2/basemodel.js.map +0 -1
  798. package/dist/esm/src/client/v2/indexer/indexer.js.map +0 -1
  799. package/dist/esm/src/client/v2/indexer/lookupAccountAppLocalStates.js.map +0 -1
  800. package/dist/esm/src/client/v2/indexer/lookupAccountAssets.js.map +0 -1
  801. package/dist/esm/src/client/v2/indexer/lookupAccountByID.js.map +0 -1
  802. package/dist/esm/src/client/v2/indexer/lookupAccountCreatedApplications.js.map +0 -1
  803. package/dist/esm/src/client/v2/indexer/lookupAccountCreatedAssets.js.map +0 -1
  804. package/dist/esm/src/client/v2/indexer/lookupAccountTransactions.js.map +0 -1
  805. package/dist/esm/src/client/v2/indexer/lookupApplicationBoxByIDandName.js.map +0 -1
  806. package/dist/esm/src/client/v2/indexer/lookupApplicationLogs.js.map +0 -1
  807. package/dist/esm/src/client/v2/indexer/lookupApplications.js.map +0 -1
  808. package/dist/esm/src/client/v2/indexer/lookupAssetBalances.js.map +0 -1
  809. package/dist/esm/src/client/v2/indexer/lookupAssetByID.js.map +0 -1
  810. package/dist/esm/src/client/v2/indexer/lookupAssetTransactions.js +0 -386
  811. package/dist/esm/src/client/v2/indexer/lookupAssetTransactions.js.map +0 -1
  812. package/dist/esm/src/client/v2/indexer/lookupBlock.js.map +0 -1
  813. package/dist/esm/src/client/v2/indexer/lookupTransactionByID.js.map +0 -1
  814. package/dist/esm/src/client/v2/indexer/makeHealthCheck.js.map +0 -1
  815. package/dist/esm/src/client/v2/indexer/models/types.js.map +0 -1
  816. package/dist/esm/src/client/v2/indexer/searchAccounts.js.map +0 -1
  817. package/dist/esm/src/client/v2/indexer/searchForApplicationBoxes.js.map +0 -1
  818. package/dist/esm/src/client/v2/indexer/searchForApplications.js.map +0 -1
  819. package/dist/esm/src/client/v2/indexer/searchForAssets.js.map +0 -1
  820. package/dist/esm/src/client/v2/indexer/searchForTransactions.js.map +0 -1
  821. package/dist/esm/src/client/v2/jsonrequest.js.map +0 -1
  822. package/dist/esm/src/client/v2/serviceClient.js.map +0 -1
  823. package/dist/esm/src/composer.js.map +0 -1
  824. package/dist/esm/src/convert.js.map +0 -1
  825. package/dist/esm/src/dryrun.js +0 -295
  826. package/dist/esm/src/dryrun.js.map +0 -1
  827. package/dist/esm/src/encoding/address.js.map +0 -1
  828. package/dist/esm/src/encoding/bigint.js.map +0 -1
  829. package/dist/esm/src/encoding/encoding.js.map +0 -1
  830. package/dist/esm/src/encoding/uint64.js.map +0 -1
  831. package/dist/esm/src/group.js.map +0 -1
  832. package/dist/esm/src/logic/langspec.json +0 -2014
  833. package/dist/esm/src/logic/logic.js +0 -249
  834. package/dist/esm/src/logic/logic.js.map +0 -1
  835. package/dist/esm/src/logic/sourcemap.js.map +0 -1
  836. package/dist/esm/src/logicTemplates/dynamicfee.js +0 -192
  837. package/dist/esm/src/logicTemplates/dynamicfee.js.map +0 -1
  838. package/dist/esm/src/logicTemplates/htlc.js +0 -145
  839. package/dist/esm/src/logicTemplates/htlc.js.map +0 -1
  840. package/dist/esm/src/logicTemplates/index.js +0 -19
  841. package/dist/esm/src/logicTemplates/index.js.map +0 -1
  842. package/dist/esm/src/logicTemplates/limitorder.js +0 -167
  843. package/dist/esm/src/logicTemplates/limitorder.js.map +0 -1
  844. package/dist/esm/src/logicTemplates/periodicpayment.js +0 -163
  845. package/dist/esm/src/logicTemplates/periodicpayment.js.map +0 -1
  846. package/dist/esm/src/logicTemplates/split.js +0 -154
  847. package/dist/esm/src/logicTemplates/split.js.map +0 -1
  848. package/dist/esm/src/logicTemplates/templates.js +0 -67
  849. package/dist/esm/src/logicTemplates/templates.js.map +0 -1
  850. package/dist/esm/src/logicsig.js +0 -411
  851. package/dist/esm/src/logicsig.js.map +0 -1
  852. package/dist/esm/src/main.js +0 -123
  853. package/dist/esm/src/main.js.map +0 -1
  854. package/dist/esm/src/makeTxn.js +0 -801
  855. package/dist/esm/src/makeTxn.js.map +0 -1
  856. package/dist/esm/src/mnemonic/mnemonic.js.map +0 -1
  857. package/dist/esm/src/mnemonic/wordlists/english.js.map +0 -1
  858. package/dist/esm/src/multisig.js.map +0 -1
  859. package/dist/esm/src/nacl/naclWrappers.js.map +0 -1
  860. package/dist/esm/src/signer.js.map +0 -1
  861. package/dist/esm/src/transaction.js.map +0 -1
  862. package/dist/esm/src/types/account.js.map +0 -1
  863. package/dist/esm/src/types/address.js.map +0 -1
  864. package/dist/esm/src/types/blockHeader.js.map +0 -1
  865. package/dist/esm/src/types/index.js.map +0 -1
  866. package/dist/esm/src/types/intDecoding.js.map +0 -1
  867. package/dist/esm/src/types/multisig.js.map +0 -1
  868. package/dist/esm/src/types/transactions/application.js.map +0 -1
  869. package/dist/esm/src/types/transactions/asset.js.map +0 -1
  870. package/dist/esm/src/types/transactions/base.js.map +0 -1
  871. package/dist/esm/src/types/transactions/builder.js.map +0 -1
  872. package/dist/esm/src/types/transactions/encoded.js.map +0 -1
  873. package/dist/esm/src/types/transactions/index.js.map +0 -1
  874. package/dist/esm/src/types/transactions/keyreg.js.map +0 -1
  875. package/dist/esm/src/types/transactions/payment.js.map +0 -1
  876. package/dist/esm/src/types/transactions/stateproof.js.map +0 -1
  877. package/dist/esm/src/types/utils.js.map +0 -1
  878. package/dist/esm/src/utils/utils.js.map +0 -1
  879. package/dist/esm/src/wait.js.map +0 -1
  880. package/dist/types/src/client/algod.d.ts +0 -162
  881. package/dist/types/src/client/v2/algod/algod.d.ts +0 -456
  882. package/dist/types/src/client/v2/algod/models/types.d.ts +0 -1634
  883. package/dist/types/src/client/v2/indexer/lookupAssetTransactions.d.ts +0 -327
  884. package/dist/types/src/logic/logic.d.ts +0 -45
  885. package/dist/types/src/logicTemplates/dynamicfee.d.ts +0 -59
  886. package/dist/types/src/logicTemplates/htlc.d.ts +0 -51
  887. package/dist/types/src/logicTemplates/index.d.ts +0 -16
  888. package/dist/types/src/logicTemplates/limitorder.d.ts +0 -70
  889. package/dist/types/src/logicTemplates/periodicpayment.d.ts +0 -58
  890. package/dist/types/src/logicTemplates/split.d.ts +0 -57
  891. package/dist/types/src/logicTemplates/templates.d.ts +0 -6
  892. package/dist/types/src/logicsig.d.ts +0 -191
  893. package/dist/types/src/main.d.ts +0 -90
  894. package/dist/types/src/makeTxn.d.ts +0 -572
  895. package/dist/types/src/types/transactions/encoded.d.ts +0 -344
package/src/makeTxn.ts ADDED
@@ -0,0 +1,1450 @@
1
+ import * as txnBuilder from './transaction';
2
+ import { OnApplicationComplete } from './types/transactions/base';
3
+ import {
4
+ // Transaction types
5
+ PaymentTxn,
6
+ KeyRegistrationTxn,
7
+
8
+ // Utilities
9
+ TransactionType,
10
+ MustHaveSuggestedParams,
11
+ AssetCreateTxn,
12
+ AssetConfigTxn,
13
+ AssetDestroyTxn,
14
+ AssetFreezeTxn,
15
+ AssetTransferTxn,
16
+ AppCreateTxn,
17
+ AppUpdateTxn,
18
+ AppDeleteTxn,
19
+ AppOptInTxn,
20
+ AppCloseOutTxn,
21
+ AppClearStateTxn,
22
+ AppNoOpTxn,
23
+ } from './types/transactions';
24
+ import { RenameProperties, RenameProperty, Expand } from './types/utils';
25
+
26
+ /**
27
+ * makePaymentTxnWithSuggestedParams takes payment arguments and returns a Transaction object
28
+ * @param from - string representation of Algorand address of sender
29
+ * @param to - string representation of Algorand address of recipient
30
+ * @param amount - integer amount to send, in microAlgos
31
+ * @param closeRemainderTo - optionally close out remaining account balance to this account, represented as string rep of Algorand address
32
+ * @param note - uint8array of arbitrary data for sender to store
33
+ * @param suggestedParams - a dict holding common-to-all-txns args:
34
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
35
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
36
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
37
+ * firstRound - integer first protocol round on which this txn is valid
38
+ * lastRound - integer last protocol round on which this txn is valid
39
+ * genesisHash - string specifies hash genesis block of network in use
40
+ * genesisID - string specifies genesis ID of network in use
41
+ * @param rekeyTo - rekeyTo address, optional
42
+ */
43
+ export function makePaymentTxnWithSuggestedParams(
44
+ from: PaymentTxn['from'],
45
+ to: PaymentTxn['to'],
46
+ amount: PaymentTxn['amount'],
47
+ closeRemainderTo: PaymentTxn['closeRemainderTo'],
48
+ note: PaymentTxn['note'],
49
+ suggestedParams: MustHaveSuggestedParams<PaymentTxn>['suggestedParams'],
50
+ rekeyTo?: PaymentTxn['reKeyTo']
51
+ ) {
52
+ const o: PaymentTxn = {
53
+ from,
54
+ to,
55
+ amount,
56
+ closeRemainderTo,
57
+ note,
58
+ suggestedParams,
59
+ type: TransactionType.pay,
60
+ reKeyTo: rekeyTo,
61
+ };
62
+ return new txnBuilder.Transaction(o);
63
+ }
64
+
65
+ // helper for above makePaymentTxnWithSuggestedParams, instead accepting an arguments object
66
+ export function makePaymentTxnWithSuggestedParamsFromObject(
67
+ o: Expand<
68
+ Pick<
69
+ RenameProperty<MustHaveSuggestedParams<PaymentTxn>, 'reKeyTo', 'rekeyTo'>,
70
+ | 'from'
71
+ | 'to'
72
+ | 'amount'
73
+ | 'closeRemainderTo'
74
+ | 'note'
75
+ | 'suggestedParams'
76
+ | 'rekeyTo'
77
+ >
78
+ >
79
+ ) {
80
+ return makePaymentTxnWithSuggestedParams(
81
+ o.from,
82
+ o.to,
83
+ o.amount,
84
+ o.closeRemainderTo,
85
+ o.note,
86
+ o.suggestedParams,
87
+ o.rekeyTo
88
+ );
89
+ }
90
+
91
+ /**
92
+ * makeKeyRegistrationTxnWithSuggestedParams takes key registration arguments and returns a Transaction object for
93
+ * that key registration operation
94
+ *
95
+ * @param from - string representation of Algorand address of sender
96
+ * @param note - uint8array of arbitrary data for sender to store
97
+ * @param voteKey - voting key. for key deregistration, leave undefined
98
+ * @param selectionKey - selection key. for key deregistration, leave undefined
99
+ * @param voteFirst - first round on which voteKey is valid
100
+ * @param voteLast - last round on which voteKey is valid
101
+ * @param voteKeyDilution - integer
102
+ * @param suggestedParams - a dict holding common-to-all-txns args:
103
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
104
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
105
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
106
+ * firstRound - integer first protocol round on which this txn is valid
107
+ * lastRound - integer last protocol round on which this txn is valid
108
+ * genesisHash - string specifies hash genesis block of network in use
109
+ * genesisID - string specifies genesis ID of network in use
110
+ * @param rekeyTo - rekeyTo address, optional
111
+ * @param nonParticipation - configure whether the address wants to stop participating. If true,
112
+ * voteKey, selectionKey, voteFirst, voteLast, and voteKeyDilution must be undefined.
113
+ * @param stateProofKey - state proof key. for key deregistration, leave undefined
114
+ */
115
+ export function makeKeyRegistrationTxnWithSuggestedParams(
116
+ from: KeyRegistrationTxn['from'],
117
+ note: KeyRegistrationTxn['note'],
118
+ voteKey: KeyRegistrationTxn['voteKey'],
119
+ selectionKey: KeyRegistrationTxn['selectionKey'],
120
+ voteFirst: KeyRegistrationTxn['voteFirst'],
121
+ voteLast: KeyRegistrationTxn['voteLast'],
122
+ voteKeyDilution: KeyRegistrationTxn['voteKeyDilution'],
123
+ suggestedParams: MustHaveSuggestedParams<KeyRegistrationTxn>['suggestedParams'],
124
+ rekeyTo?: KeyRegistrationTxn['reKeyTo'],
125
+ nonParticipation?: false,
126
+ stateProofKey?: KeyRegistrationTxn['stateProofKey']
127
+ ): txnBuilder.Transaction;
128
+ export function makeKeyRegistrationTxnWithSuggestedParams(
129
+ from: KeyRegistrationTxn['from'],
130
+ note: KeyRegistrationTxn['note'],
131
+ voteKey: undefined,
132
+ selectionKey: undefined,
133
+ voteFirst: undefined,
134
+ voteLast: undefined,
135
+ voteKeyDilution: undefined,
136
+ suggestedParams: MustHaveSuggestedParams<KeyRegistrationTxn>['suggestedParams'],
137
+ rekeyTo?: KeyRegistrationTxn['reKeyTo'],
138
+ nonParticipation?: true,
139
+ stateProofKey?: undefined
140
+ ): txnBuilder.Transaction;
141
+ export function makeKeyRegistrationTxnWithSuggestedParams(
142
+ from: any,
143
+ note: any,
144
+ voteKey: any,
145
+ selectionKey: any,
146
+ voteFirst: any,
147
+ voteLast: any,
148
+ voteKeyDilution: any,
149
+ suggestedParams: any,
150
+ rekeyTo?: any,
151
+ nonParticipation = false,
152
+ stateProofKey: any = undefined
153
+ ) {
154
+ const o: KeyRegistrationTxn = {
155
+ from,
156
+ note,
157
+ voteKey,
158
+ selectionKey,
159
+ voteFirst,
160
+ voteLast,
161
+ voteKeyDilution,
162
+ suggestedParams,
163
+ type: TransactionType.keyreg,
164
+ reKeyTo: rekeyTo,
165
+ nonParticipation,
166
+ stateProofKey,
167
+ };
168
+ return new txnBuilder.Transaction(o);
169
+ }
170
+
171
+ // helper for above makeKeyRegistrationTxnWithSuggestedParams, instead accepting an arguments object
172
+ export function makeKeyRegistrationTxnWithSuggestedParamsFromObject(
173
+ o: Expand<
174
+ Pick<
175
+ RenameProperty<
176
+ MustHaveSuggestedParams<KeyRegistrationTxn>,
177
+ 'reKeyTo',
178
+ 'rekeyTo'
179
+ >,
180
+ | 'from'
181
+ | 'note'
182
+ | 'voteKey'
183
+ | 'selectionKey'
184
+ | 'stateProofKey'
185
+ | 'voteFirst'
186
+ | 'voteLast'
187
+ | 'voteKeyDilution'
188
+ | 'suggestedParams'
189
+ | 'rekeyTo'
190
+ > & {
191
+ nonParticipation?: false;
192
+ }
193
+ >
194
+ ): txnBuilder.Transaction;
195
+ export function makeKeyRegistrationTxnWithSuggestedParamsFromObject(
196
+ o: Expand<
197
+ Pick<
198
+ RenameProperty<
199
+ MustHaveSuggestedParams<KeyRegistrationTxn>,
200
+ 'reKeyTo',
201
+ 'rekeyTo'
202
+ >,
203
+ 'from' | 'note' | 'suggestedParams' | 'rekeyTo'
204
+ > & {
205
+ nonParticipation: true;
206
+ }
207
+ >
208
+ ): txnBuilder.Transaction;
209
+ export function makeKeyRegistrationTxnWithSuggestedParamsFromObject(o: any) {
210
+ return makeKeyRegistrationTxnWithSuggestedParams(
211
+ o.from,
212
+ o.note,
213
+ o.voteKey,
214
+ o.selectionKey,
215
+ o.voteFirst,
216
+ o.voteLast,
217
+ o.voteKeyDilution,
218
+ o.suggestedParams,
219
+ o.rekeyTo,
220
+ o.nonParticipation,
221
+ o.stateProofKey
222
+ );
223
+ }
224
+
225
+ /** makeAssetCreateTxnWithSuggestedParams takes asset creation arguments and returns a Transaction object
226
+ * for creating that asset
227
+ *
228
+ * @param from - string representation of Algorand address of sender
229
+ * @param note - uint8array of arbitrary data for sender to store
230
+ * @param total - integer total supply of the asset
231
+ * @param decimals - integer number of decimals for asset unit calculation
232
+ * @param defaultFrozen - boolean whether asset accounts should default to being frozen
233
+ * @param manager - string representation of Algorand address in charge of reserve, freeze, clawback, destruction, etc
234
+ * @param reserve - string representation of Algorand address representing asset reserve
235
+ * @param freeze - string representation of Algorand address with power to freeze/unfreeze asset holdings
236
+ * @param clawback - string representation of Algorand address with power to revoke asset holdings
237
+ * @param unitName - string units name for this asset
238
+ * @param assetName - string name for this asset
239
+ * @param assetURL - string URL relating to this asset
240
+ * @param assetMetadataHash - Uint8Array or UTF-8 string representation of a hash commitment with respect to the asset. Must be exactly 32 bytes long.
241
+ * @param suggestedParams - a dict holding common-to-all-txns args:
242
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
243
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
244
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
245
+ * firstRound - integer first protocol round on which this txn is valid
246
+ * lastRound - integer last protocol round on which this txn is valid
247
+ * genesisHash - string specifies hash genesis block of network in use
248
+ * genesisID - string specifies genesis ID of network in use
249
+ * @param rekeyTo - rekeyTo address, optional
250
+ */
251
+ export function makeAssetCreateTxnWithSuggestedParams(
252
+ from: AssetCreateTxn['from'],
253
+ note: AssetCreateTxn['note'],
254
+ total: AssetCreateTxn['assetTotal'],
255
+ decimals: AssetCreateTxn['assetDecimals'],
256
+ defaultFrozen: AssetCreateTxn['assetDefaultFrozen'],
257
+ manager: AssetCreateTxn['assetManager'],
258
+ reserve: AssetCreateTxn['assetReserve'],
259
+ freeze: AssetCreateTxn['assetFreeze'],
260
+ clawback: AssetCreateTxn['assetClawback'],
261
+ unitName: AssetCreateTxn['assetUnitName'],
262
+ assetName: AssetCreateTxn['assetName'],
263
+ assetURL: AssetCreateTxn['assetURL'],
264
+ assetMetadataHash: AssetCreateTxn['assetMetadataHash'] | undefined,
265
+ suggestedParams: MustHaveSuggestedParams<AssetCreateTxn>['suggestedParams'],
266
+ rekeyTo?: AssetCreateTxn['reKeyTo']
267
+ ) {
268
+ const o: AssetCreateTxn = {
269
+ from,
270
+ note,
271
+ suggestedParams,
272
+ assetTotal: total,
273
+ assetDecimals: decimals,
274
+ assetDefaultFrozen: defaultFrozen,
275
+ assetUnitName: unitName,
276
+ assetName,
277
+ assetURL,
278
+ assetMetadataHash,
279
+ assetManager: manager,
280
+ assetReserve: reserve,
281
+ assetFreeze: freeze,
282
+ assetClawback: clawback,
283
+ type: TransactionType.acfg,
284
+ reKeyTo: rekeyTo,
285
+ };
286
+ return new txnBuilder.Transaction(o);
287
+ }
288
+
289
+ // helper for above makeAssetCreateTxnWithSuggestedParams, instead accepting an arguments object
290
+ export function makeAssetCreateTxnWithSuggestedParamsFromObject(
291
+ o: Expand<
292
+ Pick<
293
+ RenameProperties<
294
+ MustHaveSuggestedParams<AssetCreateTxn>,
295
+ {
296
+ reKeyTo: 'rekeyTo';
297
+ assetTotal: 'total';
298
+ assetDecimals: 'decimals';
299
+ assetDefaultFrozen: 'defaultFrozen';
300
+ assetManager: 'manager';
301
+ assetReserve: 'reserve';
302
+ assetFreeze: 'freeze';
303
+ assetClawback: 'clawback';
304
+ assetUnitName: 'unitName';
305
+ }
306
+ >,
307
+ | 'from'
308
+ | 'note'
309
+ | 'total'
310
+ | 'decimals'
311
+ | 'defaultFrozen'
312
+ | 'manager'
313
+ | 'reserve'
314
+ | 'freeze'
315
+ | 'clawback'
316
+ | 'unitName'
317
+ | 'assetName'
318
+ | 'assetURL'
319
+ | 'assetMetadataHash'
320
+ | 'suggestedParams'
321
+ | 'rekeyTo'
322
+ >
323
+ >
324
+ ) {
325
+ return makeAssetCreateTxnWithSuggestedParams(
326
+ o.from,
327
+ o.note,
328
+ o.total,
329
+ o.decimals,
330
+ o.defaultFrozen,
331
+ o.manager,
332
+ o.reserve,
333
+ o.freeze,
334
+ o.clawback,
335
+ o.unitName,
336
+ o.assetName,
337
+ o.assetURL,
338
+ o.assetMetadataHash,
339
+ o.suggestedParams,
340
+ o.rekeyTo
341
+ );
342
+ }
343
+
344
+ /** makeAssetConfigTxnWithSuggestedParams can be issued by the asset manager to change the manager, reserve, freeze, or clawback
345
+ * you must respecify existing addresses to keep them the same; leaving a field blank is the same as turning
346
+ * that feature off for this asset
347
+ *
348
+ * @param from - string representation of Algorand address of sender
349
+ * @param note - uint8array of arbitrary data for sender to store
350
+ * @param assetIndex - int asset index uniquely specifying the asset
351
+ * @param manager - string representation of new asset manager Algorand address
352
+ * @param reserve - string representation of new reserve Algorand address
353
+ * @param freeze - string representation of new freeze manager Algorand address
354
+ * @param clawback - string representation of new revocation manager Algorand address
355
+ * @param strictEmptyAddressChecking - boolean - throw an error if any of manager, reserve, freeze, or clawback are undefined. optional, defaults to true.
356
+ * @param suggestedParams - a dict holding common-to-all-txns args:
357
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
358
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
359
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
360
+ * firstRound - integer first protocol round on which this txn is valid
361
+ * lastRound - integer last protocol round on which this txn is valid
362
+ * genesisHash - string specifies hash genesis block of network in use
363
+ * genesisID - string specifies genesis ID of network in use
364
+ * @param rekeyTo - rekeyTo address, optional
365
+ */
366
+ export function makeAssetConfigTxnWithSuggestedParams(
367
+ from: AssetConfigTxn['from'],
368
+ note: AssetConfigTxn['note'],
369
+ assetIndex: AssetConfigTxn['assetIndex'],
370
+ manager: AssetConfigTxn['assetManager'],
371
+ reserve: AssetConfigTxn['assetReserve'],
372
+ freeze: AssetConfigTxn['assetFreeze'],
373
+ clawback: AssetConfigTxn['assetClawback'],
374
+ suggestedParams: MustHaveSuggestedParams<AssetConfigTxn>['suggestedParams'],
375
+ strictEmptyAddressChecking = true,
376
+ rekeyTo?: AssetConfigTxn['reKeyTo']
377
+ ) {
378
+ if (
379
+ strictEmptyAddressChecking &&
380
+ (manager === undefined ||
381
+ reserve === undefined ||
382
+ freeze === undefined ||
383
+ clawback === undefined)
384
+ ) {
385
+ throw Error(
386
+ 'strict empty address checking was turned on, but at least one empty address was provided'
387
+ );
388
+ }
389
+ const o: AssetConfigTxn = {
390
+ from,
391
+ suggestedParams,
392
+ assetIndex,
393
+ assetManager: manager,
394
+ assetReserve: reserve,
395
+ assetFreeze: freeze,
396
+ assetClawback: clawback,
397
+ type: TransactionType.acfg,
398
+ note,
399
+ reKeyTo: rekeyTo,
400
+ };
401
+ return new txnBuilder.Transaction(o);
402
+ }
403
+
404
+ // helper for above makeAssetConfigTxnWithSuggestedParams, instead accepting an arguments object
405
+ export function makeAssetConfigTxnWithSuggestedParamsFromObject(
406
+ o: Expand<
407
+ Pick<
408
+ RenameProperties<
409
+ MustHaveSuggestedParams<AssetConfigTxn>,
410
+ {
411
+ reKeyTo: 'rekeyTo';
412
+ assetManager: 'manager';
413
+ assetReserve: 'reserve';
414
+ assetFreeze: 'freeze';
415
+ assetClawback: 'clawback';
416
+ }
417
+ >,
418
+ | 'from'
419
+ | 'note'
420
+ | 'assetIndex'
421
+ | 'manager'
422
+ | 'reserve'
423
+ | 'freeze'
424
+ | 'clawback'
425
+ | 'suggestedParams'
426
+ | 'rekeyTo'
427
+ > & {
428
+ strictEmptyAddressChecking: boolean;
429
+ }
430
+ >
431
+ ) {
432
+ return makeAssetConfigTxnWithSuggestedParams(
433
+ o.from,
434
+ o.note,
435
+ o.assetIndex,
436
+ o.manager,
437
+ o.reserve,
438
+ o.freeze,
439
+ o.clawback,
440
+ o.suggestedParams,
441
+ o.strictEmptyAddressChecking,
442
+ o.rekeyTo
443
+ );
444
+ }
445
+
446
+ /** makeAssetDestroyTxnWithSuggestedParams will allow the asset's manager to remove this asset from the ledger, so long
447
+ * as all outstanding assets are held by the creator.
448
+ *
449
+ * @param from - string representation of Algorand address of sender
450
+ * @param note - uint8array of arbitrary data for sender to store
451
+ * @param assetIndex - int asset index uniquely specifying the asset
452
+ * @param suggestedParams - a dict holding common-to-all-txns args:
453
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
454
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
455
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
456
+ * firstRound - integer first protocol round on which this txn is valid
457
+ * lastRound - integer last protocol round on which this txn is valid
458
+ * genesisHash - string specifies hash genesis block of network in use
459
+ * genesisID - string specifies genesis ID of network in use
460
+ * @param rekeyTo - rekeyTo address, optional
461
+ */
462
+ export function makeAssetDestroyTxnWithSuggestedParams(
463
+ from: AssetDestroyTxn['from'],
464
+ note: AssetDestroyTxn['note'],
465
+ assetIndex: AssetDestroyTxn['assetIndex'],
466
+ suggestedParams: MustHaveSuggestedParams<AssetDestroyTxn>['suggestedParams'],
467
+ rekeyTo?: AssetDestroyTxn['reKeyTo']
468
+ ) {
469
+ const o: AssetDestroyTxn = {
470
+ from,
471
+ suggestedParams,
472
+ assetIndex,
473
+ type: TransactionType.acfg,
474
+ note,
475
+ reKeyTo: rekeyTo,
476
+ };
477
+ return new txnBuilder.Transaction(o);
478
+ }
479
+
480
+ // helper for above makeAssetDestroyTxnWithSuggestedParams, instead accepting an arguments object
481
+ export function makeAssetDestroyTxnWithSuggestedParamsFromObject(
482
+ o: Expand<
483
+ Pick<
484
+ RenameProperty<
485
+ MustHaveSuggestedParams<AssetDestroyTxn>,
486
+ 'reKeyTo',
487
+ 'rekeyTo'
488
+ >,
489
+ 'from' | 'note' | 'assetIndex' | 'suggestedParams' | 'rekeyTo'
490
+ >
491
+ >
492
+ ) {
493
+ return makeAssetDestroyTxnWithSuggestedParams(
494
+ o.from,
495
+ o.note,
496
+ o.assetIndex,
497
+ o.suggestedParams,
498
+ o.rekeyTo
499
+ );
500
+ }
501
+
502
+ /** makeAssetFreezeTxnWithSuggestedParams will allow the asset's freeze manager to freeze or un-freeze an account,
503
+ * blocking or allowing asset transfers to and from the targeted account.
504
+ *
505
+ * @param from - string representation of Algorand address of sender
506
+ * @param note - uint8array of arbitrary data for sender to store
507
+ * @param assetIndex - int asset index uniquely specifying the asset
508
+ * @param freezeTarget - string representation of Algorand address being frozen or unfrozen
509
+ * @param freezeState - true if freezeTarget should be frozen, false if freezeTarget should be allowed to transact
510
+ * @param suggestedParams - a dict holding common-to-all-txns args:
511
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
512
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
513
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
514
+ * firstRound - integer first protocol round on which this txn is valid
515
+ * lastRound - integer last protocol round on which this txn is valid
516
+ * genesisHash - string specifies hash genesis block of network in use
517
+ * genesisID - string specifies genesis ID of network in use
518
+ * @param rekeyTo - rekeyTo address, optional
519
+ */
520
+ export function makeAssetFreezeTxnWithSuggestedParams(
521
+ from: AssetFreezeTxn['from'],
522
+ note: AssetFreezeTxn['note'],
523
+ assetIndex: AssetFreezeTxn['assetIndex'],
524
+ freezeTarget: AssetFreezeTxn['freezeAccount'],
525
+ freezeState: AssetFreezeTxn['freezeState'],
526
+ suggestedParams: MustHaveSuggestedParams<AssetFreezeTxn>['suggestedParams'],
527
+ rekeyTo?: AssetFreezeTxn['reKeyTo']
528
+ ) {
529
+ const o: AssetFreezeTxn = {
530
+ from,
531
+ type: TransactionType.afrz,
532
+ freezeAccount: freezeTarget,
533
+ assetIndex,
534
+ freezeState,
535
+ note,
536
+ suggestedParams,
537
+ reKeyTo: rekeyTo,
538
+ };
539
+ return new txnBuilder.Transaction(o);
540
+ }
541
+
542
+ // helper for above makeAssetFreezeTxnWithSuggestedParams, instead accepting an arguments object
543
+ export function makeAssetFreezeTxnWithSuggestedParamsFromObject(
544
+ o: Expand<
545
+ Pick<
546
+ RenameProperties<
547
+ MustHaveSuggestedParams<AssetFreezeTxn>,
548
+ {
549
+ freezeAccount: 'freezeTarget';
550
+ reKeyTo: 'rekeyTo';
551
+ }
552
+ >,
553
+ | 'from'
554
+ | 'note'
555
+ | 'assetIndex'
556
+ | 'freezeTarget'
557
+ | 'freezeState'
558
+ | 'suggestedParams'
559
+ | 'rekeyTo'
560
+ >
561
+ >
562
+ ) {
563
+ return makeAssetFreezeTxnWithSuggestedParams(
564
+ o.from,
565
+ o.note,
566
+ o.assetIndex,
567
+ o.freezeTarget,
568
+ o.freezeState,
569
+ o.suggestedParams,
570
+ o.rekeyTo
571
+ );
572
+ }
573
+
574
+ /** makeAssetTransferTxnWithSuggestedParams allows for the creation of an asset transfer transaction.
575
+ * Special case: to begin accepting assets, set amount=0 and from=to.
576
+ *
577
+ * @param from - string representation of Algorand address of sender
578
+ * @param to - string representation of Algorand address of asset recipient
579
+ * @param closeRemainderTo - optional - string representation of Algorand address - if provided,
580
+ * send all remaining assets after transfer to the "closeRemainderTo" address and close "from"'s asset holdings
581
+ * @param revocationTarget - optional - string representation of Algorand address - if provided,
582
+ * and if "from" is the asset's revocation manager, then deduct from "revocationTarget" rather than "from"
583
+ * @param amount - integer amount of assets to send
584
+ * @param note - uint8array of arbitrary data for sender to store
585
+ * @param assetIndex - int asset index uniquely specifying the asset
586
+ * @param suggestedParams - a dict holding common-to-all-txns args:
587
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
588
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
589
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
590
+ * * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
591
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
592
+ * firstRound - integer first protocol round on which this txn is valid
593
+ * lastRound - integer last protocol round on which this txn is valid
594
+ * genesisHash - string specifies hash genesis block of network in use
595
+ * genesisID - string specifies genesis ID of network in use
596
+ * @param rekeyTo - rekeyTo address, optional
597
+ */
598
+ export function makeAssetTransferTxnWithSuggestedParams(
599
+ from: AssetTransferTxn['from'],
600
+ to: AssetTransferTxn['to'],
601
+ closeRemainderTo: AssetTransferTxn['closeRemainderTo'],
602
+ revocationTarget: AssetTransferTxn['assetRevocationTarget'],
603
+ amount: AssetTransferTxn['amount'],
604
+ note: AssetTransferTxn['note'],
605
+ assetIndex: AssetTransferTxn['assetIndex'],
606
+ suggestedParams: MustHaveSuggestedParams<AssetTransferTxn>['suggestedParams'],
607
+ rekeyTo?: AssetTransferTxn['reKeyTo']
608
+ ) {
609
+ const o: AssetTransferTxn = {
610
+ type: TransactionType.axfer,
611
+ from,
612
+ to,
613
+ amount,
614
+ suggestedParams,
615
+ assetIndex,
616
+ note,
617
+ assetRevocationTarget: revocationTarget,
618
+ closeRemainderTo,
619
+ reKeyTo: rekeyTo,
620
+ };
621
+ return new txnBuilder.Transaction(o);
622
+ }
623
+
624
+ // helper for above makeAssetTransferTxnWithSuggestedParams, instead accepting an arguments object
625
+ export function makeAssetTransferTxnWithSuggestedParamsFromObject(
626
+ o: Expand<
627
+ Pick<
628
+ RenameProperties<
629
+ MustHaveSuggestedParams<AssetTransferTxn>,
630
+ {
631
+ assetRevocationTarget: 'revocationTarget';
632
+ reKeyTo: 'rekeyTo';
633
+ }
634
+ >,
635
+ | 'from'
636
+ | 'to'
637
+ | 'closeRemainderTo'
638
+ | 'revocationTarget'
639
+ | 'amount'
640
+ | 'note'
641
+ | 'assetIndex'
642
+ | 'suggestedParams'
643
+ | 'rekeyTo'
644
+ >
645
+ >
646
+ ) {
647
+ return makeAssetTransferTxnWithSuggestedParams(
648
+ o.from,
649
+ o.to,
650
+ o.closeRemainderTo,
651
+ o.revocationTarget,
652
+ o.amount,
653
+ o.note,
654
+ o.assetIndex,
655
+ o.suggestedParams,
656
+ o.rekeyTo
657
+ );
658
+ }
659
+
660
+ /**
661
+ * Make a transaction that will create an application.
662
+ * @param from - address of sender
663
+ * @param suggestedParams - a dict holding common-to-all-txns args:
664
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
665
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
666
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
667
+ * firstRound - integer first protocol round on which this txn is valid
668
+ * lastRound - integer last protocol round on which this txn is valid
669
+ * genesisHash - string specifies hash genesis block of network in use
670
+ * genesisID - string specifies genesis ID of network in use
671
+ * @param onComplete - algosdk.OnApplicationComplete, what application should do once the program is done being run
672
+ * @param approvalProgram - Uint8Array, the compiled TEAL that approves a transaction
673
+ * @param clearProgram - Uint8Array, the compiled TEAL that runs when clearing state
674
+ * @param numLocalInts - restricts number of ints in per-user local state
675
+ * @param numLocalByteSlices - restricts number of byte slices in per-user local state
676
+ * @param numGlobalInts - restricts number of ints in global state
677
+ * @param numGlobalByteSlices - restricts number of byte slices in global state
678
+ * @param appArgs - Array of Uint8Array, any additional arguments to the application
679
+ * @param accounts - Array of Address strings, any additional accounts to supply to the application
680
+ * @param foreignApps - Array of int, any other apps used by the application, identified by index
681
+ * @param foreignAssets - Array of int, any assets used by the application, identified by index
682
+ * @param note - Arbitrary data for sender to store
683
+ * @param lease - Lease a transaction
684
+ * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions
685
+ * @param extraPages - integer extra pages of memory to rent on creation of application
686
+ * @param boxes - Array of BoxReference, app ID and name of box to be accessed
687
+ */
688
+ export function makeApplicationCreateTxn(
689
+ from: AppCreateTxn['from'],
690
+ suggestedParams: MustHaveSuggestedParams<AppCreateTxn>['suggestedParams'],
691
+ onComplete: AppCreateTxn['appOnComplete'],
692
+ approvalProgram: AppCreateTxn['appApprovalProgram'],
693
+ clearProgram: AppCreateTxn['appClearProgram'],
694
+ numLocalInts: AppCreateTxn['appLocalInts'],
695
+ numLocalByteSlices: AppCreateTxn['appLocalByteSlices'],
696
+ numGlobalInts: AppCreateTxn['appGlobalInts'],
697
+ numGlobalByteSlices: AppCreateTxn['appGlobalByteSlices'],
698
+ appArgs?: AppCreateTxn['appArgs'],
699
+ accounts?: AppCreateTxn['appAccounts'],
700
+ foreignApps?: AppCreateTxn['appForeignApps'],
701
+ foreignAssets?: AppCreateTxn['appForeignAssets'],
702
+ note?: AppCreateTxn['note'],
703
+ lease?: AppCreateTxn['lease'],
704
+ rekeyTo?: AppCreateTxn['reKeyTo'],
705
+ extraPages?: AppCreateTxn['extraPages'],
706
+ boxes?: AppCreateTxn['boxes']
707
+ ) {
708
+ const o: AppCreateTxn = {
709
+ type: TransactionType.appl,
710
+ from,
711
+ suggestedParams,
712
+ appIndex: 0,
713
+ appOnComplete: onComplete,
714
+ appLocalInts: numLocalInts,
715
+ appLocalByteSlices: numLocalByteSlices,
716
+ appGlobalInts: numGlobalInts,
717
+ appGlobalByteSlices: numGlobalByteSlices,
718
+ appApprovalProgram: approvalProgram,
719
+ appClearProgram: clearProgram,
720
+ appArgs,
721
+ appAccounts: accounts,
722
+ appForeignApps: foreignApps,
723
+ appForeignAssets: foreignAssets,
724
+ boxes,
725
+ note,
726
+ lease,
727
+ reKeyTo: rekeyTo,
728
+ extraPages,
729
+ };
730
+ return new txnBuilder.Transaction(o);
731
+ }
732
+
733
+ // helper for above makeApplicationCreateTxn, instead accepting an arguments object
734
+ export function makeApplicationCreateTxnFromObject(
735
+ o: Expand<
736
+ Pick<
737
+ RenameProperties<
738
+ MustHaveSuggestedParams<AppCreateTxn>,
739
+ {
740
+ appOnComplete: 'onComplete';
741
+ appApprovalProgram: 'approvalProgram';
742
+ appClearProgram: 'clearProgram';
743
+ appLocalInts: 'numLocalInts';
744
+ appLocalByteSlices: 'numLocalByteSlices';
745
+ appGlobalInts: 'numGlobalInts';
746
+ appGlobalByteSlices: 'numGlobalByteSlices';
747
+ appAccounts: 'accounts';
748
+ appForeignApps: 'foreignApps';
749
+ appForeignAssets: 'foreignAssets';
750
+ reKeyTo: 'rekeyTo';
751
+ }
752
+ >,
753
+ | 'from'
754
+ | 'suggestedParams'
755
+ | 'onComplete'
756
+ | 'approvalProgram'
757
+ | 'clearProgram'
758
+ | 'numLocalInts'
759
+ | 'numLocalByteSlices'
760
+ | 'numGlobalInts'
761
+ | 'numGlobalByteSlices'
762
+ | 'appArgs'
763
+ | 'accounts'
764
+ | 'foreignApps'
765
+ | 'foreignAssets'
766
+ | 'boxes'
767
+ | 'note'
768
+ | 'lease'
769
+ | 'rekeyTo'
770
+ | 'extraPages'
771
+ >
772
+ >
773
+ ) {
774
+ return makeApplicationCreateTxn(
775
+ o.from,
776
+ o.suggestedParams,
777
+ o.onComplete,
778
+ o.approvalProgram,
779
+ o.clearProgram,
780
+ o.numLocalInts,
781
+ o.numLocalByteSlices,
782
+ o.numGlobalInts,
783
+ o.numGlobalByteSlices,
784
+ o.appArgs,
785
+ o.accounts,
786
+ o.foreignApps,
787
+ o.foreignAssets,
788
+ o.note,
789
+ o.lease,
790
+ o.rekeyTo,
791
+ o.extraPages,
792
+ o.boxes
793
+ );
794
+ }
795
+
796
+ /**
797
+ * Make a transaction that changes an application's approval and clear programs
798
+ * @param from - address of sender
799
+ * @param suggestedParams - a dict holding common-to-all-txns args:
800
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
801
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
802
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
803
+ * firstRound - integer first protocol round on which this txn is valid
804
+ * lastRound - integer last protocol round on which this txn is valid
805
+ * genesisHash - string specifies hash genesis block of network in use
806
+ * genesisID - string specifies genesis ID of network in use
807
+ * @param appIndex - the ID of the app to be updated
808
+ * @param approvalProgram - Uint8Array, the compiled TEAL that approves a transaction
809
+ * @param clearProgram - Uint8Array, the compiled TEAL that runs when clearing state
810
+ * @param appArgs - Array of Uint8Array, any additional arguments to the application
811
+ * @param accounts - Array of Address strings, any additional accounts to supply to the application
812
+ * @param foreignApps - Array of int, any other apps used by the application, identified by index
813
+ * @param foreignAssets - Array of int, any assets used by the application, identified by index
814
+ * @param note - Arbitrary data for sender to store
815
+ * @param lease - Lease a transaction
816
+ * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions
817
+ * @param boxes - Array of BoxReference, app ID and name of box to be accessed
818
+ */
819
+ export function makeApplicationUpdateTxn(
820
+ from: AppUpdateTxn['from'],
821
+ suggestedParams: MustHaveSuggestedParams<AppUpdateTxn>['suggestedParams'],
822
+ appIndex: AppUpdateTxn['appIndex'],
823
+ approvalProgram: AppUpdateTxn['appApprovalProgram'],
824
+ clearProgram: AppUpdateTxn['appClearProgram'],
825
+ appArgs?: AppUpdateTxn['appArgs'],
826
+ accounts?: AppUpdateTxn['appAccounts'],
827
+ foreignApps?: AppUpdateTxn['appForeignApps'],
828
+ foreignAssets?: AppUpdateTxn['appForeignAssets'],
829
+ note?: AppUpdateTxn['note'],
830
+ lease?: AppUpdateTxn['lease'],
831
+ rekeyTo?: AppUpdateTxn['reKeyTo'],
832
+ boxes?: AppUpdateTxn['boxes']
833
+ ) {
834
+ const o: AppUpdateTxn = {
835
+ type: TransactionType.appl,
836
+ from,
837
+ suggestedParams,
838
+ appIndex,
839
+ appApprovalProgram: approvalProgram,
840
+ appOnComplete: OnApplicationComplete.UpdateApplicationOC,
841
+ appClearProgram: clearProgram,
842
+ appArgs,
843
+ appAccounts: accounts,
844
+ appForeignApps: foreignApps,
845
+ appForeignAssets: foreignAssets,
846
+ boxes,
847
+ note,
848
+ lease,
849
+ reKeyTo: rekeyTo,
850
+ };
851
+ return new txnBuilder.Transaction(o);
852
+ }
853
+
854
+ // helper for above makeApplicationUpdateTxn, instead accepting an arguments object
855
+ export function makeApplicationUpdateTxnFromObject(
856
+ o: Expand<
857
+ Pick<
858
+ RenameProperties<
859
+ MustHaveSuggestedParams<AppUpdateTxn>,
860
+ {
861
+ appApprovalProgram: 'approvalProgram';
862
+ appClearProgram: 'clearProgram';
863
+ appAccounts: 'accounts';
864
+ appForeignApps: 'foreignApps';
865
+ appForeignAssets: 'foreignAssets';
866
+ reKeyTo: 'rekeyTo';
867
+ }
868
+ >,
869
+ | 'from'
870
+ | 'suggestedParams'
871
+ | 'appIndex'
872
+ | 'approvalProgram'
873
+ | 'clearProgram'
874
+ | 'appArgs'
875
+ | 'accounts'
876
+ | 'foreignApps'
877
+ | 'foreignAssets'
878
+ | 'boxes'
879
+ | 'note'
880
+ | 'lease'
881
+ | 'rekeyTo'
882
+ >
883
+ >
884
+ ) {
885
+ return makeApplicationUpdateTxn(
886
+ o.from,
887
+ o.suggestedParams,
888
+ o.appIndex,
889
+ o.approvalProgram,
890
+ o.clearProgram,
891
+ o.appArgs,
892
+ o.accounts,
893
+ o.foreignApps,
894
+ o.foreignAssets,
895
+ o.note,
896
+ o.lease,
897
+ o.rekeyTo,
898
+ o.boxes
899
+ );
900
+ }
901
+
902
+ /**
903
+ * Make a transaction that deletes an application
904
+ * @param from - address of sender
905
+ * @param suggestedParams - a dict holding common-to-all-txns args:
906
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
907
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
908
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
909
+ * firstRound - integer first protocol round on which this txn is valid
910
+ * lastRound - integer last protocol round on which this txn is valid
911
+ * genesisHash - string specifies hash genesis block of network in use
912
+ * genesisID - string specifies genesis ID of network in use
913
+ * @param appIndex - the ID of the app to be deleted
914
+ * @param appArgs - Array of Uint8Array, any additional arguments to the application
915
+ * @param accounts - Array of Address strings, any additional accounts to supply to the application
916
+ * @param foreignApps - Array of int, any other apps used by the application, identified by index
917
+ * @param foreignAssets - Array of int, any assets used by the application, identified by index
918
+ * @param note - Arbitrary data for sender to store
919
+ * @param lease - Lease a transaction
920
+ * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions
921
+ * @param boxes - Array of BoxReference, app ID and name of box to be accessed
922
+ */
923
+ export function makeApplicationDeleteTxn(
924
+ from: AppDeleteTxn['from'],
925
+ suggestedParams: MustHaveSuggestedParams<AppDeleteTxn>['suggestedParams'],
926
+ appIndex: AppDeleteTxn['appIndex'],
927
+ appArgs?: AppDeleteTxn['appArgs'],
928
+ accounts?: AppDeleteTxn['appAccounts'],
929
+ foreignApps?: AppDeleteTxn['appForeignApps'],
930
+ foreignAssets?: AppDeleteTxn['appForeignAssets'],
931
+ note?: AppDeleteTxn['note'],
932
+ lease?: AppDeleteTxn['lease'],
933
+ rekeyTo?: AppDeleteTxn['reKeyTo'],
934
+ boxes?: AppDeleteTxn['boxes']
935
+ ) {
936
+ const o: AppDeleteTxn = {
937
+ type: TransactionType.appl,
938
+ from,
939
+ suggestedParams,
940
+ appIndex,
941
+ appOnComplete: OnApplicationComplete.DeleteApplicationOC,
942
+ appArgs,
943
+ appAccounts: accounts,
944
+ appForeignApps: foreignApps,
945
+ appForeignAssets: foreignAssets,
946
+ boxes,
947
+ note,
948
+ lease,
949
+ reKeyTo: rekeyTo,
950
+ };
951
+ return new txnBuilder.Transaction(o);
952
+ }
953
+
954
+ // helper for above makeApplicationDeleteTxn, instead accepting an arguments object
955
+ export function makeApplicationDeleteTxnFromObject(
956
+ o: Expand<
957
+ Pick<
958
+ RenameProperties<
959
+ MustHaveSuggestedParams<AppDeleteTxn>,
960
+ {
961
+ appAccounts: 'accounts';
962
+ appForeignApps: 'foreignApps';
963
+ appForeignAssets: 'foreignAssets';
964
+ reKeyTo: 'rekeyTo';
965
+ }
966
+ >,
967
+ | 'from'
968
+ | 'suggestedParams'
969
+ | 'appIndex'
970
+ | 'appArgs'
971
+ | 'accounts'
972
+ | 'foreignApps'
973
+ | 'foreignAssets'
974
+ | 'boxes'
975
+ | 'note'
976
+ | 'lease'
977
+ | 'rekeyTo'
978
+ >
979
+ >
980
+ ) {
981
+ return makeApplicationDeleteTxn(
982
+ o.from,
983
+ o.suggestedParams,
984
+ o.appIndex,
985
+ o.appArgs,
986
+ o.accounts,
987
+ o.foreignApps,
988
+ o.foreignAssets,
989
+ o.note,
990
+ o.lease,
991
+ o.rekeyTo,
992
+ o.boxes
993
+ );
994
+ }
995
+
996
+ /**
997
+ * Make a transaction that opts in to use an application
998
+ * @param from - address of sender
999
+ * @param suggestedParams - a dict holding common-to-all-txns args:
1000
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
1001
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
1002
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
1003
+ * firstRound - integer first protocol round on which this txn is valid
1004
+ * lastRound - integer last protocol round on which this txn is valid
1005
+ * genesisHash - string specifies hash genesis block of network in use
1006
+ * genesisID - string specifies genesis ID of network in use
1007
+ * @param appIndex - the ID of the app to join
1008
+ * @param appArgs - Array of Uint8Array, any additional arguments to the application
1009
+ * @param accounts - Array of Address strings, any additional accounts to supply to the application
1010
+ * @param foreignApps - Array of int, any other apps used by the application, identified by index
1011
+ * @param foreignAssets - Array of int, any assets used by the application, identified by index
1012
+ * @param note - Arbitrary data for sender to store
1013
+ * @param lease - Lease a transaction
1014
+ * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions
1015
+ * @param boxes - Array of BoxReference, app ID and name of box to be accessed
1016
+ */
1017
+ export function makeApplicationOptInTxn(
1018
+ from: AppOptInTxn['from'],
1019
+ suggestedParams: MustHaveSuggestedParams<AppOptInTxn>['suggestedParams'],
1020
+ appIndex: AppOptInTxn['appIndex'],
1021
+ appArgs?: AppOptInTxn['appArgs'],
1022
+ accounts?: AppOptInTxn['appAccounts'],
1023
+ foreignApps?: AppOptInTxn['appForeignApps'],
1024
+ foreignAssets?: AppOptInTxn['appForeignAssets'],
1025
+ note?: AppOptInTxn['note'],
1026
+ lease?: AppOptInTxn['lease'],
1027
+ rekeyTo?: AppOptInTxn['reKeyTo'],
1028
+ boxes?: AppOptInTxn['boxes']
1029
+ ) {
1030
+ const o: AppOptInTxn = {
1031
+ type: TransactionType.appl,
1032
+ from,
1033
+ suggestedParams,
1034
+ appIndex,
1035
+ appOnComplete: OnApplicationComplete.OptInOC,
1036
+ appArgs,
1037
+ appAccounts: accounts,
1038
+ appForeignApps: foreignApps,
1039
+ appForeignAssets: foreignAssets,
1040
+ boxes,
1041
+ note,
1042
+ lease,
1043
+ reKeyTo: rekeyTo,
1044
+ };
1045
+ return new txnBuilder.Transaction(o);
1046
+ }
1047
+
1048
+ // helper for above makeApplicationOptInTxn, instead accepting an argument object
1049
+ export function makeApplicationOptInTxnFromObject(
1050
+ o: Expand<
1051
+ Pick<
1052
+ RenameProperties<
1053
+ MustHaveSuggestedParams<AppOptInTxn>,
1054
+ {
1055
+ appAccounts: 'accounts';
1056
+ appForeignApps: 'foreignApps';
1057
+ appForeignAssets: 'foreignAssets';
1058
+ reKeyTo: 'rekeyTo';
1059
+ }
1060
+ >,
1061
+ | 'from'
1062
+ | 'suggestedParams'
1063
+ | 'appIndex'
1064
+ | 'appArgs'
1065
+ | 'accounts'
1066
+ | 'foreignApps'
1067
+ | 'foreignAssets'
1068
+ | 'boxes'
1069
+ | 'note'
1070
+ | 'lease'
1071
+ | 'rekeyTo'
1072
+ >
1073
+ >
1074
+ ) {
1075
+ return makeApplicationOptInTxn(
1076
+ o.from,
1077
+ o.suggestedParams,
1078
+ o.appIndex,
1079
+ o.appArgs,
1080
+ o.accounts,
1081
+ o.foreignApps,
1082
+ o.foreignAssets,
1083
+ o.note,
1084
+ o.lease,
1085
+ o.rekeyTo,
1086
+ o.boxes
1087
+ );
1088
+ }
1089
+
1090
+ /**
1091
+ * Make a transaction that closes out a user's state in an application
1092
+ * @param from - address of sender
1093
+ * @param suggestedParams - a dict holding common-to-all-txns args:
1094
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
1095
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
1096
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
1097
+ * firstRound - integer first protocol round on which this txn is valid
1098
+ * lastRound - integer last protocol round on which this txn is valid
1099
+ * genesisHash - string specifies hash genesis block of network in use
1100
+ * genesisID - string specifies genesis ID of network in use
1101
+ * @param appIndex - the ID of the app to use
1102
+ * @param appArgs - Array of Uint8Array, any additional arguments to the application
1103
+ * @param accounts - Array of Address strings, any additional accounts to supply to the application
1104
+ * @param foreignApps - Array of int, any other apps used by the application, identified by index
1105
+ * @param foreignAssets - Array of int, any assets used by the application, identified by index
1106
+ * @param note - Arbitrary data for sender to store
1107
+ * @param lease - Lease a transaction
1108
+ * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions
1109
+ * @param boxes - Array of BoxReference, app ID and name of box to be accessed
1110
+ */
1111
+ export function makeApplicationCloseOutTxn(
1112
+ from: AppCloseOutTxn['from'],
1113
+ suggestedParams: MustHaveSuggestedParams<AppCloseOutTxn>['suggestedParams'],
1114
+ appIndex: AppCloseOutTxn['appIndex'],
1115
+ appArgs?: AppCloseOutTxn['appArgs'],
1116
+ accounts?: AppCloseOutTxn['appAccounts'],
1117
+ foreignApps?: AppCloseOutTxn['appForeignApps'],
1118
+ foreignAssets?: AppCloseOutTxn['appForeignAssets'],
1119
+ note?: AppCloseOutTxn['note'],
1120
+ lease?: AppCloseOutTxn['lease'],
1121
+ rekeyTo?: AppCloseOutTxn['reKeyTo'],
1122
+ boxes?: AppCloseOutTxn['boxes']
1123
+ ) {
1124
+ const o: AppCloseOutTxn = {
1125
+ type: TransactionType.appl,
1126
+ from,
1127
+ suggestedParams,
1128
+ appIndex,
1129
+ appOnComplete: OnApplicationComplete.CloseOutOC,
1130
+ appArgs,
1131
+ appAccounts: accounts,
1132
+ appForeignApps: foreignApps,
1133
+ appForeignAssets: foreignAssets,
1134
+ boxes,
1135
+ note,
1136
+ lease,
1137
+ reKeyTo: rekeyTo,
1138
+ };
1139
+ return new txnBuilder.Transaction(o);
1140
+ }
1141
+
1142
+ // helper for above makeApplicationCloseOutTxn, instead accepting an argument object
1143
+ export function makeApplicationCloseOutTxnFromObject(
1144
+ o: Expand<
1145
+ Pick<
1146
+ RenameProperties<
1147
+ MustHaveSuggestedParams<AppOptInTxn>,
1148
+ {
1149
+ appAccounts: 'accounts';
1150
+ appForeignApps: 'foreignApps';
1151
+ appForeignAssets: 'foreignAssets';
1152
+ reKeyTo: 'rekeyTo';
1153
+ }
1154
+ >,
1155
+ | 'from'
1156
+ | 'suggestedParams'
1157
+ | 'appIndex'
1158
+ | 'appArgs'
1159
+ | 'accounts'
1160
+ | 'foreignApps'
1161
+ | 'foreignAssets'
1162
+ | 'boxes'
1163
+ | 'note'
1164
+ | 'lease'
1165
+ | 'rekeyTo'
1166
+ >
1167
+ >
1168
+ ) {
1169
+ return makeApplicationCloseOutTxn(
1170
+ o.from,
1171
+ o.suggestedParams,
1172
+ o.appIndex,
1173
+ o.appArgs,
1174
+ o.accounts,
1175
+ o.foreignApps,
1176
+ o.foreignAssets,
1177
+ o.note,
1178
+ o.lease,
1179
+ o.rekeyTo,
1180
+ o.boxes
1181
+ );
1182
+ }
1183
+
1184
+ /**
1185
+ * Make a transaction that clears a user's state in an application
1186
+ * @param from - address of sender
1187
+ * @param suggestedParams - a dict holding common-to-all-txns args:
1188
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
1189
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
1190
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
1191
+ * firstRound - integer first protocol round on which this txn is valid
1192
+ * lastRound - integer last protocol round on which this txn is valid
1193
+ * genesisHash - string specifies hash genesis block of network in use
1194
+ * genesisID - string specifies genesis ID of network in use
1195
+ * @param appIndex - the ID of the app to use
1196
+ * @param appArgs - Array of Uint8Array, any additional arguments to the application
1197
+ * @param accounts - Array of Address strings, any additional accounts to supply to the application
1198
+ * @param foreignApps - Array of int, any other apps used by the application, identified by index
1199
+ * @param foreignAssets - Array of int, any assets used by the application, identified by index
1200
+ * @param note - Arbitrary data for sender to store
1201
+ * @param lease - Lease a transaction
1202
+ * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions
1203
+ * @param boxes - Array of BoxReference, app ID and name of box to be accessed
1204
+ */
1205
+ export function makeApplicationClearStateTxn(
1206
+ from: AppClearStateTxn['from'],
1207
+ suggestedParams: MustHaveSuggestedParams<AppClearStateTxn>['suggestedParams'],
1208
+ appIndex: AppClearStateTxn['appIndex'],
1209
+ appArgs?: AppClearStateTxn['appArgs'],
1210
+ accounts?: AppClearStateTxn['appAccounts'],
1211
+ foreignApps?: AppClearStateTxn['appForeignApps'],
1212
+ foreignAssets?: AppClearStateTxn['appForeignAssets'],
1213
+ note?: AppClearStateTxn['note'],
1214
+ lease?: AppClearStateTxn['lease'],
1215
+ rekeyTo?: AppClearStateTxn['reKeyTo'],
1216
+ boxes?: AppClearStateTxn['boxes']
1217
+ ) {
1218
+ const o: AppClearStateTxn = {
1219
+ type: TransactionType.appl,
1220
+ from,
1221
+ suggestedParams,
1222
+ appIndex,
1223
+ appOnComplete: OnApplicationComplete.ClearStateOC,
1224
+ appArgs,
1225
+ appAccounts: accounts,
1226
+ appForeignApps: foreignApps,
1227
+ appForeignAssets: foreignAssets,
1228
+ boxes,
1229
+ note,
1230
+ lease,
1231
+ reKeyTo: rekeyTo,
1232
+ };
1233
+ return new txnBuilder.Transaction(o);
1234
+ }
1235
+
1236
+ // helper for above makeApplicationClearStateTxn, instead accepting an argument object
1237
+ export function makeApplicationClearStateTxnFromObject(
1238
+ o: Expand<
1239
+ Pick<
1240
+ RenameProperties<
1241
+ MustHaveSuggestedParams<AppOptInTxn>,
1242
+ {
1243
+ appAccounts: 'accounts';
1244
+ appForeignApps: 'foreignApps';
1245
+ appForeignAssets: 'foreignAssets';
1246
+ reKeyTo: 'rekeyTo';
1247
+ }
1248
+ >,
1249
+ | 'from'
1250
+ | 'suggestedParams'
1251
+ | 'appIndex'
1252
+ | 'appArgs'
1253
+ | 'accounts'
1254
+ | 'foreignApps'
1255
+ | 'foreignAssets'
1256
+ | 'boxes'
1257
+ | 'note'
1258
+ | 'lease'
1259
+ | 'rekeyTo'
1260
+ >
1261
+ >
1262
+ ) {
1263
+ return makeApplicationClearStateTxn(
1264
+ o.from,
1265
+ o.suggestedParams,
1266
+ o.appIndex,
1267
+ o.appArgs,
1268
+ o.accounts,
1269
+ o.foreignApps,
1270
+ o.foreignAssets,
1271
+ o.note,
1272
+ o.lease,
1273
+ o.rekeyTo,
1274
+ o.boxes
1275
+ );
1276
+ }
1277
+
1278
+ /**
1279
+ * Make a transaction that just calls an application, doing nothing on completion
1280
+ * @param from - address of sender
1281
+ * @param suggestedParams - a dict holding common-to-all-txns args:
1282
+ * fee - integer fee per byte, in microAlgos. for a flat fee, set flatFee to true
1283
+ * flatFee - bool optionally set this to true to specify fee as microalgos-per-txn
1284
+ * If true, txn fee may fall below the ALGORAND_MIN_TX_FEE
1285
+ * firstRound - integer first protocol round on which this txn is valid
1286
+ * lastRound - integer last protocol round on which this txn is valid
1287
+ * genesisHash - string specifies hash genesis block of network in use
1288
+ * genesisID - string specifies genesis ID of network in use
1289
+ * @param appIndex - the ID of the app to use
1290
+ * @param appArgs - Array of Uint8Array, any additional arguments to the application
1291
+ * @param accounts - Array of Address strings, any additional accounts to supply to the application
1292
+ * @param foreignApps - Array of int, any other apps used by the application, identified by index
1293
+ * @param foreignAssets - Array of int, any assets used by the application, identified by index
1294
+ * @param note - Arbitrary data for sender to store
1295
+ * @param lease - Lease a transaction
1296
+ * @param rekeyTo - String representation of the Algorand address that will be used to authorize all future transactions
1297
+ * @param boxes - Array of BoxReference, app ID and name of box to be accessed
1298
+ */
1299
+ export function makeApplicationNoOpTxn(
1300
+ from: AppNoOpTxn['from'],
1301
+ suggestedParams: MustHaveSuggestedParams<AppNoOpTxn>['suggestedParams'],
1302
+ appIndex: AppNoOpTxn['appIndex'],
1303
+ appArgs?: AppNoOpTxn['appArgs'],
1304
+ accounts?: AppNoOpTxn['appAccounts'],
1305
+ foreignApps?: AppNoOpTxn['appForeignApps'],
1306
+ foreignAssets?: AppNoOpTxn['appForeignAssets'],
1307
+ note?: AppNoOpTxn['note'],
1308
+ lease?: AppNoOpTxn['lease'],
1309
+ rekeyTo?: AppNoOpTxn['reKeyTo'],
1310
+ boxes?: AppNoOpTxn['boxes']
1311
+ ) {
1312
+ const o: AppNoOpTxn = {
1313
+ type: TransactionType.appl,
1314
+ from,
1315
+ suggestedParams,
1316
+ appIndex,
1317
+ appOnComplete: OnApplicationComplete.NoOpOC,
1318
+ appArgs,
1319
+ appAccounts: accounts,
1320
+ appForeignApps: foreignApps,
1321
+ appForeignAssets: foreignAssets,
1322
+ boxes,
1323
+ note,
1324
+ lease,
1325
+ reKeyTo: rekeyTo,
1326
+ };
1327
+ return new txnBuilder.Transaction(o);
1328
+ }
1329
+
1330
+ // helper for above makeApplicationNoOpTxn, instead accepting an argument object
1331
+ export function makeApplicationNoOpTxnFromObject(
1332
+ o: Expand<
1333
+ Pick<
1334
+ RenameProperties<
1335
+ MustHaveSuggestedParams<AppOptInTxn>,
1336
+ {
1337
+ appAccounts: 'accounts';
1338
+ appForeignApps: 'foreignApps';
1339
+ appForeignAssets: 'foreignAssets';
1340
+ reKeyTo: 'rekeyTo';
1341
+ }
1342
+ >,
1343
+ | 'from'
1344
+ | 'suggestedParams'
1345
+ | 'appIndex'
1346
+ | 'appArgs'
1347
+ | 'accounts'
1348
+ | 'foreignApps'
1349
+ | 'foreignAssets'
1350
+ | 'boxes'
1351
+ | 'note'
1352
+ | 'lease'
1353
+ | 'rekeyTo'
1354
+ >
1355
+ >
1356
+ ) {
1357
+ return makeApplicationNoOpTxn(
1358
+ o.from,
1359
+ o.suggestedParams,
1360
+ o.appIndex,
1361
+ o.appArgs,
1362
+ o.accounts,
1363
+ o.foreignApps,
1364
+ o.foreignAssets,
1365
+ o.note,
1366
+ o.lease,
1367
+ o.rekeyTo,
1368
+ o.boxes
1369
+ );
1370
+ }
1371
+
1372
+ export { OnApplicationComplete } from './types/transactions/base';
1373
+
1374
+ /**
1375
+ * Generic function for creating any application call transaction.
1376
+ */
1377
+ export function makeApplicationCallTxnFromObject(
1378
+ options: Expand<
1379
+ Pick<
1380
+ RenameProperties<
1381
+ MustHaveSuggestedParams<AppCreateTxn>,
1382
+ {
1383
+ appOnComplete: 'onComplete';
1384
+ appAccounts: 'accounts';
1385
+ appForeignApps: 'foreignApps';
1386
+ appForeignAssets: 'foreignAssets';
1387
+ reKeyTo: 'rekeyTo';
1388
+ }
1389
+ >,
1390
+ | 'from'
1391
+ | 'suggestedParams'
1392
+ | 'appIndex'
1393
+ | 'onComplete'
1394
+ | 'appArgs'
1395
+ | 'accounts'
1396
+ | 'foreignApps'
1397
+ | 'foreignAssets'
1398
+ | 'boxes'
1399
+ | 'note'
1400
+ | 'lease'
1401
+ | 'rekeyTo'
1402
+ | 'extraPages'
1403
+ > &
1404
+ Partial<
1405
+ Pick<
1406
+ RenameProperties<
1407
+ MustHaveSuggestedParams<AppCreateTxn>,
1408
+ {
1409
+ appApprovalProgram: 'approvalProgram';
1410
+ appClearProgram: 'clearProgram';
1411
+ appLocalInts: 'numLocalInts';
1412
+ appLocalByteSlices: 'numLocalByteSlices';
1413
+ appGlobalInts: 'numGlobalInts';
1414
+ appGlobalByteSlices: 'numGlobalByteSlices';
1415
+ }
1416
+ >,
1417
+ | 'approvalProgram'
1418
+ | 'clearProgram'
1419
+ | 'numLocalInts'
1420
+ | 'numLocalByteSlices'
1421
+ | 'numGlobalInts'
1422
+ | 'numGlobalByteSlices'
1423
+ >
1424
+ >
1425
+ >
1426
+ ) {
1427
+ const o: AppCreateTxn = {
1428
+ type: TransactionType.appl,
1429
+ from: options.from,
1430
+ suggestedParams: options.suggestedParams,
1431
+ appIndex: options.appIndex,
1432
+ appOnComplete: options.onComplete,
1433
+ appLocalInts: options.numLocalInts,
1434
+ appLocalByteSlices: options.numLocalByteSlices,
1435
+ appGlobalInts: options.numGlobalInts,
1436
+ appGlobalByteSlices: options.numGlobalByteSlices,
1437
+ appApprovalProgram: options.approvalProgram,
1438
+ appClearProgram: options.clearProgram,
1439
+ appArgs: options.appArgs,
1440
+ appAccounts: options.accounts,
1441
+ appForeignApps: options.foreignApps,
1442
+ appForeignAssets: options.foreignAssets,
1443
+ boxes: options.boxes,
1444
+ note: options.note,
1445
+ lease: options.lease,
1446
+ reKeyTo: options.rekeyTo,
1447
+ extraPages: options.extraPages,
1448
+ };
1449
+ return new txnBuilder.Transaction(o);
1450
+ }