@algorandfoundation/algokit-utils 9.2.0 → 9.2.1-beta.2

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 (340) hide show
  1. package/_virtual/_rolldown/runtime.js +33 -0
  2. package/_virtual/_rolldown/runtime.mjs +13 -0
  3. package/account/account.d.ts +25 -30
  4. package/account/account.js +151 -146
  5. package/account/account.js.map +1 -1
  6. package/account/account.mjs +149 -144
  7. package/account/account.mjs.map +1 -1
  8. package/account/get-account-config-from-environment.d.ts +7 -2
  9. package/account/get-account-config-from-environment.js +19 -21
  10. package/account/get-account-config-from-environment.js.map +1 -1
  11. package/account/get-account-config-from-environment.mjs +19 -19
  12. package/account/get-account-config-from-environment.mjs.map +1 -1
  13. package/account/get-account.d.ts +14 -12
  14. package/account/get-account.js +56 -59
  15. package/account/get-account.js.map +1 -1
  16. package/account/get-account.mjs +56 -57
  17. package/account/get-account.mjs.map +1 -1
  18. package/account/get-dispenser-account.d.ts +9 -5
  19. package/account/get-dispenser-account.js +20 -18
  20. package/account/get-dispenser-account.js.map +1 -1
  21. package/account/get-dispenser-account.mjs +20 -16
  22. package/account/get-dispenser-account.mjs.map +1 -1
  23. package/account/mnemonic-account.d.ts +7 -3
  24. package/account/mnemonic-account.js +17 -17
  25. package/account/mnemonic-account.js.map +1 -1
  26. package/account/mnemonic-account.mjs +15 -15
  27. package/account/mnemonic-account.mjs.map +1 -1
  28. package/amount.d.ts +40 -35
  29. package/amount.js +33 -34
  30. package/amount.js.map +1 -1
  31. package/amount.mjs +33 -32
  32. package/amount.mjs.map +1 -1
  33. package/app-client.d.ts +10 -6
  34. package/app-client.js +91 -86
  35. package/app-client.js.map +1 -1
  36. package/app-client.mjs +91 -84
  37. package/app-client.mjs.map +1 -1
  38. package/app-deploy.d.ts +26 -24
  39. package/app-deploy.js +235 -253
  40. package/app-deploy.js.map +1 -1
  41. package/app-deploy.mjs +233 -251
  42. package/app-deploy.mjs.map +1 -1
  43. package/app.d.ts +45 -46
  44. package/app.js +253 -271
  45. package/app.js.map +1 -1
  46. package/app.mjs +249 -267
  47. package/app.mjs.map +1 -1
  48. package/asset.d.ts +16 -12
  49. package/asset.js +116 -122
  50. package/asset.js.map +1 -1
  51. package/asset.mjs +116 -120
  52. package/asset.mjs.map +1 -1
  53. package/config.d.ts +7 -2
  54. package/config.js +5 -7
  55. package/config.js.map +1 -1
  56. package/config.mjs +5 -4
  57. package/config.mjs.map +1 -1
  58. package/debugging/debugging.d.ts +5 -1
  59. package/debugging/debugging.js +11 -11
  60. package/debugging/debugging.js.map +1 -1
  61. package/debugging/debugging.mjs +11 -9
  62. package/debugging/debugging.mjs.map +1 -1
  63. package/dispenser-client.d.ts +7 -2
  64. package/dispenser-client.js +23 -24
  65. package/dispenser-client.js.map +1 -1
  66. package/dispenser-client.mjs +23 -22
  67. package/dispenser-client.mjs.map +1 -1
  68. package/index.d.ts +27 -18
  69. package/index.js +140 -143
  70. package/index.mjs +27 -29
  71. package/indexer-lookup.d.ts +18 -11
  72. package/indexer-lookup.js +112 -120
  73. package/indexer-lookup.js.map +1 -1
  74. package/indexer-lookup.mjs +105 -118
  75. package/indexer-lookup.mjs.map +1 -1
  76. package/localnet/get-kmd-wallet-account.d.ts +9 -7
  77. package/localnet/get-kmd-wallet-account.js +28 -26
  78. package/localnet/get-kmd-wallet-account.js.map +1 -1
  79. package/localnet/get-kmd-wallet-account.mjs +28 -24
  80. package/localnet/get-kmd-wallet-account.mjs.map +1 -1
  81. package/localnet/get-localnet-dispenser-account.d.ts +7 -5
  82. package/localnet/get-localnet-dispenser-account.js +17 -15
  83. package/localnet/get-localnet-dispenser-account.js.map +1 -1
  84. package/localnet/get-localnet-dispenser-account.mjs +17 -13
  85. package/localnet/get-localnet-dispenser-account.mjs.map +1 -1
  86. package/localnet/get-or-create-kmd-wallet-account.d.ts +10 -8
  87. package/localnet/get-or-create-kmd-wallet-account.js +28 -26
  88. package/localnet/get-or-create-kmd-wallet-account.js.map +1 -1
  89. package/localnet/get-or-create-kmd-wallet-account.mjs +28 -24
  90. package/localnet/get-or-create-kmd-wallet-account.mjs.map +1 -1
  91. package/localnet/is-localnet.d.ts +7 -3
  92. package/localnet/is-localnet.js +9 -10
  93. package/localnet/is-localnet.js.map +1 -1
  94. package/localnet/is-localnet.mjs +9 -8
  95. package/localnet/is-localnet.mjs.map +1 -1
  96. package/network-client.d.ts +17 -15
  97. package/network-client.js +115 -116
  98. package/network-client.js.map +1 -1
  99. package/network-client.mjs +115 -114
  100. package/network-client.mjs.map +1 -1
  101. package/package.json +12 -3
  102. package/testing/account.d.ts +11 -9
  103. package/testing/account.js +31 -33
  104. package/testing/account.js.map +1 -1
  105. package/testing/account.mjs +29 -31
  106. package/testing/account.mjs.map +1 -1
  107. package/testing/fixtures/algokit-log-capture-fixture.d.ts +7 -2
  108. package/testing/fixtures/algokit-log-capture-fixture.js +36 -41
  109. package/testing/fixtures/algokit-log-capture-fixture.js.map +1 -1
  110. package/testing/fixtures/algokit-log-capture-fixture.mjs +36 -39
  111. package/testing/fixtures/algokit-log-capture-fixture.mjs.map +1 -1
  112. package/testing/fixtures/algorand-fixture.d.ts +9 -4
  113. package/testing/fixtures/algorand-fixture.js +67 -62
  114. package/testing/fixtures/algorand-fixture.js.map +1 -1
  115. package/testing/fixtures/algorand-fixture.mjs +66 -59
  116. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  117. package/testing/index.d.ts +7 -5
  118. package/testing/index.js +13 -18
  119. package/testing/index.mjs +7 -7
  120. package/testing/indexer.d.ts +5 -1
  121. package/testing/indexer.js +28 -37
  122. package/testing/indexer.js.map +1 -1
  123. package/testing/indexer.mjs +28 -35
  124. package/testing/indexer.mjs.map +1 -1
  125. package/testing/test-logger.d.ts +41 -36
  126. package/testing/test-logger.js +71 -76
  127. package/testing/test-logger.js.map +1 -1
  128. package/testing/test-logger.mjs +71 -74
  129. package/testing/test-logger.mjs.map +1 -1
  130. package/testing/transaction-logger.d.ts +30 -27
  131. package/testing/transaction-logger.js +77 -93
  132. package/testing/transaction-logger.js.map +1 -1
  133. package/testing/transaction-logger.mjs +74 -90
  134. package/testing/transaction-logger.mjs.map +1 -1
  135. package/transaction/legacy-bridge.js +100 -111
  136. package/transaction/legacy-bridge.js.map +1 -1
  137. package/transaction/legacy-bridge.mjs +97 -108
  138. package/transaction/legacy-bridge.mjs.map +1 -1
  139. package/transaction/perform-atomic-transaction-composer-simulate.d.ts +7 -5
  140. package/transaction/perform-atomic-transaction-composer-simulate.js +31 -36
  141. package/transaction/perform-atomic-transaction-composer-simulate.js.map +1 -1
  142. package/transaction/perform-atomic-transaction-composer-simulate.mjs +28 -33
  143. package/transaction/perform-atomic-transaction-composer-simulate.mjs.map +1 -1
  144. package/transaction/transaction.d.ts +34 -35
  145. package/transaction/transaction.js +716 -914
  146. package/transaction/transaction.js.map +1 -1
  147. package/transaction/transaction.mjs +713 -911
  148. package/transaction/transaction.mjs.map +1 -1
  149. package/transfer/transfer-algos.d.ts +9 -5
  150. package/transfer/transfer-algos.js +26 -27
  151. package/transfer/transfer-algos.js.map +1 -1
  152. package/transfer/transfer-algos.mjs +26 -25
  153. package/transfer/transfer-algos.mjs.map +1 -1
  154. package/transfer/transfer.d.ts +11 -8
  155. package/transfer/transfer.js +94 -100
  156. package/transfer/transfer.js.map +1 -1
  157. package/transfer/transfer.mjs +94 -98
  158. package/transfer/transfer.mjs.map +1 -1
  159. package/types/account-manager.d.ts +432 -429
  160. package/types/account-manager.js +591 -602
  161. package/types/account-manager.js.map +1 -1
  162. package/types/account-manager.mjs +587 -599
  163. package/types/account-manager.mjs.map +1 -1
  164. package/types/account.d.ts +192 -202
  165. package/types/account.js +91 -88
  166. package/types/account.js.map +1 -1
  167. package/types/account.mjs +88 -86
  168. package/types/account.mjs.map +1 -1
  169. package/types/algo-http-client-with-retry.d.ts +15 -10
  170. package/types/algo-http-client-with-retry.js +70 -92
  171. package/types/algo-http-client-with-retry.js.map +1 -1
  172. package/types/algo-http-client-with-retry.mjs +69 -90
  173. package/types/algo-http-client-with-retry.mjs.map +1 -1
  174. package/types/algorand-client-transaction-creator.d.ts +778 -771
  175. package/types/algorand-client-transaction-creator.js +733 -732
  176. package/types/algorand-client-transaction-creator.js.map +1 -1
  177. package/types/algorand-client-transaction-creator.mjs +732 -730
  178. package/types/algorand-client-transaction-creator.mjs.map +1 -1
  179. package/types/algorand-client-transaction-sender.d.ts +1090 -1360
  180. package/types/algorand-client-transaction-sender.js +930 -961
  181. package/types/algorand-client-transaction-sender.js.map +1 -1
  182. package/types/algorand-client-transaction-sender.mjs +927 -959
  183. package/types/algorand-client-transaction-sender.mjs.map +1 -1
  184. package/types/algorand-client.d.ts +239 -236
  185. package/types/algorand-client.js +322 -320
  186. package/types/algorand-client.js.map +1 -1
  187. package/types/algorand-client.mjs +321 -318
  188. package/types/algorand-client.mjs.map +1 -1
  189. package/types/amount.d.ts +47 -43
  190. package/types/amount.js +66 -70
  191. package/types/amount.js.map +1 -1
  192. package/types/amount.mjs +63 -68
  193. package/types/amount.mjs.map +1 -1
  194. package/types/app-arc56.d.ts +235 -272
  195. package/types/app-arc56.js +124 -170
  196. package/types/app-arc56.js.map +1 -1
  197. package/types/app-arc56.mjs +121 -168
  198. package/types/app-arc56.mjs.map +1 -1
  199. package/types/app-client.d.ts +1128 -2009
  200. package/types/app-client.js +1633 -1791
  201. package/types/app-client.js.map +1 -1
  202. package/types/app-client.mjs +1624 -1783
  203. package/types/app-client.mjs.map +1 -1
  204. package/types/app-deployer.d.ts +139 -141
  205. package/types/app-deployer.js +344 -384
  206. package/types/app-deployer.js.map +1 -1
  207. package/types/app-deployer.mjs +341 -382
  208. package/types/app-deployer.mjs.map +1 -1
  209. package/types/app-factory.d.ts +762 -932
  210. package/types/app-factory.js +496 -488
  211. package/types/app-factory.js.map +1 -1
  212. package/types/app-factory.mjs +491 -484
  213. package/types/app-factory.mjs.map +1 -1
  214. package/types/app-manager.d.ts +304 -310
  215. package/types/app-manager.js +422 -475
  216. package/types/app-manager.js.map +1 -1
  217. package/types/app-manager.mjs +419 -473
  218. package/types/app-manager.mjs.map +1 -1
  219. package/types/app-spec.d.ts +118 -117
  220. package/types/app-spec.js +125 -135
  221. package/types/app-spec.js.map +1 -1
  222. package/types/app-spec.mjs +121 -132
  223. package/types/app-spec.mjs.map +1 -1
  224. package/types/app.d.ts +229 -241
  225. package/types/app.js +36 -28
  226. package/types/app.js.map +1 -1
  227. package/types/app.mjs +33 -26
  228. package/types/app.mjs.map +1 -1
  229. package/types/asset-manager.d.ts +204 -199
  230. package/types/asset-manager.js +165 -174
  231. package/types/asset-manager.js.map +1 -1
  232. package/types/asset-manager.mjs +164 -172
  233. package/types/asset-manager.mjs.map +1 -1
  234. package/types/asset.d.ts +95 -91
  235. package/types/asset.js +0 -3
  236. package/types/asset.mjs +0 -2
  237. package/types/async-event-emitter.d.ts +18 -13
  238. package/types/async-event-emitter.js +37 -49
  239. package/types/async-event-emitter.js.map +1 -1
  240. package/types/async-event-emitter.mjs +36 -47
  241. package/types/async-event-emitter.mjs.map +1 -1
  242. package/types/client-manager.d.ts +453 -451
  243. package/types/client-manager.js +602 -598
  244. package/types/client-manager.js.map +1 -1
  245. package/types/client-manager.mjs +597 -594
  246. package/types/client-manager.mjs.map +1 -1
  247. package/types/composer.d.ts +1211 -1258
  248. package/types/composer.js +1436 -1498
  249. package/types/composer.js.map +1 -1
  250. package/types/composer.mjs +1430 -1493
  251. package/types/composer.mjs.map +1 -1
  252. package/types/config.d.ts +53 -48
  253. package/types/config.js +78 -77
  254. package/types/config.js.map +1 -1
  255. package/types/config.mjs +77 -75
  256. package/types/config.mjs.map +1 -1
  257. package/types/debugging.d.ts +25 -23
  258. package/types/debugging.js +9 -11
  259. package/types/debugging.js.map +1 -1
  260. package/types/debugging.mjs +8 -9
  261. package/types/debugging.mjs.map +1 -1
  262. package/types/dispenser-client.d.ts +57 -52
  263. package/types/dispenser-client.js +120 -141
  264. package/types/dispenser-client.js.map +1 -1
  265. package/types/dispenser-client.mjs +119 -139
  266. package/types/dispenser-client.mjs.map +1 -1
  267. package/types/expand.d.ts +5 -3
  268. package/types/expand.js +0 -3
  269. package/types/expand.mjs +0 -2
  270. package/types/indexer.d.ts +104 -100
  271. package/types/indexer.js +36 -31
  272. package/types/indexer.js.map +1 -1
  273. package/types/indexer.mjs +32 -30
  274. package/types/indexer.mjs.map +1 -1
  275. package/types/instance-of.d.ts +5 -3
  276. package/types/instance-of.js +0 -3
  277. package/types/instance-of.mjs +0 -2
  278. package/types/kmd-account-manager.d.ts +75 -70
  279. package/types/kmd-account-manager.js +150 -184
  280. package/types/kmd-account-manager.js.map +1 -1
  281. package/types/kmd-account-manager.mjs +147 -182
  282. package/types/kmd-account-manager.mjs.map +1 -1
  283. package/types/lifecycle-events.d.ts +13 -8
  284. package/types/lifecycle-events.js +10 -7
  285. package/types/lifecycle-events.js.map +1 -1
  286. package/types/lifecycle-events.mjs +9 -7
  287. package/types/lifecycle-events.mjs.map +1 -1
  288. package/types/logging.d.ts +15 -11
  289. package/types/logging.js +30 -31
  290. package/types/logging.js.map +1 -1
  291. package/types/logging.mjs +29 -29
  292. package/types/logging.mjs.map +1 -1
  293. package/types/logic-error.d.ts +33 -29
  294. package/types/logic-error.js +50 -49
  295. package/types/logic-error.js.map +1 -1
  296. package/types/logic-error.mjs +49 -47
  297. package/types/logic-error.mjs.map +1 -1
  298. package/types/network-client.d.ts +32 -27
  299. package/types/network-client.js +10 -9
  300. package/types/network-client.js.map +1 -1
  301. package/types/network-client.mjs +9 -7
  302. package/types/network-client.mjs.map +1 -1
  303. package/types/testing.d.ts +131 -132
  304. package/types/testing.js +0 -3
  305. package/types/testing.mjs +0 -2
  306. package/types/transaction.d.ts +110 -110
  307. package/types/transaction.js +0 -3
  308. package/types/transaction.mjs +0 -2
  309. package/types/transfer.d.ts +70 -66
  310. package/types/transfer.js +0 -3
  311. package/types/transfer.mjs +0 -2
  312. package/util.js +73 -118
  313. package/util.js.map +1 -1
  314. package/util.mjs +73 -116
  315. package/util.mjs.map +1 -1
  316. package/account/index.d.ts +0 -5
  317. package/debugging/index.d.ts +0 -1
  318. package/index.js.map +0 -1
  319. package/index.mjs.map +0 -1
  320. package/localnet/index.d.ts +0 -4
  321. package/testing/_asset.d.ts +0 -3
  322. package/testing/fixtures/index.d.ts +0 -2
  323. package/testing/index.js.map +0 -1
  324. package/testing/index.mjs.map +0 -1
  325. package/transaction/index.d.ts +0 -2
  326. package/transaction/legacy-bridge.d.ts +0 -35
  327. package/transfer/index.d.ts +0 -2
  328. package/types/asset.js.map +0 -1
  329. package/types/asset.mjs.map +0 -1
  330. package/types/expand.js.map +0 -1
  331. package/types/expand.mjs.map +0 -1
  332. package/types/instance-of.js.map +0 -1
  333. package/types/instance-of.mjs.map +0 -1
  334. package/types/testing.js.map +0 -1
  335. package/types/testing.mjs.map +0 -1
  336. package/types/transaction.js.map +0 -1
  337. package/types/transaction.mjs.map +0 -1
  338. package/types/transfer.js.map +0 -1
  339. package/types/transfer.mjs.map +0 -1
  340. package/util.d.ts +0 -48
