@algorandfoundation/algokit-utils 6.2.1-beta.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
@@ -1,39 +1,30 @@
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');
5
4
  var transaction = require('../transaction/transaction.js');
6
5
 
7
6
  /**
8
- * Transfer ALGOs between two accounts.
7
+ * @deprecated Use `algorand.send.payment()` / `algorand.transaction.payment()` instead
8
+ *
9
+ * Transfer Algo between two accounts.
9
10
  * @param transfer The transfer definition
10
11
  * @param algod An algod client
11
12
  * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
12
13
  *
13
14
  * @example Usage example
14
15
  * ```typescript
15
- * await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
16
+ * await algokit.transferAlgos({ from, to, amount: algokit.algo(1) }, algod)
16
17
  * ```
17
18
  */
18
19
  async function transferAlgos(transfer, algod) {
19
- const { from, to, amount, note, transactionParams, lease, ...sendParams } = transfer;
20
- const transaction$1 = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
21
- from: transaction.getSenderAddress(from),
22
- to: transaction.getSenderAddress(to),
23
- amount: amount.microAlgos,
24
- note: transaction.encodeTransactionNote(note),
25
- suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
26
- closeRemainderTo: undefined,
27
- rekeyTo: undefined,
28
- });
29
- const encodedLease = transaction.encodeLease(lease);
30
- if (encodedLease) {
31
- transaction$1.addLease(encodedLease);
32
- }
33
- if (!sendParams.skipSending) {
34
- config.Config.getLogger(sendParams.suppressLog).debug(`Transferring ${amount.microAlgos}µALGOs from ${transaction.getSenderAddress(from)} to ${transaction.getSenderAddress(to)}`);
35
- }
36
- return transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
20
+ const params = {
21
+ sender: transaction.getSenderAddress(transfer.from),
22
+ receiver: transaction.getSenderAddress(transfer.to),
23
+ amount: transfer.amount,
24
+ note: transaction.encodeTransactionNote(transfer.note),
25
+ lease: transfer.lease,
26
+ };
27
+ return await legacyBridge.legacySendTransactionBridge(algod, transfer.from, transfer, params, (c) => c.payment, (c) => c.payment);
37
28
  }
38
29
 
39
30
  exports.transferAlgos = transferAlgos;
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-algos.js","sources":["../../src/transfer/transfer-algos.ts"],"sourcesContent":[null],"names":["transaction","getSenderAddress","encodeTransactionNote","getTransactionParams","encodeLease","Config","sendTransaction"],"mappings":";;;;;;AAOA;;;;;;;;;;AAUG;AACI,eAAe,aAAa,CAAC,QAA4B,EAAE,KAAc,EAAA;AAC9E,IAAA,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAA;AAEpF,IAAA,MAAMA,aAAW,GAAG,OAAO,CAAC,2CAA2C,CAAC;AACtE,QAAA,IAAI,EAAEC,4BAAgB,CAAC,IAAI,CAAC;AAC5B,QAAA,EAAE,EAAEA,4BAAgB,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,UAAU;AACzB,QAAA,IAAI,EAAEC,iCAAqB,CAAC,IAAI,CAAC;AACjC,QAAA,eAAe,EAAE,MAAMC,gCAAoB,CAAC,iBAAiB,EAAE,KAAK,CAAC;AACrE,QAAA,gBAAgB,EAAE,SAAS;AAC3B,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA,CAAC,CAAA;AAEF,IAAA,MAAM,YAAY,GAAGC,uBAAW,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,YAAY,EAAE;AAChB,QAAAJ,aAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;KACnC;AAED,IAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAC3BK,aAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAC5C,CAAA,aAAA,EAAgB,MAAM,CAAC,UAAU,CAAe,YAAA,EAAAJ,4BAAgB,CAAC,IAAI,CAAC,CAAA,IAAA,EAAOA,4BAAgB,CAAC,EAAE,CAAC,CAAE,CAAA,CACpG,CAAA;KACF;AAED,IAAA,OAAOK,2BAAe,CAAC,eAAEN,aAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE;;;;"}
1
+ {"version":3,"file":"transfer-algos.js","sources":["../../src/transfer/transfer-algos.ts"],"sourcesContent":[null],"names":["getSenderAddress","encodeTransactionNote","legacySendTransactionBridge"],"mappings":";;;;;AAQA;;;;;;;;;;;;AAYG;AACI,eAAe,aAAa,CAAC,QAA4B,EAAE,KAAc,EAAA;AAC9E,IAAA,MAAM,MAAM,GAAkB;AAC5B,QAAA,MAAM,EAAEA,4BAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvC,QAAA,QAAQ,EAAEA,4BAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,QAAQ,CAAC,MAAM;AACvB,QAAA,IAAI,EAAEC,iCAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAA;AAED,IAAA,OAAO,MAAMC,wCAA2B,CACtC,KAAK,EACL,QAAQ,CAAC,IAAI,EACb,QAAQ,EACR,MAAM,EACN,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAChB,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CACjB,CAAA;AACH;;;;"}
@@ -1,37 +1,28 @@
1
- import algosdk from 'algosdk';
2
- import { Config } from '../config.mjs';
3
- import { getSenderAddress, encodeTransactionNote, getTransactionParams, encodeLease, sendTransaction } from '../transaction/transaction.mjs';
1
+ import { legacySendTransactionBridge } from '../transaction/legacy-bridge.mjs';
2
+ import { getSenderAddress, encodeTransactionNote } from '../transaction/transaction.mjs';
4
3
 
