rubic-sdk 5.42.0-alpha.oneinch.1 → 5.42.0-alpha.oneinch.3
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/cross-chain/calculation-manager/providers/oneinch-provider/models/oneinch-api-types.d.ts +7 -5
- package/lib/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-api-service.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-api-service.js +7 -6
- package/lib/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-api-service.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-utils.js +6 -9
- package/lib/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-utils.js.map +1 -1
- package/package.json +1 -1
@@ -75,9 +75,11 @@ export interface OneinchStatusResponse {
|
|
75
75
|
orderHash: string;
|
76
76
|
status: 'pending' | 'executed' | 'expired' | 'cancelled' | 'refunding' | 'refunded';
|
77
77
|
}
|
78
|
-
export
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
78
|
+
export interface OneinchReadySecretsResponse {
|
79
|
+
fills: Array<{
|
80
|
+
idx: number;
|
81
|
+
srcEscrowDeployTxHash: string;
|
82
|
+
dstEscrowDeployTxHash: string;
|
83
|
+
}>;
|
84
|
+
}
|
83
85
|
export {};
|
@@ -3,6 +3,7 @@ import { CrossChainTradeData } from '../../../../status-manager/models/cross-cha
|
|
3
3
|
import { OneinchCcrQuoteResponse, OneinchQuoteParams, OneinchReadySecretsResponse, OneinchSwapOrderParams, OneinchSwapOrderResponse } from '../models/oneinch-api-types';
|
4
4
|
export declare class OneinchCcrApiService {
|
5
5
|
private static readonly apiUrl;
|
6
|
+
private static readonly xApiUrl;
|
6
7
|
private static readonly apiKey;
|
7
8
|
static fetchQuote({ srcToken, dstToken, walletAddress }: OneinchQuoteParams): Promise<OneinchCcrQuoteResponse>;
|
8
9
|
static buildSwapOrder({ dstToken, srcToken, walletAddress, quote, secretHashes }: OneinchSwapOrderParams): Promise<OneinchSwapOrderResponse>;
|
@@ -9,7 +9,7 @@ const oneinch_ccr_utils_1 = require("./oneinch-ccr-utils");
|
|
9
9
|
class OneinchCcrApiService {
|
10
10
|
static async fetchQuote({ srcToken, dstToken, walletAddress }) {
|
11
11
|
try {
|
12
|
-
const res = await injector_1.Injector.httpClient.get(`${this.
|
12
|
+
const res = await injector_1.Injector.httpClient.get(`${this.xApiUrl}/quoter/v1.0/quote/receive`, {
|
13
13
|
headers: { apikey: this.apiKey },
|
14
14
|
params: {
|
15
15
|
srcChain: blockchain_id_1.blockchainId[srcToken.blockchain],
|
@@ -42,7 +42,7 @@ fee=100&
|
|
42
42
|
feeReceiver=${walletAddress}&
|
43
43
|
source=rubic&
|
44
44
|
preset=${quote.recommendedPreset}`;
|
45
|
-
const res = await injector_1.Injector.httpClient.post(`${this.
|
45
|
+
const res = await injector_1.Injector.httpClient.post(`${this.xApiUrl}/quoter/v1.0/quote/build?${queryParams}`, { quote: quote, secretsHashList: secretHashes }, { headers: { apikey: this.apiKey } });
|
46
46
|
return res;
|
47
47
|
}
|
48
48
|
catch (err) {
|
@@ -52,7 +52,7 @@ preset=${quote.recommendedPreset}`;
|
|
52
52
|
static async submitSwapOrder(quoteResp, swapResp, walletAddress, secretHashes) {
|
53
53
|
try {
|
54
54
|
const signature = await oneinch_ccr_utils_1.OneinchCcrUtils.signTypedData(swapResp.typedData, walletAddress);
|
55
|
-
const res = await injector_1.Injector.httpClient.post(`${this.
|
55
|
+
const res = await injector_1.Injector.httpClient.post(`${this.xApiUrl}/relayer/v1.0/submit`, {
|
56
56
|
signature,
|
57
57
|
order: swapResp.typedData.message,
|
58
58
|
srcChainId: swapResp.typedData.domain.chainId,
|
@@ -68,7 +68,7 @@ preset=${quote.recommendedPreset}`;
|
|
68
68
|
}
|
69
69
|
static async fetchReadySecrets(orderHash) {
|
70
70
|
try {
|
71
|
-
const readySecrets = await injector_1.Injector.httpClient.get(`${this.
|
71
|
+
const readySecrets = await injector_1.Injector.httpClient.get(`${this.xApiUrl}/orders/v1.0/order/ready-to-accept-secret-fills/${orderHash}`, { headers: { apikey: this.apiKey } });
|
72
72
|
return readySecrets;
|
73
73
|
}
|
74
74
|
catch (err) {
|
@@ -77,7 +77,7 @@ preset=${quote.recommendedPreset}`;
|
|
77
77
|
}
|
78
78
|
static async submitSecretForSwapOrder(orderHash, secret) {
|
79
79
|
try {
|
80
|
-
await injector_1.Injector.httpClient.post(`${this.
|
80
|
+
await injector_1.Injector.httpClient.post(`${this.xApiUrl}/relayer/v1.0/submit/secret`, {
|
81
81
|
secret,
|
82
82
|
orderHash
|
83
83
|
}, { headers: { apikey: this.apiKey } });
|
@@ -88,7 +88,7 @@ preset=${quote.recommendedPreset}`;
|
|
88
88
|
}
|
89
89
|
static async fetchTxStatus(data) {
|
90
90
|
try {
|
91
|
-
const { status, orderHash } = await injector_1.Injector.httpClient.get(`${this.
|
91
|
+
const { status, orderHash } = await injector_1.Injector.httpClient.get(`${this.xApiUrl}/orders/v1.0/order/status/${data.srcTxHash}`);
|
92
92
|
if (status === 'cancelled' || status === 'expired') {
|
93
93
|
return {
|
94
94
|
hash: null,
|
@@ -110,5 +110,6 @@ preset=${quote.recommendedPreset}`;
|
|
110
110
|
}
|
111
111
|
exports.OneinchCcrApiService = OneinchCcrApiService;
|
112
112
|
OneinchCcrApiService.apiUrl = 'https://api.1inch.dev/fusion-plus';
|
113
|
+
OneinchCcrApiService.xApiUrl = 'https://x-api.rubic.exchange/api';
|
113
114
|
OneinchCcrApiService.apiKey = 'sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4';
|
114
115
|
//# sourceMappingURL=oneinch-ccr-api-service.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oneinch-ccr-api-service.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-api-service.ts"],"names":[],"mappings":";;;AAAA,sGAAkG;AAClG,oGAAiG;AACjG,yDAAsD;AACtD,2FAAwF;AAYxF,2DAAsD;AAEtD,MAAa,oBAAoB;
|
1
|
+
{"version":3,"file":"oneinch-ccr-api-service.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-api-service.ts"],"names":[],"mappings":"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"}
|
@@ -12,18 +12,15 @@ class OneinchCcrUtils {
|
|
12
12
|
const submittedSecrets = {};
|
13
13
|
const deadlineMS = Date.now() + 1000 * 900; // 15 minutes
|
14
14
|
(async () => {
|
15
|
-
|
15
|
+
while (true) {
|
16
16
|
await (0, waitFor_1.waitFor)(30000);
|
17
|
-
const isAllSecretsSubmitted = secrets.every((hash, ind) => submittedSecrets[ind]
|
17
|
+
const isAllSecretsSubmitted = secrets.every((hash, ind) => submittedSecrets[ind] === hash);
|
18
18
|
if (isAllSecretsSubmitted || Date.now() > deadlineMS)
|
19
|
-
break
|
19
|
+
break;
|
20
20
|
const readySecrets = await oneinch_ccr_api_service_1.OneinchCcrApiService.fetchReadySecrets(orderHash).catch(() => null);
|
21
|
-
if (!readySecrets)
|
22
|
-
continue
|
23
|
-
|
24
|
-
const isAlreadySubmitted = !!submittedSecrets[secret.idx];
|
25
|
-
if (isAlreadySubmitted)
|
26
|
-
continue Internal;
|
21
|
+
if (!readySecrets || !readySecrets.fills.length)
|
22
|
+
continue;
|
23
|
+
for (const secret of readySecrets.fills) {
|
27
24
|
submittedSecrets[secret.idx] = secrets[secret.idx];
|
28
25
|
}
|
29
26
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oneinch-ccr-utils.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-utils.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,sDAAmD;AAEnD,uEAAiE;AAIjE,MAAa,eAAe;IACxB;;OAEG;IACI,MAAM,CAAC,yBAAyB,CAAC,SAAiB,EAAE,OAAiB;QACxE,MAAM,gBAAgB,GAAG,EAAqC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAK,GAAG,GAAG,CAAC,CAAC,aAAa;QAE1D,CAAC,KAAK,IAAI,EAAE;YACR,
|
1
|
+
{"version":3,"file":"oneinch-ccr-utils.js","sourceRoot":"","sources":["../../../../../../../src/features/cross-chain/calculation-manager/providers/oneinch-provider/services/oneinch-ccr-utils.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,sDAAmD;AAEnD,uEAAiE;AAIjE,MAAa,eAAe;IACxB;;OAEG;IACI,MAAM,CAAC,yBAAyB,CAAC,SAAiB,EAAE,OAAiB;QACxE,MAAM,gBAAgB,GAAG,EAAqC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAK,GAAG,GAAG,CAAC,CAAC,aAAa;QAE1D,CAAC,KAAK,IAAI,EAAE;YACR,OAAO,IAAI,EAAE,CAAC;gBACV,MAAM,IAAA,iBAAO,EAAC,KAAM,CAAC,CAAC;gBAEtB,MAAM,qBAAqB,GAAG,OAAO,CAAC,KAAK,CACvC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,IAAI,CAChD,CAAC;gBACF,IAAI,qBAAqB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU;oBAAE,MAAM;gBAE5D,MAAM,YAAY,GAAG,MAAM,8CAAoB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,KAAK,CAC9E,GAAG,EAAE,CAAC,IAAI,CACb,CAAC;gBACF,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM;oBAAE,SAAS;gBAE1D,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;oBACtC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAW,CAAC;gBACjE,CAAC;YACL,CAAC;YAED,MAAM,OAAO,CAAC,GAAG,CACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACjB,8CAAoB,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CACnE,CACJ,CAAC;QACN,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,aAAqB;QACtE,MAAM,SAAS,GAAG,MAAO,MAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;YACrD,MAAM,EAAE,sBAAsB;YAC9B,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;SACrC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QACjD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;aACpD,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;aACnC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEnD,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,MAAM,CAAC,iBAAiB;QAC5B,OAAO,CACH,IAAI;YACJ,CAAC,GAAG,eAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACvF,CAAC;IACN,CAAC;CACJ;AA7DD,0CA6DC"}
|