@tatumio/flow 2.0.1-alpha.376 → 2.0.1-alpha.377

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,250 +2,38 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.flowTxService = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const elliptic = tslib_1.__importStar(require("elliptic"));
6
- const fcl = tslib_1.__importStar(require("@onflow/fcl"));
7
- const types = tslib_1.__importStar(require("@onflow/types"));
8
- const util_encode_key_1 = require("@onflow/util-encode-key");
9
- const sha3_1 = tslib_1.__importDefault(require("sha3"));
10
5
  const flow_tx_templates_1 = require("./flow.tx.templates");
11
- const flow_sdk_wallet_1 = require("./flow.sdk.wallet");
12
6
  const flow_sdk_errors_1 = require("../flow.sdk.errors");
13
7
  const shared_abstract_sdk_1 = require("@tatumio/shared-abstract-sdk");
14
8
  const flow_constants_1 = require("../flow.constants");
15
9
  const shared_core_1 = require("@tatumio/shared-core");
16
10
  const api_client_1 = require("@tatumio/api-client");
17
11
  const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
18
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
12
+ const flow_utils_1 = require("../utils/flow.utils");
13
+ const flow_nft_1 = require("./flow.nft");
14
+ const flow_account_1 = require("./flow.account");
19
15
  const flowTxService = (provider, apiCalls) => {
20
- const flowSdkWallet = (0, flow_sdk_wallet_1.flowWallet)();
21
16
  const txTemplates = (0, flow_tx_templates_1.flowTxTemplates)();
22
- const sign = (pk, msg) => {
23
- const keyPair = new elliptic.ec('secp256k1').keyFromPrivate(pk);
24
- const signature = keyPair.sign(new sha3_1.default(256).update(msg).digest());
25
- const r = signature.r.toArrayLike(Buffer, 'be', 32);
26
- const s = signature.s.toArrayLike(Buffer, 'be', 32);
27
- return Buffer.concat([r, s]).toString('hex');
28
- };
29
- const getSigner = (pk, address, keyId = 0) => {
30
- return {
31
- signer: (account) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
32
- return Object.assign(Object.assign({}, account), { tempId: `${address}-${keyId}`, addr: fcl.sansPrefix(address), keyId: Number(keyId), signingFunction: (data) => {
33
- return {
34
- addr: fcl.withPrefix(address),
35
- keyId: Number(keyId),
36
- signature: sign(pk, Buffer.from(data.message, 'hex')),
37
- };
38
- } });
39
- }),
40
- };
41
- };
42
- const getApiSigner = (isPayer) => {
43
- const keyHash = lodash_1.default.uniqueId(`FLOW_PROPOSAL_KEY_`);
44
- const signer = (account) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
45
- const { address, keyId } = yield getProposalKeyOrFetch(keyHash, isPayer);
46
- if (!isPayer) {
47
- storeProposalKey(keyHash, address, keyId);
48
- }
49
- return Object.assign(Object.assign({}, account), { tempId: `${address}-${keyId}`, addr: fcl.sansPrefix(address), keyId, signingFunction: (data) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
50
- return {
51
- addr: fcl.withPrefix(address),
52
- keyId: Number(keyId),
53
- signature: (yield apiCalls.signWithKey(data.message, isPayer)).signature,
54
- };
55
- }) });
56
- });
57
- return { signer, keyHash: keyHash };
58
- };
59
- const sendCreateAccountFromPublicKey = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
60
- var _a;
61
- const code = txTemplates.prepareCreateAccountWithFUSDFromPublicKeyTxTemplate(provider.isTestnet());
62
- const encodedPublicKey = (0, util_encode_key_1.encodeKey)(body.publicKey, util_encode_key_1.ECDSA_secp256k1, util_encode_key_1.SHA3_256, 1000);
63
- const txArgs = [{ type: 'String', value: encodedPublicKey }];
64
- const pk = yield getPrivateKey(body);
17
+ const customSignedTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
18
+ const pk = yield flow_utils_1.flowUtils.getPrivateKey(body);
65
19
  if (!pk)
