rubic-sdk 6.0.0-alpha.ton.43 → 6.0.0-alpha.ton.44
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/lib/core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private.d.ts +2 -1
- package/lib/core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private.js +31 -0
- package/lib/core/blockchain/web3-private-service/web3-private/evm-web3-private/evm-web3-private.js.map +1 -1
- package/lib/core/blockchain/web3-private-service/web3-private/evm-web3-private/models/evm-transaction-options.d.ts +4 -0
- package/lib/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.d.ts +3 -0
- package/lib/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.js +9 -2
- package/lib/core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private.js.map +1 -1
- package/lib/core/blockchain/web3-private-service/web3-private-service.d.ts +4 -1
- package/lib/core/blockchain/web3-private-service/web3-private-service.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.d.ts +2 -0
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.js +5 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/cross-chain-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js +21 -0
- package/lib/features/cross-chain/calculation-manager/providers/common/emv-cross-chain-trade/evm-cross-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/common/tonkeeper/models/tonkeeper-trade-struct.d.ts +1 -3
- package/lib/features/on-chain/calculation-manager/providers/aggregators/common/tonkeeper/tonkeeper-on-chain-provider.d.ts +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/common/tonkeeper/tonkeeper-on-chain-provider.js +3 -2
- package/lib/features/on-chain/calculation-manager/providers/aggregators/common/tonkeeper/tonkeeper-on-chain-provider.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/common/tonkeeper/tonkeeper-on-chain-trade.d.ts +5 -4
- package/lib/features/on-chain/calculation-manager/providers/aggregators/common/tonkeeper/tonkeeper-on-chain-trade.js +38 -26
- package/lib/features/on-chain/calculation-manager/providers/aggregators/common/tonkeeper/tonkeeper-on-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/constants/dedust-gas.d.ts +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/constants/dedust-gas.js +5 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/constants/dedust-gas.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-provider.d.ts +12 -4
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-provider.js +56 -3
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-provider.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.d.ts +12 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.js +50 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/models/dedust-trade-types.d.ts +3 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/models/dedust-trade-types.js +3 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/models/dedust-trade-types.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/services/dedust-swap-service.d.ts +15 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/services/dedust-swap-service.js +100 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/services/dedust-swap-service.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/tonkeeper-dedust-on-chain-provider.d.ts +6 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/tonkeeper-dedust-on-chain-provider.js +14 -0
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/tonkeeper-dedust-on-chain-provider.js.map +1 -0
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.d.ts +1 -0
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.js +22 -0
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.d.ts +2 -0
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.js +5 -1
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/models/ton-on-chian-trade-types.d.ts +2 -3
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.d.ts +9 -10
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.js +7 -36
- package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.js.map +1 -1
- package/lib/index.d.ts +5 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -1
- package/package.json +2 -1
@@ -1,13 +1,66 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
6
|
exports.DedustOnChainProvider = void 0;
|
7
|
+
const core_1 = require("@ton/core");
|
8
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
9
|
+
const tokens_1 = require("../../../../../../common/tokens");
|
10
|
+
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
4
11
|
const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
|
5
|
-
const
|
6
|
-
|
12
|
+
const aggregator_on_chain_provider_abstract_1 = require("../../common/on-chain-aggregator/aggregator-on-chain-provider-abstract");
|
13
|
+
const dedust_gas_1 = require("./constants/dedust-gas");
|
14
|
+
const dedust_on_chain_trade_1 = require("./dedust-on-chain-trade");
|
15
|
+
const dedust_swap_service_1 = require("./services/dedust-swap-service");
|
16
|
+
class DedustOnChainProvider extends aggregator_on_chain_provider_abstract_1.AggregatorOnChainProvider {
|
7
17
|
constructor() {
|
8
18
|
super(...arguments);
|
9
|
-
this.tonkeeperDexType = 'dedust';
|
10
19
|
this.tradeType = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.DEDUST;
|
20
|
+
this.dedustSwapService = new dedust_swap_service_1.DedustSwapService();
|
21
|
+
}
|
22
|
+
isSupportedBlockchain(blockchain) {
|
23
|
+
return blockchain === blockchain_name_1.BLOCKCHAIN_NAME.TON;
|
24
|
+
}
|
25
|
+
async calculate(from, toToken, options) {
|
26
|
+
try {
|
27
|
+
const { fromWithoutFee, proxyFeeInfo } = await this.handleProxyContract(from, options);
|
28
|
+
const fromAsset = this.dedustSwapService.getTokenAsset(fromWithoutFee);
|
29
|
+
const toAsset = this.dedustSwapService.getTokenAsset(toToken);
|
30
|
+
const pool = await this.dedustSwapService.getPool(fromAsset, toAsset);
|
31
|
+
const { amountOut } = await pool.getEstimatedSwapOut({
|
32
|
+
assetIn: fromAsset,
|
33
|
+
amountIn: (0, core_1.toNano)(fromWithoutFee.tokenAmount.toFixed())
|
34
|
+
});
|
35
|
+
const to = new tokens_1.PriceTokenAmount({
|
36
|
+
...toToken.asStruct,
|
37
|
+
weiAmount: new bignumber_js_1.default(amountOut.toString())
|
38
|
+
});
|
39
|
+
return new dedust_on_chain_trade_1.DedustOnChainTrade({
|
40
|
+
from,
|
41
|
+
to,
|
42
|
+
gasFeeInfo: await this.getGasFeeInfo(),
|
43
|
+
fromWithoutFee,
|
44
|
+
proxyFeeInfo,
|
45
|
+
slippageTolerance: options.slippageTolerance,
|
46
|
+
useProxy: false,
|
47
|
+
withDeflation: options.withDeflation,
|
48
|
+
path: this.getRoutePath(from, toToken),
|
49
|
+
usedForCrossChain: false
|
50
|
+
}, options.providerAddress);
|
51
|
+
}
|
52
|
+
catch (err) {
|
53
|
+
return {
|
54
|
+
type: this.tradeType,
|
55
|
+
error: err
|
56
|
+
};
|
57
|
+
}
|
58
|
+
}
|
59
|
+
async getGasFeeInfo() {
|
60
|
+
return {
|
61
|
+
gasPrice: new bignumber_js_1.default(1),
|
62
|
+
gasLimit: new bignumber_js_1.default(dedust_gas_1.DEDUST_GAS)
|
63
|
+
};
|
11
64
|
}
|
12
65
|
}
|
13
66
|
exports.DedustOnChainProvider = DedustOnChainProvider;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dedust-on-chain-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-provider.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"dedust-on-chain-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-provider.ts"],"names":[],"mappings":";;;;;;AAAA,oCAAmC;AACnC,gEAAqC;AACrC,8CAAiE;AACjE,gFAIoD;AAIpD,iFAA8E;AAC9E,kIAAmH;AAGnH,uDAAoD;AACpD,mEAA6D;AAC7D,wEAAmE;AAEnE,MAAa,qBAAsB,SAAQ,iEAAyB;IAApE;;QACW,cAAS,GAAG,yCAAmB,CAAC,MAAM,CAAC;QAE7B,sBAAiB,GAAG,IAAI,uCAAiB,EAAE,CAAC;IAwDjE,CAAC;IAtDU,qBAAqB,CAAC,UAA0B;QACnD,OAAO,UAAU,KAAK,iCAAe,CAAC,GAAG,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,SAAS,CAClB,IAAyC,EACzC,OAAsC,EACtC,OAA0C;QAE1C,IAAI;YACA,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvF,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAE9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBACjD,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAA,aAAM,EAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;aACzD,CAAC,CAAC;YAEH,MAAM,EAAE,GAAG,IAAI,yBAAgB,CAAC;gBAC5B,GAAG,OAAO,CAAC,QAAQ;gBACnB,SAAS,EAAE,IAAI,sBAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;aACjD,CAAC,CAAC;YAEH,OAAO,IAAI,0CAAkB,CACzB;gBACI,IAAI;gBACJ,EAAE;gBACF,UAAU,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE;gBACtC,cAAc;gBACd,YAAY;gBACZ,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,QAAQ,EAAE,KAAK;gBACf,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;gBACtC,iBAAiB,EAAE,KAAK;aAC3B,EACD,OAAO,CAAC,eAAe,CAC1B,CAAC;SACL;QAAC,OAAO,GAAG,EAAE;YACV,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,KAAK,EAAE,GAAG;aACb,CAAC;SACL;IACL,CAAC;IAES,KAAK,CAAC,aAAa;QACzB,OAAO;YACH,QAAQ,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAE,IAAI,sBAAS,CAAC,uBAAU,CAAC;SACtC,CAAC;IACN,CAAC;CACJ;AA3DD,sDA2DC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options';
|
2
|
+
import { SwapTransactionOptions } from '../../../../../common/models/swap-transaction-options';
|
3
|
+
import { OnChainTradeType } from '../../common/models/on-chain-trade-type';
|
4
|
+
import { TonOnChainTrade } from '../../common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade';
|
5
|
+
import { DedustOnChainTradeStruct } from './models/dedust-trade-types';
|
6
|
+
export declare class DedustOnChainTrade extends TonOnChainTrade {
|
7
|
+
type: OnChainTradeType;
|
8
|
+
private readonly dedustSwapService;
|
9
|
+
constructor(tradeStruct: DedustOnChainTradeStruct, providerAddress: string);
|
10
|
+
protected calculateOutputAmount(_options: EncodeTransactionOptions): Promise<string>;
|
11
|
+
swap(options?: SwapTransactionOptions): Promise<string | never>;
|
12
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.DedustOnChainTrade = void 0;
|
4
|
+
const core_1 = require("@ton/core");
|
5
|
+
const errors_1 = require("../../../../../../common/utils/errors");
|
6
|
+
const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
|
7
|
+
const ton_on_chain_trade_1 = require("../../common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade");
|
8
|
+
const dedust_swap_service_1 = require("./services/dedust-swap-service");
|
9
|
+
class DedustOnChainTrade extends ton_on_chain_trade_1.TonOnChainTrade {
|
10
|
+
constructor(tradeStruct, providerAddress) {
|
11
|
+
super(tradeStruct, providerAddress);
|
12
|
+
this.type = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.DEDUST;
|
13
|
+
this.dedustSwapService = new dedust_swap_service_1.DedustSwapService();
|
14
|
+
}
|
15
|
+
async calculateOutputAmount(_options) {
|
16
|
+
const fromAsset = this.dedustSwapService.getTokenAsset(this.from);
|
17
|
+
const toAsset = this.dedustSwapService.getTokenAsset(this.to);
|
18
|
+
const pool = await this.dedustSwapService.getPool(fromAsset, toAsset);
|
19
|
+
const { amountOut } = await pool.getEstimatedSwapOut({
|
20
|
+
assetIn: fromAsset,
|
21
|
+
amountIn: (0, core_1.toNano)(this.fromWithoutFee.tokenAmount.toFixed())
|
22
|
+
});
|
23
|
+
return amountOut.toString();
|
24
|
+
}
|
25
|
+
async swap(options = {}) {
|
26
|
+
await this.checkWalletState(options?.testMode);
|
27
|
+
let transactionHash;
|
28
|
+
const onTransactionHash = (hash) => {
|
29
|
+
if (options.onConfirm) {
|
30
|
+
options.onConfirm(hash);
|
31
|
+
}
|
32
|
+
transactionHash = hash;
|
33
|
+
};
|
34
|
+
await this.makePreSwapChecks({
|
35
|
+
fromAddress: this.walletAddress,
|
36
|
+
receiverAddress: this.walletAddress,
|
37
|
+
skipAmountCheck: this.skipAmountCheck,
|
38
|
+
...(options?.referrer && { referrer: options?.referrer })
|
39
|
+
});
|
40
|
+
try {
|
41
|
+
await this.dedustSwapService.sendTransaction(this.from, this.to, this.walletAddress, onTransactionHash);
|
42
|
+
return transactionHash;
|
43
|
+
}
|
44
|
+
catch (err) {
|
45
|
+
throw (0, errors_1.parseError)(err);
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
exports.DedustOnChainTrade = DedustOnChainTrade;
|
50
|
+
//# sourceMappingURL=dedust-on-chain-trade.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dedust-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.ts"],"names":[],"mappings":";;;AAAA,oCAAmC;AACnC,oDAAqD;AAIrD,iFAAgG;AAChG,0GAAoG;AAEpG,wEAAmE;AAEnE,MAAa,kBAAmB,SAAQ,oCAAe;IAKnD,YAAY,WAAqC,EAAE,eAAuB;QACtE,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QALjC,SAAI,GAAqB,yCAAmB,CAAC,MAAM,CAAC;QAE1C,sBAAiB,GAAG,IAAI,uCAAiB,EAAE,CAAC;IAI7D,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,QAAkC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACjD,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,IAAA,aAAM,EAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;SAC9D,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkC,EAAE;QAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE/C,IAAI,eAAuB,CAAC;QAC5B,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,SAAS,EAAE;gBACnB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC3B;YACD,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC;YACzB,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,eAAe,EAAE,IAAI,CAAC,aAAa;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,IAAI;YACA,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACxC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,aAAa,EAClB,iBAAiB,CACpB,CAAC;YACF,OAAO,eAAgB,CAAC;SAC3B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAC;SACzB;IACL,CAAC;CACJ;AAnDD,gDAmDC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dedust-trade-types.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/dedust/models/dedust-trade-types.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { Asset, Factory, Pool } from '@dedust/sdk';
|
2
|
+
import { OpenedContract } from '@ton/core';
|
3
|
+
import { TonClient4 } from '@ton/ton';
|
4
|
+
import { PriceToken, PriceTokenAmount } from '../../../../../../../common/tokens';
|
5
|
+
export declare class DedustSwapService {
|
6
|
+
private readonly factory;
|
7
|
+
private readonly tonClient;
|
8
|
+
constructor();
|
9
|
+
getFactory(): OpenedContract<Factory>;
|
10
|
+
getTonClient(): TonClient4;
|
11
|
+
getPool(fromAsset: Asset, toAsset: Asset): Promise<OpenedContract<Pool>>;
|
12
|
+
getTokenAsset(token: PriceToken): Asset;
|
13
|
+
private getVault;
|
14
|
+
sendTransaction(from: PriceTokenAmount, to: PriceTokenAmount, walletAddress: string, onHash: (hash: string) => void): Promise<void>;
|
15
|
+
}
|
@@ -0,0 +1,100 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.DedustSwapService = void 0;
|
4
|
+
const sdk_1 = require("@dedust/sdk");
|
5
|
+
const core_1 = require("@ton/core");
|
6
|
+
const errors_1 = require("../../../../../../../common/errors");
|
7
|
+
const chain_type_1 = require("../../../../../../../core/blockchain/models/chain-type");
|
8
|
+
const injector_1 = require("../../../../../../../core/injector/injector");
|
9
|
+
const dedust_gas_1 = require("../constants/dedust-gas");
|
10
|
+
class DedustSwapService {
|
11
|
+
constructor() {
|
12
|
+
this.tonClient = injector_1.Injector.web3PrivateService.getWeb3Private(chain_type_1.CHAIN_TYPE.TON).tonClient;
|
13
|
+
this.factory = this.tonClient.open(sdk_1.Factory.createFromAddress(sdk_1.MAINNET_FACTORY_ADDR));
|
14
|
+
}
|
15
|
+
getFactory() {
|
16
|
+
return this.factory;
|
17
|
+
}
|
18
|
+
getTonClient() {
|
19
|
+
return this.tonClient;
|
20
|
+
}
|
21
|
+
async getPool(fromAsset, toAsset) {
|
22
|
+
const pool = this.tonClient.open(sdk_1.Pool.createFromAddress(await this.factory.getPoolAddress({
|
23
|
+
poolType: sdk_1.PoolType.VOLATILE,
|
24
|
+
assets: [fromAsset, toAsset]
|
25
|
+
})));
|
26
|
+
if ((await pool.getReadinessStatus()) !== sdk_1.ReadinessStatus.READY) {
|
27
|
+
throw new Error(`[DedustSwapService_getPool] Pool does not exist.`);
|
28
|
+
}
|
29
|
+
return pool;
|
30
|
+
}
|
31
|
+
getTokenAsset(token) {
|
32
|
+
if (token.isNative)
|
33
|
+
return sdk_1.Asset.native();
|
34
|
+
const parsedAddress = core_1.Address.parse(token.address);
|
35
|
+
const openedTokenContract = this.tonClient.open(sdk_1.JettonRoot.createFromAddress(parsedAddress));
|
36
|
+
return sdk_1.Asset.jetton(openedTokenContract.address);
|
37
|
+
}
|
38
|
+
async getVault(token) {
|
39
|
+
if (token.isNative) {
|
40
|
+
const nativeVault = this.tonClient.open(await this.factory.getNativeVault());
|
41
|
+
if ((await nativeVault.getReadinessStatus()) !== sdk_1.ReadinessStatus.READY) {
|
42
|
+
throw new errors_1.RubicSdkError('Vault (TON) does not exist.');
|
43
|
+
}
|
44
|
+
return nativeVault;
|
45
|
+
}
|
46
|
+
const parsedAddress = core_1.Address.parse(token.address);
|
47
|
+
const jettonVault = this.tonClient.open(await this.factory.getJettonVault(parsedAddress));
|
48
|
+
if ((await jettonVault.getReadinessStatus()) !== sdk_1.ReadinessStatus.READY) {
|
49
|
+
throw new Error(`Vault (${token.symbol}) does not exist.`);
|
50
|
+
}
|
51
|
+
return jettonVault;
|
52
|
+
}
|
53
|
+
async sendTransaction(from, to, walletAddress, onHash) {
|
54
|
+
const fromAsset = this.getTokenAsset(from);
|
55
|
+
const toAsset = this.getTokenAsset(to);
|
56
|
+
const pool = await this.getPool(fromAsset, toAsset);
|
57
|
+
const fromAmount = (0, core_1.toNano)(from.tokenAmount.toFixed());
|
58
|
+
const sender = {
|
59
|
+
address: core_1.Address.parse(walletAddress),
|
60
|
+
send: async () => { }
|
61
|
+
};
|
62
|
+
const { amountOut: expectedAmountOut } = await pool.getEstimatedSwapOut({
|
63
|
+
assetIn: sdk_1.Asset.native(),
|
64
|
+
amountIn: fromAmount
|
65
|
+
});
|
66
|
+
const minAmountOut = (expectedAmountOut * 99n) / 100n;
|
67
|
+
if (from.isNative) {
|
68
|
+
const nativeVault = await this.getVault(from);
|
69
|
+
// const nativeVault = this.tonClient.open(await this.factory.getNativeVault());
|
70
|
+
await nativeVault.sendSwap(sender, {
|
71
|
+
poolAddress: pool.address,
|
72
|
+
amount: fromAmount,
|
73
|
+
limit: minAmountOut,
|
74
|
+
gasAmount: (0, core_1.toNano)(dedust_gas_1.DEDUST_GAS)
|
75
|
+
});
|
76
|
+
// @TODO set correct Hash;
|
77
|
+
onHash('');
|
78
|
+
}
|
79
|
+
else {
|
80
|
+
const jettonVault = await this.getVault(from);
|
81
|
+
const parsedAddress = core_1.Address.parse(from.address);
|
82
|
+
const jettonRoot = this.tonClient.open(sdk_1.JettonRoot.createFromAddress(parsedAddress));
|
83
|
+
const jettonWallet = this.tonClient.open(await jettonRoot.getWallet(sender.address));
|
84
|
+
await jettonWallet.sendTransfer(sender, (0, core_1.toNano)(0.3), {
|
85
|
+
amount: fromAmount,
|
86
|
+
destination: jettonVault.address,
|
87
|
+
responseAddress: sender.address,
|
88
|
+
forwardAmount: (0, core_1.toNano)(0.25),
|
89
|
+
forwardPayload: sdk_1.VaultJetton.createSwapPayload({
|
90
|
+
poolAddress: pool.address,
|
91
|
+
limit: minAmountOut
|
92
|
+
})
|
93
|
+
});
|
94
|
+
// @TODO set correct Hash;
|
95
|
+
onHash('');
|
96
|
+
}
|
97
|
+
}
|
98
|
+
}
|
99
|
+
exports.DedustSwapService = DedustSwapService;
|
100
|
+
//# sourceMappingURL=dedust-swap-service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dedust-swap-service.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/dedust/services/dedust-swap-service.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { TonkeeperDedustQuoteInfo, TonkeeperDexType } from '../common/tonkeeper/models/tonkeeper-api-types';
|
2
|
+
import { TonkeeperOnChainProvider } from '../common/tonkeeper/tonkeeper-on-chain-provider';
|
3
|
+
export declare class TonkeeperDedustOnChainProvider extends TonkeeperOnChainProvider<TonkeeperDedustQuoteInfo> {
|
4
|
+
protected tonkeeperDexType: TonkeeperDexType;
|
5
|
+
tradeType: "DEDUST";
|
6
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.TonkeeperDedustOnChainProvider = void 0;
|
4
|
+
const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
|
5
|
+
const tonkeeper_on_chain_provider_1 = require("../common/tonkeeper/tonkeeper-on-chain-provider");
|
6
|
+
class TonkeeperDedustOnChainProvider extends tonkeeper_on_chain_provider_1.TonkeeperOnChainProvider {
|
7
|
+
constructor() {
|
8
|
+
super(...arguments);
|
9
|
+
this.tonkeeperDexType = 'dedust';
|
10
|
+
this.tradeType = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.DEDUST;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
exports.TonkeeperDedustOnChainProvider = TonkeeperDedustOnChainProvider;
|
14
|
+
//# sourceMappingURL=tonkeeper-dedust-on-chain-provider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tonkeeper-dedust-on-chain-provider.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/dedust/tonkeeper-dedust-on-chain-provider.ts"],"names":[],"mappings":";;;AAAA,iFAA8E;AAK9E,iGAA2F;AAE3F,MAAa,8BAA+B,SAAQ,sDAAkD;IAAtG;;QACc,qBAAgB,GAAqB,QAAQ,CAAC;QAEjD,cAAS,GAAG,yCAAmB,CAAC,MAAM,CAAC;IAClD,CAAC;CAAA;AAJD,wEAIC"}
|
@@ -62,6 +62,7 @@ export declare abstract class EvmOnChainTrade extends OnChainTrade {
|
|
62
62
|
*/
|
63
63
|
protected getSwapValue(providerValue?: BigNumber | string | number | null): string;
|
64
64
|
swap(options?: SwapTransactionOptions): Promise<string | never>;
|
65
|
+
getData(fromAddress: string, options?: SwapTransactionOptions): Promise<EvmTransactionOptions | never>;
|
65
66
|
encode(options: EncodeTransactionOptions): Promise<EvmEncodeConfig>;
|
66
67
|
/**
|
67
68
|
* Encodes trade to swap it through on-chain proxy.
|
@@ -9,6 +9,7 @@ const errors_1 = require("../../../../../../../common/errors");
|
|
9
9
|
const native_tokens_1 = require("../../../../../../../common/tokens/constants/native-tokens");
|
10
10
|
const errors_2 = require("../../../../../../../common/utils/errors");
|
11
11
|
const blockchain_name_1 = require("../../../../../../../core/blockchain/models/blockchain-name");
|
12
|
+
const blockchains_info_1 = require("../../../../../../../core/blockchain/utils/blockchains-info/blockchains-info");
|
12
13
|
const blockchain_id_1 = require("../../../../../../../core/blockchain/utils/blockchains-info/constants/blockchain-id");
|
13
14
|
const evm_web3_pure_1 = require("../../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/evm-web3-pure");
|
14
15
|
const web3_pure_1 = require("../../../../../../../core/blockchain/web3-pure/web3-pure");
|
@@ -161,6 +162,27 @@ class EvmOnChainTrade extends on_chain_trade_1.OnChainTrade {
|
|
161
162
|
throw (0, errors_2.parseError)(err);
|
162
163
|
}
|
163
164
|
}
|
165
|
+
async getData(fromAddress, options = {}) {
|
166
|
+
this.apiFromAddress = fromAddress;
|
167
|
+
if (!options?.testMode) {
|
168
|
+
await this.checkWalletState(options.testMode);
|
169
|
+
}
|
170
|
+
await this.checkReceiverAddress(options.receiverAddress, !blockchains_info_1.BlockchainsInfo.isEvmBlockchainName(this.to.blockchain));
|
171
|
+
const { data, value, to } = await this.encode({ ...options, fromAddress });
|
172
|
+
try {
|
173
|
+
if (!options?.testMode) {
|
174
|
+
const gasfullOptions = await this.web3Private.simulateTransaction(to, {
|
175
|
+
data,
|
176
|
+
value
|
177
|
+
}, this.from.blockchain);
|
178
|
+
return gasfullOptions;
|
179
|
+
}
|
180
|
+
return { data, value, to };
|
181
|
+
}
|
182
|
+
catch (err) {
|
183
|
+
throw err;
|
184
|
+
}
|
185
|
+
}
|
164
186
|
async encode(options) {
|
165
187
|
await this.checkFromAddress(options.fromAddress, true);
|
166
188
|
await this.checkReceiverAddress(options.receiverAddress);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"evm-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"evm-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade.ts"],"names":[],"mappings":"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"}
|
@@ -27,6 +27,8 @@ export declare abstract class OnChainTrade {
|
|
27
27
|
protected abstract readonly spenderAddress: string;
|
28
28
|
abstract readonly path: ReadonlyArray<Token>;
|
29
29
|
abstract readonly feeInfo: FeeInfo;
|
30
|
+
private _apiFromAddress;
|
31
|
+
set apiFromAddress(value: string | null);
|
30
32
|
/**
|
31
33
|
* Type of instant trade provider.
|
32
34
|
*/
|
package/lib/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.js
CHANGED
@@ -22,6 +22,9 @@ const check_address_1 = require("../../../../../common/utils/check-address");
|
|
22
22
|
* Abstract class for all instant trade providers' trades.
|
23
23
|
*/
|
24
24
|
class OnChainTrade {
|
25
|
+
set apiFromAddress(value) {
|
26
|
+
this._apiFromAddress = value;
|
27
|
+
}
|
25
28
|
/**
|
26
29
|
* Minimum amount of output token user can get.
|
27
30
|
*/
|
@@ -36,7 +39,7 @@ class OnChainTrade {
|
|
36
39
|
return injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(this.from.blockchain);
|
37
40
|
}
|
38
41
|
get walletAddress() {
|
39
|
-
return this.web3Private.address;
|
42
|
+
return this._apiFromAddress ?? this.web3Private.address;
|
40
43
|
}
|
41
44
|
get httpClient() {
|
42
45
|
return injector_1.Injector.httpClient;
|
@@ -49,6 +52,7 @@ class OnChainTrade {
|
|
49
52
|
}
|
50
53
|
constructor(providerAddress) {
|
51
54
|
this.providerAddress = providerAddress;
|
55
|
+
this._apiFromAddress = null;
|
52
56
|
}
|
53
57
|
/**
|
54
58
|
* Returns true, if allowance is not enough.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gEAAqC;AACrC,8CAK2B;AAC3B,2FAAsF;AACtF,8CAAyE;AACzE,4DAAoD;AACpD,gFAA6E;AAK7E,yDAAsD;AAGtD,2EAA2E;AAM3E;;GAEG;AACH,MAAsB,YAAY;
|
1
|
+
{"version":3,"file":"on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/on-chain-trade.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import { TonBlockchainName } from '../../../../../../../../core/blockchain/models/blockchain-name';
|
2
|
-
import { TonEncodedConfig } from '../../../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/models/ton-types';
|
3
2
|
import { OnChainTradeStruct } from '../../evm-on-chain-trade/models/evm-on-chain-trade-struct';
|
4
|
-
export interface TonEncodedConfigAndToAmount {
|
5
|
-
tx:
|
3
|
+
export interface TonEncodedConfigAndToAmount<T> {
|
4
|
+
tx: T;
|
6
5
|
toAmount: string;
|
7
6
|
}
|
8
7
|
export interface TonOnChainTradeStruct extends OnChainTradeStruct<TonBlockchainName> {
|
@@ -1,16 +1,14 @@
|
|
1
1
|
import { PriceTokenAmount, Token } from '../../../../../../../common/tokens';
|
2
2
|
import { TonBlockchainName } from '../../../../../../../core/blockchain/models/blockchain-name';
|
3
|
-
import { TonEncodedConfig } from '../../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/models/ton-types';
|
4
3
|
import { TonWeb3Private } from '../../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private';
|
5
4
|
import { TonWeb3Public } from '../../../../../../../core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public';
|
6
5
|
import { EncodeTransactionOptions } from '../../../../../../common/models/encode-transaction-options';
|
7
|
-
import { SwapTransactionOptions } from '../../../../../../common/models/swap-transaction-options';
|
8
6
|
import { FeeInfo } from '../../../../../../cross-chain/calculation-manager/providers/common/models/fee-info';
|
9
7
|
import { TransactionConfig } from 'web3-core';
|
10
8
|
import { GasFeeInfo } from '../evm-on-chain-trade/models/gas-fee-info';
|
11
9
|
import { OnChainTrade } from '../on-chain-trade';
|
12
|
-
import {
|
13
|
-
export declare abstract class TonOnChainTrade extends OnChainTrade {
|
10
|
+
import { TonOnChainTradeStruct } from './models/ton-on-chian-trade-types';
|
11
|
+
export declare abstract class TonOnChainTrade<T = undefined> extends OnChainTrade {
|
14
12
|
readonly from: PriceTokenAmount;
|
15
13
|
readonly to: PriceTokenAmount;
|
16
14
|
readonly slippageTolerance: number;
|
@@ -18,7 +16,7 @@ export declare abstract class TonOnChainTrade extends OnChainTrade {
|
|
18
16
|
readonly feeInfo: FeeInfo;
|
19
17
|
readonly gasFeeInfo: GasFeeInfo | null;
|
20
18
|
protected readonly fromWithoutFee: PriceTokenAmount<TonBlockchainName>;
|
21
|
-
|
19
|
+
protected skipAmountCheck: boolean;
|
22
20
|
protected get spenderAddress(): string;
|
23
21
|
protected get web3Public(): TonWeb3Public;
|
24
22
|
protected get web3Private(): TonWeb3Private;
|
@@ -26,9 +24,10 @@ export declare abstract class TonOnChainTrade extends OnChainTrade {
|
|
26
24
|
needApprove(): Promise<boolean>;
|
27
25
|
approve(): Promise<void>;
|
28
26
|
encodeApprove(): Promise<TransactionConfig>;
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
27
|
+
encode(): Promise<T>;
|
28
|
+
protected makePreSwapChecks(options: EncodeTransactionOptions): Promise<void>;
|
29
|
+
/**
|
30
|
+
* recalculates and returns output stringWeiAmount
|
31
|
+
*/
|
32
|
+
protected abstract calculateOutputAmount(options: EncodeTransactionOptions): Promise<string>;
|
34
33
|
}
|
@@ -2,9 +2,9 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.TonOnChainTrade = void 0;
|
4
4
|
const errors_1 = require("../../../../../../../common/errors");
|
5
|
-
const errors_2 = require("../../../../../../../common/utils/errors");
|
6
5
|
const blockchain_name_1 = require("../../../../../../../core/blockchain/models/blockchain-name");
|
7
6
|
const injector_1 = require("../../../../../../../core/injector/injector");
|
7
|
+
const check_unsupported_receiver_address_1 = require("../../../../../../common/utils/check-unsupported-receiver-address");
|
8
8
|
const on_chain_trade_1 = require("../on-chain-trade");
|
9
9
|
class TonOnChainTrade extends on_chain_trade_1.OnChainTrade {
|
10
10
|
get spenderAddress() {
|
@@ -36,47 +36,18 @@ class TonOnChainTrade extends on_chain_trade_1.OnChainTrade {
|
|
36
36
|
async encodeApprove() {
|
37
37
|
throw new Error('Method is not supported');
|
38
38
|
}
|
39
|
-
async
|
40
|
-
|
41
|
-
const { onConfirm } = options;
|
42
|
-
let transactionHash;
|
43
|
-
const onTransactionHash = (hash) => {
|
44
|
-
if (onConfirm) {
|
45
|
-
onConfirm(hash);
|
46
|
-
}
|
47
|
-
transactionHash = hash;
|
48
|
-
};
|
49
|
-
const fromAddress = this.walletAddress;
|
50
|
-
const receiverAddress = options.receiverAddress || this.walletAddress;
|
51
|
-
const tonEncodedConfig = await this.encode({
|
52
|
-
fromAddress,
|
53
|
-
receiverAddress,
|
54
|
-
skipAmountCheck: this.skipAmountCheck,
|
55
|
-
...(options?.referrer && { referrer: options?.referrer })
|
56
|
-
});
|
57
|
-
try {
|
58
|
-
await this.web3Private.sendTransaction({
|
59
|
-
onTransactionHash,
|
60
|
-
messages: [tonEncodedConfig]
|
61
|
-
});
|
62
|
-
return transactionHash;
|
63
|
-
}
|
64
|
-
catch (err) {
|
65
|
-
throw (0, errors_2.parseError)(err);
|
66
|
-
}
|
39
|
+
async encode() {
|
40
|
+
throw new errors_1.RubicSdkError('Method not implemented! Use custom swap methods on each child class!');
|
67
41
|
}
|
68
|
-
async
|
42
|
+
async makePreSwapChecks(options) {
|
43
|
+
(0, check_unsupported_receiver_address_1.checkUnsupportedReceiverAddress)(options.receiverAddress, this.walletAddress);
|
69
44
|
await this.checkFromAddress(options.fromAddress);
|
70
45
|
await this.checkReceiverAddress(options.receiverAddress);
|
71
46
|
if (!options.skipAmountCheck) {
|
72
47
|
this.skipAmountCheck = true;
|
73
|
-
await this.
|
48
|
+
const toWeiAmount = await this.calculateOutputAmount(options);
|
49
|
+
this.checkAmountChange(toWeiAmount, this.to.stringWeiAmount);
|
74
50
|
}
|
75
|
-
return this.encodeDirect(options);
|
76
|
-
}
|
77
|
-
async handleAmountCheckBeforeSwap(options) {
|
78
|
-
const { toAmount } = await this.getTransactionConfigAndAmount(options);
|
79
|
-
this.checkAmountChange(toAmount, this.to.stringWeiAmount);
|
80
51
|
}
|
81
52
|
}
|
82
53
|
exports.TonOnChainTrade = TonOnChainTrade;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ton-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.ts"],"names":[],"mappings":";;;AAAA,8CAAkD;AAElD,
|
1
|
+
{"version":3,"file":"ton-on-chain-trade.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/common/on-chain-trade/ton-on-chain-trade/ton-on-chain-trade.ts"],"names":[],"mappings":";;;AAAA,8CAAkD;AAElD,gFAAgG;AAGhG,yDAAsD;AAEtD,qHAA+G;AAK/G,sDAAiD;AAGjD,MAAsB,eAA+B,SAAQ,6BAAY;IAiBrE,IAAc,cAAc;QACxB,MAAM,IAAI,sBAAa,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAED,IAAc,UAAU;QACpB,OAAO,mBAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,iCAAe,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,IAAc,WAAW;QACrB,OAAO,mBAAQ,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,iCAAe,CAAC,GAAG,CAAC,CAAC;IACvF,CAAC;IAED,YAAY,WAAkC,EAAE,eAAuB;QACnE,KAAK,CAAC,eAAe,CAAC,CAAC;QArBX,YAAO,GAAY,EAAE,CAAC;QAM5B,oBAAe,GAAY,KAAK,CAAC;QAgBvC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;IACrD,CAAC;IAEe,KAAK,CAAC,WAAW;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,IAAI,sBAAa,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,MAAM;QACf,MAAM,IAAI,sBAAa,CACnB,sEAAsE,CACzE,CAAC;IACN,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,OAAiC;QAC/D,IAAA,oEAA+B,EAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;SAChE;IACL,CAAC;CAMJ;AAzED,0CAyEC"}
|