@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 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
+ };