@@ -1,129 +1,118 @@
1
- 'use strict';
2
-
3
- var algosdk = require('algosdk');
4
- var types_algorandClientTransactionCreator = require('../types/algorand-client-transaction-creator.js');
5
- var types_algorandClientTransactionSender = require('../types/algorand-client-transaction-sender.js');
6
- var types_appManager = require('../types/app-manager.js');
7
- var types_assetManager = require('../types/asset-manager.js');
8
- var types_composer = require('../types/composer.js');
9
- var transaction = require('./transaction.js');
10
-
11
- var ABIMethod = algosdk.ABIMethod;
1
+ const require_runtime = require("../_virtual/_rolldown/runtime.js");
2
+ const require_transaction = require("./transaction.js");
3
+ const require_app_manager = require("../types/app-manager.js");
4
+ const require_composer = require("../types/composer.js");
5
+ const require_algorand_client_transaction_creator = require("../types/algorand-client-transaction-creator.js");
6
+ const require_algorand_client_transaction_sender = require("../types/algorand-client-transaction-sender.js");
7
+ const require_asset_manager = require("../types/asset-manager.js");
8
+ let algosdk = require("algosdk");
9
+ algosdk = require_runtime.__toESM(algosdk);
10
+ //#region src/transaction/legacy-bridge.ts
11
+ var ABIMethod = algosdk.default.ABIMethod;
12
12
  /** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */
