@cryptorubic/core 0.15.0-alpha-stellar.0 → 1.0.0-alpha-rub-1044.0

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/README.md CHANGED
@@ -1 +1 @@
1
- # core
1
+ # core
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptorubic/core",
3
- "version": "0.15.0-alpha-stellar.0",
3
+ "version": "1.0.0-alpha-rub-1044.0",
4
4
  "dependencies": {
5
5
  "bignumber.js": "9.1.2",
6
6
  "tslib": "*"
@@ -148,7 +148,6 @@ declare const BLOCKCHAINS_MAPPING: {
148
148
  readonly SUI: "sui";
149
149
  readonly SONEIUM: "soneium";
150
150
  readonly BERACHAIN: "berachain";
151
- readonly WANCHAIN: "wanchain";
152
151
  readonly UNICHAIN: "unichain";
153
152
  readonly MORPH: "morph";
154
153
  readonly HEMI: "hemi";
@@ -151,7 +151,6 @@ const BLOCKCHAINS_MAPPING = {
151
151
  [blockchain_name_1.BLOCKCHAIN_NAME.SUI]: 'sui',
152
152
  [blockchain_name_1.BLOCKCHAIN_NAME.SONEIUM]: 'soneium',
153
153
  [blockchain_name_1.BLOCKCHAIN_NAME.BERACHAIN]: 'berachain',
154
- [blockchain_name_1.BLOCKCHAIN_NAME.WANCHAIN]: 'wanchain',
155
154
  [blockchain_name_1.BLOCKCHAIN_NAME.UNICHAIN]: 'unichain',
156
155
  [blockchain_name_1.BLOCKCHAIN_NAME.MORPH]: 'morph',
157
156
  [blockchain_name_1.BLOCKCHAIN_NAME.HEMI]: 'hemi',
@@ -69,7 +69,6 @@ exports.blockchainId = {
69
69
  [blockchain_name_1.BLOCKCHAIN_NAME.FRAXTAL]: 252,
70
70
  [blockchain_name_1.BLOCKCHAIN_NAME.BERACHAIN]: 80094,
71
71
  [blockchain_name_1.BLOCKCHAIN_NAME.SONEIUM]: 1868,
72
- [blockchain_name_1.BLOCKCHAIN_NAME.WANCHAIN]: 888,
73
72
  [blockchain_name_1.BLOCKCHAIN_NAME.UNICHAIN]: 130,
74
73
  [blockchain_name_1.BLOCKCHAIN_NAME.MORPH]: 2818,
75
74
  [blockchain_name_1.BLOCKCHAIN_NAME.HEMI]: 43111,
@@ -91,6 +90,5 @@ exports.blockchainId = {
91
90
  [blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN]: 5555,
92
91
  [blockchain_name_1.BLOCKCHAIN_NAME.FILECOIN]: 314,
93
92
  [blockchain_name_1.BLOCKCHAIN_NAME.SOLANA]: 7565164,
94
- [blockchain_name_1.BLOCKCHAIN_NAME.SUI]: 9999101,
95
- [blockchain_name_1.BLOCKCHAIN_NAME.STELLAR]: 1500
93
+ [blockchain_name_1.BLOCKCHAIN_NAME.SUI]: 9999101
96
94
  };
@@ -40,7 +40,6 @@ export declare const EVM_BLOCKCHAIN_NAME: {
40
40
  readonly DFK: "DEFIKINGDOMS";
41
41
  readonly KLAYTN: "KLAYTN";
42
42
  readonly VELAS: "VELAS";
43
- readonly STARKNET: "STARKNET";
44
43
  readonly SYSCOIN: "SYSCOIN";
45
44
  readonly ETHEREUM_CLASSIC: "ETHEREUM_CLASSIC";
46
45
  readonly FLARE: "FLARE";
@@ -71,7 +70,6 @@ export declare const EVM_BLOCKCHAIN_NAME: {
71
70
  readonly FRAXTAL: "FRAXTAL";
72
71
  readonly BERACHAIN: "BERACHAIN";
73
72
  readonly SONEIUM: "SONEIUM";
74
- readonly WANCHAIN: "WANCHAIN";
75
73
  readonly UNICHAIN: "UNICHAIN";
76
74
  readonly MORPH: "MORPH";
77
75
  readonly HEMI: "HEMI";
@@ -163,6 +161,7 @@ export declare const NON_NATIVE_BLOCKCHAIN_NAME: {
163
161
  readonly EOS: "EOS";
164
162
  readonly ONTOLOGY: "ONTOLOGY";
165
163
  readonly XDC: "XDC";
164
+ readonly STARKNET: "STARKNET";
166
165
  };
167
166
  export declare const BLOCKCHAIN_NAME: {
168
167
  readonly TON: "TON";
@@ -243,6 +242,7 @@ export declare const BLOCKCHAIN_NAME: {
243
242
  readonly EOS: "EOS";
244
243
  readonly ONTOLOGY: "ONTOLOGY";
245
244
  readonly XDC: "XDC";
245
+ readonly STARKNET: "STARKNET";
246
246
  readonly ETHEREUM: "ETH";
247
247
  readonly BINANCE_SMART_CHAIN: "BSC";
248
248
  readonly POLYGON: "POLYGON";
@@ -271,7 +271,6 @@ export declare const BLOCKCHAIN_NAME: {
271
271
  readonly DFK: "DEFIKINGDOMS";
272
272
  readonly KLAYTN: "KLAYTN";
273
273
  readonly VELAS: "VELAS";
274
- readonly STARKNET: "STARKNET";
275
274
  readonly SYSCOIN: "SYSCOIN";
276
275
  readonly ETHEREUM_CLASSIC: "ETHEREUM_CLASSIC";
277
276
  readonly FLARE: "FLARE";
@@ -302,7 +301,6 @@ export declare const BLOCKCHAIN_NAME: {
302
301
  readonly FRAXTAL: "FRAXTAL";
303
302
  readonly BERACHAIN: "BERACHAIN";
304
303
  readonly SONEIUM: "SONEIUM";
305
- readonly WANCHAIN: "WANCHAIN";
306
304
  readonly UNICHAIN: "UNICHAIN";
307
305
  readonly MORPH: "MORPH";
308
306
  readonly HEMI: "HEMI";
@@ -44,7 +44,6 @@ exports.EVM_BLOCKCHAIN_NAME = {
44
44
  DFK: 'DEFIKINGDOMS',
45
45
  KLAYTN: 'KLAYTN',
46
46
  VELAS: 'VELAS',
47
- STARKNET: 'STARKNET',
48
47
  SYSCOIN: 'SYSCOIN',
49
48
  ETHEREUM_CLASSIC: 'ETHEREUM_CLASSIC',
50
49
  FLARE: 'FLARE',
@@ -75,7 +74,6 @@ exports.EVM_BLOCKCHAIN_NAME = {
75
74
  FRAXTAL: 'FRAXTAL',
76
75
  BERACHAIN: 'BERACHAIN',
77
76
  SONEIUM: 'SONEIUM',
78
- WANCHAIN: 'WANCHAIN',
79
77
  UNICHAIN: 'UNICHAIN',
80
78
  MORPH: 'MORPH',
81
79
  HEMI: 'HEMI',
@@ -155,7 +153,8 @@ exports.NON_NATIVE_BLOCKCHAIN_NAME = {
155
153
  FILECOIN: 'FILECOIN',
156
154
  EOS: 'EOS',
157
155
  ONTOLOGY: 'ONTOLOGY',
158
- XDC: 'XDC'
156
+ XDC: 'XDC',
157
+ STARKNET: 'STARKNET'
159
158
  };
160
159
  exports.BLOCKCHAIN_NAME = {
161
160
  ...exports.EVM_BLOCKCHAIN_NAME,
@@ -13,6 +13,7 @@ exports.chainTypeStorage = {
13
13
  [blockchain_name_1.BLOCKCHAIN_NAME.TON]: chain_type_1.CHAIN_TYPE.TON,
14
14
  [blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN]: chain_type_1.CHAIN_TYPE.BITCOIN,
15
15
  [blockchain_name_1.BLOCKCHAIN_NAME.SUI]: chain_type_1.CHAIN_TYPE.SUI,
16
+ [blockchain_name_1.BLOCKCHAIN_NAME.STARKNET]: chain_type_1.CHAIN_TYPE.STARKNET,
16
17
  [blockchain_name_1.BLOCKCHAIN_NAME.ICP]: chain_type_1.CHAIN_TYPE.ICP,
17
18
  [blockchain_name_1.BLOCKCHAIN_NAME.NEAR]: chain_type_1.CHAIN_TYPE.NEAR,
18
19
  [blockchain_name_1.BLOCKCHAIN_NAME.CARDANO]: chain_type_1.CHAIN_TYPE.CARDANO,
@@ -78,5 +78,6 @@ export declare const CHAIN_TYPE: {
78
78
  readonly FILECOIN: "FILECOIN";
79
79
  readonly BITCOIN_CASH: "BITCOIN_CASH";
80
80
  readonly SUI: "SUI";
81
+ readonly STARKNET: "STARKNET";
81
82
  };
82
83
  export type ChainType = (typeof CHAIN_TYPE)[keyof typeof CHAIN_TYPE];
@@ -80,5 +80,6 @@ exports.CHAIN_TYPE = {
80
80
  EOS: 'EOS',
81
81
  FILECOIN: 'FILECOIN',
82
82
  BITCOIN_CASH: 'BITCOIN_CASH',
83
- SUI: 'SUI'
83
+ SUI: 'SUI',
84
+ STARKNET: 'STARKNET'
84
85
  };
@@ -58,7 +58,6 @@ exports.wrappedAddress = {
58
58
  [blockchain_name_1.BLOCKCHAIN_NAME.FRAXTAL]: '0xFc00000000000000000000000000000000000002',
59
59
  [blockchain_name_1.BLOCKCHAIN_NAME.BERACHAIN]: '0x6969696969696969696969696969696969696969',
60
60
  [blockchain_name_1.BLOCKCHAIN_NAME.SONEIUM]: '0x4200000000000000000000000000000000000006',
61
- [blockchain_name_1.BLOCKCHAIN_NAME.WANCHAIN]: '0xdabD997aE5E4799BE47d6E69D9431615CBa28f48',
62
61
  [blockchain_name_1.BLOCKCHAIN_NAME.UNICHAIN]: '0x4200000000000000000000000000000000000006',
63
62
  [blockchain_name_1.BLOCKCHAIN_NAME.MORPH]: '0x5300000000000000000000000000000000000011',
64
63
  [blockchain_name_1.BLOCKCHAIN_NAME.HEMI]: '0x4200000000000000000000000000000000000006',
@@ -657,7 +657,7 @@ exports.nativeTokensList = {
657
657
  address: '0x0000000000000000000000000000000000000000',
658
658
  name: 'Stellar',
659
659
  symbol: 'XLM',
660
- decimals: 7
660
+ decimals: 18
661
661
  }),
662
662
  [blockchain_name_1.BLOCKCHAIN_NAME.MONERO]: new token_1.Token({
663
663
  blockchain: blockchain_name_1.BLOCKCHAIN_NAME.MONERO,
@@ -743,13 +743,6 @@ exports.nativeTokensList = {
743
743
  symbol: 'ETH',
744
744
  decimals: 18
745
745
  }),
746
- [blockchain_name_1.BLOCKCHAIN_NAME.WANCHAIN]: new token_1.Token({
747
- blockchain: blockchain_name_1.BLOCKCHAIN_NAME.WANCHAIN,
748
- address: '0x0000000000000000000000000000000000000000',
749
- name: 'Wancoin',
750
- symbol: 'WAN',
751
- decimals: 18
752
- }),
753
746
  [blockchain_name_1.BLOCKCHAIN_NAME.UNICHAIN]: new token_1.Token({
754
747
  blockchain: blockchain_name_1.BLOCKCHAIN_NAME.UNICHAIN,
755
748
  address: '0x0000000000000000000000000000000000000000',
@@ -494,13 +494,6 @@ exports.wrappedNativeTokensList = {
494
494
  symbol: 'WETH',
495
495
  decimals: 18
496
496
  }),
497
- [blockchain_name_1.BLOCKCHAIN_NAME.WANCHAIN]: new token_1.Token({
498
- blockchain: blockchain_name_1.BLOCKCHAIN_NAME.WANCHAIN,
499
- address: '0xdabD997aE5E4799BE47d6E69D9431615CBa28f48',
500
- name: 'Wrapped Wancoin',
501
- symbol: 'WWAN',
502
- decimals: 18
503
- }),
504
497
  [blockchain_name_1.BLOCKCHAIN_NAME.UNICHAIN]: new token_1.Token({
505
498
  blockchain: blockchain_name_1.BLOCKCHAIN_NAME.UNICHAIN,
506
499
  address: '0x4200000000000000000000000000000000000006',
@@ -16,4 +16,5 @@ export declare class PriceTokenAmount<Blockchain extends BlockchainName = Blockc
16
16
  private getWeiAmount;
17
17
  get asStructWithAmount(): TokenAmountStruct<Blockchain>;
18
18
  calculatePriceImpactPercent(toToken: PriceTokenAmount): number | null;
19
+ clone(tokenStruct?: Partial<PriceTokenAmountStruct>): PriceTokenAmount;
19
20
  }
@@ -89,5 +89,8 @@ class PriceTokenAmount extends price_token_1.PriceToken {
89
89
  .toNumber();
90
90
  return impact;
91
91
  }
92
+ clone(tokenStruct) {
93
+ return new PriceTokenAmount({ ...this, ...tokenStruct });
94
+ }
92
95
  }
93
96
  exports.PriceTokenAmount = PriceTokenAmount;
@@ -8,4 +8,19 @@ export declare class PriceToken<Blockchain extends BlockchainName = BlockchainNa
8
8
  set price(price: BigNumber);
9
9
  get asStructWithPrice(): PriceTokenStruct<Blockchain>;
10
10
  constructor(tokenStruct: PriceTokenStruct<Blockchain>);
11
+ clone(tokenStruct?: Partial<PriceTokenStruct>): PriceToken;
12
+ /**
13
+ * Fetches current token price and saves it into token.
14
+ * @param coingeckoApi {path to type @type rubic-app/src/app/core/services/sdk/sdk-legacy/coingecko/coingecko.service.ts}
15
+ * coingeckoApi should implement
16
+ * @interface {
17
+ * getTokenPrice({address: string; blockchain: BlockchainName}): Promise<BigNumber>
18
+ * }
19
+ * returns BigNumber usd price of token in human-readable format ex. 1.09
20
+ */
21
+ getAndUpdateTokenPrice(coingeckoApi: any): Promise<BigNumber>;
22
+ /**
23
+ * @param coingeckoApi {path to type @type rubic-app/src/app/core/services/sdk/sdk-legacy/coingecko/coingecko.service.ts}
24
+ */
25
+ private updateTokenPrice;
11
26
  }
@@ -23,5 +23,27 @@ class PriceToken extends token_1.Token {
23
23
  super(tokenStruct);
24
24
  this._price = tokenStruct.price;
25
25
  }
26
+ clone(tokenStruct) {
27
+ return new PriceToken({ ...this, ...tokenStruct });
28
+ }
29
+ /**
30
+ * Fetches current token price and saves it into token.
31
+ * @param coingeckoApi {path to type @type rubic-app/src/app/core/services/sdk/sdk-legacy/coingecko/coingecko.service.ts}
32
+ * coingeckoApi should implement
33
+ * @interface {
34
+ * getTokenPrice({address: string; blockchain: BlockchainName}): Promise<BigNumber>
35
+ * }
36
+ * returns BigNumber usd price of token in human-readable format ex. 1.09
37
+ */
38
+ async getAndUpdateTokenPrice(coingeckoApi) {
39
+ await this.updateTokenPrice(coingeckoApi);
40
+ return this.price;
41
+ }
42
+ /**
43
+ * @param coingeckoApi {path to type @type rubic-app/src/app/core/services/sdk/sdk-legacy/coingecko/coingecko.service.ts}
44
+ */
45
+ async updateTokenPrice(coingeckoApi) {
46
+ this._price = await coingeckoApi.getTokenPrice({ ...this }).catch(() => this._price);
47
+ }
26
48
  }
27
49
  exports.PriceToken = PriceToken;
@@ -13,4 +13,5 @@ export declare class TokenAmount<T extends BlockchainName = BlockchainName> exte
13
13
  weiAmountPlusSlippage(slippage: number): BigNumber;
14
14
  private getWeiAmount;
15
15
  get asStructWithAmount(): TokenAmountStruct<BlockchainName>;
16
+ clone(tokenStruct?: Partial<TokenAmountStruct>): TokenAmount;
16
17
  }
@@ -63,5 +63,8 @@ class TokenAmount extends token_1.Token {
63
63
  weiAmount: this.weiAmount
64
64
  };
65
65
  }
66
+ clone(tokenStruct) {
67
+ return new TokenAmount({ ...this, ...tokenStruct });
68
+ }
66
69
  }
67
70
  exports.TokenAmount = TokenAmount;
@@ -20,6 +20,7 @@ export declare class Token<Blockchain extends BlockchainName = BlockchainName> {
20
20
  constructor(tokenStruct: TokenStruct<Blockchain>);
21
21
  isEqualTo(token: TokenBaseStruct): boolean;
22
22
  isEqualToTokens(tokens: TokenBaseStruct[]): boolean;
23
+ clone(tokenStruct?: Partial<TokenStruct>): Token;
23
24
  static toWei(amount: BigNumber | string | number, decimals?: number, roundingMode?: BigNumber.RoundingMode): string;
24
25
  /**
25
26
  * Converts amount from Wei to Ether units.
@@ -47,6 +47,9 @@ class Token {
47
47
  isEqualToTokens(tokens) {
48
48
  return tokens.some((token) => this.isEqualTo(token));
49
49
  }
50
+ clone(tokenStruct) {
51
+ return new Token({ ...this, ...tokenStruct });
52
+ }
50
53
  static toWei(amount, decimals = 18, roundingMode) {
51
54
  return new bignumber_js_1.default(amount || 0).times(new bignumber_js_1.default(10).pow(decimals)).toFixed(0, roundingMode);
52
55
  }