@algorandfoundation/algokit-utils 3.0.1-beta.2 → 3.1.0
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/cjs/transfer.d.ts +18 -1
- package/cjs/transfer.d.ts.map +1 -1
- package/cjs/transfer.js +36 -1
- package/cjs/transfer.js.map +1 -1
- package/cjs/types/transfer.d.ts +17 -0
- package/cjs/types/transfer.d.ts.map +1 -1
- package/esm/transfer.js +34 -0
- package/esm/transfer.js.map +1 -1
- package/package.json +1 -1
- package/types/transfer.d.ts +18 -1
- package/types/transfer.d.ts.map +1 -1
- package/types/types/transfer.d.ts +17 -0
- package/types/types/transfer.d.ts.map +1 -1
package/cjs/transfer.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { Algodv2, Kmd } from 'algosdk';
|
|
2
2
|
import { SendTransactionResult } from './types/transaction';
|
|
3
|
-
import { AlgoTransferParams, EnsureFundedParams } from './types/transfer';
|
|
3
|
+
import { AlgoTransferParams, EnsureFundedParams, TransferAssetParams } from './types/transfer';
|
|
4
4
|
/**
|
|
5
5
|
* Transfer ALGOs between two accounts.
|
|
6
6
|
* @param transfer The transfer definition
|
|
7
7
|
* @param algod An algod client
|
|
8
8
|
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
9
|
+
*
|
|
10
|
+
* @example Usage example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
13
|
+
* ```
|
|
9
14
|
*/
|
|
10
15
|
export declare function transferAlgos(transfer: AlgoTransferParams, algod: Algodv2): Promise<SendTransactionResult>;
|
|
11
16
|
/**
|
|
@@ -19,4 +24,16 @@ export declare function transferAlgos(transfer: AlgoTransferParams, algod: Algod
|
|
|
19
24
|
* @returns undefined if nothing was needed or the transaction send result
|
|
20
25
|
*/
|
|
21
26
|
export declare function ensureFunded(funding: EnsureFundedParams, algod: Algodv2, kmd?: Kmd): Promise<SendTransactionResult | undefined>;
|
|
27
|
+
/**
|
|
28
|
+
* Transfer asset between two accounts.
|
|
29
|
+
* @param transfer The transfer definition
|
|
30
|
+
* @param algod An algod client
|
|
31
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
32
|
+
*
|
|
33
|
+
* @example Usage example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* await algokit.transferAsset({ from, to, assetId, amount }, algod)
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function transferAsset(transfer: TransferAssetParams, algod: Algodv2): Promise<SendTransactionResult>;
|
|
22
39
|
//# sourceMappingURL=transfer.d.ts.map
|
package/cjs/transfer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE9F;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkBhH;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAiCrI;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAqBjH"}
|
package/cjs/transfer.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ensureFunded = exports.transferAlgos = void 0;
|
|
6
|
+
exports.transferAsset = exports.ensureFunded = exports.transferAlgos = void 0;
|
|
7
7
|
const algosdk_1 = __importDefault(require("algosdk"));
|
|
8
8
|
const _1 = require("./");
|
|
9
9
|
const transaction_1 = require("./transaction");
|
|
@@ -12,6 +12,11 @@ const transaction_1 = require("./transaction");
|
|
|
12
12
|
* @param transfer The transfer definition
|
|
13
13
|
* @param algod An algod client
|
|
14
14
|
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
15
|
+
*
|
|
16
|
+
* @example Usage example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
19
|
+
* ```
|
|
15
20
|
*/
|
|
16
21
|
async function transferAlgos(transfer, algod) {
|
|
17
22
|
const { from, to, amount, note, transactionParams, ...sendParams } = transfer;
|
|
@@ -64,4 +69,34 @@ async function ensureFunded(funding, algod, kmd) {
|
|
|
64
69
|
return undefined;
|
|
65
70
|
}
|
|
66
71
|
exports.ensureFunded = ensureFunded;
|
|
72
|
+
/**
|
|
73
|
+
* Transfer asset between two accounts.
|
|
74
|
+
* @param transfer The transfer definition
|
|
75
|
+
* @param algod An algod client
|
|
76
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
77
|
+
*
|
|
78
|
+
* @example Usage example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* await algokit.transferAsset({ from, to, assetId, amount }, algod)
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
async function transferAsset(transfer, algod) {
|
|
84
|
+
const { from, to, assetId, amount, transactionParams, clawbackFrom, note, ...sendParams } = transfer;
|
|
85
|
+
const transaction = algosdk_1.default.makeAssetTransferTxnWithSuggestedParamsFromObject({
|
|
86
|
+
from: (0, transaction_1.getSenderAddress)(from),
|
|
87
|
+
to: typeof to === 'string' ? to : (0, transaction_1.getSenderAddress)(to),
|
|
88
|
+
closeRemainderTo: undefined,
|
|
89
|
+
revocationTarget: clawbackFrom ? (typeof clawbackFrom === 'string' ? clawbackFrom : (0, transaction_1.getSenderAddress)(clawbackFrom)) : undefined,
|
|
90
|
+
amount: amount,
|
|
91
|
+
note: (0, transaction_1.encodeTransactionNote)(note),
|
|
92
|
+
assetIndex: assetId,
|
|
93
|
+
suggestedParams: await (0, transaction_1.getTransactionParams)(transactionParams, algod),
|
|
94
|
+
rekeyTo: undefined,
|
|
95
|
+
});
|
|
96
|
+
if (!sendParams.skipSending) {
|
|
97
|
+
_1.Config.getLogger(sendParams.suppressLog).debug(`Transferring ASA (${assetId}) of amount ${amount} from ${(0, transaction_1.getSenderAddress)(from)} to ${to}`);
|
|
98
|
+
}
|
|
99
|
+
return (0, transaction_1.sendTransaction)({ transaction, from, sendParams }, algod);
|
|
100
|
+
}
|
|
101
|
+
exports.transferAsset = transferAsset;
|
|
67
102
|
//# sourceMappingURL=transfer.js.map
|
package/cjs/transfer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/transfer.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA+C;AAC/C,yBAA4D;AAC5D,+CAA8G;AAI9G
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/transfer.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA+C;AAC/C,yBAA4D;AAC5D,+CAA8G;AAI9G;;;;;;;;;;GAUG;AACI,KAAK,UAAU,aAAa,CAAC,QAA4B,EAAE,KAAc;IAC9E,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAA;IAE7E,MAAM,WAAW,GAAG,iBAAO,CAAC,2CAA2C,CAAC;QACtE,IAAI,EAAE,IAAA,8BAAgB,EAAC,IAAI,CAAC;QAC5B,EAAE,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,8BAAgB,EAAC,EAAE,CAAC;QACtD,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,IAAI,EAAE,IAAA,mCAAqB,EAAC,IAAI,CAAC;QACjC,eAAe,EAAE,MAAM,IAAA,kCAAoB,EAAC,iBAAiB,EAAE,KAAK,CAAC;QACrE,gBAAgB,EAAE,SAAS;QAC3B,OAAO,EAAE,SAAS;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAC3B,SAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,UAAU,eAAe,IAAA,8BAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;KAClI;IAED,OAAO,IAAA,6BAAe,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE,CAAC;AAlBD,sCAkBC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,YAAY,CAAC,OAA2B,EAAE,KAAc,EAAE,GAAS;IACvF,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,OAAO,CAAA;IAEjI,MAAM,aAAa,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAA,8BAAgB,EAAC,aAAa,CAAC,CAAA;IAEzG,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,CAAA;IACtE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,yBAAyB,GAAG,IAAA,aAAU,EAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,sBAAsB,GAAG,IAAA,aAAU,EAAC,OAAO,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAA;IAEzF,IAAI,kBAAkB,GAAG,sBAAsB,EAAE;QAC/C,MAAM,IAAI,GAAG,aAAa,IAAI,CAAC,MAAM,IAAA,sBAAmB,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACrE,MAAM,aAAa,GAAG,IAAA,aAAU,EAAC,kBAAkB,CAAC,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;QACnG,MAAM,UAAU,GAAG,IAAA,aAAU,EAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,mBAAmB,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC,CAAA;QACvG,SAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAC3C,WAAW,aAAa,IAAI,UAAU,SAAS,IAAA,8BAAgB,EAC7D,IAAI,CACL,qCAAqC,kBAAkB,eAAe,OAAO,uBAAuB,yBAAyB,GAAG,CAClI,CAAA;QACD,OAAO,MAAM,aAAa,CACxB;YACE,IAAI;YACJ,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,IAAI,IAAI,6CAA6C;YAC3D,MAAM,EAAE,UAAU;YAClB,iBAAiB;YACjB,GAAG,UAAU;SACd,EACD,KAAK,CACN,CAAA;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAjCD,oCAiCC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,aAAa,CAAC,QAA6B,EAAE,KAAc;IAC/E,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAA;IACpG,MAAM,WAAW,GAAG,iBAAO,CAAC,iDAAiD,CAAC;QAC5E,IAAI,EAAE,IAAA,8BAAgB,EAAC,IAAI,CAAC;QAC5B,EAAE,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,8BAAgB,EAAC,EAAE,CAAC;QACtD,gBAAgB,EAAE,SAAS;QAC3B,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAA,8BAAgB,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/H,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAA,mCAAqB,EAAC,IAAI,CAAC;QACjC,UAAU,EAAE,OAAO;QACnB,eAAe,EAAE,MAAM,IAAA,kCAAoB,EAAC,iBAAiB,EAAE,KAAK,CAAC;QACrE,OAAO,EAAE,SAAS;KACnB,CAAC,CAAA;IAEF,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;QAC3B,SAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAC5C,qBAAqB,OAAO,eAAe,MAAM,SAAS,IAAA,8BAAgB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAC5F,CAAA;KACF;IAED,OAAO,IAAA,6BAAe,EAAC,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAA;AAClE,CAAC;AArBD,sCAqBC"}
|
package/cjs/types/transfer.d.ts
CHANGED
|
@@ -29,4 +29,21 @@ export interface EnsureFundedParams extends SendTransactionParams {
|
|
|
29
29
|
/** The (optional) transaction note, default: "Funding account to meet minimum requirement" */
|
|
30
30
|
note?: TransactionNote;
|
|
31
31
|
}
|
|
32
|
+
/** Parameters for `transferAsset` call. */
|
|
33
|
+
export interface TransferAssetParams extends SendTransactionParams {
|
|
34
|
+
/** The account that will send the asset */
|
|
35
|
+
from: SendTransactionFrom;
|
|
36
|
+
/** The account / account address that will receive the asset */
|
|
37
|
+
to: SendTransactionFrom | string;
|
|
38
|
+
/** The asset id that will be transfered */
|
|
39
|
+
assetId: number;
|
|
40
|
+
/** The amount to send as the smallest divisible unit value */
|
|
41
|
+
amount: number | bigint;
|
|
42
|
+
/** Optional transaction parameters */
|
|
43
|
+
transactionParams?: SuggestedParams;
|
|
44
|
+
/** An address of a target account from which to perform a clawback operation. Please note, in such cases senderAccount must be equal to clawback field on ASA metadata. */
|
|
45
|
+
clawbackFrom?: SendTransactionFrom | string;
|
|
46
|
+
/** The (optional) transaction note */
|
|
47
|
+
note?: TransactionNote;
|
|
48
|
+
}
|
|
32
49
|
//# sourceMappingURL=transfer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/types/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE3F,2CAA2C;AAC3C,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,2CAA2C;IAC3C,IAAI,EAAE,mBAAmB,CAAA;IACzB,gEAAgE;IAChE,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAChC,yBAAyB;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,0CAA0C;AAC1C,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,0BAA0B;IAC1B,aAAa,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAC3C,oIAAoI;IACpI,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gIAAgI;IAChI,kBAAkB,EAAE,UAAU,CAAA;IAC9B,iJAAiJ;IACjJ,mBAAmB,CAAC,EAAE,UAAU,CAAA;IAChC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,8FAA8F;IAC9F,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB"}
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/types/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE3F,2CAA2C;AAC3C,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,2CAA2C;IAC3C,IAAI,EAAE,mBAAmB,CAAA;IACzB,gEAAgE;IAChE,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAChC,yBAAyB;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,0CAA0C;AAC1C,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,0BAA0B;IAC1B,aAAa,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAC3C,oIAAoI;IACpI,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gIAAgI;IAChI,kBAAkB,EAAE,UAAU,CAAA;IAC9B,iJAAiJ;IACjJ,mBAAmB,CAAC,EAAE,UAAU,CAAA;IAChC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,8FAA8F;IAC9F,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,2CAA2C;AAC3C,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,2CAA2C;IAC3C,IAAI,EAAE,mBAAmB,CAAA;IACzB,gEAAgE;IAChE,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAChC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,2KAA2K;IAC3K,YAAY,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAC3C,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB"}
|
package/esm/transfer.js
CHANGED
|
@@ -6,6 +6,11 @@ import { encodeTransactionNote, getSenderAddress, getTransactionParams, sendTran
|
|
|
6
6
|
* @param transfer The transfer definition
|
|
7
7
|
* @param algod An algod client
|
|
8
8
|
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
9
|
+
*
|
|
10
|
+
* @example Usage example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
13
|
+
* ```
|
|
9
14
|
*/
|
|
10
15
|
export async function transferAlgos(transfer, algod) {
|
|
11
16
|
const { from, to, amount, note, transactionParams, ...sendParams } = transfer;
|
|
@@ -56,4 +61,33 @@ export async function ensureFunded(funding, algod, kmd) {
|
|
|
56
61
|
}
|
|
57
62
|
return undefined;
|
|
58
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Transfer asset between two accounts.
|
|
66
|
+
* @param transfer The transfer definition
|
|
67
|
+
* @param algod An algod client
|
|
68
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
69
|
+
*
|
|
70
|
+
* @example Usage example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* await algokit.transferAsset({ from, to, assetId, amount }, algod)
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export async function transferAsset(transfer, algod) {
|
|
76
|
+
const { from, to, assetId, amount, transactionParams, clawbackFrom, note, ...sendParams } = transfer;
|
|
77
|
+
const transaction = algosdk.makeAssetTransferTxnWithSuggestedParamsFromObject({
|
|
78
|
+
from: getSenderAddress(from),
|
|
79
|
+
to: typeof to === 'string' ? to : getSenderAddress(to),
|
|
80
|
+
closeRemainderTo: undefined,
|
|
81
|
+
revocationTarget: clawbackFrom ? (typeof clawbackFrom === 'string' ? clawbackFrom : getSenderAddress(clawbackFrom)) : undefined,
|
|
82
|
+
amount: amount,
|
|
83
|
+
note: encodeTransactionNote(note),
|
|
84
|
+
assetIndex: assetId,
|
|
85
|
+
suggestedParams: await getTransactionParams(transactionParams, algod),
|
|
86
|
+
rekeyTo: undefined,
|
|
87
|
+
});
|
|
88
|
+
if (!sendParams.skipSending) {
|
|
89
|
+
Config.getLogger(sendParams.suppressLog).debug(`Transferring ASA (${assetId}) of amount ${amount} from ${getSenderAddress(from)} to ${to}`);
|
|
90
|
+
}
|
|
91
|
+
return sendTransaction({ transaction, from, sendParams }, algod);
|
|
92
|
+
}
|
|
59
93
|
//# sourceMappingURL=transfer.js.map
|
package/esm/transfer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAyB,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAI9G
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/transfer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"main": "./cjs/index.js",
|
|
3
3
|
"types": "./types/index.d.ts",
|
|
4
4
|
"name": "@algorandfoundation/algokit-utils",
|
|
5
|
-
"version": "3.
|
|
5
|
+
"version": "3.1.0",
|
|
6
6
|
"private": false,
|
|
7
7
|
"description": "A set of core Algorand utilities written in TypeScript and released via npm that make it easier to build solutions on Algorand.",
|
|
8
8
|
"author": "Algorand Foundation",
|
package/types/transfer.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { Algodv2, Kmd } from 'algosdk';
|
|
2
2
|
import { SendTransactionResult } from './types/transaction';
|
|
3
|
-
import { AlgoTransferParams, EnsureFundedParams } from './types/transfer';
|
|
3
|
+
import { AlgoTransferParams, EnsureFundedParams, TransferAssetParams } from './types/transfer';
|
|
4
4
|
/**
|
|
5
5
|
* Transfer ALGOs between two accounts.
|
|
6
6
|
* @param transfer The transfer definition
|
|
7
7
|
* @param algod An algod client
|
|
8
8
|
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
9
|
+
*
|
|
10
|
+
* @example Usage example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* await algokit.transferAlgos({ from, to, amount: algokit.algos(1) }, algod)
|
|
13
|
+
* ```
|
|
9
14
|
*/
|
|
10
15
|
export declare function transferAlgos(transfer: AlgoTransferParams, algod: Algodv2): Promise<SendTransactionResult>;
|
|
11
16
|
/**
|
|
@@ -19,4 +24,16 @@ export declare function transferAlgos(transfer: AlgoTransferParams, algod: Algod
|
|
|
19
24
|
* @returns undefined if nothing was needed or the transaction send result
|
|
20
25
|
*/
|
|
21
26
|
export declare function ensureFunded(funding: EnsureFundedParams, algod: Algodv2, kmd?: Kmd): Promise<SendTransactionResult | undefined>;
|
|
27
|
+
/**
|
|
28
|
+
* Transfer asset between two accounts.
|
|
29
|
+
* @param transfer The transfer definition
|
|
30
|
+
* @param algod An algod client
|
|
31
|
+
* @returns The transaction object and optionally the confirmation if it was sent to the chain (`skipSending` is `false` or unset)
|
|
32
|
+
*
|
|
33
|
+
* @example Usage example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* await algokit.transferAsset({ from, to, assetId, amount }, algod)
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function transferAsset(transfer: TransferAssetParams, algod: Algodv2): Promise<SendTransactionResult>;
|
|
22
39
|
//# sourceMappingURL=transfer.d.ts.map
|
package/types/transfer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/transfer.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAG/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE9F;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkBhH;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAiCrI;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAqBjH"}
|
|
@@ -29,4 +29,21 @@ export interface EnsureFundedParams extends SendTransactionParams {
|
|
|
29
29
|
/** The (optional) transaction note, default: "Funding account to meet minimum requirement" */
|
|
30
30
|
note?: TransactionNote;
|
|
31
31
|
}
|
|
32
|
+
/** Parameters for `transferAsset` call. */
|
|
33
|
+
export interface TransferAssetParams extends SendTransactionParams {
|
|
34
|
+
/** The account that will send the asset */
|
|
35
|
+
from: SendTransactionFrom;
|
|
36
|
+
/** The account / account address that will receive the asset */
|
|
37
|
+
to: SendTransactionFrom | string;
|
|
38
|
+
/** The asset id that will be transfered */
|
|
39
|
+
assetId: number;
|
|
40
|
+
/** The amount to send as the smallest divisible unit value */
|
|
41
|
+
amount: number | bigint;
|
|
42
|
+
/** Optional transaction parameters */
|
|
43
|
+
transactionParams?: SuggestedParams;
|
|
44
|
+
/** An address of a target account from which to perform a clawback operation. Please note, in such cases senderAccount must be equal to clawback field on ASA metadata. */
|
|
45
|
+
clawbackFrom?: SendTransactionFrom | string;
|
|
46
|
+
/** The (optional) transaction note */
|
|
47
|
+
note?: TransactionNote;
|
|
48
|
+
}
|
|
32
49
|
//# sourceMappingURL=transfer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/types/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE3F,2CAA2C;AAC3C,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,2CAA2C;IAC3C,IAAI,EAAE,mBAAmB,CAAA;IACzB,gEAAgE;IAChE,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAChC,yBAAyB;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,0CAA0C;AAC1C,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,0BAA0B;IAC1B,aAAa,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAC3C,oIAAoI;IACpI,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gIAAgI;IAChI,kBAAkB,EAAE,UAAU,CAAA;IAC9B,iJAAiJ;IACjJ,mBAAmB,CAAC,EAAE,UAAU,CAAA;IAChC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,8FAA8F;IAC9F,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB"}
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/types/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE3F,2CAA2C;AAC3C,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,2CAA2C;IAC3C,IAAI,EAAE,mBAAmB,CAAA;IACzB,gEAAgE;IAChE,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAChC,yBAAyB;IACzB,MAAM,EAAE,UAAU,CAAA;IAClB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,0CAA0C;AAC1C,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,0BAA0B;IAC1B,aAAa,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAC3C,oIAAoI;IACpI,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gIAAgI;IAChI,kBAAkB,EAAE,UAAU,CAAA;IAC9B,iJAAiJ;IACjJ,mBAAmB,CAAC,EAAE,UAAU,CAAA;IAChC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,8FAA8F;IAC9F,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,2CAA2C;AAC3C,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,2CAA2C;IAC3C,IAAI,EAAE,mBAAmB,CAAA;IACzB,gEAAgE;IAChE,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAChC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,8DAA8D;IAC9D,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,2KAA2K;IAC3K,YAAY,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAA;IAC3C,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB"}
|