5
4
  /**
6
- * Transfer ALGOs between two accounts.
5
+ * @deprecated Use `algorand.send.payment()` / `algorand.transaction.payment()` instead
6
+ *
7
+ * Transfer Algo between two accounts.
7
8
  * @param transfer The transfer definition
8
9
  * @param algod An algod client
9
10
  * @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
10
11
  *
11
12
  * @example Usage example
12
13
  * ```typescript
13
- * await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
14
+ * await algokit.transferAlgos({ from, to, amount: algokit.algo(1) }, algod)
14
15
  * ```
15
16
  */
16
17
  async function transferAlgos(transfer, algod) {
17
- const { from, to, amount, note, transactionParams, lease, ...sendParams } = transfer;
18
- const transaction = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
19
- from: getSenderAddress(from),
20
- to: getSenderAddress(to),
21
- amount: amount.microAlgos,
22
- note: encodeTransactionNote(note),
23
- suggestedParams: await getTransactionParams(transactionParams, algod),
24
- closeRemainderTo: undefined,
25
- rekeyTo: undefined,
26
- });
27
- const encodedLease = encodeLease(lease);
28
- if (encodedLease) {
29
- transaction.addLease(encodedLease);
30
- }
31
- if (!sendParams.skipSending) {
32
- Config.getLogger(sendParams.suppressLog).debug(`Transferring ${amount.microAlgos}µALGOs from ${getSenderAddress(from)} to ${getSenderAddress(to)}`);
33
- }
34
- return sendTransaction({ transaction, from, sendParams }, algod);
18
+ const params = {
19
+ sender: getSenderAddress(transfer.from),
20
+ receiver: getSenderAddress(transfer.to),
21
+ amount: transfer.amount,
22
+ note: encodeTransactionNote(transfer.note),
23
+ lease: transfer.lease,
24
+ };
25
+ return await legacySendTransactionBridge(algod, transfer.from, transfer, params, (c) => c.payment, (c) => c.payment);
35
26
  }
36
27
 
37
28
  export { transferAlgos };
