@algorandfoundation/algokit-utils 6.2.1 → 6.3.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/account/account.d.ts +13 -5
  2. package/account/account.d.ts.map +1 -1
  3. package/account/account.js +26 -6
  4. package/account/account.js.map +1 -1
  5. package/account/account.mjs +26 -6
  6. package/account/account.mjs.map +1 -1
  7. package/account/get-account.d.ts +4 -4
  8. package/account/get-account.js +2 -2
  9. package/account/get-account.mjs +2 -2
  10. package/amount.d.ts +28 -6
  11. package/amount.d.ts.map +1 -1
  12. package/amount.js +31 -11
  13. package/amount.js.map +1 -1
  14. package/amount.mjs +30 -12
  15. package/amount.mjs.map +1 -1
  16. package/asset.d.ts +10 -0
  17. package/asset.d.ts.map +1 -1
  18. package/asset.js +71 -198
  19. package/asset.js.map +1 -1
  20. package/asset.mjs +72 -199
  21. package/asset.mjs.map +1 -1
  22. package/dispenser-client.d.ts +1 -1
  23. package/dispenser-client.js +2 -2
  24. package/dispenser-client.js.map +1 -1
  25. package/dispenser-client.mjs +2 -2
  26. package/dispenser-client.mjs.map +1 -1
  27. package/index.d.ts +4 -3
  28. package/index.d.ts.map +1 -1
  29. package/index.js +11 -8
  30. package/index.js.map +1 -1
  31. package/index.mjs +6 -4
  32. package/index.mjs.map +1 -1
  33. package/localnet/get-or-create-kmd-wallet-account.d.ts +1 -1
  34. package/localnet/get-or-create-kmd-wallet-account.js +1 -1
  35. package/localnet/get-or-create-kmd-wallet-account.mjs +1 -1
  36. package/package.json +3 -2
  37. package/testing/_asset.d.ts +2 -4
  38. package/testing/_asset.d.ts.map +1 -1
  39. package/testing/account.js +8 -2
  40. package/testing/account.js.map +1 -1
  41. package/testing/account.mjs +8 -2
  42. package/testing/account.mjs.map +1 -1
  43. package/testing/fixtures/algorand-fixture.d.ts +1 -1
  44. package/testing/fixtures/algorand-fixture.js +7 -2
  45. package/testing/fixtures/algorand-fixture.js.map +1 -1
  46. package/testing/fixtures/algorand-fixture.mjs +7 -2
  47. package/testing/fixtures/algorand-fixture.mjs.map +1 -1
  48. package/transaction/legacy-bridge.d.ts +10 -0
  49. package/transaction/legacy-bridge.d.ts.map +1 -0
  50. package/transaction/legacy-bridge.js +35 -0
  51. package/transaction/legacy-bridge.js.map +1 -0
  52. package/transaction/legacy-bridge.mjs +33 -0
  53. package/transaction/legacy-bridge.mjs.map +1 -0
  54. package/transaction/transaction.d.ts +1 -1
  55. package/transaction/transaction.js +5 -5
  56. package/transaction/transaction.js.map +1 -1
  57. package/transaction/transaction.mjs +5 -5
  58. package/transaction/transaction.mjs.map +1 -1
  59. package/transfer/transfer-algos.d.ts +4 -2
  60. package/transfer/transfer-algos.d.ts.map +1 -1
  61. package/transfer/transfer-algos.js +13 -22
  62. package/transfer/transfer-algos.js.map +1 -1
  63. package/transfer/transfer-algos.mjs +14 -23
  64. package/transfer/transfer-algos.mjs.map +1 -1
  65. package/transfer/transfer.d.ts +8 -1
  66. package/transfer/transfer.d.ts.map +1 -1
  67. package/transfer/transfer.js +57 -94
  68. package/transfer/transfer.js.map +1 -1
  69. package/transfer/transfer.mjs +58 -95
  70. package/transfer/transfer.mjs.map +1 -1
  71. package/types/account-manager.d.ts +141 -24
  72. package/types/account-manager.d.ts.map +1 -1
  73. package/types/account-manager.js +217 -44
  74. package/types/account-manager.js.map +1 -1
  75. package/types/account-manager.mjs +216 -43
  76. package/types/account-manager.mjs.map +1 -1
  77. package/types/account.d.ts +122 -7
  78. package/types/account.d.ts.map +1 -1
  79. package/types/account.js.map +1 -1
  80. package/types/account.mjs.map +1 -1
  81. package/types/algorand-client-transaction-creator.d.ts +289 -0
  82. package/types/algorand-client-transaction-creator.d.ts.map +1 -0
  83. package/types/algorand-client-transaction-creator.js +299 -0
  84. package/types/algorand-client-transaction-creator.js.map +1 -0
  85. package/types/algorand-client-transaction-creator.mjs +297 -0
  86. package/types/algorand-client-transaction-creator.mjs.map +1 -0
  87. package/types/algorand-client-transaction-sender.d.ts +433 -0
  88. package/types/algorand-client-transaction-sender.d.ts.map +1 -0
  89. package/types/algorand-client-transaction-sender.js +422 -0
  90. package/types/algorand-client-transaction-sender.js.map +1 -0
  91. package/types/algorand-client-transaction-sender.mjs +420 -0
  92. package/types/algorand-client-transaction-sender.mjs.map +1 -0
  93. package/types/algorand-client.d.ts +28 -78
  94. package/types/algorand-client.d.ts.map +1 -1
  95. package/types/algorand-client.js +33 -122
  96. package/types/algorand-client.js.map +1 -1
  97. package/types/algorand-client.mjs +34 -123
  98. package/types/algorand-client.mjs.map +1 -1
  99. package/types/amount.d.ts +18 -6
  100. package/types/amount.d.ts.map +1 -1
  101. package/types/amount.js +33 -10
  102. package/types/amount.js.map +1 -1
  103. package/types/amount.mjs +33 -10
  104. package/types/amount.mjs.map +1 -1
  105. package/types/app-client.d.ts +3 -3
  106. package/types/app-client.d.ts.map +1 -1
  107. package/types/app-client.js +7 -10
  108. package/types/app-client.js.map +1 -1
  109. package/types/app-client.mjs +8 -11
  110. package/types/app-client.mjs.map +1 -1
  111. package/types/asset-manager.d.ts +205 -0
  112. package/types/asset-manager.d.ts.map +1 -0
  113. package/types/asset-manager.js +180 -0
  114. package/types/asset-manager.js.map +1 -0
  115. package/types/asset-manager.mjs +178 -0
  116. package/types/asset-manager.mjs.map +1 -0
  117. package/types/asset.d.ts +4 -4
  118. package/types/asset.d.ts.map +1 -1
  119. package/types/client-manager.d.ts +40 -2
  120. package/types/client-manager.d.ts.map +1 -1
  121. package/types/client-manager.js +44 -3
  122. package/types/client-manager.js.map +1 -1
  123. package/types/client-manager.mjs +44 -3
  124. package/types/client-manager.mjs.map +1 -1
  125. package/types/composer.d.ts +226 -68
  126. package/types/composer.d.ts.map +1 -1
  127. package/types/composer.js +78 -64
  128. package/types/composer.js.map +1 -1
  129. package/types/composer.mjs +75 -64
  130. package/types/composer.mjs.map +1 -1
  131. package/types/dispenser-client.d.ts +12 -4
  132. package/types/dispenser-client.d.ts.map +1 -1
  133. package/types/dispenser-client.js +9 -9
  134. package/types/dispenser-client.js.map +1 -1
  135. package/types/dispenser-client.mjs +9 -9
  136. package/types/dispenser-client.mjs.map +1 -1
  137. package/types/indexer.d.ts +7 -7
  138. package/types/indexer.d.ts.map +1 -1
  139. package/types/kmd-account-manager.d.ts +3 -3
  140. package/types/kmd-account-manager.js +6 -6
  141. package/types/kmd-account-manager.js.map +1 -1
  142. package/types/kmd-account-manager.mjs +7 -7
  143. package/types/kmd-account-manager.mjs.map +1 -1
  144. package/types/network-client.d.ts +7 -1
  145. package/types/network-client.d.ts.map +1 -1
  146. package/types/network-client.js +10 -0
  147. package/types/network-client.js.map +1 -1
  148. package/types/network-client.mjs +9 -0
  149. package/types/network-client.mjs.map +1 -1
  150. package/types/testing.d.ts +1 -1
  151. package/types/testing.d.ts.map +1 -1
  152. package/types/transfer.d.ts +8 -7
  153. package/types/transfer.d.ts.map +1 -1
  154. package/util.d.ts +13 -0
  155. package/util.d.ts.map +1 -1
  156. package/util.js +25 -0
  157. package/util.js.map +1 -1
  158. package/util.mjs +24 -1
  159. package/util.mjs.map +1 -1