13
13
  async function legacySendTransactionBridge(algod, from, sendParams, params, txn, send, suggestedParams) {
14
- const appManager = new types_appManager.AppManager(algod);
15
- const newGroup = () => new types_composer.TransactionComposer({
16
- algod,
17
- getSigner: () => transaction.getSenderTransactionSigner(from),
18
- getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),
19
- appManager,
20
- });
21
- const transactionSender = new types_algorandClientTransactionSender.AlgorandClientTransactionSender(newGroup, new types_assetManager.AssetManager(algod, newGroup), appManager);
22
- const transactionCreator = new types_algorandClientTransactionCreator.AlgorandClientTransactionCreator(newGroup);
23
- if (sendParams.fee) {
24
- params.staticFee = sendParams.fee;
25
- }
26
- if (sendParams.maxFee) {
27
- params.maxFee = sendParams.maxFee;
28
- }
29
- if (sendParams.atc || sendParams.skipSending) {
30
- const transaction$1 = await txn(transactionCreator)(params);
31
- const txns = 'transactions' in transaction$1 ? transaction$1.transactions : [transaction$1];
32
- if (sendParams.atc) {
33
- const baseIndex = sendParams.atc.count();
34
- txns
35
- .map((txn, i) => ({
36
- txn,
37
- signer: 'signers' in transaction$1 ? (transaction$1.signers.get(i) ?? transaction.getSenderTransactionSigner(from)) : transaction.getSenderTransactionSigner(from),
38
- }))
39
- .forEach((t) => sendParams.atc.addTransaction(t));
40
- // Populate ATC with method calls
41
- if ('transactions' in transaction$1) {
42
- transaction$1.methodCalls.forEach((m, i) => sendParams.atc['methodCalls'].set(i + baseIndex, m));
43
- }
44
- }
45
- return { transaction: txns.at(-1), transactions: txns };
46
- }
47
- return { ...(await send(transactionSender)({ ...sendParams, ...params })) };
14
+ const appManager = new require_app_manager.AppManager(algod);
15
+ const newGroup = () => new require_composer.TransactionComposer({
16
+ algod,
17
+ getSigner: () => require_transaction.getSenderTransactionSigner(from),
18
+ getSuggestedParams: async () => suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do(),
19
+ appManager
20
+ });
21
+ const transactionSender = new require_algorand_client_transaction_sender.AlgorandClientTransactionSender(newGroup, new require_asset_manager.AssetManager(algod, newGroup), appManager);
22
+ const transactionCreator = new require_algorand_client_transaction_creator.AlgorandClientTransactionCreator(newGroup);
23
+ if (sendParams.fee) params.staticFee = sendParams.fee;
24
+ if (sendParams.maxFee) params.maxFee = sendParams.maxFee;
25
+ if (sendParams.atc || sendParams.skipSending) {
26
+ const transaction = await txn(transactionCreator)(params);
27
+ const txns = "transactions" in transaction ? transaction.transactions : [transaction];
28
+ if (sendParams.atc) {
29
+ const baseIndex = sendParams.atc.count();
30
+ txns.map((txn, i) => ({
31
+ txn,
32
+ signer: "signers" in transaction ? transaction.signers.get(i) ?? require_transaction.getSenderTransactionSigner(from) : require_transaction.getSenderTransactionSigner(from)
33
+ })).forEach((t) => sendParams.atc.addTransaction(t));
34
+ if ("transactions" in transaction) transaction.methodCalls.forEach((m, i) => sendParams.atc["methodCalls"].set(i + baseIndex, m));
35
+ }
36
+ return {
37
+ transaction: txns.at(-1),
38
+ transactions: txns
39
+ };
40
+ }
41
+ return { ...await send(transactionSender)({
42
+ ...sendParams,
43
+ ...params
44
+ }) };
48
45
  }
49
46
  /** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */
50
47
  async function legacySendAppTransactionBridge(algod, from, appArgs, sendParams, params, txn, send, suggestedParams) {
51
- const encoder = new TextEncoder();
52
- const paramsWithAppArgs = {
53
- ...params,
54
- accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),
55
- appReferences: appArgs?.apps?.map((a) => BigInt(a)),
56
- assetReferences: appArgs?.assets?.map((a) => BigInt(a)),
57
- boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name })),
58
- lease: appArgs?.lease,
59
- rekeyTo: appArgs?.rekeyTo ? transaction.getSenderAddress(appArgs?.rekeyTo) : undefined,
60
- args: appArgs
61
- ? 'methodArgs' in appArgs
62
- ? (await _getAppArgsForABICall(appArgs, from)).methodArgs
63
- : appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))
64
- : undefined,
65
- note: transaction.encodeTransactionNote(sendParams?.note),
66
- };
67
- return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams);
48
+ const encoder = new TextEncoder();
49
+ return await legacySendTransactionBridge(algod, from, sendParams, {
50
+ ...params,
51
+ accountReferences: appArgs?.accounts?.map((a) => typeof a === "string" ? a : algosdk.default.encodeAddress(a.publicKey)),
52
+ appReferences: appArgs?.apps?.map((a) => BigInt(a)),
53
+ assetReferences: appArgs?.assets?.map((a) => BigInt(a)),
54
+ boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({
55
+ appId: BigInt(r.appIndex),
56
+ name: r.name
57
+ })),
58
+ lease: appArgs?.lease,
59
+ rekeyTo: appArgs?.rekeyTo ? require_transaction.getSenderAddress(appArgs?.rekeyTo) : void 0,
60
+ args: appArgs ? "methodArgs" in appArgs ? (await _getAppArgsForABICall(appArgs, from)).methodArgs : appArgs?.appArgs?.map((a) => typeof a === "string" ? encoder.encode(a) : a) : void 0,
61
+ note: require_transaction.encodeTransactionNote(sendParams?.note)
62
+ }, txn, send, suggestedParams);
68
63
  }
