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

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 CHANGED
@@ -1,27 +1,27 @@
1
1
  {
2
2
  "name": "@tatumio/flow",
3
- "version": "2.0.1-alpha.375",
3
+ "version": "2.0.1-alpha.377",
4
4
  "license": "MIT",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
7
7
  "dependencies": {
8
- "@tatumio/api-client": "2.0.1-alpha.375",
8
+ "@tatumio/api-client": "2.0.1-alpha.377",
9
9
  "axios": "^0.26.0",
10
10
  "form-data": "^4.0.0",
11
- "@tatumio/shared-testing-common": "2.0.1-alpha.375",
11
+ "@tatumio/shared-testing-common": "2.0.1-alpha.377",
12
12
  "dedent-js": "^1.0.1",
13
- "@tatumio/shared-core": "2.0.1-alpha.375",
14
- "@tatumio/shared-abstract-sdk": "2.0.1-alpha.375",
13
+ "@tatumio/shared-core": "2.0.1-alpha.377",
14
+ "@tatumio/shared-abstract-sdk": "2.0.1-alpha.377",
15
15
  "bignumber.js": "^9.0.2",
16
16
  "lodash": "^4.17.21",
17
- "@tatumio/shared-blockchain-abstract": "2.0.1-alpha.375",
17
+ "@tatumio/shared-blockchain-abstract": "2.0.1-alpha.377",
18
+ "@onflow/util-encode-key": "^1.0.3",
19
+ "sha3": "^2.1.4",
20
+ "@onflow/fcl": "^1.3.2",
21
+ "@onflow/types": "^1.0.5",
18
22
  "bip32": "^2.0.5",
19
23
  "bip39": "^3.0.2",
20
24
  "hdkey": "^2.0.1",
21
- "@onflow/fcl": "^1.3.2",
22
- "@onflow/types": "^1.0.5",
23
- "@onflow/util-encode-key": "^1.0.3",
24
- "sha3": "^2.1.4",
25
25
  "tslib": "^2.0.0"
26
26
  },
27
27
  "peerDependencies": {}
@@ -20,61 +20,77 @@ export declare const TatumFlowSDK: (args: FlowSDKArguments) => {
20
20
  wallet: {
21
21
  generateAddressFromXPub: (xpub: string, i: number) => string;
22
22
  generateAddressFromPrivateKey: (privateKey: string) => string;
23
- generateWallet: (mnemonic?: string | undefined) => Promise<{
24
- mnemonic: string;
25
- xpub: string;
26
- }>;
23
+ generateWallet: (mnemonic?: string | undefined) => Promise<import("@tatumio/api-client").Wallet>;
27
24
  generatePrivateKeyFromMnemonic: (mnemonic: string, i: number) => Promise<string>;
28
25
  };
29
26
  transaction: {
30
- sign: (pk: string, msg: Buffer) => string;
31
- getSigner: (pk: string, address: string, keyId?: number) => {
32
- signer: (account: import("./flow.types").Account) => Promise<import("./flow.types").AccountAuthorization>;
33
- };
34
- getApiSigner: (isPayer: boolean) => {
35
- signer: (account: import("./flow.types").Account) => Promise<import("./flow.types").AccountAuthorization>;
36
- keyHash: string;
37
- };
38
- createAccountFromPublicKey: (body: import("./services/flow.tx").CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").SignatureId | {
39
- txId?: string | undefined;
40
- address?: string | undefined;
41
- }>;
42
- addPublicKeyToAccount: (body: import("./services/flow.tx").CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
43
- nft: {
44
- getNftMetadata: (account: string, id: string, contractAddress: string) => Promise<any>;
45
- getNftTokenByAddress: (account: string, tokenType: string) => Promise<any>;
46
- sendNftMintToken: (body: import("./services/flow.tx").MintFlowNft, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").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>;
47
- sendNftMintMultipleToken: (body: import("./services/flow.tx").MintMultipleFlowNft, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId | import("@tatumio/api-client").FlowMintedMultipleResult>;
48
- sendNftTransferToken: (body: import("./services/flow.tx").TransferFlowNft, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
49
- sendNftBurnToken: (body: import("./services/flow.tx").BurnFlowNft, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
27
+ send: {
28
+ transferSignedTransaction: (body: import("./utils/flow.utils").TransferFlow, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
29
+ customSignedTransaction: (body: import("./utils/flow.utils").TransferFlowCustomTx, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
50
30
  };
51
- sendTransaction: (body: import("./services/flow.tx").TransferFlow, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
52
- sendCustomTransaction: (body: import("./services/flow.tx").TransferFlowCustomTx, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
53
- templates: {
54
- deployNftTokenTypeWithMinterTxTemplate: (testnet: boolean) => string;
55
- metadataNftTokenScript: (testnet: boolean) => string;
56
- tokenByAddressNftTokenScript: (testnet: boolean) => string;
57
- mintNftTokenTxTemplate: (testnet: boolean) => string;
58
- mintMultipleNftTokenTxTemplate: (testnet: boolean) => string;
59
- burnNftTokenTxTemplate: (testnet: boolean) => string;
60
- transferNftTokenTxTemplate: (testnet: boolean) => string;
61
- prepareAddPublicKeyToAccountTxTemplate: () => string;
62
- prepareTransferTxTemplate: (testnet: boolean, tokenAddress: string, tokenName: string, tokenStorage: string) => string;
63
- prepareBalanceTxTemplate: (testnet: boolean, tokenAddress: string, tokenName: string, tokenStorage: string) => string;
64
- prepareCreateAccountWithFUSDFromPublicKeyTxTemplate: (testnet: boolean) => string;
31
+ };
32
+ account: {
33
+ send: {
34
+ createSignedTransaction: (body: import("./utils/flow.utils").CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").SignatureId | {
35
+ txId?: string | undefined;
36
+ address?: string | undefined;
37
+ }>;
38
+ publicKeySignedTransaction: (body: import("./utils/flow.utils").CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
65
39
  };
66
40
  };
67
41
  nft: {
68
42
  deployNFTSmartContract: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftDeployErc721;
43
+ addNFTMinter: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftAddMinter;
69
44
  mintNFT: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftMintErc721;
70
- transferNFT: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftTransferErc721;
71
45
  mintMultipleNFTs: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftMintMultipleErc721;
72
46
  burnNFT: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftBurnErc721;
47
+ transferNFT: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftTransferErc721;
48
+ updateNFTRoyalty: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftUpdateCashbackErc721;
73
49
  getNFTTransaction: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetTransactErc721;
74
- getNFTAccountBalance: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetBalanceErc721;
50
+ getNFTTransactionsByToken: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetTransactionByToken;
51
+ getNFTTransactionsByAddress: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetTransactionByAddress;
52
+ getNFTsByAddress: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetTokensByAddressErc721;
53
+ getNFTProvenanceData: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetProvenanceDataErc721;
75
54
  getNFTMetadataURI: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetMetadataErc721;
55
+ getNFTRoyalty: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetRoyaltyErc721;
56
+ getNFTAccountBalance: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetBalanceErc721;
57
+ getNFTContractAddress: typeof import("@tatumio/api-client").NftErc721OrCompatibleService.nftGetContractAddress;
58
+ getNFTImage: (chain: "FLOW" | "ETH" | "MATIC" | "KCS" | "SOL" | "ONE" | "KLAY" | "CELO" | "TRON" | "BSC", contractAddress: string, tokenId: string, account?: string | undefined) => Promise<{
59
+ originalUrl: string;
60
+ publicUrl: string;
61
+ }>;
62
+ prepareAddNftMinterAbstraction: (body: import("@tatumio/api-client").AddNftMinter | import("@tatumio/api-client").AddNftMinterKMS) => string[];
63
+ getNftMetadata: (account: string, id: string, contractAddress: string) => Promise<any>;
64
+ getNftTokenByAddress: (account: string, tokenType: string) => Promise<any>;
65
+ send: {
66
+ mintSignedTransaction: (body: import("./utils/flow.utils").MintFlowNft, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").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>;
67
+ mintMultipleSignedTransaction: (body: import("./utils/flow.utils").MintMultipleFlowNft, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId | import("@tatumio/api-client").FlowMintedMultipleResult>;
68
+ transferSignedTransaction: (body: import("./utils/flow.utils").TransferFlowNft, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
69
+ burnSignedTransaction: (body: import("./utils/flow.utils").BurnFlowNft, proposer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined, payer?: ((isPayer: boolean) => import("./flow.types").AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
70
+ };
71
+ };
72
+ storage: {
73
+ upload: typeof import("@tatumio/api-client").IpfsService.storeIpfs;
74
+ get: typeof import("@tatumio/api-client").IpfsService.getIpfsData;
75
+ };
76
+ templates: {
77
+ deployNftTokenTypeWithMinterTxTemplate: (testnet: boolean) => string;
78
+ metadataNftTokenScript: (testnet: boolean) => string;
79
+ tokenByAddressNftTokenScript: (testnet: boolean) => string;
80
+ mintNftTokenTxTemplate: (testnet: boolean) => string;
81
+ mintMultipleNftTokenTxTemplate: (testnet: boolean) => string;
82
+ burnNftTokenTxTemplate: (testnet: boolean) => string;
83
+ transferNftTokenTxTemplate: (testnet: boolean) => string;
84
+ prepareAddPublicKeyToAccountTxTemplate: () => string;
85
+ prepareTransferTxTemplate: (testnet: boolean, tokenAddress: string, tokenName: string, tokenStorage: string) => string;
86
+ prepareBalanceTxTemplate: (testnet: boolean, tokenAddress: string, tokenName: string, tokenStorage: string) => string;
87
+ prepareCreateAccountWithFUSDFromPublicKeyTxTemplate: (testnet: boolean) => string;
76
88
  };
77
89
  blockchain: {
90
+ broadcast: (txData: string, signatureId?: string | undefined, proposalKey?: number | undefined) => Promise<{
91
+ txId: string;
92
+ failed?: boolean | undefined;
93
+ }>;
78
94
  getCurrentBlock: typeof FlowService.flowGetBlockChainInfo;
79
95
  getBlock: typeof FlowService.flowGetBlock;
80
96
  getAccount: typeof FlowService.flowGetAccount;
@@ -104,17 +120,7 @@ export declare const TatumFlowSDK: (args: FlowSDKArguments) => {
104
120
  };
105
121
  storeTokenAddress: any;
106
122
  };
107
- call: {
108
- broadcast: (txData: string, signatureId?: string | undefined, proposalKey?: number | undefined) => Promise<{
109
- txId: string;
110
- failed?: boolean | undefined;
111
- }>;
112
- };
113
123
  getExchangeRate(basePair?: import("@tatumio/api-client").Fiat | undefined): import("@tatumio/api-client").CancelablePromise<import("@tatumio/api-client").ExchangeRate>;
114
- storage: {
115
- upload: typeof import("@tatumio/api-client").IpfsService.storeIpfs;
116
- get: typeof import("@tatumio/api-client").IpfsService.getIpfsData;
117
- };
118
124
  subscriptions: typeof import("@tatumio/api-client").NotificationSubscriptionsService;
119
125
  security: {
120
126
  checkMaliciousAddress: typeof import("@tatumio/api-client").MaliciousAddressService.checkMalicousAddress;
@@ -125,13 +131,6 @@ export declare const TatumFlowSDK: (args: FlowSDKArguments) => {
125
131
  freezeApiKey: typeof import("@tatumio/api-client").ServiceUtilsService.freezeApiKey;
126
132
  unfreezeApiKey: typeof import("@tatumio/api-client").ServiceUtilsService.unfreezeApiKey;
127
133
  };
128
- custodialManagedWallet: {
129
- transfer: typeof import("@tatumio/api-client").CustodialManagedWalletsService.custodialTransferManagedAddress;
130
- getAll: typeof import("@tatumio/api-client").CustodialManagedWalletsService.custodialGetWallets;
131
- create: typeof import("@tatumio/api-client").CustodialManagedWalletsService.custodialCreateWallet;
132
- delete: typeof import("@tatumio/api-client").CustodialManagedWalletsService.custodialDeleteWallet;
133
- get: typeof import("@tatumio/api-client").CustodialManagedWalletsService.custodialGetWallet;
134
- };
135
134
  ledger: {
136
135
  customer: {
137
136
  get: typeof import("@tatumio/api-client").CustomerService.getCustomerByExternalOrInternalId;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TatumFlowSDK = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const api_client_1 = require("@tatumio/api-client");
6
5
  const shared_blockchain_abstract_1 = require("@tatumio/shared-blockchain-abstract");
7
6
  const shared_core_1 = require("@tatumio/shared-core");
7
+ const shared_abstract_sdk_1 = require("@tatumio/shared-abstract-sdk");
8
8
  const flow_sdk_wallet_1 = require("./services/flow.sdk.wallet");
9
9
  const flow_tx_1 = require("./services/flow.tx");
10
10
  const flow_kms_1 = require("./services/flow.kms");
@@ -14,31 +14,21 @@ const flow_virtualAccount_1 = require("./services/flow.virtualAccount");
14
14
  const blockchain = shared_core_1.Blockchain.FLOW;
15
15
  const TatumFlowSDK = (args) => {
16
16
  const api = api_client_1.FlowService;
17
- const _a = (0, shared_blockchain_abstract_1.abstractBlockchainSdk)(Object.assign(Object.assign({}, args), { blockchain })), { nft } = _a, abstractSdk = tslib_1.__rest(_a, ["nft"]);
17
+ const abstractSdk = (0, shared_blockchain_abstract_1.abstractBlockchainSdk)(Object.assign(Object.assign({}, args), { blockchain }));
18
+ const { nft, storage } = (0, shared_abstract_sdk_1.abstractSdkNft)();
18
19
  const virtualAccount = (0, flow_virtualAccount_1.virtualAccountService)({ blockchain });
19
20
  const provider = (0, flow_provider_1.flowProvider)(Object.assign({}, args));
20
21
  const flowBlockchainCalls = (0, flow_blockchain_1.flowBlockchain)(args);
21
- const txService = (0, flow_tx_1.flowTxService)(provider, Object.assign({}, flowBlockchainCalls));
22
- const { deployNFTSmartContract, mintNFT, transferNFT, mintMultipleNFTs, burnNFT, getNFTTransaction, getNFTAccountBalance, getNFTMetadataURI, } = nft;
23
- return Object.assign(Object.assign({}, abstractSdk), { api, kms: (0, flow_kms_1.flowKmsService)(Object.assign(Object.assign({}, args), { blockchain })), wallet: (0, flow_sdk_wallet_1.flowWallet)(), transaction: Object.assign({}, txService), nft: {
24
- deployNFTSmartContract,
25
- mintNFT,
26
- transferNFT,
27
- mintMultipleNFTs,
28
- burnNFT,
29
- getNFTTransaction,
30
- getNFTAccountBalance,
31
- getNFTMetadataURI,
32
- }, blockchain: {
22
+ const txService = (0, flow_tx_1.flowTxService)(provider, flowBlockchainCalls);
23
+ return Object.assign(Object.assign({}, abstractSdk), { api, kms: (0, flow_kms_1.flowKmsService)(Object.assign(Object.assign({}, args), { blockchain })), wallet: (0, flow_sdk_wallet_1.flowWallet)(), transaction: txService.native, account: txService.account, nft: Object.assign(Object.assign({}, txService.nft), nft), storage, templates: txService.templates, blockchain: {
24
+ broadcast: flowBlockchainCalls.broadcast,
33
25
  getCurrentBlock: api_client_1.FlowService.flowGetBlockChainInfo,
34
26
  getBlock: api_client_1.FlowService.flowGetBlock,
35
27
  getAccount: api_client_1.FlowService.flowGetAccount,
36
28
  getTransaction: api_client_1.FlowService.flowGetRawTransaction,
37
29
  smartContractGetAddress: api_client_1.BlockchainUtilsService.scGetContractAddress,
38
30
  generateAddress: api_client_1.FlowService.flowGenerateAddress,
39
- }, virtualAccount, call: {
40
- broadcast: flowBlockchainCalls.broadcast,
41
- } });
31
+ }, virtualAccount });
42
32
  };
43
33
  exports.TatumFlowSDK = TatumFlowSDK;
44
34
  //# sourceMappingURL=flow.sdk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow.sdk.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/flow/src/lib/flow.sdk.ts"],"names":[],"mappings":";;;;AAAA,oDAAyE;AACzE,oFAA2E;AAC3E,sDAAiD;AAEjD,gEAAuD;AACvD,gDAAkD;AAClD,kDAAoD;AACpD,gEAA2D;AAC3D,4DAAuD;AACvD,wEAAsE;AAEtE,MAAM,UAAU,GAAG,wBAAU,CAAC,IAAI,CAAA;AAM3B,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,wBAAW,CAAA;IACvB,MAAM,KAA0B,IAAA,kDAAqB,kCAAM,IAAI,KAAE,UAAU,IAAG,EAAxE,EAAE,GAAG,OAAmE,EAA9D,WAAW,sBAArB,OAAuB,CAAiD,CAAA;IAC9E,MAAM,cAAc,GAAG,IAAA,2CAAqB,EAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,IAAA,4BAAY,oBAAM,IAAI,EAAG,CAAA;IAC1C,MAAM,mBAAmB,GAAG,IAAA,gCAAc,EAAC,IAAI,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,QAAQ,oBACnC,mBAAmB,EACtB,CAAA;IAEF,MAAM,EACJ,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAClB,GAAG,GAAG,CAAA;IAEP,uCACK,WAAW,KACd,GAAG,EACH,GAAG,EAAE,IAAA,yBAAc,kCAAM,IAAI,KAAE,UAAU,IAAG,EAC5C,MAAM,EAAE,IAAA,4BAAU,GAAE,EACpB,WAAW,oBACN,SAAS,GAEd,GAAG,EAAE;YACH,sBAAsB;YACtB,OAAO;YACP,WAAW;YACX,gBAAgB;YAChB,OAAO;YACP,iBAAiB;YACjB,oBAAoB;YACpB,iBAAiB;SAClB,EACD,UAAU,EAAE;YACV,eAAe,EAAE,wBAAW,CAAC,qBAAqB;YAClD,QAAQ,EAAE,wBAAW,CAAC,YAAY;YAClC,UAAU,EAAE,wBAAW,CAAC,cAAc;YACtC,cAAc,EAAE,wBAAW,CAAC,qBAAqB;YACjD,uBAAuB,EAAE,mCAAsB,CAAC,oBAAoB;YACpE,eAAe,EAAE,wBAAW,CAAC,mBAAmB;SACjD,EACD,cAAc,EACd,IAAI,EAAE;YACJ,SAAS,EAAE,mBAAmB,CAAC,SAAS;SACzC,IACF;AACH,CAAC,CAAA;AApDY,QAAA,YAAY,gBAoDxB"}
1
+ {"version":3,"file":"flow.sdk.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/flow/src/lib/flow.sdk.ts"],"names":[],"mappings":";;;AAAA,oDAAyE;AACzE,oFAA2E;AAC3E,sDAAiD;AACjD,sEAA2E;AAC3E,gEAAuD;AACvD,gDAAkD;AAClD,kDAAoD;AACpD,gEAA2D;AAC3D,4DAAuD;AACvD,wEAAsE;AAEtE,MAAM,UAAU,GAAG,wBAAU,CAAC,IAAI,CAAA;AAM3B,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,wBAAW,CAAA;IACvB,MAAM,WAAW,GAAG,IAAA,kDAAqB,kCAAM,IAAI,KAAE,UAAU,IAAG,CAAA;IAClE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAA,oCAAc,GAAE,CAAA;IACzC,MAAM,cAAc,GAAG,IAAA,2CAAqB,EAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IAC5D,MAAM,QAAQ,GAAG,IAAA,4BAAY,oBAAM,IAAI,EAAG,CAAA;IAC1C,MAAM,mBAAmB,GAAG,IAAA,gCAAc,EAAC,IAAI,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAA;IAE9D,uCACK,WAAW,KACd,GAAG,EACH,GAAG,EAAE,IAAA,yBAAc,kCAAM,IAAI,KAAE,UAAU,IAAG,EAC5C,MAAM,EAAE,IAAA,4BAAU,GAAE,EACpB,WAAW,EAAE,SAAS,CAAC,MAAM,EAC7B,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,GAAG,kCACE,SAAS,CAAC,GAAG,GACb,GAAG,GAER,OAAO,EACP,SAAS,EAAE,SAAS,CAAC,SAAS,EAC9B,UAAU,EAAE;YACV,SAAS,EAAE,mBAAmB,CAAC,SAAS;YACxC,eAAe,EAAE,wBAAW,CAAC,qBAAqB;YAClD,QAAQ,EAAE,wBAAW,CAAC,YAAY;YAClC,UAAU,EAAE,wBAAW,CAAC,cAAc;YACtC,cAAc,EAAE,wBAAW,CAAC,qBAAqB;YACjD,uBAAuB,EAAE,mCAAsB,CAAC,oBAAoB;YACpE,eAAe,EAAE,wBAAW,CAAC,mBAAmB;SACjD,EACD,cAAc,IACf;AACH,CAAC,CAAA;AAjCY,QAAA,YAAY,gBAiCxB"}
@@ -0,0 +1,25 @@
1
+ import { FlowProvider } from './flow.provider';
2
+ import { CreateAddressFromPubKey, FlowApiCalls } from '../utils/flow.utils';
3
+ import { AccountSigner } from '@tatumio/flow';
4
+ export declare const flowAccountService: (provider: FlowProvider, apiCalls: FlowApiCalls) => {
5
+ send: {
6
+ /**
7
+ * Create account on the FLOW network. It automatically creates 100 0-weight proposal keys, which are managed by Tatum API - index 1-100.
8
+ * Main 1000 weight authorizer key is stored as a first one on index 0.
9
+ * @param body content of the transaction to broadcast
10
+ * @param proposer function to obtain proposer key from
11
+ * @param payer function to obtain payer key from
12
+ */
13
+ createSignedTransaction: (body: CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").SignatureId | {
14
+ txId?: string | undefined;
15
+ address?: string | undefined;
16
+ }>;
17
+ /**
18
+ * Add public key to existing blockchain address with defined weight
19
+ * @param body content of the transaction to broadcast
20
+ * @param proposer function to obtain proposer key from
21
+ * @param payer function to obtain payer key from
22
+ */
23
+ publicKeySignedTransaction: (body: CreateAddressFromPubKey, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
24
+ };
25
+ };
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.flowAccountService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const flow_utils_1 = require("../utils/flow.utils");
6
+ const flow_tx_templates_1 = require("./flow.tx.templates");
7
+ const util_encode_key_1 = require("@onflow/util-encode-key");
8
+ const flow_sdk_errors_1 = require("../flow.sdk.errors");
9
+ const shared_abstract_sdk_1 = require("@tatumio/shared-abstract-sdk");
10
+ const api_client_1 = require("@tatumio/api-client");
11
+ const flowAccountService = (provider, apiCalls) => {
12
+ const txTemplates = (0, flow_tx_templates_1.flowTxTemplates)();
13
+ const createSignedTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
14
+ var _a;
15
+ const code = txTemplates.prepareCreateAccountWithFUSDFromPublicKeyTxTemplate(provider.isTestnet());
16
+ const encodedPublicKey = (0, util_encode_key_1.encodeKey)(body.publicKey, util_encode_key_1.ECDSA_secp256k1, util_encode_key_1.SHA3_256, 1000);
17
+ const txArgs = [{ type: 'String', value: encodedPublicKey }];
18
+ const pk = yield flow_utils_1.flowUtils.getPrivateKey(body);
19
+ if (!pk)
20
+ throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
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, {
27
+ code,
28
+ txArgs,
29
+ proposer: proposalSigner,
30
+ authorizations: [auth],
31
+ payer: payerSigner,
32
+ keyHash,
33
+ }, provider.getProvider());
34
+ return {
35
+ txId: result.id,
36
+ address: (_a = result.events.find((e) => e.type === 'flow.AccountCreated')) === null || _a === void 0 ? void 0 : _a.data.address,
37
+ };
38
+ });
39
+ const publicKeySignedTransaction = (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
40
+ const code = txTemplates.prepareAddPublicKeyToAccountTxTemplate();
41
+ 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);
42
+ const txArgs = [{ type: 'String', value: encodedPublicKey }];
43
+ const pk = yield flow_utils_1.flowUtils.getPrivateKey(body);
44
+ if (!pk)
45
+ throw new flow_sdk_errors_1.FlowSdkError({ code: shared_abstract_sdk_1.SdkErrorCode.FLOW_MISSING_PRIVATE_KEY });
46
+ const auth = flow_utils_1.flowUtils.getSigner(pk, body.account).signer;
47
+ const { signer: proposalSigner, keyHash } = proposer
48
+ ? proposer(false)
49
+ : flow_utils_1.flowUtils.getApiSigner(apiCalls, false);
50
+ const { signer: payerSigner } = payer ? payer(true) : flow_utils_1.flowUtils.getApiSigner(apiCalls, true);
51
+ const result = yield flow_utils_1.flowUtils.sendTransaction(apiCalls, {
52
+ code,
53
+ txArgs,
54
+ proposer: proposalSigner,
55
+ authorizations: [auth],
56
+ keyHash,
57
+ payer: payerSigner,
58
+ }, provider.getProvider());
59
+ return { txId: result.id, address: result.events[0].data.address };
60
+ });
61
+ return {
62
+ send: {
63
+ /**
64
+ * Create account on the FLOW network. It automatically creates 100 0-weight proposal keys, which are managed by Tatum API - index 1-100.
65
+ * Main 1000 weight authorizer key is stored as a first one on index 0.
66
+ * @param body content of the transaction to broadcast
67
+ * @param proposer function to obtain proposer key from
68
+ * @param payer function to obtain payer key from
69
+ */
70
+ createSignedTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
71
+ if (body.signatureId) {
72
+ return api_client_1.ApiServices.blockchain.flow.flowCreateAddressFromPubKey(body);
73
+ }
74
+ return createSignedTransaction(body, proposer, payer);
75
+ }),
76
+ /**
77
+ * Add public key to existing blockchain address with defined weight
78
+ * @param body content of the transaction to broadcast
79
+ * @param proposer function to obtain proposer key from
80
+ * @param payer function to obtain payer key from
81
+ */
82
+ publicKeySignedTransaction: (body, proposer, payer) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
83
+ if (body.signatureId) {
84
+ return api_client_1.ApiServices.blockchain.flow.flowAddPubKeyToAddress(body);
85
+ }
86
+ return publicKeySignedTransaction(body, proposer, payer);
87
+ }),
88
+ },
89
+ };
90
+ };
91
+ exports.flowAccountService = flowAccountService;
92
+ //# sourceMappingURL=flow.account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.account.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/flow/src/lib/services/flow.account.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Blockchain } from '@tatumio/shared-core';
2
2
  import { PendingTransaction } from '@tatumio/api-client';
3
- import { FlowSDKArguments } from '@tatumio/flow';
3
+ import { FlowSDKArguments } from '../flow.sdk';
4
4
  declare type TransactionHashPromise = Promise<{
5
5
  txId: string;
6
6
  address: string;
@@ -18,29 +18,29 @@ const flowKmsService = (args) => {
18
18
  const txService = (0, flow_tx_1.flowTxService)(provider, Object.assign({}, flowBlockchainCalls));
19
19
  switch (type) {
20
20
  case flow_constants_1.FlowTxType.CREATE_ACCOUNT:
21
- return (yield txService.createAccountFromPublicKey({
21
+ return (yield txService.account.send.createSignedTransaction({
22
22
  publicKey: body.publicKey,
23
23
  account: body.account,
24
24
  privateKey: fromPrivateKeys[0],
25
25
  }));
26
26
  case flow_constants_1.FlowTxType.ADD_PK_TO_ACCOUNT:
27
- return (yield txService.addPublicKeyToAccount({
27
+ return (yield txService.account.send.publicKeySignedTransaction({
28
28
  publicKey: body.publicKey,
29
29
  account: body.account,
30
30
  privateKey: fromPrivateKeys[0],
31
31
  }));
32
32
  case flow_constants_1.FlowTxType.TRANSFER:
33
- return (yield txService.sendTransaction(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
33
+ return (yield txService.native.send.transferSignedTransaction(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
34
34
  case flow_constants_1.FlowTxType.TRANSFER_NFT:
35
- return (yield txService.nft.sendNftTransferToken(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
35
+ return (yield txService.nft.send.transferSignedTransaction(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
36
36
  case flow_constants_1.FlowTxType.MINT_NFT:
37
- return (yield txService.nft.sendNftMintToken(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
37
+ return (yield txService.nft.send.mintSignedTransaction(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
38
38
  case flow_constants_1.FlowTxType.MINT_MULTIPLE_NFT:
39
- return (yield txService.nft.sendNftMintMultipleToken(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
39
+ return (yield txService.nft.send.mintMultipleSignedTransaction(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
40
40
  case flow_constants_1.FlowTxType.BURN_NFT:
41
- return (yield txService.nft.sendNftBurnToken(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
41
+ return (yield txService.nft.send.burnSignedTransaction(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
42
42
  default:
43
- return (yield txService.sendCustomTransaction(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
43
+ return (yield txService.native.send.customSignedTransaction(Object.assign(Object.assign({}, body), { privateKey: fromPrivateKeys[0] })));
44
44
  }
45
45
  });
46
46
  } });
@@ -1 +1 @@
1
- {"version":3,"file":"flow.kms.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/flow/src/lib/services/flow.kms.ts"],"names":[],"mappings":";;;;AAAA,sDAAiD;AACjD,uCAAyC;AACzC,oFAA2E;AAC3E,sDAA8C;AAE9C,uDAAkD;AAClD,mDAA8C;AAKvC,MAAM,cAAc,GAAG,CAAC,IAAmD,EAAE,EAAE;IACpF,uCACK,IAAA,kDAAqB,EAAC,IAAI,CAAC,KACxB,IAAI,CAAC,EAAsB,EAAE,eAAyB;;gBAC1D,MAAM,WAAW,mCAAQ,EAAE,KAAE,KAAK,EAAE,wBAAU,CAAC,IAAI,GAAE,CAAA;gBAErD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAiE,IAAI,CAAC,KAAK,CAC7F,WAAW,CAAC,qBAAqB,CAClC,CAAA;gBACD,MAAM,QAAQ,GAAG,IAAA,4BAAY,oBAAM,IAAI,EAAG,CAAA;gBAC1C,MAAM,mBAAmB,GAAG,IAAA,gCAAc,EAAC,IAAI,CAAC,CAAA;gBAChD,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,QAAQ,oBAAO,mBAAmB,EAAG,CAAA;gBACrE,QAAQ,IAAI,EAAE;oBACZ,KAAK,2BAAU,CAAC,cAAc;wBAC5B,OAAO,CAAC,MAAM,SAAS,CAAC,0BAA0B,CAAC;4BACjD,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;yBAC/B,CAAC,CAA2B,CAAA;oBAC/B,KAAK,2BAAU,CAAC,iBAAiB;wBAC/B,OAAO,CAAC,MAAM,SAAS,CAAC,qBAAqB,CAAC;4BAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;yBAC/B,CAAC,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,QAAQ;wBACtB,OAAO,CAAC,MAAM,SAAS,CAAC,eAAe,iCAClC,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,YAAY;wBAC1B,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,oBAAoB,iCAC3C,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,QAAQ;wBACtB,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,gBAAgB,iCACvC,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,iBAAiB;wBAC/B,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,wBAAwB,iCAC/C,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,QAAQ;wBACtB,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,gBAAgB,iCACvC,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB;wBACE,OAAO,CAAC,MAAM,SAAS,CAAC,qBAAqB,iCACxC,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;iBACzB;YACH,CAAC;SAAA,IACF;AACH,CAAC,CAAA;AA1DY,QAAA,cAAc,kBA0D1B"}
1
+ {"version":3,"file":"flow.kms.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/flow/src/lib/services/flow.kms.ts"],"names":[],"mappings":";;;;AAAA,sDAAiD;AACjD,uCAAyC;AACzC,oFAA2E;AAC3E,sDAA8C;AAE9C,uDAAkD;AAClD,mDAA8C;AAKvC,MAAM,cAAc,GAAG,CAAC,IAAmD,EAAE,EAAE;IACpF,uCACK,IAAA,kDAAqB,EAAC,IAAI,CAAC,KACxB,IAAI,CAAC,EAAsB,EAAE,eAAyB;;gBAC1D,MAAM,WAAW,mCAAQ,EAAE,KAAE,KAAK,EAAE,wBAAU,CAAC,IAAI,GAAE,CAAA;gBAErD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAiE,IAAI,CAAC,KAAK,CAC7F,WAAW,CAAC,qBAAqB,CAClC,CAAA;gBACD,MAAM,QAAQ,GAAG,IAAA,4BAAY,oBAAM,IAAI,EAAG,CAAA;gBAC1C,MAAM,mBAAmB,GAAG,IAAA,gCAAc,EAAC,IAAI,CAAC,CAAA;gBAChD,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,QAAQ,oBAAO,mBAAmB,EAAG,CAAA;gBACrE,QAAQ,IAAI,EAAE;oBACZ,KAAK,2BAAU,CAAC,cAAc;wBAC5B,OAAO,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;4BAC3D,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;yBAC/B,CAAC,CAA2B,CAAA;oBAC/B,KAAK,2BAAU,CAAC,iBAAiB;wBAC/B,OAAO,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;4BAC9D,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;yBAC/B,CAAC,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,QAAQ;wBACtB,OAAO,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,iCACxD,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,YAAY;wBAC1B,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,iCACrD,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,QAAQ;wBACtB,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,iCACjD,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,iBAAiB;wBAC/B,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,iCACzD,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB,KAAK,2BAAU,CAAC,QAAQ;wBACtB,OAAO,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,iCACjD,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;oBACxB;wBACE,OAAO,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,iCACtD,IAAI,KACP,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,IAC9B,CAAoB,CAAA;iBACzB;YACH,CAAC;SAAA,IACF;AACH,CAAC,CAAA;AA1DY,QAAA,cAAc,kBA0D1B"}
@@ -0,0 +1,57 @@
1
+ import { AccountSigner } from '../flow.types';
2
+ import { FlowProvider } from './flow.provider';
3
+ import { BurnFlowNft, MintFlowNft, MintMultipleFlowNft, TransferFlowNft } from '../utils/flow.utils';
4
+ export declare const flowNftService: (provider: FlowProvider, apiCalls: {
5
+ getSignKey: (isPayer: boolean) => Promise<{
6
+ keyId: number;
7
+ address: string;
8
+ }>;
9
+ signWithKey: (data: string, isPayer: boolean) => Promise<{
10
+ signature: string;
11
+ }>;
12
+ broadcast: (txData: string, signatureId?: string, proposalKey?: number) => Promise<{
13
+ txId: string;
14
+ failed?: boolean;
15
+ }>;
16
+ }) => {
17
+ getNftMetadata: (account: string, id: string, contractAddress: string) => Promise<any>;
18
+ getNftTokenByAddress: (account: string, tokenType: string) => Promise<any>;
19
+ send: {
20
+ /**
21
+ * Send Flow NFT mint token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
22
+ * This operation is irreversible.
23
+ * @param body content of the transaction to broadcast
24
+ * @param proposer function to obtain proposer key from
25
+ * @param payer function to obtain payer key from
26
+ * @returns txId id of the transaction in the blockchain
27
+ */
28
+ mintSignedTransaction: (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>;
29
+ /**
30
+ * Send Flow NFT mint multiple tokens transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
31
+ * This operation is irreversible.
32
+ * @param body content of the transaction to broadcast
33
+ * @param proposer function to obtain proposer key from
34
+ * @param payer function to obtain payer key from
35
+ * @returns txId id of the transaction in the blockchain
36
+ */
37
+ mintMultipleSignedTransaction: (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>;
38
+ /**
39
+ * Send Flow NFT transfer token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
40
+ * This operation is irreversible.
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: string, events: any[]} id of the transaction in the blockchain and events this tx produced
45
+ */
46
+ transferSignedTransaction: (body: TransferFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
47
+ /**
48
+ * Send Flow NFT burn token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
49
+ * This operation is irreversible.
50
+ * @param body content of the transaction to broadcast
51
+ * @param proposer function to obtain proposer key from
52
+ * @param payer function to obtain payer key from
53
+ * @returns txId id of the transaction in the blockchain
54
+ */
55
+ burnSignedTransaction: (body: BurnFlowNft, proposer?: ((isPayer: boolean) => AccountSigner) | undefined, payer?: ((isPayer: boolean) => AccountSigner) | undefined) => Promise<import("@tatumio/api-client").TransactionHash | import("@tatumio/api-client").SignatureId>;
56
+ };
57
+ };