package/asset.js CHANGED
@@ -1,56 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var algosdk = require('algosdk');
4
- var config = require('./config.js');
3
+ var legacyBridge = require('./transaction/legacy-bridge.js');
4
+ var types_algorandClient = require('./types/algorand-client.js');
5
+ var types_clientManager = require('./types/client-manager.js');
5
6
  var transaction = require('./transaction/transaction.js');
6
7
 
7
- var ValidationType;
8
- (function (ValidationType) {
9
- ValidationType[ValidationType["OptIn"] = 0] = "OptIn";
10
- ValidationType[ValidationType["OptOut"] = 1] = "OptOut";
11
- })(ValidationType || (ValidationType = {}));
12
- function* chunks(arr, n) {
13
- for (let i = 0; i < arr.length; i += n)
14
- yield arr.slice(i, i + n);
15
- }
16
- async function ensureAssetBalanceConditions(account, assetIds, validationType, algod) {
17
- const accountAddress = transaction.getSenderAddress(account);
18
- const accountInfo = await algod.accountInformation(accountAddress).do();
19
- const assetPromises = assetIds.map(async (assetId) => {
20
- if (validationType === ValidationType.OptIn) {
21
- if (accountInfo.assets.find((a) => a['asset-id'] === assetId)) {
22
- config.Config.logger.debug(`Account ${accountAddress} has already opted-in to asset ${assetId}`);
23
- return assetId;
24
- }
25
- }
26
- else if (validationType === ValidationType.OptOut) {
27
- try {
28
- const accountAssetInfo = await algod.accountAssetInformation(accountAddress, assetId).do();
29
- if (accountAssetInfo['asset-holding']['amount'] !== 0) {
30
- config.Config.logger.debug(`Asset ${assetId} is not with zero balance`);
31
- return assetId;
32
- }
33
- }
34
- catch (e) {
35
- config.Config.logger.debug(`Account ${accountAddress} does not have asset ${assetId}`);
36
- return assetId;
37
- }
38
- }
39
- return null;
40
- });
41
- const invalidAssets = (await Promise.all(assetPromises)).filter((assetId) => assetId !== null);
42
- if (invalidAssets.length > 0) {
43
- let errorMessage = '';
44
- if (validationType === ValidationType.OptIn) {
45
- errorMessage = `Asset${invalidAssets.length === 1 ? '' : 's'} ${invalidAssets.join(', ')} cannot be opted in. Ensure that they are valid and that the account has not previously opted into them.`;
46
- }
47
- else if (validationType === ValidationType.OptOut) {
48
- errorMessage = `Asset${invalidAssets.length === 1 ? '' : 's'} ${invalidAssets.join(', ')} cannot be opted out. Ensure that they are valid and that the account has previously opted into them and holds zero balance.`;
49
- }
50
- throw new Error(errorMessage);
51
- }
52
- }
53
8
  /**
9
+ * @deprecated use `algorandClient.send.assetCreate()` / `algorandClient.transaction.assetCreate()` instead
10
+ *
54
11
  * Create an Algorand Standard Asset (ASA).
55
12
  * @param create The asset creation definition
56
13
  * @param algod An algod client
@@ -62,36 +19,27 @@ async function ensureAssetBalanceConditions(account, assetIds, validationType, a
62
19
  * ```
63
20
  */