@@ -1 +1 @@
1
- {"version":3,"file":"transfer-algos.mjs","sources":["../../src/transfer/transfer-algos.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAOA;;;;;;;;;;AAUG;AACI,eAAe,aAAa,CAAC,QAA4B,EAAE,KAAc,EAAA;AAC9E,IAAA,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAA;AAEpF,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,2CAA2C,CAAC;AACtE,QAAA,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;AAC5B,QAAA,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,UAAU;AACzB,QAAA,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;AACjC,QAAA,eAAe,EAAE,MAAM,oBAAoB,CAAC,iBAAiB,EAAE,KAAK,CAAC;AACrE,QAAA,gBAAgB,EAAE,SAAS;AAC3B,QAAA,OAAO,EAAE,SAAS;AACnB,KAAA,CAAC,CAAA;AAEF,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,YAAY,EAAE;AAChB,QAAA,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;KACnC;AAED,IAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAC3B,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAC5C,CAAA,aAAA,EAAgB,MAAM,CAAC,UAAU,CAAe,YAAA,EAAA,gBAAgB,CAAC,IAAI,CAAC,CAAA,IAAA,EAAO,gBAAgB,CAAC,EAAE,CAAC,CAAE,CAAA,CACpG,CAAA;KACF;AAED,IAAA,OAAO,eAAe,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE;;;;"}
1
+ {"version":3,"file":"transfer-algos.mjs","sources":["../../src/transfer/transfer-algos.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAQA;;;;;;;;;;;;AAYG;AACI,eAAe,aAAa,CAAC,QAA4B,EAAE,KAAc,EAAA;AAC9E,IAAA,MAAM,MAAM,GAAkB;AAC5B,QAAA,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvC,QAAA,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,QAAQ,CAAC,MAAM;AACvB,QAAA,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,KAAK,EAAE,QAAQ,CAAC,KAAK;KACtB,CAAA;AAED,IAAA,OAAO,MAAM,2BAA2B,CACtC,KAAK,EACL,QAAQ,CAAC,IAAI,EACb,QAAQ,EACR,MAAM,EACN,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAChB,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CACjB,CAAA;AACH;;;;"}
@@ -4,7 +4,10 @@ import { AlgoRekeyParams, EnsureFundedParams, EnsureFundedReturnType, TransferAs
4
4
  import Algodv2 = algosdk.Algodv2;
5
5
  import Kmd = algosdk.Kmd;
6
6
  /**
7
- * Funds a given account using a funding source such that it has a certain amount of algos free to spend (accounting for ALGOs locked in minimum balance requirement).
7
+ * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`
8
+ * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead
9
+ *
10
+ * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).
8
11
  *
9
12
  * https://developer.algorand.org/docs/get-details/accounts/#minimum-balance
10
13
  *
@@ -17,6 +20,8 @@ import Kmd = algosdk.Kmd;
17
20
  */
18
21
  export declare function ensureFunded<T extends EnsureFundedParams>(funding: T, algod: Algodv2, kmd?: Kmd): Promise<EnsureFundedReturnType | undefined>;
19
22
  /**
23
+ * @deprecated Use `algorand.send.assetTransfer()` / `algorand.transaction.assetTransfer()` instead
24
+ *
20
25
  * Transfer asset between two accounts.
21
26
  * @param transfer The transfer definition
22
27
  * @param algod An algod client
@@ -29,6 +34,8 @@ export declare function ensureFunded<T extends EnsureFundedParams>(funding: T, a
29
34
  */
30
35
  export declare function transferAsset(transfer: TransferAssetParams, algod: Algodv2): Promise<SendTransactionResult>;
31
36
  /**
37
+ * @deprecated Use `algorand.account.rekeyAccount()` instead
38
+ *
32
39
  * Rekey an account to a new address.
33
40
  *
34
41
  * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://developer.algorand.org/docs/get-details/accounts/rekey/).
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAQ7B,OAAO,EAAE,qBAAqB,EAAmB,MAAM,sBAAsB,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGpH,OAAO,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;AAChC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;AA+DxB;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,kBAAkB,EAC7D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,GAAG,GACR,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAkC7C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0BjH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuBzG"}
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACpH,OAAO,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;AAChC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;AAExB;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,kBAAkB,EAC7D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,GAAG,GACR,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CA2C7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAiBjH;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgBzG"}
@@ -1,41 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var algosdk = require('algosdk');
4
- var amount = require('../amount.js');
5
- var config = require('../config.js');
3
+ var legacyBridge = require('../transaction/legacy-bridge.js');
6
4
  var transaction = require('../transaction/transaction.js');
7
- var types_accountManager = require('../types/account-manager.js');
8
- var types_clientManager = require('../types/client-manager.js');
5
+ var types_algorandClient = require('../types/algorand-client.js');
9
6
  var types_dispenserClient = require('../types/dispenser-client.js');
10
- var util = require('../util.js');
11
- var transferAlgos = require('./transfer-algos.js');
12
7
 
13
- async function fundUsingDispenserApi(dispenserClient, addressToFund, fundAmount) {
14
- const response = await dispenserClient.fund(addressToFund, fundAmount);
15
- return { transactionId: response.txId, amount: response.amount };
16
- }
17
- async function fundUsingTransfer({ algod, addressToFund, funding, fundAmount, transactionParams, sendParams, note, kmd, }) {
18
- if (funding.fundingSource instanceof types_dispenserClient.TestNetDispenserApiClient) {
19
- throw new Error('Dispenser API client is not supported in this context.');
20
- }
21
- const from = funding.fundingSource ?? (await new types_accountManager.AccountManager(new types_clientManager.ClientManager({ algod, kmd })).dispenserFromEnvironment());
22
- const amount$1 = amount.microAlgos(Math.max(fundAmount, funding.minFundingIncrement?.microAlgos ?? 0));
23
- const response = await transferAlgos.transferAlgos({
24
- from,
25
- to: addressToFund,
26
- note: note ?? 'Funding account to meet minimum requirement',
27
- amount: amount$1,
28
- transactionParams: transactionParams,
29
- lease: funding.lease,
30
- ...sendParams,
31
- }, algod);
32
- return {
33
- transactionId: response.transaction.txID(),
34
- amount: Number(response.transaction.amount),
35
- };
36
- }
37
8
  /**
38
- * Funds a given account using a funding source such that it has a certain amount of algos free to spend (accounting for ALGOs locked in minimum balance requirement).
9
+ * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`
10
+ * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead
11
+ *
12
+ * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).
39
13
  *
40
14
  * https://developer.algorand.org/docs/get-details/accounts/#minimum-balance
41
15
  *
@@ -47,33 +21,41 @@ async function fundUsingTransfer({ algod, addressToFund, funding, fundAmount, tr
47
21
  * - `undefined` if no funds were needed.
48
22
  */
49
23
  async function ensureFunded(funding, algod, kmd) {
50
- const { accountToFund, fundingSource, minSpendingBalance, minFundingIncrement, transactionParams, note, ...sendParams } = funding;
51
- const addressToFund = typeof accountToFund === 'string' ? accountToFund : transaction.getSenderAddress(accountToFund);
52
- const accountInfo = await algod.accountInformation(addressToFund).do();
53
- const balance = Number(accountInfo.amount);
54
- const minimumBalanceRequirement = amount.microAlgos(Number(accountInfo['min-balance']));
55
- const currentSpendingBalance = amount.microAlgos(balance - minimumBalanceRequirement.microAlgos);
56
- const fundAmount = util.calculateFundAmount(minSpendingBalance.microAlgos, currentSpendingBalance.microAlgos, minFundingIncrement?.microAlgos ?? 0);
57
- if (fundAmount !== null) {
58
- if ((await new types_clientManager.ClientManager({ algod }).isTestNet()) && fundingSource instanceof types_dispenserClient.TestNetDispenserApiClient) {
59
- return await fundUsingDispenserApi(fundingSource, addressToFund, fundAmount);
60
- }
61
- else {
62
- return await fundUsingTransfer({
63
- algod,
64
- addressToFund,
65
- funding,
66
- fundAmount,
67
- transactionParams,
68
- sendParams,
69
- note,
70
- kmd,
71
- });
72
- }
24
+ const algorand = types_algorandClient.AlgorandClient.fromClients({ algod, kmd });
25
+ if (funding.fundingSource instanceof types_dispenserClient.TestNetDispenserApiClient) {
26
+ const result = await algorand.account.ensureFundedFromTestNetDispenserApi(transaction.getSenderAddress(funding.accountToFund), funding.fundingSource, funding.minSpendingBalance, {
27
+ minFundingIncrement: funding.minFundingIncrement,
28
+ });
29
+ if (!result)
30
+ return undefined;
31
+ return {
32
+ amount: result.amountFunded.microAlgo,
33
+ transactionId: result.transactionId,
34
+ };
35
+ }
36
+ else {
37
+ const sender = funding.fundingSource ?? (await algorand.account.dispenserFromEnvironment());
38
+ algorand.setSignerFromAccount(sender);
39
+ const result = await algorand.account.ensureFunded(transaction.getSenderAddress(funding.accountToFund), transaction.getSenderAddress(sender), funding.minSpendingBalance, {
40
+ minFundingIncrement: funding.minFundingIncrement,
41
+ note: transaction.encodeTransactionNote(funding.note),
42
+ staticFee: funding.fee,
43
+ lease: funding.lease,
44
+ maxFee: funding.maxFee,
45
+ maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,
46
+ suppressLog: funding.suppressLog,
47
+ });
48
+ return result
49
+ ? {
50
+ amount: result.amountFunded.microAlgo,
51
+ transactionId: result.txIds[0],
52
+ }
53
+ : undefined;
73
54
  }
74
- return undefined;
75
55
  }
76
56
  /**
57
+ * @deprecated Use `algorand.send.assetTransfer()` / `algorand.transaction.assetTransfer()` instead
58
+ *
77
59
  * Transfer asset between two accounts.
78
60
  * @param transfer The transfer definition
79
61
  * @param algod An algod client
@@ -85,28 +67,19 @@ async function ensureFunded(funding, algod, kmd) {
85
67
  * ```
86
68
  */
87
69
  async function transferAsset(transfer, algod) {
88
- const { from, to, assetId, amount, transactionParams, clawbackFrom, note, lease, ...sendParams } = transfer;
89
- const transaction$1 = algosdk.makeAssetTransferTxnWithSuggestedParamsFromObject({
90
- from: transaction.getSenderAddress(from),
91
- to: transaction.getSenderAddress(to),
92
- closeRemainderTo: undefined,
93
- revocationTarget: clawbackFrom ? transaction.getSenderAddress(clawbackFrom) : undefined,
94
- amount: amount,
95
- note: transaction.encodeTransactionNote(note),
96
- assetIndex: assetId,
97
- suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
98
- rekeyTo: undefined,
99
- });
100
- const encodedLease = transaction.encodeLease(lease);
101
- if (encodedLease) {
102
- transaction$1.addLease(encodedLease);
103
- }
104
- if (!sendParams.skipSending) {
105
- config.Config.getLogger(sendParams.suppressLog).debug(`Transferring ASA (${assetId}) of amount ${amount} from ${transaction.getSenderAddress(from)} to ${transaction.getSenderAddress(to)}`);
106
- }
107
- return transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
70
+ return legacyBridge.legacySendTransactionBridge(algod, transfer.from, transfer, {
71
+ assetId: BigInt(transfer.assetId),
72
+ sender: transaction.getSenderAddress(transfer.from),
73
+ receiver: transaction.getSenderAddress(transfer.to),
74
+ clawbackTarget: transfer.clawbackFrom ? transaction.getSenderAddress(transfer.clawbackFrom) : undefined,
75
+ amount: BigInt(transfer.amount),
76
+ note: transaction.encodeTransactionNote(transfer.note),
77
+ lease: transfer.lease,
78
+ }, (c) => c.assetTransfer, (c) => c.assetTransfer);
108
79
  }
109
80
  /**
81
+ * @deprecated Use `algorand.account.rekeyAccount()` instead
82
+ *
110
83
  * Rekey an account to a new address.
111
84
  *
112
85
  * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://developer.algorand.org/docs/get-details/accounts/rekey/).
@@ -121,24 +94,14 @@ async function transferAsset(transfer, algod) {
121
94
  * ```
122
95
  */
123
96
  async function rekeyAccount(rekey, algod) {
124
- const { from, rekeyTo, note, transactionParams, lease, ...sendParams } = rekey;
125
- const transaction$1 = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
126
- from: transaction.getSenderAddress(from),
127
- to: transaction.getSenderAddress(from),
128
- rekeyTo: transaction.getSenderAddress(rekeyTo),
129
- amount: 0,
130
- note: transaction.encodeTransactionNote(note),
131
- suggestedParams: await transaction.getTransactionParams(transactionParams, algod),
132
- closeRemainderTo: undefined,
133
- });
134
- const encodedLease = transaction.encodeLease(lease);
135
- if (encodedLease) {
136
- transaction$1.addLease(encodedLease);
137
- }
138
- if (!sendParams.skipSending) {
139
- config.Config.getLogger(sendParams.suppressLog).debug(`Rekeying ${transaction.getSenderAddress(from)} to ${transaction.getSenderAddress(rekeyTo)}`);
140
- }
141
- return transaction.sendTransaction({ transaction: transaction$1, from, sendParams }, algod);
97
+ return legacyBridge.legacySendTransactionBridge(algod, rekey.from, rekey, {
98
+ sender: transaction.getSenderAddress(rekey.from),
99
+ receiver: transaction.getSenderAddress(rekey.from),
100
+ amount: (0).microAlgo(),
101
+ rekeyTo: typeof rekey.rekeyTo === 'string' ? rekey.rekeyTo : transaction.getSenderAddress(rekey.rekeyTo),
102
+ note: transaction.encodeTransactionNote(rekey.note),
103
+ lease: rekey.lease,
104
+ }, (c) => c.payment, (c) => c.payment);
142
105
  }
143
106
 
144
107
  exports.ensureFunded = ensureFunded;
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sources":["../../src/transfer/transfer.ts"],"sourcesContent":[null],"names":["TestNetDispenserApiClient","AccountManager","ClientManager","amount","microAlgos","transferAlgos","getSenderAddress","calculateFundAmount","transaction","encodeTransactionNote","getTransactionParams","encodeLease","Config","sendTransaction"],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sources":["../../src/transfer/transfer.ts"],"sourcesContent":[null],"names":["AlgorandClient","TestNetDispenserApiClient","getSenderAddress","encodeTransactionNote","legacySendTransactionBridge"],"mappings":"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"}
@@ -1,39 +1,13 @@
1
- import algosdk from 'algosdk';
2
- import { microAlgos } from '../amount.mjs';
3
- import { Config } from '../config.mjs';
4
- import { getSenderAddress, encodeTransactionNote, getTransactionParams, encodeLease, sendTransaction } from '../transaction/transaction.mjs';
5
- import { AccountManager } from '../types/account-manager.mjs';
6
- import { ClientManager } from '../types/client-manager.mjs';
1
+ import { legacySendTransactionBridge } from '../transaction/legacy-bridge.mjs';
2
+ import { getSenderAddress, encodeTransactionNote } from '../transaction/transaction.mjs';
3
+ import { AlgorandClient } from '../types/algorand-client.mjs';
7
4
  import { TestNetDispenserApiClient } from '../types/dispenser-client.mjs';
8
- import { calculateFundAmount } from '../util.mjs';
9
- import { transferAlgos } from './transfer-algos.mjs';
10
5
 
11
- async function fundUsingDispenserApi(dispenserClient, addressToFund, fundAmount) {
12
- const response = await dispenserClient.fund(addressToFund, fundAmount);
13
- return { transactionId: response.txId, amount: response.amount };
14
- }
15
- async function fundUsingTransfer({ algod, addressToFund, funding, fundAmount, transactionParams, sendParams, note, kmd, }) {
16
- if (funding.fundingSource instanceof TestNetDispenserApiClient) {
17
- throw new Error('Dispenser API client is not supported in this context.');
18
- }
19
- const from = funding.fundingSource ?? (await new AccountManager(new ClientManager({ algod, kmd })).dispenserFromEnvironment());
20
- const amount = microAlgos(Math.max(fundAmount, funding.minFundingIncrement?.microAlgos ?? 0));
21
- const response = await transferAlgos({
22
- from,
23
- to: addressToFund,
24
- note: note ?? 'Funding account to meet minimum requirement',
25
- amount: amount,
26
- transactionParams: transactionParams,
27
- lease: funding.lease,
28
- ...sendParams,
29
- }, algod);
30
- return {
31
- transactionId: response.transaction.txID(),
32
- amount: Number(response.transaction.amount),
33
- };
34
- }
35
6
  /**
36
- * Funds a given account using a funding source such that it has a certain amount of algos free to spend (accounting for ALGOs locked in minimum balance requirement).
7
+ * @deprecated Use `algorand.account.ensureFunded()` / `algorand.account.ensureFundedFromEnvironment()`
8
+ * / `algorand.account.ensureFundedFromTestNetDispenserApi()` instead
9
+ *
10
+ * Funds a given account using a funding source such that it has a certain amount of Algo free to spend (accounting for Algo locked in minimum balance requirement).
37
11
  *
38
12
  * https://developer.algorand.org/docs/get-details/accounts/#minimum-balance
39
13
  *
@@ -45,33 +19,41 @@ async function fundUsingTransfer({ algod, addressToFund, funding, fundAmount, tr
45
19
  * - `undefined` if no funds were needed.
46
20
  */
47
21
  async function ensureFunded(funding, algod, kmd) {
48
- const { accountToFund, fundingSource, minSpendingBalance, minFundingIncrement, transactionParams, note, ...sendParams } = funding;
49
- const addressToFund = typeof accountToFund === 'string' ? accountToFund : getSenderAddress(accountToFund);
50
- const accountInfo = await algod.accountInformation(addressToFund).do();
51
- const balance = Number(accountInfo.amount);
52
- const minimumBalanceRequirement = microAlgos(Number(accountInfo['min-balance']));
53
- const currentSpendingBalance = microAlgos(balance - minimumBalanceRequirement.microAlgos);
54
- const fundAmount = calculateFundAmount(minSpendingBalance.microAlgos, currentSpendingBalance.microAlgos, minFundingIncrement?.microAlgos ?? 0);
55
- if (fundAmount !== null) {
56
- if ((await new ClientManager({ algod }).isTestNet()) && fundingSource instanceof TestNetDispenserApiClient) {
57
- return await fundUsingDispenserApi(fundingSource, addressToFund, fundAmount);
58
- }
59
- else {
60
- return await fundUsingTransfer({
61
- algod,
62
- addressToFund,
63
- funding,
64
- fundAmount,
65
- transactionParams,
66
- sendParams,
67
- note,
68
- kmd,
69
- });
70
- }
22
+ const algorand = AlgorandClient.fromClients({ algod, kmd });
23
+ if (funding.fundingSource instanceof TestNetDispenserApiClient) {
24
+ const result = await algorand.account.ensureFundedFromTestNetDispenserApi(getSenderAddress(funding.accountToFund), funding.fundingSource, funding.minSpendingBalance, {
25
+ minFundingIncrement: funding.minFundingIncrement,
26
+ });
27
+ if (!result)
28
+ return undefined;
29
+ return {
30
+ amount: result.amountFunded.microAlgo,
31
+ transactionId: result.transactionId,
32
+ };
33
+ }
34
+ else {
35
+ const sender = funding.fundingSource ?? (await algorand.account.dispenserFromEnvironment());
36
+ algorand.setSignerFromAccount(sender);
37
+ const result = await algorand.account.ensureFunded(getSenderAddress(funding.accountToFund), getSenderAddress(sender), funding.minSpendingBalance, {
38
+ minFundingIncrement: funding.minFundingIncrement,
39
+ note: encodeTransactionNote(funding.note),
40
+ staticFee: funding.fee,
41
+ lease: funding.lease,
42
+ maxFee: funding.maxFee,
43
+ maxRoundsToWaitForConfirmation: funding.maxRoundsToWaitForConfirmation,
44
+ suppressLog: funding.suppressLog,
45
+ });
46
+ return result
47
+ ? {
48
+ amount: result.amountFunded.microAlgo,
49
+ transactionId: result.txIds[0],
50
+ }
51
+ : undefined;
71
52
  }
72
- return undefined;
73
53
  }
74
54
  /**
55
+ * @deprecated Use `algorand.send.assetTransfer()` / `algorand.transaction.assetTransfer()` instead
56
+ *
75
57
  * Transfer asset between two accounts.
76
58
  * @param transfer The transfer definition
77
59
  * @param algod An algod client
@@ -83,28 +65,19 @@ async function ensureFunded(funding, algod, kmd) {
83
65
  * ```
84
66
  */
85
67
  async function transferAsset(transfer, algod) {
86
- const { from, to, assetId, amount, transactionParams, clawbackFrom, note, lease, ...sendParams } = transfer;
87
- const transaction = algosdk.makeAssetTransferTxnWithSuggestedParamsFromObject({
88
- from: getSenderAddress(from),
89
- to: getSenderAddress(to),
90
- closeRemainderTo: undefined,
91
- revocationTarget: clawbackFrom ? getSenderAddress(clawbackFrom) : undefined,
92
- amount: amount,
93
- note: encodeTransactionNote(note),
94
- assetIndex: assetId,
95
- suggestedParams: await getTransactionParams(transactionParams, algod),
96
- rekeyTo: undefined,
97
- });
98
- const encodedLease = encodeLease(lease);
99
- if (encodedLease) {
100
- transaction.addLease(encodedLease);
101
- }
102
- if (!sendParams.skipSending) {
103
- Config.getLogger(sendParams.suppressLog).debug(`Transferring ASA (${assetId}) of amount ${amount} from ${getSenderAddress(from)} to ${getSenderAddress(to)}`);
104
- }
105
- return sendTransaction({ transaction, from, sendParams }, algod);
68
+ return legacySendTransactionBridge(algod, transfer.from, transfer, {
69
+ assetId: BigInt(transfer.assetId),
70
+ sender: getSenderAddress(transfer.from),
71
+ receiver: getSenderAddress(transfer.to),
72
+ clawbackTarget: transfer.clawbackFrom ? getSenderAddress(transfer.clawbackFrom) : undefined,
73
+ amount: BigInt(transfer.amount),
74
+ note: encodeTransactionNote(transfer.note),
75
+ lease: transfer.lease,
76
+ }, (c) => c.assetTransfer, (c) => c.assetTransfer);
106
77
  }
107
78
  /**
79
+ * @deprecated Use `algorand.account.rekeyAccount()` instead
80
+ *
108
81
  * Rekey an account to a new address.
109
82
  *
110
83
  * **Note:** Please be careful with this function and be sure to read the [official rekey guidance](https://developer.algorand.org/docs/get-details/accounts/rekey/).
@@ -119,24 +92,14 @@ async function transferAsset(transfer, algod) {
119
92
  * ```
120
93
  */
121
94
  async function rekeyAccount(rekey, algod) {
122
- const { from, rekeyTo, note, transactionParams, lease, ...sendParams } = rekey;
123
- const transaction = algosdk.makePaymentTxnWithSuggestedParamsFromObject({
124
- from: getSenderAddress(from),
125
- to: getSenderAddress(from),
126
- rekeyTo: getSenderAddress(rekeyTo),
127
- amount: 0,
128
- note: encodeTransactionNote(note),
129
- suggestedParams: await getTransactionParams(transactionParams, algod),
130
- closeRemainderTo: undefined,
131
- });
132
- const encodedLease = encodeLease(lease);
133
- if (encodedLease) {
134
- transaction.addLease(encodedLease);
135
- }
136
- if (!sendParams.skipSending) {
137
- Config.getLogger(sendParams.suppressLog).debug(`Rekeying ${getSenderAddress(from)} to ${getSenderAddress(rekeyTo)}`);
138
- }
139
- return sendTransaction({ transaction, from, sendParams }, algod);
95
+ return legacySendTransactionBridge(algod, rekey.from, rekey, {
96
+ sender: getSenderAddress(rekey.from),
97
+ receiver: getSenderAddress(rekey.from),
98
+ amount: (0).microAlgo(),
99
+ rekeyTo: typeof rekey.rekeyTo === 'string' ? rekey.rekeyTo : getSenderAddress(rekey.rekeyTo),
100
+ note: encodeTransactionNote(rekey.note),
101
+ lease: rekey.lease,
102
+ }, (c) => c.payment, (c) => c.payment);
140
103
  }
141
104
 
142
105
  export { ensureFunded, rekeyAccount, transferAsset };
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.mjs","sources":["../../src/transfer/transfer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.mjs","sources":["../../src/transfer/transfer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}