69
64
  /**
70
- * @deprecated
71
- */
65
+ * @deprecated
66
+ */
72
67
  async function _getAppArgsForABICall(args, from) {
73
- const signer = transaction.getSenderTransactionSigner(from);
74
- const methodArgs = await Promise.all(('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {
75
- if (a === undefined) {
76
- throw new Error(`Argument at position ${index} does not have a value`);
77
- }
78
- if (typeof a !== 'object') {
79
- return a;
80
- }
81
- // Handle the various forms of transactions to wrangle them for ATC
82
- return 'txn' in a
83
- ? a
84
- : a instanceof Promise
85
- ? { txn: (await a).transaction, signer }
86
- : 'transaction' in a
87
- ? { txn: a.transaction, signer: 'signer' in a ? transaction.getSenderTransactionSigner(a.signer) : signer }
88
- : 'txID' in a
89
- ? { txn: a, signer }
90
- : a;
91
- }));
92
- return {
93
- method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),
94
- sender: transaction.getSenderAddress(from),
95
- signer: signer,
96
- boxes: args.boxes?.map(_getBoxReference),
97
- lease: transaction.encodeLease(args.lease),
98
- appForeignApps: args.apps,
99
- appForeignAssets: args.assets,
100
- appAccounts: args.accounts?.map(_getAccountAddress),
101
- methodArgs: methodArgs,
102
- rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : transaction.getSenderAddress(args.rekeyTo)) : undefined,
103
- };
68
+ const signer = require_transaction.getSenderTransactionSigner(from);
69
+ const methodArgs = await Promise.all(("methodArgs" in args ? args.methodArgs : args)?.map(async (a, index) => {
70
+ if (a === void 0) throw new Error(`Argument at position ${index} does not have a value`);
71
+ if (typeof a !== "object") return a;
72
+ return "txn" in a ? a : a instanceof Promise ? {
73
+ txn: (await a).transaction,
74
+ signer
75
+ } : "transaction" in a ? {
76
+ txn: a.transaction,
77
+ signer: "signer" in a ? require_transaction.getSenderTransactionSigner(a.signer) : signer
78
+ } : "txID" in a ? {
79
+ txn: a,
80
+ signer
81
+ } : a;
82
+ }));
83
+ return {
84
+ method: "txnCount" in args.method ? args.method : new ABIMethod(args.method),
85
+ sender: require_transaction.getSenderAddress(from),
86
+ signer,
87
+ boxes: args.boxes?.map(_getBoxReference),
88
+ lease: require_transaction.encodeLease(args.lease),
89
+ appForeignApps: args.apps,
90
+ appForeignAssets: args.assets,
91
+ appAccounts: args.accounts?.map(_getAccountAddress),
92
+ methodArgs,
93
+ rekeyTo: args?.rekeyTo ? typeof args.rekeyTo === "string" ? args.rekeyTo : require_transaction.getSenderAddress(args.rekeyTo) : void 0
94
+ };
104
95
  }
105
96
  function _getAccountAddress(account) {
106
- return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey);
97
+ return typeof account === "string" ? account : algosdk.default.encodeAddress(account.publicKey);
107
98
  }
108
99
  /** @deprecated */
109
100
  function _getBoxReference(box) {
110
- const encoder = new TextEncoder();
111
- if (typeof box === 'object' && 'appIndex' in box) {
112
- return box;
113
- }
114
- const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box };
115
- return {
116
- appIndex: ref.appId,
117
- name: typeof ref.name === 'string'
118
- ? encoder.encode(ref.name)
119
- : 'length' in ref.name
120
- ? ref.name
121
- : algosdk.decodeAddress(transaction.getSenderAddress(ref.name)).publicKey,
122
- };
101
+ const encoder = new TextEncoder();
102
+ if (typeof box === "object" && "appIndex" in box) return box;
103
+ const ref = typeof box === "object" && "appId" in box ? box : {
104
+ appId: 0,
105
+ name: box
106
+ };
107
+ return {
108
+ appIndex: ref.appId,
109
+ name: typeof ref.name === "string" ? encoder.encode(ref.name) : "length" in ref.name ? ref.name : algosdk.default.decodeAddress(require_transaction.getSenderAddress(ref.name)).publicKey
110
+ };
123
111
  }
124
-
112
+ //#endregion
125
113
  exports._getAppArgsForABICall = _getAppArgsForABICall;
126
114
  exports._getBoxReference = _getBoxReference;
127
115
  exports.legacySendAppTransactionBridge = legacySendAppTransactionBridge;
128
116
  exports.legacySendTransactionBridge = legacySendTransactionBridge;