64
21
  async function createAsset(create, algod) {
65
- const { creator, total, decimals, name, unit, url, metadataHash, manager, reserveAccount, freezeAccount, clawbackAccount, frozenByDefault, note, transactionParams, lease, ...sendParams } = create;
66
- const transaction$1 = algosdk.makeAssetCreateTxnWithSuggestedParamsFromObject({
67
- from: transaction.getSenderAddress(creator),
68
- total,
69
- decimals,
70
- assetName: name,
71
- unitName: unit,
72
- assetURL: url,
73
- defaultFrozen: frozenByDefault ?? false,
74
- assetMetadataHash: metadataHash,
75
- manager: manager ? transaction.getSenderAddress(manager) : undefined,
76
- reserve: reserveAccount ? transaction.getSenderAddress(reserveAccount) : undefined,
77
- freeze: freezeAccount ? transaction.getSenderAddress(freezeAccount) : undefined,
78
- clawback: clawbackAccount ? transaction.getSenderAddress(clawbackAccount) : undefined,
79
- rekeyTo: undefined,
80
- suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
81
- note: transaction.encodeTransactionNote(note),
82
- });
83
- const encodedLease = transaction.encodeLease(lease);
84
- if (encodedLease) {
85
- transaction$1.addLease(encodedLease);
86
- }
87
- const result = await transaction.sendTransaction({ transaction: transaction$1, from: creator, sendParams }, algod);
88
- if (!sendParams.skipSending) {
89
- config.Config.getLogger(sendParams.suppressLog).info(`Successfully created asset ${name ? `${name} ` : ''}${unit ? `(${unit}) ` : ''} with ${total} units and ${decimals} decimals via transaction ${transaction$1.txID()} with asset index ${result.confirmation?.assetIndex} and creator ${transaction.getSenderAddress(creator)}.`);
90
- return result;
91
- }
92
- return { transaction: result.transaction };
22
+ const params = {
23
+ sender: transaction.getSenderAddress(create.creator),
24
+ total: BigInt(create.total),
25
+ decimals: create.decimals,
26
+ assetName: create.name,
27
+ unitName: create.unit,
28
+ manager: create.manager ? transaction.getSenderAddress(create.manager) : undefined,
29
+ clawback: create.clawbackAccount ? transaction.getSenderAddress(create.clawbackAccount) : undefined,
30
+ freeze: create.freezeAccount ? transaction.getSenderAddress(create.freezeAccount) : undefined,
31
+ reserve: create.reserveAccount ? transaction.getSenderAddress(create.reserveAccount) : undefined,
32
+ defaultFrozen: create.frozenByDefault,
33
+ lease: create.lease,
34
+ metadataHash: create.metadataHash,
35
+ note: transaction.encodeTransactionNote(create.note),
36
+ url: create.url,
37
+ };
38
+ return (await legacyBridge.legacySendTransactionBridge(algod, create.creator, create, params, (client) => client.assetCreate, (client) => client.assetCreate));
93
39
  }
