@tatumio/celo 2.0.1-alpha.366 → 2.0.1-alpha.368
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 +8 -8
- package/src/lib/celo.sdk.d.ts +5 -1
- package/src/lib/celo.sdk.js +1 -1
- package/src/lib/celo.sdk.js.map +1 -1
- package/src/lib/services/celo.virtualAccount.d.ts +9 -1
- package/src/lib/services/celo.virtualAccount.js +75 -2
- package/src/lib/services/celo.virtualAccount.js.map +1 -1
- package/src/lib/transactions/erc20/index.js +15 -16
- package/src/lib/transactions/erc20/index.js.map +1 -1
- package/src/lib/transactions/erc721/index.js +50 -50
- package/src/lib/transactions/erc721/index.js.map +1 -1
- package/src/lib/transactions/multitoken/index.js +35 -35
- package/src/lib/transactions/multitoken/index.js.map +1 -1
- package/src/lib/transactions/native/index.js +5 -6
- package/src/lib/transactions/native/index.js.map +1 -1
- package/src/lib/utils/celo.utils.d.ts +4 -4
- package/src/lib/utils/celo.utils.js +20 -4
- package/src/lib/utils/celo.utils.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tatumio/celo",
|
|
3
|
-
"version": "2.0.1-alpha.
|
|
3
|
+
"version": "2.0.1-alpha.368",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@tatumio/shared-abstract-sdk": "2.0.1-alpha.
|
|
9
|
-
"@tatumio/api-client": "2.0.1-alpha.
|
|
8
|
+
"@tatumio/shared-abstract-sdk": "2.0.1-alpha.368",
|
|
9
|
+
"@tatumio/api-client": "2.0.1-alpha.368",
|
|
10
10
|
"axios": "^0.26.0",
|
|
11
11
|
"form-data": "^4.0.0",
|
|
12
|
-
"@tatumio/shared-testing-common": "2.0.1-alpha.
|
|
12
|
+
"@tatumio/shared-testing-common": "2.0.1-alpha.368",
|
|
13
13
|
"bignumber.js": "^9.0.2",
|
|
14
14
|
"lodash": "^4.17.21",
|
|
15
|
-
"@tatumio/shared-blockchain-evm-based": "2.0.1-alpha.
|
|
16
|
-
"@tatumio/shared-core": "2.0.1-alpha.
|
|
17
|
-
"@tatumio/shared-blockchain-abstract": "2.0.1-alpha.
|
|
15
|
+
"@tatumio/shared-blockchain-evm-based": "2.0.1-alpha.368",
|
|
16
|
+
"@tatumio/shared-core": "2.0.1-alpha.368",
|
|
17
|
+
"@tatumio/shared-blockchain-abstract": "2.0.1-alpha.368",
|
|
18
18
|
"ethereumjs-wallet": "^1.0.2",
|
|
19
19
|
"bip39": "^3.0.2",
|
|
20
20
|
"web3": "^1.7.4",
|
|
21
21
|
"web3-core": "^1.7.4",
|
|
22
22
|
"web3-utils": "^1.7.4",
|
|
23
|
-
"@tatumio/shared-testing-evm-based": "2.0.1-alpha.
|
|
23
|
+
"@tatumio/shared-testing-evm-based": "2.0.1-alpha.368",
|
|
24
24
|
"@celo-tools/celo-ethers-wrapper": "^0.1.0",
|
|
25
25
|
"tslib": "^2.0.0"
|
|
26
26
|
},
|
package/src/lib/celo.sdk.d.ts
CHANGED
|
@@ -129,7 +129,11 @@ export declare const TatumCeloSDK: (args: SDKArguments) => {
|
|
|
129
129
|
index: number;
|
|
130
130
|
}> & Partial<Pick<import("@tatumio/api-client").TransferCelo, "privateKey">> & Partial<{
|
|
131
131
|
mnemonic: string;
|
|
132
|
-
}
|
|
132
|
+
}>, testnet?: boolean) => Promise<(void | {
|
|
133
|
+
id?: string;
|
|
134
|
+
txId?: string;
|
|
135
|
+
completed?: boolean;
|
|
136
|
+
}) | import("@tatumio/api-client").OffchainTransactionSignatureResult>;
|
|
133
137
|
depositAddress: {
|
|
134
138
|
checkExists: (address: string, index?: number) => Promise<any>;
|
|
135
139
|
create: any;
|
package/src/lib/celo.sdk.js
CHANGED
|
@@ -16,7 +16,7 @@ const TatumCeloSDK = (args) => {
|
|
|
16
16
|
const api = api_client_1.CeloService;
|
|
17
17
|
const txService = (0, celo_tx_1.celoTxService)({ blockchain, web3 });
|
|
18
18
|
const _a = (0, shared_blockchain_evm_based_1.evmBasedSdk)(Object.assign(Object.assign({}, args), { blockchain, web3 })), { nft } = _a, evmSdk = tslib_1.__rest(_a, ["nft"]);
|
|
19
|
-
const virtualAccount = (0, celo_virtualAccount_1.virtualAccountService)({ blockchain });
|
|
19
|
+
const virtualAccount = (0, celo_virtualAccount_1.virtualAccountService)({ blockchain, web3 });
|
|
20
20
|
const { getNFTTransaction, getNFTAccountBalance, getNFTProvenanceData, getNFTMetadataURI, getNFTRoyalty } = nft;
|
|
21
21
|
return Object.assign(Object.assign({}, evmSdk), { api, kms: (0, celo_kms_1.celoKmsService)({ blockchain, web3 }), transaction: txService.native, erc20: Object.assign(Object.assign({}, txService.erc20), { getErc20TransactionByAddress: api_client_1.FungibleTokensErc20OrCompatibleService.erc20GetTransactionByAddress, getErc20AccountBalance: api_client_1.FungibleTokensErc20OrCompatibleService.erc20GetBalance, getErc20AccountBalances: api_client_1.FungibleTokensErc20OrCompatibleService.erc20GetBalanceAddress }), nft: Object.assign(Object.assign({}, txService.erc721), { getNFTTransaction,
|
|
22
22
|
getNFTAccountBalance,
|
package/src/lib/celo.sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"celo.sdk.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/celo/src/lib/celo.sdk.ts"],"names":[],"mappings":";;;;AAAA,sDAA4E;AAE5E,oDAI4B;AAC5B,oDAA+C;AAC/C,sFAAkE;AAClE,kDAAoD;AACpD,gDAAkD;AAClD,0DAA4D;AAC5D,wEAAsE;AAEtE,MAAM,UAAU,GAAG,wBAAU,CAAC,IAAI,CAAA;AAE3B,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,EAAE;IACjD,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,wBAAW,CAAA;IACvB,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,KAAqB,IAAA,yCAAW,kCAAM,IAAI,KAAE,UAAU,EAAE,IAAI,IAAG,EAA/D,EAAE,GAAG,OAA0D,EAArD,MAAM,sBAAhB,OAAkB,CAA6C,CAAA;IACrE,MAAM,cAAc,GAAG,IAAA,2CAAqB,EAAC,EAAE,UAAU,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"celo.sdk.js","sourceRoot":"","sources":["../../../../../../packages/blockchain/celo/src/lib/celo.sdk.ts"],"names":[],"mappings":";;;;AAAA,sDAA4E;AAE5E,oDAI4B;AAC5B,oDAA+C;AAC/C,sFAAkE;AAClE,kDAAoD;AACpD,gDAAkD;AAClD,0DAA4D;AAC5D,wEAAsE;AAEtE,MAAM,UAAU,GAAG,wBAAU,CAAC,IAAI,CAAA;AAE3B,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,EAAE;IACjD,MAAM,IAAI,GAAG,IAAA,oBAAQ,EAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,wBAAW,CAAA;IACvB,MAAM,SAAS,GAAG,IAAA,uBAAa,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,KAAqB,IAAA,yCAAW,kCAAM,IAAI,KAAE,UAAU,EAAE,IAAI,IAAG,EAA/D,EAAE,GAAG,OAA0D,EAArD,MAAM,sBAAhB,OAAkB,CAA6C,CAAA;IACrE,MAAM,cAAc,GAAG,IAAA,2CAAqB,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAElE,MAAM,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,aAAa,EAAE,GACvG,GAAG,CAAA;IAEL,uCACK,MAAM,KACT,GAAG,EACH,GAAG,EAAE,IAAA,yBAAc,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EACzC,WAAW,EAAE,SAAS,CAAC,MAAM,EAC7B,KAAK,kCACA,SAAS,CAAC,KAAK,KAClB,4BAA4B,EAAE,mDAAsC,CAAC,4BAA4B,EACjG,sBAAsB,EAAE,mDAAsC,CAAC,eAAe,EAC9E,uBAAuB,EAAE,mDAAsC,CAAC,sBAAsB,KAExF,GAAG,kCACE,SAAS,CAAC,MAAM,KACnB,iBAAiB;YACjB,oBAAoB;YACpB,oBAAoB;YACpB,iBAAiB;YACjB,aAAa,KAEf,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,aAAa,EAAE,SAAS,CAAC,aAAa,EACtC,SAAS,EAAE,SAAS,CAAC,SAAS,EAC9B,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,cAAc,EACd,WAAW,EAAE;YACX,OAAO,EAAE,IAAA,iCAAkB,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;SAClD,EACD,UAAU,EAAE,CAAO,OAAoB,EAAyB,EAAE;YAChE,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,kCAAO,OAAO,KAAE,OAAO,EAAE,KAAK,IAAG,CAAA;QACxE,CAAC,CAAA,EACD,UAAU,EAAE;YACV,SAAS,EAAE,wBAAW,CAAC,aAAa;YACpC,oBAAoB,EAAE,wBAAW,CAAC,uBAAuB;YACzD,eAAe,EAAE,wBAAW,CAAC,mBAAmB;YAChD,QAAQ,EAAE,wBAAW,CAAC,YAAY;YAClC,2BAA2B,EAAE,wBAAW,CAAC,cAAc;YACvD,GAAG,EAAE,wBAAW,CAAC,kBAAkB;YACnC,sBAAsB,EAAE,wBAAW,CAAC,2BAA2B;YAC/D,uBAAuB,EAAE,mCAAsB,CAAC,oBAAoB;SACrE,IACF;AACH,CAAC,CAAA;AAnDY,QAAA,YAAY,gBAmDxB"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { TransferCelo } from '@tatumio/api-client';
|
|
2
2
|
import { PrivateKeyOrSignatureId } from '@tatumio/shared-blockchain-abstract';
|
|
3
|
+
import { EvmBasedWeb3 } from '@tatumio/shared-blockchain-evm-based';
|
|
3
4
|
import { Blockchain } from '@tatumio/shared-core';
|
|
4
5
|
declare type TransferVirtualAccountCelo = PrivateKeyOrSignatureId<TransferCelo>;
|
|
6
|
+
declare type VirtualAccountResponse = {
|
|
7
|
+
id?: string;
|
|
8
|
+
txId?: string;
|
|
9
|
+
completed?: boolean;
|
|
10
|
+
} | void;
|
|
5
11
|
export declare const virtualAccountService: (args: {
|
|
6
12
|
blockchain: Blockchain;
|
|
13
|
+
web3: EvmBasedWeb3;
|
|
7
14
|
}) => {
|
|
8
15
|
/**
|
|
9
16
|
* Send CELO transaction from Tatum Ledger account to the blockchain. This method broadcasts signed transaction to the blockchain.
|
|
10
17
|
* This operation is irreversible.
|
|
11
18
|
* @param body content of the transaction to broadcast
|
|
19
|
+
* @param testnet network
|
|
12
20
|
* @returns transaction id of the transaction in the blockchain or id of the withdrawal, if it was not cancelled automatically
|
|
13
21
|
*/
|
|
14
|
-
send: (body: TransferVirtualAccountCelo) => Promise<
|
|
22
|
+
send: (body: TransferVirtualAccountCelo, testnet?: boolean) => Promise<VirtualAccountResponse | import("@tatumio/api-client").OffchainTransactionSignatureResult>;
|
|
15
23
|
depositAddress: {
|
|
16
24
|
checkExists: (address: string, index?: number) => Promise<any>;
|
|
17
25
|
create: any;
|
|
@@ -4,16 +4,89 @@ exports.virtualAccountService = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const api_client_1 = require("@tatumio/api-client");
|
|
6
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 celo_utils_1 = require("../utils/celo.utils");
|
|
11
|
+
const celo_tx_1 = require("./celo.tx");
|
|
12
|
+
const sendCeloVirtualAccountTransaction = (body, web3, testnet) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
+
const txService = (0, celo_tx_1.celoTxService)({ blockchain: shared_core_1.Blockchain.CELO, web3 });
|
|
14
|
+
const { mnemonic, index, privateKey, gasLimit, gasPrice, nonce, feeCurrency } = body, withdrawal = tslib_1.__rest(body, ["mnemonic", "index", "privateKey", "gasLimit", "gasPrice", "nonce", "feeCurrency"]);
|
|
15
|
+
const { amount, address } = withdrawal;
|
|
16
|
+
let fromPrivKey;
|
|
17
|
+
let txData;
|
|
18
|
+
if (mnemonic && index !== undefined) {
|
|
19
|
+
fromPrivKey = yield shared_blockchain_evm_based_1.evmBasedUtils.generatePrivateKeyFromMnemonic(shared_core_1.Blockchain.CELO, mnemonic, index);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
fromPrivKey = privateKey;
|
|
23
|
+
}
|
|
24
|
+
const account = yield api_client_1.AccountService.getAccountByAccountId(body.senderAccountId);
|
|
25
|
+
// values from estimateGas endpoint
|
|
26
|
+
const fee = {
|
|
27
|
+
gasLimit: gasLimit || '150000',
|
|
28
|
+
gasPrice: gasPrice || '1',
|
|
29
|
+
};
|
|
30
|
+
if (celo_utils_1.celoUtils.isCeloFeeCurrency(account.currency)) {
|
|
31
|
+
txData = yield txService.native.prepare.celoOrCUsdSignedTransaction({
|
|
32
|
+
amount,
|
|
33
|
+
fromPrivateKey: fromPrivKey,
|
|
34
|
+
currency: account.currency,
|
|
35
|
+
feeCurrency,
|
|
36
|
+
nonce,
|
|
37
|
+
to: address,
|
|
38
|
+
fee: { gasLimit: fee.gasLimit, gasPrice: fee.gasPrice },
|
|
39
|
+
}, undefined, testnet);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const vc = yield api_client_1.VirtualCurrencyService.getCurrency(account.currency);
|
|
43
|
+
txData = yield txService.erc20.prepare.transferSignedTransaction({
|
|
44
|
+
amount,
|
|
45
|
+
fromPrivateKey: fromPrivKey,
|
|
46
|
+
to: address,
|
|
47
|
+
nonce,
|
|
48
|
+
contractAddress: vc.erc20Address,
|
|
49
|
+
feeCurrency,
|
|
50
|
+
fee: { gasLimit: fee.gasLimit, gasPrice: fee.gasPrice },
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const withdrawalFee = web3
|
|
54
|
+
.getClient()
|
|
55
|
+
.utils.fromWei(new bignumber_js_1.default(fee.gasLimit).multipliedBy(shared_blockchain_evm_based_1.evmBasedUtils.transformToWei(fee.gasPrice, 'gwei')).toString(), 'ether');
|
|
56
|
+
const withdrawalBody = Object.assign(Object.assign({}, withdrawal), { fee: withdrawalFee });
|
|
57
|
+
const { id } = yield api_client_1.WithdrawalService.storeWithdrawal(withdrawalBody);
|
|
58
|
+
try {
|
|
59
|
+
return Object.assign(Object.assign({}, (yield api_client_1.WithdrawalService.broadcastBlockchainTransaction({
|
|
60
|
+
txData,
|
|
61
|
+
withdrawalId: id,
|
|
62
|
+
currency: api_client_1.Currency.CELO,
|
|
63
|
+
}))), { id });
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
try {
|
|
67
|
+
return yield api_client_1.WithdrawalService.cancelInProgressWithdrawal(id);
|
|
68
|
+
}
|
|
69
|
+
catch (e1) {
|
|
70
|
+
return { id };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
});
|
|
7
74
|
const virtualAccountService = (args) => {
|
|
8
75
|
return Object.assign(Object.assign({}, (0, shared_blockchain_abstract_1.abstractBlockchainVirtualAccount)(args)), {
|
|
9
76
|
/**
|
|
10
77
|
* Send CELO transaction from Tatum Ledger account to the blockchain. This method broadcasts signed transaction to the blockchain.
|
|
11
78
|
* This operation is irreversible.
|
|
12
79
|
* @param body content of the transaction to broadcast
|
|
80
|
+
* @param testnet network
|
|
13
81
|
* @returns transaction id of the transaction in the blockchain or id of the withdrawal, if it was not cancelled automatically
|
|
14
82
|
*/
|
|
15
|
-
send: (body) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
|
|
83
|
+
send: (body, testnet) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
84
|
+
if (body.signatureId) {
|
|
85
|
+
return api_client_1.ApiServices.offChain.blockchain.celoOrErc20Transfer(body);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return sendCeloVirtualAccountTransaction(body, args.web3, testnet);
|
|
89
|
+
}
|
|
17
90
|
}) });
|
|
18
91
|
};
|
|
19
92
|
exports.virtualAccountService = virtualAccountService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"celo.virtualAccount.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/celo/src/lib/services/celo.virtualAccount.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"celo.virtualAccount.js","sourceRoot":"","sources":["../../../../../../../packages/blockchain/celo/src/lib/services/celo.virtualAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ const initialize = (args, provider, testnet, contractAddress) => tslib_1.__await
|
|
|
21
21
|
};
|
|
22
22
|
});
|
|
23
23
|
const prepareDeploySignedTransaction = (body, provider, testnet) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
-
const { fromPrivateKey, name, symbol, supply, address, digits, nonce, signatureId, totalCap } = body;
|
|
24
|
+
const { fromPrivateKey, name, symbol, supply, address, digits, nonce, fee, signatureId, totalCap } = body;
|
|
25
25
|
const { celoProvider, network, feeCurrencyContractAddress, contract } = yield initialize(body, provider, testnet);
|
|
26
26
|
const deploy = contract.deploy({
|
|
27
27
|
data: shared_blockchain_evm_based_1.Erc20Token.bytecode,
|
|
@@ -39,7 +39,8 @@ const prepareDeploySignedTransaction = (body, provider, testnet) => tslib_1.__aw
|
|
|
39
39
|
chainId: network.chainId,
|
|
40
40
|
feeCurrency: feeCurrencyContractAddress,
|
|
41
41
|
nonce,
|
|
42
|
-
gasLimit:
|
|
42
|
+
gasLimit: shared_blockchain_evm_based_1.evmBasedUtils.gasLimitToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasLimit),
|
|
43
|
+
gasPrice: shared_blockchain_evm_based_1.evmBasedUtils.gasPriceWeiToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasPrice),
|
|
43
44
|
data: deploy.encodeABI(),
|
|
44
45
|
});
|
|
45
46
|
}
|
|
@@ -49,15 +50,15 @@ const prepareDeploySignedTransaction = (body, provider, testnet) => tslib_1.__aw
|
|
|
49
50
|
chainId: network.chainId,
|
|
50
51
|
feeCurrency: feeCurrencyContractAddress,
|
|
51
52
|
nonce: nonce || txCount,
|
|
52
|
-
gasLimit:
|
|
53
|
-
gasPrice,
|
|
53
|
+
gasLimit: shared_blockchain_evm_based_1.evmBasedUtils.gasLimitToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasLimit),
|
|
54
|
+
gasPrice: shared_blockchain_evm_based_1.evmBasedUtils.gasPriceWeiToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasPrice, gasPrice),
|
|
54
55
|
data: deploy.encodeABI(),
|
|
55
56
|
from,
|
|
56
57
|
};
|
|
57
58
|
return celo_utils_1.celoUtils.prepareSignedTransactionAbstraction(wallet, tx);
|
|
58
59
|
});
|
|
59
60
|
const prepareMintSignedTransaction = (body, provider, testnet) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
-
const { fromPrivateKey, amount, to, contractAddress, nonce, signatureId } = body;
|
|
61
|
+
const { fromPrivateKey, amount, to, contractAddress, nonce, fee, signatureId } = body;
|
|
61
62
|
const { celoProvider, network, feeCurrencyContractAddress, contract } = yield initialize(body, provider, testnet, contractAddress.trim());
|
|
62
63
|
const decimals = yield contract.methods.decimals().call();
|
|
63
64
|
if (signatureId) {
|
|
@@ -65,7 +66,8 @@ const prepareMintSignedTransaction = (body, provider, testnet) => tslib_1.__awai
|
|
|
65
66
|
chainId: network.chainId,
|
|
66
67
|
feeCurrency: feeCurrencyContractAddress,
|
|
67
68
|
nonce,
|
|
68
|
-
gasLimit:
|
|
69
|
+
gasLimit: shared_blockchain_evm_based_1.evmBasedUtils.gasLimitToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasLimit),
|
|
70
|
+
gasPrice: shared_blockchain_evm_based_1.evmBasedUtils.gasPriceWeiToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasPrice),
|
|
69
71
|
to: contractAddress.trim(),
|
|
70
72
|
data: contract.methods.mint(to.trim(), shared_abstract_sdk_1.amountUtils.amountToHexString(amount, decimals)).encodeABI(),
|
|
71
73
|
});
|
|
@@ -76,9 +78,9 @@ const prepareMintSignedTransaction = (body, provider, testnet) => tslib_1.__awai
|
|
|
76
78
|
chainId: network.chainId,
|
|
77
79
|
feeCurrency: feeCurrencyContractAddress,
|
|
78
80
|
nonce: nonce || txCount,
|
|
79
|
-
gasLimit:
|
|
81
|
+
gasLimit: shared_blockchain_evm_based_1.evmBasedUtils.gasLimitToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasLimit),
|
|
82
|
+
gasPrice: shared_blockchain_evm_based_1.evmBasedUtils.gasPriceWeiToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasPrice, gasPrice),
|
|
80
83
|
to: contractAddress.trim(),
|
|
81
|
-
gasPrice,
|
|
82
84
|
data: contract.methods.mint(to.trim(), shared_abstract_sdk_1.amountUtils.amountToHexString(amount, decimals)).encodeABI(),
|
|
83
85
|
from,
|
|
84
86
|
};
|
|
@@ -114,7 +116,7 @@ const prepareTransferSignedTransaction = (body, provider, testnet) => tslib_1.__
|
|
|
114
116
|
return celo_utils_1.celoUtils.prepareSignedTransactionAbstraction(wallet, tx);
|
|
115
117
|
});
|
|
116
118
|
const prepareBurnSignedTransaction = (body, provider, testnet) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
117
|
-
const { fromPrivateKey, amount, contractAddress, nonce, signatureId } = body;
|
|
119
|
+
const { fromPrivateKey, amount, contractAddress, nonce, fee, signatureId } = body;
|
|
118
120
|
const { celoProvider, network, feeCurrencyContractAddress, contract } = yield initialize(body, provider, testnet, contractAddress.trim());
|
|
119
121
|
const decimals = yield contract.methods.decimals().call();
|
|
120
122
|
if (signatureId) {
|
|
@@ -122,7 +124,8 @@ const prepareBurnSignedTransaction = (body, provider, testnet) => tslib_1.__awai
|
|
|
122
124
|
chainId: network.chainId,
|
|
123
125
|
feeCurrency: feeCurrencyContractAddress,
|
|
124
126
|
nonce,
|
|
125
|
-
gasLimit:
|
|
127
|
+
gasLimit: shared_blockchain_evm_based_1.evmBasedUtils.gasLimitToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasLimit),
|
|
128
|
+
gasPrice: shared_blockchain_evm_based_1.evmBasedUtils.gasPriceWeiToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasPrice),
|
|
126
129
|
to: contractAddress.trim(),
|
|
127
130
|
data: contract.methods.burn(shared_abstract_sdk_1.amountUtils.amountToHexString(amount, decimals)).encodeABI(),
|
|
128
131
|
});
|
|
@@ -133,9 +136,9 @@ const prepareBurnSignedTransaction = (body, provider, testnet) => tslib_1.__awai
|
|
|
133
136
|
chainId: network.chainId,
|
|
134
137
|
feeCurrency: feeCurrencyContractAddress,
|
|
135
138
|
nonce: nonce || txCount,
|
|
136
|
-
gasLimit:
|
|
139
|
+
gasLimit: shared_blockchain_evm_based_1.evmBasedUtils.gasLimitToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasLimit),
|
|
140
|
+
gasPrice: shared_blockchain_evm_based_1.evmBasedUtils.gasPriceWeiToHexWithFallback(fee === null || fee === void 0 ? void 0 : fee.gasPrice, gasPrice),
|
|
137
141
|
to: contractAddress.trim(),
|
|
138
|
-
gasPrice,
|
|
139
142
|
data: contract.methods.burn(shared_abstract_sdk_1.amountUtils.amountToHexString(amount, decimals)).encodeABI(),
|
|
140
143
|
from,
|
|
141
144
|
};
|
|
@@ -188,7 +191,6 @@ const erc20 = (args) => {
|
|
|
188
191
|
}
|
|
189
192
|
return args.broadcastFunction({
|
|
190
193
|
txData: yield prepareDeploySignedTransaction(body, provider, testnet),
|
|
191
|
-
signatureId: body.signatureId,
|
|
192
194
|
});
|
|
193
195
|
}),
|
|
194
196
|
/**
|
|
@@ -205,7 +207,6 @@ const erc20 = (args) => {
|
|
|
205
207
|
}
|
|
206
208
|
return args.broadcastFunction({
|
|
207
209
|
txData: yield prepareMintSignedTransaction(body, provider, testnet),
|
|
208
|
-
signatureId: body.signatureId,
|
|
209
210
|
});
|
|
210
211
|
}),
|
|
211
212
|
/**
|
|
@@ -222,7 +223,6 @@ const erc20 = (args) => {
|
|
|
222
223
|
}
|
|
223
224
|
return args.broadcastFunction({
|
|
224
225
|
txData: yield prepareTransferSignedTransaction(body, provider, testnet),
|
|
225
|
-
signatureId: body.signatureId,
|
|
226
226
|
});
|
|
227
227
|
}),
|
|
228
228
|
/**
|
|
@@ -239,7 +239,6 @@ const erc20 = (args) => {
|
|
|
239
239
|
}
|
|
240
240
|
return args.broadcastFunction({
|
|
241
241
|
txData: yield prepareBurnSignedTransaction(body, provider, testnet),
|
|
242
|
-
signatureId: body.signatureId,
|
|
243
242
|
});
|
|
244
243
|
}),
|
|
245
244
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/blockchain/celo/src/lib/transactions/erc20/index.ts"],"names":[],"mappings":";;;;AAAA,yEAA4D;AAC5D,oDAQ4B;AAC5B,sEAAqF;AAErF,sFAAgF;AAChF,wEAAoC;AACpC,wDAAuB;AACvB,uDAO+B;AAC/B,sDAAiD;AAEjD,MAAM,UAAU,GAAG,CACjB,IAA+C,EAC/C,QAAiB,EACjB,OAAiB,EACjB,eAAwB,EACxB,EAAE;IACF,MAAM,YAAY,GAAG,sBAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAEpD,MAAM,IAAI,GAAG,IAAI,cAAI,CAAC,QAAQ,IAAI,GAAG,oBAAO,CAAC,IAAI,iBAAiB,gCAAmB,CAAC,OAAO,EAAE,CAAC,CAAA;IAChG,OAAO;QACL,YAAY;QACZ,OAAO,EAAE,MAAM,YAAY,CAAC,KAAK;QACjC,0BAA0B,EAAE,sBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;QAC/E,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,wCAAU,CAAC,GAAU,EAAE,eAAe,CAAC;KACxE,CAAA;AACH,CAAC,CAAA,CAAA;AAED,MAAM,8BAA8B,GAAG,CACrC,IAA0B,EAC1B,QAAiB,EACjB,OAAiB,EACjB,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/blockchain/celo/src/lib/transactions/erc20/index.ts"],"names":[],"mappings":";;;;AAAA,yEAA4D;AAC5D,oDAQ4B;AAC5B,sEAAqF;AAErF,sFAAgF;AAChF,wEAAoC;AACpC,wDAAuB;AACvB,uDAO+B;AAC/B,sDAAiD;AAEjD,MAAM,UAAU,GAAG,CACjB,IAA+C,EAC/C,QAAiB,EACjB,OAAiB,EACjB,eAAwB,EACxB,EAAE;IACF,MAAM,YAAY,GAAG,sBAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IAEpD,MAAM,IAAI,GAAG,IAAI,cAAI,CAAC,QAAQ,IAAI,GAAG,oBAAO,CAAC,IAAI,iBAAiB,gCAAmB,CAAC,OAAO,EAAE,CAAC,CAAA;IAChG,OAAO;QACL,YAAY;QACZ,OAAO,EAAE,MAAM,YAAY,CAAC,KAAK;QACjC,0BAA0B,EAAE,sBAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;QAC/E,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,wCAAU,CAAC,GAAU,EAAE,eAAe,CAAC;KACxE,CAAA;AACH,CAAC,CAAA,CAAA;AAED,MAAM,8BAA8B,GAAG,CACrC,IAA0B,EAC1B,QAAiB,EACjB,OAAiB,EACjB,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAEzG,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CACtF,IAAI,EACJ,QAAQ,EACR,OAAO,CACR,CAAA;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC7B,IAAI,EAAE,wCAAU,CAAC,QAAQ;QACzB,SAAS,EAAE;YACT,IAAI;YACJ,MAAM;YACN,OAAO;YACP,MAAM;YACN,IAAA,iCAAW,EAAC,IAAI,sBAAS,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1F,IAAA,iCAAW,EAAC,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;SAC/E;KACF,CAAC,CAAA;IACF,IAAI,WAAW,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,0BAA0B;YACvC,KAAK;YACL,QAAQ,EAAE,2CAAa,CAAC,yBAAyB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YAChE,QAAQ,EAAE,2CAAa,CAAC,4BAA4B,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YACnE,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE;SACzB,CAAC,CAAA;KACH;IAED,MAAM,MAAM,GAAG,IAAI,gCAAU,CAAC,cAAwB,EAAE,YAAY,CAAC,CAAA;IACrE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,sBAAS,CAAC,uBAAuB,CACzE,MAAM,EACN,0BAA0B,CAC3B,CAAA;IAED,MAAM,EAAE,GAA0B;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,KAAK,IAAI,OAAO;QACvB,QAAQ,EAAE,2CAAa,CAAC,yBAAyB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;QAChE,QAAQ,EAAE,2CAAa,CAAC,4BAA4B,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE,QAAQ,CAAC;QAC7E,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE;QACxB,IAAI;KACL,CAAA;IAED,OAAO,sBAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA,CAAA;AAED,MAAM,4BAA4B,GAAG,CACnC,IAAwB,EACxB,QAAiB,EACjB,OAAiB,EACjB,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAErF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CACtF,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,eAAe,CAAC,IAAI,EAAE,CACvB,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;IAEzD,IAAI,WAAW,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,0BAA0B;YACvC,KAAK;YACL,QAAQ,EAAE,2CAAa,CAAC,yBAAyB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YAChE,QAAQ,EAAE,2CAAa,CAAC,4BAA4B,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YACnE,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE;YAC1B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,iCAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE;SACpG,CAAC,CAAA;KACH;IACD,MAAM,MAAM,GAAG,IAAI,gCAAU,CAAC,cAAwB,EAAE,YAAY,CAAC,CAAA;IACrE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,sBAAS,CAAC,uBAAuB,CACzE,MAAM,EACN,0BAA0B,CAC3B,CAAA;IAED,MAAM,EAAE,GAA0B;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,KAAK,IAAI,OAAO;QACvB,QAAQ,EAAE,2CAAa,CAAC,yBAAyB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;QAChE,QAAQ,EAAE,2CAAa,CAAC,4BAA4B,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE,QAAQ,CAAC;QAC7E,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,iCAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE;QACnG,IAAI;KACL,CAAA;IACD,OAAO,sBAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA,CAAA;AAED,MAAM,gCAAgC,GAAG,CACvC,IAA4B,EAC5B,QAAiB,EACjB,OAAiB,EACjB,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAErF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CACtF,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,eAAe,CAAC,IAAI,EAAE,CACvB,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;IACzD,IAAI,WAAW,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,0BAA0B;YACvC,KAAK;YACL,QAAQ,EAAE,2CAAa,CAAC,yBAAyB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YAChE,QAAQ,EAAE,2CAAa,CAAC,4BAA4B,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YACnE,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE;YAC1B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,iCAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE;SACxG,CAAC,CAAA;KACH;IAED,MAAM,MAAM,GAAG,IAAI,gCAAU,CAAC,cAAwB,EAAE,YAAY,CAAC,CAAA;IACrE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,sBAAS,CAAC,uBAAuB,CACzE,MAAM,EACN,0BAA0B,CAC3B,CAAA;IAED,MAAM,EAAE,GAA0B;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,KAAK,IAAI,OAAO;QACvB,QAAQ,EAAE,2CAAa,CAAC,yBAAyB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;QAChE,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE;QAC1B,QAAQ,EAAE,2CAAa,CAAC,4BAA4B,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE,QAAQ,CAAC;QAC7E,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,iCAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE;QACvG,IAAI;KACL,CAAA;IACD,OAAO,sBAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA,CAAA;AAED,MAAM,4BAA4B,GAAG,CACnC,IAAwB,EACxB,QAAiB,EACjB,OAAiB,EACjB,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAEjF,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,GAAG,MAAM,UAAU,CACtF,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,eAAe,CAAC,IAAI,EAAE,CACvB,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;IACzD,IAAI,WAAW,EAAE;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,0BAA0B;YACvC,KAAK;YACL,QAAQ,EAAE,2CAAa,CAAC,yBAAyB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YAChE,QAAQ,EAAE,2CAAa,CAAC,4BAA4B,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YACnE,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE;YAC1B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE;SACzF,CAAC,CAAA;KACH;IAED,MAAM,MAAM,GAAG,IAAI,gCAAU,CAAC,cAAwB,EAAE,YAAY,CAAC,CAAA;IACrE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,sBAAS,CAAC,uBAAuB,CACzE,MAAM,EACN,0BAA0B,CAC3B,CAAA;IAED,MAAM,EAAE,GAA0B;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,KAAK,IAAI,OAAO;QACvB,QAAQ,EAAE,2CAAa,CAAC,yBAAyB,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;QAChE,QAAQ,EAAE,2CAAa,CAAC,4BAA4B,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE,QAAQ,CAAC;QAC7E,EAAE,EAAE,eAAe,CAAC,IAAI,EAAE;QAC1B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE;QACxF,IAAI;KACL,CAAA;IACD,OAAO,sBAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAClE,CAAC,CAAA,CAAA;AAEM,MAAM,KAAK,GAAG,CAAC,IAA8C,EAAE,EAAE;IACtE,OAAO;QACL,OAAO,EAAE;YACP;;;eAGG;YACH,uBAAuB,EAAE,CAAO,IAA0B,EAAE,QAAiB,EAAE,OAAiB,EAAE,EAAE;gBAClG,OAAA,2CAAa,CAAC,QAAQ,CACpB,GAAG,EAAE,CAAC,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC7D,kCAAY,CAAC,kCAAkC,CAChD,CAAA;cAAA;YACH;;;eAGG;YACH,qBAAqB,EAAE,CAAO,IAAwB,EAAE,QAAiB,EAAE,OAAiB,EAAE,EAAE;gBAC9F,OAAA,2CAAa,CAAC,QAAQ,CACpB,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC3D,kCAAY,CAAC,gCAAgC,CAC9C,CAAA;cAAA;YACH;;;eAGG;YACH,yBAAyB,EAAE,CAAO,IAA4B,EAAE,QAAiB,EAAE,OAAiB,EAAE,EAAE;gBACtG,OAAA,2CAAa,CAAC,QAAQ,CACpB,GAAG,EAAE,CAAC,gCAAgC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC/D,kCAAY,CAAC,oCAAoC,CAClD,CAAA;cAAA;YACH;;;eAGG;YACH,qBAAqB,EAAE,CAAO,IAAwB,EAAE,QAAiB,EAAE,OAAiB,EAAE,EAAE;gBAC9F,OAAA,2CAAa,CAAC,QAAQ,CACpB,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC3D,kCAAY,CAAC,gCAAgC,CAC9C,CAAA;cAAA;SACJ;QACD,IAAI,EAAE;YACJ;;;;;;;eAOG;YACH,uBAAuB,EAAE,CAAO,IAA0B,EAAE,QAAiB,EAAE,OAAiB,EAAE,EAAE;gBAClG,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,OAAO,wBAAW,CAAC,aAAa,CAAC,WAAW,CAAC,gCACxC,IAAI,KACP,KAAK,EAAE,wBAAU,CAAC,IAAI,GACI,CAAC,CAAA;iBAC9B;gBACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;oBAC5B,MAAM,EAAE,MAAM,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;iBACtE,CAAC,CAAA;YACJ,CAAC,CAAA;YACD;;;;;;;eAOG;YACH,qBAAqB,EAAE,CAAO,IAAwB,EAAE,QAAiB,EAAE,OAAiB,EAAE,EAAE;gBAC9F,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,OAAO,wBAAW,CAAC,aAAa,CAAC,SAAS,CAAC,gCACtC,IAAI,KACP,KAAK,EAAE,wBAAU,CAAC,IAAI,GACE,CAAC,CAAA;iBAC5B;gBACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;oBAC5B,MAAM,EAAE,MAAM,4BAA4B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;iBACpE,CAAC,CAAA;YACJ,CAAC,CAAA;YACD;;;;;;;eAOG;YACH,yBAAyB,EAAE,CACzB,IAA4B,EAC5B,QAAiB,EACjB,OAAiB,EACjB,EAAE;gBACF,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,OAAO,wBAAW,CAAC,aAAa,CAAC,aAAa,CAAC,gCAC1C,IAAI,KACP,KAAK,EAAE,wBAAU,CAAC,IAAI,GACW,CAAC,CAAA;iBACrC;gBACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;oBAC5B,MAAM,EAAE,MAAM,gCAAgC,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;iBACxE,CAAC,CAAA;YACJ,CAAC,CAAA;YACD;;;;;;;eAOG;YACH,qBAAqB,EAAE,CAAO,IAAwB,EAAE,QAAiB,EAAE,OAAiB,EAAE,EAAE;gBAC9F,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,OAAO,wBAAW,CAAC,aAAa,CAAC,SAAS,CAAC,gCACtC,IAAI,KACP,KAAK,EAAE,wBAAU,CAAC,IAAI,GACE,CAAC,CAAA;iBAC5B;gBACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;oBAC5B,MAAM,EAAE,MAAM,4BAA4B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC;iBACpE,CAAC,CAAA;YACJ,CAAC,CAAA;SACF;KACF,CAAA;AACH,CAAC,CAAA;AA3HY,QAAA,KAAK,SA2HjB"}
|