rubic-sdk 6.0.0-alpha.ton.92 → 6.0.0-alpha.ton.93
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/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-provider.d.ts +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-provider.js +1 -4
- 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.js +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/dedust-on-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/services/dedust-swap-service.d.ts +1 -3
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/services/dedust-swap-service.js +8 -5
- package/lib/features/on-chain/calculation-manager/providers/aggregators/dedust/services/dedust-swap-service.js.map +1 -1
- package/package.json +1 -1
@@ -7,7 +7,7 @@ import { GasFeeInfo } from '../../common/on-chain-trade/evm-on-chain-trade/model
|
|
7
7
|
import { OnChainTrade } from '../../common/on-chain-trade/on-chain-trade';
|
8
8
|
export declare class DedustOnChainProvider extends AggregatorOnChainProvider {
|
9
9
|
tradeType: "DEDUST";
|
10
|
-
private dedustSwapService;
|
10
|
+
private readonly dedustSwapService;
|
11
11
|
isSupportedBlockchain(blockchain: BlockchainName): blockchain is TonBlockchainName;
|
12
12
|
calculate(from: PriceTokenAmount<TonBlockchainName>, toToken: PriceToken<TonBlockchainName>, options: RequiredOnChainCalculationOptions): Promise<OnChainTrade | OnChainTradeError>;
|
13
13
|
protected getGasFeeInfo(): Promise<GasFeeInfo | null>;
|
@@ -7,8 +7,6 @@ exports.DedustOnChainProvider = void 0;
|
|
7
7
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
8
8
|
const tokens_1 = require("../../../../../../common/tokens");
|
9
9
|
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
|
10
|
-
const chain_type_1 = require("../../../../../../core/blockchain/models/chain-type");
|
11
|
-
const injector_1 = require("../../../../../../core/injector/injector");
|
12
10
|
const on_chain_trade_type_1 = require("../../common/models/on-chain-trade-type");
|
13
11
|
const aggregator_on_chain_provider_abstract_1 = require("../../common/on-chain-aggregator/aggregator-on-chain-provider-abstract");
|
14
12
|
const dedust_gas_1 = require("./constants/dedust-gas");
|
@@ -18,14 +16,13 @@ class DedustOnChainProvider extends aggregator_on_chain_provider_abstract_1.Aggr
|
|
18
16
|
constructor() {
|
19
17
|
super(...arguments);
|
20
18
|
this.tradeType = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.DEDUST;
|
19
|
+
this.dedustSwapService = dedust_swap_service_1.DedustSwapService.getInstance();
|
21
20
|
}
|
22
21
|
isSupportedBlockchain(blockchain) {
|
23
22
|
return blockchain === blockchain_name_1.BLOCKCHAIN_NAME.TON;
|
24
23
|
}
|
25
24
|
async calculate(from, toToken, options) {
|
26
25
|
try {
|
27
|
-
const web3Private = injector_1.Injector.web3PrivateService.getWeb3Private(chain_type_1.CHAIN_TYPE.TON);
|
28
|
-
this.dedustSwapService = dedust_swap_service_1.DedustSwapService.getInstance(web3Private);
|
29
26
|
const { fromWithoutFee, proxyFeeInfo } = await this.handleProxyContract(from, options);
|
30
27
|
const toStringWeiAmount = await this.dedustSwapService.calcOutputAmount(from, toToken);
|
31
28
|
const to = new tokens_1.PriceTokenAmount({
|
@@ -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":";;;;;;AAAA,gEAAqC;AACrC,8CAAiE;AACjE,gFAIoD;
|
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,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,uCAAiB,CAAC,WAAW,EAAE,CAAC;IAiDzE,CAAC;IA/CU,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,CAAC;YACD,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEvF,MAAM,EAAE,GAAG,IAAI,yBAAgB,CAAC;gBAC5B,GAAG,OAAO,CAAC,QAAQ;gBACnB,SAAS,EAAE,IAAI,sBAAS,CAAC,iBAAiB,CAAC;aAC9C,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;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,KAAK,EAAE,GAAG;aACb,CAAC;QACN,CAAC;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;AApDD,sDAoDC"}
|
@@ -9,7 +9,7 @@ class DedustOnChainTrade extends ton_on_chain_trade_1.TonOnChainTrade {
|
|
9
9
|
constructor(tradeStruct, providerAddress) {
|
10
10
|
super(tradeStruct, providerAddress);
|
11
11
|
this.type = on_chain_trade_type_1.ON_CHAIN_TRADE_TYPE.DEDUST;
|
12
|
-
this.dedustSwapService = dedust_swap_service_1.DedustSwapService.getInstance(
|
12
|
+
this.dedustSwapService = dedust_swap_service_1.DedustSwapService.getInstance();
|
13
13
|
}
|
14
14
|
async swap(options = {}) {
|
15
15
|
await this.checkWalletState(options?.testMode);
|
@@ -1 +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,oDAAqD;AAIrD,iFAAgG;AAChG,0GAAoG;AAEpG,wEAAmE;AAEnE,MAAa,kBAAmB,SAAQ,oCAA0B;IAK9D,YAAY,WAAqC,EAAE,eAAuB;QACtE,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QALjC,SAAI,GAAqB,yCAAmB,CAAC,MAAM,CAAC;
|
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,oDAAqD;AAIrD,iFAAgG;AAChG,0GAAoG;AAEpG,wEAAmE;AAEnE,MAAa,kBAAmB,SAAQ,oCAA0B;IAK9D,YAAY,WAAqC,EAAE,eAAuB;QACtE,KAAK,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QALjC,SAAI,GAAqB,yCAAmB,CAAC,MAAM,CAAC;QAE1C,sBAAiB,GAAG,uCAAiB,CAAC,WAAW,EAAE,CAAC;IAIrE,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkC,EAAE;QAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE/C,IAAI,MAAc,CAAC;QACnB,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE;YACvC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,GAAG,IAAI,CAAC;QAClB,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,CAAC;YACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACxC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,iBAAiB,EACtB,iBAAiB,CACpB,CAAC;YACF,OAAO,MAAO,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAES,qBAAqB,CAAC,QAAkC;QAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;CACJ;AA5CD,gDA4CC"}
|
@@ -1,12 +1,10 @@
|
|
1
1
|
import { PriceToken, PriceTokenAmount } from '../../../../../../../common/tokens';
|
2
|
-
import { TonWeb3Private } from '../../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private';
|
3
2
|
export declare class DedustSwapService {
|
4
3
|
private static instance;
|
5
|
-
private static web3Private;
|
6
4
|
private readonly factory;
|
7
5
|
private readonly tonClient;
|
8
6
|
private txSteps;
|
9
|
-
static getInstance(
|
7
|
+
static getInstance(): DedustSwapService;
|
10
8
|
private get mainnetFactoryAddress();
|
11
9
|
private constructor();
|
12
10
|
/**
|
@@ -9,15 +9,16 @@ const core_1 = require("@ton/core");
|
|
9
9
|
const ton_1 = require("@ton/ton");
|
10
10
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
11
11
|
const errors_1 = require("../../../../../../../common/errors");
|
12
|
+
const chain_type_1 = require("../../../../../../../core/blockchain/models/chain-type");
|
13
|
+
const injector_1 = require("../../../../../../../core/injector/injector");
|
12
14
|
const dedust_gas_1 = require("../constants/dedust-gas");
|
13
15
|
const dedust_api_service_1 = require("./dedust-api-service");
|
14
16
|
const dedust_sender_class_1 = require("./dedust-sender-class");
|
15
17
|
class DedustSwapService {
|
16
|
-
static getInstance(
|
18
|
+
static getInstance() {
|
17
19
|
if (!this.instance) {
|
18
20
|
this.instance = new DedustSwapService();
|
19
21
|
}
|
20
|
-
this.web3Private = web3Private;
|
21
22
|
return this.instance;
|
22
23
|
}
|
23
24
|
get mainnetFactoryAddress() {
|
@@ -70,7 +71,8 @@ class DedustSwapService {
|
|
70
71
|
return amountOut.toString();
|
71
72
|
}
|
72
73
|
async sendTransaction(from, to, walletAddress, slippage, onHash) {
|
73
|
-
const
|
74
|
+
const web3Private = injector_1.Injector.web3PrivateService.getWeb3Private(chain_type_1.CHAIN_TYPE.TON);
|
75
|
+
const sender = new dedust_sender_class_1.DedustTxSender(walletAddress, web3Private, onHash);
|
74
76
|
const minAmountOut = BigInt(to.weiAmount.multipliedBy(1 - slippage).toFixed(0));
|
75
77
|
try {
|
76
78
|
if (from.isNative) {
|
@@ -193,8 +195,9 @@ class DedustSwapService {
|
|
193
195
|
if (!txSteps.length)
|
194
196
|
return payloadParams;
|
195
197
|
const step = txSteps[0];
|
198
|
+
const isFirstStep = txSteps.length === this.txSteps.length;
|
196
199
|
const minAmountOut = BigInt(new bignumber_js_1.default(step.amountOut).multipliedBy(1 - slippage).toFixed(0));
|
197
|
-
if (
|
200
|
+
if (isFirstStep) {
|
198
201
|
payloadParams.poolAddress = step.poolAddress;
|
199
202
|
payloadParams.limit = minAmountOut;
|
200
203
|
}
|
@@ -203,7 +206,7 @@ class DedustSwapService {
|
|
203
206
|
next.limit = minAmountOut;
|
204
207
|
}
|
205
208
|
const slicedSteps = txSteps.slice(1);
|
206
|
-
if (slicedSteps.length) {
|
209
|
+
if (slicedSteps.length && !isFirstStep) {
|
207
210
|
next.next = {};
|
208
211
|
next = next.next;
|
209
212
|
}
|
@@ -1 +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":";;;;;;AAAA,qCAWqB;AACrB,oCAA+E;AAC/E,kCAAqC;AACrC,gEAAqC;AACrC,8CAAkD;
|
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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"}
|