rubic-sdk 6.0.0-alpha.ton.92 → 6.0.0-alpha.ton.94
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 +16 -7
- 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,19 +9,20 @@ 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() {
|
24
|
-
return
|
25
|
+
return sdk_1.MAINNET_FACTORY_ADDR;
|
25
26
|
}
|
26
27
|
constructor() {
|
27
28
|
this.txSteps = [];
|
@@ -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) {
|
@@ -186,15 +188,22 @@ class DedustSwapService {
|
|
186
188
|
destination: jettonVault.address,
|
187
189
|
responseAddress: sender.address,
|
188
190
|
forwardAmount: (0, core_1.toNano)('0.25'),
|
189
|
-
forwardPayload: sdk_1.VaultJetton.createSwapPayload(
|
191
|
+
forwardPayload: sdk_1.VaultJetton.createSwapPayload({
|
192
|
+
...swapPayloadParams
|
193
|
+
// swapParams: {
|
194
|
+
// fulfillPayload: EMPTY_PAYLOAD,
|
195
|
+
// rejectPayload: EMPTY_PAYLOAD
|
196
|
+
// }
|
197
|
+
})
|
190
198
|
});
|
191
199
|
}
|
192
200
|
makeSwapPayloadParams(payloadParams, next, txSteps, slippage) {
|
193
201
|
if (!txSteps.length)
|
194
202
|
return payloadParams;
|
195
203
|
const step = txSteps[0];
|
204
|
+
const isFirstStep = txSteps.length === this.txSteps.length;
|
196
205
|
const minAmountOut = BigInt(new bignumber_js_1.default(step.amountOut).multipliedBy(1 - slippage).toFixed(0));
|
197
|
-
if (
|
206
|
+
if (isFirstStep) {
|
198
207
|
payloadParams.poolAddress = step.poolAddress;
|
199
208
|
payloadParams.limit = minAmountOut;
|
200
209
|
}
|
@@ -203,7 +212,7 @@ class DedustSwapService {
|
|
203
212
|
next.limit = minAmountOut;
|
204
213
|
}
|
205
214
|
const slicedSteps = txSteps.slice(1);
|
206
|
-
if (slicedSteps.length) {
|
215
|
+
if (slicedSteps.length && !isFirstStep) {
|
207
216
|
next.next = {};
|
208
217
|
next = next.next;
|
209
218
|
}
|
@@ -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,
|
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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"}
|