129
- //# sourceMappingURL=legacy-bridge.js.map
117
+
118
+ //# sourceMappingURL=legacy-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-bridge.js","sources":["../../src/transaction/legacy-bridge.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClientTransactionCreator } from '../types/algorand-client-transaction-creator'\nimport { AlgorandClientTransactionSender } from '../types/algorand-client-transaction-sender'\nimport { ABIAppCallArgs, BoxIdentifier as LegacyBoxIdentifier, BoxReference as LegacyBoxReference, RawAppCallArgs } from '../types/app'\nimport { AppManager, BoxReference } from '../types/app-manager'\nimport { AssetManager } from '../types/asset-manager'\nimport {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n BuiltTransactions,\n CommonTransactionParams,\n TransactionComposer,\n} from '../types/composer'\nimport {\n SendParams,\n SendSingleTransactionResult,\n SendTransactionFrom,\n SendTransactionParams,\n SendTransactionResult,\n TransactionNote,\n} from '../types/transaction'\nimport { encodeLease, encodeTransactionNote, getSenderAddress, getSenderTransactionSigner } from './transaction'\nimport Algodv2 = algosdk.Algodv2\nimport Transaction = algosdk.Transaction\nimport ABIMethod = algosdk.ABIMethod\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */\nexport async function legacySendTransactionBridge<T extends CommonTransactionParams, TResult extends SendSingleTransactionResult>(\n algod: Algodv2,\n from: SendTransactionFrom,\n sendParams: SendTransactionParams,\n params: T,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const appManager = new AppManager(algod)\n const newGroup = () =>\n new TransactionComposer({\n algod,\n getSigner: () => getSenderTransactionSigner(from),\n getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),\n appManager,\n })\n const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager)\n const transactionCreator = new AlgorandClientTransactionCreator(newGroup)\n\n if (sendParams.fee) {\n params.staticFee = sendParams.fee\n }\n\n if (sendParams.maxFee) {\n params.maxFee = sendParams.maxFee\n }\n\n if (sendParams.atc || sendParams.skipSending) {\n const transaction = await txn(transactionCreator)(params)\n const txns = 'transactions' in transaction ? transaction.transactions : [transaction]\n if (sendParams.atc) {\n const baseIndex = sendParams.atc.count()\n txns\n .map((txn, i) => ({\n txn,\n signer:\n 'signers' in transaction ? (transaction.signers.get(i) ?? getSenderTransactionSigner(from)) : getSenderTransactionSigner(from),\n }))\n .forEach((t) => sendParams.atc!.addTransaction(t))\n // Populate ATC with method calls\n if ('transactions' in transaction) {\n transaction.methodCalls.forEach((m, i) => sendParams.atc!['methodCalls'].set(i + baseIndex, m))\n }\n }\n return { transaction: txns.at(-1)!, transactions: txns }\n }\n\n return { ...(await send(transactionSender)({ ...sendParams, ...params })) }\n}\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */\nexport async function legacySendAppTransactionBridge<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppDeleteParams\n | AppCallParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppDeleteMethodCall\n | AppCallMethodCall,\n TResult extends SendSingleTransactionResult,\n>(\n algod: Algodv2,\n from: SendTransactionFrom,\n appArgs: RawAppCallArgs | ABIAppCallArgs | undefined,\n sendParams: SendTransactionParams & { note?: TransactionNote },\n params: Omit<T, 'accountReferences' | 'appReferences' | 'assetReferences' | 'boxReferences' | 'args' | 'lease' | 'rekeyTo' | 'note'>,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const encoder = new TextEncoder()\n\n const paramsWithAppArgs = {\n ...params,\n accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),\n appReferences: appArgs?.apps?.map((a) => BigInt(a)),\n assetReferences: appArgs?.assets?.map((a) => BigInt(a)),\n boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name }) satisfies BoxReference),\n lease: appArgs?.lease,\n rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : undefined,\n args: appArgs\n ? 'methodArgs' in appArgs\n ? (await _getAppArgsForABICall(appArgs, from)).methodArgs\n : appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))\n : undefined,\n note: encodeTransactionNote(sendParams?.note),\n } as T\n\n return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams)\n}\n\n/**\n * @deprecated\n */\nexport async function _getAppArgsForABICall(args: ABIAppCallArgs, from: SendTransactionFrom) {\n const signer = getSenderTransactionSigner(from)\n const methodArgs = await Promise.all(\n ('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {\n if (a === undefined) {\n throw new Error(`Argument at position ${index} does not have a value`)\n }\n if (typeof a !== 'object') {\n return a\n }\n // Handle the various forms of transactions to wrangle them for ATC\n return 'txn' in a\n ? a\n : a instanceof Promise\n ? { txn: (await a).transaction, signer }\n : 'transaction' in a\n ? { txn: a.transaction, signer: 'signer' in a ? getSenderTransactionSigner(a.signer) : signer }\n : 'txID' in a\n ? { txn: a, signer }\n : a\n }),\n )\n return {\n method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),\n sender: getSenderAddress(from),\n signer: signer,\n boxes: args.boxes?.map(_getBoxReference),\n lease: encodeLease(args.lease),\n appForeignApps: args.apps,\n appForeignAssets: args.assets,\n appAccounts: args.accounts?.map(_getAccountAddress),\n methodArgs: methodArgs,\n rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : getSenderAddress(args.rekeyTo)) : undefined,\n }\n}\n\nfunction _getAccountAddress(account: string | algosdk.Address) {\n return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey)\n}\n\n/** @deprecated */\nexport function _getBoxReference(box: LegacyBoxIdentifier | LegacyBoxReference | algosdk.BoxReference): algosdk.BoxReference {\n const encoder = new TextEncoder()\n\n if (typeof box === 'object' && 'appIndex' in box) {\n return box\n }\n\n const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box }\n return {\n appIndex: ref.appId,\n name:\n typeof ref.name === 'string'\n ? encoder.encode(ref.name)\n : 'length' in ref.name\n ? ref.name\n : algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey,\n } as algosdk.BoxReference\n}\n"],"names":["AppManager","TransactionComposer","getSenderTransactionSigner","AlgorandClientTransactionSender","AssetManager","AlgorandClientTransactionCreator","transaction","getSenderAddress","encodeTransactionNote","encodeLease"],"mappings":"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"}
1
+ {"version":3,"file":"legacy-bridge.js","names":["AppManager","TransactionComposer","getSenderTransactionSigner","AlgorandClientTransactionSender","AssetManager","AlgorandClientTransactionCreator","getSenderAddress","encodeTransactionNote","encodeLease"],"sources":["../../src/transaction/legacy-bridge.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClientTransactionCreator } from '../types/algorand-client-transaction-creator'\nimport { AlgorandClientTransactionSender } from '../types/algorand-client-transaction-sender'\nimport { ABIAppCallArgs, BoxIdentifier as LegacyBoxIdentifier, BoxReference as LegacyBoxReference, RawAppCallArgs } from '../types/app'\nimport { AppManager, BoxReference } from '../types/app-manager'\nimport { AssetManager } from '../types/asset-manager'\nimport {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n BuiltTransactions,\n CommonTransactionParams,\n TransactionComposer,\n} from '../types/composer'\nimport {\n SendParams,\n SendSingleTransactionResult,\n SendTransactionFrom,\n SendTransactionParams,\n SendTransactionResult,\n TransactionNote,\n} from '../types/transaction'\nimport { encodeLease, encodeTransactionNote, getSenderAddress, getSenderTransactionSigner } from './transaction'\nimport Algodv2 = algosdk.Algodv2\nimport Transaction = algosdk.Transaction\nimport ABIMethod = algosdk.ABIMethod\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */\nexport async function legacySendTransactionBridge<T extends CommonTransactionParams, TResult extends SendSingleTransactionResult>(\n algod: Algodv2,\n from: SendTransactionFrom,\n sendParams: SendTransactionParams,\n params: T,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const appManager = new AppManager(algod)\n const newGroup = () =>\n new TransactionComposer({\n algod,\n getSigner: () => getSenderTransactionSigner(from),\n getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),\n appManager,\n })\n const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager)\n const transactionCreator = new AlgorandClientTransactionCreator(newGroup)\n\n if (sendParams.fee) {\n params.staticFee = sendParams.fee\n }\n\n if (sendParams.maxFee) {\n params.maxFee = sendParams.maxFee\n }\n\n if (sendParams.atc || sendParams.skipSending) {\n const transaction = await txn(transactionCreator)(params)\n const txns = 'transactions' in transaction ? transaction.transactions : [transaction]\n if (sendParams.atc) {\n const baseIndex = sendParams.atc.count()\n txns\n .map((txn, i) => ({\n txn,\n signer:\n 'signers' in transaction ? (transaction.signers.get(i) ?? getSenderTransactionSigner(from)) : getSenderTransactionSigner(from),\n }))\n .forEach((t) => sendParams.atc!.addTransaction(t))\n // Populate ATC with method calls\n if ('transactions' in transaction) {\n transaction.methodCalls.forEach((m, i) => sendParams.atc!['methodCalls'].set(i + baseIndex, m))\n }\n }\n return { transaction: txns.at(-1)!, transactions: txns }\n }\n\n return { ...(await send(transactionSender)({ ...sendParams, ...params })) }\n}\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */\nexport async function legacySendAppTransactionBridge<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppDeleteParams\n | AppCallParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppDeleteMethodCall\n | AppCallMethodCall,\n TResult extends SendSingleTransactionResult,\n>(\n algod: Algodv2,\n from: SendTransactionFrom,\n appArgs: RawAppCallArgs | ABIAppCallArgs | undefined,\n sendParams: SendTransactionParams & { note?: TransactionNote },\n params: Omit<T, 'accountReferences' | 'appReferences' | 'assetReferences' | 'boxReferences' | 'args' | 'lease' | 'rekeyTo' | 'note'>,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const encoder = new TextEncoder()\n\n const paramsWithAppArgs = {\n ...params,\n accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),\n appReferences: appArgs?.apps?.map((a) => BigInt(a)),\n assetReferences: appArgs?.assets?.map((a) => BigInt(a)),\n boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name }) satisfies BoxReference),\n lease: appArgs?.lease,\n rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : undefined,\n args: appArgs\n ? 'methodArgs' in appArgs\n ? (await _getAppArgsForABICall(appArgs, from)).methodArgs\n : appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))\n : undefined,\n note: encodeTransactionNote(sendParams?.note),\n } as T\n\n return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams)\n}\n\n/**\n * @deprecated\n */\nexport async function _getAppArgsForABICall(args: ABIAppCallArgs, from: SendTransactionFrom) {\n const signer = getSenderTransactionSigner(from)\n const methodArgs = await Promise.all(\n ('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {\n if (a === undefined) {\n throw new Error(`Argument at position ${index} does not have a value`)\n }\n if (typeof a !== 'object') {\n return a\n }\n // Handle the various forms of transactions to wrangle them for ATC\n return 'txn' in a\n ? a\n : a instanceof Promise\n ? { txn: (await a).transaction, signer }\n : 'transaction' in a\n ? { txn: a.transaction, signer: 'signer' in a ? getSenderTransactionSigner(a.signer) : signer }\n : 'txID' in a\n ? { txn: a, signer }\n : a\n }),\n )\n return {\n method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),\n sender: getSenderAddress(from),\n signer: signer,\n boxes: args.boxes?.map(_getBoxReference),\n lease: encodeLease(args.lease),\n appForeignApps: args.apps,\n appForeignAssets: args.assets,\n appAccounts: args.accounts?.map(_getAccountAddress),\n methodArgs: methodArgs,\n rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : getSenderAddress(args.rekeyTo)) : undefined,\n }\n}\n\nfunction _getAccountAddress(account: string | algosdk.Address) {\n return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey)\n}\n\n/** @deprecated */\nexport function _getBoxReference(box: LegacyBoxIdentifier | LegacyBoxReference | algosdk.BoxReference): algosdk.BoxReference {\n const encoder = new TextEncoder()\n\n if (typeof box === 'object' && 'appIndex' in box) {\n return box\n }\n\n const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box }\n return {\n appIndex: ref.appId,\n name:\n typeof ref.name === 'string'\n ? encoder.encode(ref.name)\n : 'length' in ref.name\n ? ref.name\n : algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey,\n } as algosdk.BoxReference\n}\n"],"mappings":"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"}
@@ -1,124 +1,113 @@
1
- import algosdk from 'algosdk';
2
- import { AlgorandClientTransactionCreator } from '../types/algorand-client-transaction-creator.mjs';
3
- import { AlgorandClientTransactionSender } from '../types/algorand-client-transaction-sender.mjs';
4
- import { AppManager } from '../types/app-manager.mjs';
5
- import { AssetManager } from '../types/asset-manager.mjs';
6
- import { TransactionComposer } from '../types/composer.mjs';
7
- import { encodeTransactionNote, getSenderAddress, getSenderTransactionSigner, encodeLease } from './transaction.mjs';
8
-
1
+ import { encodeLease, encodeTransactionNote, getSenderAddress, getSenderTransactionSigner } from "./transaction.mjs";
2
+ import { AppManager } from "../types/app-manager.mjs";
3
+ import { TransactionComposer } from "../types/composer.mjs";
4
+ import { AlgorandClientTransactionCreator } from "../types/algorand-client-transaction-creator.mjs";
5
+ import { AlgorandClientTransactionSender } from "../types/algorand-client-transaction-sender.mjs";
6
+ import { AssetManager } from "../types/asset-manager.mjs";
7
+ import algosdk from "algosdk";
8
+ //#region src/transaction/legacy-bridge.ts
9
9
  var ABIMethod = algosdk.ABIMethod;
