@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.
@@ -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 shared_core_1 = require("@tatumio/shared-core");
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
- const w = (0, bip32_1.fromBase58)(xpub).derivePath(String(i));
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
- const s = new elliptic.ec('secp256k1').keyFromPrivate(privateKey).getPublic().encode('hex', false);
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
- mnemonic || (mnemonic = (0, bip39_1.generateMnemonic)(256));
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
- const key = (0, bip32_1.fromSeed)(yield (0, bip39_1.mnemonicToSeed)(mnemonic))
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,sDAAsD;AACtD,2DAAoC;AACpC,iCAA4C;AAC5C,iCAAwD;AACxD,0DAAyB;AAElB,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO;QACL,uBAAuB,EAAE,CAAC,IAAY,EAAE,CAAS,EAAU,EAAE;YAC3D,MAAM,CAAC,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAClG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;QACD,6BAA6B,EAAE,CAAC,UAAkB,EAAU,EAAE;YAC5D,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAClG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;QACD,cAAc,EAAE,CAAO,QAAiB,EAAE,EAAE;YAC1C,QAAQ,KAAR,QAAQ,GAAK,IAAA,wBAAgB,EAAC,GAAG,CAAC,EAAA;YAClC,MAAM,QAAQ,GAAG,eAAK,CAAC,cAAc,CAAC,MAAM,IAAA,sBAAc,EAAC,QAAQ,CAAC,CAAC,CAAA;YACrE,OAAO;gBACL,QAAQ;gBACR,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,6BAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI;aAC1D,CAAA;QACH,CAAC,CAAA;QACD,8BAA8B,EAAE,CAAO,QAAgB,EAAE,CAAS,EAAE,EAAE;YACpE,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,MAAM,IAAA,sBAAc,EAAC,QAAQ,CAAC,CAAC;iBACjD,UAAU,CAAC,6BAAe,CAAC,IAAI,CAAC;iBAChC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;YACvB,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;YAC7C,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACnF,CAAC,CAAA;KACF,CAAA;AACH,CAAC,CAAA;AA3BY,QAAA,UAAU,cA2BtB"}
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 { Account, AccountAuthorization, AccountSigner, FixedFlowCustomTransactionPK, FlowPrivateKeyOrSignatureId } from '../flow.types';
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
- export declare type MintFlowNft = FlowPrivateKeyOrSignatureId<MintNftFlowPK>;
5
- export declare type MintMultipleFlowNft = FlowPrivateKeyOrSignatureId<MintMultipleNftFlowPK>;
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
  };