@ichidao/ichi-vaults-sdk 0.0.1

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 (97) hide show
  1. package/README.md +420 -0
  2. package/dist/abis/types/DepositGuard.d.ts +114 -0
  3. package/dist/abis/types/DepositGuard.js +3 -0
  4. package/dist/abis/types/DepositGuard.js.map +1 -0
  5. package/dist/abis/types/ERC20.d.ts +168 -0
  6. package/dist/abis/types/ERC20.js +3 -0
  7. package/dist/abis/types/ERC20.js.map +1 -0
  8. package/dist/abis/types/IchiVault.d.ts +828 -0
  9. package/dist/abis/types/IchiVault.js +3 -0
  10. package/dist/abis/types/IchiVault.js.map +1 -0
  11. package/dist/abis/types/common.d.ts +22 -0
  12. package/dist/abis/types/common.js +3 -0
  13. package/dist/abis/types/common.js.map +1 -0
  14. package/dist/abis/types/factories/DepositGuard__factory.d.ts +139 -0
  15. package/dist/abis/types/factories/DepositGuard__factory.js +191 -0
  16. package/dist/abis/types/factories/DepositGuard__factory.js.map +1 -0
  17. package/dist/abis/types/factories/ERC20__factory.d.ts +175 -0
  18. package/dist/abis/types/factories/ERC20__factory.js +243 -0
  19. package/dist/abis/types/factories/ERC20__factory.js.map +1 -0
  20. package/dist/abis/types/factories/IchiVault__factory.d.ts +899 -0
  21. package/dist/abis/types/factories/IchiVault__factory.js +1168 -0
  22. package/dist/abis/types/factories/IchiVault__factory.js.map +1 -0
  23. package/dist/abis/types/factories/index.d.ts +3 -0
  24. package/dist/abis/types/factories/index.js +13 -0
  25. package/dist/abis/types/factories/index.js.map +1 -0
  26. package/dist/abis/types/index.d.ts +7 -0
  27. package/dist/abis/types/index.js +34 -0
  28. package/dist/abis/types/index.js.map +1 -0
  29. package/dist/src/__tests__/index.test.d.ts +1 -0
  30. package/dist/src/__tests__/index.test.js +238 -0
  31. package/dist/src/__tests__/index.test.js.map +1 -0
  32. package/dist/src/abis/IchiVault.json +1147 -0
  33. package/dist/src/abis/types/DepositGuard.d.ts +114 -0
  34. package/dist/src/abis/types/ERC20.d.ts +168 -0
  35. package/dist/src/abis/types/IchiVault.d.ts +828 -0
  36. package/dist/src/abis/types/common.d.ts +22 -0
  37. package/dist/src/abis/types/factories/DepositGuard__factory.d.ts +139 -0
  38. package/dist/src/abis/types/factories/ERC20__factory.d.ts +175 -0
  39. package/dist/src/abis/types/factories/IchiVault__factory.d.ts +899 -0
  40. package/dist/src/abis/types/factories/index.d.ts +3 -0
  41. package/dist/src/abis/types/index.d.ts +7 -0
  42. package/dist/src/contracts/index.d.ts +6 -0
  43. package/dist/src/contracts/index.js +22 -0
  44. package/dist/src/contracts/index.js.map +1 -0
  45. package/dist/src/functions/balances.d.ts +12 -0
  46. package/dist/src/functions/balances.js +227 -0
  47. package/dist/src/functions/balances.js.map +1 -0
  48. package/dist/src/functions/deposit.d.ts +9 -0
  49. package/dist/src/functions/deposit.js +260 -0
  50. package/dist/src/functions/deposit.js.map +1 -0
  51. package/dist/src/functions/vault.d.ts +3 -0
  52. package/dist/src/functions/vault.js +96 -0
  53. package/dist/src/functions/vault.js.map +1 -0
  54. package/dist/src/functions/withdraw.d.ts +5 -0
  55. package/dist/src/functions/withdraw.js +102 -0
  56. package/dist/src/functions/withdraw.js.map +1 -0
  57. package/dist/src/index.cjs.js +18 -0
  58. package/dist/src/index.d.ts +5 -0
  59. package/dist/src/index.esm.js +16 -0
  60. package/dist/src/index.js +23 -0
  61. package/dist/src/index.js.map +1 -0
  62. package/dist/src/src/__tests__/index.test.d.ts +1 -0
  63. package/dist/src/src/contracts/index.d.ts +6 -0
  64. package/dist/src/src/functions/balances.d.ts +12 -0
  65. package/dist/src/src/functions/deposit.d.ts +9 -0
  66. package/dist/src/src/functions/vault.d.ts +3 -0
  67. package/dist/src/src/functions/withdraw.d.ts +5 -0
  68. package/dist/src/src/index.d.ts +5 -0
  69. package/dist/src/src/types/calculateGasMargin.d.ts +2 -0
  70. package/dist/src/src/types/index.d.ts +32 -0
  71. package/dist/src/src/types/vaultQueryData.d.ts +10 -0
  72. package/dist/src/src/utils/config/addresses.d.ts +14 -0
  73. package/dist/src/src/utils/formatBigInt.d.ts +2 -0
  74. package/dist/src/src/utils/parseBigInt.d.ts +2 -0
  75. package/dist/src/src/utils/positionKey.d.ts +2 -0
  76. package/dist/src/types/calculateGasMargin.d.ts +2 -0
  77. package/dist/src/types/calculateGasMargin.js +8 -0
  78. package/dist/src/types/calculateGasMargin.js.map +1 -0
  79. package/dist/src/types/index.d.ts +32 -0
  80. package/dist/src/types/index.js +18 -0
  81. package/dist/src/types/index.js.map +1 -0
  82. package/dist/src/types/vaultQueryData.d.ts +10 -0
  83. package/dist/src/types/vaultQueryData.js +3 -0
  84. package/dist/src/types/vaultQueryData.js.map +1 -0
  85. package/dist/src/utils/config/addresses.d.ts +14 -0
  86. package/dist/src/utils/config/addresses.js +41 -0
  87. package/dist/src/utils/config/addresses.js.map +1 -0
  88. package/dist/src/utils/formatBigInt.d.ts +2 -0
  89. package/dist/src/utils/formatBigInt.js +12 -0
  90. package/dist/src/utils/formatBigInt.js.map +1 -0
  91. package/dist/src/utils/parseBigInt.d.ts +2 -0
  92. package/dist/src/utils/parseBigInt.js +12 -0
  93. package/dist/src/utils/parseBigInt.js.map +1 -0
  94. package/dist/src/utils/positionKey.d.ts +2 -0
  95. package/dist/src/utils/positionKey.js +8 -0
  96. package/dist/src/utils/positionKey.js.map +1 -0
  97. package/package.json +98 -0
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8
+ return new (P || (P = Promise))(function (resolve, reject) {
9
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
13
+ });
14
+ };
15
+ var __generator = (this && this.__generator) || function (thisArg, body) {
16
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
17
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
18
+ function verb(n) { return function (v) { return step([n, v]); }; }
19
+ function step(op) {
20
+ if (f) throw new TypeError("Generator is already executing.");
21
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
22
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
23
+ if (y = 0, t) op = [op[0] & 2, t.value];
24
+ switch (op[0]) {
25
+ case 0: case 1: t = op; break;
26
+ case 4: _.label++; return { value: op[1], done: false };
27
+ case 5: _.label++; y = op[1]; op = [0]; continue;
28
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
29
+ default:
30
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
31
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
32
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
33
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
34
+ if (t[2]) _.ops.pop();
35
+ _.trys.pop(); continue;
36
+ }
37
+ op = body.call(thisArg, _);
38
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
39
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
40
+ }
41
+ };
42
+ var _a, _b, _c, _d, _e;
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.getIchiVaultInfo = void 0;
45
+ // eslint-disable-next-line import/no-unresolved
46
+ var graphql_request_1 = require("graphql-request");
47
+ var types_1 = require("../types");
48
+ var promises = {};
49
+ var urls = (_a = {},
50
+ _a[types_1.SupportedChainId.arbitrum] = (_b = {},
51
+ _b[types_1.SupportedDex.UniswapV3] = 'https://api.thegraph.com/subgraphs/name/ichi-org/arbitrum-v1',
52
+ _b),
53
+ _a[types_1.SupportedChainId.mainnet] = (_c = {},
54
+ _c[types_1.SupportedDex.UniswapV3] = 'https://api.thegraph.com/subgraphs/name/ichi-org/mainnet-v1',
55
+ _c),
56
+ _a[types_1.SupportedChainId.polygon] = (_d = {},
57
+ _d[types_1.SupportedDex.UniswapV3] = 'https://api.thegraph.com/subgraphs/name/ichi-org/polygon-v1',
58
+ _d[types_1.SupportedDex.Retro] = 'https://api.thegraph.com/subgraphs/name/ichi-org/polygon-v1-retro',
59
+ _d),
60
+ _a[types_1.SupportedChainId.bsc] = (_e = {},
61
+ _e[types_1.SupportedDex.Pancakeswap] = 'https://api.thegraph.com/subgraphs/name/ichi-org/bnb-v1-pancakeswap',
62
+ _e),
63
+ _a);
64
+ var vaultQuery = (0, graphql_request_1.gql)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n }\n }\n"], ["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n }\n }\n"])));
65
+ // eslint-disable-next-line import/prefer-default-export
66
+ function getIchiVaultInfo(chainId, dex, vaultAddress) {
67
+ return __awaiter(this, void 0, void 0, function () {
68
+ var key, url;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ key = "".concat(chainId + vaultAddress, "-info");
73
+ if (Object.prototype.hasOwnProperty.call(promises, key))
74
+ return [2 /*return*/, promises[key]];
75
+ url = urls[chainId][dex];
76
+ if (!url)
77
+ throw new Error("Unsupported DEX ".concat(dex, " on chain ").concat(chainId));
78
+ promises[key] = (0, graphql_request_1.request)(url, vaultQuery, {
79
+ vaultAddress: vaultAddress,
80
+ })
81
+ .then(function (_a) {
82
+ var ichiVault = _a.ichiVault;
83
+ return ichiVault;
84
+ })
85
+ .finally(function () { return setTimeout(function () { return delete promises[key]; }, 2 * 60 * 100 /* 2 mins */); });
86
+ return [4 /*yield*/, promises[key]];
87
+ case 1:
88
+ // eslint-disable-next-line no-return-await
89
+ return [2 /*return*/, _a.sent()];
90
+ }
91
+ });
92
+ });
93
+ }
94
+ exports.getIchiVaultInfo = getIchiVaultInfo;
95
+ var templateObject_1;
96
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/functions/vault.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,mDAA+C;AAC/C,kCAA0D;AAG1D,IAAM,QAAQ,GAAiC,EAAE,CAAC;AAOlD,IAAM,IAAI;IACR,GAAC,wBAAgB,CAAC,QAAQ;QACxB,GAAC,oBAAY,CAAC,SAAS,IAAG,8DAA8D;WACzF;IACD,GAAC,wBAAgB,CAAC,OAAO;QACvB,GAAC,oBAAY,CAAC,SAAS,IAAG,6DAA6D;WACxF;IACD,GAAC,wBAAgB,CAAC,OAAO;QACvB,GAAC,oBAAY,CAAC,SAAS,IAAG,6DAA6D;QACvF,GAAC,oBAAY,CAAC,KAAK,IAAG,mEAAmE;WAC1F;IACD,GAAC,wBAAgB,CAAC,GAAG;QACnB,GAAC,oBAAY,CAAC,WAAW,IAAG,qEAAqE;WAClG;OACF,CAAC;AAEF,IAAM,UAAU,OAAG,qBAAG,wOAAA,oKAUrB,IAAA,CAAC;AAEF,wDAAwD;AACxD,SAAsB,gBAAgB,CACpC,OAAyB,EACzB,GAAiB,EACjB,YAAoB;;;;;;oBAEd,GAAG,GAAG,UAAG,OAAO,GAAG,YAAY,UAAO,CAAC;oBAE7C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;wBAAE,sBAAO,QAAQ,CAAC,GAAG,CAAC,EAAC;oBAExE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,CAAC;oBAChC,IAAI,CAAC,GAAG;wBAAE,MAAM,IAAI,KAAK,CAAC,0BAAmB,GAAG,uBAAa,OAAO,CAAE,CAAC,CAAC;oBAExE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAA,yBAAO,EAA2C,GAAG,EAAE,UAAU,EAAE;wBACjF,YAAY,cAAA;qBACb,CAAC;yBACC,IAAI,CAAC,UAAC,EAAa;4BAAX,SAAS,eAAA;wBAAO,OAAA,SAAS;oBAAT,CAAS,CAAC;yBAClC,OAAO,CAAC,cAAM,OAAA,UAAU,CAAC,cAAM,OAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,EAApB,CAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,EAAjE,CAAiE,CAAC,CAAC;oBAG7E,qBAAM,QAAQ,CAAC,GAAG,CAAC,EAAA;;gBAD1B,2CAA2C;gBAC3C,sBAAO,SAAmB,EAAC;;;;CAC5B;AApBD,4CAoBC"}
@@ -0,0 +1,5 @@
1
+ import { ContractTransaction, Overrides } from '@ethersproject/contracts';
2
+ import { JsonRpcProvider } from '@ethersproject/providers';
3
+ import { BigNumber } from 'ethers';
4
+ import { SupportedDex } from '../types';
5
+ export declare function withdraw(accountAddress: string, shares: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, overrides?: Overrides): Promise<ContractTransaction>;
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ /* eslint-disable import/prefer-default-export */
3
+ var __assign = (this && this.__assign) || function () {
4
+ __assign = Object.assign || function(t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
+ t[p] = s[p];
9
+ }
10
+ return t;
11
+ };
12
+ return __assign.apply(this, arguments);
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var __generator = (this && this.__generator) || function (thisArg, body) {
24
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
25
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
26
+ function verb(n) { return function (v) { return step([n, v]); }; }
27
+ function step(op) {
28
+ if (f) throw new TypeError("Generator is already executing.");
29
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
30
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
31
+ if (y = 0, t) op = [op[0] & 2, t.value];
32
+ switch (op[0]) {
33
+ case 0: case 1: t = op; break;
34
+ case 4: _.label++; return { value: op[1], done: false };
35
+ case 5: _.label++; y = op[1]; op = [0]; continue;
36
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
37
+ default:
38
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
39
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
40
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
41
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
42
+ if (t[2]) _.ops.pop();
43
+ _.trys.pop(); continue;
44
+ }
45
+ op = body.call(thisArg, _);
46
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
47
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
+ }
49
+ };
50
+ var __importDefault = (this && this.__importDefault) || function (mod) {
51
+ return (mod && mod.__esModule) ? mod : { "default": mod };
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.withdraw = void 0;
55
+ var ethers_1 = require("ethers");
56
+ var contracts_1 = require("../contracts");
57
+ var parseBigInt_1 = __importDefault(require("../utils/parseBigInt"));
58
+ var types_1 = require("../types");
59
+ var calculateGasMargin_1 = __importDefault(require("../types/calculateGasMargin"));
60
+ var vault_1 = require("./vault");
61
+ function withdraw(accountAddress, shares, vaultAddress, jsonProvider, dex, overrides) {
62
+ var _a;
63
+ return __awaiter(this, void 0, void 0, function () {
64
+ var chainId, signer, vaultContract, vault, params, gasLimit, _b, _c;
65
+ var _d;
66
+ return __generator(this, function (_e) {
67
+ switch (_e.label) {
68
+ case 0:
69
+ chainId = jsonProvider.network.chainId;
70
+ if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
71
+ throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
72
+ }
73
+ signer = jsonProvider.getSigner(accountAddress);
74
+ vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, signer);
75
+ return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
76
+ case 1:
77
+ vault = _e.sent();
78
+ if (!vault)
79
+ throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
80
+ params = [
81
+ shares instanceof ethers_1.BigNumber ? shares : (0, parseBigInt_1.default)(shares, 18),
82
+ accountAddress,
83
+ ];
84
+ if (!((_a = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _a !== void 0)) return [3 /*break*/, 2];
85
+ _b = _a;
86
+ return [3 /*break*/, 4];
87
+ case 2:
88
+ _c = calculateGasMargin_1.default;
89
+ return [4 /*yield*/, (_d = vaultContract.estimateGas).withdraw.apply(_d, params)];
90
+ case 3:
91
+ _b = _c.apply(void 0, [_e.sent()]);
92
+ _e.label = 4;
93
+ case 4:
94
+ gasLimit = _b;
95
+ params[2] = __assign(__assign({}, overrides), { gasLimit: gasLimit });
96
+ return [2 /*return*/, vaultContract.withdraw.apply(vaultContract, params)];
97
+ }
98
+ });
99
+ });
100
+ }
101
+ exports.withdraw = withdraw;
102
+ //# sourceMappingURL=withdraw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/functions/withdraw.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIjD,iCAAmC;AACnC,0CAAoD;AACpD,qEAA+C;AAC/C,kCAA0D;AAC1D,mFAA6D;AAC7D,iCAA2C;AAE3C,SAAsB,QAAQ,CAC5B,cAAsB,EACtB,MAAmC,EACnC,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,SAAqB;;;;;;;;oBAEb,OAAO,GAAK,YAAY,CAAC,OAAO,QAAzB,CAA0B;oBAEzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACtD,MAAM,IAAI,KAAK,CAAC,+BAAwB,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,WAAW,CAAE,CAAC,CAAC;qBACnE;oBAEK,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBAEhD,aAAa,GAAG,IAAA,gCAAoB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBACnD,qBAAM,IAAA,wBAAgB,EAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,EAAA;;oBAA1D,KAAK,GAAG,SAAkD;oBAChE,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,2BAAoB,OAAO,eAAK,YAAY,MAAG,CAAC,CAAC;oBAEvE,MAAM,GAA8C;wBACxD,MAAM,YAAY,kBAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAW,EAAC,MAAM,EAAE,EAAE,CAAC;wBAC9D,cAAc;qBACf,CAAC;gCAEe,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;;;;oBAAI,KAAA,4BAAkB,CAAA;oBAAC,qBAAM,CAAA,KAAA,aAAa,CAAC,WAAW,CAAA,CAAC,QAAQ,WAAI,MAAM,GAAC;;oBAAtE,KAAA,kBAAmB,SAAmD,EAAC,CAAA;;;oBAAzG,QAAQ,KAAiG;oBAE/G,MAAM,CAAC,CAAC,CAAC,yBAAQ,SAAS,KAAE,QAAQ,UAAA,GAAE,CAAC;oBAEvC,sBAAO,aAAa,CAAC,QAAQ,OAAtB,aAAa,EAAa,MAAM,GAAE;;;;CAC1C;AA9BD,4BA8BC"}
@@ -0,0 +1,18 @@
1
+
2
+ /**
3
+ * @license
4
+ * author: ICHI DAO <core@ichi.org>
5
+ * ichi-vaults-sdk.js v0.0.1
6
+ * Released under the MIT license.
7
+ */
8
+
9
+ 'use strict';
10
+
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ var tslib_1 = require("tslib");
13
+ /* eslint-disable import/prefer-default-export */
14
+ tslib_1.__exportStar(require("./functions/balances"), exports);
15
+ tslib_1.__exportStar(require("./functions/deposit"), exports);
16
+ tslib_1.__exportStar(require("./functions/withdraw"), exports);
17
+ tslib_1.__exportStar(require("./functions/vault"), exports);
18
+ tslib_1.__exportStar(require("./types/index"), exports);
@@ -0,0 +1,5 @@
1
+ export * from './functions/balances';
2
+ export * from './functions/deposit';
3
+ export * from './functions/withdraw';
4
+ export * from './functions/vault';
5
+ export * from './types/index';
@@ -0,0 +1,16 @@
1
+
2
+ /**
3
+ * @license
4
+ * author: ICHI DAO <core@ichi.org>
5
+ * ichi-vaults-sdk.js v0.0.1
6
+ * Released under the MIT license.
7
+ */
8
+
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ var tslib_1 = require("tslib");
11
+ /* eslint-disable import/prefer-default-export */
12
+ tslib_1.__exportStar(require("./functions/balances"), exports);
13
+ tslib_1.__exportStar(require("./functions/deposit"), exports);
14
+ tslib_1.__exportStar(require("./functions/withdraw"), exports);
15
+ tslib_1.__exportStar(require("./functions/vault"), exports);
16
+ tslib_1.__exportStar(require("./types/index"), exports);
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /* eslint-disable import/prefer-default-export */
18
+ __exportStar(require("./functions/balances"), exports);
19
+ __exportStar(require("./functions/deposit"), exports);
20
+ __exportStar(require("./functions/withdraw"), exports);
21
+ __exportStar(require("./functions/vault"), exports);
22
+ __exportStar(require("./types/index"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,uDAAqC;AACrC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,gDAA8B"}
@@ -0,0 +1 @@
1
+ import 'dotenv/config';
@@ -0,0 +1,6 @@
1
+ import { SignerOrProvider } from '../types';
2
+ import { ERC20, IchiVault, DepositGuard } from '../../abis/types';
3
+ declare function getERC20Contract(address: string, signerOrProvider: SignerOrProvider): ERC20;
4
+ declare function getDepositGuardContract(address: string, signerOrProvider: SignerOrProvider): DepositGuard;
5
+ declare function getIchiVaultContract(address: string, signerOrProvider: SignerOrProvider): IchiVault;
6
+ export { getERC20Contract, getDepositGuardContract, getIchiVaultContract };
@@ -0,0 +1,12 @@
1
+ import { JsonRpcProvider } from '@ethersproject/providers';
2
+ import { BigNumber } from 'ethers';
3
+ import { SupportedDex, TotalAmounts, TotalAmountsBN, UserAmounts, UserAmountsBN } from '../types';
4
+ export declare function getTokenDecimals(tokenAddress: string, jsonProvider: JsonRpcProvider): Promise<number>;
5
+ export declare function getUserBalance(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<string>;
6
+ export declare function getUserBalance(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<BigNumber>;
7
+ export declare function getTotalAmounts(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<TotalAmounts>;
8
+ export declare function getTotalAmounts(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<TotalAmountsBN>;
9
+ export declare function getTotalSupply(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<string>;
10
+ export declare function getTotalSupply(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<BigNumber>;
11
+ export declare function getUserAmounts(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserAmounts>;
12
+ export declare function getUserAmounts(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<UserAmountsBN>;
@@ -0,0 +1,9 @@
1
+ import { ContractTransaction, Overrides } from '@ethersproject/contracts';
2
+ import { JsonRpcProvider } from '@ethersproject/providers';
3
+ import { BigNumber } from 'ethers';
4
+ import { SupportedDex } from '../types';
5
+ export declare function isTokenAllowed(tokenIdx: 0 | 1, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<boolean>;
6
+ export declare function isDepositTokenApproved(accountAddress: string, tokenIdx: 0 | 1, amount: string | number, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<boolean>;
7
+ export declare function approveDepositToken(accountAddress: string, tokenIdx: 0 | 1, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, amount?: string | number | BigNumber, overrides?: Overrides): Promise<ContractTransaction>;
8
+ export declare function getMaxDepositAmount(tokenIdx: 0 | 1, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<BigNumber>;
9
+ export declare function deposit(accountAddress: string, amount0: string | number | BigNumber, amount1: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, percentSlippage?: number, overrides?: Overrides): Promise<ContractTransaction>;
@@ -0,0 +1,3 @@
1
+ import { SupportedDex, SupportedChainId } from '../types';
2
+ import { VaultQueryData } from '../types/vaultQueryData';
3
+ export declare function getIchiVaultInfo(chainId: SupportedChainId, dex: SupportedDex, vaultAddress: string): Promise<VaultQueryData['ichiVault']>;
@@ -0,0 +1,5 @@
1
+ import { ContractTransaction, Overrides } from '@ethersproject/contracts';
2
+ import { JsonRpcProvider } from '@ethersproject/providers';
3
+ import { BigNumber } from 'ethers';
4
+ import { SupportedDex } from '../types';
5
+ export declare function withdraw(accountAddress: string, shares: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, overrides?: Overrides): Promise<ContractTransaction>;
@@ -0,0 +1,5 @@
1
+ export * from './functions/balances';
2
+ export * from './functions/deposit';
3
+ export * from './functions/withdraw';
4
+ export * from './functions/vault';
5
+ export * from './types/index';
@@ -0,0 +1,2 @@
1
+ import { BigNumber } from '@ethersproject/bignumber';
2
+ export default function calculateGasMargin(value: BigNumber): BigNumber;
@@ -0,0 +1,32 @@
1
+ import { Signer } from '@ethersproject/abstract-signer';
2
+ import { Provider } from '@ethersproject/providers';
3
+ import { BigNumber } from 'ethers';
4
+ export type SignerOrProvider = Signer | Provider;
5
+ export declare enum SupportedChainId {
6
+ arbitrum = 42161,
7
+ mainnet = 1,
8
+ polygon = 137,
9
+ bsc = 56
10
+ }
11
+ export declare enum SupportedDex {
12
+ UniswapV3 = 0,
13
+ Retro = 1,
14
+ Pancakeswap = 2
15
+ }
16
+ export declare const ichiVaultDecimals = 18;
17
+ export type TotalAmountsBN = [BigNumber, BigNumber] & {
18
+ total0: BigNumber;
19
+ total1: BigNumber;
20
+ };
21
+ export type UserAmountsBN = [BigNumber, BigNumber] & {
22
+ amount0: BigNumber;
23
+ amount1: BigNumber;
24
+ };
25
+ export type TotalAmounts = [string, string] & {
26
+ total0: string;
27
+ total1: string;
28
+ };
29
+ export type UserAmounts = [string, string] & {
30
+ amount0: string;
31
+ amount1: string;
32
+ };
@@ -0,0 +1,10 @@
1
+ export interface IchiVault {
2
+ id: string;
3
+ tokenA: string;
4
+ tokenB: string;
5
+ allowTokenA: boolean;
6
+ allowTokenB: boolean;
7
+ }
8
+ export interface VaultQueryData {
9
+ ichiVault: IchiVault;
10
+ }
@@ -0,0 +1,14 @@
1
+ import { SupportedDex, SupportedChainId } from '../../types';
2
+ export type AddressConfig = {
3
+ [key in SupportedDex]?: string;
4
+ };
5
+ export type SupportedDexConfig = {
6
+ factoryAddress: string;
7
+ depositGuardAddress: string;
8
+ vaultDeployerAddress: string;
9
+ };
10
+ export type Config = {
11
+ [key in SupportedDex]?: SupportedDexConfig;
12
+ };
13
+ declare const addressConfig: Record<SupportedChainId, Config>;
14
+ export default addressConfig;
@@ -0,0 +1,2 @@
1
+ import { BigNumber } from 'ethers';
2
+ export default function formatBigInt(value: number | string | BigNumber, decimals?: number): string;
@@ -0,0 +1,2 @@
1
+ import { BigNumber } from '@ethersproject/bignumber';
2
+ export default function parseBigInt(_value: number | string, decimals: number): BigNumber;
@@ -0,0 +1,2 @@
1
+ declare const getPositionKey: (address: string, lowerTick: number, upperTick: number) => string;
2
+ export default getPositionKey;
@@ -0,0 +1,2 @@
1
+ import { BigNumber } from '@ethersproject/bignumber';
2
+ export default function calculateGasMargin(value: BigNumber): BigNumber;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var bignumber_1 = require("@ethersproject/bignumber");
4
+ function calculateGasMargin(value) {
5
+ return value.mul(bignumber_1.BigNumber.from(10000 + 2000)).div(bignumber_1.BigNumber.from(10000));
6
+ }
7
+ exports.default = calculateGasMargin;
8
+ //# sourceMappingURL=calculateGasMargin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateGasMargin.js","sourceRoot":"","sources":["../../../src/types/calculateGasMargin.ts"],"names":[],"mappings":";;AAAA,sDAAqD;AAErD,SAAwB,kBAAkB,CAAC,KAAgB;IACzD,OAAO,KAAK,CAAC,GAAG,CAAC,qBAAS,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5E,CAAC;AAFD,qCAEC"}
@@ -0,0 +1,32 @@
1
+ import { Signer } from '@ethersproject/abstract-signer';
2
+ import { Provider } from '@ethersproject/providers';
3
+ import { BigNumber } from 'ethers';
4
+ export type SignerOrProvider = Signer | Provider;
5
+ export declare enum SupportedChainId {
6
+ arbitrum = 42161,
7
+ mainnet = 1,
8
+ polygon = 137,
9
+ bsc = 56
10
+ }
11
+ export declare enum SupportedDex {
12
+ UniswapV3 = 0,
13
+ Retro = 1,
14
+ Pancakeswap = 2
15
+ }
16
+ export declare const ichiVaultDecimals = 18;
17
+ export type TotalAmountsBN = [BigNumber, BigNumber] & {
18
+ total0: BigNumber;
19
+ total1: BigNumber;
20
+ };
21
+ export type UserAmountsBN = [BigNumber, BigNumber] & {
22
+ amount0: BigNumber;
23
+ amount1: BigNumber;
24
+ };
25
+ export type TotalAmounts = [string, string] & {
26
+ total0: string;
27
+ total1: string;
28
+ };
29
+ export type UserAmounts = [string, string] & {
30
+ amount0: string;
31
+ amount1: string;
32
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ichiVaultDecimals = exports.SupportedDex = exports.SupportedChainId = void 0;
4
+ var SupportedChainId;
5
+ (function (SupportedChainId) {
6
+ SupportedChainId[SupportedChainId["arbitrum"] = 42161] = "arbitrum";
7
+ SupportedChainId[SupportedChainId["mainnet"] = 1] = "mainnet";
8
+ SupportedChainId[SupportedChainId["polygon"] = 137] = "polygon";
9
+ SupportedChainId[SupportedChainId["bsc"] = 56] = "bsc";
10
+ })(SupportedChainId = exports.SupportedChainId || (exports.SupportedChainId = {}));
11
+ var SupportedDex;
12
+ (function (SupportedDex) {
13
+ SupportedDex[SupportedDex["UniswapV3"] = 0] = "UniswapV3";
14
+ SupportedDex[SupportedDex["Retro"] = 1] = "Retro";
15
+ SupportedDex[SupportedDex["Pancakeswap"] = 2] = "Pancakeswap";
16
+ })(SupportedDex = exports.SupportedDex || (exports.SupportedDex = {}));
17
+ exports.ichiVaultDecimals = 18;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAOA,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,mEAAgB,CAAA;IAChB,6DAAW,CAAA;IACX,+DAAa,CAAA;IACb,sDAAQ,CAAA;AACV,CAAC,EALW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAK3B;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,yDAAS,CAAA;IACT,iDAAK,CAAA;IACL,6DAAW,CAAA;AACb,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAEY,QAAA,iBAAiB,GAAG,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface IchiVault {
2
+ id: string;
3
+ tokenA: string;
4
+ tokenB: string;
5
+ allowTokenA: boolean;
6
+ allowTokenB: boolean;
7
+ }
8
+ export interface VaultQueryData {
9
+ ichiVault: IchiVault;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vaultQueryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaultQueryData.js","sourceRoot":"","sources":["../../../src/types/vaultQueryData.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { SupportedDex, SupportedChainId } from '../../types';
2
+ export type AddressConfig = {
3
+ [key in SupportedDex]?: string;
4
+ };
5
+ export type SupportedDexConfig = {
6
+ factoryAddress: string;
7
+ depositGuardAddress: string;
8
+ vaultDeployerAddress: string;
9
+ };
10
+ export type Config = {
11
+ [key in SupportedDex]?: SupportedDexConfig;
12
+ };
13
+ declare const addressConfig: Record<SupportedChainId, Config>;
14
+ export default addressConfig;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var _a, _b, _c, _d, _e;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var types_1 = require("../../types");
5
+ var addressConfig = (_a = {},
6
+ _a[types_1.SupportedChainId.arbitrum] = (_b = {},
7
+ _b[types_1.SupportedDex.UniswapV3] = {
8
+ factoryAddress: '0xfBf38920cCbCFF7268Ad714ae5F9Fad6dF607065',
9
+ depositGuardAddress: '0x932E1908461De58b0891E5022431dc995Cb95C5E',
10
+ vaultDeployerAddress: '0x508C3daa571854247726ba26949f182086Ff89B0',
11
+ },
12
+ _b),
13
+ _a[types_1.SupportedChainId.polygon] = (_c = {},
14
+ _c[types_1.SupportedDex.UniswapV3] = {
15
+ factoryAddress: '0x2d2c72C4dC71AA32D64e5142e336741131A73fc0',
16
+ depositGuardAddress: '0xA5cE107711789b350e04063D4EffBe6aB6eB05a4',
17
+ vaultDeployerAddress: '0x0768A75F616B98ee0937673bD83B7aBF142236Ea',
18
+ },
19
+ _c[types_1.SupportedDex.Retro] = {
20
+ factoryAddress: '0xb2f44D8545315cDd0bAaB4AC7233218b932a5dA7',
21
+ depositGuardAddress: '0x9B3Ea1A39576925fA94c4BCC7eECFA0d95D331E1',
22
+ vaultDeployerAddress: '0x0768A75F616B98ee0937673bD83B7aBF142236Ea',
23
+ },
24
+ _c),
25
+ _a[types_1.SupportedChainId.mainnet] = (_d = {},
26
+ _d[types_1.SupportedDex.UniswapV3] = {
27
+ factoryAddress: '0x5a40DFaF8C1115196A1CDF529F97122030F26112',
28
+ depositGuardAddress: '0xe6e32D20258f475BaA8d0B39d4C391B96f0ef70A',
29
+ vaultDeployerAddress: '0xfF7B5E167c9877f2b9f65D19d9c8c9aa651Fe19F',
30
+ },
31
+ _d),
32
+ _a[types_1.SupportedChainId.bsc] = (_e = {},
33
+ _e[types_1.SupportedDex.Pancakeswap] = {
34
+ factoryAddress: '0x131c03ca881B7cC66d7a5120A9273ebf675C241D',
35
+ depositGuardAddress: '0x454130394B8013D4a7288fe9Db570A0a24C606c2',
36
+ vaultDeployerAddress: '0x05cC3CA6E768a68A7f86b09e3ceE754437bd5f12',
37
+ },
38
+ _e),
39
+ _a);
40
+ exports.default = addressConfig;
41
+ //# sourceMappingURL=addresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../../../../src/utils/config/addresses.ts"],"names":[],"mappings":";;;AAAA,qCAA6D;AAY7D,IAAM,aAAa;IACjB,GAAC,wBAAgB,CAAC,QAAQ;QACxB,GAAC,oBAAY,CAAC,SAAS,IAAG;YACxB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,4CAA4C;YACjE,oBAAoB,EAAE,4CAA4C;SACnE;WACF;IACD,GAAC,wBAAgB,CAAC,OAAO;QACvB,GAAC,oBAAY,CAAC,SAAS,IAAG;YACxB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,4CAA4C;YACjE,oBAAoB,EAAE,4CAA4C;SACnE;QACD,GAAC,oBAAY,CAAC,KAAK,IAAG;YACpB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,4CAA4C;YACjE,oBAAoB,EAAE,4CAA4C;SACnE;WACF;IACD,GAAC,wBAAgB,CAAC,OAAO;QACvB,GAAC,oBAAY,CAAC,SAAS,IAAG;YACxB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,4CAA4C;YACjE,oBAAoB,EAAE,4CAA4C;SACnE;WACF;IACD,GAAC,wBAAgB,CAAC,GAAG;QACnB,GAAC,oBAAY,CAAC,WAAW,IAAG;YAC1B,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,4CAA4C;YACjE,oBAAoB,EAAE,4CAA4C;SACnE;WACF;OACF,CAAC;AAEF,kBAAe,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { BigNumber } from 'ethers';
2
+ export default function formatBigInt(value: number | string | BigNumber, decimals?: number): string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // eslint-disable-next-line import/no-extraneous-dependencies
4
+ var bignumber_js_1 = require("bignumber.js");
5
+ function formatBigInt(value, decimals) {
6
+ if (decimals === void 0) { decimals = 18; }
7
+ var bigVal = new bignumber_js_1.BigNumber(value.toString());
8
+ var divisor = new bignumber_js_1.BigNumber(10).pow(decimals);
9
+ return bigVal.div(divisor).toString();
10
+ }
11
+ exports.default = formatBigInt;
12
+ //# sourceMappingURL=formatBigInt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatBigInt.js","sourceRoot":"","sources":["../../../src/utils/formatBigInt.ts"],"names":[],"mappings":";;AAAA,6DAA6D;AAC7D,6CAA+C;AAG/C,SAAwB,YAAY,CAAC,KAAkC,EAAE,QAAqB;IAArB,yBAAA,EAAA,aAAqB;IAC5F,IAAM,MAAM,GAAG,IAAI,wBAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,IAAM,OAAO,GAAG,IAAI,wBAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEzC,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxC,CAAC;AALD,+BAKC"}
@@ -0,0 +1,2 @@
1
+ import { BigNumber } from '@ethersproject/bignumber';
2
+ export default function parseBigInt(_value: number | string, decimals: number): BigNumber;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var bignumber_1 = require("@ethersproject/bignumber");
4
+ var units_1 = require("@ethersproject/units");
5
+ function parseBigInt(_value, decimals) {
6
+ var value = Number(_value).toFixed(18);
7
+ var bi18 = (0, units_1.parseEther)(value.toString());
8
+ var divisor = bignumber_1.BigNumber.from(10).pow(18 - decimals);
9
+ return bi18.div(bignumber_1.BigNumber.from(divisor));
10
+ }
11
+ exports.default = parseBigInt;
12
+ //# sourceMappingURL=parseBigInt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseBigInt.js","sourceRoot":"","sources":["../../../src/utils/parseBigInt.ts"],"names":[],"mappings":";;AAAA,sDAAqD;AACrD,8CAAkD;AAElD,SAAwB,WAAW,CAAC,MAAuB,EAAE,QAAgB;IAC3E,IAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEzC,IAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,IAAM,OAAO,GAAG,qBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;IAEtD,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC;AAPD,8BAOC"}
@@ -0,0 +1,2 @@
1
+ declare const getPositionKey: (address: string, lowerTick: number, upperTick: number) => string;
2
+ export default getPositionKey;