@algorandfoundation/algokit-utils 7.0.0-beta.3 → 7.0.0-beta.5
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/amount.d.ts +14 -4
- package/amount.d.ts.map +1 -1
- package/amount.js +6 -0
- package/amount.js.map +1 -1
- package/amount.mjs +6 -0
- package/amount.mjs.map +1 -1
- package/app-client.d.ts +15 -0
- package/app-client.d.ts.map +1 -1
- package/app-client.js +15 -0
- package/app-client.js.map +1 -1
- package/app-client.mjs +15 -0
- package/app-client.mjs.map +1 -1
- package/app-deploy.d.ts.map +1 -1
- package/app-deploy.js +4 -6
- package/app-deploy.js.map +1 -1
- package/app-deploy.mjs +5 -7
- package/app-deploy.mjs.map +1 -1
- package/app.d.ts +2 -2
- package/app.d.ts.map +1 -1
- package/app.js +7 -3
- package/app.js.map +1 -1
- package/app.mjs +7 -3
- package/app.mjs.map +1 -1
- package/asset.d.ts.map +1 -1
- package/asset.js +0 -3
- package/asset.js.map +1 -1
- package/asset.mjs +0 -3
- package/asset.mjs.map +1 -1
- package/debugging/debugging.d.ts +1 -1
- package/debugging/debugging.d.ts.map +1 -1
- package/debugging/debugging.js +4 -5
- package/debugging/debugging.js.map +1 -1
- package/debugging/debugging.mjs +4 -5
- package/debugging/debugging.mjs.map +1 -1
- package/index.d.ts +4 -4
- package/index.d.ts.map +1 -1
- package/index.js +37 -37
- package/index.mjs +5 -5
- package/package.json +1 -1
- package/testing/test-logger.d.ts.map +1 -1
- package/testing/test-logger.js +1 -3
- package/testing/test-logger.js.map +1 -1
- package/testing/test-logger.mjs +1 -3
- package/testing/test-logger.mjs.map +1 -1
- package/transaction/legacy-bridge.d.ts +3 -3
- package/transaction/legacy-bridge.d.ts.map +1 -1
- package/transaction/legacy-bridge.js +1 -1
- package/transaction/legacy-bridge.js.map +1 -1
- package/transaction/legacy-bridge.mjs +2 -2
- package/transaction/legacy-bridge.mjs.map +1 -1
- package/transaction/transaction.d.ts +34 -3
- package/transaction/transaction.d.ts.map +1 -1
- package/transaction/transaction.js +42 -11
- package/transaction/transaction.js.map +1 -1
- package/transaction/transaction.mjs +42 -11
- package/transaction/transaction.mjs.map +1 -1
- package/transfer/transfer.js +2 -2
- package/transfer/transfer.js.map +1 -1
- package/transfer/transfer.mjs +2 -2
- package/transfer/transfer.mjs.map +1 -1
- package/types/account-manager.d.ts +2 -2
- package/types/account-manager.d.ts.map +1 -1
- package/types/account-manager.js +1 -1
- package/types/account-manager.js.map +1 -1
- package/types/account-manager.mjs +1 -1
- package/types/account-manager.mjs.map +1 -1
- package/types/algorand-client-interface.d.ts +29 -0
- package/types/algorand-client-interface.d.ts.map +1 -0
- package/types/algorand-client-interface.js +3 -0
- package/types/algorand-client-interface.js.map +1 -0
- package/types/algorand-client-interface.mjs +2 -0
- package/types/algorand-client-interface.mjs.map +1 -0
- package/types/algorand-client-transaction-sender.d.ts +12 -12
- package/types/algorand-client-transaction-sender.d.ts.map +1 -1
- package/types/algorand-client-transaction-sender.js +22 -6
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +22 -6
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/algorand-client.d.ts +2 -1
- package/types/algorand-client.d.ts.map +1 -1
- package/types/algorand-client.js +1 -1
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +1 -1
- package/types/algorand-client.mjs.map +1 -1
- package/types/amount.d.ts +10 -10
- package/types/amount.d.ts.map +1 -1
- package/types/amount.js +7 -7
- package/types/amount.js.map +1 -1
- package/types/amount.mjs +7 -7
- package/types/amount.mjs.map +1 -1
- package/types/app-arc56.d.ts +326 -0
- package/types/app-arc56.d.ts.map +1 -0
- package/types/app-arc56.js +163 -0
- package/types/app-arc56.js.map +1 -0
- package/types/app-arc56.mjs +154 -0
- package/types/app-arc56.mjs.map +1 -0
- package/types/app-client.d.ts +1479 -7
- package/types/app-client.d.ts.map +1 -1
- package/types/app-client.js +814 -8
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +814 -9
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +19 -13
- package/types/app-deployer.d.ts.map +1 -1
- package/types/app-deployer.js +2 -2
- package/types/app-deployer.js.map +1 -1
- package/types/app-deployer.mjs +2 -2
- package/types/app-deployer.mjs.map +1 -1
- package/types/app-factory.d.ts +967 -0
- package/types/app-factory.d.ts.map +1 -0
- package/types/app-factory.js +322 -0
- package/types/app-factory.js.map +1 -0
- package/types/app-factory.mjs +320 -0
- package/types/app-factory.mjs.map +1 -0
- package/types/app-manager.d.ts +12 -2
- package/types/app-manager.d.ts.map +1 -1
- package/types/app-manager.js +10 -1
- package/types/app-manager.js.map +1 -1
- package/types/app-manager.mjs +10 -1
- package/types/app-manager.mjs.map +1 -1
- package/types/app-spec.d.ts +2 -0
- package/types/app-spec.d.ts.map +1 -1
- package/types/app-spec.js +115 -0
- package/types/app-spec.js.map +1 -1
- package/types/app-spec.mjs +114 -0
- package/types/app-spec.mjs.map +1 -1
- package/types/app.d.ts +6 -2
- package/types/app.d.ts.map +1 -1
- package/types/asset-manager.d.ts +2 -1
- package/types/asset-manager.d.ts.map +1 -1
- package/types/asset-manager.js +0 -1
- package/types/asset-manager.js.map +1 -1
- package/types/asset-manager.mjs +0 -1
- package/types/asset-manager.mjs.map +1 -1
- package/types/client-manager.d.ts +109 -50
- package/types/client-manager.d.ts.map +1 -1
- package/types/client-manager.js +137 -23
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +138 -24
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +31 -14
- package/types/composer.d.ts.map +1 -1
- package/types/composer.js +65 -10
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +66 -11
- package/types/composer.mjs.map +1 -1
- package/types/debugging.d.ts +3 -2
- package/types/debugging.d.ts.map +1 -1
- package/types/debugging.js.map +1 -1
- package/types/debugging.mjs.map +1 -1
- package/types/dispenser-client.d.ts +1 -1
- package/types/dispenser-client.d.ts.map +1 -1
- package/types/dispenser-client.js +1 -1
- package/types/dispenser-client.js.map +1 -1
- package/types/dispenser-client.mjs +1 -1
- package/types/dispenser-client.mjs.map +1 -1
- package/types/network-client.d.ts +13 -0
- package/types/network-client.d.ts.map +1 -1
- package/types/network-client.js.map +1 -1
- package/types/network-client.mjs.map +1 -1
- package/types/testing.d.ts +3 -3
- package/types/testing.d.ts.map +1 -1
- package/types/transaction.d.ts +14 -1
- package/types/transaction.d.ts.map +1 -1
- package/util.d.ts +2 -1
- package/util.d.ts.map +1 -1
- package/util.js +11 -1
- package/util.js.map +1 -1
- package/util.mjs +11 -2
- package/util.mjs.map +1 -1
package/types/client-manager.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import algosdk from 'algosdk';
|
|
2
2
|
import { AlgoHttpClientWithRetry } from './algo-http-client-with-retry.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { AppClient } from './app-client.mjs';
|
|
4
|
+
import { AppFactory } from './app-factory.mjs';
|
|
4
5
|
import { TestNetDispenserApiClient } from './dispenser-client.mjs';
|
|
5
6
|
import { genesisIdIsLocalNet } from './network-client.mjs';
|
|
6
7
|
|
|
@@ -29,7 +30,7 @@ class ClientManager {
|
|
|
29
30
|
* const clientManager = new ClientManager({ algodConfig, indexerConfig, kmdConfig })
|
|
30
31
|
* ```
|
|
31
32
|
*/
|
|
32
|
-
constructor(clientsOrConfig) {
|
|
33
|
+
constructor(clientsOrConfig, algorandClient) {
|
|
33
34
|
const _clients = 'algod' in clientsOrConfig
|
|
34
35
|
? clientsOrConfig
|
|
35
36
|
: {
|
|
@@ -40,6 +41,7 @@ class ClientManager {
|
|
|
40
41
|
this._algod = _clients.algod;
|
|
41
42
|
this._indexer = _clients.indexer;
|
|
42
43
|
this._kmd = _clients.kmd;
|
|
44
|
+
this._algorand = algorandClient;
|
|
43
45
|
}
|
|
44
46
|
/** Returns an algosdk Algod API client. */
|
|
45
47
|
get algod() {
|
|
@@ -150,32 +152,99 @@ class ClientManager {
|
|
|
150
152
|
return new TestNetDispenserApiClient(params ? { ...params, authToken: '' } : undefined);
|
|
151
153
|
}
|
|
152
154
|
/**
|
|
153
|
-
* Returns a new `
|
|
154
|
-
* @
|
|
155
|
-
*
|
|
156
|
-
*
|
|
155
|
+
* Returns a new `AppFactory` client
|
|
156
|
+
* @example Basic example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const factory = algorand.client.getAppFactory({
|
|
159
|
+
* appSpec: '{/* ARC-56 or ARC-32 compatible JSON *\/}',
|
|
160
|
+
* })
|
|
161
|
+
* ```
|
|
162
|
+
* @example Advanced example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const factory = algorand.client.getAppFactory({
|
|
165
|
+
* appSpec: parsedAppSpec_AppSpec_or_Arc56Contract,
|
|
166
|
+
* defaultSender: "SENDERADDRESS",
|
|
167
|
+
* appName: "OverriddenAppName",
|
|
168
|
+
* version: "2.0.0",
|
|
169
|
+
* updatable: true,
|
|
170
|
+
* deletable: false,
|
|
171
|
+
* deployTimeParams: { ONE: 1, TWO: 'value' }
|
|
172
|
+
* })
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
getAppFactory(params) {
|
|
176
|
+
if (!this._algorand) {
|
|
177
|
+
throw new Error('Attempt to get app factory from a ClientManager without an Algorand client');
|
|
178
|
+
}
|
|
179
|
+
return new AppFactory({ ...params, algorand: this._algorand });
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Returns a new `AppClient` client for managing calls and state for an ARC-32/ARC-56 app.
|
|
183
|
+
* This method resolves the app ID by looking up the creator address and name
|
|
184
|
+
* using AlgoKit app deployment semantics (i.e. looking for the app creation transaction note).
|
|
185
|
+
* @param params The parameters to create the app client
|
|
186
|
+
* @example Basic
|
|
187
|
+
* const appClient = algorand.client.getAppClientByCreatorAndName({
|
|
188
|
+
* appSpec: '{/* ARC-56 or ARC-32 compatible JSON *\}',
|
|
189
|
+
* // appId resolved by looking for app ID of named app by this creator
|
|
190
|
+
* creatorAddress: 'CREATORADDRESS',
|
|
191
|
+
* })
|
|
192
|
+
* @returns The `AppClient`
|
|
157
193
|
*/
|
|
158
|
-
getAppClientByCreatorAndName(
|
|
159
|
-
|
|
194
|
+
getAppClientByCreatorAndName(params) {
|
|
195
|
+
if (!this._algorand) {
|
|
196
|
+
throw new Error('Attempt to get app client from a ClientManager without an Algorand client');
|
|
197
|
+
}
|
|
198
|
+
return AppClient.fromCreatorAndName({
|
|
199
|
+
...params,
|
|
200
|
+
algorand: this._algorand,
|
|
201
|
+
});
|
|
160
202
|
}
|
|
161
203
|
/**
|
|
162
|
-
* Returns a new `
|
|
163
|
-
* @param
|
|
164
|
-
* @
|
|
204
|
+
* Returns a new `AppClient` client for managing calls and state for an ARC-32/ARC-56 app.
|
|
205
|
+
* @param params The parameters to create the app client
|
|
206
|
+
* @example Basic
|
|
207
|
+
* const appClient = algorand.client.getAppClientById({
|
|
208
|
+
* appSpec: '{/* ARC-56 or ARC-32 compatible JSON *\}',
|
|
209
|
+
* appId: 12345n,
|
|
210
|
+
* })
|
|
211
|
+
* @returns The `AppClient`
|
|
165
212
|
*/
|
|
166
|
-
getAppClientById(
|
|
167
|
-
|
|
213
|
+
getAppClientById(params) {
|
|
214
|
+
if (!this._algorand) {
|
|
215
|
+
throw new Error('Attempt to get app client from a ClientManager without an Algorand client');
|
|
216
|
+
}
|
|
217
|
+
return new AppClient({ ...params, algorand: this._algorand });
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Returns a new `AppClient` client for managing calls and state for an ARC-56 app.
|
|
221
|
+
* This method resolves the app ID for the current network based on
|
|
222
|
+
* pre-determined network-specific app IDs specified in the ARC-56 app spec.
|
|
223
|
+
*
|
|
224
|
+
* If no IDs are in the app spec or the network isn't recognised, an error is thrown.
|
|
225
|
+
* @param params The parameters to create the app client
|
|
226
|
+
* @example Basic
|
|
227
|
+
* const appClient = algorand.client.getAppClientByNetwork({
|
|
228
|
+
* appSpec: '{/* ARC-56 or ARC-32 compatible JSON *\}',
|
|
229
|
+
* // appId resolved by using ARC-56 spec to find app ID for current network
|
|
230
|
+
* })
|
|
231
|
+
* @returns The `AppClient`
|
|
232
|
+
*/
|
|
233
|
+
async getAppClientByNetwork(params) {
|
|
234
|
+
if (!this._algorand) {
|
|
235
|
+
throw new Error('Attempt to get app client from a ClientManager without an Algorand client');
|
|
236
|
+
}
|
|
237
|
+
return AppClient.fromNetwork({ ...params, algorand: this._algorand });
|
|
168
238
|
}
|
|
169
239
|
/**
|
|
170
240
|
* Returns a new typed client, resolving the app by creator address and name.
|
|
171
241
|
* @param typedClient The typed client type to use
|
|
172
|
-
* @param
|
|
173
|
-
* @
|
|
174
|
-
* @example Use name in ARC-32 app spec
|
|
242
|
+
* @param params The params to resolve the app by creator address and name
|
|
243
|
+
* @example Use name in ARC-32 / ARC-56 app spec
|
|
175
244
|
* ```typescript
|
|
176
245
|
* const appClient = algorand.client.getTypedAppClientByCreatorAndName(MyContractClient, {
|
|
177
246
|
* creatorAddress: "CREATORADDRESS",
|
|
178
|
-
*
|
|
247
|
+
* defaultSender: alice,
|
|
179
248
|
* })
|
|
180
249
|
* ```
|
|
181
250
|
* @example Specify name
|
|
@@ -183,29 +252,74 @@ class ClientManager {
|
|
|
183
252
|
* const appClient = algorand.client.getTypedAppClientByCreatorAndName(MyContractClient, {
|
|
184
253
|
* creatorAddress: "CREATORADDRESS",
|
|
185
254
|
* name: "contract-name",
|
|
186
|
-
*
|
|
255
|
+
* defaultSender: alice,
|
|
187
256
|
* })
|
|
188
257
|
* ```
|
|
189
258
|
* @returns The typed client instance
|
|
190
259
|
*/
|
|
191
|
-
getTypedAppClientByCreatorAndName(typedClient,
|
|
192
|
-
|
|
260
|
+
async getTypedAppClientByCreatorAndName(typedClient, params) {
|
|
261
|
+
if (!this._algorand) {
|
|
262
|
+
throw new Error('Attempt to get app client from a ClientManager without an Algorand client');
|
|
263
|
+
}
|
|
264
|
+
return typedClient.fromCreatorAndName({ ...params, algorand: this._algorand });
|
|
193
265
|
}
|
|
194
266
|
/**
|
|
195
267
|
* Returns a new typed client, resolving the app by app ID.
|
|
196
268
|
* @param typedClient The typed client type to use
|
|
197
|
-
* @param
|
|
269
|
+
* @param params The params to resolve the app by ID
|
|
198
270
|
* @example
|
|
199
271
|
* ```typescript
|
|
200
272
|
* const appClient = algorand.client.getTypedAppClientById(MyContractClient, {
|
|
201
|
-
*
|
|
273
|
+
* appId: 12345n,
|
|
274
|
+
* defaultSender: alice,
|
|
275
|
+
* })
|
|
276
|
+
* ```
|
|
277
|
+
* @returns The typed client instance
|
|
278
|
+
*/
|
|
279
|
+
getTypedAppClientById(typedClient, params) {
|
|
280
|
+
if (!this._algorand) {
|
|
281
|
+
throw new Error('Attempt to get app client from a ClientManager without an Algorand client');
|
|
282
|
+
}
|
|
283
|
+
return new typedClient({ ...params, algorand: this._algorand });
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Returns a new typed client, resolves the app ID for the current network based on
|
|
287
|
+
* pre-determined network-specific app IDs specified in the ARC-56 app spec.
|
|
288
|
+
*
|
|
289
|
+
* If no IDs are in the app spec or the network isn't recognised, an error is thrown.
|
|
290
|
+
* @param typedClient The typed client type to use
|
|
291
|
+
* @param params The params to resolve the app by network
|
|
292
|
+
* @example
|
|
293
|
+
* ```typescript
|
|
294
|
+
* const appClient = algorand.client.getTypedAppClientByNetwork(MyContractClient, {
|
|
295
|
+
* defaultSender: alice,
|
|
296
|
+
* })
|
|
297
|
+
* ```
|
|
298
|
+
* @returns The typed client instance
|
|
299
|
+
*/
|
|
300
|
+
getTypedAppClientByNetwork(typedClient, params) {
|
|
301
|
+
if (!this._algorand) {
|
|
302
|
+
throw new Error('Attempt to get app client from a ClientManager without an Algorand client');
|
|
303
|
+
}
|
|
304
|
+
return typedClient.fromNetwork({ ...params, algorand: this._algorand });
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Returns a new typed app factory.
|
|
308
|
+
* @param typedFactory The typed factory type to use
|
|
309
|
+
* @param params The params to resolve the factory by
|
|
310
|
+
* @example
|
|
311
|
+
* ```typescript
|
|
312
|
+
* const appFactory = algorand.client.getTypedAppFactory(MyContractClient, {
|
|
202
313
|
* sender: alice,
|
|
203
314
|
* })
|
|
204
315
|
* ```
|
|
205
316
|
* @returns The typed client instance
|
|
206
317
|
*/
|
|
207
|
-
|
|
208
|
-
|
|
318
|
+
getTypedAppFactory(typedFactory, params) {
|
|
319
|
+
if (!this._algorand) {
|
|
320
|
+
throw new Error('Attempt to get app factory from a ClientManager without an Algorand client');
|
|
321
|
+
}
|
|
322
|
+
return new typedFactory({ ...params, algorand: this._algorand });
|
|
209
323
|
}
|
|
210
324
|
/**
|
|
211
325
|
* Retrieve client configurations from environment variables when defined or get defaults (expects to be called from a Node.js environment)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-manager.mjs","sources":["../../src/types/client-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-manager.mjs","sources":["../../src/types/client-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/types/composer.d.ts
CHANGED
|
@@ -3,10 +3,15 @@ import { TransactionSignerAccount } from './account';
|
|
|
3
3
|
import { AlgoAmount } from './amount';
|
|
4
4
|
import { AppManager, BoxIdentifier, BoxReference } from './app-manager';
|
|
5
5
|
import { Expand } from './expand';
|
|
6
|
-
import { Arc2TransactionNote, SendAtomicTransactionComposerResults } from './transaction';
|
|
6
|
+
import { Arc2TransactionNote, ExecuteParams, SendAtomicTransactionComposerResults } from './transaction';
|
|
7
7
|
import Transaction = algosdk.Transaction;
|
|
8
|
+
import TransactionSigner = algosdk.TransactionSigner;
|
|
8
9
|
import TransactionWithSigner = algosdk.TransactionWithSigner;
|
|
10
|
+
import SimulateResponse = algosdk.modelsv2.SimulateResponse;
|
|
11
|
+
import modelsv2 = algosdk.modelsv2;
|
|
9
12
|
export declare const MAX_TRANSACTION_GROUP_SIZE = 16;
|
|
13
|
+
/** Options to control a simulate request */
|
|
14
|
+
export type SimulateOptions = Expand<Omit<ConstructorParameters<typeof modelsv2.SimulateRequest>[0], 'txnGroups'>>;
|
|
10
15
|
/** Common parameters for defining a transaction. */
|
|
11
16
|
export type CommonTransactionParams = {
|
|
12
17
|
/** The address of the account sending the transaction. */
|
|
@@ -283,7 +288,7 @@ export type OnlineKeyRegistrationParams = CommonTransactionParams & {
|
|
|
283
288
|
export type CommonAppCallParams = CommonTransactionParams & {
|
|
284
289
|
/** ID of the application; 0 if the application is being created. */
|
|
285
290
|
appId: bigint;
|
|
286
|
-
/** The [on-complete](https://developer.algorand.org/docs/get-details/dapps/avm/teal/specification/#oncomplete) action of the call. */
|
|
291
|
+
/** The [on-complete](https://developer.algorand.org/docs/get-details/dapps/avm/teal/specification/#oncomplete) action of the call; defaults to no-op. */
|
|
287
292
|
onComplete?: algosdk.OnApplicationComplete;
|
|
288
293
|
/** Any [arguments to pass to the smart contract call](https://developer.algorand.org/docs/get-details/dapps/avm/teal/#argument-passing). */
|
|
289
294
|
args?: Uint8Array[];
|
|
@@ -317,7 +322,9 @@ export type AppCreateParams = Expand<Omit<CommonAppCallParams, 'appId'> & {
|
|
|
317
322
|
/** The number of byte slices saved in local state. */
|
|
318
323
|
localByteSlices: number;
|
|
319
324
|
};
|
|
320
|
-
/** Number of extra pages required for the programs.
|
|
325
|
+
/** Number of extra pages required for the programs.
|
|
326
|
+
* Defaults to the number needed for the programs in this call if not specified.
|
|
327
|
+
* This is immutable once the app is created. */
|
|
321
328
|
extraProgramPages?: number;
|
|
322
329
|
}>;
|
|
323
330
|
export type AppUpdateParams = Expand<CommonAppCallParams & {
|
|
@@ -331,6 +338,10 @@ export type AppUpdateParams = Expand<CommonAppCallParams & {
|
|
|
331
338
|
export type AppCallParams = CommonAppCallParams & {
|
|
332
339
|
onComplete?: Exclude<algosdk.OnApplicationComplete, algosdk.OnApplicationComplete.UpdateApplicationOC>;
|
|
333
340
|
};
|
|
341
|
+
/** Parameters to define a method call transaction. */
|
|
342
|
+
export type AppMethodCallParams = CommonAppCallParams & {
|
|
343
|
+
onComplete?: Exclude<algosdk.OnApplicationComplete, algosdk.OnApplicationComplete.UpdateApplicationOC | algosdk.OnApplicationComplete.ClearStateOC>;
|
|
344
|
+
};
|
|
334
345
|
/** Parameters to define an application delete call transaction. */
|
|
335
346
|
export type AppDeleteParams = CommonAppCallParams & {
|
|
336
347
|
onComplete?: algosdk.OnApplicationComplete.DeleteApplicationOC;
|
|
@@ -338,7 +349,8 @@ export type AppDeleteParams = CommonAppCallParams & {
|
|
|
338
349
|
export type AppCreateMethodCall = AppMethodCall<AppCreateParams>;
|
|
339
350
|
export type AppUpdateMethodCall = AppMethodCall<AppUpdateParams>;
|
|
340
351
|
export type AppDeleteMethodCall = AppMethodCall<AppDeleteParams>;
|
|
341
|
-
export type AppCallMethodCall = AppMethodCall<
|
|
352
|
+
export type AppCallMethodCall = AppMethodCall<AppMethodCallParams>;
|
|
353
|
+
export type AppMethodCallTransactionArgument = TransactionWithSigner | Transaction | Promise<Transaction> | AppMethodCall<AppCreateParams> | AppMethodCall<AppUpdateParams> | AppMethodCall<AppMethodCallParams>;
|
|
342
354
|
export type AppMethodCall<T> = Expand<Omit<T, 'args'>> & {
|
|
343
355
|
/** The ABI method to call */
|
|
344
356
|
method: algosdk.ABIMethod;
|
|
@@ -349,17 +361,8 @@ export type AppMethodCall<T> = Expand<Omit<T, 'args'>> & {
|
|
|
349
361
|
* * An unawaited transaction (e.g. from algorand.transactions.transactionType())
|
|
350
362
|
* * Another method call (via method call params object)
|
|
351
363
|
*/
|
|
352
|
-
args?: (algosdk.ABIValue | TransactionWithSigner | Transaction | Promise<Transaction> | AppMethodCall<AppCreateParams> | AppMethodCall<AppUpdateParams> | AppMethodCall<
|
|
364
|
+
args?: (algosdk.ABIValue | TransactionWithSigner | Transaction | Promise<Transaction> | AppMethodCall<AppCreateParams> | AppMethodCall<AppUpdateParams> | AppMethodCall<AppMethodCallParams>)[];
|
|
353
365
|
};
|
|
354
|
-
/** Parameters to configure transaction execution. */
|
|
355
|
-
export interface ExecuteParams {
|
|
356
|
-
/** The number of rounds to wait for confirmation. By default until the latest lastValid has past. */
|
|
357
|
-
maxRoundsToWaitForConfirmation?: number;
|
|
358
|
-
/** Whether to suppress log messages from transaction send, default: do not suppress. */
|
|
359
|
-
suppressLog?: boolean;
|
|
360
|
-
/** Whether to use simulate to automatically populate app call resources in the txn objects. Defaults to `Config.populateAppCallResources`. */
|
|
361
|
-
populateAppCallResources?: boolean;
|
|
362
|
-
}
|
|
363
366
|
/** Parameters to create an `AlgoKitComposer`. */
|
|
364
367
|
export type AlgoKitComposerParams = {
|
|
365
368
|
/** The algod client to use to get suggestedParams and send the transaction group */
|
|
@@ -413,6 +416,13 @@ export default class AlgoKitComposer {
|
|
|
413
416
|
* @param params The configuration for this composer
|
|
414
417
|
*/
|
|
415
418
|
constructor(params: AlgoKitComposerParams);
|
|
419
|
+
/**
|
|
420
|
+
* Add a pre-built transaction to the transaction group.
|
|
421
|
+
* @param transaction The pre-built transaction
|
|
422
|
+
* @param signer Optional signer override for the transaction
|
|
423
|
+
* @returns The composer so you can chain method calls
|
|
424
|
+
*/
|
|
425
|
+
addTransaction(transaction: Transaction, signer?: TransactionSigner): AlgoKitComposer;
|
|
416
426
|
/**
|
|
417
427
|
* Add a payment transaction to the transaction group.
|
|
418
428
|
* @param params The payment transaction parameters
|
|
@@ -599,6 +609,13 @@ export default class AlgoKitComposer {
|
|
|
599
609
|
* @returns The execution result
|
|
600
610
|
*/
|
|
601
611
|
execute(params?: ExecuteParams): Promise<SendAtomicTransactionComposerResults>;
|
|
612
|
+
/**
|
|
613
|
+
* Compose the atomic transaction group and simulate sending it to the network
|
|
614
|
+
* @returns The simulation result
|
|
615
|
+
*/
|
|
616
|
+
simulate(options?: SimulateOptions): Promise<SendAtomicTransactionComposerResults & {
|
|
617
|
+
simulateResponse: SimulateResponse;
|
|
618
|
+
}>;
|
|
602
619
|
static arc2Note(note: Arc2TransactionNote): Uint8Array;
|
|
603
620
|
}
|
|
604
621
|
//# sourceMappingURL=composer.d.ts.map
|
package/types/composer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/types/composer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/types/composer.ts"],"names":[],"mappings":"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"}
|
package/types/composer.js
CHANGED
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var algosdk = require('algosdk');
|
|
6
|
+
var config = require('../config.js');
|
|
6
7
|
var transaction = require('../transaction/transaction.js');
|
|
7
8
|
var types_app = require('./app.js');
|
|
8
9
|
var types_appManager = require('./app-manager.js');
|
|
9
10
|
var types_networkClient = require('./network-client.js');
|
|
11
|
+
var simulateAndPersistResponse = require('../debugging/simulate-and-persist-response.js');
|
|
10
12
|
|
|
11
13
|
var isTransactionWithSigner = algosdk.isTransactionWithSigner;
|
|
12
14
|
var encodeAddress = algosdk.encodeAddress;
|
|
15
|
+
var modelsv2 = algosdk.modelsv2;
|
|
13
16
|
const MAX_TRANSACTION_GROUP_SIZE = 16;
|
|
14
17
|
/** AlgoKit Composer helps you compose and execute transactions as a transaction group. */
|
|
15
18
|
class AlgoKitComposer {
|
|
@@ -36,6 +39,20 @@ class AlgoKitComposer {
|
|
|
36
39
|
this.defaultValidityWindowIsExplicit = params.defaultValidityWindow !== undefined;
|
|
37
40
|
this.appManager = params.appManager ?? new types_appManager.AppManager(params.algod);
|
|
38
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Add a pre-built transaction to the transaction group.
|
|
44
|
+
* @param transaction The pre-built transaction
|
|
45
|
+
* @param signer Optional signer override for the transaction
|
|
46
|
+
* @returns The composer so you can chain method calls
|
|
47
|
+
*/
|
|
48
|
+
addTransaction(transaction, signer) {
|
|
49
|
+
this.txns.push({
|
|
50
|
+
txn: transaction,
|
|
51
|
+
signer: signer ?? this.getSigner(algosdk.encodeAddress(transaction.from.publicKey)),
|
|
52
|
+
type: 'txnWithSigner',
|
|
53
|
+
});
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
39
56
|
/**
|
|
40
57
|
* Add a payment transaction to the transaction group.
|
|
41
58
|
* @param params The payment transaction parameters
|
|
@@ -237,8 +254,9 @@ class AlgoKitComposer {
|
|
|
237
254
|
txn.addLease(transaction.encodeLease(params.lease));
|
|
238
255
|
if (params.rekeyTo)
|
|
239
256
|
txn.addRekey(params.rekeyTo);
|
|
257
|
+
const encoder = new TextEncoder();
|
|
240
258
|
if (params.note)
|
|
241
|
-
txn.note =
|
|
259
|
+
txn.note = typeof params.note === 'string' ? encoder.encode(params.note) : params.note;
|
|
242
260
|
if (params.firstValidRound) {
|
|
243
261
|
txn.firstRound = Number(params.firstValidRound);
|
|
244
262
|
}
|
|
@@ -256,16 +274,16 @@ class AlgoKitComposer {
|
|
|
256
274
|
throw Error('Cannot set both staticFee and extraFee');
|
|
257
275
|
}
|
|
258
276
|
if (params.staticFee !== undefined) {
|
|
259
|
-
txn.fee = params.staticFee.microAlgo;
|
|
277
|
+
txn.fee = Number(params.staticFee.microAlgo);
|
|
260
278
|
}
|
|
261
279
|
else {
|
|
262
280
|
txn.fee = txn.estimateSize() * suggestedParams.fee || algosdk.ALGORAND_MIN_TX_FEE;
|
|
263
281
|
if (params.extraFee)
|
|
264
|
-
txn.fee += params.extraFee.microAlgo;
|
|
282
|
+
txn.fee += Number(params.extraFee.microAlgo);
|
|
265
283
|
}
|
|
266
284
|
txn.flatFee = true;
|
|
267
285
|
if (params.maxFee !== undefined && txn.fee > params.maxFee.microAlgo) {
|
|
268
|
-
throw Error(`Transaction fee ${txn.fee} is greater than maxFee ${params.maxFee}`);
|
|
286
|
+
throw Error(`Transaction fee ${txn.fee} µALGO is greater than maxFee ${params.maxFee}`);
|
|
269
287
|
}
|
|
270
288
|
return txn;
|
|
271
289
|
}
|
|
@@ -281,7 +299,11 @@ class AlgoKitComposer {
|
|
|
281
299
|
return x.length == 0 || x.every(isAbiValue);
|
|
282
300
|
return typeof x === 'bigint' || typeof x === 'boolean' || typeof x === 'number' || typeof x === 'string' || x instanceof Uint8Array;
|
|
283
301
|
};
|
|
284
|
-
for (
|
|
302
|
+
for (let i = 0; i < (params.args ?? []).length; i++) {
|
|
303
|
+
const arg = params.args[i];
|
|
304
|
+
if (arg === undefined) {
|
|
305
|
+
throw Error(`No value provided for argument ${i + 1} within call to ${params.method.name}`);
|
|
306
|
+
}
|
|
285
307
|
if (isAbiValue(arg)) {
|
|
286
308
|
methodArgs.push(arg);
|
|
287
309
|
continue;
|
|
@@ -445,10 +467,11 @@ class AlgoKitComposer {
|
|
|
445
467
|
const sdkParams = {
|
|
446
468
|
from: params.sender,
|
|
447
469
|
suggestedParams,
|
|
470
|
+
appArgs: params.args,
|
|
448
471
|
onComplete: params.onComplete ?? algosdk.OnApplicationComplete.NoOpOC,
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
472
|
+
accounts: params.accountReferences,
|
|
473
|
+
foreignApps: params.appReferences?.map((x) => Number(x)),
|
|
474
|
+
foreignAssets: params.assetReferences?.map((x) => Number(x)),
|
|
452
475
|
boxes: params.boxReferences?.map(types_appManager.AppManager.getBoxReference),
|
|
453
476
|
approvalProgram,
|
|
454
477
|
clearProgram: clearStateProgram,
|
|
@@ -460,7 +483,6 @@ class AlgoKitComposer {
|
|
|
460
483
|
}
|
|
461
484
|
txn = algosdk.makeApplicationCreateTxnFromObject({
|
|
462
485
|
...sdkParams,
|
|
463
|
-
onComplete: sdkParams.onComplete,
|
|
464
486
|
extraPages: 'extraProgramPages' in params
|
|
465
487
|
? params.extraProgramPages ?? Math.floor((approvalProgram.length + clearStateProgram.length) / types_app.APP_PAGE_MAX_SIZE)
|
|
466
488
|
: 0,
|
|
@@ -618,13 +640,46 @@ class AlgoKitComposer {
|
|
|
618
640
|
}
|
|
619
641
|
return await transaction.sendAtomicTransactionComposer({
|
|
620
642
|
atc: this.atc,
|
|
621
|
-
|
|
643
|
+
executeParams: {
|
|
622
644
|
suppressLog: params?.suppressLog,
|
|
623
645
|
maxRoundsToWaitForConfirmation: waitRounds,
|
|
624
646
|
populateAppCallResources: params?.populateAppCallResources,
|
|
625
647
|
},
|
|
626
648
|
}, this.algod);
|
|
627
649
|
}
|
|
650
|
+
/**
|
|
651
|
+
* Compose the atomic transaction group and simulate sending it to the network
|
|
652
|
+
* @returns The simulation result
|
|
653
|
+
*/
|
|
654
|
+
async simulate(options) {
|
|
655
|
+
await this.build();
|
|
656
|
+
if (config.Config.debug && config.Config.projectRoot && !config.Config.traceAll) {
|
|
657
|
+
// Dump the traces to a file for use with AlgoKit AVM debugger
|
|
658
|
+
// Checks for false on traceAll because it should have been already
|
|
659
|
+
// executed above
|
|
660
|
+
await simulateAndPersistResponse.simulateAndPersistResponse({
|
|
661
|
+
atc: this.atc,
|
|
662
|
+
projectRoot: config.Config.projectRoot,
|
|
663
|
+
algod: this.algod,
|
|
664
|
+
bufferSizeMb: config.Config.traceBufferSizeMb,
|
|
665
|
+
});
|
|
666
|
+
}
|
|
667
|
+
const { methodResults, simulateResponse } = await this.atc.simulate(this.algod, new modelsv2.SimulateRequest({ txnGroups: [], ...options }));
|
|
668
|
+
if (simulateResponse && simulateResponse.txnGroups[0].failedAt) {
|
|
669
|
+
const error = new Error(`Transaction failed at transaction(s) ${simulateResponse.txnGroups[0].failedAt.join(', ')} in the group. ${simulateResponse.txnGroups.find((x) => x.failureMessage)?.failureMessage}`);
|
|
670
|
+
error.simulateResponse = simulateResponse;
|
|
671
|
+
throw error;
|
|
672
|
+
}
|
|
673
|
+
const transactions = this.atc.buildGroup().map((t) => t.txn);
|
|
674
|
+
return {
|
|
675
|
+
confirmations: simulateResponse.txnGroups[0].txnResults.map((t) => t.txnResult),
|
|
676
|
+
transactions: transactions,
|
|
677
|
+
txIds: transactions.map((t) => t.txID()),
|
|
678
|
+
groupId: Buffer.from(transactions[0].group ?? new Uint8Array()).toString('base64'),
|
|
679
|
+
simulateResponse,
|
|
680
|
+
returns: methodResults.map((m) => m),
|
|
681
|
+
};
|
|
682
|
+
}
|
|
628
683
|
static arc2Note(note) {
|
|
629
684
|
const arc2Payload = `${note.dAppName}:${note.format}${typeof note.data === 'string' ? note.data : JSON.stringify(note.data)}`;
|
|
630
685
|
const encoder = new TextEncoder();
|