10
10
  /** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */
11
11
  async function legacySendTransactionBridge(algod, from, sendParams, params, txn, send, suggestedParams) {
12
- const appManager = new AppManager(algod);
13
- const newGroup = () => new TransactionComposer({
14
- algod,
15
- getSigner: () => getSenderTransactionSigner(from),
16
- getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),
17
- appManager,
18
- });
19
- const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager);
20
- const transactionCreator = new AlgorandClientTransactionCreator(newGroup);
21
- if (sendParams.fee) {
22
- params.staticFee = sendParams.fee;
23
- }
24
- if (sendParams.maxFee) {
25
- params.maxFee = sendParams.maxFee;
26
- }
27
- if (sendParams.atc || sendParams.skipSending) {
28
- const transaction = await txn(transactionCreator)(params);
29
- const txns = 'transactions' in transaction ? transaction.transactions : [transaction];
30
- if (sendParams.atc) {
31
- const baseIndex = sendParams.atc.count();
32
- txns
33
- .map((txn, i) => ({
34
- txn,
35
- signer: 'signers' in transaction ? (transaction.signers.get(i) ?? getSenderTransactionSigner(from)) : getSenderTransactionSigner(from),
36
- }))
37
- .forEach((t) => sendParams.atc.addTransaction(t));
38
- // Populate ATC with method calls
39
- if ('transactions' in transaction) {
40
- transaction.methodCalls.forEach((m, i) => sendParams.atc['methodCalls'].set(i + baseIndex, m));
41
- }
42
- }
43
- return { transaction: txns.at(-1), transactions: txns };
44
- }
45
- return { ...(await send(transactionSender)({ ...sendParams, ...params })) };
12
+ const appManager = new AppManager(algod);
13
+ const newGroup = () => new TransactionComposer({
14
+ algod,
15
+ getSigner: () => getSenderTransactionSigner(from),
16
+ getSuggestedParams: async () => suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do(),
17
+ appManager
18
+ });
19
+ const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager);
20
+ const transactionCreator = new AlgorandClientTransactionCreator(newGroup);
21
+ if (sendParams.fee) params.staticFee = sendParams.fee;
22
+ if (sendParams.maxFee) params.maxFee = sendParams.maxFee;
23
+ if (sendParams.atc || sendParams.skipSending) {
24
+ const transaction = await txn(transactionCreator)(params);
25
+ const txns = "transactions" in transaction ? transaction.transactions : [transaction];
26
+ if (sendParams.atc) {
27
+ const baseIndex = sendParams.atc.count();
28
+ txns.map((txn, i) => ({
29
+ txn,
30
+ signer: "signers" in transaction ? transaction.signers.get(i) ?? getSenderTransactionSigner(from) : getSenderTransactionSigner(from)
31
+ })).forEach((t) => sendParams.atc.addTransaction(t));
32
+ if ("transactions" in transaction) transaction.methodCalls.forEach((m, i) => sendParams.atc["methodCalls"].set(i + baseIndex, m));
33
+ }
34
+ return {
35
+ transaction: txns.at(-1),
36
+ transactions: txns
37
+ };
38
+ }
39
+ return { ...await send(transactionSender)({
40
+ ...sendParams,
41
+ ...params
42
+ }) };
46
43
  }
47
44
  /** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */
48
45
  async function legacySendAppTransactionBridge(algod, from, appArgs, sendParams, params, txn, send, suggestedParams) {
49
- const encoder = new TextEncoder();
50
- const paramsWithAppArgs = {
51
- ...params,
52
- accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),
53
- appReferences: appArgs?.apps?.map((a) => BigInt(a)),
54
- assetReferences: appArgs?.assets?.map((a) => BigInt(a)),
55
- boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name })),
56
- lease: appArgs?.lease,
57
- rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : undefined,
58
- args: appArgs
59
- ? 'methodArgs' in appArgs
60
- ? (await _getAppArgsForABICall(appArgs, from)).methodArgs
61
- : appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))
62
- : undefined,
63
- note: encodeTransactionNote(sendParams?.note),
64
- };
65
- return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams);
46
+ const encoder = new TextEncoder();
47
+ return await legacySendTransactionBridge(algod, from, sendParams, {
48
+ ...params,
49
+ accountReferences: appArgs?.accounts?.map((a) => typeof a === "string" ? a : algosdk.encodeAddress(a.publicKey)),
50
+ appReferences: appArgs?.apps?.map((a) => BigInt(a)),
51
+ assetReferences: appArgs?.assets?.map((a) => BigInt(a)),
52
+ boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({
53
+ appId: BigInt(r.appIndex),
54
+ name: r.name
55
+ })),
56
+ lease: appArgs?.lease,
57
+ rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : void 0,
58
+ args: appArgs ? "methodArgs" in appArgs ? (await _getAppArgsForABICall(appArgs, from)).methodArgs : appArgs?.appArgs?.map((a) => typeof a === "string" ? encoder.encode(a) : a) : void 0,
59
+ note: encodeTransactionNote(sendParams?.note)
60
+ }, txn, send, suggestedParams);
66
61
  }
67
62
  /**
68
- * @deprecated
69
- */
63
+ * @deprecated
64
+ */
70
65
  async function _getAppArgsForABICall(args, from) {
71
- const signer = getSenderTransactionSigner(from);
72
- const methodArgs = await Promise.all(('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {
73
- if (a === undefined) {
74
- throw new Error(`Argument at position ${index} does not have a value`);
75
- }
76
- if (typeof a !== 'object') {
77
- return a;
78
- }
79
- // Handle the various forms of transactions to wrangle them for ATC
80
- return 'txn' in a
81
- ? a
82
- : a instanceof Promise
83
- ? { txn: (await a).transaction, signer }
84
- : 'transaction' in a
85
- ? { txn: a.transaction, signer: 'signer' in a ? getSenderTransactionSigner(a.signer) : signer }
86
- : 'txID' in a
87
- ? { txn: a, signer }
88
- : a;
89
- }));
90
- return {
91
- method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),
92
- sender: getSenderAddress(from),
93
- signer: signer,
94
- boxes: args.boxes?.map(_getBoxReference),
95
- lease: encodeLease(args.lease),
96
- appForeignApps: args.apps,
97
- appForeignAssets: args.assets,
98
- appAccounts: args.accounts?.map(_getAccountAddress),
99
- methodArgs: methodArgs,
100
- rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : getSenderAddress(args.rekeyTo)) : undefined,
101
- };
66
+ const signer = getSenderTransactionSigner(from);
67
+ const methodArgs = await Promise.all(("methodArgs" in args ? args.methodArgs : args)?.map(async (a, index) => {
68
+ if (a === void 0) throw new Error(`Argument at position ${index} does not have a value`);
69
+ if (typeof a !== "object") return a;
70
+ return "txn" in a ? a : a instanceof Promise ? {
71
+ txn: (await a).transaction,
72
+ signer
73
+ } : "transaction" in a ? {
74
+ txn: a.transaction,
75
+ signer: "signer" in a ? getSenderTransactionSigner(a.signer) : signer
76
+ } : "txID" in a ? {
77
+ txn: a,
78
+ signer
79
+ } : a;
80
+ }));
81
+ return {
82
+ method: "txnCount" in args.method ? args.method : new ABIMethod(args.method),
83
+ sender: getSenderAddress(from),
84
+ signer,
85
+ boxes: args.boxes?.map(_getBoxReference),
86
+ lease: encodeLease(args.lease),
87
+ appForeignApps: args.apps,
88
+ appForeignAssets: args.assets,
89
+ appAccounts: args.accounts?.map(_getAccountAddress),
90
+ methodArgs,
91
+ rekeyTo: args?.rekeyTo ? typeof args.rekeyTo === "string" ? args.rekeyTo : getSenderAddress(args.rekeyTo) : void 0
92
+ };
102
93
  }
