@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,14 +0,0 @@
1
- import JSBI from 'jsbi';
2
- export var TradeType;
3
- (function (TradeType) {
4
- TradeType[TradeType["EXACT_INPUT"] = 0] = "EXACT_INPUT";
5
- TradeType[TradeType["EXACT_OUTPUT"] = 1] = "EXACT_OUTPUT";
6
- })(TradeType || (TradeType = {}));
7
- export var Rounding;
8
- (function (Rounding) {
9
- Rounding[Rounding["ROUND_DOWN"] = 0] = "ROUND_DOWN";
10
- Rounding[Rounding["ROUND_HALF_UP"] = 1] = "ROUND_HALF_UP";
11
- Rounding[Rounding["ROUND_UP"] = 2] = "ROUND_UP";
12
- })(Rounding || (Rounding = {}));
13
- export const MaxUint256 = JSBI.BigInt('0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff');
14
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAKvB,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,uDAAW,CAAA;IACX,yDAAY,CAAA;AACd,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,mDAAU,CAAA;IACV,yDAAa,CAAA;IACb,+CAAQ,CAAA;AACV,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,oEAAoE,CAAC,CAAA"}
@@ -1,22 +0,0 @@
1
- import invariant from 'tiny-invariant';
2
- /**
3
- * A currency is any fungible financial instrument, including Ether, all ERC20 tokens, and other chain-native currencies
4
- */
5
- export class BaseCurrency {
6
- /**
7
- * Constructs an instance of the base class `BaseCurrency`.
8
- * @param chainId the chain ID on which this currency resides
9
- * @param decimals decimals of the currency
10
- * @param symbol symbol of the currency
11
- * @param name of the currency
12
- */
13
- constructor(chainId, decimals, symbol, name) {
14
- invariant(Number.isSafeInteger(chainId), 'CHAIN_ID');
15
- invariant(decimals >= 0 && decimals < 255 && Number.isInteger(decimals), 'DECIMALS');
16
- this.chainId = chainId;
17
- this.decimals = decimals;
18
- this.symbol = symbol;
19
- this.name = name;
20
- }
21
- }
22
- //# sourceMappingURL=baseCurrency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseCurrency.js","sourceRoot":"","sources":["../../../../src/entities/baseCurrency.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAItC;;GAEG;AACH,MAAM,OAAgB,YAAY;IA2BhC;;;;;;OAMG;IACH,YAAsB,OAAe,EAAE,QAAgB,EAAE,MAAe,EAAE,IAAa;QACrF,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAA;QACpD,SAAS,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAA;QAEpF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CAaF"}
@@ -1,3 +0,0 @@
1
- import { NativeCurrency } from './nativeCurrency';
2
- import { Token } from './token';
3
- export type Currency = NativeCurrency | Token;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=currency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../../../../src/entities/currency.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- import { Ether, Token } from './index';
2
- describe('Currency', () => {
3
- const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000';
4
- const ADDRESS_ONE = '0x0000000000000000000000000000000000000001';
5
- const t0 = new Token(1, ADDRESS_ZERO, 18);
6
- const t1 = new Token(1, ADDRESS_ONE, 18);
7
- describe('#equals', () => {
8
- it('ether on same chains is ether', () => {
9
- expect(Ether.onChain(1).equals(Ether.onChain(1)));
10
- });
11
- it('ether is not token0', () => {
12
- expect(Ether.onChain(1).equals(t0)).toStrictEqual(false);
13
- });
14
- it('token1 is not token0', () => {
15
- expect(t1.equals(t0)).toStrictEqual(false);
16
- });
17
- it('token0 is token0', () => {
18
- expect(t0.equals(t0)).toStrictEqual(true);
19
- });
20
- it('token0 is equal to another token0', () => {
21
- expect(t0.equals(new Token(1, ADDRESS_ZERO, 18, 'symbol', 'name'))).toStrictEqual(true);
22
- });
23
- });
24
- });
25
- //# sourceMappingURL=currency.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"currency.test.js","sourceRoot":"","sources":["../../../../src/entities/currency.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,MAAM,YAAY,GAAG,4CAA4C,CAAA;IACjE,MAAM,WAAW,GAAG,4CAA4C,CAAA;IAEhE,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;IACzC,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;IAExC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC1B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACzF,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,25 +0,0 @@
1
- import invariant from 'tiny-invariant';
2
- import { NativeCurrency } from './nativeCurrency';
3
- import { WETH9 } from './weth9';
4
- /**
5
- * Ether is the main usage of a 'native' currency, i.e. for Ethereum mainnet and all testnets
6
- */
7
- export class Ether extends NativeCurrency {
8
- constructor(chainId) {
9
- super(chainId, 18, 'ETH', 'Ether');
10
- }
11
- get wrapped() {
12
- const weth9 = WETH9[this.chainId];
13
- invariant(!!weth9, 'WRAPPED');
14
- return weth9;
15
- }
16
- static onChain(chainId) {
17
- var _a;
18
- return (_a = this._etherCache[chainId]) !== null && _a !== void 0 ? _a : (this._etherCache[chainId] = new Ether(chainId));
19
- }
20
- equals(other) {
21
- return other.isNative && other.chainId === this.chainId;
22
- }
23
- }
24
- Ether._etherCache = {};
25
- //# sourceMappingURL=ether.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ether.js","sourceRoot":"","sources":["../../../../src/entities/ether.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B;;GAEG;AACH,MAAM,OAAO,KAAM,SAAQ,cAAc;IACvC,YAAsB,OAAe;QACnC,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC;IAED,IAAW,OAAO;QAChB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAC7B,OAAO,KAAK,CAAA;IACd,CAAC;IAIM,MAAM,CAAC,OAAO,CAAC,OAAe;;QACnC,OAAO,MAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,mCAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IACtF,CAAC;IAEM,MAAM,CAAC,KAAe;QAC3B,OAAO,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAA;IACzD,CAAC;;AARc,iBAAW,GAAiC,EAAE,CAAA"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,17 +0,0 @@
1
- import { Ether } from './ether';
2
- describe('Ether', () => {
3
- it('static constructor uses cache', () => {
4
- // eslint-disable-next-line no-self-compare
5
- expect(Ether.onChain(1) === Ether.onChain(1)).toEqual(true);
6
- });
7
- it('caches once per chain ID', () => {
8
- expect(Ether.onChain(1) !== Ether.onChain(2)).toEqual(true);
9
- });
10
- it('#equals returns false for diff chains', () => {
11
- expect(Ether.onChain(1).equals(Ether.onChain(2))).toEqual(false);
12
- });
13
- it('#equals returns true for same chains', () => {
14
- expect(Ether.onChain(1).equals(Ether.onChain(1))).toEqual(true);
15
- });
16
- });
17
- //# sourceMappingURL=ether.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ether.test.js","sourceRoot":"","sources":["../../../../src/entities/ether.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,2CAA2C;QAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,31 +0,0 @@
1
- import JSBI from 'jsbi';
2
- import { Currency } from '../currency';
3
- import { Token } from '../token';
4
- import { Fraction } from './fraction';
5
- import { BigintIsh, Rounding } from '../../constants';
6
- export declare class CurrencyAmount<T extends Currency> extends Fraction {
7
- readonly currency: T;
8
- readonly decimalScale: JSBI;
9
- /**
10
- * Returns a new currency amount instance from the unitless amount of token, i.e. the raw amount
11
- * @param currency the currency in the amount
12
- * @param rawAmount the raw token or ether amount
13
- */
14
- static fromRawAmount<T extends Currency>(currency: T, rawAmount: BigintIsh): CurrencyAmount<T>;
15
- /**
16
- * Construct a currency amount with a denominator that is not equal to 1
17
- * @param currency the currency
18
- * @param numerator the numerator of the fractional token amount
19
- * @param denominator the denominator of the fractional token amount
20
- */
21
- static fromFractionalAmount<T extends Currency>(currency: T, numerator: BigintIsh, denominator: BigintIsh): CurrencyAmount<T>;
22
- protected constructor(currency: T, numerator: BigintIsh, denominator?: BigintIsh);
23
- add(other: CurrencyAmount<T>): CurrencyAmount<T>;
24
- subtract(other: CurrencyAmount<T>): CurrencyAmount<T>;
25
- multiply(other: Fraction | BigintIsh): CurrencyAmount<T>;
26
- divide(other: Fraction | BigintIsh): CurrencyAmount<T>;
27
- toSignificant(significantDigits?: number, format?: object, rounding?: Rounding): string;
28
- toFixed(decimalPlaces?: number, format?: object, rounding?: Rounding): string;
29
- toExact(format?: object): string;
30
- get wrapped(): CurrencyAmount<Token>;
31
- }
@@ -1,67 +0,0 @@
1
- import invariant from 'tiny-invariant';
2
- import JSBI from 'jsbi';
3
- import { Fraction } from './fraction';
4
- import _Big from 'big.js';
5
- import toFormat from 'toformat';
6
- import { Rounding, MaxUint256 } from '../../constants';
7
- const Big = toFormat(_Big);
8
- export class CurrencyAmount extends Fraction {
9
- /**
10
- * Returns a new currency amount instance from the unitless amount of token, i.e. the raw amount
11
- * @param currency the currency in the amount
12
- * @param rawAmount the raw token or ether amount
13
- */
14
- static fromRawAmount(currency, rawAmount) {
15
- return new CurrencyAmount(currency, rawAmount);
16
- }
17
- /**
18
- * Construct a currency amount with a denominator that is not equal to 1
19
- * @param currency the currency
20
- * @param numerator the numerator of the fractional token amount
21
- * @param denominator the denominator of the fractional token amount
22
- */
23
- static fromFractionalAmount(currency, numerator, denominator) {
24
- return new CurrencyAmount(currency, numerator, denominator);
25
- }
26
- constructor(currency, numerator, denominator) {
27
- super(numerator, denominator);
28
- invariant(JSBI.lessThanOrEqual(this.quotient, MaxUint256), 'AMOUNT');
29
- this.currency = currency;
30
- this.decimalScale = JSBI.exponentiate(JSBI.BigInt(10), JSBI.BigInt(currency.decimals));
31
- }
32
- add(other) {
33
- invariant(this.currency.equals(other.currency), 'CURRENCY');
34
- const added = super.add(other);
35
- return CurrencyAmount.fromFractionalAmount(this.currency, added.numerator, added.denominator);
36
- }
37
- subtract(other) {
38
- invariant(this.currency.equals(other.currency), 'CURRENCY');
39
- const subtracted = super.subtract(other);
40
- return CurrencyAmount.fromFractionalAmount(this.currency, subtracted.numerator, subtracted.denominator);
41
- }
42
- multiply(other) {
43
- const multiplied = super.multiply(other);
44
- return CurrencyAmount.fromFractionalAmount(this.currency, multiplied.numerator, multiplied.denominator);
45
- }
46
- divide(other) {
47
- const divided = super.divide(other);
48
- return CurrencyAmount.fromFractionalAmount(this.currency, divided.numerator, divided.denominator);
49
- }
50
- toSignificant(significantDigits = 6, format, rounding = Rounding.ROUND_DOWN) {
51
- return super.divide(this.decimalScale).toSignificant(significantDigits, format, rounding);
52
- }
53
- toFixed(decimalPlaces = this.currency.decimals, format, rounding = Rounding.ROUND_DOWN) {
54
- invariant(decimalPlaces <= this.currency.decimals, 'DECIMALS');
55
- return super.divide(this.decimalScale).toFixed(decimalPlaces, format, rounding);
56
- }
57
- toExact(format = { groupSeparator: '' }) {
58
- Big.DP = this.currency.decimals;
59
- return new Big(this.quotient.toString()).div(this.decimalScale.toString()).toFormat(format);
60
- }
61
- get wrapped() {
62
- if (this.currency.isToken)
63
- return this;
64
- return CurrencyAmount.fromFractionalAmount(this.currency.wrapped, this.numerator, this.denominator);
65
- }
66
- }
67
- //# sourceMappingURL=currencyAmount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"currencyAmount.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/currencyAmount.ts"],"names":[],"mappings":"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"}
@@ -1,96 +0,0 @@
1
- import JSBI from 'jsbi';
2
- import { MaxUint256 } from '../../constants';
3
- import { Ether } from '../ether';
4
- import { Token } from '../token';
5
- import { CurrencyAmount } from './currencyAmount';
6
- import { Percent } from './percent';
7
- describe('CurrencyAmount', () => {
8
- const ADDRESS_ONE = '0x0000000000000000000000000000000000000001';
9
- describe('constructor', () => {
10
- it('works', () => {
11
- const token = new Token(1, ADDRESS_ONE, 18);
12
- const amount = CurrencyAmount.fromRawAmount(token, 100);
13
- expect(amount.quotient).toEqual(JSBI.BigInt(100));
14
- });
15
- });
16
- describe('#quotient', () => {
17
- it('returns the amount after multiplication', () => {
18
- const token = new Token(1, ADDRESS_ONE, 18);
19
- const amount = CurrencyAmount.fromRawAmount(token, 100).multiply(new Percent(15, 100));
20
- expect(amount.quotient).toEqual(JSBI.BigInt(15));
21
- });
22
- });
23
- describe('#ether', () => {
24
- it('produces ether amount', () => {
25
- const amount = CurrencyAmount.fromRawAmount(Ether.onChain(1), 100);
26
- expect(amount.quotient).toEqual(JSBI.BigInt(100));
27
- expect(amount.currency).toEqual(Ether.onChain(1));
28
- });
29
- });
30
- it('token amount can be max uint256', () => {
31
- const amount = CurrencyAmount.fromRawAmount(new Token(1, ADDRESS_ONE, 18), MaxUint256);
32
- expect(amount.quotient).toEqual(MaxUint256);
33
- });
34
- it('token amount cannot exceed max uint256', () => {
35
- expect(() => CurrencyAmount.fromRawAmount(new Token(1, ADDRESS_ONE, 18), JSBI.add(MaxUint256, JSBI.BigInt(1)))).toThrow('AMOUNT');
36
- });
37
- it('token amount quotient cannot exceed max uint256', () => {
38
- expect(() => CurrencyAmount.fromFractionalAmount(new Token(1, ADDRESS_ONE, 18), JSBI.add(JSBI.multiply(MaxUint256, JSBI.BigInt(2)), JSBI.BigInt(2)), JSBI.BigInt(2))).toThrow('AMOUNT');
39
- });
40
- it('token amount numerator can be gt. uint256 if denominator is gt. 1', () => {
41
- const amount = CurrencyAmount.fromFractionalAmount(new Token(1, ADDRESS_ONE, 18), JSBI.add(MaxUint256, JSBI.BigInt(2)), 2);
42
- expect(amount.numerator).toEqual(JSBI.add(JSBI.BigInt(2), MaxUint256));
43
- });
44
- describe('#toFixed', () => {
45
- it('throws for decimals > currency.decimals', () => {
46
- const token = new Token(1, ADDRESS_ONE, 0);
47
- const amount = CurrencyAmount.fromRawAmount(token, 1000);
48
- expect(() => amount.toFixed(3)).toThrow('DECIMALS');
49
- });
50
- it('is correct for 0 decimals', () => {
51
- const token = new Token(1, ADDRESS_ONE, 0);
52
- const amount = CurrencyAmount.fromRawAmount(token, 123456);
53
- expect(amount.toFixed(0)).toEqual('123456');
54
- });
55
- it('is correct for 18 decimals', () => {
56
- const token = new Token(1, ADDRESS_ONE, 18);
57
- const amount = CurrencyAmount.fromRawAmount(token, 1e15);
58
- expect(amount.toFixed(9)).toEqual('0.001000000');
59
- });
60
- });
61
- describe('#toSignificant', () => {
62
- it('does not throw for sig figs > currency.decimals', () => {
63
- const token = new Token(1, ADDRESS_ONE, 0);
64
- const amount = CurrencyAmount.fromRawAmount(token, 1000);
65
- expect(amount.toSignificant(3)).toEqual('1000');
66
- });
67
- it('is correct for 0 decimals', () => {
68
- const token = new Token(1, ADDRESS_ONE, 0);
69
- const amount = CurrencyAmount.fromRawAmount(token, 123456);
70
- expect(amount.toSignificant(4)).toEqual('123400');
71
- });
72
- it('is correct for 18 decimals', () => {
73
- const token = new Token(1, ADDRESS_ONE, 18);
74
- const amount = CurrencyAmount.fromRawAmount(token, 1e15);
75
- expect(amount.toSignificant(9)).toEqual('0.001');
76
- });
77
- });
78
- describe('#toExact', () => {
79
- it('does not throw for sig figs > currency.decimals', () => {
80
- const token = new Token(1, ADDRESS_ONE, 0);
81
- const amount = CurrencyAmount.fromRawAmount(token, 1000);
82
- expect(amount.toExact()).toEqual('1000');
83
- });
84
- it('is correct for 0 decimals', () => {
85
- const token = new Token(1, ADDRESS_ONE, 0);
86
- const amount = CurrencyAmount.fromRawAmount(token, 123456);
87
- expect(amount.toExact()).toEqual('123456');
88
- });
89
- it('is correct for 18 decimals', () => {
90
- const token = new Token(1, ADDRESS_ONE, 18);
91
- const amount = CurrencyAmount.fromRawAmount(token, 123e13);
92
- expect(amount.toExact()).toEqual('0.00123');
93
- });
94
- });
95
- });
96
- //# sourceMappingURL=currencyAmount.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"currencyAmount.test.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/currencyAmount.test.ts"],"names":[],"mappings":"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"}
@@ -1,99 +0,0 @@
1
- import JSBI from 'jsbi';
2
- import invariant from 'tiny-invariant';
3
- import _Decimal from 'decimal.js-light';
4
- import _Big from 'big.js';
5
- import toFormat from 'toformat';
6
- import { Rounding } from '../../constants';
7
- const Decimal = toFormat(_Decimal);
8
- const Big = toFormat(_Big);
9
- const toSignificantRounding = {
10
- [Rounding.ROUND_DOWN]: Decimal.ROUND_DOWN,
11
- [Rounding.ROUND_HALF_UP]: Decimal.ROUND_HALF_UP,
12
- [Rounding.ROUND_UP]: Decimal.ROUND_UP,
13
- };
14
- const toFixedRounding = {
15
- [Rounding.ROUND_DOWN]: 0 /* RoundingMode.RoundDown */,
16
- [Rounding.ROUND_HALF_UP]: 1 /* RoundingMode.RoundHalfUp */,
17
- [Rounding.ROUND_UP]: 3 /* RoundingMode.RoundUp */,
18
- };
19
- export class Fraction {
20
- constructor(numerator, denominator = JSBI.BigInt(1)) {
21
- this.numerator = JSBI.BigInt(numerator);
22
- this.denominator = JSBI.BigInt(denominator);
23
- }
24
- static tryParseFraction(fractionish) {
25
- if (fractionish instanceof JSBI || typeof fractionish === 'number' || typeof fractionish === 'string')
26
- return new Fraction(fractionish);
27
- if ('numerator' in fractionish && 'denominator' in fractionish)
28
- return fractionish;
29
- throw new Error('Could not parse fraction');
30
- }
31
- // performs floor division
32
- get quotient() {
33
- return JSBI.divide(this.numerator, this.denominator);
34
- }
35
- // remainder after floor division
36
- get remainder() {
37
- return new Fraction(JSBI.remainder(this.numerator, this.denominator), this.denominator);
38
- }
39
- invert() {
40
- return new Fraction(this.denominator, this.numerator);
41
- }
42
- add(other) {
43
- const otherParsed = Fraction.tryParseFraction(other);
44
- if (JSBI.equal(this.denominator, otherParsed.denominator)) {
45
- return new Fraction(JSBI.add(this.numerator, otherParsed.numerator), this.denominator);
46
- }
47
- return new Fraction(JSBI.add(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator)), JSBI.multiply(this.denominator, otherParsed.denominator));
48
- }
49
- subtract(other) {
50
- const otherParsed = Fraction.tryParseFraction(other);
51
- if (JSBI.equal(this.denominator, otherParsed.denominator)) {
52
- return new Fraction(JSBI.subtract(this.numerator, otherParsed.numerator), this.denominator);
53
- }
54
- return new Fraction(JSBI.subtract(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator)), JSBI.multiply(this.denominator, otherParsed.denominator));
55
- }
56
- lessThan(other) {
57
- const otherParsed = Fraction.tryParseFraction(other);
58
- return JSBI.lessThan(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator));
59
- }
60
- equalTo(other) {
61
- const otherParsed = Fraction.tryParseFraction(other);
62
- return JSBI.equal(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator));
63
- }
64
- greaterThan(other) {
65
- const otherParsed = Fraction.tryParseFraction(other);
66
- return JSBI.greaterThan(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator));
67
- }
68
- multiply(other) {
69
- const otherParsed = Fraction.tryParseFraction(other);
70
- return new Fraction(JSBI.multiply(this.numerator, otherParsed.numerator), JSBI.multiply(this.denominator, otherParsed.denominator));
71
- }
72
- divide(other) {
73
- const otherParsed = Fraction.tryParseFraction(other);
74
- return new Fraction(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(this.denominator, otherParsed.numerator));
75
- }
76
- toSignificant(significantDigits, format = { groupSeparator: '' }, rounding = Rounding.ROUND_HALF_UP) {
77
- invariant(Number.isInteger(significantDigits), `${significantDigits} is not an integer.`);
78
- invariant(significantDigits > 0, `${significantDigits} is not positive.`);
79
- Decimal.set({ precision: significantDigits + 1, rounding: toSignificantRounding[rounding] });
80
- const quotient = new Decimal(this.numerator.toString())
81
- .div(this.denominator.toString())
82
- .toSignificantDigits(significantDigits);
83
- return quotient.toFormat(quotient.decimalPlaces(), format);
84
- }
85
- toFixed(decimalPlaces, format = { groupSeparator: '' }, rounding = Rounding.ROUND_HALF_UP) {
86
- invariant(Number.isInteger(decimalPlaces), `${decimalPlaces} is not an integer.`);
87
- invariant(decimalPlaces >= 0, `${decimalPlaces} is negative.`);
88
- Big.DP = decimalPlaces;
89
- Big.RM = toFixedRounding[rounding];
90
- return new Big(this.numerator.toString()).div(this.denominator.toString()).toFormat(decimalPlaces, format);
91
- }
92
- /**
93
- * Helper method for converting any super class back to a fraction
94
- */
95
- get asFraction() {
96
- return new Fraction(this.numerator, this.denominator);
97
- }
98
- }
99
- //# sourceMappingURL=fraction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fraction.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/fraction.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,83 +0,0 @@
1
- import JSBI from 'jsbi';
2
- import { Fraction } from './fraction';
3
- describe('Fraction', () => {
4
- describe('#quotient', () => {
5
- it('floor division', () => {
6
- expect(new Fraction(JSBI.BigInt(8), JSBI.BigInt(3)).quotient).toEqual(JSBI.BigInt(2)); // one below
7
- expect(new Fraction(JSBI.BigInt(12), JSBI.BigInt(4)).quotient).toEqual(JSBI.BigInt(3)); // exact
8
- expect(new Fraction(JSBI.BigInt(16), JSBI.BigInt(5)).quotient).toEqual(JSBI.BigInt(3)); // one above
9
- });
10
- });
11
- describe('#remainder', () => {
12
- it('returns fraction after divison', () => {
13
- expect(new Fraction(JSBI.BigInt(8), JSBI.BigInt(3)).remainder).toEqual(new Fraction(JSBI.BigInt(2), JSBI.BigInt(3)));
14
- expect(new Fraction(JSBI.BigInt(12), JSBI.BigInt(4)).remainder).toEqual(new Fraction(JSBI.BigInt(0), JSBI.BigInt(4)));
15
- expect(new Fraction(JSBI.BigInt(16), JSBI.BigInt(5)).remainder).toEqual(new Fraction(JSBI.BigInt(1), JSBI.BigInt(5)));
16
- });
17
- });
18
- describe('#invert', () => {
19
- it('flips num and denom', () => {
20
- expect(new Fraction(JSBI.BigInt(5), JSBI.BigInt(10)).invert().numerator).toEqual(JSBI.BigInt(10));
21
- expect(new Fraction(JSBI.BigInt(5), JSBI.BigInt(10)).invert().denominator).toEqual(JSBI.BigInt(5));
22
- });
23
- });
24
- describe('#add', () => {
25
- it('multiples denoms and adds nums', () => {
26
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(10)).add(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toEqual(new Fraction(JSBI.BigInt(52), JSBI.BigInt(120)));
27
- });
28
- it('same denom', () => {
29
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(5)).add(new Fraction(JSBI.BigInt(2), JSBI.BigInt(5)))).toEqual(new Fraction(JSBI.BigInt(3), JSBI.BigInt(5)));
30
- });
31
- });
32
- describe('#subtract', () => {
33
- it('multiples denoms and subtracts nums', () => {
34
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(10)).subtract(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toEqual(new Fraction(JSBI.BigInt(-28), JSBI.BigInt(120)));
35
- });
36
- it('same denom', () => {
37
- expect(new Fraction(JSBI.BigInt(3), JSBI.BigInt(5)).subtract(new Fraction(JSBI.BigInt(2), JSBI.BigInt(5)))).toEqual(new Fraction(JSBI.BigInt(1), JSBI.BigInt(5)));
38
- });
39
- });
40
- describe('#lessThan', () => {
41
- it('correct', () => {
42
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(10)).lessThan(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(true);
43
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(3)).lessThan(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(false);
44
- expect(new Fraction(JSBI.BigInt(5), JSBI.BigInt(12)).lessThan(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(false);
45
- });
46
- });
47
- describe('#equalTo', () => {
48
- it('correct', () => {
49
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(10)).equalTo(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(false);
50
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(3)).equalTo(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(true);
51
- expect(new Fraction(JSBI.BigInt(5), JSBI.BigInt(12)).equalTo(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(false);
52
- });
53
- });
54
- describe('#greaterThan', () => {
55
- it('correct', () => {
56
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(10)).greaterThan(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(false);
57
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(3)).greaterThan(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(false);
58
- expect(new Fraction(JSBI.BigInt(5), JSBI.BigInt(12)).greaterThan(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toBe(true);
59
- });
60
- });
61
- describe('#multiplty', () => {
62
- it('correct', () => {
63
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(10)).multiply(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toEqual(new Fraction(JSBI.BigInt(4), JSBI.BigInt(120)));
64
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(3)).multiply(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toEqual(new Fraction(JSBI.BigInt(4), JSBI.BigInt(36)));
65
- expect(new Fraction(JSBI.BigInt(5), JSBI.BigInt(12)).multiply(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toEqual(new Fraction(JSBI.BigInt(20), JSBI.BigInt(144)));
66
- });
67
- });
68
- describe('#divide', () => {
69
- it('correct', () => {
70
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(10)).divide(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toEqual(new Fraction(JSBI.BigInt(12), JSBI.BigInt(40)));
71
- expect(new Fraction(JSBI.BigInt(1), JSBI.BigInt(3)).divide(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toEqual(new Fraction(JSBI.BigInt(12), JSBI.BigInt(12)));
72
- expect(new Fraction(JSBI.BigInt(5), JSBI.BigInt(12)).divide(new Fraction(JSBI.BigInt(4), JSBI.BigInt(12)))).toEqual(new Fraction(JSBI.BigInt(60), JSBI.BigInt(48)));
73
- });
74
- });
75
- describe('#asFraction', () => {
76
- it('returns an equivalent but not the same reference fraction', () => {
77
- const f = new Fraction(1, 2);
78
- expect(f.asFraction).toEqual(f);
79
- expect(f === f.asFraction).toEqual(false);
80
- });
81
- });
82
- });
83
- //# 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,4 +0,0 @@
1
- export { CurrencyAmount } from './currencyAmount';
2
- export { Fraction } from './fraction';
3
- export { Percent } from './percent';
4
- export { Price } from './price';
@@ -1,5 +0,0 @@
1
- export { CurrencyAmount } from './currencyAmount';
2
- export { Fraction } from './fraction';
3
- export { Percent } from './percent';
4
- export { Price } from './price';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/entities/fractions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA"}
@@ -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
- }