66
20
  throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
67
- const auth = getSigner(pk, body.account).signer;
68
- const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
69
- const { signer: payerSigner } = payer ? payer(true) : getApiSigner(true);
70
- const result = yield _sendTransaction({
71
- code,
72
- txArgs,
73
- proposer: proposalSigner,
74
- authorizations: [auth],
75
- payer: payerSigner,
76
- keyHash,
77
- });
78
- return {
79
- txId: result.id,
80
- address: (_a = result.events.find((e) => e.type === 'flow.AccountCreated')) === null || _a === void 0 ? void 0 : _a.data.address,
81
- };
82
- });
83
- const sendAddPublicKeyToAccount = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
84
- const code = txTemplates.prepareAddPublicKeyToAccountTxTemplate();
85
- const encodedPublicKey = (0, util_encode_key_1.encodeKey)(body.publicKey, util_encode_key_1.ECDSA_secp256k1, util_encode_key_1.SHA3_256, body.weight || 0);
86
- const txArgs = [{ type: 'String', value: encodedPublicKey }];
87
- const pk = yield getPrivateKey(body);
88
- if (!pk)
89
- throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
90
- const auth = getSigner(pk, body.account).signer;
91
- const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
92
- const { signer: payerSigner } = payer ? payer(true) : getApiSigner(true);
93
- const result = yield _sendTransaction({
94
- code,
95
- txArgs,
96
- proposer: proposalSigner,
97
- authorizations: [auth],
98
- keyHash,
99
- payer: payerSigner,
100
- });
101
- return { txId: result.id, address: result.events[0].data.address };
102
- });
103
- const getNftMetadata = (account, id, contractAddress) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
104
- const code = txTemplates.metadataNftTokenScript(provider.isTestnet());
105
- const scriptArgs = [
106
- { type: 'Address', value: account },
107
- { type: 'UInt64', value: id },
108
- { type: 'String', value: contractAddress },
109
- ];
110
- return sendScript(code, scriptArgs);
111
- });
112
- const getNftTokenByAddress = (account, tokenType) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
113
- const code = txTemplates.tokenByAddressNftTokenScript(provider.isTestnet());
114
- const scriptArgs = [
115
- { type: 'Address', value: account },
116
- { type: 'String', value: tokenType },
117
- ];
118
- return sendScript(code, scriptArgs);
119
- });
120
- const sendNftMintToken = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
121
- var _b;
122
- const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
123
- const code = txTemplates.mintNftTokenTxTemplate(provider.isTestnet());
124
- const { url, contractAddress: tokenType, to, account } = bodyWithChain;
125
- const txArgs = [
126
- { type: 'Address', value: to },
127
- { type: 'String', value: url },
128
- { type: 'String', value: tokenType },
129
- ];
130
- const pk = yield getPrivateKey(bodyWithChain);
131
- if (!pk)
132
- throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
133
- const auth = getSigner(pk, account).signer;
134
- const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
135
- const { signer: payerSigner } = payer ? payer(true) : getApiSigner(true);
136
- const result = yield _sendTransaction({
137
- code,
138
- txArgs,
139
- proposer: proposalSigner,
140
- authorizations: [auth],
141
- keyHash,
142
- payer: payerSigner,
143
- });
144
- return {
145
- txId: result.id,
146
- tokenId: `${(_b = result.events.find((e) => e.type.includes('TatumMultiNFT.Minted'))) === null || _b === void 0 ? void 0 : _b.data.id}`,
147
- };
148
- });
149
- const sendNftMintMultipleToken = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
150
- const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
151
- const code = txTemplates.mintMultipleNftTokenTxTemplate(provider.isTestnet());
152
- const { url, contractAddress: tokenType, to, account } = bodyWithChain;
153
- const txArgs = [
154
- { type: 'Array', subType: 'Address', value: to },
155
- {
156
- type: 'Array',
157
- subType: 'String',
158
- value: url,
159
- },
160
- { type: 'String', value: tokenType },
161
- ];
162
- const pk = yield getPrivateKey(bodyWithChain);
163
- if (!pk)
164
- throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
165
- const auth = getSigner(pk, account).signer;
166
- const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
167
- const { signer: payerSigner } = payer ? payer(true) : getApiSigner(true);
168
- const result = yield _sendTransaction({
169
- code,
170
- txArgs,
171
- proposer: proposalSigner,
172
- authorizations: [auth],
173
- payer: payerSigner,
174
- keyHash,
175
- });
176
- return {
177
- txId: result.id,
178
- tokenId: result.events
179
- .filter((e) => e.type.includes('TatumMultiNFT.Minted'))
180
- .map((e) => e.data.id),
181
- };
182
- });
183
- const sendNftTransferToken = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
184
- const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
185
- const code = txTemplates.transferNftTokenTxTemplate(provider.isTestnet());
186
- const { tokenId, to, account } = bodyWithChain;
187
- const txArgs = [
188
- { type: 'Address', value: to },
189
- { type: 'UInt64', value: tokenId },
190
- ];
191
- const pk = yield getPrivateKey(bodyWithChain);
192
- if (!pk)
193
- throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
194
- const auth = getSigner(pk, account).signer;
195
- const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
196
- const { signer: payerSigner } = payer ? payer(true) : getApiSigner(true);
197
- const result = yield _sendTransaction({
198
- code,
199
- txArgs,
200
- proposer: proposalSigner,
201
- authorizations: [auth],
202
- payer: payerSigner,
203
- keyHash,
204
- });
205
- return { txId: result.id };
206
- });
207
- const sendNftBurnToken = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
208
- const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
209
- const code = txTemplates.burnNftTokenTxTemplate(provider.isTestnet());
210
- const { tokenId, contractAddress: tokenType, account } = bodyWithChain;
211
- const txArgs = [
212
- { type: 'UInt64', value: tokenId },
213
- { type: 'String', value: tokenType },
214
- ];
215
- const pk = yield getPrivateKey(bodyWithChain);
216
- if (!pk)
217
- throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
218
- const auth = getSigner(pk, account).signer;
219
- const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
220
- const { signer: payerSigner } = payer ? payer(true) : getApiSigner(true);
221
- const result = yield _sendTransaction({
222
- code,
223
- txArgs,
224
- proposer: proposalSigner,
225
- authorizations: [auth],
226
- payer: payerSigner,
227
- keyHash,
228
- });
229
- return { txId: result.id };
230
- });
231
- const sendCustomTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
232
- const pk = yield getPrivateKey(body);
233
- if (!pk)
234
- throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
235
- const auth = getSigner(pk, body.account).signer;
236
- const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
237
- const { signer: payerSigner } = payer ? payer(true) : getApiSigner(true);
238
- const result = yield _sendTransaction({
21
+ const auth = flow_utils_1.flowUtils.getSigner(pk, body.account).signer;
22
+ const { signer: proposalSigner, keyHash } = proposer
23
+ ? proposer(false)
24
+ : flow_utils_1.flowUtils.getApiSigner(apiCalls, false);
25
+ const { signer: payerSigner } = payer ? payer(true) : flow_utils_1.flowUtils.getApiSigner(apiCalls, true);
26
+ const result = yield flow_utils_1.flowUtils.sendTransaction(apiCalls, {
239
27
  code: body.transaction,
240
28
  txArgs: body.args,
241
29
  proposer: proposalSigner,
242
30
  authorizations: [auth],
243
31
  keyHash,
244
32
  payer: payerSigner,
245
- });
33
+ }, provider.getProvider());
246
34
  return { txId: result.id, events: result.events };
