@tatumio/flow 2.0.1-alpha.375 → 2.0.1-alpha.377
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +10 -10
- package/src/lib/flow.sdk.d.ts +56 -57
- package/src/lib/flow.sdk.js +7 -17
- package/src/lib/flow.sdk.js.map +1 -1
- package/src/lib/services/flow.account.d.ts +25 -0
- package/src/lib/services/flow.account.js +92 -0
- package/src/lib/services/flow.account.js.map +1 -0
- package/src/lib/services/flow.kms.d.ts +1 -1
- package/src/lib/services/flow.kms.js +8 -8
- package/src/lib/services/flow.kms.js.map +1 -1
- package/src/lib/services/flow.nft.d.ts +57 -0
- package/src/lib/services/flow.nft.js +213 -0
- package/src/lib/services/flow.nft.js.map +1 -0
- package/src/lib/services/flow.sdk.wallet.d.ts +1 -4
- package/src/lib/services/flow.sdk.wallet.js +5 -22
- package/src/lib/services/flow.sdk.wallet.js.map +1 -1
- package/src/lib/services/flow.tx.d.ts +42 -104
- package/src/lib/services/flow.tx.js +57 -448
- package/src/lib/services/flow.tx.js.map +1 -1
- package/src/lib/services/flow.virtualAccount.js +1 -1
- package/src/lib/services/flow.virtualAccount.js.map +1 -1
- package/src/lib/utils/flow.utils.d.ts +47 -0
- package/src/lib/utils/flow.utils.js +143 -0
- package/src/lib/utils/flow.utils.js.map +1 -0
- package/src/lib/utils/flow.wallet.utils.d.ts +7 -0
- package/src/lib/utils/flow.wallet.utils.js +37 -0
- package/src/lib/utils/flow.wallet.utils.js.map +1 -0
@@ -0,0 +1,213 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.flowNftService = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const flow_tx_templates_1 = require("./flow.tx.templates");
|
6
|
+
const flow_sdk_errors_1 = require("../flow.sdk.errors");
|
7
|
+
const shared_abstract_sdk_1 = require("@tatumio/shared-abstract-sdk");
|
8
|
+
const shared_core_1 = require("@tatumio/shared-core");
|
9
|
+
const api_client_1 = require("@tatumio/api-client");
|
10
|
+
const flow_utils_1 = require("../utils/flow.utils");
|
11
|
+
const flowNftService = (provider, apiCalls) => {
|
12
|
+
const txTemplates = (0, flow_tx_templates_1.flowTxTemplates)();
|
13
|
+
const getNftMetadata = (account, id, contractAddress) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
14
|
+
const code = txTemplates.metadataNftTokenScript(provider.isTestnet());
|
15
|
+
const scriptArgs = [
|
16
|
+
{ type: 'Address', value: account },
|
17
|
+
{ type: 'UInt64', value: id },
|
18
|
+
{ type: 'String', value: contractAddress },
|
19
|
+
];
|
20
|
+
return flow_utils_1.flowUtils.sendScript(code, scriptArgs, provider.getProvider());
|
21
|
+
});
|
22
|
+
const getNftTokenByAddress = (account, tokenType) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
23
|
+
const code = txTemplates.tokenByAddressNftTokenScript(provider.isTestnet());
|
24
|
+
const scriptArgs = [
|
25
|
+
{ type: 'Address', value: account },
|
26
|
+
{ type: 'String', value: tokenType },
|
27
|
+
];
|
28
|
+
return flow_utils_1.flowUtils.sendScript(code, scriptArgs, provider.getProvider());
|
29
|
+
});
|
30
|
+
const mintSignedTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
31
|
+
var _a;
|
32
|
+
const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
|
33
|
+
const code = txTemplates.mintNftTokenTxTemplate(provider.isTestnet());
|
34
|
+
const { url, contractAddress: tokenType, to, account } = bodyWithChain;
|
35
|
+
const txArgs = [
|
36
|
+
{ type: 'Address', value: to },
|
37
|
+
{ type: 'String', value: url },
|
38
|
+
{ type: 'String', value: tokenType },
|
39
|
+
];
|
40
|
+
const pk = yield flow_utils_1.flowUtils.getPrivateKey(bodyWithChain);
|
41
|
+
if (!pk)
|
42
|
+
throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
|
43
|
+
const auth = flow_utils_1.flowUtils.getSigner(pk, account).signer;
|
44
|
+
const { signer: proposalSigner, keyHash } = proposer
|
45
|
+
? proposer(false)
|
46
|
+
: flow_utils_1.flowUtils.getApiSigner(apiCalls, false);
|
47
|
+
const { signer: payerSigner } = payer ? payer(true) : flow_utils_1.flowUtils.getApiSigner(apiCalls, true);
|
48
|
+
const result = yield flow_utils_1.flowUtils.sendTransaction(apiCalls, {
|
49
|
+
code,
|
50
|
+
txArgs,
|
51
|
+
proposer: proposalSigner,
|
52
|
+
authorizations: [auth],
|
53
|
+
keyHash,
|
54
|
+
payer: payerSigner,
|
55
|
+
}, provider.getProvider());
|
56
|
+
return {
|
57
|
+
txId: result.id,
|
58
|
+
tokenId: `${(_a = result.events.find((e) => e.type.includes('TatumMultiNFT.Minted'))) === null || _a === void 0 ? void 0 : _a.data.id}`,
|
59
|
+
};
|
60
|
+
});
|
61
|
+
const mintMultipleSignedTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
62
|
+
const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
|
63
|
+
const code = txTemplates.mintMultipleNftTokenTxTemplate(provider.isTestnet());
|
64
|
+
const { url, contractAddress: tokenType, to, account } = bodyWithChain;
|
65
|
+
const txArgs = [
|
66
|
+
{ type: 'Array', subType: 'Address', value: to },
|
67
|
+
{
|
68
|
+
type: 'Array',
|
69
|
+
subType: 'String',
|
70
|
+
value: url,
|
71
|
+
},
|
72
|
+
{ type: 'String', value: tokenType },
|
73
|
+
];
|
74
|
+
const pk = yield flow_utils_1.flowUtils.getPrivateKey(bodyWithChain);
|
75
|
+
if (!pk)
|
76
|
+
throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
|
77
|
+
const auth = flow_utils_1.flowUtils.getSigner(pk, account).signer;
|
78
|
+
const { signer: proposalSigner, keyHash } = proposer
|
79
|
+
? proposer(false)
|
80
|
+
: flow_utils_1.flowUtils.getApiSigner(apiCalls, false);
|
81
|
+
const { signer: payerSigner } = payer ? payer(true) : flow_utils_1.flowUtils.getApiSigner(apiCalls, true);
|
82
|
+
const result = yield flow_utils_1.flowUtils.sendTransaction(apiCalls, {
|
83
|
+
code,
|
84
|
+
txArgs,
|
85
|
+
proposer: proposalSigner,
|
86
|
+
authorizations: [auth],
|
87
|
+
payer: payerSigner,
|
88
|
+
keyHash,
|
89
|
+
}, provider.getProvider());
|
90
|
+
return {
|
91
|
+
txId: result.id,
|
92
|
+
tokenId: result.events
|
93
|
+
.filter((e) => e.type.includes('TatumMultiNFT.Minted'))
|
94
|
+
.map((e) => e.data.id),
|
95
|
+
};
|
96
|
+
});
|
97
|
+
const transferSignedTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
98
|
+
const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
|
99
|
+
const code = txTemplates.transferNftTokenTxTemplate(provider.isTestnet());
|
100
|
+
const { tokenId, to, account } = bodyWithChain;
|
101
|
+
const txArgs = [
|
102
|
+
{ type: 'Address', value: to },
|
103
|
+
{ type: 'UInt64', value: tokenId },
|
104
|
+
];
|
105
|
+
const pk = yield flow_utils_1.flowUtils.getPrivateKey(bodyWithChain);
|
106
|
+
if (!pk)
|
107
|
+
throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
|
108
|
+
const auth = flow_utils_1.flowUtils.getSigner(pk, account).signer;
|
109
|
+
const { signer: proposalSigner, keyHash } = proposer
|
110
|
+
? proposer(false)
|
111
|
+
: flow_utils_1.flowUtils.getApiSigner(apiCalls, false);
|
112
|
+
const { signer: payerSigner } = payer ? payer(true) : flow_utils_1.flowUtils.getApiSigner(apiCalls, true);
|
113
|
+
const result = yield flow_utils_1.flowUtils.sendTransaction(apiCalls, {
|
114
|
+
code,
|
115
|
+
txArgs,
|
116
|
+
proposer: proposalSigner,
|
117
|
+
authorizations: [auth],
|
118
|
+
payer: payerSigner,
|
119
|
+
keyHash,
|
120
|
+
}, provider.getProvider());
|
121
|
+
return { txId: result.id };
|
122
|
+
});
|
123
|
+
const burnSignedTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
124
|
+
const bodyWithChain = Object.assign(Object.assign({}, body), { chain: shared_core_1.Blockchain.FLOW });
|
125
|
+
const code = txTemplates.burnNftTokenTxTemplate(provider.isTestnet());
|
126
|
+
const { tokenId, contractAddress: tokenType, account } = bodyWithChain;
|
127
|
+
const txArgs = [
|
128
|
+
{ type: 'UInt64', value: tokenId },
|
129
|
+
{ type: 'String', value: tokenType },
|
130
|
+
];
|
131
|
+
const pk = yield flow_utils_1.flowUtils.getPrivateKey(bodyWithChain);
|
132
|
+
if (!pk)
|
133
|
+
throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
|
134
|
+
const auth = flow_utils_1.flowUtils.getSigner(pk, account).signer;
|
135
|
+
const { signer: proposalSigner, keyHash } = proposer
|
136
|
+
? proposer(false)
|
137
|
+
: flow_utils_1.flowUtils.getApiSigner(apiCalls, false);
|
138
|
+
const { signer: payerSigner } = payer ? payer(true) : flow_utils_1.flowUtils.getApiSigner(apiCalls, true);
|
139
|
+
const result = yield flow_utils_1.flowUtils.sendTransaction(apiCalls, {
|
140
|
+
code,
|
141
|
+
txArgs,
|
142
|
+
proposer: proposalSigner,
|
143
|
+
authorizations: [auth],
|
144
|
+
payer: payerSigner,
|
145
|
+
keyHash,
|
146
|
+
}, provider.getProvider());
|
147
|
+
return { txId: result.id };
|
148
|
+
});
|
149
|
+
return {
|
150
|
+
getNftMetadata,
|
151
|
+
getNftTokenByAddress,
|
152
|
+
send: {
|
153
|
+
/**
|
154
|
+
* Send Flow NFT mint token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
155
|
+
* This operation is irreversible.
|
156
|
+
* @param body content of the transaction to broadcast
|
157
|
+
* @param proposer function to obtain proposer key from
|
158
|
+
* @param payer function to obtain payer key from
|
159
|
+
* @returns txId id of the transaction in the blockchain
|
160
|
+
*/
|
161
|
+
mintSignedTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
162
|
+
if (body.signatureId) {
|
163
|
+
return api_client_1.NftErc721OrCompatibleService.nftMintErc721(body);
|
164
|
+
}
|
165
|
+
return mintSignedTransaction(body, proposer, payer);
|
166
|
+
}),
|
167
|
+
/**
|
168
|
+
* Send Flow NFT mint multiple tokens transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
169
|
+
* This operation is irreversible.
|
170
|
+
* @param body content of the transaction to broadcast
|
171
|
+
* @param proposer function to obtain proposer key from
|
172
|
+
* @param payer function to obtain payer key from
|
173
|
+
* @returns txId id of the transaction in the blockchain
|
174
|
+
*/
|
175
|
+
mintMultipleSignedTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
176
|
+
if (body.signatureId) {
|
177
|
+
return api_client_1.NftErc721OrCompatibleService.nftMintMultipleErc721(body);
|
178
|
+
}
|
179
|
+
return mintMultipleSignedTransaction(body, proposer, payer);
|
180
|
+
}),
|
181
|
+
/**
|
182
|
+
* Send Flow NFT transfer token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
183
|
+
* This operation is irreversible.
|
184
|
+
* @param body content of the transaction to broadcast
|
185
|
+
* @param proposer function to obtain proposer key from
|
186
|
+
* @param payer function to obtain payer key from
|
187
|
+
* @returns {txId: string, events: any[]} id of the transaction in the blockchain and events this tx produced
|
188
|
+
*/
|
189
|
+
transferSignedTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
190
|
+
if (body.signatureId) {
|
191
|
+
return api_client_1.NftErc721OrCompatibleService.nftTransferErc721(body);
|
192
|
+
}
|
193
|
+
return transferSignedTransaction(body, proposer, payer);
|
194
|
+
}),
|
195
|
+
/**
|
196
|
+
* Send Flow NFT burn token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
197
|
+
* This operation is irreversible.
|
198
|
+
* @param body content of the transaction to broadcast
|
199
|
+
* @param proposer function to obtain proposer key from
|
200
|
+
* @param payer function to obtain payer key from
|
201
|
+
* @returns txId id of the transaction in the blockchain
|
202
|
+
*/
|
203
|
+
burnSignedTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
204
|
+
if (body.signatureId) {
|
205
|
+
return api_client_1.NftErc721OrCompatibleService.nftBurnErc721(body);
|
206
|
+
}
|
207
|
+
return burnSignedTransaction(body, proposer, payer);
|
208
|
+
}),
|
209
|
+
},
|
210
|
+
};
|
211
|
+
};
|
212
|
+
exports.flowNftService = flowNftService;
|
213
|
+
//# sourceMappingURL=flow.nft.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"flow.nft.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/flow/src/lib/services/flow.nft.ts"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,6 @@
|
|
1
1
|
export declare const flowWallet: () => {
|
2
2
|
generateAddressFromXPub: (xpub: string, i: number) => string;
|
3
3
|
generateAddressFromPrivateKey: (privateKey: string) => string;
|
4
|
-
generateWallet: (mnemonic?: string) => Promise<
|
5
|
-
mnemonic: string;
|
6
|
-
xpub: string;
|
7
|
-
}>;
|
4
|
+
generateWallet: (mnemonic?: string) => Promise<import("@tatumio/api-client").Wallet>;
|
8
5
|
generatePrivateKeyFromMnemonic: (mnemonic: string, i: number) => Promise<string>;
|
9
6
|
};
|
@@ -2,37 +2,20 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.flowWallet = void 0;
|
4
4
|
const tslib_1 = require("tslib");
|
5
|
-
const
|
6
|
-
const elliptic = tslib_1.__importStar(require("elliptic"));
|
7
|
-
const bip32_1 = require("bip32");
|
8
|
-
const bip39_1 = require("bip39");
|
9
|
-
const hdkey_1 = tslib_1.__importDefault(require("hdkey"));
|
5
|
+
const flow_wallet_utils_1 = require("../utils/flow.wallet.utils");
|
10
6
|
const flowWallet = () => {
|
11
7
|
return {
|
12
8
|
generateAddressFromXPub: (xpub, i) => {
|
13
|
-
|
14
|
-
const s = new elliptic.ec('secp256k1').keyFromPublic(w.publicKey).getPublic().encode('hex', false);
|
15
|
-
return s.slice(2);
|
9
|
+
return flow_wallet_utils_1.flowWalletUtils.generateAddressFromXPub(xpub, i);
|
16
10
|
},
|
17
11
|
generateAddressFromPrivateKey: (privateKey) => {
|
18
|
-
|
19
|
-
return s.slice(2);
|
12
|
+
return flow_wallet_utils_1.flowWalletUtils.generateAddressFromPrivateKey(privateKey);
|
20
13
|
},
|
21
14
|
generateWallet: (mnemonic) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
22
|
-
|
23
|
-
const hdwallet = hdkey_1.default.fromMasterSeed(yield (0, bip39_1.mnemonicToSeed)(mnemonic));
|
24
|
-
return {
|
25
|
-
mnemonic,
|
26
|
-
xpub: hdwallet.derive(shared_core_1.DERIVATION_PATH.FLOW).toJSON().xpub,
|
27
|
-
};
|
15
|
+
return flow_wallet_utils_1.flowWalletUtils.generateWallet(mnemonic);
|
28
16
|
}),
|
29
17
|
generatePrivateKeyFromMnemonic: (mnemonic, i) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
30
|
-
|
31
|
-
.derivePath(shared_core_1.DERIVATION_PATH.FLOW)
|
32
|
-
.derive(i).privateKey;
|
33
|
-
if (!key)
|
34
|
-
throw new Error('No key generated');
|
35
|
-
return new elliptic.ec('secp256k1').keyFromPrivate(key).getPrivate().toString(16);
|
18
|
+
return flow_wallet_utils_1.flowWalletUtils.generatePrivateKeyFromMnemonic(mnemonic, i);
|
36
19
|
}),
|
37
20
|
};
|
38
21
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"flow.sdk.wallet.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/flow/src/lib/services/flow.sdk.wallet.ts"],"names":[],"mappings":";;;;AAAA,
|
1
|
+
{"version":3,"file":"flow.sdk.wallet.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/flow/src/lib/services/flow.sdk.wallet.ts"],"names":[],"mappings":";;;;AAAA,kEAA4D;AAErD,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO;QACL,uBAAuB,EAAE,CAAC,IAAY,EAAE,CAAS,EAAU,EAAE;YAC3D,OAAO,mCAAe,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACzD,CAAC;QACD,6BAA6B,EAAE,CAAC,UAAkB,EAAU,EAAE;YAC5D,OAAO,mCAAe,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAA;QAClE,CAAC;QACD,cAAc,EAAE,CAAO,QAAiB,EAAE,EAAE;YAC1C,OAAO,mCAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QACjD,CAAC,CAAA;QACD,8BAA8B,EAAE,CAAO,QAAgB,EAAE,CAAS,EAAE,EAAE;YACpE,OAAO,mCAAe,CAAC,8BAA8B,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACpE,CAAC,CAAA;KACF,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,UAAU,cAetB"}
|
@@ -1,108 +1,7 @@
|
|
1
|
-
import {
|
2
|
-
import { BurnNftFlowPK, FlowCreateAddressFromPubKeySecret, FlowTransactionPK, MintMultipleNftFlowPK, MintNftFlowPK, TransferNftFlowPK } from '@tatumio/api-client';
|
1
|
+
import { AccountSigner } from '../flow.types';
|
3
2
|
import { FlowProvider } from './flow.provider';
|
4
|
-
|
5
|
-
export declare
|
6
|
-
export declare type TransferFlowNft = FlowPrivateKeyOrSignatureId<TransferNftFlowPK>;
|
7
|
-
export declare type BurnFlowNft = FlowPrivateKeyOrSignatureId<BurnNftFlowPK>;
|
8
|
-
export declare type TransferFlowCustomTx = FlowPrivateKeyOrSignatureId<FixedFlowCustomTransactionPK>;
|
9
|
-
export declare type TransferFlow = FlowPrivateKeyOrSignatureId<FlowTransactionPK>;
|
10
|
-
export declare type CreateAddressFromPubKey = FlowPrivateKeyOrSignatureId<FlowCreateAddressFromPubKeySecret>;
|
11
|
-
export declare const flowTxService: (provider: FlowProvider, apiCalls: {
|
12
|
-
getSignKey: (isPayer: boolean) => Promise<{
|
13
|
-
keyId: number;
|
14
|
-
address: string;
|
15
|
-
}>;
|
16
|
-
signWithKey: (data: string, isPayer: boolean) => Promise<{
|
17
|
-
signature: string;
|
18
|
-
}>;
|
19
|
-
broadcast: (txData: string, signatureId?: string, proposalKey?: number) => Promise<{
|
20
|
-
txId: string;
|
21
|
-
failed?: boolean;
|
22
|
-
}>;
|
23
|
-
}) => {
|
24
|
-
sign: (pk: string, msg: Buffer) => string;
|
25
|
-
getSigner: (pk: string, address: string, keyId?: number) => {
|
26
|
-
signer: (account: Account) => Promise<AccountAuthorization>;
|
27
|
-
};
|
28
|
-
getApiSigner: (isPayer: boolean) => {
|
29
|
-
signer: (account: Account) => Promise<AccountAuthorization>;
|
30
|
-
keyHash: string;
|
31
|
-
};
|
32
|
-
/**
|
33
|
-
* Create account on the FLOW network. It automatically creates 100 0-weight proposal keys, which are managed by Tatum API - index 1-100.
|
34
|
-
* Main 1000 weight authorizer key is stored as a first one on index 0.
|
35
|
-
* @param body content of the transaction to broadcast
|
36
|
-
* @param proposer function to obtain proposer key from
|
37
|
-
* @param payer function to obtain payer key from
|
38
|
-
*/
|
39
|
-
createAccountFromPublicKey: (body: CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").SignatureId | {
|
40
|
-
txId?: string | undefined;
|
41
|
-
address?: string | undefined;
|
42
|
-
}>;
|
43
|
-
/**
|
44
|
-
* Add public key to existing blockchain address with defined weight
|
45
|
-
* @param body content of the transaction to broadcast
|
46
|
-
* @param proposer function to obtain proposer key from
|
47
|
-
* @param payer function to obtain payer key from
|
48
|
-
*/
|
49
|
-
addPublicKeyToAccount: (body: CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
50
|
-
nft: {
|
51
|
-
getNftMetadata: (account: string, id: string, contractAddress: string) => Promise<any>;
|
52
|
-
getNftTokenByAddress: (account: string, tokenType: string) => Promise<any>;
|
53
|
-
/**
|
54
|
-
* Send Flow NFT mint token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
55
|
-
* This operation is irreversible.
|
56
|
-
* @param body content of the transaction to broadcast
|
57
|
-
* @param proposer function to obtain proposer key from
|
58
|
-
* @param payer function to obtain payer key from
|
59
|
-
* @returns txId id of the transaction in the blockchain
|
60
|
-
*/
|
61
|
-
sendNftMintToken: (body: MintFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId | import("@tatumio/api-client").FlowMintedResult | import("@tatumio/api-client").SolanaMintedResult | import("@tatumio/api-client").AlgorandMintedResult>;
|
62
|
-
/**
|
63
|
-
* Send Flow NFT mint multiple tokens transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
64
|
-
* This operation is irreversible.
|
65
|
-
* @param body content of the transaction to broadcast
|
66
|
-
* @param proposer function to obtain proposer key from
|
67
|
-
* @param payer function to obtain payer key from
|
68
|
-
* @returns txId id of the transaction in the blockchain
|
69
|
-
*/
|
70
|
-
sendNftMintMultipleToken: (body: MintMultipleFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId | import("@tatumio/api-client").FlowMintedMultipleResult>;
|
71
|
-
/**
|
72
|
-
* Send Flow NFT transfer token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
73
|
-
* This operation is irreversible.
|
74
|
-
* @param body content of the transaction to broadcast
|
75
|
-
* @param proposer function to obtain proposer key from
|
76
|
-
* @param payer function to obtain payer key from
|
77
|
-
* @returns {txId: string, events: any[]} id of the transaction in the blockchain and events this tx produced
|
78
|
-
*/
|
79
|
-
sendNftTransferToken: (body: TransferFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
80
|
-
/**
|
81
|
-
* Send Flow NFT burn token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
|
82
|
-
* This operation is irreversible.
|
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
|
-
sendNftBurnToken: (body: BurnFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
89
|
-
};
|
90
|
-
/**
|
91
|
-
* Send FLOW or FUSD from account to account.
|
92
|
-
* @param body content of the transaction to broadcast
|
93
|
-
* @param proposer function to obtain proposer key from
|
94
|
-
* @param payer function to obtain payer key from
|
95
|
-
* @returns txId id of the transaction in the blockchain
|
96
|
-
*/
|
97
|
-
sendTransaction: (body: TransferFlow, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
98
|
-
/**
|
99
|
-
* Send custom transaction to the FLOW network
|
100
|
-
* @param body content of the transaction to broadcast
|
101
|
-
* @param proposer function to obtain proposer key from
|
102
|
-
* @param payer function to obtain payer key from
|
103
|
-
* @returns txId id of the transaction in the blockchain
|
104
|
-
*/
|
105
|
-
sendCustomTransaction: (body: TransferFlowCustomTx, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
3
|
+
import { FlowApiCalls, TransferFlow, TransferFlowCustomTx } from '../utils/flow.utils';
|
4
|
+
export declare const flowTxService: (provider: FlowProvider, apiCalls: FlowApiCalls) => {
|
106
5
|
templates: {
|
107
6
|
deployNftTokenTypeWithMinterTxTemplate: (testnet: boolean) => string;
|
108
7
|
metadataNftTokenScript: (testnet: boolean) => string;
|
@@ -116,4 +15,43 @@ export declare const flowTxService: (provider: FlowProvider, apiCalls: {
|
|
116
15
|
prepareBalanceTxTemplate: (testnet: boolean, tokenAddress: string, tokenName: string, tokenStorage: string) => string;
|
117
16
|
prepareCreateAccountWithFUSDFromPublicKeyTxTemplate: (testnet: boolean) => string;
|
118
17
|
};
|
18
|
+
nft: {
|
19
|
+
getNftMetadata: (account: string, id: string, contractAddress: string) => Promise<any>;
|
20
|
+
getNftTokenByAddress: (account: string, tokenType: string) => Promise<any>;
|
21
|
+
send: {
|
22
|
+
mintSignedTransaction: (body: import("../utils/flow.utils").MintFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId | import("@tatumio/api-client").FlowMintedResult | import("@tatumio/api-client").SolanaMintedResult | import("@tatumio/api-client").AlgorandMintedResult>;
|
23
|
+
mintMultipleSignedTransaction: (body: import("../utils/flow.utils").MintMultipleFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId | import("@tatumio/api-client").FlowMintedMultipleResult>;
|
24
|
+
transferSignedTransaction: (body: import("../utils/flow.utils").TransferFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
25
|
+
burnSignedTransaction: (body: import("../utils/flow.utils").BurnFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
26
|
+
};
|
27
|
+
};
|
28
|
+
account: {
|
29
|
+
send: {
|
30
|
+
createSignedTransaction: (body: import("../utils/flow.utils").CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").SignatureId | {
|
31
|
+
txId?: string | undefined;
|
32
|
+
address?: string | undefined;
|
33
|
+
}>;
|
34
|
+
publicKeySignedTransaction: (body: import("../utils/flow.utils").CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
35
|
+
};
|
36
|
+
};
|
37
|
+
native: {
|
38
|
+
send: {
|
39
|
+
/**
|
40
|
+
* Send FLOW or FUSD from account to account.
|
41
|
+
* @param body content of the transaction to broadcast
|
42
|
+
* @param proposer function to obtain proposer key from
|
43
|
+
* @param payer function to obtain payer key from
|
44
|
+
* @returns txId id of the transaction in the blockchain
|
45
|
+
*/
|
46
|
+
transferSignedTransaction: (body: TransferFlow, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
47
|
+
/**
|
48
|
+
* Send custom transaction to the FLOW network
|
49
|
+
* @param body content of the transaction to broadcast
|
50
|
+
* @param proposer function to obtain proposer key from
|
51
|
+
* @param payer function to obtain payer key from
|
52
|
+
* @returns txId id of the transaction in the blockchain
|
53
|
+
*/
|
54
|
+
customSignedTransaction: (body: TransferFlowCustomTx, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
|
55
|
+
};
|
56
|
+
};
|
119
57
|
};
|