94
40
  /**
41
+ * @deprecated use `algorandClient.send.assetOptIn()` / `algorandClient.transaction.assetOptIn()` instead
42
+ *
95
43
  * Opt-in an account to an asset.
96
44
  * @param optIn The opt-in definition
97
45
  * @param algod An algod client
@@ -103,28 +51,17 @@ async function createAsset(create, algod) {
103
51
  * ```
104
52
  */
105
53
  async function assetOptIn(optIn, algod) {
106
- const { account, assetId, note, transactionParams, lease, ...sendParams } = optIn;
107
- const transaction$1 = algosdk.makeAssetTransferTxnWithSuggestedParamsFromObject({
108
- from: transaction.getSenderAddress(account),
109
- to: transaction.getSenderAddress(account),
110
- assetIndex: assetId,
111
- amount: 0,
112
- rekeyTo: undefined,
113
- revocationTarget: undefined,
114
- closeRemainderTo: undefined,
115
- suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
116
- note: transaction.encodeTransactionNote(note),
117
- });
118
- const encodedLease = transaction.encodeLease(lease);
119
- if (encodedLease) {
120
- transaction$1.addLease(encodedLease);
121
- }
122
- if (!sendParams.skipSending) {
123
- config.Config.getLogger(sendParams.suppressLog).debug(`Opted-in ${transaction.getSenderAddress(account)} to asset ${assetId}`);
124
- }
125
- return transaction.sendTransaction({ transaction: transaction$1, from: account, sendParams }, algod);
54
+ const params = {
55
+ assetId: BigInt(optIn.assetId),
56
+ sender: transaction.getSenderAddress(optIn.account),
57
+ note: transaction.encodeTransactionNote(optIn.note),
58
+ lease: optIn.lease,
59
+ };
60
+ return legacyBridge.legacySendTransactionBridge(algod, optIn.account, optIn, params, (c) => c.assetOptIn, (c) => c.assetOptIn);
126
61
  }
127
62
  /**
63
+ * @deprecated use `algorandClient.send.assetOptOut()` / `algorandClient.transaction.assetOptOut()` instead
64
+ *
128
65
  * Opt-out an account from an asset.
129
66
  * @param optOut The opt-in definition
130
67
  * @param algod An algod client
@@ -136,32 +73,19 @@ async function assetOptIn(optIn, algod) {
136
73
  * ```
137
74
  */
