@pancakeswap/sdk 3.0.0 → 3.1.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/dist/index.d.ts +13 -4
- package/dist/index.js +21 -2
- package/dist/index.mjs +21 -2
- package/package.json +7 -3
package/dist/index.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ declare abstract class BaseCurrency {
|
|
|
34
34
|
/**
|
|
35
35
|
* The symbol of the currency, i.e. a short textual non-unique identifier
|
|
36
36
|
*/
|
|
37
|
-
readonly symbol
|
|
37
|
+
readonly symbol: string;
|
|
38
38
|
/**
|
|
39
39
|
* The name of the currency, i.e. a descriptive textual non-unique identifier
|
|
40
40
|
*/
|
|
@@ -46,7 +46,7 @@ declare abstract class BaseCurrency {
|
|
|
46
46
|
* @param symbol symbol of the currency
|
|
47
47
|
* @param name of the currency
|
|
48
48
|
*/
|
|
49
|
-
protected constructor(chainId: number, decimals: number, symbol
|
|
49
|
+
protected constructor(chainId: number, decimals: number, symbol: string, name?: string);
|
|
50
50
|
/**
|
|
51
51
|
* Returns whether this currency is functionally equivalent to the other currency
|
|
52
52
|
* @param other the other currency
|
|
@@ -59,6 +59,14 @@ declare abstract class BaseCurrency {
|
|
|
59
59
|
abstract get wrapped(): Token;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
interface SerializedToken {
|
|
63
|
+
chainId: number;
|
|
64
|
+
address: string;
|
|
65
|
+
decimals: number;
|
|
66
|
+
symbol: string;
|
|
67
|
+
name?: string;
|
|
68
|
+
projectLink?: string;
|
|
69
|
+
}
|
|
62
70
|
/**
|
|
63
71
|
* Represents an ERC20 token with a unique address and some metadata.
|
|
64
72
|
*/
|
|
@@ -70,7 +78,7 @@ declare class Token extends BaseCurrency {
|
|
|
70
78
|
*/
|
|
71
79
|
readonly address: string;
|
|
72
80
|
readonly projectLink?: string;
|
|
73
|
-
constructor(chainId: number, address: string, decimals: number, symbol
|
|
81
|
+
constructor(chainId: number, address: string, decimals: number, symbol: string, name?: string, projectLink?: string);
|
|
74
82
|
/**
|
|
75
83
|
* Returns true if the two tokens are equivalent, i.e. have the same chainId and address.
|
|
76
84
|
* @param other other token to compare
|
|
@@ -87,6 +95,7 @@ declare class Token extends BaseCurrency {
|
|
|
87
95
|
* Return this token, which does not need to be wrapped
|
|
88
96
|
*/
|
|
89
97
|
get wrapped(): Token;
|
|
98
|
+
get serialize(): SerializedToken;
|
|
90
99
|
}
|
|
91
100
|
|
|
92
101
|
declare type BigintIsh = JSBI | number | string;
|
|
@@ -503,4 +512,4 @@ declare abstract class Router {
|
|
|
503
512
|
*/
|
|
504
513
|
declare function computePriceImpact<TBase extends Currency, TQuote extends Currency>(midPrice: Price<TBase, TQuote>, inputAmount: CurrencyAmount<TBase>, outputAmount: CurrencyAmount<TQuote>): Percent;
|
|
505
514
|
|
|
506
|
-
export { BaseCurrency, BestTradeOptions, BigintIsh, ChainId, Currency, CurrencyAmount, FACTORY_ADDRESS, FACTORY_ADDRESS_MAP, FIVE, Fraction, INIT_CODE_HASH, INIT_CODE_HASH_MAP, InsufficientInputAmountError, InsufficientReservesError, MINIMUM_LIQUIDITY, MaxUint256, NATIVE, Native, NativeCurrency, ONE, Pair, Percent, Price, Rounding, Route, Router, SOLIDITY_TYPE_MAXIMA, SolidityType, SwapParameters, TEN, THREE, TWO, Token, Trade, TradeOptions, TradeOptionsDeadline, TradeType, WBNB, WETH9, WNATIVE, ZERO, _100, _10000, _9975, computePairAddress, computePriceImpact, inputOutputComparator, tradeComparator };
|
|
515
|
+
export { BaseCurrency, BestTradeOptions, BigintIsh, ChainId, Currency, CurrencyAmount, FACTORY_ADDRESS, FACTORY_ADDRESS_MAP, FIVE, Fraction, INIT_CODE_HASH, INIT_CODE_HASH_MAP, InsufficientInputAmountError, InsufficientReservesError, MINIMUM_LIQUIDITY, MaxUint256, NATIVE, Native, NativeCurrency, ONE, Pair, Percent, Price, Rounding, Route, Router, SOLIDITY_TYPE_MAXIMA, SerializedToken, SolidityType, SwapParameters, TEN, THREE, TWO, Token, Trade, TradeOptions, TradeOptionsDeadline, TradeType, WBNB, WETH9, WNATIVE, ZERO, _100, _10000, _9975, computePairAddress, computePriceImpact, inputOutputComparator, tradeComparator };
|
package/dist/index.js
CHANGED
|
@@ -173,6 +173,16 @@ var Token = class extends BaseCurrency {
|
|
|
173
173
|
get wrapped() {
|
|
174
174
|
return this;
|
|
175
175
|
}
|
|
176
|
+
get serialize() {
|
|
177
|
+
return {
|
|
178
|
+
address: this.address,
|
|
179
|
+
chainId: this.chainId,
|
|
180
|
+
decimals: this.decimals,
|
|
181
|
+
symbol: this.symbol,
|
|
182
|
+
name: this.name,
|
|
183
|
+
projectLink: this.projectLink
|
|
184
|
+
};
|
|
185
|
+
}
|
|
176
186
|
};
|
|
177
187
|
|
|
178
188
|
// src/constants.ts
|
|
@@ -196,7 +206,7 @@ var Rounding = /* @__PURE__ */ ((Rounding2) => {
|
|
|
196
206
|
return Rounding2;
|
|
197
207
|
})(Rounding || {});
|
|
198
208
|
var FACTORY_ADDRESS = "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73";
|
|
199
|
-
var FACTORY_ADDRESS_ETH = "
|
|
209
|
+
var FACTORY_ADDRESS_ETH = "0x1097053Fd2ea711dad45caCcc45EfF7548fCB362";
|
|
200
210
|
var FACTORY_ADDRESS_MAP = {
|
|
201
211
|
[1 /* ETHEREUM */]: FACTORY_ADDRESS_ETH,
|
|
202
212
|
[4 /* RINKEBY */]: FACTORY_ADDRESS_ETH,
|
|
@@ -521,13 +531,22 @@ var Percent = class extends Fraction {
|
|
|
521
531
|
};
|
|
522
532
|
|
|
523
533
|
// src/entities/pair.ts
|
|
534
|
+
var PAIR_ADDRESS_CACHE = {};
|
|
535
|
+
var composeKey = (token0, token1) => `${token0.chainId}-${token0.address}-${token1.address}`;
|
|
524
536
|
var computePairAddress = ({
|
|
525
537
|
factoryAddress,
|
|
526
538
|
tokenA,
|
|
527
539
|
tokenB
|
|
528
540
|
}) => {
|
|
529
541
|
const [token0, token1] = tokenA.sortsBefore(tokenB) ? [tokenA, tokenB] : [tokenB, tokenA];
|
|
530
|
-
|
|
542
|
+
const key = composeKey(token0, token1);
|
|
543
|
+
if ((PAIR_ADDRESS_CACHE == null ? void 0 : PAIR_ADDRESS_CACHE[key]) === void 0) {
|
|
544
|
+
PAIR_ADDRESS_CACHE = {
|
|
545
|
+
...PAIR_ADDRESS_CACHE,
|
|
546
|
+
[key]: (0, import_address2.getCreate2Address)(factoryAddress, (0, import_solidity.keccak256)(["bytes"], [(0, import_solidity.pack)(["address", "address"], [token0.address, token1.address])]), INIT_CODE_HASH_MAP[token0.chainId])
|
|
547
|
+
};
|
|
548
|
+
}
|
|
549
|
+
return PAIR_ADDRESS_CACHE[key];
|
|
531
550
|
};
|
|
532
551
|
var Pair = class {
|
|
533
552
|
static getAddress(tokenA, tokenB) {
|
package/dist/index.mjs
CHANGED
|
@@ -104,6 +104,16 @@ var Token = class extends BaseCurrency {
|
|
|
104
104
|
get wrapped() {
|
|
105
105
|
return this;
|
|
106
106
|
}
|
|
107
|
+
get serialize() {
|
|
108
|
+
return {
|
|
109
|
+
address: this.address,
|
|
110
|
+
chainId: this.chainId,
|
|
111
|
+
decimals: this.decimals,
|
|
112
|
+
symbol: this.symbol,
|
|
113
|
+
name: this.name,
|
|
114
|
+
projectLink: this.projectLink
|
|
115
|
+
};
|
|
116
|
+
}
|
|
107
117
|
};
|
|
108
118
|
|
|
109
119
|
// src/constants.ts
|
|
@@ -127,7 +137,7 @@ var Rounding = /* @__PURE__ */ ((Rounding2) => {
|
|
|
127
137
|
return Rounding2;
|
|
128
138
|
})(Rounding || {});
|
|
129
139
|
var FACTORY_ADDRESS = "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73";
|
|
130
|
-
var FACTORY_ADDRESS_ETH = "
|
|
140
|
+
var FACTORY_ADDRESS_ETH = "0x1097053Fd2ea711dad45caCcc45EfF7548fCB362";
|
|
131
141
|
var FACTORY_ADDRESS_MAP = {
|
|
132
142
|
[1 /* ETHEREUM */]: FACTORY_ADDRESS_ETH,
|
|
133
143
|
[4 /* RINKEBY */]: FACTORY_ADDRESS_ETH,
|
|
@@ -452,13 +462,22 @@ var Percent = class extends Fraction {
|
|
|
452
462
|
};
|
|
453
463
|
|
|
454
464
|
// src/entities/pair.ts
|
|
465
|
+
var PAIR_ADDRESS_CACHE = {};
|
|
466
|
+
var composeKey = (token0, token1) => `${token0.chainId}-${token0.address}-${token1.address}`;
|
|
455
467
|
var computePairAddress = ({
|
|
456
468
|
factoryAddress,
|
|
457
469
|
tokenA,
|
|
458
470
|
tokenB
|
|
459
471
|
}) => {
|
|
460
472
|
const [token0, token1] = tokenA.sortsBefore(tokenB) ? [tokenA, tokenB] : [tokenB, tokenA];
|
|
461
|
-
|
|
473
|
+
const key = composeKey(token0, token1);
|
|
474
|
+
if ((PAIR_ADDRESS_CACHE == null ? void 0 : PAIR_ADDRESS_CACHE[key]) === void 0) {
|
|
475
|
+
PAIR_ADDRESS_CACHE = {
|
|
476
|
+
...PAIR_ADDRESS_CACHE,
|
|
477
|
+
[key]: getCreate2Address(factoryAddress, keccak256(["bytes"], [pack(["address", "address"], [token0.address, token1.address])]), INIT_CODE_HASH_MAP[token0.chainId])
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
return PAIR_ADDRESS_CACHE[key];
|
|
462
481
|
};
|
|
463
482
|
var Pair = class {
|
|
464
483
|
static getAddress(tokenA, tokenB) {
|
package/package.json
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pancakeswap/sdk",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.1.0",
|
|
5
5
|
"description": "🛠 An SDK for building applications on top of Pancakeswap.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"typings": "dist/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
|
-
"repository":
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/pancakeswap/pancake-frontend.git",
|
|
14
|
+
"directory": "packages/swap-sdk"
|
|
15
|
+
},
|
|
12
16
|
"keywords": [
|
|
13
17
|
"pancakeswap",
|
|
14
18
|
"bsc"
|
|
15
19
|
],
|
|
16
20
|
"module": "dist/index.mjs",
|
|
17
21
|
"scripts": {
|
|
18
|
-
"lint": "
|
|
22
|
+
"lint": "eslint src test",
|
|
19
23
|
"build": "tsup src/index.ts --format esm,cjs --dts",
|
|
20
24
|
"start": "tsup src/index.tsx --format esm,cjs --watch --dts",
|
|
21
25
|
"test": "jest",
|