247
35
  });
248
- const sendTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
36
+ const transferSignedTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
249
37
  const testnet = provider.isTestnet();
250
38
  let tokenAddress;
251
39
  let tokenName;
@@ -265,184 +53,67 @@ const flowTxService = (provider, apiCalls) => {
265
53
  { value: parseFloat(body.amount).toFixed(8), type: 'UFix64' },
266
54
  { value: body.to, type: 'Address' },
267
55
  ];
268
- const pk = yield getPrivateKey(body);
56
+ const pk = yield flow_utils_1.flowUtils.getPrivateKey(body);
269
57
  if (!pk)
270
58
  throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
271
59
  yield checkBalanceOrThrow(body.account, tokenAddress, tokenName, tokenStorage, body.amount);
272
- const auth = getSigner(pk, body.account).signer;
273
- const { signer: proposalSigner, keyHash } = proposer ? proposer(false) : getApiSigner(false);
274
- const { signer: payerSigner } = payer ? payer(true) : getApiSigner(true);
275
- const result = yield _sendTransaction({
60
+ const auth = flow_utils_1.flowUtils.getSigner(pk, body.account).signer;
61
+ const { signer: proposalSigner, keyHash } = proposer
62
+ ? proposer(false)
63
+ : flow_utils_1.flowUtils.getApiSigner(apiCalls, false);
64
+ const { signer: payerSigner } = payer ? payer(true) : flow_utils_1.flowUtils.getApiSigner(apiCalls, true);
65
+ const result = yield flow_utils_1.flowUtils.sendTransaction(apiCalls, {
276
66
  code,
277
67
  txArgs,
278
68
  proposer: proposalSigner,
279
69
  authorizations: [auth],
280
70
  payer: payerSigner,
281
71
  keyHash,
282
- });
72
+ }, provider.getProvider());
283
73
  return { txId: result.id };
