@tatumio/flow 2.0.1-alpha.237
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +25 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/lib/flow.constants.d.ts +11 -0
- package/src/lib/flow.constants.js +16 -0
- package/src/lib/flow.constants.js.map +1 -0
- package/src/lib/flow.sdk.d.ts +164 -0
- package/src/lib/flow.sdk.errors.d.ts +5 -0
- package/src/lib/flow.sdk.errors.js +21 -0
- package/src/lib/flow.sdk.errors.js.map +1 -0
- package/src/lib/flow.sdk.js +33 -0
- package/src/lib/flow.sdk.js.map +1 -0
- package/src/lib/services/flow.blockchain.d.ts +14 -0
- package/src/lib/services/flow.blockchain.js +31 -0
- package/src/lib/services/flow.blockchain.js.map +1 -0
- package/src/lib/services/flow.kms.d.ts +16 -0
- package/src/lib/services/flow.kms.js +37 -0
- package/src/lib/services/flow.kms.js.map +1 -0
- package/src/lib/services/flow.sdk.wallet.d.ts +2 -0
- package/src/lib/services/flow.sdk.wallet.js +40 -0
- package/src/lib/services/flow.sdk.wallet.js.map +1 -0
- package/src/lib/services/flow.tx.d.ts +127 -0
- package/src/lib/services/flow.tx.js +443 -0
- package/src/lib/services/flow.tx.js.map +1 -0
- package/src/lib/services/flow.tx.templates.d.ts +12 -0
- package/src/lib/services/flow.tx.templates.js +194 -0
- package/src/lib/services/flow.tx.templates.js.map +1 -0
@@ -0,0 +1,443 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.flowTxService = exports.FLOW_MAINNET_ADDRESSES = exports.FLOW_TESTNET_ADDRESSES = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const elliptic = (0, tslib_1.__importStar)(require("elliptic"));
|
6
|
+
const fcl = (0, tslib_1.__importStar)(require("@onflow/fcl"));
|
7
|
+
const types = (0, tslib_1.__importStar)(require("@onflow/types"));
|
8
|
+
const util_encode_key_1 = require("@onflow/util-encode-key");
|
9
|
+
const sha3_1 = (0, tslib_1.__importDefault)(require("sha3"));
|
10
|
+
const shared_core_1 = require("@tatumio/shared-core");
|
11
|
+
const flow_tx_templates_1 = require("./flow.tx.templates");
|
12
|
+
const flow_sdk_wallet_1 = require("./flow.sdk.wallet");
|
13
|
+
const flow_blockchain_1 = require("./flow.blockchain");
|
14
|
+
const flow_sdk_errors_1 = require("../flow.sdk.errors");
|
15
|
+
const shared_abstract_sdk_1 = require("@tatumio/shared-abstract-sdk");
|
16
|
+
exports.FLOW_TESTNET_ADDRESSES = {
|
17
|
+
FlowToken: '0x7e60df042a9c0868',
|
18
|
+
FungibleToken: '0x9a0766d93b6608b7',
|
19
|
+
FUSD: '0xe223d8a629e49c68',
|
20
|
+
TatumMultiNFT: '0x87fe4ebd0cddde06',
|
21
|
+
};
|
22
|
+
exports.FLOW_MAINNET_ADDRESSES = {
|
23
|
+
FlowToken: '0x1654653399040a61',
|
24
|
+
FungibleToken: '0xf233dcee88fe0abe',
|
25
|
+
FUSD: '0x3c5959b568896393',
|
26
|
+
TatumMultiNFT: '0x354e6721564ccd2c',
|
27
|
+
};
|
28
|
+
const flowTxService = (args) => {
|
29
|
+
const flowSdkWallet = (0, flow_sdk_wallet_1.flowWallet)();
|
30
|
+
const flowSdkBlockchain = (0, flow_blockchain_1.flowBlockchain)(args);
|
31
|
+
const txTemplates = (0, flow_tx_templates_1.flowTxTemplates)();
|
32
|
+
const sign = (pk, msg) => {
|
33
|
+
const keyPair = new elliptic.ec('secp256k1').keyFromPrivate(pk);
|
34
|
+
const signature = keyPair.sign(new sha3_1.default(256).update(msg).digest());
|
35
|
+
const r = signature.r.toArrayLike(Buffer, 'be', 32);
|
36
|
+
const s = signature.s.toArrayLike(Buffer, 'be', 32);
|
37
|
+
return Buffer.concat([r, s]).toString('hex');
|
38
|
+
};
|
39
|
+
const getSigner = (pk, address, keyId = 0) => {
|
40
|
+
return {
|
41
|
+
signer: (account) => {
|
42
|
+
return Object.assign(Object.assign({}, account), { tempId: `${address}-${keyId}`, addr: fcl.sansPrefix(address), keyId: Number(keyId), signingFunction: (data) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
43
|
+
return {
|
44
|
+
addr: fcl.withPrefix(address),
|
45
|
+
keyId: Number(keyId),
|
46
|
+
signature: sign(pk, Buffer.from(data.message, 'hex')),
|
47
|
+
};
|
48
|
+
}) });
|
49
|
+
},
|
50
|
+
};
|
51
|
+
};
|
52
|
+
const getApiSigner = (isPayer) => {
|
53
|
+
const keyHash = Date.now();
|
54
|
+
const signer = (account) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
55
|
+
const { address, keyId } = yield flowSdkBlockchain.getSignKey(isPayer);
|
56
|
+
if (!isPayer) {
|
57
|
+
process.env[`FLOW_PROPOSAL_KEY_${keyHash}`] = `${keyId}`;
|
58
|
+
}
|
59
|
+
return Object.assign(Object.assign({}, account), { tempId: `${address}-${keyId}`, addr: fcl.sansPrefix(address), keyId, signingFunction: (data) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
60
|
+
return {
|
61
|
+
addr: fcl.withPrefix(address),
|
62
|
+
keyId: Number(keyId),
|
63
|
+
signature: (yield flowSdkBlockchain.signWithKey(data.message, isPayer)).signature,
|
64
|
+
};
|
65
|
+
}) });
|
66
|
+
});
|
67
|
+
return { signer, keyHash: `FLOW_PROPOSAL_KEY_${keyHash}` };
|
68
|
+
};
|
69
|
+
return {
|
70
|
+
sign,
|
71
|
+
getSigner,
|
72
|
+
getApiSigner,
|
73
|
+
/**
|
74
|
+
* Create account on the FLOW network. It automatically creates 100 0-weight proposal keys, which are managed by Tatum API - index 1-100.
|
75
|
+
* Main 1000 weight authorizer key is stored as a first one on index 0.
|
76
|
+
* @param testnet if we use testnet or not
|
77
|
+
* @param publicKey public key to assign to address as authorizer (1000 weight) key
|
78
|
+
* @param signerAddress address of the authorizer creator of the address on the chain
|
79
|
+
* @param signerPrivateKey private key of the authorizer creator of the address on the chain
|
80
|
+
* @param proposer function to obtain proposer key from
|
81
|
+
* @param payer function to obtain payer key from
|
82
|
+
*/
|
83
|
+
createAccountFromPublicKey: (testnet, publicKey, signerAddress, signerPrivateKey, proposer, payer) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
84
|
+
var _a;
|
85
|
+
const code = txTemplates.prepareCreateAccountWithFUSDFromPublicKeyTxTemplate(testnet);
|
86
|
+
const encodedPublicKey = (0, util_encode_key_1.encodeKey)(publicKey, util_encode_key_1.ECDSA_secp256k1, util_encode_key_1.SHA3_256, 1000);
|
87
|
+
const args = [{ type: 'String', value: encodedPublicKey }];
|
88
|
+
const auth = getSigner(signerPrivateKey, signerAddress).signer;
|
89
|
+
const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
|
90
|
+
const result = yield _sendTransaction(testnet, {
|
91
|
+
code,
|
92
|
+
args,
|
93
|
+
proposer: proposer ? proposer(false) : proposalSigner,
|
94
|
+
authorizations: [auth],
|
95
|
+
payer: payer ? payer(true) : getApiSigner(true).signer,
|
96
|
+
keyHash,
|
97
|
+
});
|
98
|
+
return {
|
99
|
+
txId: result.id,
|
100
|
+
address: (_a = result.events.find((e) => e.type === 'flow.AccountCreated')) === null || _a === void 0 ? void 0 : _a.data.address,
|
101
|
+
};
|
102
|
+
}),
|
103
|
+
/**
|
104
|
+
* Add public key to existing blockchain address with defined weight
|
105
|
+
* @param testnet
|
106
|
+
* @param publicKey key to add
|
107
|
+
* @param signerAddress address of the authorizer key
|
108
|
+
* @param signerPrivateKey key of the authorize key
|
109
|
+
* @param weight defaults to 1000 - weight of the key
|
110
|
+
* @param proposer function to obtain proposer key from
|
111
|
+
* @param payer function to obtain payer key from
|
112
|
+
*/
|
113
|
+
addPublicKeyToAccount: (testnet, publicKey, signerAddress, signerPrivateKey, weight = 0, proposer, payer) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
114
|
+
const code = txTemplates.prepareAddPublicKeyToAccountTxTemplate();
|
115
|
+
const encodedPublicKey = (0, util_encode_key_1.encodeKey)(publicKey, util_encode_key_1.ECDSA_secp256k1, util_encode_key_1.SHA3_256, weight);
|
116
|
+
const args = [{ type: 'String', value: encodedPublicKey }];
|
117
|
+
const auth = getSigner(signerPrivateKey, signerAddress).signer;
|
118
|
+
const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
|
119
|
+
const result = yield _sendTransaction(testnet, {
|
120
|
+
code,
|
121
|
+
args,
|
122
|
+
proposer: proposer ? proposer(false) : proposalSigner,
|
123
|
+
authorizations: [auth],
|
124
|
+
keyHash,
|
125
|
+
payer: payer ? payer(true) : getApiSigner(true).signer,
|
126
|
+
});
|
127
|
+
return { txId: result.id, address: result.events[0].data.address };
|
128
|
+
}),
|
129
|
+
getNftMetadata: (testnet, account, id, contractAddress) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
130
|
+
const code = txTemplates.metadataNftTokenScript(testnet);
|
131
|
+
const args = [
|
132
|
+
{ type: 'Address', value: account },
|
133
|
+
{ type: 'UInt64', value: id },
|
134
|
+
{ type: 'String', value: contractAddress },
|
135
|
+
];
|
136
|
+
return sendScript(testnet, code, args);
|
137
|
+
}),
|
138
|
+
getNftTokenByAddress: (testnet, account, tokenType) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
139
|
+
const code = txTemplates.tokenByAddressNftTokenScript(testnet);
|
140
|
+
const args = [
|
141
|
+
{ type: 'Address', value: account },
|
142
|
+
{ type: 'String', value: tokenType },
|
143
|
+
];
|
144
|
+
return sendScript(testnet, code, args);
|
145
|
+
}),
|
146
|
+
/**
|
147
|
+
* Send Flow NFT mint token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
148
|
+
* This operation is irreversible.
|
149
|
+
* @param testnet
|
150
|
+
* @param body content of the transaction to broadcast
|
151
|
+
* @param proposer function to obtain proposer key from
|
152
|
+
* @param payer function to obtain payer key from
|
153
|
+
* @returns txId id of the transaction in the blockchain
|
154
|
+
*/
|
155
|
+
sendNftMintToken: (testnet, body, proposer, payer) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
156
|
+
var _b;
|
157
|
+
const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
|
158
|
+
const code = txTemplates.mintNftTokenTxTemplate(testnet);
|
159
|
+
const { url, contractAddress: tokenType, to, account } = bodyWithChain;
|
160
|
+
const args = [
|
161
|
+
{ type: 'Address', value: to },
|
162
|
+
{ type: 'String', value: url },
|
163
|
+
{ type: 'String', value: tokenType },
|
164
|
+
];
|
165
|
+
const pk = yield getPrivateKey(bodyWithChain);
|
166
|
+
if (!pk)
|
167
|
+
throw new flow_sdk_errors_1.FlowSdkError(shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY);
|
168
|
+
const auth = getSigner(pk, account).signer;
|
169
|
+
const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
|
170
|
+
const result = yield _sendTransaction(testnet, {
|
171
|
+
code,
|
172
|
+
args,
|
173
|
+
proposer: proposer ? proposer(false) : proposalSigner,
|
174
|
+
authorizations: [auth],
|
175
|
+
keyHash,
|
176
|
+
payer: payer ? payer(true) : getApiSigner(true).signer,
|
177
|
+
});
|
178
|
+
return {
|
179
|
+
txId: result.id,
|
180
|
+
tokenId: `${(_b = result.events.find((e) => e.type.includes('TatumMultiNFT.Minted'))) === null || _b === void 0 ? void 0 : _b.data.id}`,
|
181
|
+
};
|
182
|
+
}),
|
183
|
+
/**
|
184
|
+
* Send Flow NFT mint multiple tokens transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
185
|
+
* This operation is irreversible.
|
186
|
+
* @param testnet
|
187
|
+
* @param body content of the transaction to broadcast
|
188
|
+
* @param proposer function to obtain proposer key from
|
189
|
+
* @param payer function to obtain payer key from
|
190
|
+
* @returns txId id of the transaction in the blockchain
|
191
|
+
*/
|
192
|
+
sendNftMintMultipleToken: (testnet, body, proposer, payer) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
193
|
+
const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
|
194
|
+
const code = txTemplates.mintMultipleNftTokenTxTemplate(testnet);
|
195
|
+
const { url, contractAddress: tokenType, to, account } = bodyWithChain;
|
196
|
+
const args = [
|
197
|
+
{ type: 'Array', subType: 'Address', value: to },
|
198
|
+
{
|
199
|
+
type: 'Array',
|
200
|
+
subType: 'String',
|
201
|
+
value: url,
|
202
|
+
},
|
203
|
+
{ type: 'String', value: tokenType },
|
204
|
+
];
|
205
|
+
const pk = yield getPrivateKey(bodyWithChain);
|
206
|
+
if (!pk)
|
207
|
+
throw new flow_sdk_errors_1.FlowSdkError(shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY);
|
208
|
+
const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
|
209
|
+
const auth = getSigner(pk, account).signer;
|
210
|
+
const result = yield _sendTransaction(testnet, {
|
211
|
+
code,
|
212
|
+
args,
|
213
|
+
proposer: proposer ? proposer(false) : proposalSigner,
|
214
|
+
authorizations: [auth],
|
215
|
+
payer: payer ? payer(true) : getApiSigner(true).signer,
|
216
|
+
keyHash,
|
217
|
+
});
|
218
|
+
return {
|
219
|
+
txId: result.id,
|
220
|
+
tokenId: result.events
|
221
|
+
.filter((e) => e.type.includes('TatumMultiNFT.Minted'))
|
222
|
+
.map((e) => e.data.id),
|
223
|
+
};
|
224
|
+
}),
|
225
|
+
/**
|
226
|
+
* Send Flow NFT transfer token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
227
|
+
* This operation is irreversible.
|
228
|
+
* @param testnet
|
229
|
+
* @param body content of the transaction to broadcast
|
230
|
+
* @param proposer function to obtain proposer key from
|
231
|
+
* @param payer function to obtain payer key from
|
232
|
+
* @returns {txId: string, events: any[]} id of the transaction in the blockchain and events this tx produced
|
233
|
+
*/
|
234
|
+
sendNftTransferToken: (testnet, body, proposer, payer) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
235
|
+
const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
|
236
|
+
const code = txTemplates.transferNftTokenTxTemplate(testnet);
|
237
|
+
const { tokenId, to, account } = bodyWithChain;
|
238
|
+
const args = [
|
239
|
+
{ type: 'Address', value: to },
|
240
|
+
{ type: 'UInt64', value: tokenId },
|
241
|
+
];
|
242
|
+
const pk = yield getPrivateKey(bodyWithChain);
|
243
|
+
if (!pk)
|
244
|
+
throw new flow_sdk_errors_1.FlowSdkError(shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY);
|
245
|
+
const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
|
246
|
+
const auth = getSigner(pk, account).signer;
|
247
|
+
const result = yield _sendTransaction(testnet, {
|
248
|
+
code,
|
249
|
+
args,
|
250
|
+
proposer: proposer ? proposer(false) : proposalSigner,
|
251
|
+
authorizations: [auth],
|
252
|
+
payer: payer ? payer(true) : getApiSigner(true).signer,
|
253
|
+
keyHash,
|
254
|
+
});
|
255
|
+
return { txId: result.id };
|
256
|
+
}),
|
257
|
+
/**
|
258
|
+
* Send Flow NFT burn token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
259
|
+
* This operation is irreversible.
|
260
|
+
* @param testnet
|
261
|
+
* @param body content of the transaction to broadcast
|
262
|
+
* @param proposer function to obtain proposer key from
|
263
|
+
* @param payer function to obtain payer key from
|
264
|
+
* @returns txId id of the transaction in the blockchain
|
265
|
+
*/
|
266
|
+
sendNftBurnToken: (testnet, body, proposer, payer) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
267
|
+
const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
|
268
|
+
const code = txTemplates.burnNftTokenTxTemplate(testnet);
|
269
|
+
const { tokenId, contractAddress: tokenType, account } = bodyWithChain;
|
270
|
+
const args = [
|
271
|
+
{ type: 'UInt64', value: tokenId },
|
272
|
+
{ type: 'String', value: tokenType },
|
273
|
+
];
|
274
|
+
const pk = yield getPrivateKey(bodyWithChain);
|
275
|
+
if (!pk)
|
276
|
+
throw new flow_sdk_errors_1.FlowSdkError(shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY);
|
277
|
+
const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
|
278
|
+
const auth = getSigner(pk, account).signer;
|
279
|
+
const result = yield _sendTransaction(testnet, {
|
280
|
+
code,
|
281
|
+
args,
|
282
|
+
proposer: proposer ? proposer(false) : proposalSigner,
|
283
|
+
authorizations: [auth],
|
284
|
+
payer: payer ? payer(true) : getApiSigner(true).signer,
|
285
|
+
keyHash,
|
286
|
+
});
|
287
|
+
return { txId: result.id };
|
288
|
+
}),
|
289
|
+
/**
|
290
|
+
* Send custom transaction to the FLOW network
|
291
|
+
* @param testnet
|
292
|
+
* @param body content of the transaction to broadcast
|
293
|
+
* @param proposer function to obtain proposer key from
|
294
|
+
* @param payer function to obtain payer key from
|
295
|
+
* @returns txId id of the transaction in the blockchain
|
296
|
+
*/
|
297
|
+
sendCustomTransaction: (testnet, body, proposer, payer) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
298
|
+
const pk = yield getPrivateKey(body);
|
299
|
+
if (!pk)
|
300
|
+
throw new flow_sdk_errors_1.FlowSdkError(shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY);
|
301
|
+
const auth = getSigner(pk, body.account).signer;
|
302
|
+
const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
|
303
|
+
const result = yield _sendTransaction(testnet, {
|
304
|
+
code: body.transaction,
|
305
|
+
args: body.args,
|
306
|
+
proposer: proposer ? proposer(false) : proposalSigner,
|
307
|
+
authorizations: [auth],
|
308
|
+
keyHash,
|
309
|
+
payer: payer ? payer(true) : getApiSigner(true).signer,
|
310
|
+
});
|
311
|
+
return { txId: result.id, events: result.events };
|
312
|
+
}),
|
313
|
+
/**
|
314
|
+
* Send FLOW or FUSD from account to account.
|
315
|
+
* @param testnet
|
316
|
+
* @param body content of the transaction to broadcast
|
317
|
+
* @param proposer function to obtain proposer key from
|
318
|
+
* @param payer function to obtain payer key from
|
319
|
+
* @returns txId id of the transaction in the blockchain
|
320
|
+
*/
|
321
|
+
sendTransaction: (testnet, body, proposer, payer) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
322
|
+
let tokenAddress;
|
323
|
+
let tokenName;
|
324
|
+
let tokenStorage;
|
325
|
+
if (body.currency === shared_core_1.Blockchain.FLOW) {
|
326
|
+
tokenAddress = testnet ? exports.FLOW_TESTNET_ADDRESSES.FlowToken : exports.FLOW_MAINNET_ADDRESSES.FlowToken;
|
327
|
+
tokenName = 'FlowToken';
|
328
|
+
tokenStorage = 'flowToken';
|
329
|
+
}
|
330
|
+
else {
|
331
|
+
tokenAddress = testnet ? exports.FLOW_TESTNET_ADDRESSES.FUSD : exports.FLOW_MAINNET_ADDRESSES.FUSD;
|
332
|
+
tokenName = 'FUSD';
|
333
|
+
tokenStorage = 'fusd';
|
334
|
+
}
|
335
|
+
const code = txTemplates.prepareTransferTxTemplate(testnet, tokenAddress, tokenName, tokenStorage);
|
336
|
+
const args = [
|
337
|
+
{ value: parseFloat(body.amount).toFixed(8), type: 'UFix64' },
|
338
|
+
{ value: body.to, type: 'Address' },
|
339
|
+
];
|
340
|
+
const pk = yield getPrivateKey(body);
|
341
|
+
if (!pk)
|
342
|
+
throw new flow_sdk_errors_1.FlowSdkError(shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY);
|
343
|
+
const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
|
344
|
+
const auth = getSigner(pk, body.account).signer;
|
345
|
+
const result = yield _sendTransaction(testnet, {
|
346
|
+
code,
|
347
|
+
args,
|
348
|
+
proposer: proposer ? proposer(false) : proposalSigner,
|
349
|
+
authorizations: [auth],
|
350
|
+
payer: payer ? payer(true) : getApiSigner(true).signer,
|
351
|
+
keyHash,
|
352
|
+
});
|
353
|
+
return { txId: result.id };
|
354
|
+
}),
|
355
|
+
};
|
356
|
+
function _sendTransaction(testnet, { code, args, proposer, authorizations, payer, keyHash }) {
|
357
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
358
|
+
fcl.config().put('accessNode.api', networkUrl(testnet));
|
359
|
+
let response;
|
360
|
+
try {
|
361
|
+
response = yield fcl.send([
|
362
|
+
fcl.transaction(code),
|
363
|
+
fcl.args(args.map((arg) => fcl.arg(UInt64ArgValue(arg), ArrayArgValue(arg)))),
|
364
|
+
fcl.proposer(proposer),
|
365
|
+
fcl.authorizations(authorizations),
|
366
|
+
fcl.payer(payer),
|
367
|
+
fcl.limit(1000),
|
368
|
+
]);
|
369
|
+
}
|
370
|
+
catch (e) {
|
371
|
+
try {
|
372
|
+
if (keyHash) {
|
373
|
+
yield flowSdkBlockchain.broadcast('', undefined, proposalKey(keyHash));
|
374
|
+
delete process.env[keyHash];
|
375
|
+
}
|
376
|
+
}
|
377
|
+
catch (_) {
|
378
|
+
throw new flow_sdk_errors_1.FlowSdkError(_);
|
379
|
+
}
|
380
|
+
throw new flow_sdk_errors_1.FlowSdkError(e);
|
381
|
+
}
|
382
|
+
const { transactionId } = response;
|
383
|
+
try {
|
384
|
+
const { error, events } = yield fcl.tx(response).onceSealed();
|
385
|
+
if (error) {
|
386
|
+
throw new flow_sdk_errors_1.FlowSdkError(error);
|
387
|
+
}
|
388
|
+
return {
|
389
|
+
id: transactionId,
|
390
|
+
events,
|
391
|
+
};
|
392
|
+
}
|
393
|
+
catch (e) {
|
394
|
+
throw new flow_sdk_errors_1.FlowSdkError(e);
|
395
|
+
}
|
396
|
+
finally {
|
397
|
+
if (keyHash) {
|
398
|
+
yield flowSdkBlockchain.broadcast(transactionId, undefined, proposalKey(keyHash));
|
399
|
+
delete process.env[keyHash];
|
400
|
+
}
|
401
|
+
}
|
402
|
+
});
|
403
|
+
}
|
404
|
+
function getPrivateKey(body) {
|
405
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
406
|
+
const { mnemonic, index, privateKey } = body;
|
407
|
+
if (privateKey) {
|
408
|
+
return privateKey;
|
409
|
+
}
|
410
|
+
else {
|
411
|
+
if (mnemonic && index && index >= 0) {
|
412
|
+
return flowSdkWallet.generatePrivateKeyFromMnemonic(mnemonic, index);
|
413
|
+
}
|
414
|
+
else
|
415
|
+
throw new flow_sdk_errors_1.FlowSdkError(shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_MNEMONIC);
|
416
|
+
}
|
417
|
+
});
|
418
|
+
}
|
419
|
+
function sendScript(testnet, code, args) {
|
420
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
421
|
+
fcl.config().put('accessNode.api', networkUrl(testnet));
|
422
|
+
const response = yield fcl.send([
|
423
|
+
fcl.script(code),
|
424
|
+
fcl.args(args.map((arg) => fcl.arg(UInt64ArgValue(arg), types[arg.type]))),
|
425
|
+
]);
|
426
|
+
return fcl.decode(response);
|
427
|
+
});
|
428
|
+
}
|
429
|
+
function proposalKey(keyHash) {
|
430
|
+
return keyHash ? parseInt(process.env[keyHash] || '0') : undefined;
|
431
|
+
}
|
432
|
+
function networkUrl(testnet) {
|
433
|
+
return testnet ? 'https://access-testnet.onflow.org' : 'https://access-mainnet-beta.onflow.org';
|
434
|
+
}
|
435
|
+
function UInt64ArgValue(arg) {
|
436
|
+
return arg.type === 'UInt64' ? parseInt(arg.value) : arg.value;
|
437
|
+
}
|
438
|
+
function ArrayArgValue(arg) {
|
439
|
+
return arg.type === 'Array' ? types[arg.type](types[arg.subType]) : types[arg.type];
|
440
|
+
}
|
441
|
+
};
|
442
|
+
exports.flowTxService = flowTxService;
|
443
|
+
//# sourceMappingURL=flow.tx.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"flow.tx.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/flow/src/lib/services/flow.tx.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare const flowTxTemplates: () => {
|
2
|
+
deployNftTokenTypeWithMinterTxTemplate: (testnet: boolean) => string;
|
3
|
+
metadataNftTokenScript: (testnet: boolean) => string;
|
4
|
+
tokenByAddressNftTokenScript: (testnet: boolean) => string;
|
5
|
+
mintNftTokenTxTemplate: (testnet: boolean) => string;
|
6
|
+
mintMultipleNftTokenTxTemplate: (testnet: boolean) => string;
|
7
|
+
burnNftTokenTxTemplate: (testnet: boolean) => string;
|
8
|
+
transferNftTokenTxTemplate: (testnet: boolean) => string;
|
9
|
+
prepareAddPublicKeyToAccountTxTemplate: () => string;
|
10
|
+
prepareTransferTxTemplate: (testnet: boolean, tokenAddress: string, tokenName: string, tokenStorage: string) => string;
|
11
|
+
prepareCreateAccountWithFUSDFromPublicKeyTxTemplate: (testnet: boolean) => string;
|
12
|
+
};
|