@uniswap/sdk-core 7.7.0 → 7.7.2
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/{cjs/src/addresses.d.ts → addresses.d.ts} +58 -58
- package/dist/{cjs/src/chains.d.ts → chains.d.ts} +44 -44
- package/dist/{cjs/src/constants.d.ts → constants.d.ts} +12 -12
- package/dist/{esm/src/entities → entities}/baseCurrency.d.ts +49 -49
- package/dist/{cjs/src/entities → entities}/currency.d.ts +3 -3
- package/dist/{esm/src/entities → entities}/ether.d.ts +13 -13
- package/dist/{cjs/src/entities → entities}/fractions/currencyAmount.d.ts +31 -31
- package/dist/{esm/src/entities → entities}/fractions/fraction.d.ts +24 -24
- package/dist/{cjs/src/entities → entities}/fractions/index.d.ts +4 -4
- package/dist/{types/src/entities → entities}/fractions/percent.d.ts +14 -14
- package/dist/{cjs/src/entities → entities}/fractions/price.d.ts +38 -38
- package/dist/{esm/src/entities → entities}/index.d.ts +6 -6
- package/dist/{esm/src/entities → entities}/nativeCurrency.d.ts +8 -8
- package/dist/{cjs/src/entities → entities}/token.d.ts +48 -48
- package/dist/{types/src/entities → entities}/weth9.d.ts +7 -7
- package/dist/{esm/src/index.d.ts → index.d.ts} +5 -5
- package/dist/index.js +8 -0
- package/dist/sdk-core.cjs.development.js +1118 -0
- package/dist/sdk-core.cjs.development.js.map +1 -0
- package/dist/sdk-core.cjs.production.min.js +2 -0
- package/dist/sdk-core.cjs.production.min.js.map +1 -0
- package/dist/sdk-core.esm.js +1079 -0
- package/dist/sdk-core.esm.js.map +1 -0
- package/dist/{cjs/src/utils → utils}/computePriceImpact.d.ts +8 -8
- package/dist/{cjs/src/utils → utils}/computeZksyncCreate2Address.d.ts +2 -2
- package/dist/{esm/src/utils → utils}/index.d.ts +5 -5
- package/dist/{cjs/src/utils → utils}/sortedInsert.d.ts +1 -1
- package/dist/{types/src/utils → utils}/sqrt.d.ts +7 -7
- package/dist/{esm/src/utils → utils}/validateAndParseAddress.d.ts +10 -10
- package/package.json +16 -28
- package/dist/cjs/src/addresses.js +0 -433
- package/dist/cjs/src/addresses.js.map +0 -1
- package/dist/cjs/src/addresses.test.d.ts +0 -1
- package/dist/cjs/src/addresses.test.js +0 -41
- package/dist/cjs/src/addresses.test.js.map +0 -1
- package/dist/cjs/src/chains.js +0 -79
- package/dist/cjs/src/chains.js.map +0 -1
- package/dist/cjs/src/constants.js +0 -18
- package/dist/cjs/src/constants.js.map +0 -1
- package/dist/cjs/src/entities/baseCurrency.d.ts +0 -49
- package/dist/cjs/src/entities/baseCurrency.js +0 -27
- package/dist/cjs/src/entities/baseCurrency.js.map +0 -1
- package/dist/cjs/src/entities/currency.js +0 -3
- package/dist/cjs/src/entities/currency.js.map +0 -1
- package/dist/cjs/src/entities/currency.test.d.ts +0 -1
- package/dist/cjs/src/entities/currency.test.js +0 -27
- package/dist/cjs/src/entities/currency.test.js.map +0 -1
- package/dist/cjs/src/entities/ether.d.ts +0 -13
- package/dist/cjs/src/entities/ether.js +0 -30
- package/dist/cjs/src/entities/ether.js.map +0 -1
- package/dist/cjs/src/entities/ether.test.d.ts +0 -1
- package/dist/cjs/src/entities/ether.test.js +0 -19
- package/dist/cjs/src/entities/ether.test.js.map +0 -1
- package/dist/cjs/src/entities/fractions/currencyAmount.js +0 -72
- package/dist/cjs/src/entities/fractions/currencyAmount.js.map +0 -1
- package/dist/cjs/src/entities/fractions/currencyAmount.test.d.ts +0 -1
- package/dist/cjs/src/entities/fractions/currencyAmount.test.js +0 -99
- package/dist/cjs/src/entities/fractions/currencyAmount.test.js.map +0 -1
- package/dist/cjs/src/entities/fractions/fraction.d.ts +0 -24
- package/dist/cjs/src/entities/fractions/fraction.js +0 -104
- package/dist/cjs/src/entities/fractions/fraction.js.map +0 -1
- package/dist/cjs/src/entities/fractions/fraction.test.d.ts +0 -1
- package/dist/cjs/src/entities/fractions/fraction.test.js +0 -86
- package/dist/cjs/src/entities/fractions/fraction.test.js.map +0 -1
- package/dist/cjs/src/entities/fractions/index.js +0 -12
- package/dist/cjs/src/entities/fractions/index.js.map +0 -1
- package/dist/cjs/src/entities/fractions/percent.d.ts +0 -14
- package/dist/cjs/src/entities/fractions/percent.js +0 -43
- package/dist/cjs/src/entities/fractions/percent.js.map +0 -1
- package/dist/cjs/src/entities/fractions/percent.test.d.ts +0 -1
- package/dist/cjs/src/entities/fractions/percent.test.js +0 -53
- package/dist/cjs/src/entities/fractions/percent.test.js.map +0 -1
- package/dist/cjs/src/entities/fractions/price.js +0 -73
- package/dist/cjs/src/entities/fractions/price.js.map +0 -1
- package/dist/cjs/src/entities/fractions/price.test.d.ts +0 -1
- package/dist/cjs/src/entities/fractions/price.test.js +0 -58
- package/dist/cjs/src/entities/fractions/price.test.js.map +0 -1
- package/dist/cjs/src/entities/index.d.ts +0 -6
- package/dist/cjs/src/entities/index.js +0 -10
- package/dist/cjs/src/entities/index.js.map +0 -1
- package/dist/cjs/src/entities/nativeCurrency.d.ts +0 -8
- package/dist/cjs/src/entities/nativeCurrency.js +0 -16
- package/dist/cjs/src/entities/nativeCurrency.js.map +0 -1
- package/dist/cjs/src/entities/token.js +0 -69
- package/dist/cjs/src/entities/token.js.map +0 -1
- package/dist/cjs/src/entities/token.test.d.ts +0 -1
- package/dist/cjs/src/entities/token.test.js +0 -74
- package/dist/cjs/src/entities/token.test.js.map +0 -1
- package/dist/cjs/src/entities/weth9.d.ts +0 -7
- package/dist/cjs/src/entities/weth9.js +0 -35
- package/dist/cjs/src/entities/weth9.js.map +0 -1
- package/dist/cjs/src/index.d.ts +0 -5
- package/dist/cjs/src/index.js +0 -9
- package/dist/cjs/src/index.js.map +0 -1
- package/dist/cjs/src/utils/computePriceImpact.js +0 -18
- package/dist/cjs/src/utils/computePriceImpact.js.map +0 -1
- package/dist/cjs/src/utils/computePriceImpact.test.d.ts +0 -1
- package/dist/cjs/src/utils/computePriceImpact.test.js +0 -20
- package/dist/cjs/src/utils/computePriceImpact.test.js.map +0 -1
- package/dist/cjs/src/utils/computeZksyncCreate2Address.js +0 -15
- package/dist/cjs/src/utils/computeZksyncCreate2Address.js.map +0 -1
- package/dist/cjs/src/utils/index.d.ts +0 -5
- package/dist/cjs/src/utils/index.js +0 -14
- package/dist/cjs/src/utils/index.js.map +0 -1
- package/dist/cjs/src/utils/sortedInsert.js +0 -38
- package/dist/cjs/src/utils/sortedInsert.js.map +0 -1
- package/dist/cjs/src/utils/sortedInsert.test.d.ts +0 -1
- package/dist/cjs/src/utils/sortedInsert.test.js +0 -60
- package/dist/cjs/src/utils/sortedInsert.test.js.map +0 -1
- package/dist/cjs/src/utils/sqrt.d.ts +0 -7
- package/dist/cjs/src/utils/sqrt.js +0 -32
- package/dist/cjs/src/utils/sqrt.js.map +0 -1
- package/dist/cjs/src/utils/sqrt.test.d.ts +0 -1
- package/dist/cjs/src/utils/sqrt.test.js +0 -26
- package/dist/cjs/src/utils/sqrt.test.js.map +0 -1
- package/dist/cjs/src/utils/validateAndParseAddress.d.ts +0 -10
- package/dist/cjs/src/utils/validateAndParseAddress.js +0 -31
- package/dist/cjs/src/utils/validateAndParseAddress.js.map +0 -1
- package/dist/cjs/src/utils/validateAndParseAddress.test.d.ts +0 -1
- package/dist/cjs/src/utils/validateAndParseAddress.test.js +0 -32
- package/dist/cjs/src/utils/validateAndParseAddress.test.js.map +0 -1
- package/dist/esm/src/addresses.d.ts +0 -58
- package/dist/esm/src/addresses.js +0 -429
- package/dist/esm/src/addresses.js.map +0 -1
- package/dist/esm/src/addresses.test.d.ts +0 -1
- package/dist/esm/src/addresses.test.js +0 -39
- package/dist/esm/src/addresses.test.js.map +0 -1
- package/dist/esm/src/chains.d.ts +0 -44
- package/dist/esm/src/chains.js +0 -76
- package/dist/esm/src/chains.js.map +0 -1
- package/dist/esm/src/constants.d.ts +0 -12
- package/dist/esm/src/constants.js +0 -14
- package/dist/esm/src/constants.js.map +0 -1
- package/dist/esm/src/entities/baseCurrency.js +0 -22
- package/dist/esm/src/entities/baseCurrency.js.map +0 -1
- package/dist/esm/src/entities/currency.d.ts +0 -3
- package/dist/esm/src/entities/currency.js +0 -2
- package/dist/esm/src/entities/currency.js.map +0 -1
- package/dist/esm/src/entities/currency.test.d.ts +0 -1
- package/dist/esm/src/entities/currency.test.js +0 -25
- package/dist/esm/src/entities/currency.test.js.map +0 -1
- package/dist/esm/src/entities/ether.js +0 -25
- package/dist/esm/src/entities/ether.js.map +0 -1
- package/dist/esm/src/entities/ether.test.d.ts +0 -1
- package/dist/esm/src/entities/ether.test.js +0 -17
- package/dist/esm/src/entities/ether.test.js.map +0 -1
- package/dist/esm/src/entities/fractions/currencyAmount.d.ts +0 -31
- package/dist/esm/src/entities/fractions/currencyAmount.js +0 -67
- package/dist/esm/src/entities/fractions/currencyAmount.js.map +0 -1
- package/dist/esm/src/entities/fractions/currencyAmount.test.d.ts +0 -1
- package/dist/esm/src/entities/fractions/currencyAmount.test.js +0 -96
- package/dist/esm/src/entities/fractions/currencyAmount.test.js.map +0 -1
- package/dist/esm/src/entities/fractions/fraction.js +0 -99
- package/dist/esm/src/entities/fractions/fraction.js.map +0 -1
- package/dist/esm/src/entities/fractions/fraction.test.d.ts +0 -1
- package/dist/esm/src/entities/fractions/fraction.test.js +0 -83
- package/dist/esm/src/entities/fractions/fraction.test.js.map +0 -1
- package/dist/esm/src/entities/fractions/index.d.ts +0 -4
- package/dist/esm/src/entities/fractions/index.js +0 -5
- package/dist/esm/src/entities/fractions/index.js.map +0 -1
- package/dist/esm/src/entities/fractions/percent.d.ts +0 -14
- package/dist/esm/src/entities/fractions/percent.js +0 -38
- package/dist/esm/src/entities/fractions/percent.js.map +0 -1
- package/dist/esm/src/entities/fractions/percent.test.d.ts +0 -1
- package/dist/esm/src/entities/fractions/percent.test.js +0 -51
- package/dist/esm/src/entities/fractions/percent.test.js.map +0 -1
- package/dist/esm/src/entities/fractions/price.d.ts +0 -38
- package/dist/esm/src/entities/fractions/price.js +0 -68
- package/dist/esm/src/entities/fractions/price.js.map +0 -1
- package/dist/esm/src/entities/fractions/price.test.d.ts +0 -1
- package/dist/esm/src/entities/fractions/price.test.js +0 -56
- package/dist/esm/src/entities/fractions/price.test.js.map +0 -1
- package/dist/esm/src/entities/index.js +0 -7
- package/dist/esm/src/entities/index.js.map +0 -1
- package/dist/esm/src/entities/nativeCurrency.js +0 -12
- package/dist/esm/src/entities/nativeCurrency.js.map +0 -1
- package/dist/esm/src/entities/token.d.ts +0 -48
- package/dist/esm/src/entities/token.js +0 -64
- package/dist/esm/src/entities/token.js.map +0 -1
- package/dist/esm/src/entities/token.test.d.ts +0 -1
- package/dist/esm/src/entities/token.test.js +0 -72
- package/dist/esm/src/entities/token.test.js.map +0 -1
- package/dist/esm/src/entities/weth9.d.ts +0 -7
- package/dist/esm/src/entities/weth9.js +0 -32
- package/dist/esm/src/entities/weth9.js.map +0 -1
- package/dist/esm/src/index.js +0 -6
- package/dist/esm/src/index.js.map +0 -1
- package/dist/esm/src/utils/computePriceImpact.d.ts +0 -8
- package/dist/esm/src/utils/computePriceImpact.js +0 -14
- package/dist/esm/src/utils/computePriceImpact.js.map +0 -1
- package/dist/esm/src/utils/computePriceImpact.test.d.ts +0 -1
- package/dist/esm/src/utils/computePriceImpact.test.js +0 -18
- package/dist/esm/src/utils/computePriceImpact.test.js.map +0 -1
- package/dist/esm/src/utils/computeZksyncCreate2Address.d.ts +0 -2
- package/dist/esm/src/utils/computeZksyncCreate2Address.js +0 -11
- package/dist/esm/src/utils/computeZksyncCreate2Address.js.map +0 -1
- package/dist/esm/src/utils/index.js +0 -6
- package/dist/esm/src/utils/index.js.map +0 -1
- package/dist/esm/src/utils/sortedInsert.d.ts +0 -1
- package/dist/esm/src/utils/sortedInsert.js +0 -33
- package/dist/esm/src/utils/sortedInsert.js.map +0 -1
- package/dist/esm/src/utils/sortedInsert.test.d.ts +0 -1
- package/dist/esm/src/utils/sortedInsert.test.js +0 -58
- package/dist/esm/src/utils/sortedInsert.test.js.map +0 -1
- package/dist/esm/src/utils/sqrt.d.ts +0 -7
- package/dist/esm/src/utils/sqrt.js +0 -27
- package/dist/esm/src/utils/sqrt.js.map +0 -1
- package/dist/esm/src/utils/sqrt.test.d.ts +0 -1
- package/dist/esm/src/utils/sqrt.test.js +0 -23
- package/dist/esm/src/utils/sqrt.test.js.map +0 -1
- package/dist/esm/src/utils/validateAndParseAddress.js +0 -26
- package/dist/esm/src/utils/validateAndParseAddress.js.map +0 -1
- package/dist/esm/src/utils/validateAndParseAddress.test.d.ts +0 -1
- package/dist/esm/src/utils/validateAndParseAddress.test.js +0 -30
- package/dist/esm/src/utils/validateAndParseAddress.test.js.map +0 -1
- package/dist/types/src/addresses.d.ts +0 -58
- package/dist/types/src/addresses.test.d.ts +0 -1
- package/dist/types/src/chains.d.ts +0 -44
- package/dist/types/src/constants.d.ts +0 -12
- package/dist/types/src/entities/baseCurrency.d.ts +0 -49
- package/dist/types/src/entities/currency.d.ts +0 -3
- package/dist/types/src/entities/currency.test.d.ts +0 -1
- package/dist/types/src/entities/ether.d.ts +0 -13
- package/dist/types/src/entities/ether.test.d.ts +0 -1
- package/dist/types/src/entities/fractions/currencyAmount.d.ts +0 -31
- package/dist/types/src/entities/fractions/currencyAmount.test.d.ts +0 -1
- package/dist/types/src/entities/fractions/fraction.d.ts +0 -24
- package/dist/types/src/entities/fractions/fraction.test.d.ts +0 -1
- package/dist/types/src/entities/fractions/index.d.ts +0 -4
- package/dist/types/src/entities/fractions/percent.test.d.ts +0 -1
- package/dist/types/src/entities/fractions/price.d.ts +0 -38
- package/dist/types/src/entities/fractions/price.test.d.ts +0 -1
- package/dist/types/src/entities/index.d.ts +0 -6
- package/dist/types/src/entities/nativeCurrency.d.ts +0 -8
- package/dist/types/src/entities/token.d.ts +0 -48
- package/dist/types/src/entities/token.test.d.ts +0 -1
- package/dist/types/src/index.d.ts +0 -5
- package/dist/types/src/utils/computePriceImpact.d.ts +0 -8
- package/dist/types/src/utils/computePriceImpact.test.d.ts +0 -1
- package/dist/types/src/utils/computeZksyncCreate2Address.d.ts +0 -2
- package/dist/types/src/utils/index.d.ts +0 -5
- package/dist/types/src/utils/sortedInsert.d.ts +0 -1
- package/dist/types/src/utils/sortedInsert.test.d.ts +0 -1
- package/dist/types/src/utils/sqrt.test.d.ts +0 -1
- package/dist/types/src/utils/validateAndParseAddress.d.ts +0 -10
- package/dist/types/src/utils/validateAndParseAddress.test.d.ts +0 -1
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const jsbi_1 = tslib_1.__importDefault(require("jsbi"));
|
|
5
|
-
const fraction_1 = require("./fraction");
|
|
6
|
-
describe('Fraction', () => {
|
|
7
|
-
describe('#quotient', () => {
|
|
8
|
-
it('floor division', () => {
|
|
9
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(8), jsbi_1.default.BigInt(3)).quotient).toEqual(jsbi_1.default.BigInt(2)); // one below
|
|
10
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(12), jsbi_1.default.BigInt(4)).quotient).toEqual(jsbi_1.default.BigInt(3)); // exact
|
|
11
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(16), jsbi_1.default.BigInt(5)).quotient).toEqual(jsbi_1.default.BigInt(3)); // one above
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
describe('#remainder', () => {
|
|
15
|
-
it('returns fraction after divison', () => {
|
|
16
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(8), jsbi_1.default.BigInt(3)).remainder).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(2), jsbi_1.default.BigInt(3)));
|
|
17
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(12), jsbi_1.default.BigInt(4)).remainder).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(0), jsbi_1.default.BigInt(4)));
|
|
18
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(16), jsbi_1.default.BigInt(5)).remainder).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(5)));
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
describe('#invert', () => {
|
|
22
|
-
it('flips num and denom', () => {
|
|
23
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(5), jsbi_1.default.BigInt(10)).invert().numerator).toEqual(jsbi_1.default.BigInt(10));
|
|
24
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(5), jsbi_1.default.BigInt(10)).invert().denominator).toEqual(jsbi_1.default.BigInt(5));
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
describe('#add', () => {
|
|
28
|
-
it('multiples denoms and adds nums', () => {
|
|
29
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(10)).add(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(52), jsbi_1.default.BigInt(120)));
|
|
30
|
-
});
|
|
31
|
-
it('same denom', () => {
|
|
32
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(5)).add(new fraction_1.Fraction(jsbi_1.default.BigInt(2), jsbi_1.default.BigInt(5)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(3), jsbi_1.default.BigInt(5)));
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe('#subtract', () => {
|
|
36
|
-
it('multiples denoms and subtracts nums', () => {
|
|
37
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(10)).subtract(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(-28), jsbi_1.default.BigInt(120)));
|
|
38
|
-
});
|
|
39
|
-
it('same denom', () => {
|
|
40
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(3), jsbi_1.default.BigInt(5)).subtract(new fraction_1.Fraction(jsbi_1.default.BigInt(2), jsbi_1.default.BigInt(5)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(5)));
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
describe('#lessThan', () => {
|
|
44
|
-
it('correct', () => {
|
|
45
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(10)).lessThan(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(true);
|
|
46
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(3)).lessThan(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(false);
|
|
47
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(5), jsbi_1.default.BigInt(12)).lessThan(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(false);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
describe('#equalTo', () => {
|
|
51
|
-
it('correct', () => {
|
|
52
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(10)).equalTo(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(false);
|
|
53
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(3)).equalTo(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(true);
|
|
54
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(5), jsbi_1.default.BigInt(12)).equalTo(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(false);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
describe('#greaterThan', () => {
|
|
58
|
-
it('correct', () => {
|
|
59
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(10)).greaterThan(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(false);
|
|
60
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(3)).greaterThan(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(false);
|
|
61
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(5), jsbi_1.default.BigInt(12)).greaterThan(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
describe('#multiplty', () => {
|
|
65
|
-
it('correct', () => {
|
|
66
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(10)).multiply(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(120)));
|
|
67
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(3)).multiply(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(36)));
|
|
68
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(5), jsbi_1.default.BigInt(12)).multiply(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(20), jsbi_1.default.BigInt(144)));
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
describe('#divide', () => {
|
|
72
|
-
it('correct', () => {
|
|
73
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(10)).divide(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(12), jsbi_1.default.BigInt(40)));
|
|
74
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(1), jsbi_1.default.BigInt(3)).divide(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(12), jsbi_1.default.BigInt(12)));
|
|
75
|
-
expect(new fraction_1.Fraction(jsbi_1.default.BigInt(5), jsbi_1.default.BigInt(12)).divide(new fraction_1.Fraction(jsbi_1.default.BigInt(4), jsbi_1.default.BigInt(12)))).toEqual(new fraction_1.Fraction(jsbi_1.default.BigInt(60), jsbi_1.default.BigInt(48)));
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
describe('#asFraction', () => {
|
|
79
|
-
it('returns an equivalent but not the same reference fraction', () => {
|
|
80
|
-
const f = new fraction_1.Fraction(1, 2);
|
|
81
|
-
expect(f.asFraction).toEqual(f);
|
|
82
|
-
expect(f === f.asFraction).toEqual(false);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
//# sourceMappingURL=fraction.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fraction.test.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/fraction.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Price = exports.Percent = exports.Fraction = exports.CurrencyAmount = void 0;
|
|
4
|
-
var currencyAmount_1 = require("./currencyAmount");
|
|
5
|
-
Object.defineProperty(exports, "CurrencyAmount", { enumerable: true, get: function () { return currencyAmount_1.CurrencyAmount; } });
|
|
6
|
-
var fraction_1 = require("./fraction");
|
|
7
|
-
Object.defineProperty(exports, "Fraction", { enumerable: true, get: function () { return fraction_1.Fraction; } });
|
|
8
|
-
var percent_1 = require("./percent");
|
|
9
|
-
Object.defineProperty(exports, "Percent", { enumerable: true, get: function () { return percent_1.Percent; } });
|
|
10
|
-
var price_1 = require("./price");
|
|
11
|
-
Object.defineProperty(exports, "Price", { enumerable: true, get: function () { return price_1.Price; } });
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,uCAAqC;AAA5B,oGAAA,QAAQ,OAAA;AACjB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,iCAA+B;AAAtB,8FAAA,KAAK,OAAA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BigintIsh, Rounding } from '../../constants';
|
|
2
|
-
import { Fraction } from './fraction';
|
|
3
|
-
export declare class Percent extends Fraction {
|
|
4
|
-
/**
|
|
5
|
-
* This boolean prevents a fraction from being interpreted as a Percent
|
|
6
|
-
*/
|
|
7
|
-
readonly isPercent: true;
|
|
8
|
-
add(other: Fraction | BigintIsh): Percent;
|
|
9
|
-
subtract(other: Fraction | BigintIsh): Percent;
|
|
10
|
-
multiply(other: Fraction | BigintIsh): Percent;
|
|
11
|
-
divide(other: Fraction | BigintIsh): Percent;
|
|
12
|
-
toSignificant(significantDigits?: number, format?: object, rounding?: Rounding): string;
|
|
13
|
-
toFixed(decimalPlaces?: number, format?: object, rounding?: Rounding): string;
|
|
14
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Percent = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const jsbi_1 = tslib_1.__importDefault(require("jsbi"));
|
|
6
|
-
const fraction_1 = require("./fraction");
|
|
7
|
-
const ONE_HUNDRED = new fraction_1.Fraction(jsbi_1.default.BigInt(100));
|
|
8
|
-
/**
|
|
9
|
-
* Converts a fraction to a percent
|
|
10
|
-
* @param fraction the fraction to convert
|
|
11
|
-
*/
|
|
12
|
-
function toPercent(fraction) {
|
|
13
|
-
return new Percent(fraction.numerator, fraction.denominator);
|
|
14
|
-
}
|
|
15
|
-
class Percent extends fraction_1.Fraction {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(...arguments);
|
|
18
|
-
/**
|
|
19
|
-
* This boolean prevents a fraction from being interpreted as a Percent
|
|
20
|
-
*/
|
|
21
|
-
this.isPercent = true;
|
|
22
|
-
}
|
|
23
|
-
add(other) {
|
|
24
|
-
return toPercent(super.add(other));
|
|
25
|
-
}
|
|
26
|
-
subtract(other) {
|
|
27
|
-
return toPercent(super.subtract(other));
|
|
28
|
-
}
|
|
29
|
-
multiply(other) {
|
|
30
|
-
return toPercent(super.multiply(other));
|
|
31
|
-
}
|
|
32
|
-
divide(other) {
|
|
33
|
-
return toPercent(super.divide(other));
|
|
34
|
-
}
|
|
35
|
-
toSignificant(significantDigits = 5, format, rounding) {
|
|
36
|
-
return super.multiply(ONE_HUNDRED).toSignificant(significantDigits, format, rounding);
|
|
37
|
-
}
|
|
38
|
-
toFixed(decimalPlaces = 2, format, rounding) {
|
|
39
|
-
return super.multiply(ONE_HUNDRED).toFixed(decimalPlaces, format, rounding);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.Percent = Percent;
|
|
43
|
-
//# sourceMappingURL=percent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"percent.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/percent.ts"],"names":[],"mappings":";;;;AAAA,wDAAuB;AAEvB,yCAAqC;AAErC,MAAM,WAAW,GAAG,IAAI,mBAAQ,CAAC,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAElD;;;GAGG;AACH,SAAS,SAAS,CAAC,QAAkB;IACnC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;AAC9D,CAAC;AAED,MAAa,OAAQ,SAAQ,mBAAQ;IAArC;;QACE;;WAEG;QACa,cAAS,GAAS,IAAI,CAAA;IAyBxC,CAAC;IAvBC,GAAG,CAAC,KAA2B;QAC7B,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,QAAQ,CAAC,KAA2B;QAClC,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,QAAQ,CAAC,KAA2B;QAClC,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,KAA2B;QAChC,OAAO,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC;IAEM,aAAa,CAAC,oBAA4B,CAAC,EAAE,MAAe,EAAE,QAAmB;QACtF,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACvF,CAAC;IAEM,OAAO,CAAC,gBAAwB,CAAC,EAAE,MAAe,EAAE,QAAmB;QAC5E,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC7E,CAAC;CACF;AA7BD,0BA6BC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const percent_1 = require("./percent");
|
|
4
|
-
describe('Percent', () => {
|
|
5
|
-
describe('constructor', () => {
|
|
6
|
-
it('defaults to 1 denominator', () => {
|
|
7
|
-
expect(new percent_1.Percent(1)).toEqual(new percent_1.Percent(1, 1));
|
|
8
|
-
});
|
|
9
|
-
});
|
|
10
|
-
describe('#add', () => {
|
|
11
|
-
it('returns a percent', () => {
|
|
12
|
-
expect(new percent_1.Percent(1, 100).add(new percent_1.Percent(2, 100))).toEqual(new percent_1.Percent(3, 100));
|
|
13
|
-
});
|
|
14
|
-
it('different denominators', () => {
|
|
15
|
-
expect(new percent_1.Percent(1, 25).add(new percent_1.Percent(2, 100))).toEqual(new percent_1.Percent(150, 2500));
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
describe('#subtract', () => {
|
|
19
|
-
it('returns a percent', () => {
|
|
20
|
-
expect(new percent_1.Percent(1, 100).subtract(new percent_1.Percent(2, 100))).toEqual(new percent_1.Percent(-1, 100));
|
|
21
|
-
});
|
|
22
|
-
it('different denominators', () => {
|
|
23
|
-
expect(new percent_1.Percent(1, 25).subtract(new percent_1.Percent(2, 100))).toEqual(new percent_1.Percent(50, 2500));
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
describe('#multiply', () => {
|
|
27
|
-
it('returns a percent', () => {
|
|
28
|
-
expect(new percent_1.Percent(1, 100).multiply(new percent_1.Percent(2, 100))).toEqual(new percent_1.Percent(2, 10000));
|
|
29
|
-
});
|
|
30
|
-
it('different denominators', () => {
|
|
31
|
-
expect(new percent_1.Percent(1, 25).multiply(new percent_1.Percent(2, 100))).toEqual(new percent_1.Percent(2, 2500));
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe('#divide', () => {
|
|
35
|
-
it('returns a percent', () => {
|
|
36
|
-
expect(new percent_1.Percent(1, 100).divide(new percent_1.Percent(2, 100))).toEqual(new percent_1.Percent(100, 200));
|
|
37
|
-
});
|
|
38
|
-
it('different denominators', () => {
|
|
39
|
-
expect(new percent_1.Percent(1, 25).divide(new percent_1.Percent(2, 100))).toEqual(new percent_1.Percent(100, 50));
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('#toSignificant', () => {
|
|
43
|
-
it('returns the value scaled by 100', () => {
|
|
44
|
-
expect(new percent_1.Percent(154, 10000).toSignificant(3)).toEqual('1.54');
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
describe('#toFixed', () => {
|
|
48
|
-
it('returns the value scaled by 100', () => {
|
|
49
|
-
expect(new percent_1.Percent(154, 10000).toFixed(2)).toEqual('1.54');
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
//# sourceMappingURL=percent.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"percent.test.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/percent.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Price = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const jsbi_1 = tslib_1.__importDefault(require("jsbi"));
|
|
6
|
-
const tiny_invariant_1 = tslib_1.__importDefault(require("tiny-invariant"));
|
|
7
|
-
const fraction_1 = require("./fraction");
|
|
8
|
-
const currencyAmount_1 = require("./currencyAmount");
|
|
9
|
-
class Price extends fraction_1.Fraction {
|
|
10
|
-
/**
|
|
11
|
-
* Construct a price, either with the base and quote currency amount, or the
|
|
12
|
-
* @param args
|
|
13
|
-
*/
|
|
14
|
-
constructor(...args) {
|
|
15
|
-
let baseCurrency, quoteCurrency, denominator, numerator;
|
|
16
|
-
if (args.length === 4) {
|
|
17
|
-
;
|
|
18
|
-
[baseCurrency, quoteCurrency, denominator, numerator] = args;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
const result = args[0].quoteAmount.divide(args[0].baseAmount);
|
|
22
|
-
[baseCurrency, quoteCurrency, denominator, numerator] = [
|
|
23
|
-
args[0].baseAmount.currency,
|
|
24
|
-
args[0].quoteAmount.currency,
|
|
25
|
-
result.denominator,
|
|
26
|
-
result.numerator,
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
super(numerator, denominator);
|
|
30
|
-
this.baseCurrency = baseCurrency;
|
|
31
|
-
this.quoteCurrency = quoteCurrency;
|
|
32
|
-
this.scalar = new fraction_1.Fraction(jsbi_1.default.exponentiate(jsbi_1.default.BigInt(10), jsbi_1.default.BigInt(baseCurrency.decimals)), jsbi_1.default.exponentiate(jsbi_1.default.BigInt(10), jsbi_1.default.BigInt(quoteCurrency.decimals)));
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Flip the price, switching the base and quote currency
|
|
36
|
-
*/
|
|
37
|
-
invert() {
|
|
38
|
-
return new Price(this.quoteCurrency, this.baseCurrency, this.numerator, this.denominator);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Multiply the price by another price, returning a new price. The other price must have the same base currency as this price's quote currency
|
|
42
|
-
* @param other the other price
|
|
43
|
-
*/
|
|
44
|
-
multiply(other) {
|
|
45
|
-
(0, tiny_invariant_1.default)(this.quoteCurrency.equals(other.baseCurrency), 'TOKEN');
|
|
46
|
-
const fraction = super.multiply(other);
|
|
47
|
-
return new Price(this.baseCurrency, other.quoteCurrency, fraction.denominator, fraction.numerator);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Return the amount of quote currency corresponding to a given amount of the base currency
|
|
51
|
-
* @param currencyAmount the amount of base currency to quote against the price
|
|
52
|
-
*/
|
|
53
|
-
quote(currencyAmount) {
|
|
54
|
-
(0, tiny_invariant_1.default)(currencyAmount.currency.equals(this.baseCurrency), 'TOKEN');
|
|
55
|
-
const result = super.multiply(currencyAmount);
|
|
56
|
-
return currencyAmount_1.CurrencyAmount.fromFractionalAmount(this.quoteCurrency, result.numerator, result.denominator);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Get the value scaled by decimals for formatting
|
|
60
|
-
* @private
|
|
61
|
-
*/
|
|
62
|
-
get adjustedForDecimals() {
|
|
63
|
-
return super.multiply(this.scalar);
|
|
64
|
-
}
|
|
65
|
-
toSignificant(significantDigits = 6, format, rounding) {
|
|
66
|
-
return this.adjustedForDecimals.toSignificant(significantDigits, format, rounding);
|
|
67
|
-
}
|
|
68
|
-
toFixed(decimalPlaces = 4, format, rounding) {
|
|
69
|
-
return this.adjustedForDecimals.toFixed(decimalPlaces, format, rounding);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
exports.Price = Price;
|
|
73
|
-
//# sourceMappingURL=price.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/price.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const token_1 = require("../token");
|
|
4
|
-
const currencyAmount_1 = require("./currencyAmount");
|
|
5
|
-
const price_1 = require("./price");
|
|
6
|
-
describe('Price', () => {
|
|
7
|
-
const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000';
|
|
8
|
-
const ADDRESS_ONE = '0x0000000000000000000000000000000000000001';
|
|
9
|
-
const t0 = new token_1.Token(1, ADDRESS_ZERO, 18);
|
|
10
|
-
const t0_6 = new token_1.Token(1, ADDRESS_ZERO, 6);
|
|
11
|
-
const t1 = new token_1.Token(1, ADDRESS_ONE, 18);
|
|
12
|
-
describe('#constructor', () => {
|
|
13
|
-
it('array format works', () => {
|
|
14
|
-
const price = new price_1.Price(t0, t1, 1, 54321);
|
|
15
|
-
expect(price.toSignificant(5)).toEqual('54321');
|
|
16
|
-
expect(price.baseCurrency.equals(t0));
|
|
17
|
-
expect(price.quoteCurrency.equals(t1));
|
|
18
|
-
});
|
|
19
|
-
it('object format works', () => {
|
|
20
|
-
const price = new price_1.Price({
|
|
21
|
-
baseAmount: currencyAmount_1.CurrencyAmount.fromRawAmount(t0, 1),
|
|
22
|
-
quoteAmount: currencyAmount_1.CurrencyAmount.fromRawAmount(t1, 54321),
|
|
23
|
-
});
|
|
24
|
-
expect(price.toSignificant(5)).toEqual('54321');
|
|
25
|
-
expect(price.baseCurrency.equals(t0));
|
|
26
|
-
expect(price.quoteCurrency.equals(t1));
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
describe('#quote', () => {
|
|
30
|
-
it('returns correct value', () => {
|
|
31
|
-
const price = new price_1.Price(t0, t1, 1, 5);
|
|
32
|
-
expect(price.quote(currencyAmount_1.CurrencyAmount.fromRawAmount(t0, 10))).toEqual(currencyAmount_1.CurrencyAmount.fromRawAmount(t1, 50));
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe('#toSignificant', () => {
|
|
36
|
-
it('no decimals', () => {
|
|
37
|
-
const p = new price_1.Price(t0, t1, 123, 456);
|
|
38
|
-
expect(p.toSignificant(4)).toEqual('3.707');
|
|
39
|
-
});
|
|
40
|
-
it('no decimals flip ratio', () => {
|
|
41
|
-
const p = new price_1.Price(t0, t1, 456, 123);
|
|
42
|
-
expect(p.toSignificant(4)).toEqual('0.2697');
|
|
43
|
-
});
|
|
44
|
-
it('with decimal difference', () => {
|
|
45
|
-
const p = new price_1.Price(t0_6, t1, 123, 456);
|
|
46
|
-
expect(p.toSignificant(4)).toEqual('0.000000000003707');
|
|
47
|
-
});
|
|
48
|
-
it('with decimal difference flipped', () => {
|
|
49
|
-
const p = new price_1.Price(t0_6, t1, 456, 123);
|
|
50
|
-
expect(p.toSignificant(4)).toEqual('0.0000000000002697');
|
|
51
|
-
});
|
|
52
|
-
it('with decimal difference flipped base quote flipped', () => {
|
|
53
|
-
const p = new price_1.Price(t1, t0_6, 456, 123);
|
|
54
|
-
expect(p.toSignificant(4)).toEqual('269700000000');
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
//# sourceMappingURL=price.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"price.test.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/price.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./fractions"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./currency"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./ether"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./nativeCurrency"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./token"), exports);
|
|
9
|
-
tslib_1.__exportStar(require("./weth9"), exports);
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/entities/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAE3B,qDAA0B;AAC1B,kDAAuB;AACvB,2DAAgC;AAChC,kDAAuB;AACvB,kDAAuB"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NativeCurrency = void 0;
|
|
4
|
-
const baseCurrency_1 = require("./baseCurrency");
|
|
5
|
-
/**
|
|
6
|
-
* Represents the native currency of the chain on which it resides, e.g.
|
|
7
|
-
*/
|
|
8
|
-
class NativeCurrency extends baseCurrency_1.BaseCurrency {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(...arguments);
|
|
11
|
-
this.isNative = true;
|
|
12
|
-
this.isToken = false;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.NativeCurrency = NativeCurrency;
|
|
16
|
-
//# sourceMappingURL=nativeCurrency.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nativeCurrency.js","sourceRoot":"","sources":["../../../../src/entities/nativeCurrency.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAE7C;;GAEG;AACH,MAAsB,cAAe,SAAQ,2BAAY;IAAzD;;QACkB,aAAQ,GAAS,IAAI,CAAA;QACrB,YAAO,GAAU,KAAK,CAAA;IACxC,CAAC;CAAA;AAHD,wCAGC"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Token = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const bignumber_1 = require("@ethersproject/bignumber");
|
|
6
|
-
const tiny_invariant_1 = tslib_1.__importDefault(require("tiny-invariant"));
|
|
7
|
-
const validateAndParseAddress_1 = require("../utils/validateAndParseAddress");
|
|
8
|
-
const baseCurrency_1 = require("./baseCurrency");
|
|
9
|
-
/**
|
|
10
|
-
* Represents an ERC20 token with a unique address and some metadata.
|
|
11
|
-
*/
|
|
12
|
-
class Token extends baseCurrency_1.BaseCurrency {
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* @param chainId {@link BaseCurrency#chainId}
|
|
16
|
-
* @param address The contract address on the chain on which this token lives
|
|
17
|
-
* @param decimals {@link BaseCurrency#decimals}
|
|
18
|
-
* @param symbol {@link BaseCurrency#symbol}
|
|
19
|
-
* @param name {@link BaseCurrency#name}
|
|
20
|
-
* @param bypassChecksum If true it only checks for length === 42, startsWith 0x and contains only hex characters
|
|
21
|
-
* @param buyFeeBps Buy fee tax for FOT tokens, in basis points
|
|
22
|
-
* @param sellFeeBps Sell fee tax for FOT tokens, in basis points
|
|
23
|
-
*/
|
|
24
|
-
constructor(chainId, address, decimals, symbol, name, bypassChecksum, buyFeeBps, sellFeeBps) {
|
|
25
|
-
super(chainId, decimals, symbol, name);
|
|
26
|
-
this.isNative = false;
|
|
27
|
-
this.isToken = true;
|
|
28
|
-
if (bypassChecksum) {
|
|
29
|
-
this.address = (0, validateAndParseAddress_1.checkValidAddress)(address);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
this.address = (0, validateAndParseAddress_1.validateAndParseAddress)(address);
|
|
33
|
-
}
|
|
34
|
-
if (buyFeeBps) {
|
|
35
|
-
(0, tiny_invariant_1.default)(buyFeeBps.gte(bignumber_1.BigNumber.from(0)), 'NON-NEGATIVE FOT FEES');
|
|
36
|
-
}
|
|
37
|
-
if (sellFeeBps) {
|
|
38
|
-
(0, tiny_invariant_1.default)(sellFeeBps.gte(bignumber_1.BigNumber.from(0)), 'NON-NEGATIVE FOT FEES');
|
|
39
|
-
}
|
|
40
|
-
this.buyFeeBps = buyFeeBps;
|
|
41
|
-
this.sellFeeBps = sellFeeBps;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Returns true if the two tokens are equivalent, i.e. have the same chainId and address.
|
|
45
|
-
* @param other other token to compare
|
|
46
|
-
*/
|
|
47
|
-
equals(other) {
|
|
48
|
-
return other.isToken && this.chainId === other.chainId && this.address.toLowerCase() === other.address.toLowerCase();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Returns true if the address of this token sorts before the address of the other token
|
|
52
|
-
* @param other other token to compare
|
|
53
|
-
* @throws if the tokens have the same address
|
|
54
|
-
* @throws if the tokens are on different chains
|
|
55
|
-
*/
|
|
56
|
-
sortsBefore(other) {
|
|
57
|
-
(0, tiny_invariant_1.default)(this.chainId === other.chainId, 'CHAIN_IDS');
|
|
58
|
-
(0, tiny_invariant_1.default)(this.address.toLowerCase() !== other.address.toLowerCase(), 'ADDRESSES');
|
|
59
|
-
return this.address.toLowerCase() < other.address.toLowerCase();
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Return this token, which does not need to be wrapped
|
|
63
|
-
*/
|
|
64
|
-
get wrapped() {
|
|
65
|
-
return this;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
exports.Token = Token;
|
|
69
|
-
//# sourceMappingURL=token.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/entities/token.ts"],"names":[],"mappings":";;;;AAAA,wDAAoD;AACpD,4EAAsC;AACtC,8EAA6F;AAC7F,iDAA6C;AAG7C;;GAEG;AACH,MAAa,KAAM,SAAQ,2BAAY;IAgBrC;;;;;;;;;;OAUG;IACH,YACE,OAAe,EACf,OAAe,EACf,QAAgB,EAChB,MAAe,EACf,IAAa,EACb,cAAwB,EACxB,SAAqB,EACrB,UAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QApCxB,aAAQ,GAAU,KAAK,CAAA;QACvB,YAAO,GAAS,IAAI,CAAA;QAoClC,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,OAAO,GAAG,IAAA,2CAAiB,EAAC,OAAO,CAAC,CAAA;SAC1C;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAA;SAChD;QACD,IAAI,SAAS,EAAE;YACb,IAAA,wBAAS,EAAC,SAAS,CAAC,GAAG,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAA;SACrE;QACD,IAAI,UAAU,EAAE;YACd,IAAA,wBAAS,EAAC,UAAU,CAAC,GAAG,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAA;SACtE;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAe;QAC3B,OAAO,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IACtH,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,KAAY;QAC7B,IAAA,wBAAS,EAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACtD,IAAA,wBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAA;QAClF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IACjE,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA/ED,sBA+EC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const token_1 = require("./token");
|
|
4
|
-
const bignumber_1 = require("@ethersproject/bignumber");
|
|
5
|
-
describe('Token', () => {
|
|
6
|
-
const ADDRESS_ONE = '0x0000000000000000000000000000000000000001';
|
|
7
|
-
const ADDRESS_TWO = '0x0000000000000000000000000000000000000002';
|
|
8
|
-
const DAI_MAINNET = '0x6B175474E89094C44Da98b954EedeAC495271d0F';
|
|
9
|
-
describe('#constructor', () => {
|
|
10
|
-
it('fails with invalid address', () => {
|
|
11
|
-
expect(() => new token_1.Token(3, '0xhello00000000000000000000000000000000002', 18).address).toThrow('0xhello00000000000000000000000000000000002 is not a valid address');
|
|
12
|
-
});
|
|
13
|
-
it('fails with negative decimals', () => {
|
|
14
|
-
expect(() => new token_1.Token(3, ADDRESS_ONE, -1).address).toThrow('DECIMALS');
|
|
15
|
-
});
|
|
16
|
-
it('fails with 256 decimals', () => {
|
|
17
|
-
expect(() => new token_1.Token(3, ADDRESS_ONE, 256).address).toThrow('DECIMALS');
|
|
18
|
-
});
|
|
19
|
-
it('fails with non-integer decimals', () => {
|
|
20
|
-
expect(() => new token_1.Token(3, ADDRESS_ONE, 1.5).address).toThrow('DECIMALS');
|
|
21
|
-
});
|
|
22
|
-
it('fails with negative FOT fees', () => {
|
|
23
|
-
expect(() => new token_1.Token(3, ADDRESS_ONE, 18, undefined, undefined, undefined, bignumber_1.BigNumber.from(-1), undefined)).toThrow('NON-NEGATIVE FOT FEES');
|
|
24
|
-
expect(() => new token_1.Token(3, ADDRESS_ONE, 18, undefined, undefined, undefined, undefined, bignumber_1.BigNumber.from(-1))).toThrow('NON-NEGATIVE FOT FEES');
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
describe('#constructor with bypassChecksum = true', () => {
|
|
28
|
-
const bypassChecksum = true;
|
|
29
|
-
it('creates the token with a valid address', () => {
|
|
30
|
-
expect(new token_1.Token(3, ADDRESS_TWO, 18, undefined, undefined, bypassChecksum).address).toBe(ADDRESS_TWO);
|
|
31
|
-
});
|
|
32
|
-
it('fails with invalid address', () => {
|
|
33
|
-
expect(() => new token_1.Token(3, '0xhello00000000000000000000000000000000002', 18, undefined, undefined, bypassChecksum).address).toThrow('0xhello00000000000000000000000000000000002 is not a valid address');
|
|
34
|
-
});
|
|
35
|
-
it('fails with negative decimals', () => {
|
|
36
|
-
expect(() => new token_1.Token(3, ADDRESS_ONE, -1, undefined, undefined, bypassChecksum).address).toThrow('DECIMALS');
|
|
37
|
-
});
|
|
38
|
-
it('fails with 256 decimals', () => {
|
|
39
|
-
expect(() => new token_1.Token(3, ADDRESS_ONE, 256, undefined, undefined, bypassChecksum).address).toThrow('DECIMALS');
|
|
40
|
-
});
|
|
41
|
-
it('fails with non-integer decimals', () => {
|
|
42
|
-
expect(() => new token_1.Token(3, ADDRESS_ONE, 1.5, undefined, undefined, bypassChecksum).address).toThrow('DECIMALS');
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
describe('#equals', () => {
|
|
46
|
-
it('fails if address differs', () => {
|
|
47
|
-
expect(new token_1.Token(1, ADDRESS_ONE, 18).equals(new token_1.Token(1, ADDRESS_TWO, 18))).toBe(false);
|
|
48
|
-
});
|
|
49
|
-
it('false if chain id differs', () => {
|
|
50
|
-
expect(new token_1.Token(3, ADDRESS_ONE, 18).equals(new token_1.Token(1, ADDRESS_ONE, 18))).toBe(false);
|
|
51
|
-
});
|
|
52
|
-
it('true if only decimals differs', () => {
|
|
53
|
-
expect(new token_1.Token(1, ADDRESS_ONE, 9).equals(new token_1.Token(1, ADDRESS_ONE, 18))).toBe(true);
|
|
54
|
-
});
|
|
55
|
-
it('true if address is the same', () => {
|
|
56
|
-
expect(new token_1.Token(1, ADDRESS_ONE, 18).equals(new token_1.Token(1, ADDRESS_ONE, 18))).toBe(true);
|
|
57
|
-
});
|
|
58
|
-
it('true on reference equality', () => {
|
|
59
|
-
const token = new token_1.Token(1, ADDRESS_ONE, 18);
|
|
60
|
-
expect(token.equals(token)).toBe(true);
|
|
61
|
-
});
|
|
62
|
-
it('true even if name/symbol/decimals differ', () => {
|
|
63
|
-
const tokenA = new token_1.Token(1, ADDRESS_ONE, 9, 'abc', 'def');
|
|
64
|
-
const tokenB = new token_1.Token(1, ADDRESS_ONE, 18, 'ghi', 'jkl');
|
|
65
|
-
expect(tokenA.equals(tokenB)).toBe(true);
|
|
66
|
-
});
|
|
67
|
-
it('true even if one token is checksummed and the other is not', () => {
|
|
68
|
-
const tokenA = new token_1.Token(1, DAI_MAINNET, 18, 'DAI', undefined, false);
|
|
69
|
-
const tokenB = new token_1.Token(1, DAI_MAINNET.toLowerCase(), 18, 'DAI', undefined, true);
|
|
70
|
-
expect(tokenA.equals(tokenB)).toBe(true);
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
//# sourceMappingURL=token.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token.test.js","sourceRoot":"","sources":["../../../../src/entities/token.test.ts"],"names":[],"mappings":"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"}
|