@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,38 +0,0 @@
1
- import JSBI from 'jsbi';
2
- import { Fraction } from './fraction';
3
- const ONE_HUNDRED = new Fraction(JSBI.BigInt(100));
4
- /**
5
- * Converts a fraction to a percent
6
- * @param fraction the fraction to convert
7
- */
8
- function toPercent(fraction) {
9
- return new Percent(fraction.numerator, fraction.denominator);
10
- }
11
- export class Percent extends Fraction {
12
- constructor() {
13
- super(...arguments);
14
- /**
15
- * This boolean prevents a fraction from being interpreted as a Percent
16
- */
17
- this.isPercent = true;
18
- }
19
- add(other) {
20
- return toPercent(super.add(other));
21
- }
22
- subtract(other) {
23
- return toPercent(super.subtract(other));
24
- }
25
- multiply(other) {
26
- return toPercent(super.multiply(other));
27
- }
28
- divide(other) {
29
- return toPercent(super.divide(other));
30
- }
31
- toSignificant(significantDigits = 5, format, rounding) {
32
- return super.multiply(ONE_HUNDRED).toSignificant(significantDigits, format, rounding);
33
- }
34
- toFixed(decimalPlaces = 2, format, rounding) {
35
- return super.multiply(ONE_HUNDRED).toFixed(decimalPlaces, format, rounding);
36
- }
37
- }
38
- //# sourceMappingURL=percent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"percent.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/percent.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,IAAI,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,MAAM,OAAO,OAAQ,SAAQ,QAAQ;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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,51 +0,0 @@
1
- import { Percent } from './percent';
2
- describe('Percent', () => {
3
- describe('constructor', () => {
4
- it('defaults to 1 denominator', () => {
5
- expect(new Percent(1)).toEqual(new Percent(1, 1));
6
- });
7
- });
8
- describe('#add', () => {
9
- it('returns a percent', () => {
10
- expect(new Percent(1, 100).add(new Percent(2, 100))).toEqual(new Percent(3, 100));
11
- });
12
- it('different denominators', () => {
13
- expect(new Percent(1, 25).add(new Percent(2, 100))).toEqual(new Percent(150, 2500));
14
- });
15
- });
16
- describe('#subtract', () => {
17
- it('returns a percent', () => {
18
- expect(new Percent(1, 100).subtract(new Percent(2, 100))).toEqual(new Percent(-1, 100));
19
- });
20
- it('different denominators', () => {
21
- expect(new Percent(1, 25).subtract(new Percent(2, 100))).toEqual(new Percent(50, 2500));
22
- });
23
- });
24
- describe('#multiply', () => {
25
- it('returns a percent', () => {
26
- expect(new Percent(1, 100).multiply(new Percent(2, 100))).toEqual(new Percent(2, 10000));
27
- });
28
- it('different denominators', () => {
29
- expect(new Percent(1, 25).multiply(new Percent(2, 100))).toEqual(new Percent(2, 2500));
30
- });
31
- });
32
- describe('#divide', () => {
33
- it('returns a percent', () => {
34
- expect(new Percent(1, 100).divide(new Percent(2, 100))).toEqual(new Percent(100, 200));
35
- });
36
- it('different denominators', () => {
37
- expect(new Percent(1, 25).divide(new Percent(2, 100))).toEqual(new Percent(100, 50));
38
- });
39
- });
40
- describe('#toSignificant', () => {
41
- it('returns the value scaled by 100', () => {
42
- expect(new Percent(154, 10000).toSignificant(3)).toEqual('1.54');
43
- });
44
- });
45
- describe('#toFixed', () => {
46
- it('returns the value scaled by 100', () => {
47
- expect(new Percent(154, 10000).toFixed(2)).toEqual('1.54');
48
- });
49
- });
50
- });
51
- //# 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,38 +0,0 @@
1
- import { BigintIsh, Rounding } from '../../constants';
2
- import { Currency } from '../currency';
3
- import { Fraction } from './fraction';
4
- import { CurrencyAmount } from './currencyAmount';
5
- export declare class Price<TBase extends Currency, TQuote extends Currency> extends Fraction {
6
- readonly baseCurrency: TBase;
7
- readonly quoteCurrency: TQuote;
8
- readonly scalar: Fraction;
9
- /**
10
- * Construct a price, either with the base and quote currency amount, or the
11
- * @param args
12
- */
13
- constructor(...args: [TBase, TQuote, BigintIsh, BigintIsh] | [{
14
- baseAmount: CurrencyAmount<TBase>;
15
- quoteAmount: CurrencyAmount<TQuote>;
16
- }]);
17
- /**
18
- * Flip the price, switching the base and quote currency
19
- */
20
- invert(): Price<TQuote, TBase>;
21
- /**
22
- * 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
23
- * @param other the other price
24
- */
25
- multiply<TOtherQuote extends Currency>(other: Price<TQuote, TOtherQuote>): Price<TBase, TOtherQuote>;
26
- /**
27
- * Return the amount of quote currency corresponding to a given amount of the base currency
28
- * @param currencyAmount the amount of base currency to quote against the price
29
- */
30
- quote(currencyAmount: CurrencyAmount<TBase>): CurrencyAmount<TQuote>;
31
- /**
32
- * Get the value scaled by decimals for formatting
33
- * @private
34
- */
35
- private get adjustedForDecimals();
36
- toSignificant(significantDigits?: number, format?: object, rounding?: Rounding): string;
37
- toFixed(decimalPlaces?: number, format?: object, rounding?: Rounding): string;
38
- }
@@ -1,68 +0,0 @@
1
- import JSBI from 'jsbi';
2
- import invariant from 'tiny-invariant';
3
- import { Fraction } from './fraction';
4
- import { CurrencyAmount } from './currencyAmount';
5
- export class Price extends Fraction {
6
- /**
7
- * Construct a price, either with the base and quote currency amount, or the
8
- * @param args
9
- */
10
- constructor(...args) {
11
- let baseCurrency, quoteCurrency, denominator, numerator;
12
- if (args.length === 4) {
13
- ;
14
- [baseCurrency, quoteCurrency, denominator, numerator] = args;
15
- }
16
- else {
17
- const result = args[0].quoteAmount.divide(args[0].baseAmount);
18
- [baseCurrency, quoteCurrency, denominator, numerator] = [
19
- args[0].baseAmount.currency,
20
- args[0].quoteAmount.currency,
21
- result.denominator,
22
- result.numerator,
23
- ];
24
- }
25
- super(numerator, denominator);
26
- this.baseCurrency = baseCurrency;
27
- this.quoteCurrency = quoteCurrency;
28
- this.scalar = new Fraction(JSBI.exponentiate(JSBI.BigInt(10), JSBI.BigInt(baseCurrency.decimals)), JSBI.exponentiate(JSBI.BigInt(10), JSBI.BigInt(quoteCurrency.decimals)));
29
- }
30
- /**
31
- * Flip the price, switching the base and quote currency
32
- */
33
- invert() {
34
- return new Price(this.quoteCurrency, this.baseCurrency, this.numerator, this.denominator);
35
- }
36
- /**
37
- * 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
38
- * @param other the other price
39
- */
40
- multiply(other) {
41
- invariant(this.quoteCurrency.equals(other.baseCurrency), 'TOKEN');
42
- const fraction = super.multiply(other);
43
- return new Price(this.baseCurrency, other.quoteCurrency, fraction.denominator, fraction.numerator);
44
- }
45
- /**
46
- * Return the amount of quote currency corresponding to a given amount of the base currency
47
- * @param currencyAmount the amount of base currency to quote against the price
48
- */
49
- quote(currencyAmount) {
50
- invariant(currencyAmount.currency.equals(this.baseCurrency), 'TOKEN');
51
- const result = super.multiply(currencyAmount);
52
- return CurrencyAmount.fromFractionalAmount(this.quoteCurrency, result.numerator, result.denominator);
53
- }
54
- /**
55
- * Get the value scaled by decimals for formatting
56
- * @private
57
- */
58
- get adjustedForDecimals() {
59
- return super.multiply(this.scalar);
60
- }
61
- toSignificant(significantDigits = 6, format, rounding) {
62
- return this.adjustedForDecimals.toSignificant(significantDigits, format, rounding);
63
- }
64
- toFixed(decimalPlaces = 4, format, rounding) {
65
- return this.adjustedForDecimals.toFixed(decimalPlaces, format, rounding);
66
- }
67
- }
68
- //# 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,56 +0,0 @@
1
- import { Token } from '../token';
2
- import { CurrencyAmount } from './currencyAmount';
3
- import { Price } from './price';
4
- describe('Price', () => {
5
- const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000';
6
- const ADDRESS_ONE = '0x0000000000000000000000000000000000000001';
7
- const t0 = new Token(1, ADDRESS_ZERO, 18);
8
- const t0_6 = new Token(1, ADDRESS_ZERO, 6);
9
- const t1 = new Token(1, ADDRESS_ONE, 18);
10
- describe('#constructor', () => {
11
- it('array format works', () => {
12
- const price = new Price(t0, t1, 1, 54321);
13
- expect(price.toSignificant(5)).toEqual('54321');
14
- expect(price.baseCurrency.equals(t0));
15
- expect(price.quoteCurrency.equals(t1));
16
- });
17
- it('object format works', () => {
18
- const price = new Price({
19
- baseAmount: CurrencyAmount.fromRawAmount(t0, 1),
20
- quoteAmount: CurrencyAmount.fromRawAmount(t1, 54321),
21
- });
22
- expect(price.toSignificant(5)).toEqual('54321');
23
- expect(price.baseCurrency.equals(t0));
24
- expect(price.quoteCurrency.equals(t1));
25
- });
26
- });
27
- describe('#quote', () => {
28
- it('returns correct value', () => {
29
- const price = new Price(t0, t1, 1, 5);
30
- expect(price.quote(CurrencyAmount.fromRawAmount(t0, 10))).toEqual(CurrencyAmount.fromRawAmount(t1, 50));
31
- });
32
- });
33
- describe('#toSignificant', () => {
34
- it('no decimals', () => {
35
- const p = new Price(t0, t1, 123, 456);
36
- expect(p.toSignificant(4)).toEqual('3.707');
37
- });
38
- it('no decimals flip ratio', () => {
39
- const p = new Price(t0, t1, 456, 123);
40
- expect(p.toSignificant(4)).toEqual('0.2697');
41
- });
42
- it('with decimal difference', () => {
43
- const p = new Price(t0_6, t1, 123, 456);
44
- expect(p.toSignificant(4)).toEqual('0.000000000003707');
45
- });
46
- it('with decimal difference flipped', () => {
47
- const p = new Price(t0_6, t1, 456, 123);
48
- expect(p.toSignificant(4)).toEqual('0.0000000000002697');
49
- });
50
- it('with decimal difference flipped base quote flipped', () => {
51
- const p = new Price(t1, t0_6, 456, 123);
52
- expect(p.toSignificant(4)).toEqual('269700000000');
53
- });
54
- });
55
- });
56
- //# 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,7 +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';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAE3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
@@ -1,12 +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 class NativeCurrency extends BaseCurrency {
6
- constructor() {
7
- super(...arguments);
8
- this.isNative = true;
9
- this.isToken = false;
10
- }
11
- }
12
- //# sourceMappingURL=nativeCurrency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nativeCurrency.js","sourceRoot":"","sources":["../../../../src/entities/nativeCurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;GAEG;AACH,MAAM,OAAgB,cAAe,SAAQ,YAAY;IAAzD;;QACkB,aAAQ,GAAS,IAAI,CAAA;QACrB,YAAO,GAAU,KAAK,CAAA;IACxC,CAAC;CAAA"}
@@ -1,48 +0,0 @@
1
- import { BigNumber } from '@ethersproject/bignumber';
2
- import { BaseCurrency } from './baseCurrency';
3
- import { Currency } from './currency';
4
- /**
5
- * Represents an ERC20 token with a unique address and some metadata.
6
- */
7
- export declare class Token extends BaseCurrency {
8
- readonly isNative: false;
9
- readonly isToken: true;
10
- /**
11
- * The contract address on the chain on which this token lives
12
- */
13
- readonly address: string;
14
- /**
15
- * Relevant for fee-on-transfer (FOT) token taxes,
16
- * Not every ERC20 token is FOT token, so this field is optional
17
- */
18
- readonly buyFeeBps?: BigNumber;
19
- readonly sellFeeBps?: BigNumber;
20
- /**
21
- *
22
- * @param chainId {@link BaseCurrency#chainId}
23
- * @param address The contract address on the chain on which this token lives
24
- * @param decimals {@link BaseCurrency#decimals}
25
- * @param symbol {@link BaseCurrency#symbol}
26
- * @param name {@link BaseCurrency#name}
27
- * @param bypassChecksum If true it only checks for length === 42, startsWith 0x and contains only hex characters
28
- * @param buyFeeBps Buy fee tax for FOT tokens, in basis points
29
- * @param sellFeeBps Sell fee tax for FOT tokens, in basis points
30
- */
31
- constructor(chainId: number, address: string, decimals: number, symbol?: string, name?: string, bypassChecksum?: boolean, buyFeeBps?: BigNumber, sellFeeBps?: BigNumber);
32
- /**
33
- * Returns true if the two tokens are equivalent, i.e. have the same chainId and address.
34
- * @param other other token to compare
35
- */
36
- equals(other: Currency): boolean;
37
- /**
38
- * Returns true if the address of this token sorts before the address of the other token
39
- * @param other other token to compare
40
- * @throws if the tokens have the same address
41
- * @throws if the tokens are on different chains
42
- */
43
- sortsBefore(other: Token): boolean;
44
- /**
45
- * Return this token, which does not need to be wrapped
46
- */
47
- get wrapped(): Token;
48
- }
@@ -1,64 +0,0 @@
1
- import { BigNumber } from '@ethersproject/bignumber';
2
- import invariant from 'tiny-invariant';
3
- import { checkValidAddress, validateAndParseAddress } from '../utils/validateAndParseAddress';
4
- import { BaseCurrency } from './baseCurrency';
5
- /**
6
- * Represents an ERC20 token with a unique address and some metadata.
7
- */
8
- export class Token extends BaseCurrency {
9
- /**
10
- *
11
- * @param chainId {@link BaseCurrency#chainId}
12
- * @param address The contract address on the chain on which this token lives
13
- * @param decimals {@link BaseCurrency#decimals}
14
- * @param symbol {@link BaseCurrency#symbol}
15
- * @param name {@link BaseCurrency#name}
16
- * @param bypassChecksum If true it only checks for length === 42, startsWith 0x and contains only hex characters
17
- * @param buyFeeBps Buy fee tax for FOT tokens, in basis points
18
- * @param sellFeeBps Sell fee tax for FOT tokens, in basis points
19
- */
20
- constructor(chainId, address, decimals, symbol, name, bypassChecksum, buyFeeBps, sellFeeBps) {
21
- super(chainId, decimals, symbol, name);
22
- this.isNative = false;
23
- this.isToken = true;
24
- if (bypassChecksum) {
25
- this.address = checkValidAddress(address);
26
- }
27
- else {
28
- this.address = validateAndParseAddress(address);
29
- }
30
- if (buyFeeBps) {
31
- invariant(buyFeeBps.gte(BigNumber.from(0)), 'NON-NEGATIVE FOT FEES');
32
- }
33
- if (sellFeeBps) {
34
- invariant(sellFeeBps.gte(BigNumber.from(0)), 'NON-NEGATIVE FOT FEES');
35
- }
36
- this.buyFeeBps = buyFeeBps;
37
- this.sellFeeBps = sellFeeBps;
38
- }
39
- /**
40
- * Returns true if the two tokens are equivalent, i.e. have the same chainId and address.
41
- * @param other other token to compare
42
- */
43
- equals(other) {
44
- return other.isToken && this.chainId === other.chainId && this.address.toLowerCase() === other.address.toLowerCase();
45
- }
46
- /**
47
- * Returns true if the address of this token sorts before the address of the other token
48
- * @param other other token to compare
49
- * @throws if the tokens have the same address
50
- * @throws if the tokens are on different chains
51
- */
52
- sortsBefore(other) {
53
- invariant(this.chainId === other.chainId, 'CHAIN_IDS');
54
- invariant(this.address.toLowerCase() !== other.address.toLowerCase(), 'ADDRESSES');
55
- return this.address.toLowerCase() < other.address.toLowerCase();
56
- }
57
- /**
58
- * Return this token, which does not need to be wrapped
59
- */
60
- get wrapped() {
61
- return this;
62
- }
63
- }
64
- //# sourceMappingURL=token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/entities/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C;;GAEG;AACH,MAAM,OAAO,KAAM,SAAQ,YAAY;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,iBAAiB,CAAC,OAAO,CAAC,CAAA;SAC1C;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;SAChD;QACD,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAA;SACrE;QACD,IAAI,UAAU,EAAE;YACd,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,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,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACtD,SAAS,CAAC,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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,72 +0,0 @@
1
- import { Token } from './token';
2
- import { BigNumber } from '@ethersproject/bignumber';
3
- describe('Token', () => {
4
- const ADDRESS_ONE = '0x0000000000000000000000000000000000000001';
5
- const ADDRESS_TWO = '0x0000000000000000000000000000000000000002';
6
- const DAI_MAINNET = '0x6B175474E89094C44Da98b954EedeAC495271d0F';
7
- describe('#constructor', () => {
8
- it('fails with invalid address', () => {
9
- expect(() => new Token(3, '0xhello00000000000000000000000000000000002', 18).address).toThrow('0xhello00000000000000000000000000000000002 is not a valid address');
10
- });
11
- it('fails with negative decimals', () => {
12
- expect(() => new Token(3, ADDRESS_ONE, -1).address).toThrow('DECIMALS');
13
- });
14
- it('fails with 256 decimals', () => {
15
- expect(() => new Token(3, ADDRESS_ONE, 256).address).toThrow('DECIMALS');
16
- });
17
- it('fails with non-integer decimals', () => {
18
- expect(() => new Token(3, ADDRESS_ONE, 1.5).address).toThrow('DECIMALS');
19
- });
20
- it('fails with negative FOT fees', () => {
21
- expect(() => new Token(3, ADDRESS_ONE, 18, undefined, undefined, undefined, BigNumber.from(-1), undefined)).toThrow('NON-NEGATIVE FOT FEES');
22
- expect(() => new Token(3, ADDRESS_ONE, 18, undefined, undefined, undefined, undefined, BigNumber.from(-1))).toThrow('NON-NEGATIVE FOT FEES');
23
- });
24
- });
25
- describe('#constructor with bypassChecksum = true', () => {
26
- const bypassChecksum = true;
27
- it('creates the token with a valid address', () => {
28
- expect(new Token(3, ADDRESS_TWO, 18, undefined, undefined, bypassChecksum).address).toBe(ADDRESS_TWO);
29
- });
30
- it('fails with invalid address', () => {
31
- expect(() => new Token(3, '0xhello00000000000000000000000000000000002', 18, undefined, undefined, bypassChecksum).address).toThrow('0xhello00000000000000000000000000000000002 is not a valid address');
32
- });
33
- it('fails with negative decimals', () => {
34
- expect(() => new Token(3, ADDRESS_ONE, -1, undefined, undefined, bypassChecksum).address).toThrow('DECIMALS');
35
- });
36
- it('fails with 256 decimals', () => {
37
- expect(() => new Token(3, ADDRESS_ONE, 256, undefined, undefined, bypassChecksum).address).toThrow('DECIMALS');
38
- });
39
- it('fails with non-integer decimals', () => {
40
- expect(() => new Token(3, ADDRESS_ONE, 1.5, undefined, undefined, bypassChecksum).address).toThrow('DECIMALS');
41
- });
42
- });
43
- describe('#equals', () => {
44
- it('fails if address differs', () => {
45
- expect(new Token(1, ADDRESS_ONE, 18).equals(new Token(1, ADDRESS_TWO, 18))).toBe(false);
46
- });
47
- it('false if chain id differs', () => {
48
- expect(new Token(3, ADDRESS_ONE, 18).equals(new Token(1, ADDRESS_ONE, 18))).toBe(false);
49
- });
50
- it('true if only decimals differs', () => {
51
- expect(new Token(1, ADDRESS_ONE, 9).equals(new Token(1, ADDRESS_ONE, 18))).toBe(true);
52
- });
53
- it('true if address is the same', () => {
54
- expect(new Token(1, ADDRESS_ONE, 18).equals(new Token(1, ADDRESS_ONE, 18))).toBe(true);
55
- });
56
- it('true on reference equality', () => {
57
- const token = new Token(1, ADDRESS_ONE, 18);
58
- expect(token.equals(token)).toBe(true);
59
- });
60
- it('true even if name/symbol/decimals differ', () => {
61
- const tokenA = new Token(1, ADDRESS_ONE, 9, 'abc', 'def');
62
- const tokenB = new Token(1, ADDRESS_ONE, 18, 'ghi', 'jkl');
63
- expect(tokenA.equals(tokenB)).toBe(true);
64
- });
65
- it('true even if one token is checksummed and the other is not', () => {
66
- const tokenA = new Token(1, DAI_MAINNET, 18, 'DAI', undefined, false);
67
- const tokenB = new Token(1, DAI_MAINNET.toLowerCase(), 18, 'DAI', undefined, true);
68
- expect(tokenA.equals(tokenB)).toBe(true);
69
- });
70
- });
71
- });
72
- //# 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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"}
@@ -1,7 +0,0 @@
1
- import { Token } from './token';
2
- /**
3
- * Known WETH9 implementation addresses, used in our implementation of Ether#wrapped
4
- */
5
- export declare const WETH9: {
6
- [chainId: number]: Token;
7
- };
@@ -1,32 +0,0 @@
1
- import { Token } from './token';
2
- /**
3
- * Known WETH9 implementation addresses, used in our implementation of Ether#wrapped
4
- */
5
- export const WETH9 = {
6
- 1: new Token(1, '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', 18, 'WETH', 'Wrapped Ether'),
7
- 11155111: new Token(11155111, '0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14', 18, 'WETH', 'Wrapped Ether'),
8
- 3: new Token(3, '0xc778417E063141139Fce010982780140Aa0cD5Ab', 18, 'WETH', 'Wrapped Ether'),
9
- 4: new Token(4, '0xc778417E063141139Fce010982780140Aa0cD5Ab', 18, 'WETH', 'Wrapped Ether'),
10
- 5: new Token(5, '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6', 18, 'WETH', 'Wrapped Ether'),
11
- 42: new Token(42, '0xd0A1E359811322d97991E03f863a0C30C2cF029C', 18, 'WETH', 'Wrapped Ether'),
12
- 10: new Token(10, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
13
- 69: new Token(69, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
14
- 11155420: new Token(11155420, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
15
- 42161: new Token(42161, '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1', 18, 'WETH', 'Wrapped Ether'),
16
- 421611: new Token(421611, '0xB47e6A5f8b33b3F17603C83a0535A9dcD7E32681', 18, 'WETH', 'Wrapped Ether'),
17
- 421614: new Token(421614, '0x980B62Da83eFf3D4576C647993b0c1D7faf17c73', 18, 'WETH', 'Wrapped Ether'),
18
- 8453: new Token(8453, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
19
- 84532: new Token(84532, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
20
- 56: new Token(56, '0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c', 18, 'WBNB', 'Wrapped BNB'),
21
- 137: new Token(137, '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270', 18, 'WMATIC', 'Wrapped MATIC'),
22
- 43114: new Token(43114, '0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7', 18, 'WAVAX', 'Wrapped AVAX'),
23
- 7777777: new Token(7777777, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
24
- 81457: new Token(81457, '0x4300000000000000000000000000000000000004', 18, 'WETH', 'Wrapped Ether'),
25
- 324: new Token(324, '0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91', 18, 'WETH', 'Wrapped Ether'),
26
- 480: new Token(480, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
27
- 1301: new Token(1301, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
28
- 130: new Token(130, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
29
- 10143: new Token(10143, '0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701', 18, 'WMON', 'Wrapped Monad'),
30
- 1868: new Token(1868, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
31
- };
32
- //# sourceMappingURL=weth9.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weth9.js","sourceRoot":"","sources":["../../../../src/entities/weth9.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export * from './addresses';
2
- export * from './chains';
3
- export * from './constants';
4
- export * from './entities';
5
- export * from './utils';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
@@ -1,8 +0,0 @@
1
- import { Currency, CurrencyAmount, Percent, Price } from '../entities';
2
- /**
3
- * Returns the percent difference between the mid price and the execution price, i.e. price impact.
4
- * @param midPrice mid price before the trade
5
- * @param inputAmount the input amount of the trade
6
- * @param outputAmount the output amount of the trade
7
- */
8
- export declare function computePriceImpact<TBase extends Currency, TQuote extends Currency>(midPrice: Price<TBase, TQuote>, inputAmount: CurrencyAmount<TBase>, outputAmount: CurrencyAmount<TQuote>): Percent;
@@ -1,14 +0,0 @@
1
- import { Percent } from '../entities';
2
- /**
3
- * Returns the percent difference between the mid price and the execution price, i.e. price impact.
4
- * @param midPrice mid price before the trade
5
- * @param inputAmount the input amount of the trade
6
- * @param outputAmount the output amount of the trade
7
- */
8
- export function computePriceImpact(midPrice, inputAmount, outputAmount) {
9
- const quotedOutputAmount = midPrice.quote(inputAmount);
10
- // calculate price impact := (exactQuote - outputAmount) / exactQuote
11
- const priceImpact = quotedOutputAmount.subtract(outputAmount).divide(quotedOutputAmount);
12
- return new Percent(priceImpact.numerator, priceImpact.denominator);
13
- }
14
- //# sourceMappingURL=computePriceImpact.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"computePriceImpact.js","sourceRoot":"","sources":["../../../../src/utils/computePriceImpact.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAS,MAAM,aAAa,CAAA;AAEtE;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA8B,EAC9B,WAAkC,EAClC,YAAoC;IAEpC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACtD,qEAAqE;IACrE,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;IACxF,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;AACpE,CAAC"}
@@ -1 +0,0 @@
1
- export {};