103
94
  function _getAccountAddress(account) {
104
- return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey);
95
+ return typeof account === "string" ? account : algosdk.encodeAddress(account.publicKey);
105
96
  }
106
97
  /** @deprecated */
107
98
  function _getBoxReference(box) {
108
- const encoder = new TextEncoder();
109
- if (typeof box === 'object' && 'appIndex' in box) {
110
- return box;
111
- }
112
- const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box };
113
- return {
114
- appIndex: ref.appId,
115
- name: typeof ref.name === 'string'
116
- ? encoder.encode(ref.name)
117
- : 'length' in ref.name
118
- ? ref.name
119
- : algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey,
120
- };
99
+ const encoder = new TextEncoder();
100
+ if (typeof box === "object" && "appIndex" in box) return box;
101
+ const ref = typeof box === "object" && "appId" in box ? box : {
102
+ appId: 0,
103
+ name: box
104
+ };
105
+ return {
106
+ appIndex: ref.appId,
107
+ name: typeof ref.name === "string" ? encoder.encode(ref.name) : "length" in ref.name ? ref.name : algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey
108
+ };
121
109
  }
122
-
110
+ //#endregion
123
111
  export { _getAppArgsForABICall, _getBoxReference, legacySendAppTransactionBridge, legacySendTransactionBridge };
