@tatumio/flow 2.0.1-alpha.237
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/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
|
+
};
|