@algorandfoundation/algokit-utils 6.2.1 → 7.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/account/account.d.ts +13 -5
- package/account/account.d.ts.map +1 -1
- package/account/account.js +26 -6
- package/account/account.js.map +1 -1
- package/account/account.mjs +26 -6
- package/account/account.mjs.map +1 -1
- package/account/get-account.d.ts +4 -4
- package/account/get-account.js +2 -2
- package/account/get-account.mjs +2 -2
- package/amount.d.ts +28 -6
- package/amount.d.ts.map +1 -1
- package/amount.js +31 -11
- package/amount.js.map +1 -1
- package/amount.mjs +30 -12
- package/amount.mjs.map +1 -1
- package/asset.d.ts +10 -0
- package/asset.d.ts.map +1 -1
- package/asset.js +71 -198
- package/asset.js.map +1 -1
- package/asset.mjs +72 -199
- package/asset.mjs.map +1 -1
- package/dispenser-client.d.ts +1 -1
- package/dispenser-client.js +2 -2
- package/dispenser-client.js.map +1 -1
- package/dispenser-client.mjs +2 -2
- package/dispenser-client.mjs.map +1 -1
- package/index.d.ts +4 -3
- package/index.d.ts.map +1 -1
- package/index.js +11 -8
- package/index.js.map +1 -1
- package/index.mjs +6 -4
- package/index.mjs.map +1 -1
- package/localnet/get-or-create-kmd-wallet-account.d.ts +1 -1
- package/localnet/get-or-create-kmd-wallet-account.js +1 -1
- package/localnet/get-or-create-kmd-wallet-account.mjs +1 -1
- package/package.json +3 -2
- package/testing/_asset.d.ts +2 -4
- package/testing/_asset.d.ts.map +1 -1
- package/testing/account.js +8 -2
- package/testing/account.js.map +1 -1
- package/testing/account.mjs +8 -2
- package/testing/account.mjs.map +1 -1
- package/testing/fixtures/algorand-fixture.d.ts +1 -1
- package/testing/fixtures/algorand-fixture.js +7 -2
- package/testing/fixtures/algorand-fixture.js.map +1 -1
- package/testing/fixtures/algorand-fixture.mjs +7 -2
- package/testing/fixtures/algorand-fixture.mjs.map +1 -1
- package/transaction/legacy-bridge.d.ts +10 -0
- package/transaction/legacy-bridge.d.ts.map +1 -0
- package/transaction/legacy-bridge.js +35 -0
- package/transaction/legacy-bridge.js.map +1 -0
- package/transaction/legacy-bridge.mjs +33 -0
- package/transaction/legacy-bridge.mjs.map +1 -0
- package/transaction/transaction.d.ts +1 -1
- package/transaction/transaction.js +5 -5
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +5 -5
- package/transaction/transaction.mjs.map +1 -1
- package/transfer/transfer-algos.d.ts +4 -2
- package/transfer/transfer-algos.d.ts.map +1 -1
- package/transfer/transfer-algos.js +13 -22
- package/transfer/transfer-algos.js.map +1 -1
- package/transfer/transfer-algos.mjs +14 -23
- package/transfer/transfer-algos.mjs.map +1 -1
- package/transfer/transfer.d.ts +8 -1
- package/transfer/transfer.d.ts.map +1 -1
- package/transfer/transfer.js +57 -94
- package/transfer/transfer.js.map +1 -1
- package/transfer/transfer.mjs +58 -95
- package/transfer/transfer.mjs.map +1 -1
- package/types/account-manager.d.ts +141 -24
- package/types/account-manager.d.ts.map +1 -1
- package/types/account-manager.js +217 -44
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +216 -43
- package/types/account-manager.mjs.map +1 -1
- package/types/account.d.ts +122 -7
- package/types/account.d.ts.map +1 -1
- package/types/account.js.map +1 -1
- package/types/account.mjs.map +1 -1
- package/types/algorand-client-transaction-creator.d.ts +289 -0
- package/types/algorand-client-transaction-creator.d.ts.map +1 -0
- package/types/algorand-client-transaction-creator.js +299 -0
- package/types/algorand-client-transaction-creator.js.map +1 -0
- package/types/algorand-client-transaction-creator.mjs +297 -0
- package/types/algorand-client-transaction-creator.mjs.map +1 -0
- package/types/algorand-client-transaction-sender.d.ts +433 -0
- package/types/algorand-client-transaction-sender.d.ts.map +1 -0
- package/types/algorand-client-transaction-sender.js +422 -0
- package/types/algorand-client-transaction-sender.js.map +1 -0
- package/types/algorand-client-transaction-sender.mjs +420 -0
- package/types/algorand-client-transaction-sender.mjs.map +1 -0
- package/types/algorand-client.d.ts +28 -78
- package/types/algorand-client.d.ts.map +1 -1
- package/types/algorand-client.js +33 -122
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +34 -123
- package/types/algorand-client.mjs.map +1 -1
- package/types/amount.d.ts +18 -6
- package/types/amount.d.ts.map +1 -1
- package/types/amount.js +33 -10
- package/types/amount.js.map +1 -1
- package/types/amount.mjs +33 -10
- package/types/amount.mjs.map +1 -1
- package/types/app-client.d.ts +3 -3
- package/types/app-client.d.ts.map +1 -1
- package/types/app-client.js +7 -10
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +8 -11
- package/types/app-client.mjs.map +1 -1
- package/types/asset-manager.d.ts +205 -0
- package/types/asset-manager.d.ts.map +1 -0
- package/types/asset-manager.js +180 -0
- package/types/asset-manager.js.map +1 -0
- package/types/asset-manager.mjs +178 -0
- package/types/asset-manager.mjs.map +1 -0
- package/types/asset.d.ts +4 -4
- package/types/asset.d.ts.map +1 -1
- package/types/client-manager.d.ts +40 -2
- package/types/client-manager.d.ts.map +1 -1
- package/types/client-manager.js +44 -3
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +44 -3
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +226 -68
- package/types/composer.d.ts.map +1 -1
- package/types/composer.js +78 -64
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +75 -64
- package/types/composer.mjs.map +1 -1
- package/types/dispenser-client.d.ts +12 -4
- package/types/dispenser-client.d.ts.map +1 -1
- package/types/dispenser-client.js +9 -9
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs +9 -9
- package/types/dispenser-client.mjs.map +1 -1
- package/types/indexer.d.ts +7 -7
- package/types/indexer.d.ts.map +1 -1
- package/types/kmd-account-manager.d.ts +3 -3
- package/types/kmd-account-manager.js +6 -6
- package/types/kmd-account-manager.js.map +1 -1
- package/types/kmd-account-manager.mjs +7 -7
- package/types/kmd-account-manager.mjs.map +1 -1
- package/types/network-client.d.ts +7 -1
- package/types/network-client.d.ts.map +1 -1
- package/types/network-client.js +10 -0
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs +9 -0
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +1 -1
- package/types/testing.d.ts.map +1 -1
- package/types/transfer.d.ts +8 -7
- package/types/transfer.d.ts.map +1 -1
- package/util.d.ts +13 -0
- package/util.d.ts.map +1 -1
- package/util.js +25 -0
- package/util.js.map +1 -1
- package/util.mjs +24 -1
- package/util.mjs.map +1 -1
package/asset.js
CHANGED
|
@@ -1,56 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
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
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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
|
-
|
|
175
|
-
const result = {}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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
|
|
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
|
-
|
|
225
|
-
const result = {}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
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
|
|
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","
|
|
1
|
+
{"version":3,"file":"asset.js","sources":["../src/asset.ts"],"sourcesContent":[null],"names":["getSenderAddress","encodeTransactionNote","legacySendTransactionBridge","ClientManager","AlgorandClient"],"mappings":"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"}
|