138
75
  async function assetOptOut(optOut, algod) {
139
- const { account, assetId, note, transactionParams, lease, assetCreatorAddress: _assetCreatorAddress, ensureZeroBalance, ...sendParams } = optOut;
140
- if (ensureZeroBalance === undefined || ensureZeroBalance) {
141
- await ensureAssetBalanceConditions(account, [assetId], ValidationType.OptOut, algod);
142
- }
143
- const assetCreatorAddress = _assetCreatorAddress ?? (await algod.getAssetByID(assetId).do()).params.creator;
144
- const transaction$1 = algosdk.makeAssetTransferTxnWithSuggestedParamsFromObject({
145
- from: transaction.getSenderAddress(account),
146
- to: transaction.getSenderAddress(account),
147
- assetIndex: assetId,
148
- amount: 0,
149
- rekeyTo: undefined,
150
- revocationTarget: undefined,
151
- closeRemainderTo: assetCreatorAddress,
152
- suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
153
- note: transaction.encodeTransactionNote(note),
154
- });
155
- const encodedLease = transaction.encodeLease(lease);
156
- if (encodedLease) {
157
- transaction$1.addLease(encodedLease);
158
- }
159
- if (!sendParams.skipSending) {
160
- config.Config.getLogger(sendParams.suppressLog).debug(`Opted-out ${transaction.getSenderAddress(account)} from asset ${assetId}`);
161
- }
162
- return transaction.sendTransaction({ transaction: transaction$1, from: account, sendParams }, algod);
76
+ const assetCreatorAddress = optOut.assetCreatorAddress ?? (await algod.getAssetByID(optOut.assetId).do()).params.creator;
77
+ const params = {
78
+ assetId: BigInt(optOut.assetId),
79
+ creator: assetCreatorAddress,
80
+ sender: transaction.getSenderAddress(optOut.account),
81
+ note: transaction.encodeTransactionNote(optOut.note),
82
+ lease: optOut.lease,
83
+ };
84
+ return legacyBridge.legacySendTransactionBridge(algod, optOut.account, optOut, params, (c) => c.assetOptOut, (c) => (params) => c.assetOptOut({ ...params, ensureZeroBalance: optOut.ensureZeroBalance ?? true }));
163
85
  }
164
86
  /**
87
+ * @deprecated use `algorandClient.asset.bulkOptIn()` instead
88
+ *
165
89
  * Opt in to a list of assets on the Algorand blockchain.
166
90
  *
167
91
  * @param optIn - The bulk opt-in request.
@@ -171,47 +95,23 @@ async function assetOptOut(optOut, algod) {
171
95
  * @example algokit.bulkOptIn({ account: account, assetIds: [12345, 67890] }, algod)
172
96
  */
