@tatumio/bsc 2.0.1-alpha.326 → 2.0.1-alpha.328
Sign up to get free protection for your applications and to get access to all the features.
package/package.json
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
{
|
2
2
|
"name": "@tatumio/bsc",
|
3
|
-
"version": "2.0.1-alpha.
|
3
|
+
"version": "2.0.1-alpha.328",
|
4
4
|
"license": "MIT",
|
5
5
|
"main": "./src/index.js",
|
6
6
|
"types": "./src/index.d.ts",
|
7
7
|
"dependencies": {
|
8
|
-
"@tatumio/shared-testing-evm-based": "2.0.1-alpha.
|
9
|
-
"@tatumio/shared-testing-common": "2.0.1-alpha.
|
10
|
-
"@tatumio/api-client": "2.0.1-alpha.
|
8
|
+
"@tatumio/shared-testing-evm-based": "2.0.1-alpha.328",
|
9
|
+
"@tatumio/shared-testing-common": "2.0.1-alpha.328",
|
10
|
+
"@tatumio/api-client": "2.0.1-alpha.328",
|
11
11
|
"axios": "^0.26.0",
|
12
12
|
"form-data": "^4.0.0",
|
13
|
-
"@tatumio/shared-blockchain-evm-based": "2.0.1-alpha.
|
14
|
-
"@tatumio/shared-abstract-sdk": "2.0.1-alpha.
|
13
|
+
"@tatumio/shared-blockchain-evm-based": "2.0.1-alpha.328",
|
14
|
+
"@tatumio/shared-abstract-sdk": "2.0.1-alpha.328",
|
15
15
|
"bignumber.js": "^9.0.2",
|
16
|
-
"@tatumio/shared-core": "2.0.1-alpha.
|
17
|
-
"@tatumio/shared-blockchain-abstract": "2.0.1-alpha.
|
16
|
+
"@tatumio/shared-core": "2.0.1-alpha.328",
|
17
|
+
"@tatumio/shared-blockchain-abstract": "2.0.1-alpha.328",
|
18
18
|
"ethereumjs-wallet": "^1.0.2",
|
19
19
|
"bip39": "^3.0.2",
|
20
20
|
"web3": "^1.7.4",
|
package/src/lib/bsc.sdk.d.ts
CHANGED
@@ -118,7 +118,7 @@ export declare const TatumBscSDK: (args: SDKArguments) => {
|
|
118
118
|
getBalanceBatch: typeof import("@tatumio/api-client").MultiTokensErc1155OrCompatibleService.multiTokenGetBalanceBatch;
|
119
119
|
getMetadata: typeof import("@tatumio/api-client").MultiTokensErc1155OrCompatibleService.multiTokenGetMetadata;
|
120
120
|
};
|
121
|
-
|
121
|
+
custodial: {
|
122
122
|
prepare: {
|
123
123
|
transferFromCustodialWallet: (body: import("../../../../../dist/packages/shared/blockchain/abstract/src").ChainTransferCustodialWallet, provider?: string, testnet?: boolean) => Promise<any>;
|
124
124
|
batchTransferFromCustodialWallet: (body: import("../../../../../dist/packages/shared/blockchain/abstract/src").ChainBatchTransferCustodialWallet, provider?: string, testnet?: boolean) => Promise<any>;
|
@@ -216,6 +216,32 @@ export declare const TatumBscSDK: (args: SDKArguments) => {
|
|
216
216
|
generateWallet: typeof BnbSmartChainService.bscGenerateWallet;
|
217
217
|
web3Driver: typeof BnbSmartChainService.bscWeb3Driver;
|
218
218
|
};
|
219
|
+
virtualAccount: {
|
220
|
+
send: (body: Omit<import("@tatumio/api-client").TransferBsc, "fromPrivateKey"> & Partial<import("@tatumio/api-client").SignatureId & {
|
221
|
+
index: number;
|
222
|
+
}> & Partial<{
|
223
|
+
mnemonic: string;
|
224
|
+
}> & Partial<Pick<import("@tatumio/api-client").TransferBsc, "fromPrivateKey">>) => Promise<(void | {
|
225
|
+
id?: string;
|
226
|
+
txId?: string;
|
227
|
+
completed?: boolean;
|
228
|
+
}) | import("@tatumio/api-client").OffchainTransactionSignatureResult>;
|
229
|
+
depositAddress: {
|
230
|
+
checkExists: (address: string, index?: number) => Promise<any>;
|
231
|
+
create: any;
|
232
|
+
createMultiple: any;
|
233
|
+
assign: any;
|
234
|
+
remove: any;
|
235
|
+
getByAccount: any;
|
236
|
+
};
|
237
|
+
withdrawal: {
|
238
|
+
getAll: (status?: "InProgress" | "Done" | "Cancelled", pageSize?: number, offset?: number) => Promise<any[]>;
|
239
|
+
broadcast: any;
|
240
|
+
create: any;
|
241
|
+
complete: any;
|
242
|
+
};
|
243
|
+
storeTokenAddress: any;
|
244
|
+
};
|
219
245
|
web3Client: (provider?: string, fromPrivateKey?: string) => import("web3").default;
|
220
246
|
record: {
|
221
247
|
getLog(id: string): import("@tatumio/api-client").CancelablePromise<{
|
@@ -273,4 +299,63 @@ export declare const TatumBscSDK: (args: SDKArguments) => {
|
|
273
299
|
delete: typeof import("@tatumio/api-client").CustodialManagedWalletsService.custodialDeleteWallet;
|
274
300
|
get: typeof import("@tatumio/api-client").CustodialManagedWalletsService.custodialGetWallet;
|
275
301
|
};
|
302
|
+
ledger: {
|
303
|
+
customer: {
|
304
|
+
get: typeof import("@tatumio/api-client").CustomerService.getCustomerByExternalOrInternalId;
|
305
|
+
getAll: typeof import("@tatumio/api-client").CustomerService.findAllCustomers;
|
306
|
+
update: typeof import("@tatumio/api-client").CustomerService.updateCustomer;
|
307
|
+
activate: typeof import("@tatumio/api-client").CustomerService.activateCustomer;
|
308
|
+
deactivate: typeof import("@tatumio/api-client").CustomerService.deactivateCustomer;
|
309
|
+
enable: typeof import("@tatumio/api-client").CustomerService.enableCustomer;
|
310
|
+
disable: typeof import("@tatumio/api-client").CustomerService.disableCustomer;
|
311
|
+
};
|
312
|
+
orderBook: {
|
313
|
+
getHistorical: typeof import("@tatumio/api-client").OrderBookService.getHistoricalTradesBody;
|
314
|
+
getActiveBuyTrades: typeof import("@tatumio/api-client").OrderBookService.getBuyTradesBody;
|
315
|
+
getActiveSellTrades: typeof import("@tatumio/api-client").OrderBookService.getSellTradesBody;
|
316
|
+
newTrade: typeof import("@tatumio/api-client").OrderBookService.storeTrade;
|
317
|
+
get: typeof import("@tatumio/api-client").OrderBookService.getTradeById;
|
318
|
+
cancel: typeof import("@tatumio/api-client").OrderBookService.deleteTrade;
|
319
|
+
cancelByAccount: typeof import("@tatumio/api-client").OrderBookService.deleteAccountTrades;
|
320
|
+
};
|
321
|
+
transaction: {
|
322
|
+
send: typeof import("@tatumio/api-client").TransactionService.sendTransaction;
|
323
|
+
sendMultiple: typeof import("@tatumio/api-client").TransactionService.sendTransactionBatch;
|
324
|
+
getAll: typeof import("@tatumio/api-client").TransactionService.getTransactions;
|
325
|
+
getAllByAccount: typeof import("@tatumio/api-client").TransactionService.getTransactionsByAccountId;
|
326
|
+
getAllByCustomer: typeof import("@tatumio/api-client").TransactionService.getTransactionsByCustomerId;
|
327
|
+
getAllByReference: typeof import("@tatumio/api-client").TransactionService.getTransactionsByReference;
|
328
|
+
countByAccount: (filter: import("@tatumio/api-client").TransactionFilter) => import("@tatumio/api-client").CancelablePromise<number | import("@tatumio/api-client").Transaction[]>;
|
329
|
+
countByCustomer: (filter: import("@tatumio/api-client").TransactionFilterCustomer) => import("@tatumio/api-client").CancelablePromise<number | import("@tatumio/api-client").Transaction[]>;
|
330
|
+
};
|
331
|
+
virtualCurrency: {
|
332
|
+
create: typeof import("@tatumio/api-client").VirtualCurrencyService.createCurrency;
|
333
|
+
mint: typeof import("@tatumio/api-client").VirtualCurrencyService.mintCurrency;
|
334
|
+
revoke: typeof import("@tatumio/api-client").VirtualCurrencyService.revokeCurrency;
|
335
|
+
getByName: typeof import("@tatumio/api-client").VirtualCurrencyService.getCurrency;
|
336
|
+
update: typeof import("@tatumio/api-client").VirtualCurrencyService.updateCurrency;
|
337
|
+
};
|
338
|
+
blockAmount: {
|
339
|
+
block: typeof import("@tatumio/api-client").AccountService.blockAmount;
|
340
|
+
unblock: typeof import("@tatumio/api-client").AccountService.deleteBlockAmount;
|
341
|
+
unblockWithTransaction: typeof import("@tatumio/api-client").AccountService.unblockAmountWithTransaction;
|
342
|
+
};
|
343
|
+
account: {
|
344
|
+
get: typeof import("@tatumio/api-client").AccountService.getAccountByAccountId;
|
345
|
+
getAll: typeof import("@tatumio/api-client").AccountService.getAccounts;
|
346
|
+
getByCustomerId: typeof import("@tatumio/api-client").AccountService.getAccountsByCustomerId;
|
347
|
+
getBalance: typeof import("@tatumio/api-client").AccountService.getAccountBalance;
|
348
|
+
create: typeof import("@tatumio/api-client").AccountService.createAccount;
|
349
|
+
createMultiple: typeof import("@tatumio/api-client").AccountService.createAccountBatch;
|
350
|
+
update: typeof import("@tatumio/api-client").AccountService.updateAccountByAccountId;
|
351
|
+
getBlockedAmountsByAccountId: typeof import("@tatumio/api-client").AccountService.getBlockAmountById;
|
352
|
+
activate: typeof import("@tatumio/api-client").AccountService.activateAccount;
|
353
|
+
deactivate: typeof import("@tatumio/api-client").AccountService.deactivateAccount;
|
354
|
+
freeze: typeof import("@tatumio/api-client").AccountService.freezeAccount;
|
355
|
+
unfreeze: typeof import("@tatumio/api-client").AccountService.unfreezeAccount;
|
356
|
+
generate: (account: import("@tatumio/api-client").CreateAccount & {
|
357
|
+
xpub?: string;
|
358
|
+
}, generateNewWalletFn: any, generateNewWallet?: boolean, testnet?: boolean, webhookUrl?: string) => Promise<any>;
|
359
|
+
};
|
360
|
+
};
|
276
361
|
};
|
package/src/lib/bsc.sdk.js
CHANGED
@@ -9,10 +9,12 @@ const bsc_web3_1 = require("./services/bsc.web3");
|
|
9
9
|
const bsc_kms_1 = require("./services/bsc.kms");
|
10
10
|
const bsc_tx_1 = require("./services/bsc.tx");
|
11
11
|
const bsc_auction_1 = require("./services/bsc.auction");
|
12
|
+
const bsc_virtualAccount_1 = require("./services/bsc.virtualAccount");
|
12
13
|
const blockchain = shared_core_1.Blockchain.BSC;
|
13
14
|
const TatumBscSDK = (args) => {
|
14
15
|
const web3 = (0, bsc_web3_1.bscWeb3)({ blockchain });
|
15
16
|
const api = api_client_1.BnbSmartChainService;
|
17
|
+
const virtualAccount = (0, bsc_virtualAccount_1.virtualAccountService)({ blockchain, web3 });
|
16
18
|
const txService = (0, bsc_tx_1.bscTxService)({ blockchain, web3 });
|
17
19
|
const _a = (0, shared_blockchain_evm_based_1.evmBasedSdk)(Object.assign(Object.assign({}, args), { blockchain, web3 })), { nft } = _a, evmSdk = tslib_1.__rest(_a, ["nft"]);
|
18
20
|
const { deployNFTSmartContract, mintNFT, transferNFT, mintMultipleNFTs, burnNFT, addNFTMinter, updateNFTRoyalty, getNFTTransaction, getNFTAccountBalance, getNFTProvenanceData, getNFTMetadataURI, getNFTRoyalty, } = nft;
|
@@ -27,7 +29,7 @@ const TatumBscSDK = (args) => {
|
|
27
29
|
getNFTAccountBalance,
|
28
30
|
getNFTProvenanceData,
|
29
31
|
getNFTMetadataURI,
|
30
|
-
getNFTRoyalty }), smartContract: txService.smartContract, multiToken: txService.multiToken,
|
32
|
+
getNFTRoyalty }), smartContract: txService.smartContract, multiToken: txService.multiToken, custodial: txService.custodial, gasPump: txService.gasPump, marketplace: Object.assign({ auction: (0, bsc_auction_1.bscAuctionService)({ blockchain, web3 }) }, (0, shared_blockchain_evm_based_1.evmBasedMarketplace)({
|
31
33
|
blockchain,
|
32
34
|
web3,
|
33
35
|
broadcastFunction: api_client_1.BnbSmartChainService.bscBroadcast,
|
@@ -47,7 +49,7 @@ const TatumBscSDK = (args) => {
|
|
47
49
|
generateAddressPrivateKey: api_client_1.BnbSmartChainService.bscGenerateAddressPrivateKey,
|
48
50
|
generateWallet: api_client_1.BnbSmartChainService.bscGenerateWallet,
|
49
51
|
web3Driver: api_client_1.BnbSmartChainService.bscWeb3Driver,
|
50
|
-
} });
|
52
|
+
}, virtualAccount });
|
51
53
|
};
|
52
54
|
exports.TatumBscSDK = TatumBscSDK;
|
53
55
|
//# sourceMappingURL=bsc.sdk.js.map
|
package/src/lib/bsc.sdk.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bsc.sdk.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bsc/src/lib/bsc.sdk.ts"],"names":[],"mappings":";;;;AAAA,sFAAuF;AACvF,sDAA4E;AAC5E,oDAI4B;AAE5B,kDAA6C;AAC7C,gDAAkD;AAClD,8CAAgD;AAChD,wDAA0D;
|
1
|
+
{"version":3,"file":"bsc.sdk.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/bsc/src/lib/bsc.sdk.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { TransferBsc } from '@tatumio/api-client';
|
2
|
+
import { FromPrivateKeyOrSignatureIdOrMnemonic } from '@tatumio/shared-blockchain-abstract';
|
3
|
+
import { EvmBasedWeb3 } from '@tatumio/shared-blockchain-evm-based';
|
4
|
+
import { Blockchain } from '@tatumio/shared-core';
|
5
|
+
declare type TransferVirtualAccountBsc = FromPrivateKeyOrSignatureIdOrMnemonic<TransferBsc>;
|
6
|
+
declare type VirtualAccountResponse = {
|
7
|
+
id?: string;
|
8
|
+
txId?: string;
|
9
|
+
completed?: boolean;
|
10
|
+
} | void;
|
11
|
+
export declare const virtualAccountService: (args: {
|
12
|
+
blockchain: Blockchain;
|
13
|
+
web3: EvmBasedWeb3;
|
14
|
+
}) => {
|
15
|
+
/**
|
16
|
+
* Send Bsc transaction from Tatum Ledger account to the blockchain. This method broadcasts signed transaction to the blockchain.
|
17
|
+
* This operation is irreversible.
|
18
|
+
* @param body content of the transaction to broadcast
|
19
|
+
* @returns transaction id of the transaction in the blockchain or id of the withdrawal, if it was not cancelled automatically
|
20
|
+
*/
|
21
|
+
send: (body: TransferVirtualAccountBsc) => Promise<VirtualAccountResponse | import("@tatumio/api-client").OffchainTransactionSignatureResult>;
|
22
|
+
depositAddress: {
|
23
|
+
checkExists: (address: string, index?: number) => Promise<any>;
|
24
|
+
create: any;
|
25
|
+
createMultiple: any;
|
26
|
+
assign: any;
|
27
|
+
remove: any;
|
28
|
+
getByAccount: any;
|
29
|
+
};
|
30
|
+
withdrawal: {
|
31
|
+
getAll: (status?: "InProgress" | "Done" | "Cancelled", pageSize?: number, offset?: number) => Promise<any[]>;
|
32
|
+
broadcast: any;
|
33
|
+
create: any;
|
34
|
+
complete: any;
|
35
|
+
};
|
36
|
+
storeTokenAddress: any;
|
37
|
+
};
|
38
|
+
export {};
|
@@ -0,0 +1,99 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.virtualAccountService = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const api_client_1 = require("@tatumio/api-client");
|
6
|
+
const shared_blockchain_abstract_1 = require("@tatumio/shared-blockchain-abstract");
|
7
|
+
const shared_blockchain_evm_based_1 = require("@tatumio/shared-blockchain-evm-based");
|
8
|
+
const shared_core_1 = require("@tatumio/shared-core");
|
9
|
+
const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
|
10
|
+
const bsc_tx_1 = require("./bsc.tx");
|
11
|
+
const sendBscVirtualAccountTransaction = (body, web3) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
12
|
+
const txService = (0, bsc_tx_1.bscTxService)({ blockchain: shared_core_1.Blockchain.BSC, web3 });
|
13
|
+
const { mnemonic, index, fromPrivateKey, gasLimit, gasPrice, nonce } = body, withdrawal = tslib_1.__rest(body, ["mnemonic", "index", "fromPrivateKey", "gasLimit", "gasPrice", "nonce"]);
|
14
|
+
const { amount, address } = withdrawal;
|
15
|
+
let fromPrivKey;
|
16
|
+
let txData;
|
17
|
+
if (body.mnemonic && body.index !== undefined) {
|
18
|
+
fromPrivKey = (yield shared_blockchain_evm_based_1.evmBasedUtils.generatePrivateKeyFromMnemonic(shared_core_1.Blockchain.BSC, body.mnemonic, body.index));
|
19
|
+
}
|
20
|
+
else {
|
21
|
+
fromPrivKey = body.fromPrivateKey;
|
22
|
+
}
|
23
|
+
const account = yield api_client_1.AccountService.getAccountByAccountId(body.senderAccountId);
|
24
|
+
const fee = {
|
25
|
+
gasLimit: gasLimit || '21000',
|
26
|
+
gasPrice: gasPrice || '20',
|
27
|
+
};
|
28
|
+
if (account.currency === 'BSC') {
|
29
|
+
txData = txService.native.send.transferSignedTransaction({
|
30
|
+
amount,
|
31
|
+
fromPrivateKey: fromPrivKey,
|
32
|
+
fee,
|
33
|
+
nonce: body.nonce,
|
34
|
+
to: address,
|
35
|
+
});
|
36
|
+
}
|
37
|
+
else {
|
38
|
+
fee.gasLimit = '100000';
|
39
|
+
let contractAddress;
|
40
|
+
let decimals;
|
41
|
+
if (api_client_1.BEP20_CURRENCIES.includes(account.currency)) {
|
42
|
+
contractAddress = shared_core_1.CONTRACT_ADDRESSES[account.currency];
|
43
|
+
decimals = shared_core_1.CONTRACT_DECIMALS[account.currency];
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
const vc = yield api_client_1.VirtualCurrencyService.getCurrency(account.currency);
|
47
|
+
contractAddress = vc.erc20Address;
|
48
|
+
decimals = vc.precision || 18;
|
49
|
+
}
|
50
|
+
txData = yield txService.erc20.send.transferSignedTransaction({
|
51
|
+
amount,
|
52
|
+
fee,
|
53
|
+
fromPrivateKey: fromPrivKey,
|
54
|
+
to: address,
|
55
|
+
digits: decimals,
|
56
|
+
nonce: body.nonce,
|
57
|
+
contractAddress,
|
58
|
+
});
|
59
|
+
}
|
60
|
+
const withdrawalFee = web3
|
61
|
+
.getClient()
|
62
|
+
.utils.fromWei(new bignumber_js_1.default(fee.gasLimit).multipliedBy(shared_blockchain_evm_based_1.evmBasedUtils.transformToWei(fee.gasPrice, 'gwei')).toString(), 'ether');
|
63
|
+
const withdrawalBody = Object.assign(Object.assign({}, withdrawal), { fee: withdrawalFee });
|
64
|
+
const { id } = yield api_client_1.WithdrawalService.storeWithdrawal(withdrawalBody);
|
65
|
+
try {
|
66
|
+
return Object.assign(Object.assign({}, (yield api_client_1.WithdrawalService.broadcastBlockchainTransaction({
|
67
|
+
txData,
|
68
|
+
withdrawalId: id,
|
69
|
+
currency: api_client_1.Currency.BSC,
|
70
|
+
}))), { id });
|
71
|
+
}
|
72
|
+
catch (e) {
|
73
|
+
try {
|
74
|
+
return yield api_client_1.WithdrawalService.cancelInProgressWithdrawal(id);
|
75
|
+
}
|
76
|
+
catch (e1) {
|
77
|
+
return { id };
|
78
|
+
}
|
79
|
+
}
|
80
|
+
});
|
81
|
+
const virtualAccountService = (args) => {
|
82
|
+
return Object.assign(Object.assign({}, (0, shared_blockchain_abstract_1.abstractBlockchainOffchain)(args)), {
|
83
|
+
/**
|
84
|
+
* Send Bsc transaction from Tatum Ledger account to the blockchain. This method broadcasts signed transaction to the blockchain.
|
85
|
+
* This operation is irreversible.
|
86
|
+
* @param body content of the transaction to broadcast
|
87
|
+
* @returns transaction id of the transaction in the blockchain or id of the withdrawal, if it was not cancelled automatically
|
88
|
+
*/
|
89
|
+
send: (body) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
90
|
+
if (body.signatureId) {
|
91
|
+
return api_client_1.ApiServices.offChain.blockchain.bscOrBepTransfer(body);
|
92
|
+
}
|
93
|
+
else {
|
94
|
+
return yield sendBscVirtualAccountTransaction(body, args.web3);
|
95
|
+
}
|
96
|
+
}) });
|
97
|
+
};
|
98
|
+
exports.virtualAccountService = virtualAccountService;
|
99
|
+
//# sourceMappingURL=bsc.virtualAccount.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"bsc.virtualAccount.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/bsc/src/lib/services/bsc.virtualAccount.ts"],"names":[],"mappings":"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"}
|