124
- //# sourceMappingURL=legacy-bridge.mjs.map
112
+
113
+ //# sourceMappingURL=legacy-bridge.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-bridge.mjs","sources":["../../src/transaction/legacy-bridge.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClientTransactionCreator } from '../types/algorand-client-transaction-creator'\nimport { AlgorandClientTransactionSender } from '../types/algorand-client-transaction-sender'\nimport { ABIAppCallArgs, BoxIdentifier as LegacyBoxIdentifier, BoxReference as LegacyBoxReference, RawAppCallArgs } from '../types/app'\nimport { AppManager, BoxReference } from '../types/app-manager'\nimport { AssetManager } from '../types/asset-manager'\nimport {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n BuiltTransactions,\n CommonTransactionParams,\n TransactionComposer,\n} from '../types/composer'\nimport {\n SendParams,\n SendSingleTransactionResult,\n SendTransactionFrom,\n SendTransactionParams,\n SendTransactionResult,\n TransactionNote,\n} from '../types/transaction'\nimport { encodeLease, encodeTransactionNote, getSenderAddress, getSenderTransactionSigner } from './transaction'\nimport Algodv2 = algosdk.Algodv2\nimport Transaction = algosdk.Transaction\nimport ABIMethod = algosdk.ABIMethod\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */\nexport async function legacySendTransactionBridge<T extends CommonTransactionParams, TResult extends SendSingleTransactionResult>(\n algod: Algodv2,\n from: SendTransactionFrom,\n sendParams: SendTransactionParams,\n params: T,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const appManager = new AppManager(algod)\n const newGroup = () =>\n new TransactionComposer({\n algod,\n getSigner: () => getSenderTransactionSigner(from),\n getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),\n appManager,\n })\n const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager)\n const transactionCreator = new AlgorandClientTransactionCreator(newGroup)\n\n if (sendParams.fee) {\n params.staticFee = sendParams.fee\n }\n\n if (sendParams.maxFee) {\n params.maxFee = sendParams.maxFee\n }\n\n if (sendParams.atc || sendParams.skipSending) {\n const transaction = await txn(transactionCreator)(params)\n const txns = 'transactions' in transaction ? transaction.transactions : [transaction]\n if (sendParams.atc) {\n const baseIndex = sendParams.atc.count()\n txns\n .map((txn, i) => ({\n txn,\n signer:\n 'signers' in transaction ? (transaction.signers.get(i) ?? getSenderTransactionSigner(from)) : getSenderTransactionSigner(from),\n }))\n .forEach((t) => sendParams.atc!.addTransaction(t))\n // Populate ATC with method calls\n if ('transactions' in transaction) {\n transaction.methodCalls.forEach((m, i) => sendParams.atc!['methodCalls'].set(i + baseIndex, m))\n }\n }\n return { transaction: txns.at(-1)!, transactions: txns }\n }\n\n return { ...(await send(transactionSender)({ ...sendParams, ...params })) }\n}\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */\nexport async function legacySendAppTransactionBridge<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppDeleteParams\n | AppCallParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppDeleteMethodCall\n | AppCallMethodCall,\n TResult extends SendSingleTransactionResult,\n>(\n algod: Algodv2,\n from: SendTransactionFrom,\n appArgs: RawAppCallArgs | ABIAppCallArgs | undefined,\n sendParams: SendTransactionParams & { note?: TransactionNote },\n params: Omit<T, 'accountReferences' | 'appReferences' | 'assetReferences' | 'boxReferences' | 'args' | 'lease' | 'rekeyTo' | 'note'>,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const encoder = new TextEncoder()\n\n const paramsWithAppArgs = {\n ...params,\n accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),\n appReferences: appArgs?.apps?.map((a) => BigInt(a)),\n assetReferences: appArgs?.assets?.map((a) => BigInt(a)),\n boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name }) satisfies BoxReference),\n lease: appArgs?.lease,\n rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : undefined,\n args: appArgs\n ? 'methodArgs' in appArgs\n ? (await _getAppArgsForABICall(appArgs, from)).methodArgs\n : appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))\n : undefined,\n note: encodeTransactionNote(sendParams?.note),\n } as T\n\n return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams)\n}\n\n/**\n * @deprecated\n */\nexport async function _getAppArgsForABICall(args: ABIAppCallArgs, from: SendTransactionFrom) {\n const signer = getSenderTransactionSigner(from)\n const methodArgs = await Promise.all(\n ('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {\n if (a === undefined) {\n throw new Error(`Argument at position ${index} does not have a value`)\n }\n if (typeof a !== 'object') {\n return a\n }\n // Handle the various forms of transactions to wrangle them for ATC\n return 'txn' in a\n ? a\n : a instanceof Promise\n ? { txn: (await a).transaction, signer }\n : 'transaction' in a\n ? { txn: a.transaction, signer: 'signer' in a ? getSenderTransactionSigner(a.signer) : signer }\n : 'txID' in a\n ? { txn: a, signer }\n : a\n }),\n )\n return {\n method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),\n sender: getSenderAddress(from),\n signer: signer,\n boxes: args.boxes?.map(_getBoxReference),\n lease: encodeLease(args.lease),\n appForeignApps: args.apps,\n appForeignAssets: args.assets,\n appAccounts: args.accounts?.map(_getAccountAddress),\n methodArgs: methodArgs,\n rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : getSenderAddress(args.rekeyTo)) : undefined,\n }\n}\n\nfunction _getAccountAddress(account: string | algosdk.Address) {\n return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey)\n}\n\n/** @deprecated */\nexport function _getBoxReference(box: LegacyBoxIdentifier | LegacyBoxReference | algosdk.BoxReference): algosdk.BoxReference {\n const encoder = new TextEncoder()\n\n if (typeof box === 'object' && 'appIndex' in box) {\n return box\n }\n\n const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box }\n return {\n appIndex: ref.appId,\n name:\n typeof ref.name === 'string'\n ? encoder.encode(ref.name)\n : 'length' in ref.name\n ? ref.name\n : algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey,\n } as algosdk.BoxReference\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legacy-bridge.mjs","names":[],"sources":["../../src/transaction/legacy-bridge.ts"],"sourcesContent":["import algosdk from 'algosdk'\nimport { AlgorandClientTransactionCreator } from '../types/algorand-client-transaction-creator'\nimport { AlgorandClientTransactionSender } from '../types/algorand-client-transaction-sender'\nimport { ABIAppCallArgs, BoxIdentifier as LegacyBoxIdentifier, BoxReference as LegacyBoxReference, RawAppCallArgs } from '../types/app'\nimport { AppManager, BoxReference } from '../types/app-manager'\nimport { AssetManager } from '../types/asset-manager'\nimport {\n AppCallMethodCall,\n AppCallParams,\n AppCreateMethodCall,\n AppCreateParams,\n AppDeleteMethodCall,\n AppDeleteParams,\n AppUpdateMethodCall,\n AppUpdateParams,\n BuiltTransactions,\n CommonTransactionParams,\n TransactionComposer,\n} from '../types/composer'\nimport {\n SendParams,\n SendSingleTransactionResult,\n SendTransactionFrom,\n SendTransactionParams,\n SendTransactionResult,\n TransactionNote,\n} from '../types/transaction'\nimport { encodeLease, encodeTransactionNote, getSenderAddress, getSenderTransactionSigner } from './transaction'\nimport Algodv2 = algosdk.Algodv2\nimport Transaction = algosdk.Transaction\nimport ABIMethod = algosdk.ABIMethod\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour and new `AlgorandClient` behaviour. */\nexport async function legacySendTransactionBridge<T extends CommonTransactionParams, TResult extends SendSingleTransactionResult>(\n algod: Algodv2,\n from: SendTransactionFrom,\n sendParams: SendTransactionParams,\n params: T,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const appManager = new AppManager(algod)\n const newGroup = () =>\n new TransactionComposer({\n algod,\n getSigner: () => getSenderTransactionSigner(from),\n getSuggestedParams: async () => (suggestedParams ? { ...suggestedParams } : await algod.getTransactionParams().do()),\n appManager,\n })\n const transactionSender = new AlgorandClientTransactionSender(newGroup, new AssetManager(algod, newGroup), appManager)\n const transactionCreator = new AlgorandClientTransactionCreator(newGroup)\n\n if (sendParams.fee) {\n params.staticFee = sendParams.fee\n }\n\n if (sendParams.maxFee) {\n params.maxFee = sendParams.maxFee\n }\n\n if (sendParams.atc || sendParams.skipSending) {\n const transaction = await txn(transactionCreator)(params)\n const txns = 'transactions' in transaction ? transaction.transactions : [transaction]\n if (sendParams.atc) {\n const baseIndex = sendParams.atc.count()\n txns\n .map((txn, i) => ({\n txn,\n signer:\n 'signers' in transaction ? (transaction.signers.get(i) ?? getSenderTransactionSigner(from)) : getSenderTransactionSigner(from),\n }))\n .forEach((t) => sendParams.atc!.addTransaction(t))\n // Populate ATC with method calls\n if ('transactions' in transaction) {\n transaction.methodCalls.forEach((m, i) => sendParams.atc!['methodCalls'].set(i + baseIndex, m))\n }\n }\n return { transaction: txns.at(-1)!, transactions: txns }\n }\n\n return { ...(await send(transactionSender)({ ...sendParams, ...params })) }\n}\n\n/** @deprecated Bridges between legacy `sendTransaction` behaviour for app transactions and new `AlgorandClient` behaviour. */\nexport async function legacySendAppTransactionBridge<\n T extends\n | AppCreateParams\n | AppUpdateParams\n | AppDeleteParams\n | AppCallParams\n | AppCreateMethodCall\n | AppUpdateMethodCall\n | AppDeleteMethodCall\n | AppCallMethodCall,\n TResult extends SendSingleTransactionResult,\n>(\n algod: Algodv2,\n from: SendTransactionFrom,\n appArgs: RawAppCallArgs | ABIAppCallArgs | undefined,\n sendParams: SendTransactionParams & { note?: TransactionNote },\n params: Omit<T, 'accountReferences' | 'appReferences' | 'assetReferences' | 'boxReferences' | 'args' | 'lease' | 'rekeyTo' | 'note'>,\n txn:\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<Transaction>)\n | ((c: AlgorandClientTransactionCreator) => (params: T) => Promise<BuiltTransactions>),\n send: (c: AlgorandClientTransactionSender) => (params: T & SendParams) => Promise<TResult>,\n suggestedParams?: algosdk.SuggestedParams,\n): Promise<(SendTransactionResult | TResult) & { transactions: Transaction[] }> {\n const encoder = new TextEncoder()\n\n const paramsWithAppArgs = {\n ...params,\n accountReferences: appArgs?.accounts?.map((a) => (typeof a === 'string' ? a : algosdk.encodeAddress(a.publicKey))),\n appReferences: appArgs?.apps?.map((a) => BigInt(a)),\n assetReferences: appArgs?.assets?.map((a) => BigInt(a)),\n boxReferences: appArgs?.boxes?.map(_getBoxReference)?.map((r) => ({ appId: BigInt(r.appIndex), name: r.name }) satisfies BoxReference),\n lease: appArgs?.lease,\n rekeyTo: appArgs?.rekeyTo ? getSenderAddress(appArgs?.rekeyTo) : undefined,\n args: appArgs\n ? 'methodArgs' in appArgs\n ? (await _getAppArgsForABICall(appArgs, from)).methodArgs\n : appArgs?.appArgs?.map((a) => (typeof a === 'string' ? encoder.encode(a) : a))\n : undefined,\n note: encodeTransactionNote(sendParams?.note),\n } as T\n\n return await legacySendTransactionBridge(algod, from, sendParams, paramsWithAppArgs, txn, send, suggestedParams)\n}\n\n/**\n * @deprecated\n */\nexport async function _getAppArgsForABICall(args: ABIAppCallArgs, from: SendTransactionFrom) {\n const signer = getSenderTransactionSigner(from)\n const methodArgs = await Promise.all(\n ('methodArgs' in args ? args.methodArgs : args)?.map(async (a, index) => {\n if (a === undefined) {\n throw new Error(`Argument at position ${index} does not have a value`)\n }\n if (typeof a !== 'object') {\n return a\n }\n // Handle the various forms of transactions to wrangle them for ATC\n return 'txn' in a\n ? a\n : a instanceof Promise\n ? { txn: (await a).transaction, signer }\n : 'transaction' in a\n ? { txn: a.transaction, signer: 'signer' in a ? getSenderTransactionSigner(a.signer) : signer }\n : 'txID' in a\n ? { txn: a, signer }\n : a\n }),\n )\n return {\n method: 'txnCount' in args.method ? args.method : new ABIMethod(args.method),\n sender: getSenderAddress(from),\n signer: signer,\n boxes: args.boxes?.map(_getBoxReference),\n lease: encodeLease(args.lease),\n appForeignApps: args.apps,\n appForeignAssets: args.assets,\n appAccounts: args.accounts?.map(_getAccountAddress),\n methodArgs: methodArgs,\n rekeyTo: args?.rekeyTo ? (typeof args.rekeyTo === 'string' ? args.rekeyTo : getSenderAddress(args.rekeyTo)) : undefined,\n }\n}\n\nfunction _getAccountAddress(account: string | algosdk.Address) {\n return typeof account === 'string' ? account : algosdk.encodeAddress(account.publicKey)\n}\n\n/** @deprecated */\nexport function _getBoxReference(box: LegacyBoxIdentifier | LegacyBoxReference | algosdk.BoxReference): algosdk.BoxReference {\n const encoder = new TextEncoder()\n\n if (typeof box === 'object' && 'appIndex' in box) {\n return box\n }\n\n const ref = typeof box === 'object' && 'appId' in box ? box : { appId: 0, name: box }\n return {\n appIndex: ref.appId,\n name:\n typeof ref.name === 'string'\n ? encoder.encode(ref.name)\n : 'length' in ref.name\n ? ref.name\n : algosdk.decodeAddress(getSenderAddress(ref.name)).publicKey,\n } as algosdk.BoxReference\n}\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import algosdk from 'algosdk';
2
- import Algodv2 = algosdk.Algodv2;
3
- import AtomicTransactionComposer = algosdk.AtomicTransactionComposer;
4
- import modelsv2 = algosdk.modelsv2;
1
+ import algosdk from "algosdk";
2
+
3
+ //#region src/transaction/perform-atomic-transaction-composer-simulate.d.ts
5
4
  /**
6
5
  * Performs a simulation of the transactions loaded into the given AtomicTransactionComposer.
7
6
  * Uses empty transaction signers for all transactions.
@@ -10,4 +9,7 @@ import modelsv2 = algosdk.modelsv2;
10
9
  * @param algod An Algod client to perform the simulation.
11
10
  * @returns The simulation result, which includes various details about how the transactions would be processed.
12
11
  */
13
- export declare function performAtomicTransactionComposerSimulate(atc: AtomicTransactionComposer, algod: Algodv2, options?: Omit<ConstructorParameters<typeof modelsv2.SimulateRequest>[0], 'txnGroups'>): Promise<algosdk.modelsv2.SimulateResponse>;
12
+ declare function performAtomicTransactionComposerSimulate(atc: AtomicTransactionComposer, algod: Algodv2, options?: Omit<ConstructorParameters<typeof modelsv2.SimulateRequest>[0], 'txnGroups'>): Promise<algosdk.modelsv2.SimulateResponse>;
13
+ //#endregion
14
+ export { performAtomicTransactionComposerSimulate };
15
+ //# sourceMappingURL=perform-atomic-transaction-composer-simulate.d.ts.map