173
97
  async function assetBulkOptIn(optIn, algod) {
174
- const { account, assetIds, validateBalances, transactionParams, note, maxFee, suppressLog } = optIn;
175
- const result = {};
176
- if (validateBalances === undefined || validateBalances) {
177
- await ensureAssetBalanceConditions(account, assetIds, ValidationType.OptIn, algod);
178
- }
179
- const suggestedParams = await transaction.getTransactionParams(transactionParams, algod);
180
- for (const assetGroup of chunks(assetIds, transaction.MAX_TRANSACTION_GROUP_SIZE)) {
181
- try {
182
- const transactionsToSign = await Promise.all(assetGroup.map(async (assetId) => ({
183
- transaction: (await assetOptIn({
184
- account,
185
- assetId,
186
- transactionParams: suggestedParams,
187
- note,
188
- maxFee,
189
- skipSending: true,
190
- suppressLog: true,
191
- }, algod)).transaction,
192
- signer: account,
193
- })));
194
- const txnGrp = {
195
- transactions: transactionsToSign,
196
- signer: account,
197
- sendParams: {
198
- suppressLog: true,
199
- },
200
- };
201
- const sendGroupOfTransactionsResult = await transaction.sendGroupOfTransactions(txnGrp, algod);
202
- assetGroup.map((assetId, index) => {
203
- result[assetId] = sendGroupOfTransactionsResult.txIds[index];
204
- config.Config.getLogger(suppressLog).info(`Successfully opted in ${transaction.getSenderAddress(account)} for asset ${assetId} with transaction ID ${sendGroupOfTransactionsResult.txIds[index]},
205
- grouped under ${sendGroupOfTransactionsResult.groupId} round ${sendGroupOfTransactionsResult.confirmations?.[0]?.confirmedRound}.`);
206
- });
207
- }
208
- catch (e) {
209
- throw new Error(`Received error trying to opt in ${e}`);
210
- }
98
+ new types_clientManager.ClientManager({ algod });
99
+ const result = await types_algorandClient.AlgorandClient.fromClients({ algod })
100
+ .setSignerFromAccount(optIn.account)
101
+ .asset.bulkOptIn(transaction.getSenderAddress(optIn.account), optIn.assetIds.map(BigInt), {
102
+ note: transaction.encodeTransactionNote(optIn.note),
103
+ maxFee: optIn.maxFee,
104
+ suppressLog: optIn.suppressLog,
105
+ });
106
+ const returnResult = {};
107
+ for (const r of result) {
108
+ returnResult[Number(r.assetId)] = r.transactionId;
211
109
  }
212
- return result;
110
+ return returnResult;
213
111
  }
214
112
  /**
113
+ * @deprecated use `algorandClient.asset.bulkOptOut()` instead
114
+ *
215
115
  * Opt out of multiple assets in Algorand blockchain.
216
116
  *
217
117
  * @param optOut The bulk opt-out request.
@@ -221,47 +121,20 @@ async function assetBulkOptIn(optIn, algod) {
221
121
  * @example algokit.bulkOptOut({ account: account, assetIds: [12345, 67890] }, algod)
222
122
  */
223
123
  async function assetBulkOptOut(optOut, algod) {
224
- const { account, validateBalances, transactionParams, note, assetIds, maxFee, suppressLog } = optOut;
225
- const result = {};
226
- if (validateBalances === undefined || validateBalances) {
227
- await ensureAssetBalanceConditions(account, assetIds, ValidationType.OptOut, algod);
228
- }
229
- const suggestedParams = await transaction.getTransactionParams(transactionParams, algod);
230
- const assetDetails = await Promise.all(assetIds.map((assetId) => algod.getAssetByID(assetId).do()));
231
- for (const assetGroup of chunks(assetDetails, transaction.MAX_TRANSACTION_GROUP_SIZE)) {
232
- try {
233
- const transactionToSign = await Promise.all(assetGroup.map(async (asset) => ({
234
- transaction: (await assetOptOut({
235
- account,
236
- assetId: asset.index,
237
- assetCreatorAddress: asset.params.creator,
238
- transactionParams: suggestedParams,
239
- note,
240
- maxFee,
241
- skipSending: true,
242
- suppressLog: true,
243
- }, algod)).transaction,
244
- signer: account,
245
- })));
246
- const txnGrp = {
247
- transactions: transactionToSign,
248
- signer: account,
249
- sendParams: {
250
- suppressLog: true,
251
- },
252
- };
253
- const sendGroupOfTransactionsResult = await transaction.sendGroupOfTransactions(txnGrp, algod);
254
- assetGroup.map((asset, index) => {
255
- result[asset.index] = sendGroupOfTransactionsResult.txIds[index];
256
- config.Config.getLogger(suppressLog).info(`Successfully opted out ${transaction.getSenderAddress(account)} from asset ${asset.index} with transaction ID ${sendGroupOfTransactionsResult.txIds[index]},
257
- grouped under ${sendGroupOfTransactionsResult.groupId} round ${sendGroupOfTransactionsResult.confirmations?.[0]?.confirmedRound}.`);
258
- });
259
- }
260
- catch (e) {
261
- throw new Error(`Received error trying to opt out ${e}`);
262
- }
124
+ new types_clientManager.ClientManager({ algod });
125
+ const result = await types_algorandClient.AlgorandClient.fromClients({ algod })
126
+ .setSignerFromAccount(optOut.account)
127
+ .asset.bulkOptOut(transaction.getSenderAddress(optOut.account), optOut.assetIds.map(BigInt), {
128
+ ensureZeroBalance: optOut.validateBalances ?? true,
129
+ note: transaction.encodeTransactionNote(optOut.note),
130
+ maxFee: optOut.maxFee,
131
+ suppressLog: optOut.suppressLog,
132
+ });
133
+ const returnResult = {};
134
+ for (const r of result) {
135
+ returnResult[Number(r.assetId)] = r.transactionId;
263
136
  }
264
- return result;
137
+ return returnResult;
265
138
  }
266
139
 
267
140
  exports.assetBulkOptIn = assetBulkOptIn;
package/asset.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"asset.js","sources":["../src/asset.ts"],"sourcesContent":[null],"names":["getSenderAddress","Config","transaction","getTransactionParams","encodeTransactionNote","encodeLease","sendTransaction","MAX_TRANSACTION_GROUP_SIZE","sendGroupOfTransactions"],"mappings":"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"}
1
+ {"version":3,"file":"asset.js","sources":["../src/asset.ts"],"sourcesContent":[null],"names":["getSenderAddress","encodeTransactionNote","legacySendTransactionBridge","ClientManager","AlgorandClient"],"mappings":"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"}