284
74
  });
285
75
  return {
286
- sign,
287
- getSigner,
288
- getApiSigner,
289
- /**
290
- * Create account on the FLOW network. It automatically creates 100 0-weight proposal keys, which are managed by Tatum API - index 1-100.
291
- * Main 1000 weight authorizer key is stored as a first one on index 0.
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
- */
296
- createAccountFromPublicKey: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
297
- if (body.signatureId) {
298
- return api_client_1.ApiServices.blockchain.flow.flowCreateAddressFromPubKey(body);
299
- }
300
- return sendCreateAccountFromPublicKey(body, proposer, payer);
301
- }),
302
- /**
303
- * Add public key to existing blockchain address with defined weight
304
- * @param body content of the transaction to broadcast
305
- * @param proposer function to obtain proposer key from
306
- * @param payer function to obtain payer key from
307
- */
308
- addPublicKeyToAccount: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
309
- if (body.signatureId) {
310
- return api_client_1.ApiServices.blockchain.flow.flowAddPubKeyToAddress(body);
311
- }
312
- return sendAddPublicKeyToAccount(body, proposer, payer);
313
- }),
314
- nft: {
315
- getNftMetadata,
316
- getNftTokenByAddress,
317
- /**
318
- * Send Flow NFT mint token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
319
- * This operation is irreversible.
320
- * @param body content of the transaction to broadcast
321
- * @param proposer function to obtain proposer key from
322
- * @param payer function to obtain payer key from
323
- * @returns txId id of the transaction in the blockchain
324
- */
325
- sendNftMintToken: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
326
- if (body.signatureId) {
327
- return api_client_1.NftErc721OrCompatibleService.nftMintErc721(body);
328
- }
329
- return sendNftMintToken(body, proposer, payer);
330
- }),
331
- /**
332
- * Send Flow NFT mint multiple tokens transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
333
- * This operation is irreversible.
334
- * @param body content of the transaction to broadcast
335
- * @param proposer function to obtain proposer key from
336
- * @param payer function to obtain payer key from
337
- * @returns txId id of the transaction in the blockchain
338
- */
339
- sendNftMintMultipleToken: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
340
- if (body.signatureId) {
341
- return api_client_1.NftErc721OrCompatibleService.nftMintMultipleErc721(body);
342
- }
343
- return sendNftMintMultipleToken(body, proposer, payer);
344
- }),
345
- /**
346
- * Send Flow NFT transfer token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
347
- * This operation is irreversible.
348
- * @param body content of the transaction to broadcast
349
- * @param proposer function to obtain proposer key from
350
- * @param payer function to obtain payer key from
351
- * @returns {txId: string, events: any[]} id of the transaction in the blockchain and events this tx produced
352
- */
353
- sendNftTransferToken: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
354
- if (body.signatureId) {
355
- return api_client_1.NftErc721OrCompatibleService.nftTransferErc721(body);
356
- }
357
- return sendNftTransferToken(body, proposer, payer);
358
- }),
359
- /**
360
- * Send Flow NFT burn token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
361
- * This operation is irreversible.
362
- * @param body content of the transaction to broadcast
363
- * @param proposer function to obtain proposer key from
364
- * @param payer function to obtain payer key from
365
- * @returns txId id of the transaction in the blockchain
366
- */
367
- sendNftBurnToken: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
368
- if (body.signatureId) {
369
- return api_client_1.NftErc721OrCompatibleService.nftBurnErc721(body);
370
- }
371
- return sendNftBurnToken(body, proposer, payer);
372
- }),
76
+ templates: txTemplates,
77
+ nft: (0, flow_nft_1.flowNftService)(provider, apiCalls),
78
+ account: (0, flow_account_1.flowAccountService)(provider, apiCalls),
79
+ native: {
80
+ send: {
81
+ /**
82
+ * Send FLOW or FUSD from account to account.
83
+ * @param body content of the transaction to broadcast
84
+ * @param proposer function to obtain proposer key from
85
+ * @param payer function to obtain payer key from
86
+ * @returns txId id of the transaction in the blockchain
87
+ */
88
+ transferSignedTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
89
+ if (body.signatureId) {
90
+ return api_client_1.ApiServices.blockchain.flow.flowTransferBlockchain(body);
91
+ }
92
+ return transferSignedTransaction(body, proposer, payer);
93
+ }),
94
+ /**
95
+ * Send custom transaction to the FLOW network
96
+ * @param body content of the transaction to broadcast
97
+ * @param proposer function to obtain proposer key from
98
+ * @param payer function to obtain payer key from
99
+ * @returns txId id of the transaction in the blockchain
100
+ */
101
+ customSignedTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
102
+ if (body.signatureId) {
103
+ return api_client_1.ApiServices.blockchain.flow.flowTransferCustomBlockchain(body);
104
+ }
105
+ return customSignedTransaction(body, proposer, payer);
106
+ }),
107
+ },
373
108
  },
