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
@@ -0,0 +1,401 @@
1
+ import * as nacl from './nacl/naclWrappers';
2
+ import * as address from './encoding/address';
3
+ import * as encoding from './encoding/encoding';
4
+ import { verifyMultisig } from './multisig';
5
+ import * as utils from './utils/utils';
6
+ import * as txnBuilder from './transaction';
7
+ import { isValidAddress } from './encoding/address';
8
+ /** sanityCheckProgram performs heuristic program validation:
9
+ * check if passed in bytes are Algorand address or is B64 encoded, rather than Teal bytes
10
+ *
11
+ * @param program - Program bytes to check
12
+ */
13
+ export function sanityCheckProgram(program) {
14
+ if (!program || program.length === 0)
15
+ throw new Error('empty program');
16
+ const lineBreakOrd = '\n'.charCodeAt(0);
17
+ const blankSpaceOrd = ' '.charCodeAt(0);
18
+ const tildeOrd = '~'.charCodeAt(0);
19
+ const isPrintable = (x) => blankSpaceOrd <= x && x <= tildeOrd;
20
+ const isAsciiPrintable = program.every((x) => x === lineBreakOrd || isPrintable(x));
21
+ if (isAsciiPrintable) {
22
+ const programStr = Buffer.from(program).toString();
23
+ if (isValidAddress(programStr))
24
+ throw new Error('requesting program bytes, get Algorand address');
25
+ if (Buffer.from(programStr, 'base64').toString('base64') === programStr)
26
+ throw new Error('program should not be b64 encoded');
27
+ throw new Error('program bytes are all ASCII printable characters, not looking like Teal byte code');
28
+ }
29
+ }
30
+ /**
31
+ LogicSig implementation
32
+
33
+ LogicSig cannot sign transactions in all cases. Instead, use LogicSigAccount as a safe, general purpose signing mechanism. Since LogicSig does not track the provided signature's public key, LogicSig cannot sign transactions when delegated to a non-multisig account _and_ the sender is not the delegating account.
34
+ */
35
+ export class LogicSig {
36
+ constructor(program, programArgs) {
37
+ this.tag = Buffer.from('Program');
38
+ if (programArgs &&
39
+ (!Array.isArray(programArgs) ||
40
+ !programArgs.every((arg) => arg.constructor === Uint8Array || Buffer.isBuffer(arg)))) {
41
+ throw new TypeError('Invalid arguments');
42
+ }
43
+ let args;
44
+ if (programArgs != null)
45
+ args = programArgs.map((arg) => new Uint8Array(arg));
46
+ sanityCheckProgram(program);
47
+ this.logic = program;
48
+ this.args = args;
49
+ this.sig = undefined;
50
+ this.msig = undefined;
51
+ }
52
+ // eslint-disable-next-line camelcase
53
+ get_obj_for_encoding() {
54
+ const obj = {
55
+ l: this.logic,
56
+ };
57
+ if (this.args) {
58
+ obj.arg = this.args;
59
+ }
60
+ if (this.sig) {
61
+ obj.sig = this.sig;
62
+ }
63
+ else if (this.msig) {
64
+ obj.msig = this.msig;
65
+ }
66
+ return obj;
67
+ }
68
+ // eslint-disable-next-line camelcase
69
+ static from_obj_for_encoding(encoded) {
70
+ const lsig = new LogicSig(encoded.l, encoded.arg);
71
+ lsig.sig = encoded.sig;
72
+ lsig.msig = encoded.msig;
73
+ return lsig;
74
+ }
75
+ /**
76
+ * Performs signature verification
77
+ * @param publicKey - Verification key (derived from sender address or escrow address)
78
+ */
79
+ verify(publicKey) {
80
+ if (this.sig && this.msig) {
81
+ return false;
82
+ }
83
+ try {
84
+ sanityCheckProgram(this.logic);
85
+ }
86
+ catch (e) {
87
+ return false;
88
+ }
89
+ const toBeSigned = utils.concatArrays(this.tag, this.logic);
90
+ if (!this.sig && !this.msig) {
91
+ const hash = nacl.genericHash(toBeSigned);
92
+ return utils.arrayEqual(hash, publicKey);
93
+ }
94
+ if (this.sig) {
95
+ return nacl.verify(toBeSigned, this.sig, publicKey);
96
+ }
97
+ return verifyMultisig(toBeSigned, this.msig, publicKey);
98
+ }
99
+ /**
100
+ * Compute hash of the logic sig program (that is the same as escrow account address) as string address
101
+ * @returns String representation of the address
102
+ */
103
+ address() {
104
+ const toBeSigned = utils.concatArrays(this.tag, this.logic);
105
+ const hash = nacl.genericHash(toBeSigned);
106
+ return address.encodeAddress(new Uint8Array(hash));
107
+ }
108
+ /**
109
+ * Creates signature (if no msig provided) or multi signature otherwise
110
+ * @param secretKey - Secret key to sign with
111
+ * @param msig - Multisig account as \{version, threshold, addrs\}
112
+ */
113
+ sign(secretKey, msig) {
114
+ if (msig == null) {
115
+ this.sig = this.signProgram(secretKey);
116
+ }
117
+ else {
118
+ const subsigs = msig.addrs.map((addr) => ({
119
+ pk: address.decodeAddress(addr).publicKey,
120
+ }));
121
+ this.msig = {
122
+ v: msig.version,
123
+ thr: msig.threshold,
124
+ subsig: subsigs,
125
+ };
126
+ const [sig, index] = this.singleSignMultisig(secretKey, this.msig);
127
+ this.msig.subsig[index].s = sig;
128
+ }
129
+ }
130
+ /**
131
+ * Appends a signature to multi signature
132
+ * @param secretKey - Secret key to sign with
133
+ */
134
+ appendToMultisig(secretKey) {
135
+ if (this.msig === undefined) {
136
+ throw new Error('no multisig present');
137
+ }
138
+ const [sig, index] = this.singleSignMultisig(secretKey, this.msig);
139
+ this.msig.subsig[index].s = sig;
140
+ }
141
+ signProgram(secretKey) {
142
+ const toBeSigned = utils.concatArrays(this.tag, this.logic);
143
+ const sig = nacl.sign(toBeSigned, secretKey);
144
+ return sig;
145
+ }
146
+ singleSignMultisig(secretKey, msig) {
147
+ let index = -1;
148
+ const myPk = nacl.keyPairFromSecretKey(secretKey).publicKey;
149
+ for (let i = 0; i < msig.subsig.length; i++) {
150
+ const { pk } = msig.subsig[i];
151
+ if (utils.arrayEqual(pk, myPk)) {
152
+ index = i;
153
+ break;
154
+ }
155
+ }
156
+ if (index === -1) {
157
+ throw new Error('invalid secret key');
158
+ }
159
+ const sig = this.signProgram(secretKey);
160
+ return [sig, index];
161
+ }
162
+ toByte() {
163
+ return encoding.encode(this.get_obj_for_encoding());
164
+ }
165
+ static fromByte(encoded) {
166
+ const decodedObj = encoding.decode(encoded);
167
+ return LogicSig.from_obj_for_encoding(decodedObj);
168
+ }
169
+ }
170
+ /**
171
+ * Represents an account that can sign with a LogicSig program.
172
+ */
173
+ export class LogicSigAccount {
174
+ /**
175
+ * Create a new LogicSigAccount. By default this will create an escrow
176
+ * LogicSig account. Call `sign` or `signMultisig` on the newly created
177
+ * LogicSigAccount to make it a delegated account.
178
+ *
179
+ * @param program - The compiled TEAL program which contains the logic for
180
+ * this LogicSig.
181
+ * @param args - An optional array of arguments for the program.
182
+ */
183
+ constructor(program, args) {
184
+ this.lsig = new LogicSig(program, args);
185
+ this.sigkey = undefined;
186
+ }
187
+ // eslint-disable-next-line camelcase
188
+ get_obj_for_encoding() {
189
+ const obj = {
190
+ lsig: this.lsig.get_obj_for_encoding(),
191
+ };
192
+ if (this.sigkey) {
193
+ obj.sigkey = this.sigkey;
194
+ }
195
+ return obj;
196
+ }
197
+ // eslint-disable-next-line camelcase
198
+ static from_obj_for_encoding(encoded) {
199
+ const lsigAccount = new LogicSigAccount(encoded.lsig.l, encoded.lsig.arg);
200
+ lsigAccount.lsig = LogicSig.from_obj_for_encoding(encoded.lsig);
201
+ lsigAccount.sigkey = encoded.sigkey;
202
+ return lsigAccount;
203
+ }
204
+ /**
205
+ * Encode this object into msgpack.
206
+ */
207
+ toByte() {
208
+ return encoding.encode(this.get_obj_for_encoding());
209
+ }
210
+ /**
211
+ * Decode a msgpack object into a LogicSigAccount.
212
+ * @param encoded - The encoded LogicSigAccount.
213
+ */
214
+ static fromByte(encoded) {
215
+ const decodedObj = encoding.decode(encoded);
216
+ return LogicSigAccount.from_obj_for_encoding(decodedObj);
217
+ }
218
+ /**
219
+ * Check if this LogicSigAccount has been delegated to another account with a
220
+ * signature.
221
+ *
222
+ * Note this function only checks for the presence of a delegation signature.
223
+ * To verify the delegation signature, use `verify`.
224
+ */
225
+ isDelegated() {
226
+ return !!(this.lsig.sig || this.lsig.msig);
227
+ }
228
+ /**
229
+ * Verifies this LogicSig's program and signatures.
230
+ * @returns true if and only if the LogicSig program and signatures are valid.
231
+ */
232
+ verify() {
233
+ const addr = this.address();
234
+ return this.lsig.verify(address.decodeAddress(addr).publicKey);
235
+ }
236
+ /**
237
+ * Get the address of this LogicSigAccount.
238
+ *
239
+ * If the LogicSig is delegated to another account, this will return the
240
+ * address of that account.
241
+ *
242
+ * If the LogicSig is not delegated to another account, this will return an
243
+ * escrow address that is the hash of the LogicSig's program code.
244
+ */
245
+ address() {
246
+ if (this.lsig.sig && this.lsig.msig) {
247
+ throw new Error('LogicSig has too many signatures. At most one of sig or msig may be present');
248
+ }
249
+ if (this.lsig.sig) {
250
+ if (!this.sigkey) {
251
+ throw new Error('Signing key for delegated account is missing');
252
+ }
253
+ return address.encodeAddress(this.sigkey);
254
+ }
255
+ if (this.lsig.msig) {
256
+ const msigMetadata = {
257
+ version: this.lsig.msig.v,
258
+ threshold: this.lsig.msig.thr,
259
+ pks: this.lsig.msig.subsig.map((subsig) => subsig.pk),
260
+ };
261
+ return address.encodeAddress(address.fromMultisigPreImg(msigMetadata));
262
+ }
263
+ return this.lsig.address();
264
+ }
265
+ /**
266
+ * Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
267
+ * has the authority to sign transactions on behalf of another account, called
268
+ * the delegating account. Use this function if the delegating account is a
269
+ * multisig account.
270
+ *
271
+ * @param msig - The multisig delegating account
272
+ * @param secretKey - The secret key of one of the members of the delegating
273
+ * multisig account. Use `appendToMultisig` to add additional signatures
274
+ * from other members.
275
+ */
276
+ signMultisig(msig, secretKey) {
277
+ this.lsig.sign(secretKey, msig);
278
+ }
279
+ /**
280
+ * Adds an additional signature from a member of the delegating multisig
281
+ * account.
282
+ *
283
+ * @param secretKey - The secret key of one of the members of the delegating
284
+ * multisig account.
285
+ */
286
+ appendToMultisig(secretKey) {
287
+ this.lsig.appendToMultisig(secretKey);
288
+ }
289
+ /**
290
+ * Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig
291
+ * has the authority to sign transactions on behalf of another account, called
292
+ * the delegating account. If the delegating account is a multisig account,
293
+ * use `signMultisig` instead.
294
+ *
295
+ * @param secretKey - The secret key of the delegating account.
296
+ */
297
+ sign(secretKey) {
298
+ this.lsig.sign(secretKey);
299
+ this.sigkey = nacl.keyPairFromSecretKey(secretKey).publicKey;
300
+ }
301
+ }
302
+ function signLogicSigTransactionWithAddress(txn, lsig, lsigAddress) {
303
+ if (!lsig.verify(lsigAddress)) {
304
+ throw new Error('Logic signature verification failed. Ensure the program and signature are valid.');
305
+ }
306
+ const signedTxn = {
307
+ lsig: lsig.get_obj_for_encoding(),
308
+ txn: txn.get_obj_for_encoding(),
309
+ };
310
+ if (!nacl.bytesEqual(lsigAddress, txn.from.publicKey)) {
311
+ signedTxn.sgnr = Buffer.from(lsigAddress);
312
+ }
313
+ return {
314
+ txID: txn.txID().toString(),
315
+ blob: encoding.encode(signedTxn),
316
+ };
317
+ }
318
+ /**
319
+ * signLogicSigTransactionObject takes a transaction and a LogicSig object and
320
+ * returns a signed transaction.
321
+ *
322
+ * @param txn - The transaction to sign.
323
+ * @param lsigObject - The LogicSig object that will sign the transaction.
324
+ *
325
+ * @returns Object containing txID and blob representing signed transaction.
326
+ */
327
+ export function signLogicSigTransactionObject(txn, lsigObject) {
328
+ let lsig;
329
+ let lsigAddress;
330
+ if (lsigObject instanceof LogicSigAccount) {
331
+ lsig = lsigObject.lsig;
332
+ lsigAddress = address.decodeAddress(lsigObject.address()).publicKey;
333
+ }
334
+ else {
335
+ lsig = lsigObject;
336
+ if (lsig.sig) {
337
+ // For a LogicSig with a non-multisig delegating account, we cannot derive
338
+ // the address of that account from only its signature, so assume the
339
+ // delegating account is the sender. If that's not the case, the signing
340
+ // will fail.
341
+ lsigAddress = txn.from.publicKey;
342
+ }
343
+ else if (lsig.msig) {
344
+ const msigMetadata = {
345
+ version: lsig.msig.v,
346
+ threshold: lsig.msig.thr,
347
+ pks: lsig.msig.subsig.map((subsig) => subsig.pk),
348
+ };
349
+ lsigAddress = address.fromMultisigPreImg(msigMetadata);
350
+ }
351
+ else {
352
+ lsigAddress = address.decodeAddress(lsig.address()).publicKey;
353
+ }
354
+ }
355
+ return signLogicSigTransactionWithAddress(txn, lsig, lsigAddress);
356
+ }
357
+ /**
358
+ * signLogicSigTransaction takes a transaction and a LogicSig object and returns
359
+ * a signed transaction.
360
+ *
361
+ * @param txn - The transaction to sign.
362
+ * @param lsigObject - The LogicSig object that will sign the transaction.
363
+ *
364
+ * @returns Object containing txID and blob representing signed transaction.
365
+ * @throws error on failure
366
+ */
367
+ export function signLogicSigTransaction(txn, lsigObject) {
368
+ const algoTxn = txnBuilder.instantiateTxnIfNeeded(txn);
369
+ return signLogicSigTransactionObject(algoTxn, lsigObject);
370
+ }
371
+ /**
372
+ * logicSigFromByte accepts encoded logic sig bytes and attempts to call logicsig.fromByte on it,
373
+ * returning the result
374
+ */
375
+ export function logicSigFromByte(encoded) {
376
+ return LogicSig.fromByte(encoded);
377
+ }
378
+ const SIGN_PROGRAM_DATA_PREFIX = Buffer.from('ProgData');
379
+ /**
380
+ * tealSign creates a signature compatible with ed25519verify opcode from program hash
381
+ * @param sk - uint8array with secret key
382
+ * @param data - buffer with data to sign
383
+ * @param programHash - string representation of teal program hash (= contract address for LogicSigs)
384
+ */
385
+ export function tealSign(sk, data, programHash) {
386
+ const parts = utils.concatArrays(address.decodeAddress(programHash).publicKey, data);
387
+ const toBeSigned = Buffer.from(utils.concatArrays(SIGN_PROGRAM_DATA_PREFIX, parts));
388
+ return nacl.sign(toBeSigned, sk);
389
+ }
390
+ /**
391
+ * tealSignFromProgram creates a signature compatible with ed25519verify opcode from raw program bytes
392
+ * @param sk - uint8array with secret key
393
+ * @param data - buffer with data to sign
394
+ * @param program - buffer with teal program
395
+ */
396
+ export function tealSignFromProgram(sk, data, program) {
397
+ const lsig = new LogicSig(program);
398
+ const contractAddress = lsig.address();
399
+ return tealSign(sk, data, contractAddress);
400
+ }
401
+ //# sourceMappingURL=logicsig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logicsig.js","sourceRoot":"","sources":["../../src/logicsig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import * as nacl from './nacl/naclWrappers';
2
+ import * as address from './encoding/address';
3
+ import * as encoding from './encoding/encoding';
4
+ import * as txnBuilder from './transaction';
5
+ import Bid from './bid';
6
+ import * as convert from './convert';
7
+ import * as utils from './utils/utils';
8
+ const SIGN_BYTES_PREFIX = Buffer.from([77, 88]); // "MX"
9
+ // Errors
10
+ export const MULTISIG_BAD_SENDER_ERROR_MSG = 'The transaction sender address and multisig preimage do not match.';
11
+ /**
12
+ * signTransaction takes an object with either payment or key registration fields and
13
+ * a secret key and returns a signed blob.
14
+ *
15
+ * Payment transaction fields: from, to, amount, fee, firstRound, lastRound, genesisHash,
16
+ * note(optional), GenesisID(optional), closeRemainderTo(optional)
17
+ *
18
+ * Key registration fields: fee, firstRound, lastRound, voteKey, selectionKey, voteFirst,
19
+ * voteLast, voteKeyDilution, genesisHash, note(optional), GenesisID(optional)
20
+ *
21
+ * If flatFee is not set and the final calculated fee is lower than the protocol minimum fee, the fee will be increased to match the minimum.
22
+ * @param txn - object with either payment or key registration fields
23
+ * @param sk - Algorand Secret Key
24
+ * @returns object contains the binary signed transaction and its txID
25
+ */
26
+ export function signTransaction(txn, sk) {
27
+ if (typeof txn.from === 'undefined') {
28
+ // Get pk from sk if no sender specified
29
+ const key = nacl.keyPairFromSecretKey(sk);
30
+ // eslint-disable-next-line no-param-reassign
31
+ txn.from = address.encodeAddress(key.publicKey);
32
+ }
33
+ const algoTxn = txnBuilder.instantiateTxnIfNeeded(txn);
34
+ return {
35
+ txID: algoTxn.txID().toString(),
36
+ blob: algoTxn.signTxn(sk),
37
+ };
38
+ }
39
+ /**
40
+ * signBid takes an object with the following fields: bidder key, bid amount, max price, bid ID, auctionKey, auction ID,
41
+ * and a secret key and returns a signed blob to be inserted into a transaction Algorand note field.
42
+ * @param bid - Algorand Bid
43
+ * @param sk - Algorand secret key
44
+ * @returns Uint8Array binary signed bid
45
+ */
46
+ export function signBid(bid, sk) {
47
+ const signedBid = new Bid(bid);
48
+ return signedBid.signBid(sk);
49
+ }
50
+ /**
51
+ * signBytes takes arbitrary bytes and a secret key, prepends the bytes with "MX" for domain separation, signs the bytes
52
+ * with the private key, and returns the signature.
53
+ * @param bytes - Uint8array
54
+ * @param sk - Algorand secret key
55
+ * @returns binary signature
56
+ */
57
+ export function signBytes(bytes, sk) {
58
+ const toBeSigned = Buffer.from(utils.concatArrays(SIGN_BYTES_PREFIX, bytes));
59
+ const sig = nacl.sign(toBeSigned, sk);
60
+ return sig;
61
+ }
62
+ /**
63
+ * verifyBytes takes array of bytes, an address, and a signature and verifies if the signature is correct for the public
64
+ * key and the bytes (the bytes should have been signed with "MX" prepended for domain separation).
65
+ * @param bytes - Uint8Array
66
+ * @param signature - binary signature
67
+ * @param addr - string address
68
+ * @returns bool
69
+ */
70
+ export function verifyBytes(bytes, signature, addr) {
71
+ const toBeVerified = Buffer.from(utils.concatArrays(SIGN_BYTES_PREFIX, bytes));
72
+ const pk = address.decodeAddress(addr).publicKey;
73
+ return nacl.verify(toBeVerified, signature, pk);
74
+ }
75
+ /**
76
+ * encodeObj takes a javascript object and returns its msgpack encoding
77
+ * Note that the encoding sorts the fields alphabetically
78
+ * @param o - js obj
79
+ * @returns Uint8Array binary representation
80
+ */
81
+ export function encodeObj(o) {
82
+ return new Uint8Array(encoding.encode(o));
83
+ }
84
+ /**
85
+ * decodeObj takes a Uint8Array and returns its javascript obj
86
+ * @param o - Uint8Array to decode
87
+ * @returns object
88
+ */
89
+ export function decodeObj(o) {
90
+ return encoding.decode(o);
91
+ }
92
+ export const ERROR_MULTISIG_BAD_SENDER = new Error(MULTISIG_BAD_SENDER_ERROR_MSG);
93
+ export const ERROR_INVALID_MICROALGOS = new Error(convert.INVALID_MICROALGOS_ERROR_MSG);
94
+ export { default as Algodv2 } from './client/v2/algod/algod';
95
+ export { default as Kmd } from './client/kmd';
96
+ export { default as IntDecoding } from './types/intDecoding';
97
+ export { default as Indexer } from './client/v2/indexer/indexer';
98
+ export { waitForConfirmation } from './wait';
99
+ export { isValidAddress, encodeAddress, decodeAddress, getApplicationAddress, } from './encoding/address';
100
+ export { bytesToBigInt, bigIntToBytes } from './encoding/bigint';
101
+ export { encodeUint64, decodeUint64 } from './encoding/uint64';
102
+ export { default as generateAccount } from './account';
103
+ import * as modelsv2_1 from './client/v2/algod/models/types';
104
+ export { modelsv2_1 as modelsv2 };
105
+ import * as indexerModels_1 from './client/v2/indexer/models/types';
106
+ export { indexerModels_1 as indexerModels };
107
+ export { mnemonicToMasterDerivationKey, masterDerivationKeyToMnemonic, secretKeyToMnemonic, mnemonicToSecretKey, seedFromMnemonic, mnemonicFromSeed, } from './mnemonic/mnemonic';
108
+ export { microalgosToAlgos, algosToMicroalgos, INVALID_MICROALGOS_ERROR_MSG, } from './convert';
109
+ export { computeGroupID, assignGroupID } from './group';
110
+ export { LogicSig, LogicSigAccount, signLogicSigTransaction, signLogicSigTransactionObject, logicSigFromByte, tealSign, tealSignFromProgram, } from './logicsig';
111
+ export { signMultisigTransaction, mergeMultisigTransactions, appendSignMultisigTransaction, createMultisigTransaction, appendSignRawMultisigSignature, verifyMultisig, multisigAddress, } from './multisig';
112
+ export { SourceMap } from './logic/sourcemap';
113
+ export * from './dryrun';
114
+ export * from './makeTxn';
115
+ export * from './transaction';
116
+ export * from './signer';
117
+ export * from './composer';
118
+ export * from './types';
119
+ export * from './abi';
120
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}