@lifi/sdk 4.0.0-alpha.7 → 4.0.0-alpha.8

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 (94) hide show
  1. package/dist/cjs/actions/index.d.ts +3 -1
  2. package/dist/cjs/actions/index.js +2 -0
  3. package/dist/cjs/actions/index.js.map +1 -1
  4. package/dist/cjs/actions/patchContractCalls.d.ts +10 -0
  5. package/dist/cjs/actions/patchContractCalls.js +16 -0
  6. package/dist/cjs/actions/patchContractCalls.js.map +1 -0
  7. package/dist/cjs/core/checkBalance.js +3 -3
  8. package/dist/cjs/core/checkBalance.js.map +1 -1
  9. package/dist/cjs/core/utils.d.ts +1 -0
  10. package/dist/cjs/errors/constants.d.ts +4 -2
  11. package/dist/cjs/errors/constants.js +2 -0
  12. package/dist/cjs/errors/constants.js.map +1 -1
  13. package/dist/cjs/index.d.ts +5 -3
  14. package/dist/cjs/index.js +10 -6
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/types/core.d.ts +24 -4
  17. package/dist/cjs/utils/convertQuoteToRoute.d.ts +6 -1
  18. package/dist/cjs/utils/convertQuoteToRoute.js +73 -5
  19. package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -1
  20. package/dist/cjs/utils/formatUnits.d.ts +1 -0
  21. package/dist/cjs/utils/formatUnits.js +18 -0
  22. package/dist/cjs/utils/formatUnits.js.map +1 -0
  23. package/dist/cjs/utils/isHex.d.ts +4 -0
  24. package/dist/cjs/utils/isHex.js +13 -0
  25. package/dist/cjs/utils/isHex.js.map +1 -0
  26. package/dist/cjs/utils/parseUnits.d.ts +1 -0
  27. package/dist/cjs/utils/parseUnits.js +44 -0
  28. package/dist/cjs/utils/parseUnits.js.map +1 -0
  29. package/dist/cjs/version.d.ts +1 -1
  30. package/dist/cjs/version.js +1 -1
  31. package/dist/esm/actions/index.d.ts +9 -1
  32. package/dist/esm/actions/index.js +2 -0
  33. package/dist/esm/actions/index.js.map +1 -1
  34. package/dist/esm/actions/patchContractCalls.d.ts +10 -0
  35. package/dist/esm/actions/patchContractCalls.js +12 -0
  36. package/dist/esm/actions/patchContractCalls.js.map +1 -0
  37. package/dist/esm/core/checkBalance.js +1 -1
  38. package/dist/esm/core/checkBalance.js.map +1 -1
  39. package/dist/esm/core/utils.d.ts +1 -0
  40. package/dist/esm/errors/constants.d.ts +4 -2
  41. package/dist/esm/errors/constants.js +2 -0
  42. package/dist/esm/errors/constants.js.map +1 -1
  43. package/dist/esm/index.d.ts +5 -3
  44. package/dist/esm/index.js +4 -1
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/types/core.d.ts +24 -4
  47. package/dist/esm/utils/convertQuoteToRoute.d.ts +11 -3
  48. package/dist/esm/utils/convertQuoteToRoute.js +76 -7
  49. package/dist/esm/utils/convertQuoteToRoute.js.map +1 -1
  50. package/dist/esm/utils/formatUnits.d.ts +4 -0
  51. package/dist/esm/utils/formatUnits.js +18 -0
  52. package/dist/esm/utils/formatUnits.js.map +1 -0
  53. package/dist/esm/utils/isHex.d.ts +4 -0
  54. package/dist/esm/utils/isHex.js +10 -0
  55. package/dist/esm/utils/isHex.js.map +1 -0
  56. package/dist/esm/utils/parseUnits.d.ts +4 -0
  57. package/dist/esm/utils/parseUnits.js +46 -0
  58. package/dist/esm/utils/parseUnits.js.map +1 -0
  59. package/dist/esm/version.d.ts +1 -1
  60. package/dist/esm/version.js +1 -1
  61. package/dist/types/actions/index.d.ts +9 -1
  62. package/dist/types/actions/index.d.ts.map +1 -1
  63. package/dist/types/actions/patchContractCalls.d.ts +11 -0
  64. package/dist/types/actions/patchContractCalls.d.ts.map +1 -0
  65. package/dist/types/core/checkBalance.d.ts.map +1 -1
  66. package/dist/types/core/utils.d.ts +1 -0
  67. package/dist/types/core/utils.d.ts.map +1 -1
  68. package/dist/types/errors/constants.d.ts +4 -2
  69. package/dist/types/errors/constants.d.ts.map +1 -1
  70. package/dist/types/index.d.ts +5 -3
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/types/core.d.ts +24 -4
  73. package/dist/types/types/core.d.ts.map +1 -1
  74. package/dist/types/utils/convertQuoteToRoute.d.ts +11 -3
  75. package/dist/types/utils/convertQuoteToRoute.d.ts.map +1 -1
  76. package/dist/types/utils/formatUnits.d.ts +5 -0
  77. package/dist/types/utils/formatUnits.d.ts.map +1 -0
  78. package/dist/types/utils/isHex.d.ts +5 -0
  79. package/dist/types/utils/isHex.d.ts.map +1 -0
  80. package/dist/types/utils/parseUnits.d.ts +5 -0
  81. package/dist/types/utils/parseUnits.d.ts.map +1 -0
  82. package/dist/types/version.d.ts +1 -1
  83. package/package.json +2 -3
  84. package/src/actions/index.ts +18 -0
  85. package/src/actions/patchContractCalls.ts +30 -0
  86. package/src/core/checkBalance.ts +1 -1
  87. package/src/errors/constants.ts +2 -0
  88. package/src/index.ts +8 -3
  89. package/src/types/core.ts +30 -4
  90. package/src/utils/convertQuoteToRoute.ts +117 -8
  91. package/src/utils/formatUnits.ts +22 -0
  92. package/src/utils/isHex.ts +14 -0
  93. package/src/utils/parseUnits.ts +50 -0
  94. package/src/version.ts +1 -1
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Multiplies a string representation of a number by a given exponent of base 10 (10exponent).
3
+ */
4
+ export function parseUnits(value: string, decimals: number) {
5
+ if (!/^(-?)([0-9]*)\.?([0-9]*)$/.test(value)) {
6
+ throw new Error(`Number \`${value}\` is not a valid decimal number.`)
7
+ }
8
+
9
+ let [integer, fraction = '0'] = value.split('.')
10
+
11
+ const negative = integer.startsWith('-')
12
+ if (negative) {
13
+ integer = integer.slice(1)
14
+ }
15
+
16
+ // trim trailing zeros.
17
+ fraction = fraction.replace(/(0+)$/, '')
18
+
19
+ // round off if the fraction is larger than the number of decimals.
20
+ if (decimals === 0) {
21
+ if (Math.round(Number(`.${fraction}`)) === 1) {
22
+ integer = `${BigInt(integer) + 1n}`
23
+ }
24
+ fraction = ''
25
+ } else if (fraction.length > decimals) {
26
+ const [left, unit, right] = [
27
+ fraction.slice(0, decimals - 1),
28
+ fraction.slice(decimals - 1, decimals),
29
+ fraction.slice(decimals),
30
+ ]
31
+
32
+ const rounded = Math.round(Number(`${unit}.${right}`))
33
+ if (rounded > 9) {
34
+ fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0')
35
+ } else {
36
+ fraction = `${left}${rounded}`
37
+ }
38
+
39
+ if (fraction.length > decimals) {
40
+ fraction = fraction.slice(1)
41
+ integer = `${BigInt(integer) + 1n}`
42
+ }
43
+
44
+ fraction = fraction.slice(0, decimals)
45
+ } else {
46
+ fraction = fraction.padEnd(decimals, '0')
47
+ }
48
+
49
+ return BigInt(`${negative ? '-' : ''}${integer}${fraction}`)
50
+ }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/sdk'
2
- export const version = '4.0.0-alpha.7'
2
+ export const version = '4.0.0-alpha.8'