374
- /**
375
- * Send FLOW or FUSD from account to account.
376
- * @param body content of the transaction to broadcast
377
- * @param proposer function to obtain proposer key from
378
- * @param payer function to obtain payer key from
379
- * @returns txId id of the transaction in the blockchain
380
- */
381
- sendTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
382
- if (body.signatureId) {
383
- return api_client_1.ApiServices.blockchain.flow.flowTransferBlockchain(body);
384
- }
385
- return sendTransaction(body, proposer, payer);
386
- }),
387
- /**
388
- * Send custom transaction to the FLOW network
389
- * @param body content of the transaction to broadcast
390
- * @param proposer function to obtain proposer key from
391
- * @param payer function to obtain payer key from
392
- * @returns txId id of the transaction in the blockchain
393
- */
394
- sendCustomTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
395
- if (body.signatureId) {
396
- return api_client_1.ApiServices.blockchain.flow.flowTransferCustomBlockchain(body);
397
- }
398
- return sendCustomTransaction(body, proposer, payer);
399
- }),
400
- templates: Object.assign({}, txTemplates),
401
109
  };
402
- function _sendTransaction({ code, txArgs, proposer, authorizations, payer, keyHash, }) {
403
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
404
- fcl.config().put('accessNode.api', provider.getProvider());
405
- let response;
406
- try {
407
- response = yield fcl.send([
408
- fcl.transaction(code),
409
- fcl.args(txArgs.map((arg) => fcl.arg(arg.value, ArrayArgValue(arg)))),
410
- fcl.proposer(proposer),
411
- fcl.authorizations(authorizations),
412
- fcl.payer(payer),
413
- fcl.limit(1000),
414
- ]);
415
- }
416
- catch (e) {
417
- yield unlockProposalKey(keyHash);
418
- throw new flow_sdk_errors_1.FlowSdkError({ error: e });
419
- }
420
- const { transactionId } = response;
421
- try {
422
- const { error, events } = yield fcl.tx(response).onceSealed();
423
- if (error) {
424
- throw new flow_sdk_errors_1.FlowSdkError({ error: error });
425
- }
426
- return {
427
- id: transactionId,
428
- events,
429
- };
430
- }
431
- catch (e) {
432
- throw new flow_sdk_errors_1.FlowSdkError({ error: e });
433
- }
434
- finally {
435
- yield unlockProposalKey(keyHash);
436
- }
437
- });
438
- }
439
110
  function checkBalanceOrThrow(account, tokenAddress, tokenName, tokenStorage, amount) {
440
111
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
441
112
  const balanceTx = txTemplates.prepareBalanceTxTemplate(provider.isTestnet(), tokenAddress, tokenName, tokenStorage);
442
113
  const balanceArgs = [{ value: account, type: 'Address' }];
443
114
  let result;
444
115
  try {
445
- result = yield sendScript(balanceTx, balanceArgs);
116
+ result = yield flow_utils_1.flowUtils.sendScript(balanceTx, balanceArgs, provider.getProvider());
446
117
  }
447
118
  catch (_e) {
448
119
  console.error(_e);
@@ -457,70 +128,6 @@ const flowTxService = (provider, apiCalls) => {
457
128
  }
458
129
  });
