@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.
- package/README.md +420 -0
- package/dist/abis/types/DepositGuard.d.ts +114 -0
- package/dist/abis/types/DepositGuard.js +3 -0
- package/dist/abis/types/DepositGuard.js.map +1 -0
- package/dist/abis/types/ERC20.d.ts +168 -0
- package/dist/abis/types/ERC20.js +3 -0
- package/dist/abis/types/ERC20.js.map +1 -0
- package/dist/abis/types/IchiVault.d.ts +828 -0
- package/dist/abis/types/IchiVault.js +3 -0
- package/dist/abis/types/IchiVault.js.map +1 -0
- package/dist/abis/types/common.d.ts +22 -0
- package/dist/abis/types/common.js +3 -0
- package/dist/abis/types/common.js.map +1 -0
- package/dist/abis/types/factories/DepositGuard__factory.d.ts +139 -0
- package/dist/abis/types/factories/DepositGuard__factory.js +191 -0
- package/dist/abis/types/factories/DepositGuard__factory.js.map +1 -0
- package/dist/abis/types/factories/ERC20__factory.d.ts +175 -0
- package/dist/abis/types/factories/ERC20__factory.js +243 -0
- package/dist/abis/types/factories/ERC20__factory.js.map +1 -0
- package/dist/abis/types/factories/IchiVault__factory.d.ts +899 -0
- package/dist/abis/types/factories/IchiVault__factory.js +1168 -0
- package/dist/abis/types/factories/IchiVault__factory.js.map +1 -0
- package/dist/abis/types/factories/index.d.ts +3 -0
- package/dist/abis/types/factories/index.js +13 -0
- package/dist/abis/types/factories/index.js.map +1 -0
- package/dist/abis/types/index.d.ts +7 -0
- package/dist/abis/types/index.js +34 -0
- package/dist/abis/types/index.js.map +1 -0
- package/dist/src/__tests__/index.test.d.ts +1 -0
- package/dist/src/__tests__/index.test.js +238 -0
- package/dist/src/__tests__/index.test.js.map +1 -0
- package/dist/src/abis/IchiVault.json +1147 -0
- package/dist/src/abis/types/DepositGuard.d.ts +114 -0
- package/dist/src/abis/types/ERC20.d.ts +168 -0
- package/dist/src/abis/types/IchiVault.d.ts +828 -0
- package/dist/src/abis/types/common.d.ts +22 -0
- package/dist/src/abis/types/factories/DepositGuard__factory.d.ts +139 -0
- package/dist/src/abis/types/factories/ERC20__factory.d.ts +175 -0
- package/dist/src/abis/types/factories/IchiVault__factory.d.ts +899 -0
- package/dist/src/abis/types/factories/index.d.ts +3 -0
- package/dist/src/abis/types/index.d.ts +7 -0
- package/dist/src/contracts/index.d.ts +6 -0
- package/dist/src/contracts/index.js +22 -0
- package/dist/src/contracts/index.js.map +1 -0
- package/dist/src/functions/balances.d.ts +12 -0
- package/dist/src/functions/balances.js +227 -0
- package/dist/src/functions/balances.js.map +1 -0
- package/dist/src/functions/deposit.d.ts +9 -0
- package/dist/src/functions/deposit.js +260 -0
- package/dist/src/functions/deposit.js.map +1 -0
- package/dist/src/functions/vault.d.ts +3 -0
- package/dist/src/functions/vault.js +96 -0
- package/dist/src/functions/vault.js.map +1 -0
- package/dist/src/functions/withdraw.d.ts +5 -0
- package/dist/src/functions/withdraw.js +102 -0
- package/dist/src/functions/withdraw.js.map +1 -0
- package/dist/src/index.cjs.js +18 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.esm.js +16 -0
- package/dist/src/index.js +23 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/src/__tests__/index.test.d.ts +1 -0
- package/dist/src/src/contracts/index.d.ts +6 -0
- package/dist/src/src/functions/balances.d.ts +12 -0
- package/dist/src/src/functions/deposit.d.ts +9 -0
- package/dist/src/src/functions/vault.d.ts +3 -0
- package/dist/src/src/functions/withdraw.d.ts +5 -0
- package/dist/src/src/index.d.ts +5 -0
- package/dist/src/src/types/calculateGasMargin.d.ts +2 -0
- package/dist/src/src/types/index.d.ts +32 -0
- package/dist/src/src/types/vaultQueryData.d.ts +10 -0
- package/dist/src/src/utils/config/addresses.d.ts +14 -0
- package/dist/src/src/utils/formatBigInt.d.ts +2 -0
- package/dist/src/src/utils/parseBigInt.d.ts +2 -0
- package/dist/src/src/utils/positionKey.d.ts +2 -0
- package/dist/src/types/calculateGasMargin.d.ts +2 -0
- package/dist/src/types/calculateGasMargin.js +8 -0
- package/dist/src/types/calculateGasMargin.js.map +1 -0
- package/dist/src/types/index.d.ts +32 -0
- package/dist/src/types/index.js +18 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/vaultQueryData.d.ts +10 -0
- package/dist/src/types/vaultQueryData.js +3 -0
- package/dist/src/types/vaultQueryData.js.map +1 -0
- package/dist/src/utils/config/addresses.d.ts +14 -0
- package/dist/src/utils/config/addresses.js +41 -0
- package/dist/src/utils/config/addresses.js.map +1 -0
- package/dist/src/utils/formatBigInt.d.ts +2 -0
- package/dist/src/utils/formatBigInt.js +12 -0
- package/dist/src/utils/formatBigInt.js.map +1 -0
- package/dist/src/utils/parseBigInt.d.ts +2 -0
- package/dist/src/utils/parseBigInt.js +12 -0
- package/dist/src/utils/parseBigInt.js.map +1 -0
- package/dist/src/utils/positionKey.d.ts +2 -0
- package/dist/src/utils/positionKey.js +8 -0
- package/dist/src/utils/positionKey.js.map +1 -0
- 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,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,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,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,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,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 @@
|
|
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,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,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"}
|