@algorandfoundation/algokit-utils 6.3.0-beta.1 → 7.0.0-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.
- package/account/account.d.ts +7 -7
- package/account/account.js +7 -7
- package/account/account.mjs +7 -7
- package/account/get-account.d.ts +2 -2
- package/account/get-account.js +1 -1
- package/account/get-account.mjs +1 -1
- package/account/get-dispenser-account.d.ts +1 -1
- package/account/get-dispenser-account.js +1 -1
- package/account/get-dispenser-account.mjs +1 -1
- package/account/mnemonic-account.d.ts +1 -1
- package/account/mnemonic-account.js +1 -1
- package/account/mnemonic-account.mjs +1 -1
- package/app-deploy.d.ts +18 -1
- package/app-deploy.d.ts.map +1 -1
- package/app-deploy.js +142 -333
- package/app-deploy.js.map +1 -1
- package/app-deploy.mjs +145 -336
- package/app-deploy.mjs.map +1 -1
- package/app.d.ts +38 -1
- package/app.d.ts.map +1 -1
- package/app.js +113 -370
- package/app.js.map +1 -1
- package/app.mjs +114 -371
- package/app.mjs.map +1 -1
- package/asset.d.ts +5 -5
- package/asset.js +5 -5
- package/asset.mjs +5 -5
- package/debugging/debugging.js +2 -2
- package/debugging/debugging.js.map +1 -1
- package/debugging/debugging.mjs +2 -2
- package/debugging/debugging.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/index.d.ts.map +1 -1
- package/index.js +12 -12
- package/index.mjs +1 -1
- package/localnet/get-kmd-wallet-account.d.ts +1 -1
- package/localnet/get-kmd-wallet-account.js +1 -1
- package/localnet/get-kmd-wallet-account.mjs +1 -1
- package/localnet/get-localnet-dispenser-account.d.ts +1 -1
- package/localnet/get-localnet-dispenser-account.js +1 -1
- package/localnet/get-localnet-dispenser-account.mjs +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/localnet/is-localnet.d.ts +1 -1
- package/localnet/is-localnet.js +1 -1
- package/localnet/is-localnet.mjs +1 -1
- package/network-client.d.ts +2 -2
- package/network-client.d.ts.map +1 -1
- package/network-client.js +2 -2
- package/network-client.mjs +2 -2
- package/package.json +1 -1
- package/testing/fixtures/algorand-fixture.js +12 -12
- package/testing/fixtures/algorand-fixture.js.map +1 -1
- package/testing/fixtures/algorand-fixture.mjs +12 -12
- package/testing/fixtures/algorand-fixture.mjs.map +1 -1
- package/transaction/legacy-bridge.d.ts +31 -5
- package/transaction/legacy-bridge.d.ts.map +1 -1
- package/transaction/legacy-bridge.js +99 -5
- package/transaction/legacy-bridge.js.map +1 -1
- package/transaction/legacy-bridge.mjs +98 -7
- package/transaction/legacy-bridge.mjs.map +1 -1
- package/transfer/transfer-algos.d.ts +1 -1
- package/transfer/transfer-algos.js +1 -1
- package/transfer/transfer-algos.mjs +1 -1
- package/transfer/transfer.d.ts +1 -1
- package/transfer/transfer.js +1 -1
- package/transfer/transfer.mjs +1 -1
- package/types/account-manager.d.ts +1 -1
- package/types/account-manager.d.ts.map +1 -1
- package/types/algorand-client-transaction-creator.d.ts +450 -20
- package/types/algorand-client-transaction-creator.d.ts.map +1 -1
- package/types/algorand-client-transaction-creator.js +406 -22
- package/types/algorand-client-transaction-creator.js.map +1 -1
- package/types/algorand-client-transaction-creator.mjs +406 -22
- package/types/algorand-client-transaction-creator.mjs.map +1 -1
- package/types/algorand-client-transaction-sender.d.ts +750 -24
- package/types/algorand-client-transaction-sender.d.ts.map +1 -1
- package/types/algorand-client-transaction-sender.js +426 -12
- package/types/algorand-client-transaction-sender.js.map +1 -1
- package/types/algorand-client-transaction-sender.mjs +426 -12
- package/types/algorand-client-transaction-sender.mjs.map +1 -1
- package/types/algorand-client.d.ts +8 -0
- package/types/algorand-client.d.ts.map +1 -1
- package/types/algorand-client.js +14 -1
- package/types/algorand-client.js.map +1 -1
- package/types/algorand-client.mjs +14 -1
- package/types/algorand-client.mjs.map +1 -1
- package/types/app-client.d.ts +13 -1
- package/types/app-client.d.ts.map +1 -1
- package/types/app-client.js +8 -5
- package/types/app-client.js.map +1 -1
- package/types/app-client.mjs +9 -6
- package/types/app-client.mjs.map +1 -1
- package/types/app-deployer.d.ts +121 -0
- package/types/app-deployer.d.ts.map +1 -0
- package/types/app-deployer.js +354 -0
- package/types/app-deployer.js.map +1 -0
- package/types/app-deployer.mjs +352 -0
- package/types/app-deployer.mjs.map +1 -0
- package/types/app-manager.d.ts +235 -0
- package/types/app-manager.d.ts.map +1 -0
- package/types/app-manager.js +336 -0
- package/types/app-manager.js.map +1 -0
- package/types/app-manager.mjs +334 -0
- package/types/app-manager.mjs.map +1 -0
- package/types/app.d.ts +42 -7
- package/types/app.d.ts.map +1 -1
- package/types/app.js +1 -1
- package/types/app.js.map +1 -1
- package/types/app.mjs +1 -1
- package/types/app.mjs.map +1 -1
- package/types/client-manager.d.ts +2 -0
- package/types/client-manager.d.ts.map +1 -1
- package/types/client-manager.js +4 -0
- package/types/client-manager.js.map +1 -1
- package/types/client-manager.mjs +4 -0
- package/types/client-manager.mjs.map +1 -1
- package/types/composer.d.ts +150 -39
- package/types/composer.d.ts.map +1 -1
- package/types/composer.js +218 -62
- package/types/composer.js.map +1 -1
- package/types/composer.mjs +218 -62
- package/types/composer.mjs.map +1 -1
- package/types/expand.d.ts +8 -0
- package/types/expand.d.ts.map +1 -0
- package/types/expand.js +3 -0
- package/types/expand.js.map +1 -0
- package/types/expand.mjs +2 -0
- package/types/expand.mjs.map +1 -0
- package/types/transaction.d.ts +3 -0
- package/types/transaction.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algorand-client-transaction-sender.d.ts","sourceRoot":"","sources":["../../src/types/algorand-client-transaction-sender.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"algorand-client-transaction-sender.d.ts","sourceRoot":"","sources":["../../src/types/algorand-client-transaction-sender.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var algosdk = require('algosdk');
|
|
3
4
|
var config = require('../config.js');
|
|
5
|
+
var types_appManager = require('./app-manager.js');
|
|
4
6
|
|
|
5
7
|
/** Orchestrates sending transactions for `AlgorandClient`. */
|
|
6
8
|
class AlgorandClientTransactionSender {
|
|
@@ -9,13 +11,13 @@ class AlgorandClientTransactionSender {
|
|
|
9
11
|
* @param newGroup A lambda that starts a new `AlgoKitComposer` transaction group
|
|
10
12
|
* @param assetManager An `AssetManager` instance
|
|
11
13
|
*/
|
|
12
|
-
constructor(newGroup, assetManager) {
|
|
14
|
+
constructor(newGroup, assetManager, appManager) {
|
|
13
15
|
/**
|
|
14
16
|
* Send a payment transaction to transfer Algo between accounts.
|
|
15
17
|
* @param params The parameters for the payment transaction
|
|
16
18
|
* @example Basic example
|
|
17
19
|
* ```typescript
|
|
18
|
-
* const result = await
|
|
20
|
+
* const result = await algorand.send.payment({
|
|
19
21
|
* sender: 'SENDERADDRESS',
|
|
20
22
|
* receiver: 'RECEIVERADDRESS',
|
|
21
23
|
* amount: (4).algo(),
|
|
@@ -23,7 +25,7 @@ class AlgorandClientTransactionSender {
|
|
|
23
25
|
* ```
|
|
24
26
|
* @example Advanced example
|
|
25
27
|
* ```typescript
|
|
26
|
-
* const result = await
|
|
28
|
+
* const result = await algorand.send.payment({
|
|
27
29
|
* amount: (4).algo(),
|
|
28
30
|
* receiver: 'RECEIVERADDRESS',
|
|
29
31
|
* sender: 'SENDERADDRESS',
|
|
@@ -320,7 +322,7 @@ class AlgorandClientTransactionSender {
|
|
|
320
322
|
*
|
|
321
323
|
* @param params The parameters for the asset opt-out transaction
|
|
322
324
|
*
|
|
323
|
-
* @example Basic example (without creator)
|
|
325
|
+
* @example Basic example (without creator, will be retrieved from algod)
|
|
324
326
|
* ```typescript
|
|
325
327
|
* await algorand.send.assetOptOut({sender: "SENDERADDRESS", assetId: 123456n, ensureZeroBalance: true })
|
|
326
328
|
* ```
|
|
@@ -374,24 +376,412 @@ class AlgorandClientTransactionSender {
|
|
|
374
376
|
preLog: (params, transaction) => `Opting ${params.sender} out of asset with ID ${params.assetId} to creator ${params.creator} via transaction ${transaction.txID()}`,
|
|
375
377
|
})(params);
|
|
376
378
|
};
|
|
379
|
+
/**
|
|
380
|
+
* Create a smart contract.
|
|
381
|
+
*
|
|
382
|
+
* Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.
|
|
383
|
+
*
|
|
384
|
+
* @param params The parameters for the app creation transaction
|
|
385
|
+
* @example Basic example
|
|
386
|
+
* ```typescript
|
|
387
|
+
* const result = await algorand.send.appCreate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })
|
|
388
|
+
* const createdAppId = result.appId
|
|
389
|
+
* ```
|
|
390
|
+
* @example Advanced example
|
|
391
|
+
* ```typescript
|
|
392
|
+
* await algorand.send.appCreate({
|
|
393
|
+
* sender: 'CREATORADDRESS',
|
|
394
|
+
* approvalProgram: "TEALCODE",
|
|
395
|
+
* clearStateProgram: "TEALCODE",
|
|
396
|
+
* schema: {
|
|
397
|
+
* globalInts: 1,
|
|
398
|
+
* globalByteSlices: 2,
|
|
399
|
+
* localInts: 3,
|
|
400
|
+
* localByteSlices: 4
|
|
401
|
+
* },
|
|
402
|
+
* extraProgramPages: 1,
|
|
403
|
+
* onComplete: algosdk.OnApplicationComplete.OptInOC,
|
|
404
|
+
* args: [new Uint8Array(1, 2, 3, 4)]
|
|
405
|
+
* accountReferences: ["ACCOUNT_1"]
|
|
406
|
+
* appReferences: [123n, 1234n]
|
|
407
|
+
* assetReferences: [12345n]
|
|
408
|
+
* boxReferences: ["box1", {appId: 1234n, name: "box2"}]
|
|
409
|
+
* lease: 'lease',
|
|
410
|
+
* note: 'note',
|
|
411
|
+
* // You wouldn't normally set this field
|
|
412
|
+
* firstValidRound: 1000n,
|
|
413
|
+
* validityWindow: 10,
|
|
414
|
+
* extraFee: (1000).microAlgo(),
|
|
415
|
+
* staticFee: (1000).microAlgo(),
|
|
416
|
+
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
417
|
+
* // already specified, but here for completeness
|
|
418
|
+
* maxFee: (3000).microAlgo(),
|
|
419
|
+
* // Signer only needed if you want to provide one,
|
|
420
|
+
* // generally you'd register it with AlgorandClient
|
|
421
|
+
* // against the sender and not need to pass it in
|
|
422
|
+
* signer: transactionSigner,
|
|
423
|
+
* maxRoundsToWaitForConfirmation: 5,
|
|
424
|
+
* suppressLog: true,
|
|
425
|
+
*})
|
|
426
|
+
* ```
|
|
427
|
+
*/
|
|
428
|
+
this.appCreate = this._sendAppCreateCall((c) => c.addAppCreate, {
|
|
429
|
+
postLog: (params, result) => `App created by ${params.sender} with ID ${result.confirmation.applicationIndex} via transaction ${result.txIds.at(-1)}`,
|
|
430
|
+
});
|
|
431
|
+
/**
|
|
432
|
+
* Update a smart contract.
|
|
433
|
+
*
|
|
434
|
+
* Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.
|
|
435
|
+
*
|
|
436
|
+
* @param params The parameters for the app update transaction
|
|
437
|
+
* @example Basic example
|
|
438
|
+
* ```typescript
|
|
439
|
+
* await algorand.send.appUpdate({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE' })
|
|
440
|
+
* ```
|
|
441
|
+
* @example Advanced example
|
|
442
|
+
* ```typescript
|
|
443
|
+
* await algorand.send.appUpdate({
|
|
444
|
+
* sender: 'CREATORADDRESS',
|
|
445
|
+
* approvalProgram: "TEALCODE",
|
|
446
|
+
* clearStateProgram: "TEALCODE",
|
|
447
|
+
* onComplete: algosdk.OnApplicationComplete.UpdateApplicationOC,
|
|
448
|
+
* args: [new Uint8Array(1, 2, 3, 4)]
|
|
449
|
+
* accountReferences: ["ACCOUNT_1"]
|
|
450
|
+
* appReferences: [123n, 1234n]
|
|
451
|
+
* assetReferences: [12345n]
|
|
452
|
+
* boxReferences: ["box1", {appId: 1234n, name: "box2"}]
|
|
453
|
+
* lease: 'lease',
|
|
454
|
+
* note: 'note',
|
|
455
|
+
* // You wouldn't normally set this field
|
|
456
|
+
* firstValidRound: 1000n,
|
|
457
|
+
* validityWindow: 10,
|
|
458
|
+
* extraFee: (1000).microAlgo(),
|
|
459
|
+
* staticFee: (1000).microAlgo(),
|
|
460
|
+
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
461
|
+
* // already specified, but here for completeness
|
|
462
|
+
* maxFee: (3000).microAlgo(),
|
|
463
|
+
* // Signer only needed if you want to provide one,
|
|
464
|
+
* // generally you'd register it with AlgorandClient
|
|
465
|
+
* // against the sender and not need to pass it in
|
|
466
|
+
* signer: transactionSigner,
|
|
467
|
+
* maxRoundsToWaitForConfirmation: 5,
|
|
468
|
+
* suppressLog: true,
|
|
469
|
+
*})
|
|
470
|
+
* ```
|
|
471
|
+
*/
|
|
472
|
+
this.appUpdate = this._sendAppUpdateCall((c) => c.addAppUpdate);
|
|
473
|
+
/**
|
|
474
|
+
* Delete a smart contract.
|
|
475
|
+
*
|
|
476
|
+
* Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.
|
|
477
|
+
*
|
|
478
|
+
* @param params The parameters for the app deletion transaction
|
|
479
|
+
* @example Basic example
|
|
480
|
+
* ```typescript
|
|
481
|
+
* await algorand.send.appDelete({ sender: 'CREATORADDRESS' })
|
|
482
|
+
* ```
|
|
483
|
+
* @example Advanced example
|
|
484
|
+
* ```typescript
|
|
485
|
+
* await algorand.send.appDelete({
|
|
486
|
+
* sender: 'CREATORADDRESS',
|
|
487
|
+
* onComplete: algosdk.OnApplicationComplete.DeleteApplicationOC,
|
|
488
|
+
* args: [new Uint8Array(1, 2, 3, 4)]
|
|
489
|
+
* accountReferences: ["ACCOUNT_1"]
|
|
490
|
+
* appReferences: [123n, 1234n]
|
|
491
|
+
* assetReferences: [12345n]
|
|
492
|
+
* boxReferences: ["box1", {appId: 1234n, name: "box2"}]
|
|
493
|
+
* lease: 'lease',
|
|
494
|
+
* note: 'note',
|
|
495
|
+
* // You wouldn't normally set this field
|
|
496
|
+
* firstValidRound: 1000n,
|
|
497
|
+
* validityWindow: 10,
|
|
498
|
+
* extraFee: (1000).microAlgo(),
|
|
499
|
+
* staticFee: (1000).microAlgo(),
|
|
500
|
+
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
501
|
+
* // already specified, but here for completeness
|
|
502
|
+
* maxFee: (3000).microAlgo(),
|
|
503
|
+
* // Signer only needed if you want to provide one,
|
|
504
|
+
* // generally you'd register it with AlgorandClient
|
|
505
|
+
* // against the sender and not need to pass it in
|
|
506
|
+
* signer: transactionSigner,
|
|
507
|
+
* maxRoundsToWaitForConfirmation: 5,
|
|
508
|
+
* suppressLog: true,
|
|
509
|
+
*})
|
|
510
|
+
* ```
|
|
511
|
+
*/
|
|
512
|
+
this.appDelete = this._sendAppCall((c) => c.addAppDelete);
|
|
377
513
|
/**
|
|
378
514
|
* Call a smart contract.
|
|
379
515
|
*
|
|
380
|
-
* Note: you may prefer to use `
|
|
516
|
+
* Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.
|
|
517
|
+
*
|
|
518
|
+
* @param params The parameters for the app call transaction
|
|
519
|
+
* @example Basic example
|
|
520
|
+
* ```typescript
|
|
521
|
+
* await algorand.send.appCall({ sender: 'CREATORADDRESS' })
|
|
522
|
+
* ```
|
|
523
|
+
* @example Advanced example
|
|
524
|
+
* ```typescript
|
|
525
|
+
* await algorand.send.appCall({
|
|
526
|
+
* sender: 'CREATORADDRESS',
|
|
527
|
+
* onComplete: algosdk.OnApplicationComplete.OptInOC,
|
|
528
|
+
* args: [new Uint8Array(1, 2, 3, 4)]
|
|
529
|
+
* accountReferences: ["ACCOUNT_1"]
|
|
530
|
+
* appReferences: [123n, 1234n]
|
|
531
|
+
* assetReferences: [12345n]
|
|
532
|
+
* boxReferences: ["box1", {appId: 1234n, name: "box2"}]
|
|
533
|
+
* lease: 'lease',
|
|
534
|
+
* note: 'note',
|
|
535
|
+
* // You wouldn't normally set this field
|
|
536
|
+
* firstValidRound: 1000n,
|
|
537
|
+
* validityWindow: 10,
|
|
538
|
+
* extraFee: (1000).microAlgo(),
|
|
539
|
+
* staticFee: (1000).microAlgo(),
|
|
540
|
+
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
541
|
+
* // already specified, but here for completeness
|
|
542
|
+
* maxFee: (3000).microAlgo(),
|
|
543
|
+
* // Signer only needed if you want to provide one,
|
|
544
|
+
* // generally you'd register it with AlgorandClient
|
|
545
|
+
* // against the sender and not need to pass it in
|
|
546
|
+
* signer: transactionSigner,
|
|
547
|
+
* maxRoundsToWaitForConfirmation: 5,
|
|
548
|
+
* suppressLog: true,
|
|
549
|
+
*})
|
|
550
|
+
* ```
|
|
381
551
|
*/
|
|
382
|
-
this.appCall = this.
|
|
552
|
+
this.appCall = this._sendAppCall((c) => c.addAppCall);
|
|
383
553
|
/**
|
|
384
|
-
*
|
|
554
|
+
* Create a smart contract via an ABI method.
|
|
555
|
+
*
|
|
556
|
+
* Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.
|
|
385
557
|
*
|
|
386
|
-
*
|
|
558
|
+
* @param params The parameters for the app creation transaction
|
|
559
|
+
* @example Basic example
|
|
560
|
+
* ```typescript
|
|
561
|
+
* const method = new ABIMethod({
|
|
562
|
+
* name: 'method',
|
|
563
|
+
* args: [{ name: 'arg1', type: 'string' }],
|
|
564
|
+
* returns: { type: 'string' },
|
|
565
|
+
* })
|
|
566
|
+
* const result = await algorand.send.appCreateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: ["arg1_value"] })
|
|
567
|
+
* const createdAppId = result.appId
|
|
568
|
+
* ```
|
|
569
|
+
* @example Advanced example
|
|
570
|
+
* ```typescript
|
|
571
|
+
* const method = new ABIMethod({
|
|
572
|
+
* name: 'method',
|
|
573
|
+
* args: [{ name: 'arg1', type: 'string' }],
|
|
574
|
+
* returns: { type: 'string' },
|
|
575
|
+
* })
|
|
576
|
+
* await algorand.send.appCreate({
|
|
577
|
+
* sender: 'CREATORADDRESS',
|
|
578
|
+
* method: method,
|
|
579
|
+
* args: ["arg1_value"],
|
|
580
|
+
* approvalProgram: "TEALCODE",
|
|
581
|
+
* clearStateProgram: "TEALCODE",
|
|
582
|
+
* schema: {
|
|
583
|
+
* globalInts: 1,
|
|
584
|
+
* globalByteSlices: 2,
|
|
585
|
+
* localInts: 3,
|
|
586
|
+
* localByteSlices: 4
|
|
587
|
+
* },
|
|
588
|
+
* extraProgramPages: 1,
|
|
589
|
+
* onComplete: algosdk.OnApplicationComplete.OptInOC,
|
|
590
|
+
* args: [new Uint8Array(1, 2, 3, 4)]
|
|
591
|
+
* accountReferences: ["ACCOUNT_1"]
|
|
592
|
+
* appReferences: [123n, 1234n]
|
|
593
|
+
* assetReferences: [12345n]
|
|
594
|
+
* boxReferences: ["box1", {appId: 1234n, name: "box2"}]
|
|
595
|
+
* lease: 'lease',
|
|
596
|
+
* note: 'note',
|
|
597
|
+
* // You wouldn't normally set this field
|
|
598
|
+
* firstValidRound: 1000n,
|
|
599
|
+
* validityWindow: 10,
|
|
600
|
+
* extraFee: (1000).microAlgo(),
|
|
601
|
+
* staticFee: (1000).microAlgo(),
|
|
602
|
+
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
603
|
+
* // already specified, but here for completeness
|
|
604
|
+
* maxFee: (3000).microAlgo(),
|
|
605
|
+
* // Signer only needed if you want to provide one,
|
|
606
|
+
* // generally you'd register it with AlgorandClient
|
|
607
|
+
* // against the sender and not need to pass it in
|
|
608
|
+
* signer: transactionSigner,
|
|
609
|
+
* maxRoundsToWaitForConfirmation: 5,
|
|
610
|
+
* suppressLog: true,
|
|
611
|
+
*})
|
|
612
|
+
* ```
|
|
387
613
|
*/
|
|
388
|
-
this.
|
|
614
|
+
this.appCreateMethodCall = this._sendAppCreateCall((c) => c.addAppCreateMethodCall, {
|
|
615
|
+
postLog: (params, result) => `App created by ${params.sender} with ID ${result.confirmation.applicationIndex} via transaction ${result.txIds.at(-1)}`,
|
|
616
|
+
});
|
|
617
|
+
/**
|
|
618
|
+
* Update a smart contract via an ABI method.
|
|
619
|
+
*
|
|
620
|
+
* Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.
|
|
621
|
+
*
|
|
622
|
+
* @param params The parameters for the app update transaction
|
|
623
|
+
* @example Basic example
|
|
624
|
+
* ```typescript
|
|
625
|
+
* const method = new ABIMethod({
|
|
626
|
+
* name: 'method',
|
|
627
|
+
* args: [{ name: 'arg1', type: 'string' }],
|
|
628
|
+
* returns: { type: 'string' },
|
|
629
|
+
* })
|
|
630
|
+
* await algorand.send.appUpdateMethodCall({ sender: 'CREATORADDRESS', approvalProgram: 'TEALCODE', clearStateProgram: 'TEALCODE', method: method, args: ["arg1_value"] })
|
|
631
|
+
* ```
|
|
632
|
+
* @example Advanced example
|
|
633
|
+
* ```typescript
|
|
634
|
+
* const method = new ABIMethod({
|
|
635
|
+
* name: 'method',
|
|
636
|
+
* args: [{ name: 'arg1', type: 'string' }],
|
|
637
|
+
* returns: { type: 'string' },
|
|
638
|
+
* })
|
|
639
|
+
* await algorand.send.appUpdateMethodCall({
|
|
640
|
+
* sender: 'CREATORADDRESS',
|
|
641
|
+
* method: method,
|
|
642
|
+
* args: ["arg1_value"],
|
|
643
|
+
* approvalProgram: "TEALCODE",
|
|
644
|
+
* clearStateProgram: "TEALCODE",
|
|
645
|
+
* onComplete: algosdk.OnApplicationComplete.UpdateApplicationOC,
|
|
646
|
+
* args: [new Uint8Array(1, 2, 3, 4)]
|
|
647
|
+
* accountReferences: ["ACCOUNT_1"]
|
|
648
|
+
* appReferences: [123n, 1234n]
|
|
649
|
+
* assetReferences: [12345n]
|
|
650
|
+
* boxReferences: ["box1", {appId: 1234n, name: "box2"}]
|
|
651
|
+
* lease: 'lease',
|
|
652
|
+
* note: 'note',
|
|
653
|
+
* // You wouldn't normally set this field
|
|
654
|
+
* firstValidRound: 1000n,
|
|
655
|
+
* validityWindow: 10,
|
|
656
|
+
* extraFee: (1000).microAlgo(),
|
|
657
|
+
* staticFee: (1000).microAlgo(),
|
|
658
|
+
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
659
|
+
* // already specified, but here for completeness
|
|
660
|
+
* maxFee: (3000).microAlgo(),
|
|
661
|
+
* // Signer only needed if you want to provide one,
|
|
662
|
+
* // generally you'd register it with AlgorandClient
|
|
663
|
+
* // against the sender and not need to pass it in
|
|
664
|
+
* signer: transactionSigner,
|
|
665
|
+
* maxRoundsToWaitForConfirmation: 5,
|
|
666
|
+
* suppressLog: true,
|
|
667
|
+
*})
|
|
668
|
+
* ```
|
|
669
|
+
*/
|
|
670
|
+
this.appUpdateMethodCall = this._sendAppUpdateCall((c) => c.addAppUpdateMethodCall);
|
|
671
|
+
/**
|
|
672
|
+
* Delete a smart contract via an ABI method.
|
|
673
|
+
*
|
|
674
|
+
* Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.
|
|
675
|
+
*
|
|
676
|
+
* @param params The parameters for the app deletion transaction
|
|
677
|
+
* @example Basic example
|
|
678
|
+
* ```typescript
|
|
679
|
+
* const method = new ABIMethod({
|
|
680
|
+
* name: 'method',
|
|
681
|
+
* args: [{ name: 'arg1', type: 'string' }],
|
|
682
|
+
* returns: { type: 'string' },
|
|
683
|
+
* })
|
|
684
|
+
* await algorand.send.appDeleteMethodCall({ sender: 'CREATORADDRESS', method: method, args: ["arg1_value"] })
|
|
685
|
+
* ```
|
|
686
|
+
* @example Advanced example
|
|
687
|
+
* ```typescript
|
|
688
|
+
* const method = new ABIMethod({
|
|
689
|
+
* name: 'method',
|
|
690
|
+
* args: [{ name: 'arg1', type: 'string' }],
|
|
691
|
+
* returns: { type: 'string' },
|
|
692
|
+
* })
|
|
693
|
+
* await algorand.send.appDeleteMethodCall({
|
|
694
|
+
* sender: 'CREATORADDRESS',
|
|
695
|
+
* method: method,
|
|
696
|
+
* args: ["arg1_value"],
|
|
697
|
+
* onComplete: algosdk.OnApplicationComplete.DeleteApplicationOC,
|
|
698
|
+
* args: [new Uint8Array(1, 2, 3, 4)]
|
|
699
|
+
* accountReferences: ["ACCOUNT_1"]
|
|
700
|
+
* appReferences: [123n, 1234n]
|
|
701
|
+
* assetReferences: [12345n]
|
|
702
|
+
* boxReferences: ["box1", {appId: 1234n, name: "box2"}]
|
|
703
|
+
* lease: 'lease',
|
|
704
|
+
* note: 'note',
|
|
705
|
+
* // You wouldn't normally set this field
|
|
706
|
+
* firstValidRound: 1000n,
|
|
707
|
+
* validityWindow: 10,
|
|
708
|
+
* extraFee: (1000).microAlgo(),
|
|
709
|
+
* staticFee: (1000).microAlgo(),
|
|
710
|
+
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
711
|
+
* // already specified, but here for completeness
|
|
712
|
+
* maxFee: (3000).microAlgo(),
|
|
713
|
+
* // Signer only needed if you want to provide one,
|
|
714
|
+
* // generally you'd register it with AlgorandClient
|
|
715
|
+
* // against the sender and not need to pass it in
|
|
716
|
+
* signer: transactionSigner,
|
|
717
|
+
* maxRoundsToWaitForConfirmation: 5,
|
|
718
|
+
* suppressLog: true,
|
|
719
|
+
*})
|
|
720
|
+
* ```
|
|
721
|
+
*/
|
|
722
|
+
this.appDeleteMethodCall = this._sendAppCall((c) => c.addAppDeleteMethodCall);
|
|
723
|
+
/**
|
|
724
|
+
* Call a smart contract via an ABI method.
|
|
725
|
+
*
|
|
726
|
+
* Note: you may prefer to use `algorand.client` to get an app client for more advanced functionality.
|
|
727
|
+
*
|
|
728
|
+
* @param params The parameters for the app call transaction
|
|
729
|
+
* @example Basic example
|
|
730
|
+
* ```typescript
|
|
731
|
+
* const method = new ABIMethod({
|
|
732
|
+
* name: 'method',
|
|
733
|
+
* args: [{ name: 'arg1', type: 'string' }],
|
|
734
|
+
* returns: { type: 'string' },
|
|
735
|
+
* })
|
|
736
|
+
* await algorand.send.appCallMethodCall({ sender: 'CREATORADDRESS', method: method, args: ["arg1_value"] })
|
|
737
|
+
* ```
|
|
738
|
+
* @example Advanced example
|
|
739
|
+
* ```typescript
|
|
740
|
+
* const method = new ABIMethod({
|
|
741
|
+
* name: 'method',
|
|
742
|
+
* args: [{ name: 'arg1', type: 'string' }],
|
|
743
|
+
* returns: { type: 'string' },
|
|
744
|
+
* })
|
|
745
|
+
* await algorand.send.appCallMethodCall({
|
|
746
|
+
* sender: 'CREATORADDRESS',
|
|
747
|
+
* method: method,
|
|
748
|
+
* args: ["arg1_value"],
|
|
749
|
+
* onComplete: algosdk.OnApplicationComplete.OptInOC,
|
|
750
|
+
* args: [new Uint8Array(1, 2, 3, 4)]
|
|
751
|
+
* accountReferences: ["ACCOUNT_1"]
|
|
752
|
+
* appReferences: [123n, 1234n]
|
|
753
|
+
* assetReferences: [12345n]
|
|
754
|
+
* boxReferences: ["box1", {appId: 1234n, name: "box2"}]
|
|
755
|
+
* lease: 'lease',
|
|
756
|
+
* note: 'note',
|
|
757
|
+
* // You wouldn't normally set this field
|
|
758
|
+
* firstValidRound: 1000n,
|
|
759
|
+
* validityWindow: 10,
|
|
760
|
+
* extraFee: (1000).microAlgo(),
|
|
761
|
+
* staticFee: (1000).microAlgo(),
|
|
762
|
+
* // Max fee doesn't make sense with extraFee AND staticFee
|
|
763
|
+
* // already specified, but here for completeness
|
|
764
|
+
* maxFee: (3000).microAlgo(),
|
|
765
|
+
* // Signer only needed if you want to provide one,
|
|
766
|
+
* // generally you'd register it with AlgorandClient
|
|
767
|
+
* // against the sender and not need to pass it in
|
|
768
|
+
* signer: transactionSigner,
|
|
769
|
+
* maxRoundsToWaitForConfirmation: 5,
|
|
770
|
+
* suppressLog: true,
|
|
771
|
+
*})
|
|
772
|
+
* ```
|
|
773
|
+
*/
|
|
774
|
+
this.appCallMethodCall = this._sendAppCall((c) => c.addAppCallMethodCall);
|
|
389
775
|
/** Register an online key. */
|
|
390
776
|
this.onlineKeyRegistration = this._send((c) => c.addOnlineKeyRegistration, {
|
|
391
777
|
preLog: (params, transaction) => `Registering online key for ${params.sender} via transaction ${transaction.txID()}`,
|
|
392
778
|
});
|
|
393
779
|
this._newGroup = newGroup;
|
|
394
780
|
this._assetManager = assetManager;
|
|
781
|
+
this._appManager = appManager;
|
|
782
|
+
}
|
|
783
|
+
newGroup() {
|
|
784
|
+
return this._newGroup();
|
|
395
785
|
}
|
|
396
786
|
_send(c, log) {
|
|
397
787
|
return async (params) => {
|
|
@@ -405,9 +795,9 @@ class AlgorandClientTransactionSender {
|
|
|
405
795
|
const rawResult = await composer.execute(params);
|
|
406
796
|
const result = {
|
|
407
797
|
// Last item covers when a group is created by an app call with ABI transaction parameters
|
|
408
|
-
transaction: rawResult.transactions
|
|
409
|
-
confirmation: rawResult.confirmations
|
|
410
|
-
txId: rawResult.txIds
|
|
798
|
+
transaction: rawResult.transactions.at(-1),
|
|
799
|
+
confirmation: rawResult.confirmations.at(-1),
|
|
800
|
+
txId: rawResult.txIds.at(-1),
|
|
411
801
|
...rawResult,
|
|
412
802
|
};
|
|
413
803
|
if (log?.postLog) {
|
|
@@ -416,6 +806,30 @@ class AlgorandClientTransactionSender {
|
|
|
416
806
|
return result;
|
|
417
807
|
};
|
|
418
808
|
}
|
|
809
|
+
_sendAppCall(c, log) {
|
|
810
|
+
return async (params) => {
|
|
811
|
+
const result = await this._send(c, log)(params);
|
|
812
|
+
return { ...result, return: types_appManager.AppManager.getABIReturn(result.confirmation, 'method' in params ? params.method : undefined) };
|
|
813
|
+
};
|
|
814
|
+
}
|
|
815
|
+
_sendAppUpdateCall(c, log) {
|
|
816
|
+
return async (params) => {
|
|
817
|
+
const result = await this._sendAppCall(c, log)(params);
|
|
818
|
+
const compiledApproval = typeof params.approvalProgram === 'string' ? this._appManager.getCompilationResult(params.approvalProgram) : undefined;
|
|
819
|
+
const compiledClear = typeof params.clearStateProgram === 'string' ? this._appManager.getCompilationResult(params.clearStateProgram) : undefined;
|
|
820
|
+
return { ...result, compiledApproval, compiledClear };
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
_sendAppCreateCall(c, log) {
|
|
824
|
+
return async (params) => {
|
|
825
|
+
const result = await this._sendAppUpdateCall(c, log)(params);
|
|
826
|
+
return {
|
|
827
|
+
...result,
|
|
828
|
+
appId: BigInt(result.confirmation.applicationIndex),
|
|
829
|
+
appAddress: algosdk.getApplicationAddress(result.confirmation.applicationIndex),
|
|
830
|
+
};
|
|
831
|
+
};
|
|
832
|
+
}
|
|
419
833
|
}
|
|
420
834
|
|
|
421
835
|
exports.AlgorandClientTransactionSender = AlgorandClientTransactionSender;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"algorand-client-transaction-sender.js","sources":["../../src/types/algorand-client-transaction-sender.ts"],"sourcesContent":[null],"names":["Config"],"mappings":"
|
|
1
|
+
{"version":3,"file":"algorand-client-transaction-sender.js","sources":["../../src/types/algorand-client-transaction-sender.ts"],"sourcesContent":[null],"names":["Config","AppManager"],"mappings":"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"}
|