459
130
  }
460
- function getPrivateKey(body) {
461
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
462
- const { mnemonic, index, privateKey } = body;
463
- if (privateKey) {
464
- return privateKey;
465
- }
466
- else {
467
- if (mnemonic && !lodash_1.default.isNil(index) && index >= 0) {
468
- return flowSdkWallet.generatePrivateKeyFromMnemonic(mnemonic, index);
469
- }
470
- else
471
- throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_MNEMONIC });
472
- }
473
- });
474
- }
475
- function sendScript(code, scriptArgs) {
476
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
477
- fcl.config().put('accessNode.api', provider.getProvider());
478
- const response = yield fcl.send([
479
- fcl.script(code),
480
- fcl.args(scriptArgs.map((arg) => fcl.arg(arg.value, types[arg.type]))),
481
- ]);
482
- return fcl.decode(response);
483
- });
484
- }
485
- function getProposalKeyOrFetch(keyHash, isPayer) {
486
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
487
- const value = process.env[keyHash];
488
- if (value) {
489
- return JSON.parse(value);
490
- }
491
- else {
492
- return apiCalls.getSignKey(isPayer);
493
- }
494
- });
495
- }
496
- function storeProposalKey(keyHash, address, keyId) {
497
- process.env[keyHash] = JSON.stringify({ address, keyId });
498
- }
499
- function proposalKey(keyHash) {
500
- const value = process.env[keyHash];
501
- if (!value)
502
- return undefined;
503
- return keyHash ? JSON.parse(value) : undefined;
504
- }
505
- function ArrayArgValue(arg) {
506
- return arg.type === 'Array' ? types[arg.type](types[arg.subType]) : types[arg.type];
507
- }
508
- function unlockProposalKey(keyHash) {
509
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
510
- try {
511
- if (keyHash) {
512
- const key = proposalKey(keyHash);
513
- if (key) {
514
- yield apiCalls.broadcast('', undefined, key.keyId);
515
- delete process.env[keyHash];
516
- }
517
- }
518
- }
519
- catch (e) {
520
- throw new flow_sdk_errors_1.FlowSdkError({ error: e });
521
- }
522
- });
523
- }
524
131
  };
525
132
  exports.flowTxService = flowTxService;
526
133
  //# sourceMappingURL=flow.tx.js.map
@@ -1 +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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"}
1
+ {"version":3,"file":"flow.tx.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/flow/src/lib/services/flow.tx.ts"],"names":[],"mappings":"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"}