@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.
Files changed (246) hide show
  1. package/dist/{cjs/src/addresses.d.ts → addresses.d.ts} +58 -58
  2. package/dist/{cjs/src/chains.d.ts → chains.d.ts} +44 -44
  3. package/dist/{cjs/src/constants.d.ts → constants.d.ts} +12 -12
  4. package/dist/{esm/src/entities → entities}/baseCurrency.d.ts +49 -49
  5. package/dist/{cjs/src/entities → entities}/currency.d.ts +3 -3
  6. package/dist/{esm/src/entities → entities}/ether.d.ts +13 -13
  7. package/dist/{cjs/src/entities → entities}/fractions/currencyAmount.d.ts +31 -31
  8. package/dist/{esm/src/entities → entities}/fractions/fraction.d.ts +24 -24
  9. package/dist/{cjs/src/entities → entities}/fractions/index.d.ts +4 -4
  10. package/dist/{types/src/entities → entities}/fractions/percent.d.ts +14 -14
  11. package/dist/{cjs/src/entities → entities}/fractions/price.d.ts +38 -38
  12. package/dist/{esm/src/entities → entities}/index.d.ts +6 -6
  13. package/dist/{esm/src/entities → entities}/nativeCurrency.d.ts +8 -8
  14. package/dist/{cjs/src/entities → entities}/token.d.ts +48 -48
  15. package/dist/{types/src/entities → entities}/weth9.d.ts +7 -7
  16. package/dist/{esm/src/index.d.ts → index.d.ts} +5 -5
  17. package/dist/index.js +8 -0
  18. package/dist/sdk-core.cjs.development.js +1118 -0
  19. package/dist/sdk-core.cjs.development.js.map +1 -0
  20. package/dist/sdk-core.cjs.production.min.js +2 -0
  21. package/dist/sdk-core.cjs.production.min.js.map +1 -0
  22. package/dist/sdk-core.esm.js +1079 -0
  23. package/dist/sdk-core.esm.js.map +1 -0
  24. package/dist/{cjs/src/utils → utils}/computePriceImpact.d.ts +8 -8
  25. package/dist/{cjs/src/utils → utils}/computeZksyncCreate2Address.d.ts +2 -2
  26. package/dist/{esm/src/utils → utils}/index.d.ts +5 -5
  27. package/dist/{cjs/src/utils → utils}/sortedInsert.d.ts +1 -1
  28. package/dist/{types/src/utils → utils}/sqrt.d.ts +7 -7
  29. package/dist/{esm/src/utils → utils}/validateAndParseAddress.d.ts +10 -10
  30. package/package.json +16 -28
  31. package/dist/cjs/src/addresses.js +0 -433
  32. package/dist/cjs/src/addresses.js.map +0 -1
  33. package/dist/cjs/src/addresses.test.d.ts +0 -1
  34. package/dist/cjs/src/addresses.test.js +0 -41
  35. package/dist/cjs/src/addresses.test.js.map +0 -1
  36. package/dist/cjs/src/chains.js +0 -79
  37. package/dist/cjs/src/chains.js.map +0 -1
  38. package/dist/cjs/src/constants.js +0 -18
  39. package/dist/cjs/src/constants.js.map +0 -1
  40. package/dist/cjs/src/entities/baseCurrency.d.ts +0 -49
  41. package/dist/cjs/src/entities/baseCurrency.js +0 -27
  42. package/dist/cjs/src/entities/baseCurrency.js.map +0 -1
  43. package/dist/cjs/src/entities/currency.js +0 -3
  44. package/dist/cjs/src/entities/currency.js.map +0 -1
  45. package/dist/cjs/src/entities/currency.test.d.ts +0 -1
  46. package/dist/cjs/src/entities/currency.test.js +0 -27
  47. package/dist/cjs/src/entities/currency.test.js.map +0 -1
  48. package/dist/cjs/src/entities/ether.d.ts +0 -13
  49. package/dist/cjs/src/entities/ether.js +0 -30
  50. package/dist/cjs/src/entities/ether.js.map +0 -1
  51. package/dist/cjs/src/entities/ether.test.d.ts +0 -1
  52. package/dist/cjs/src/entities/ether.test.js +0 -19
  53. package/dist/cjs/src/entities/ether.test.js.map +0 -1
  54. package/dist/cjs/src/entities/fractions/currencyAmount.js +0 -72
  55. package/dist/cjs/src/entities/fractions/currencyAmount.js.map +0 -1
  56. package/dist/cjs/src/entities/fractions/currencyAmount.test.d.ts +0 -1
  57. package/dist/cjs/src/entities/fractions/currencyAmount.test.js +0 -99
  58. package/dist/cjs/src/entities/fractions/currencyAmount.test.js.map +0 -1
  59. package/dist/cjs/src/entities/fractions/fraction.d.ts +0 -24
  60. package/dist/cjs/src/entities/fractions/fraction.js +0 -104
  61. package/dist/cjs/src/entities/fractions/fraction.js.map +0 -1
  62. package/dist/cjs/src/entities/fractions/fraction.test.d.ts +0 -1
  63. package/dist/cjs/src/entities/fractions/fraction.test.js +0 -86
  64. package/dist/cjs/src/entities/fractions/fraction.test.js.map +0 -1
  65. package/dist/cjs/src/entities/fractions/index.js +0 -12
  66. package/dist/cjs/src/entities/fractions/index.js.map +0 -1
  67. package/dist/cjs/src/entities/fractions/percent.d.ts +0 -14
  68. package/dist/cjs/src/entities/fractions/percent.js +0 -43
  69. package/dist/cjs/src/entities/fractions/percent.js.map +0 -1
  70. package/dist/cjs/src/entities/fractions/percent.test.d.ts +0 -1
  71. package/dist/cjs/src/entities/fractions/percent.test.js +0 -53
  72. package/dist/cjs/src/entities/fractions/percent.test.js.map +0 -1
  73. package/dist/cjs/src/entities/fractions/price.js +0 -73
  74. package/dist/cjs/src/entities/fractions/price.js.map +0 -1
  75. package/dist/cjs/src/entities/fractions/price.test.d.ts +0 -1
  76. package/dist/cjs/src/entities/fractions/price.test.js +0 -58
  77. package/dist/cjs/src/entities/fractions/price.test.js.map +0 -1
  78. package/dist/cjs/src/entities/index.d.ts +0 -6
  79. package/dist/cjs/src/entities/index.js +0 -10
  80. package/dist/cjs/src/entities/index.js.map +0 -1
  81. package/dist/cjs/src/entities/nativeCurrency.d.ts +0 -8
  82. package/dist/cjs/src/entities/nativeCurrency.js +0 -16
  83. package/dist/cjs/src/entities/nativeCurrency.js.map +0 -1
  84. package/dist/cjs/src/entities/token.js +0 -69
  85. package/dist/cjs/src/entities/token.js.map +0 -1
  86. package/dist/cjs/src/entities/token.test.d.ts +0 -1
  87. package/dist/cjs/src/entities/token.test.js +0 -74
  88. package/dist/cjs/src/entities/token.test.js.map +0 -1
  89. package/dist/cjs/src/entities/weth9.d.ts +0 -7
  90. package/dist/cjs/src/entities/weth9.js +0 -35
  91. package/dist/cjs/src/entities/weth9.js.map +0 -1
  92. package/dist/cjs/src/index.d.ts +0 -5
  93. package/dist/cjs/src/index.js +0 -9
  94. package/dist/cjs/src/index.js.map +0 -1
  95. package/dist/cjs/src/utils/computePriceImpact.js +0 -18
  96. package/dist/cjs/src/utils/computePriceImpact.js.map +0 -1
  97. package/dist/cjs/src/utils/computePriceImpact.test.d.ts +0 -1
  98. package/dist/cjs/src/utils/computePriceImpact.test.js +0 -20
  99. package/dist/cjs/src/utils/computePriceImpact.test.js.map +0 -1
  100. package/dist/cjs/src/utils/computeZksyncCreate2Address.js +0 -15
  101. package/dist/cjs/src/utils/computeZksyncCreate2Address.js.map +0 -1
  102. package/dist/cjs/src/utils/index.d.ts +0 -5
  103. package/dist/cjs/src/utils/index.js +0 -14
  104. package/dist/cjs/src/utils/index.js.map +0 -1
  105. package/dist/cjs/src/utils/sortedInsert.js +0 -38
  106. package/dist/cjs/src/utils/sortedInsert.js.map +0 -1
  107. package/dist/cjs/src/utils/sortedInsert.test.d.ts +0 -1
  108. package/dist/cjs/src/utils/sortedInsert.test.js +0 -60
  109. package/dist/cjs/src/utils/sortedInsert.test.js.map +0 -1
  110. package/dist/cjs/src/utils/sqrt.d.ts +0 -7
  111. package/dist/cjs/src/utils/sqrt.js +0 -32
  112. package/dist/cjs/src/utils/sqrt.js.map +0 -1
  113. package/dist/cjs/src/utils/sqrt.test.d.ts +0 -1
  114. package/dist/cjs/src/utils/sqrt.test.js +0 -26
  115. package/dist/cjs/src/utils/sqrt.test.js.map +0 -1
  116. package/dist/cjs/src/utils/validateAndParseAddress.d.ts +0 -10
  117. package/dist/cjs/src/utils/validateAndParseAddress.js +0 -31
  118. package/dist/cjs/src/utils/validateAndParseAddress.js.map +0 -1
  119. package/dist/cjs/src/utils/validateAndParseAddress.test.d.ts +0 -1
  120. package/dist/cjs/src/utils/validateAndParseAddress.test.js +0 -32
  121. package/dist/cjs/src/utils/validateAndParseAddress.test.js.map +0 -1
  122. package/dist/esm/src/addresses.d.ts +0 -58
  123. package/dist/esm/src/addresses.js +0 -429
  124. package/dist/esm/src/addresses.js.map +0 -1
  125. package/dist/esm/src/addresses.test.d.ts +0 -1
  126. package/dist/esm/src/addresses.test.js +0 -39
  127. package/dist/esm/src/addresses.test.js.map +0 -1
  128. package/dist/esm/src/chains.d.ts +0 -44
  129. package/dist/esm/src/chains.js +0 -76
  130. package/dist/esm/src/chains.js.map +0 -1
  131. package/dist/esm/src/constants.d.ts +0 -12
  132. package/dist/esm/src/constants.js +0 -14
  133. package/dist/esm/src/constants.js.map +0 -1
  134. package/dist/esm/src/entities/baseCurrency.js +0 -22
  135. package/dist/esm/src/entities/baseCurrency.js.map +0 -1
  136. package/dist/esm/src/entities/currency.d.ts +0 -3
  137. package/dist/esm/src/entities/currency.js +0 -2
  138. package/dist/esm/src/entities/currency.js.map +0 -1
  139. package/dist/esm/src/entities/currency.test.d.ts +0 -1
  140. package/dist/esm/src/entities/currency.test.js +0 -25
  141. package/dist/esm/src/entities/currency.test.js.map +0 -1
  142. package/dist/esm/src/entities/ether.js +0 -25
  143. package/dist/esm/src/entities/ether.js.map +0 -1
  144. package/dist/esm/src/entities/ether.test.d.ts +0 -1
  145. package/dist/esm/src/entities/ether.test.js +0 -17
  146. package/dist/esm/src/entities/ether.test.js.map +0 -1
  147. package/dist/esm/src/entities/fractions/currencyAmount.d.ts +0 -31
  148. package/dist/esm/src/entities/fractions/currencyAmount.js +0 -67
  149. package/dist/esm/src/entities/fractions/currencyAmount.js.map +0 -1
  150. package/dist/esm/src/entities/fractions/currencyAmount.test.d.ts +0 -1
  151. package/dist/esm/src/entities/fractions/currencyAmount.test.js +0 -96
  152. package/dist/esm/src/entities/fractions/currencyAmount.test.js.map +0 -1
  153. package/dist/esm/src/entities/fractions/fraction.js +0 -99
  154. package/dist/esm/src/entities/fractions/fraction.js.map +0 -1
  155. package/dist/esm/src/entities/fractions/fraction.test.d.ts +0 -1
  156. package/dist/esm/src/entities/fractions/fraction.test.js +0 -83
  157. package/dist/esm/src/entities/fractions/fraction.test.js.map +0 -1
  158. package/dist/esm/src/entities/fractions/index.d.ts +0 -4
  159. package/dist/esm/src/entities/fractions/index.js +0 -5
  160. package/dist/esm/src/entities/fractions/index.js.map +0 -1
  161. package/dist/esm/src/entities/fractions/percent.d.ts +0 -14
  162. package/dist/esm/src/entities/fractions/percent.js +0 -38
  163. package/dist/esm/src/entities/fractions/percent.js.map +0 -1
  164. package/dist/esm/src/entities/fractions/percent.test.d.ts +0 -1
  165. package/dist/esm/src/entities/fractions/percent.test.js +0 -51
  166. package/dist/esm/src/entities/fractions/percent.test.js.map +0 -1
  167. package/dist/esm/src/entities/fractions/price.d.ts +0 -38
  168. package/dist/esm/src/entities/fractions/price.js +0 -68
  169. package/dist/esm/src/entities/fractions/price.js.map +0 -1
  170. package/dist/esm/src/entities/fractions/price.test.d.ts +0 -1
  171. package/dist/esm/src/entities/fractions/price.test.js +0 -56
  172. package/dist/esm/src/entities/fractions/price.test.js.map +0 -1
  173. package/dist/esm/src/entities/index.js +0 -7
  174. package/dist/esm/src/entities/index.js.map +0 -1
  175. package/dist/esm/src/entities/nativeCurrency.js +0 -12
  176. package/dist/esm/src/entities/nativeCurrency.js.map +0 -1
  177. package/dist/esm/src/entities/token.d.ts +0 -48
  178. package/dist/esm/src/entities/token.js +0 -64
  179. package/dist/esm/src/entities/token.js.map +0 -1
  180. package/dist/esm/src/entities/token.test.d.ts +0 -1
  181. package/dist/esm/src/entities/token.test.js +0 -72
  182. package/dist/esm/src/entities/token.test.js.map +0 -1
  183. package/dist/esm/src/entities/weth9.d.ts +0 -7
  184. package/dist/esm/src/entities/weth9.js +0 -32
  185. package/dist/esm/src/entities/weth9.js.map +0 -1
  186. package/dist/esm/src/index.js +0 -6
  187. package/dist/esm/src/index.js.map +0 -1
  188. package/dist/esm/src/utils/computePriceImpact.d.ts +0 -8
  189. package/dist/esm/src/utils/computePriceImpact.js +0 -14
  190. package/dist/esm/src/utils/computePriceImpact.js.map +0 -1
  191. package/dist/esm/src/utils/computePriceImpact.test.d.ts +0 -1
  192. package/dist/esm/src/utils/computePriceImpact.test.js +0 -18
  193. package/dist/esm/src/utils/computePriceImpact.test.js.map +0 -1
  194. package/dist/esm/src/utils/computeZksyncCreate2Address.d.ts +0 -2
  195. package/dist/esm/src/utils/computeZksyncCreate2Address.js +0 -11
  196. package/dist/esm/src/utils/computeZksyncCreate2Address.js.map +0 -1
  197. package/dist/esm/src/utils/index.js +0 -6
  198. package/dist/esm/src/utils/index.js.map +0 -1
  199. package/dist/esm/src/utils/sortedInsert.d.ts +0 -1
  200. package/dist/esm/src/utils/sortedInsert.js +0 -33
  201. package/dist/esm/src/utils/sortedInsert.js.map +0 -1
  202. package/dist/esm/src/utils/sortedInsert.test.d.ts +0 -1
  203. package/dist/esm/src/utils/sortedInsert.test.js +0 -58
  204. package/dist/esm/src/utils/sortedInsert.test.js.map +0 -1
  205. package/dist/esm/src/utils/sqrt.d.ts +0 -7
  206. package/dist/esm/src/utils/sqrt.js +0 -27
  207. package/dist/esm/src/utils/sqrt.js.map +0 -1
  208. package/dist/esm/src/utils/sqrt.test.d.ts +0 -1
  209. package/dist/esm/src/utils/sqrt.test.js +0 -23
  210. package/dist/esm/src/utils/sqrt.test.js.map +0 -1
  211. package/dist/esm/src/utils/validateAndParseAddress.js +0 -26
  212. package/dist/esm/src/utils/validateAndParseAddress.js.map +0 -1
  213. package/dist/esm/src/utils/validateAndParseAddress.test.d.ts +0 -1
  214. package/dist/esm/src/utils/validateAndParseAddress.test.js +0 -30
  215. package/dist/esm/src/utils/validateAndParseAddress.test.js.map +0 -1
  216. package/dist/types/src/addresses.d.ts +0 -58
  217. package/dist/types/src/addresses.test.d.ts +0 -1
  218. package/dist/types/src/chains.d.ts +0 -44
  219. package/dist/types/src/constants.d.ts +0 -12
  220. package/dist/types/src/entities/baseCurrency.d.ts +0 -49
  221. package/dist/types/src/entities/currency.d.ts +0 -3
  222. package/dist/types/src/entities/currency.test.d.ts +0 -1
  223. package/dist/types/src/entities/ether.d.ts +0 -13
  224. package/dist/types/src/entities/ether.test.d.ts +0 -1
  225. package/dist/types/src/entities/fractions/currencyAmount.d.ts +0 -31
  226. package/dist/types/src/entities/fractions/currencyAmount.test.d.ts +0 -1
  227. package/dist/types/src/entities/fractions/fraction.d.ts +0 -24
  228. package/dist/types/src/entities/fractions/fraction.test.d.ts +0 -1
  229. package/dist/types/src/entities/fractions/index.d.ts +0 -4
  230. package/dist/types/src/entities/fractions/percent.test.d.ts +0 -1
  231. package/dist/types/src/entities/fractions/price.d.ts +0 -38
  232. package/dist/types/src/entities/fractions/price.test.d.ts +0 -1
  233. package/dist/types/src/entities/index.d.ts +0 -6
  234. package/dist/types/src/entities/nativeCurrency.d.ts +0 -8
  235. package/dist/types/src/entities/token.d.ts +0 -48
  236. package/dist/types/src/entities/token.test.d.ts +0 -1
  237. package/dist/types/src/index.d.ts +0 -5
  238. package/dist/types/src/utils/computePriceImpact.d.ts +0 -8
  239. package/dist/types/src/utils/computePriceImpact.test.d.ts +0 -1
  240. package/dist/types/src/utils/computeZksyncCreate2Address.d.ts +0 -2
  241. package/dist/types/src/utils/index.d.ts +0 -5
  242. package/dist/types/src/utils/sortedInsert.d.ts +0 -1
  243. package/dist/types/src/utils/sortedInsert.test.d.ts +0 -1
  244. package/dist/types/src/utils/sqrt.test.d.ts +0 -1
  245. package/dist/types/src/utils/validateAndParseAddress.d.ts +0 -10
  246. 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,6 +0,0 @@
1
- export * from './fractions';
2
- export * from './currency';
3
- export * from './ether';
4
- export * from './nativeCurrency';
5
- export * from './token';
6
- export * from './weth9';
@@ -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,8 +0,0 @@
1
- import { BaseCurrency } from './baseCurrency';
2
- /**
3
- * Represents the native currency of the chain on which it resides, e.g.
4
- */
5
- export declare abstract class NativeCurrency extends BaseCurrency {
6
- readonly isNative: true;
7
- readonly isToken: false;
8
- }
@@ -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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"}