rubic-sdk 5.50.5-alpha.solana.2 → 5.50.5-alpha.solana.21
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/common/tokens/price-token.js +4 -0
- package/lib/common/tokens/price-token.js.map +1 -1
- package/lib/common/tokens/token.d.ts +2 -0
- package/lib/common/tokens/token.js +5 -2
- package/lib/common/tokens/token.js.map +1 -1
- package/lib/core/blockchain/web3-public-service/web3-public/models/supported-token-field.d.ts +1 -1
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/models/solana-token.d.ts +6 -0
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-api-service.d.ts +0 -6
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-api-service.js +0 -31
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-api-service.js.map +1 -1
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-service.d.ts +16 -0
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-service.js +113 -0
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-service.js.map +1 -0
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.d.ts +1 -2
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.js +12 -64
- package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.js.map +1 -1
- package/lib/core/blockchain/web3-public-service/web3-public/web3-public.js +0 -10
- package/lib/core/blockchain/web3-public-service/web3-public/web3-public.js.map +1 -1
- package/lib/features/common/providers/dln/dln-api-service.d.ts +1 -1
- package/lib/features/common/providers/dln/dln-api-service.js +14 -10
- package/lib/features/common/providers/dln/dln-api-service.js.map +1 -1
- package/lib/features/common/providers/unizen/services/unizen-api-service.js +3 -3
- package/lib/features/common/providers/unizen/services/unizen-api-service.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/okuswap/constants/okuswap-api.d.ts +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/okuswap/constants/okuswap-api.js +2 -2
- package/lib/features/on-chain/calculation-manager/providers/aggregators/okuswap/constants/okuswap-api.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/aggregators/okuswap/services/okuswap-api-service.js +3 -3
- package/lib/features/on-chain/calculation-manager/providers/aggregators/okuswap/services/okuswap-api-service.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
@@ -22,6 +22,10 @@ class PriceToken extends token_1.Token {
|
|
22
22
|
.getTokenPrice(tokenBaseStruct)
|
23
23
|
.catch(_err => new bignumber_js_1.default(NaN));
|
24
24
|
const results = await Promise.all([tokenPromise, pricePromise]);
|
25
|
+
console.log('%ccreateToken ==> ', 'color: yellow; font-size: 20px;', {
|
26
|
+
tokenBaseStruct,
|
27
|
+
token: results[0]
|
28
|
+
});
|
25
29
|
return new PriceToken({ ...results[0], price: results[1] });
|
26
30
|
}
|
27
31
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"price-token.js","sourceRoot":"","sources":["../../../src/common/tokens/price-token.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,mDAA6D;AAE7D,yDAAsD;AAMtD;;GAEG;AACH,MAAa,UAAsD,SAAQ,aAAQ;IAC/E;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAC3B,eAAmC;QAEnC,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAQ,CAAC;QAElC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,YAAY;aAC5B,aAAa,CAAC,eAAe,CAAC;aAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"price-token.js","sourceRoot":"","sources":["../../../src/common/tokens/price-token.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,mDAA6D;AAE7D,yDAAsD;AAMtD;;GAEG;AACH,MAAa,UAAsD,SAAQ,aAAQ;IAC/E;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAC3B,eAAmC;QAEnC,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAQ,CAAC;QAElC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,YAAY;aAC5B,aAAa,CAAC,eAAe,CAAC;aAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,iCAAiC,EAAE;YACjE,eAAe;YACf,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;SACpB,CAAC,CAAC;QAEH,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAC/B,KAAqB;QAErB,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAQ,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAExF,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IAID,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACf,OAAO;YACH,GAAG,IAAI;YACP,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;IAED,YAAY,WAAgC;QACxC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,sBAAsB;QAC/B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC1B,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAQ,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,WAAuC;QAC/D,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAQ,CAAC;QAElC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhF,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IAEM,KAAK,CAAC,WAAuC;QAChD,OAAO,IAAI,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;CACJ;AArFD,gCAqFC"}
|
@@ -6,6 +6,7 @@ export type TokenStruct<T extends BlockchainName = BlockchainName> = {
|
|
6
6
|
name: string;
|
7
7
|
symbol: string;
|
8
8
|
decimals: number;
|
9
|
+
image?: string;
|
9
10
|
};
|
10
11
|
/**
|
11
12
|
* Contains main token's fields.
|
@@ -29,6 +30,7 @@ export declare class Token<T extends BlockchainName = BlockchainName> {
|
|
29
30
|
readonly name: string;
|
30
31
|
readonly symbol: string;
|
31
32
|
readonly decimals: number;
|
33
|
+
readonly image: string | undefined;
|
32
34
|
get isNative(): boolean;
|
33
35
|
get isWrapped(): boolean;
|
34
36
|
constructor(tokenStruct: TokenStruct<T>);
|
@@ -39,7 +39,8 @@ class Token {
|
|
39
39
|
...tokenBaseStruct,
|
40
40
|
name: tokenInfo.name,
|
41
41
|
symbol: tokenInfo.symbol,
|
42
|
-
decimals: parseInt(tokenInfo.decimals)
|
42
|
+
decimals: parseInt(tokenInfo.decimals),
|
43
|
+
...('image' in tokenInfo && { image: tokenInfo.image })
|
43
44
|
});
|
44
45
|
}
|
45
46
|
/**
|
@@ -66,7 +67,8 @@ class Token {
|
|
66
67
|
blockchain,
|
67
68
|
name: tokenInfo.name,
|
68
69
|
symbol: tokenInfo.symbol,
|
69
|
-
decimals: parseInt(tokenInfo.decimals)
|
70
|
+
decimals: parseInt(tokenInfo.decimals),
|
71
|
+
...('image' in tokenInfo && { image: tokenInfo.image })
|
70
72
|
});
|
71
73
|
});
|
72
74
|
}
|
@@ -96,6 +98,7 @@ class Token {
|
|
96
98
|
this.name = tokenStruct.name;
|
97
99
|
this.symbol = tokenStruct.symbol;
|
98
100
|
this.decimals = tokenStruct.decimals;
|
101
|
+
this.image = tokenStruct.image;
|
99
102
|
}
|
100
103
|
isEqualTo(token) {
|
101
104
|
return (token.blockchain === this.blockchain && (0, blockchain_1.compareAddresses)(token.address, this.address));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/common/tokens/token.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAClE,6EAA6E;AAE7E,4DAA+D;AAC/D,gFAA6F;AAE7F,kGAA8F;AAC9F,qGAAgG;AAChG,uEAAmE;AACnE,yDAAsD;AAEtD,qEAA+D;
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/common/tokens/token.ts"],"names":[],"mappings":"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"}
|
package/lib/core/blockchain/web3-public-service/web3-public/models/supported-token-field.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export type SupportedTokenField = 'decimals' | 'symbol' | 'name';
|
1
|
+
export type SupportedTokenField = 'decimals' | 'symbol' | 'name' | 'image';
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
1
2
|
export interface SolanaToken {
|
2
3
|
name: string;
|
3
4
|
symbol: string;
|
@@ -7,3 +8,8 @@ export interface SolanaToken {
|
|
7
8
|
decimals: number | null;
|
8
9
|
holders?: number | null;
|
9
10
|
}
|
11
|
+
export interface SolanaTokensFetchingResp {
|
12
|
+
tokensList: SolanaToken[];
|
13
|
+
notFetchedMints: PublicKey[];
|
14
|
+
hasNotFetchedTokens: boolean;
|
15
|
+
}
|
@@ -1,14 +1,8 @@
|
|
1
1
|
import { SolanaToken } from '../models/solana-token';
|
2
|
-
interface TokenList {
|
3
|
-
preparedTokens: SolanaToken[];
|
4
|
-
addresses: string[];
|
5
|
-
}
|
6
2
|
export declare class SolanaTokensApiService {
|
7
3
|
private static readonly apiEndpoint;
|
8
4
|
private static readonly xApiKey;
|
9
5
|
static getTokensList(tokenAddresses: string[]): Promise<{
|
10
6
|
content: SolanaToken[];
|
11
7
|
}>;
|
12
|
-
static prepareTokens(tokenAddresses: string[]): TokenList;
|
13
8
|
}
|
14
|
-
export {};
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.SolanaTokensApiService = void 0;
|
4
|
-
const blockchain_1 = require("../../../../../../common/utils/blockchain");
|
5
4
|
const injector_1 = require("../../../../../injector/injector");
|
6
5
|
class SolanaTokensApiService {
|
7
6
|
static getTokensList(tokenAddresses) {
|
@@ -11,36 +10,6 @@ class SolanaTokensApiService {
|
|
11
10
|
}
|
12
11
|
});
|
13
12
|
}
|
14
|
-
static prepareTokens(tokenAddresses) {
|
15
|
-
const preparedTokens = [
|
16
|
-
{
|
17
|
-
name: 'Happy Cat',
|
18
|
-
symbol: 'HAPPY',
|
19
|
-
logoURI: null,
|
20
|
-
address: 'HAPPYwgFcjEJDzRtfWE6tiHE9zGdzpNky2FvjPHsvvGZ',
|
21
|
-
decimals: 9
|
22
|
-
},
|
23
|
-
{
|
24
|
-
name: 'Just a chill guy',
|
25
|
-
symbol: 'CHILLGUY',
|
26
|
-
logoURI: 'https://ipfs.io/ipfs/Qmckb3nWWHyoJKtX3FeagfmDZXNVqiXM4nKkYsTnygm2Ah',
|
27
|
-
address: 'Df6yfrKC8kZE3KNkrHERKzAetSxbrWeniQfyJY4Jpump',
|
28
|
-
decimals: 6
|
29
|
-
}
|
30
|
-
];
|
31
|
-
return tokenAddresses.reduce((list, address) => {
|
32
|
-
const existedToken = preparedTokens.find(token => (0, blockchain_1.compareAddresses)(token.address, address));
|
33
|
-
return existedToken
|
34
|
-
? {
|
35
|
-
preparedTokens: [...list.preparedTokens, existedToken],
|
36
|
-
addresses: list.addresses
|
37
|
-
}
|
38
|
-
: {
|
39
|
-
preparedTokens: list.preparedTokens,
|
40
|
-
addresses: [...list.addresses, address]
|
41
|
-
};
|
42
|
-
}, { preparedTokens: [], addresses: [] });
|
43
|
-
}
|
44
13
|
}
|
45
14
|
exports.SolanaTokensApiService = SolanaTokensApiService;
|
46
15
|
SolanaTokensApiService.apiEndpoint = 'https://x-api.rubic.exchange/sol_token_list';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solana-tokens-api-service.js","sourceRoot":"","sources":["../../../../../../../src/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-api-service.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"solana-tokens-api-service.js","sourceRoot":"","sources":["../../../../../../../src/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-api-service.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAItD,MAAa,sBAAsB;IAKxB,MAAM,CAAC,aAAa,CAAC,cAAwB;QAChD,OAAO,mBAAQ,CAAC,UAAU,CAAC,IAAI,CAC3B,GAAG,IAAI,CAAC,WAAW,uBAAuB,EAC1C,EAAE,SAAS,EAAE,cAAc,EAAE,EAC7B;YACI,OAAO,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,OAAO;aACvB;SACJ,CACJ,CAAC;IACN,CAAC;;AAfL,wDAgBC;AAf2B,kCAAW,GAAG,6CAA6C,CAAC;AAE5D,8BAAO,GAAG,8CAA8C,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Connection, PublicKey } from '@solana/web3.js';
|
2
|
+
import { SolanaToken } from '../models/solana-token';
|
3
|
+
export declare class SolanaTokensService {
|
4
|
+
private static instance;
|
5
|
+
private connection;
|
6
|
+
private tokensOrder;
|
7
|
+
private initialMints;
|
8
|
+
static getInstance(connection: Connection): SolanaTokensService;
|
9
|
+
private constructor();
|
10
|
+
fetchTokensData(mints: PublicKey[]): Promise<SolanaToken[]>;
|
11
|
+
private fetchTokensFromBackend;
|
12
|
+
private fetchTokensFromMetaplex;
|
13
|
+
private fetchTokensFromSplApi;
|
14
|
+
private sortTokensByIdx;
|
15
|
+
private getNotFetchedTokensList;
|
16
|
+
}
|
@@ -0,0 +1,113 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.SolanaTokensService = void 0;
|
7
|
+
const spl_token_1 = require("@solana/spl-token");
|
8
|
+
const utl_sdk_1 = require("@solflare-wallet/utl-sdk");
|
9
|
+
const blockchain_1 = require("../../../../../../common/utils/blockchain");
|
10
|
+
const p_timeout_1 = __importDefault(require("../../../../../../common/utils/p-timeout"));
|
11
|
+
const solana_tokens_api_service_1 = require("./solana-tokens-api-service");
|
12
|
+
class SolanaTokensService {
|
13
|
+
static getInstance(connection) {
|
14
|
+
if (!this.instance) {
|
15
|
+
this.instance = new SolanaTokensService();
|
16
|
+
this.instance.connection = connection;
|
17
|
+
}
|
18
|
+
return this.instance;
|
19
|
+
}
|
20
|
+
constructor() {
|
21
|
+
// key - address of token, value - idx of token in initial tokensAddress
|
22
|
+
this.tokensOrder = {};
|
23
|
+
this.initialMints = [];
|
24
|
+
}
|
25
|
+
async fetchTokensData(mints) {
|
26
|
+
const tokensAddresses = mints.map(mint => mint.toString());
|
27
|
+
this.initialMints = mints;
|
28
|
+
this.tokensOrder = tokensAddresses.reduce((acc, address, idx) => ({ ...acc, [address.toLowerCase()]: idx }), {});
|
29
|
+
const fromBackend = await this.fetchTokensFromBackend(mints);
|
30
|
+
if (!fromBackend.hasNotFetchedTokens)
|
31
|
+
return this.sortTokensByIdx(fromBackend.tokensList);
|
32
|
+
const fromMetaplex = await this.fetchTokensFromMetaplex(fromBackend.notFetchedMints, fromBackend.tokensList);
|
33
|
+
const backendWithMetaplexTokens = this.sortTokensByIdx([
|
34
|
+
...fromBackend.tokensList,
|
35
|
+
...fromMetaplex.tokensList
|
36
|
+
]);
|
37
|
+
if (!fromMetaplex.hasNotFetchedTokens)
|
38
|
+
return backendWithMetaplexTokens;
|
39
|
+
const fromSplApi = await this.fetchTokensFromSplApi(fromMetaplex.notFetchedMints, backendWithMetaplexTokens);
|
40
|
+
return this.sortTokensByIdx([
|
41
|
+
...fromBackend.tokensList,
|
42
|
+
...fromMetaplex.tokensList,
|
43
|
+
...fromSplApi.tokensList
|
44
|
+
]);
|
45
|
+
}
|
46
|
+
async fetchTokensFromBackend(mints) {
|
47
|
+
try {
|
48
|
+
const tokensAddresses = mints.map(mint => mint.toString());
|
49
|
+
const { content: notSortedTokensList } = await (0, p_timeout_1.default)(solana_tokens_api_service_1.SolanaTokensApiService.getTokensList(tokensAddresses), 4000, new Error('Api Timeout!'));
|
50
|
+
const notFetchedMints = this.getNotFetchedTokensList(notSortedTokensList);
|
51
|
+
return {
|
52
|
+
tokensList: notSortedTokensList,
|
53
|
+
notFetchedMints,
|
54
|
+
hasNotFetchedTokens: notFetchedMints.length > 0
|
55
|
+
};
|
56
|
+
}
|
57
|
+
catch {
|
58
|
+
return {
|
59
|
+
tokensList: [],
|
60
|
+
notFetchedMints: [...mints],
|
61
|
+
hasNotFetchedTokens: true
|
62
|
+
};
|
63
|
+
}
|
64
|
+
}
|
65
|
+
async fetchTokensFromMetaplex(mints, prevTokensList) {
|
66
|
+
const config = new utl_sdk_1.UtlConfig({
|
67
|
+
connection: this.connection,
|
68
|
+
timeout: 5000
|
69
|
+
});
|
70
|
+
const tokenSDK = new utl_sdk_1.Client(config);
|
71
|
+
const metaplexTokens = await tokenSDK.getFromMetaplex(mints).catch(() => []);
|
72
|
+
const notSortedTokensList = [...prevTokensList, ...metaplexTokens];
|
73
|
+
const notFetchedMints = this.getNotFetchedTokensList(notSortedTokensList);
|
74
|
+
return {
|
75
|
+
tokensList: metaplexTokens,
|
76
|
+
notFetchedMints,
|
77
|
+
hasNotFetchedTokens: notFetchedMints.length > 0
|
78
|
+
};
|
79
|
+
}
|
80
|
+
async fetchTokensFromSplApi(mints, prevTokensList) {
|
81
|
+
const splApiResp = await Promise.all(mints.map(mint => (0, spl_token_1.getMint)(this.connection, mint, 'confirmed'))).catch(() => []);
|
82
|
+
const splApiTokens = splApiResp.filter(Boolean).map(token => ({
|
83
|
+
name: `Token ${token.address.toString().slice(0, 10)}`,
|
84
|
+
symbol: `Token ${token.address.toString().slice(0, 10)}`,
|
85
|
+
logoURI: null,
|
86
|
+
decimals: token.decimals,
|
87
|
+
address: token.address.toString(),
|
88
|
+
verified: token.isInitialized
|
89
|
+
}));
|
90
|
+
const notSortedTokensList = [...prevTokensList, ...splApiTokens];
|
91
|
+
const notFetchedMints = this.getNotFetchedTokensList(notSortedTokensList);
|
92
|
+
return {
|
93
|
+
tokensList: notSortedTokensList,
|
94
|
+
notFetchedMints,
|
95
|
+
hasNotFetchedTokens: notFetchedMints.length > 0
|
96
|
+
};
|
97
|
+
}
|
98
|
+
sortTokensByIdx(notSortedList) {
|
99
|
+
const sortedList = [];
|
100
|
+
for (const token of notSortedList) {
|
101
|
+
const originalIdx = this.tokensOrder[token.address.toLowerCase()];
|
102
|
+
sortedList[originalIdx] = token;
|
103
|
+
}
|
104
|
+
return sortedList;
|
105
|
+
}
|
106
|
+
getNotFetchedTokensList(tokensList) {
|
107
|
+
const notFetchedTokensList = this.initialMints.filter(mint => tokensList.every(token => !(0, blockchain_1.compareAddresses)(token.address, mint.toString())));
|
108
|
+
return notFetchedTokensList;
|
109
|
+
}
|
110
|
+
}
|
111
|
+
exports.SolanaTokensService = SolanaTokensService;
|
112
|
+
SolanaTokensService.instance = null;
|
113
|
+
//# sourceMappingURL=solana-tokens-service.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"solana-tokens-service.js","sourceRoot":"","sources":["../../../../../../../src/core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-service.ts"],"names":[],"mappings":"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"}
|
@@ -13,6 +13,7 @@ import { AbiItem } from 'web3-utils';
|
|
13
13
|
*/
|
14
14
|
export declare class SolanaWeb3Public extends Web3Public {
|
15
15
|
private readonly connection;
|
16
|
+
private tokensService;
|
16
17
|
constructor(connection: Connection);
|
17
18
|
getBlockNumber(): Promise<number>;
|
18
19
|
multicallContractsMethods<Output extends Web3PrimitiveType>(_contractAbi: AbiItem[], _contractsData: {
|
@@ -29,8 +30,6 @@ export declare class SolanaWeb3Public extends Web3Public {
|
|
29
30
|
gasPrice?: string;
|
30
31
|
gas?: string;
|
31
32
|
}): Promise<T>;
|
32
|
-
private fetchMints;
|
33
|
-
private hasNotFetchedTokens;
|
34
33
|
healthCheck(timeoutMs?: number): Promise<boolean>;
|
35
34
|
/**
|
36
35
|
* Gets balance of multiple tokens.
|
package/lib/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.js
CHANGED
@@ -1,10 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
-
};
|
8
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
9
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
10
4
|
};
|
@@ -12,18 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
6
|
exports.SolanaWeb3Public = void 0;
|
13
7
|
const spl_token_1 = require("@solana/spl-token");
|
14
8
|
const web3_js_1 = require("@solana/web3.js");
|
15
|
-
const utl_sdk_1 = require("@solflare-wallet/utl-sdk");
|
16
9
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
17
10
|
const rxjs_1 = require("rxjs");
|
18
11
|
const native_tokens_1 = require("../../../../../common/tokens/constants/native-tokens");
|
19
|
-
const blockchain_1 = require("../../../../../common/utils/blockchain");
|
20
|
-
const decorators_1 = require("../../../../../common/utils/decorators");
|
21
12
|
const native_solana_mint_address_1 = require("../../../constants/solana/native-solana-mint-address");
|
22
13
|
const blockchain_name_1 = require("../../../models/blockchain-name");
|
23
14
|
const tx_status_1 = require("../models/tx-status");
|
24
15
|
const web3_public_1 = require("../web3-public");
|
25
16
|
const solana_web3_pure_1 = require("../../../web3-pure/typed-web3-pure/solana-web3-pure/solana-web3-pure");
|
26
|
-
const
|
17
|
+
const solana_tokens_service_1 = require("./services/solana-tokens-service");
|
27
18
|
/**
|
28
19
|
* Class containing methods for calling contracts in order to obtain information from the blockchain.
|
29
20
|
* To send transaction or execute contract method use {@link Web3Private}.
|
@@ -32,6 +23,7 @@ class SolanaWeb3Public extends web3_public_1.Web3Public {
|
|
32
23
|
constructor(connection) {
|
33
24
|
super(blockchain_name_1.BLOCKCHAIN_NAME.SOLANA);
|
34
25
|
this.connection = connection;
|
26
|
+
this.tokensService = solana_tokens_service_1.SolanaTokensService.getInstance(connection);
|
35
27
|
}
|
36
28
|
getBlockNumber() {
|
37
29
|
return this.connection.getBlockHeight('finalized');
|
@@ -56,17 +48,18 @@ class SolanaWeb3Public extends web3_public_1.Web3Public {
|
|
56
48
|
return tx_status_1.TX_STATUS.PENDING;
|
57
49
|
}
|
58
50
|
}
|
59
|
-
async callForTokensInfo(tokenAddresses, tokenFields = ['decimals', 'symbol', 'name']) {
|
51
|
+
async callForTokensInfo(tokenAddresses, tokenFields = ['decimals', 'symbol', 'name', 'image']) {
|
60
52
|
const nativeTokenIndex = tokenAddresses.findIndex(address => this.Web3Pure.isNativeAddress(address));
|
61
53
|
const filteredTokenAddresses = tokenAddresses.filter((_, index) => index !== nativeTokenIndex);
|
62
|
-
const
|
63
|
-
const
|
64
|
-
const
|
65
|
-
|
66
|
-
|
67
|
-
|
54
|
+
const mints = filteredTokenAddresses.map(address => new web3_js_1.PublicKey(address));
|
55
|
+
const tokensMint = await this.tokensService.fetchTokensData(mints);
|
56
|
+
const tokens = tokensMint.map(token => {
|
57
|
+
const data = tokenFields.reduce((acc, fieldName) => ({
|
58
|
+
...acc,
|
59
|
+
[fieldName]: fieldName === 'image' ? token.logoURI : token[fieldName]
|
60
|
+
}), {});
|
61
|
+
return data;
|
68
62
|
});
|
69
|
-
const tokens = [...fetchedTokens, ...preparedTokens];
|
70
63
|
if (nativeTokenIndex === -1) {
|
71
64
|
return tokens;
|
72
65
|
}
|
@@ -94,48 +87,6 @@ class SolanaWeb3Public extends web3_public_1.Web3Public {
|
|
94
87
|
async callContractMethod(_contractAddress, _contractAbi, _methodName, _methodArguments = [], _options = {}) {
|
95
88
|
throw new Error('Method call is not supported');
|
96
89
|
}
|
97
|
-
async fetchMints(mints) {
|
98
|
-
const tokensAddresses = mints.map(mint => mint.toString());
|
99
|
-
let tokensList = [];
|
100
|
-
let notFetchedList = [];
|
101
|
-
const m = await (0, spl_token_1.getMint)(this.connection, mints[0], 'confirmed').catch(err => `err_${err}`);
|
102
|
-
console.log(`%cMINT`, 'color: aqua; font-sie: 20px;', m);
|
103
|
-
try {
|
104
|
-
const { content } = await solana_tokens_api_service_1.SolanaTokensApiService.getTokensList(tokensAddresses);
|
105
|
-
tokensList = content;
|
106
|
-
notFetchedList = mints.filter(mint => tokensList.some(token => !(0, blockchain_1.compareAddresses)(token.address, mint.toString())));
|
107
|
-
}
|
108
|
-
catch { }
|
109
|
-
if (!this.hasNotFetchedTokens(notFetchedList))
|
110
|
-
return tokensList;
|
111
|
-
const config = new utl_sdk_1.UtlConfig({
|
112
|
-
connection: this.connection,
|
113
|
-
timeout: 5000
|
114
|
-
});
|
115
|
-
const tokenSDK = new utl_sdk_1.Client(config);
|
116
|
-
const metaplexTokens = await tokenSDK.getFromMetaplex(notFetchedList);
|
117
|
-
notFetchedList = mints.filter(mint => [...tokensList, ...metaplexTokens].some(token => !(0, blockchain_1.compareAddresses)(token.address, mint.toString())));
|
118
|
-
if (!this.hasNotFetchedTokens(notFetchedList))
|
119
|
-
return [...tokensList, ...metaplexTokens];
|
120
|
-
// const splApiResp = await Promise.all(
|
121
|
-
// notFetchedList.map(mint => getTokenMetadata(this.connection, mint, 'confirmed'))
|
122
|
-
// );
|
123
|
-
// const splApiTokens = splApiResp.filter(Boolean).map(
|
124
|
-
// token =>
|
125
|
-
// ({
|
126
|
-
// name: token!.name,
|
127
|
-
// symbol: token!.symbol,
|
128
|
-
// logoURI: token!.uri,
|
129
|
-
// decimals: Number(token?.additionalMetadata?.[0]?.[0] || 9),
|
130
|
-
// address: token!.mint.toString(),
|
131
|
-
// verified: true
|
132
|
-
// } as SolanaToken)
|
133
|
-
// );
|
134
|
-
return [...tokensList, ...metaplexTokens];
|
135
|
-
}
|
136
|
-
hasNotFetchedTokens(notFetchedList) {
|
137
|
-
return notFetchedList.length > 0;
|
138
|
-
}
|
139
90
|
healthCheck(timeoutMs = 4000) {
|
140
91
|
const request = this.connection.getBalanceAndContext(new web3_js_1.PublicKey('DVLwQbEaw5txuduQwvfbNP3sXvjawHqaoMuGMKZx15bQ'), 'confirmed');
|
141
92
|
return (0, rxjs_1.firstValueFrom)((0, rxjs_1.from)(request).pipe((0, rxjs_1.timeout)(timeoutMs), (0, rxjs_1.map)(result => Boolean(result)), (0, rxjs_1.catchError)((err) => {
|
@@ -156,7 +107,7 @@ class SolanaWeb3Public extends web3_public_1.Web3Public {
|
|
156
107
|
async getTokensBalances(address, tokensAddresses) {
|
157
108
|
const resp = await this.connection._rpcRequest('getTokenAccountsByOwner', [
|
158
109
|
address,
|
159
|
-
{ programId:
|
110
|
+
{ programId: spl_token_1.TOKEN_PROGRAM_ID },
|
160
111
|
{ encoding: 'jsonParsed' }
|
161
112
|
]);
|
162
113
|
const tokenInfo = new Map(resp.result.value.map(el => {
|
@@ -190,7 +141,4 @@ class SolanaWeb3Public extends web3_public_1.Web3Public {
|
|
190
141
|
}
|
191
142
|
}
|
192
143
|
exports.SolanaWeb3Public = SolanaWeb3Public;
|
193
|
-
__decorate([
|
194
|
-
decorators_1.Cache
|
195
|
-
], SolanaWeb3Public.prototype, "callForTokensInfo", null);
|
196
144
|
//# sourceMappingURL=solana-web3-public.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solana-web3-public.js","sourceRoot":"","sources":["../../../../../../src/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"solana-web3-public.js","sourceRoot":"","sources":["../../../../../../src/core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public.ts"],"names":[],"mappings":"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"}
|
@@ -1,14 +1,7 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7
|
-
};
|
8
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
9
3
|
exports.Web3Public = void 0;
|
10
4
|
const errors_1 = require("../../../../common/errors");
|
11
|
-
const decorators_1 = require("../../../../common/utils/decorators");
|
12
5
|
const blockchains_info_1 = require("../../utils/blockchains-info/blockchains-info");
|
13
6
|
const multicall_addresses_1 = require("./constants/multicall-addresses");
|
14
7
|
const web3_pure_1 = require("../../web3-pure/web3-pure");
|
@@ -76,7 +69,4 @@ class Web3Public {
|
|
76
69
|
}
|
77
70
|
}
|
78
71
|
exports.Web3Public = Web3Public;
|
79
|
-
__decorate([
|
80
|
-
decorators_1.Cache
|
81
|
-
], Web3Public.prototype, "callForTokenInfo", null);
|
82
72
|
//# sourceMappingURL=web3-public.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"web3-public.js","sourceRoot":"","sources":["../../../../../src/core/blockchain/web3-public-service/web3-public/web3-public.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"web3-public.js","sourceRoot":"","sources":["../../../../../src/core/blockchain/web3-public-service/web3-public/web3-public.ts"],"names":[],"mappings":";;;AACA,8CAA0E;AAG1E,kGAA8F;AAE9F,2HAAwH;AAKxH,uEAAmE;AAGnE;;;GAGG;AACH,MAAsB,UAAU;IAK5B,YAAyC,cAA6C;QAA7C,mBAAc,GAAd,cAAc,CAA+B;QAJnE,qBAAgB,GAAG,yCAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5D,aAAQ,GAAG,oBAAQ,CAAC,kCAAe,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAED,CAAC;IAkC1F;;;;;OAKG;IACI,KAAK,CAAC,YAAY,CACrB,KAAY,EACZ,cAAyB,EACzB,WAAmB;QAEnB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,oBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,+BAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CACzB,YAAoB,EACpB,cAAqC,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC;QAEnE,OAAO,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;IAC3E,CAAC;IAyBD;;;;;;OAMG;IACI,KAAK,CAAC,uBAAuB,CAChC,eAAuB,EACvB,WAAsB,EACtB,UAAkB,EAClB,oBAAiC;QAEjC,OAAO,IAAI,CAAC,wBAAwB,CAChC,eAAe,EACf,WAAW,EACX,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YACzC,UAAU;YACV,eAAe;SAClB,CAAC,CAAC,CACN,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACjC,eAAuB,EACvB,WAAsB,EACtB,WAAyB;QAEzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAS,WAAW,EAAE;YACtE;gBACI,eAAe;gBACf,WAAW;aACd;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,sBAAa,CAAC,iDAAiD,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;CAyCJ;AAjLD,gCAiLC"}
|
@@ -6,7 +6,7 @@ import { DlnOnChainEstimateResponse } from '../../../on-chain/calculation-manage
|
|
6
6
|
import { DlnOnChainSwapRequest } from '../../../on-chain/calculation-manager/providers/aggregators/dln/models/dln-on-chain-swap-request';
|
7
7
|
import { DlnOnChainSwapResponse } from '../../../on-chain/calculation-manager/providers/aggregators/dln/models/dln-on-chain-swap-response';
|
8
8
|
export declare class DlnApiService {
|
9
|
-
static
|
9
|
+
private static xApiEndpoint;
|
10
10
|
static fetchCrossChainQuote<T>(requestParams: EstimationRequest): Promise<T>;
|
11
11
|
static fetchCrossChainSwapData<T>(requestParams: TransactionRequest): Promise<T>;
|
12
12
|
static fetchOnChainQuote(requestParams: DlnOnChainEstimateRequest): Promise<DlnOnChainEstimateResponse>;
|
@@ -2,37 +2,41 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.DlnApiService = void 0;
|
4
4
|
const injector_1 = require("../../../../core/injector/injector");
|
5
|
+
const okuswap_api_1 = require("../../../on-chain/calculation-manager/providers/aggregators/okuswap/constants/okuswap-api");
|
5
6
|
class DlnApiService {
|
6
7
|
static fetchCrossChainQuote(requestParams) {
|
7
|
-
return injector_1.Injector.httpClient.get(`${DlnApiService.
|
8
|
-
params: requestParams
|
8
|
+
return injector_1.Injector.httpClient.get(`${DlnApiService.xApiEndpoint}/dln/order/quote`, {
|
9
|
+
params: requestParams,
|
10
|
+
headers: { apiKey: okuswap_api_1.RUBIC_X_API_APIKEY }
|
9
11
|
});
|
10
12
|
}
|
11
13
|
static fetchCrossChainSwapData(requestParams) {
|
12
|
-
return injector_1.Injector.httpClient.get(`${DlnApiService.
|
14
|
+
return injector_1.Injector.httpClient.get(`${DlnApiService.xApiEndpoint}/dln/order/create-tx`, {
|
13
15
|
params: requestParams
|
14
16
|
});
|
15
17
|
}
|
16
18
|
static fetchOnChainQuote(requestParams) {
|
17
|
-
return injector_1.Injector.httpClient.get(`${DlnApiService.
|
18
|
-
params: requestParams
|
19
|
+
return injector_1.Injector.httpClient.get(`${DlnApiService.xApiEndpoint}/chain/estimation`, {
|
20
|
+
params: requestParams,
|
21
|
+
headers: { apiKey: okuswap_api_1.RUBIC_X_API_APIKEY }
|
19
22
|
});
|
20
23
|
}
|
21
24
|
static fetchOnChainSwapData(requestParams) {
|
22
|
-
return injector_1.Injector.httpClient.get(`${DlnApiService.
|
23
|
-
params: requestParams
|
25
|
+
return injector_1.Injector.httpClient.get(`${DlnApiService.xApiEndpoint}/chain/transaction`, {
|
26
|
+
params: requestParams,
|
27
|
+
headers: { apiKey: okuswap_api_1.RUBIC_X_API_APIKEY }
|
24
28
|
});
|
25
29
|
}
|
26
30
|
static fetchCrossChainEventMetaData(orderId) {
|
27
31
|
return injector_1.Injector.httpClient.get(`https://stats-api.dln.trade/api/Orders/${orderId}`);
|
28
32
|
}
|
29
33
|
static fetchCrossChainStatus(orderId) {
|
30
|
-
return injector_1.Injector.httpClient.get(`${DlnApiService.
|
34
|
+
return injector_1.Injector.httpClient.get(`${DlnApiService.xApiEndpoint}/dln/order/${orderId}/status`, { headers: { apiKey: okuswap_api_1.RUBIC_X_API_APIKEY } });
|
31
35
|
}
|
32
36
|
static fetchCrossChainOrdersByHash(sourceTransactionHash) {
|
33
|
-
return injector_1.Injector.httpClient.get(`${DlnApiService.
|
37
|
+
return injector_1.Injector.httpClient.get(`${DlnApiService.xApiEndpoint}/dln/tx/${sourceTransactionHash}/order-ids`, { headers: { apiKey: okuswap_api_1.RUBIC_X_API_APIKEY } });
|
34
38
|
}
|
35
39
|
}
|
36
40
|
exports.DlnApiService = DlnApiService;
|
37
|
-
DlnApiService.
|
41
|
+
DlnApiService.xApiEndpoint = 'https://x-api.rubic.exchange/dln/v1.0';
|
38
42
|
//# sourceMappingURL=dln-api-service.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dln-api-service.js","sourceRoot":"","sources":["../../../../../src/features/common/providers/dln/dln-api-service.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;
|
1
|
+
{"version":3,"file":"dln-api-service.js","sourceRoot":"","sources":["../../../../../src/features/common/providers/dln/dln-api-service.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAYtD,+HAAmI;AAEnI,MAAa,aAAa;IAGf,MAAM,CAAC,oBAAoB,CAAI,aAAgC;QAClE,OAAO,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,aAAa,CAAC,YAAY,kBAAkB,EAAE;YAC/E,MAAM,EAAE,aAA8B;YACtC,OAAO,EAAE,EAAE,MAAM,EAAE,gCAAkB,EAAE;SAC1C,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,uBAAuB,CAAI,aAAiC;QACtE,OAAO,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,aAAa,CAAC,YAAY,sBAAsB,EAAE;YACnF,MAAM,EAAE,aAA8B;SACzC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAC3B,aAAwC;QAExC,OAAO,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAC1B,GAAG,aAAa,CAAC,YAAY,mBAAmB,EAChD;YACI,MAAM,EAAE,aAA8B;YACtC,OAAO,EAAE,EAAE,MAAM,EAAE,gCAAkB,EAAE;SAC1C,CACJ,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAC9B,aAAoC;QAEpC,OAAO,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAC1B,GAAG,aAAa,CAAC,YAAY,oBAAoB,EACjD;YACI,MAAM,EAAE,aAA8B;YACtC,OAAO,EAAE,EAAE,MAAM,EAAE,gCAAkB,EAAE;SAC1C,CACJ,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,4BAA4B,CAAC,OAAe;QACtD,OAAO,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAC1B,0CAA0C,OAAO,EAAE,CACtD,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,OAAe;QAC/C,OAAO,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAC1B,GAAG,aAAa,CAAC,YAAY,cAAc,OAAO,SAAS,EAC3D,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,gCAAkB,EAAE,EAAE,CAC9C,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,2BAA2B,CACrC,qBAA6B;QAE7B,OAAO,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAC1B,GAAG,aAAa,CAAC,YAAY,WAAW,qBAAqB,YAAY,EACzE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,gCAAkB,EAAE,EAAE,CAC9C,CAAC;IACN,CAAC;;AA5DL,sCA6DC;AA5DkB,0BAAY,GAAG,uCAAuC,CAAC"}
|
@@ -8,18 +8,18 @@ class UniZenApiService {
|
|
8
8
|
static getQuoteInfo(params, chainId, tradeType) {
|
9
9
|
return injector_1.Injector.httpClient.get(`${UniZenApiService.apiEndpoint}/${chainId}/quote/${tradeType}`, {
|
10
10
|
params: { ...params },
|
11
|
-
headers: { apiKey: okuswap_api_1.
|
11
|
+
headers: { apiKey: okuswap_api_1.RUBIC_X_API_APIKEY }
|
12
12
|
});
|
13
13
|
}
|
14
14
|
static getSwapInfo(params, chainId, tradeType) {
|
15
15
|
return injector_1.Injector.httpClient.post(`${UniZenApiService.apiEndpoint}/${chainId}/swap/${tradeType}`, params, {
|
16
|
-
headers: { apiKey: okuswap_api_1.
|
16
|
+
headers: { apiKey: okuswap_api_1.RUBIC_X_API_APIKEY }
|
17
17
|
});
|
18
18
|
}
|
19
19
|
static async getTxStatus(srcTxHash) {
|
20
20
|
try {
|
21
21
|
const res = await injector_1.Injector.httpClient.get(`${UniZenApiService.apiEndpoint}/info/tx/${srcTxHash}`, {
|
22
|
-
headers: { apiKey: okuswap_api_1.
|
22
|
+
headers: { apiKey: okuswap_api_1.RUBIC_X_API_APIKEY }
|
23
23
|
});
|
24
24
|
const txStatus = res.status.toLowerCase();
|
25
25
|
if (txStatus === 'delivered') {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"unizen-api-service.js","sourceRoot":"","sources":["../../../../../../src/features/common/providers/unizen/services/unizen-api-service.ts"],"names":[],"mappings":";;;AAAA,oGAAiG;AACjG,yDAAsD;AAEtD,+
|
1
|
+
{"version":3,"file":"unizen-api-service.js","sourceRoot":"","sources":["../../../../../../src/features/common/providers/unizen/services/unizen-api-service.ts"],"names":[],"mappings":";;;AAAA,oGAAiG;AACjG,yDAAsD;AAEtD,+HAAmI;AAMnI,MAAa,gBAAgB;IAGlB,MAAM,CAAC,YAAY,CACtB,MAAyB,EACzB,OAAe,EACf,SAA6B;QAE7B,OAAO,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAC1B,GAAG,gBAAgB,CAAC,WAAW,IAAI,OAAO,UAAU,SAAS,EAAE,EAC/D;YACI,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE;YACrB,OAAO,EAAE,EAAE,MAAM,EAAE,gCAAkB,EAAE;SAC1C,CACJ,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,WAAW,CACrB,MAAwB,EACxB,OAAe,EACf,SAA6B;QAE7B,OAAO,mBAAQ,CAAC,UAAU,CAAC,IAAI,CAC3B,GAAG,gBAAgB,CAAC,WAAW,IAAI,OAAO,SAAS,SAAS,EAAE,EAC9D,MAAM,EACN;YACI,OAAO,EAAE,EAAE,MAAM,EAAE,gCAAkB,EAAE;SAC1C,CACJ,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAiB;QAC7C,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CACrC,GAAG,gBAAgB,CAAC,WAAW,YAAY,SAAS,EAAE,EACtD;gBACI,OAAO,EAAE,EAAE,MAAM,EAAE,gCAAkB,EAAE;aAC1C,CACJ,CAAC;YAEF,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAE1C,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC3B,OAAO;oBACH,IAAI,EAAE,GAAG,CAAC,SAAS;oBACnB,MAAM,EAAE,qBAAS,CAAC,OAAO;iBAC5B,CAAC;YACN,CAAC;YAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxB,OAAO;oBACH,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,qBAAS,CAAC,IAAI;iBACzB,CAAC;YACN,CAAC;YAED,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,qBAAS,CAAC,OAAO;aAC5B,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,qBAAS,CAAC,OAAO;aAC5B,CAAC;QACN,CAAC;IACL,CAAC;;AAlEL,4CAmEC;AAlEkB,4BAAW,GAAG,8CAA8C,CAAC"}
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export declare const RUBIC_X_API_OKU_BASE_URL = "https://x-api.rubic.exchange/oku/api/market";
|
2
|
-
export declare const
|
2
|
+
export declare const RUBIC_X_API_APIKEY = "sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4";
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
3
|
+
exports.RUBIC_X_API_APIKEY = exports.RUBIC_X_API_OKU_BASE_URL = void 0;
|
4
4
|
exports.RUBIC_X_API_OKU_BASE_URL = 'https://x-api.rubic.exchange/oku/api/market';
|
5
|
-
exports.
|
5
|
+
exports.RUBIC_X_API_APIKEY = 'sndfje3u4b3fnNSDNFUSDNVSunw345842hrnfd3b4nt4';
|
6
6
|
//# sourceMappingURL=okuswap-api.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"okuswap-api.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/okuswap/constants/okuswap-api.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,6CAA6C,CAAC;AACzE,QAAA,
|
1
|
+
{"version":3,"file":"okuswap-api.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/okuswap/constants/okuswap-api.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,6CAA6C,CAAC;AACzE,QAAA,kBAAkB,GAAG,8CAA8C,CAAC"}
|
@@ -17,7 +17,7 @@ class OkuSwapApiService {
|
|
17
17
|
try {
|
18
18
|
return injector_1.Injector.httpClient.post(`${okuswap_api_1.RUBIC_X_API_OKU_BASE_URL}/${subProvider}/swap_quote`, body, {
|
19
19
|
headers: {
|
20
|
-
apikey: okuswap_api_1.
|
20
|
+
apikey: okuswap_api_1.RUBIC_X_API_APIKEY
|
21
21
|
}
|
22
22
|
});
|
23
23
|
}
|
@@ -29,7 +29,7 @@ class OkuSwapApiService {
|
|
29
29
|
try {
|
30
30
|
const { trade } = await injector_1.Injector.httpClient.post(`${okuswap_api_1.RUBIC_X_API_OKU_BASE_URL}/${subProvider}/execution_information`, body, {
|
31
31
|
headers: {
|
32
|
-
apikey: okuswap_api_1.
|
32
|
+
apikey: okuswap_api_1.RUBIC_X_API_APIKEY
|
33
33
|
}
|
34
34
|
});
|
35
35
|
return {
|
@@ -46,7 +46,7 @@ class OkuSwapApiService {
|
|
46
46
|
try {
|
47
47
|
const { status: subProviders } = await injector_1.Injector.httpClient.get(`${okuswap_api_1.RUBIC_X_API_OKU_BASE_URL}/overview`, {
|
48
48
|
headers: {
|
49
|
-
apikey: okuswap_api_1.
|
49
|
+
apikey: okuswap_api_1.RUBIC_X_API_APIKEY
|
50
50
|
}
|
51
51
|
});
|
52
52
|
return subProviders
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"okuswap-api-service.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/okuswap/services/okuswap-api-service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAkD;AAClD,4DAAoD;AAGpD,yDAAsD;AAEtD,
|
1
|
+
{"version":3,"file":"okuswap-api-service.js","sourceRoot":"","sources":["../../../../../../../../src/features/on-chain/calculation-manager/providers/aggregators/okuswap/services/okuswap-api-service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,8CAAkD;AAClD,4DAAoD;AAGpD,yDAAsD;AAEtD,0DAAwF;AASxF,uEAAoE;AAGpE,MAAa,iBAAiB;IAIN,AAAb,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAChC,WAAmB,EACnB,IAAyB;QAEzB,IAAI,CAAC;YACD,OAAO,mBAAQ,CAAC,UAAU,CAAC,IAAI,CAC3B,GAAG,sCAAwB,IAAI,WAAW,aAAa,EACvD,IAAI,EACJ;gBACI,OAAO,EAAE;oBACL,MAAM,EAAE,gCAAkB;iBAC7B;aACJ,CACJ,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,sBAAa,CAAC,kDAAkD,GAAG,GAAG,CAAC,CAAC;QACtF,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,eAAe,CAC/B,WAAmB,EACnB,IAAwB;QAExB,IAAI,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,IAAI,CAC5C,GAAG,sCAAwB,IAAI,WAAW,wBAAwB,EAClE,IAAI,EACJ;gBACI,OAAO,EAAE;oBACL,MAAM,EAAE,gCAAkB;iBAC7B;aACJ,CACJ,CAAC;YAEF,OAAO;gBACH,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;aACrB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,sBAAa,CAAC,iDAAiD,GAAG,GAAG,CAAC,CAAC;QACrF,CAAC;IACL,CAAC;IAKmB,AAAb,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,UAA0B;QACrE,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,GAAG,CAC1D,GAAG,sCAAwB,WAAW,EACtC;gBACI,OAAO,EAAE;oBACL,MAAM,EAAE,gCAAkB;iBAC7B;aACJ,CACJ,CAAC;YACF,OAAO,YAAY;iBACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;iBACpD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,sBAAa,CACnB,4DAA4D,GAAG,GAAG,CACrE,CAAC;QACN,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAC9B,QAA4B,EAC5B,UAA0B;QAE1B,OAAO,CACH,QAAQ,CAAC,MAAM;YACf,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAC9B,yCAAmB,CAAC,UAAwC,CAAC,CAChE,CACJ,CAAC;IACN,CAAC;CACJ;AAlFD,8CAkFC;AA9EuB;IAHnB,IAAA,kBAAK,EAAC;QACH,MAAM,EAAE,KAAM;KACjB,CAAC;+CAkBD;AA8BmB;IAHnB,IAAA,kBAAK,EAAC;QACH,MAAM,EAAE,KAAM;KACjB,CAAC;yDAmBD"}
|
package/lib/index.d.ts
CHANGED
@@ -126,6 +126,7 @@ export * from './core/blockchain/web3-public-service/web3-public/models/supporte
|
|
126
126
|
export * from './core/blockchain/web3-public-service/web3-public/models/tx-status';
|
127
127
|
export * from './core/blockchain/web3-public-service/web3-public/solana-web3-public/models/solana-token';
|
128
128
|
export * from './core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-api-service';
|
129
|
+
export * from './core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-service';
|
129
130
|
export * from './core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public';
|
130
131
|
export * from './core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public';
|
131
132
|
export * from './core/blockchain/web3-public-service/web3-public/tron-web3-public/constants/trc-20-contract-abi';
|
package/lib/index.js
CHANGED
@@ -143,6 +143,7 @@ __exportStar(require("./core/blockchain/web3-public-service/web3-public/models/s
|
|
143
143
|
__exportStar(require("./core/blockchain/web3-public-service/web3-public/models/tx-status"), exports);
|
144
144
|
__exportStar(require("./core/blockchain/web3-public-service/web3-public/solana-web3-public/models/solana-token"), exports);
|
145
145
|
__exportStar(require("./core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-api-service"), exports);
|
146
|
+
__exportStar(require("./core/blockchain/web3-public-service/web3-public/solana-web3-public/services/solana-tokens-service"), exports);
|
146
147
|
__exportStar(require("./core/blockchain/web3-public-service/web3-public/solana-web3-public/solana-web3-public"), exports);
|
147
148
|
__exportStar(require("./core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public"), exports);
|
148
149
|
__exportStar(require("./core/blockchain/web3-public-service/web3-public/tron-web3-public/constants/trc-20-contract-abi"), exports);
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|