@mento-protocol/mento-sdk 1.0.5 → 1.0.7
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/dist/cjs/constants/addresses.js +1 -1
- package/dist/cjs/constants/tradablePairs.js +5355 -2575
- package/dist/cjs/mento.d.ts +7 -3
- package/dist/cjs/mento.js +15 -9
- package/dist/esm/constants/addresses.js +1 -1
- package/dist/esm/constants/tradablePairs.js +5355 -2575
- package/dist/esm/mento.d.ts +7 -3
- package/dist/esm/mento.js +15 -9
- package/package.json +1 -1
- package/dist/abis/bipoolmanager.d.ts +0 -15
- package/dist/abis/bipoolmanager.d.ts.map +0 -1
- package/dist/abis/bipoolmanager.js +0 -26
- package/dist/abis/bipoolmanager.js.map +0 -1
- package/dist/abis/broker.d.ts +0 -2
- package/dist/abis/broker.d.ts.map +0 -1
- package/dist/abis/broker.js +0 -8
- package/dist/abis/broker.js.map +0 -1
- package/dist/abis/erc20.d.ts +0 -2
- package/dist/abis/erc20.d.ts.map +0 -1
- package/dist/abis/erc20.js +0 -11
- package/dist/abis/erc20.js.map +0 -1
- package/dist/abis/index.d.ts +0 -5
- package/dist/abis/index.d.ts.map +0 -1
- package/dist/abis/index.js +0 -21
- package/dist/abis/index.js.map +0 -1
- package/dist/abis/pricingmodule.d.ts +0 -2
- package/dist/abis/pricingmodule.d.ts.map +0 -1
- package/dist/abis/pricingmodule.js +0 -5
- package/dist/abis/pricingmodule.js.map +0 -1
- package/dist/abis/reserve.d.ts +0 -2
- package/dist/abis/reserve.d.ts.map +0 -1
- package/dist/abis/reserve.js +0 -9
- package/dist/abis/reserve.js.map +0 -1
- package/dist/abis/uniswapV3.d.ts +0 -4
- package/dist/abis/uniswapV3.d.ts.map +0 -1
- package/dist/abis/uniswapV3.js +0 -15
- package/dist/abis/uniswapV3.js.map +0 -1
- package/dist/adapters/implementations/ethersAdapter.d.ts +0 -9
- package/dist/adapters/implementations/ethersAdapter.d.ts.map +0 -1
- package/dist/adapters/implementations/ethersAdapter.js +0 -19
- package/dist/adapters/implementations/ethersAdapter.js.map +0 -1
- package/dist/adapters/implementations/ethersV5Adapter.d.ts +0 -9
- package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +0 -1
- package/dist/adapters/implementations/ethersV5Adapter.js +0 -19
- package/dist/adapters/implementations/ethersV5Adapter.js.map +0 -1
- package/dist/adapters/implementations/viemAdapter.d.ts +0 -9
- package/dist/adapters/implementations/viemAdapter.d.ts.map +0 -1
- package/dist/adapters/implementations/viemAdapter.js +0 -26
- package/dist/adapters/implementations/viemAdapter.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -5
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -10
- package/dist/adapters/index.js.map +0 -1
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts +0 -25
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +0 -1
- package/dist/adapters/proxies/ethersAdapterProxy.js +0 -71
- package/dist/adapters/proxies/ethersAdapterProxy.js.map +0 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +0 -25
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +0 -1
- package/dist/adapters/proxies/ethersV5AdapterProxy.js +0 -71
- package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +0 -1
- package/dist/adapters/proxies/viemAdapterProxy.d.ts +0 -25
- package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +0 -1
- package/dist/adapters/proxies/viemAdapterProxy.js +0 -71
- package/dist/adapters/proxies/viemAdapterProxy.js.map +0 -1
- package/dist/constants/addresses.d.ts +0 -14
- package/dist/constants/addresses.d.ts.map +0 -1
- package/dist/constants/addresses.js +0 -61
- package/dist/constants/addresses.js.map +0 -1
- package/dist/constants/chainId.d.ts +0 -5
- package/dist/constants/chainId.d.ts.map +0 -1
- package/dist/constants/chainId.js +0 -9
- package/dist/constants/chainId.js.map +0 -1
- package/dist/constants/contractNames.d.ts +0 -21
- package/dist/constants/contractNames.d.ts.map +0 -1
- package/dist/constants/contractNames.js +0 -24
- package/dist/constants/contractNames.js.map +0 -1
- package/dist/constants/index.d.ts +0 -8
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/index.js +0 -24
- package/dist/constants/index.js.map +0 -1
- package/dist/constants/mentoAddresses.d.ts +0 -4
- package/dist/constants/mentoAddresses.d.ts.map +0 -1
- package/dist/constants/mentoAddresses.js +0 -7
- package/dist/constants/mentoAddresses.js.map +0 -1
- package/dist/constants/proposalState.d.ts +0 -11
- package/dist/constants/proposalState.d.ts.map +0 -1
- package/dist/constants/proposalState.js +0 -15
- package/dist/constants/proposalState.js.map +0 -1
- package/dist/constants/protocolAddresses.d.ts +0 -5
- package/dist/constants/protocolAddresses.d.ts.map +0 -1
- package/dist/constants/protocolAddresses.js +0 -8
- package/dist/constants/protocolAddresses.js.map +0 -1
- package/dist/constants/stableTokenMetadata.d.ts +0 -14
- package/dist/constants/stableTokenMetadata.d.ts.map +0 -1
- package/dist/constants/stableTokenMetadata.js +0 -32
- package/dist/constants/stableTokenMetadata.js.map +0 -1
- package/dist/index.d.ts +0 -67
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -122
- package/dist/index.js.map +0 -1
- package/dist/services/collateralAssetService.d.ts +0 -8
- package/dist/services/collateralAssetService.d.ts.map +0 -1
- package/dist/services/collateralAssetService.js +0 -47
- package/dist/services/collateralAssetService.js.map +0 -1
- package/dist/services/index.d.ts +0 -6
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -22
- package/dist/services/index.js.map +0 -1
- package/dist/services/stableTokenService.d.ts +0 -9
- package/dist/services/stableTokenService.d.ts.map +0 -1
- package/dist/services/stableTokenService.js +0 -40
- package/dist/services/stableTokenService.js.map +0 -1
- package/dist/services/supply/ISupplyCalculator.d.ts +0 -4
- package/dist/services/supply/ISupplyCalculator.d.ts.map +0 -1
- package/dist/services/supply/ISupplyCalculator.js +0 -3
- package/dist/services/supply/ISupplyCalculator.js.map +0 -1
- package/dist/services/supply/UniV3SupplyCalculator.d.ts +0 -21
- package/dist/services/supply/UniV3SupplyCalculator.d.ts.map +0 -1
- package/dist/services/supply/UniV3SupplyCalculator.js +0 -233
- package/dist/services/supply/UniV3SupplyCalculator.js.map +0 -1
- package/dist/services/supply/index.d.ts +0 -4
- package/dist/services/supply/index.d.ts.map +0 -1
- package/dist/services/supply/index.js +0 -20
- package/dist/services/supply/index.js.map +0 -1
- package/dist/services/supply/multisigSupplyCalculator.d.ts +0 -9
- package/dist/services/supply/multisigSupplyCalculator.d.ts.map +0 -1
- package/dist/services/supply/multisigSupplyCalculator.js +0 -21
- package/dist/services/supply/multisigSupplyCalculator.js.map +0 -1
- package/dist/services/supplyAdjustmentService.d.ts +0 -12
- package/dist/services/supplyAdjustmentService.d.ts.map +0 -1
- package/dist/services/supplyAdjustmentService.js +0 -35
- package/dist/services/supplyAdjustmentService.js.map +0 -1
- package/dist/services/tokenMetadataService.d.ts +0 -8
- package/dist/services/tokenMetadataService.d.ts.map +0 -1
- package/dist/services/tokenMetadataService.js +0 -44
- package/dist/services/tokenMetadataService.js.map +0 -1
- package/dist/types/contractAddresses.d.ts +0 -23
- package/dist/types/contractAddresses.d.ts.map +0 -1
- package/dist/types/contractAddresses.js +0 -3
- package/dist/types/contractAddresses.js.map +0 -1
- package/dist/types/exchange.d.ts +0 -6
- package/dist/types/exchange.d.ts.map +0 -1
- package/dist/types/exchange.js +0 -3
- package/dist/types/exchange.js.map +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -21
- package/dist/types/index.js.map +0 -1
- package/dist/types/provider.d.ts +0 -11
- package/dist/types/provider.d.ts.map +0 -1
- package/dist/types/provider.js +0 -3
- package/dist/types/provider.js.map +0 -1
- package/dist/types/token.d.ts +0 -19
- package/dist/types/token.d.ts.map +0 -1
- package/dist/types/token.js +0 -3
- package/dist/types/token.js.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -18
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/retry.d.ts +0 -12
- package/dist/utils/retry.d.ts.map +0 -1
- package/dist/utils/retry.js +0 -28
- package/dist/utils/retry.js.map +0 -1
package/dist/index.js
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
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
|
-
exports.Mento = void 0;
|
|
18
|
-
const adapters_1 = require("./adapters");
|
|
19
|
-
const services_1 = require("./services");
|
|
20
|
-
const addresses_1 = require("./constants/addresses");
|
|
21
|
-
/** Helper type guard for Ethers v5 Provider */
|
|
22
|
-
function isEthersV5Provider(provider) {
|
|
23
|
-
// Check for v5 specific properties that don't exist in v6
|
|
24
|
-
return ('getNetwork' in provider &&
|
|
25
|
-
'_network' in provider &&
|
|
26
|
-
// v5 specific internal property
|
|
27
|
-
'formatter' in provider);
|
|
28
|
-
}
|
|
29
|
-
/** Helper type guard for Ethers v6 Provider */
|
|
30
|
-
function isEthersV6Provider(provider) {
|
|
31
|
-
// Check for v6 specific properties that don't exist in v5
|
|
32
|
-
return ('getNetwork' in provider &&
|
|
33
|
-
// v6 specific methods
|
|
34
|
-
'broadcastTransaction' in provider);
|
|
35
|
-
}
|
|
36
|
-
/** Helper type guard for Viem Provider */
|
|
37
|
-
function isViemProvider(provider) {
|
|
38
|
-
return !('getNetwork' in provider);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* @class Mento
|
|
42
|
-
* @description The main class for the Mento SDK. It initializes the provider and services,
|
|
43
|
-
* and provides a public API for interacting with the Mento Protocol.
|
|
44
|
-
* @dev example usage:
|
|
45
|
-
* // Ethers v6
|
|
46
|
-
* const mento = await Mento.create({
|
|
47
|
-
* provider: new ethers.JsonRpcProvider("https://forno.celo.org")
|
|
48
|
-
* });
|
|
49
|
-
*
|
|
50
|
-
* // Ethers v5
|
|
51
|
-
* const mento = await Mento.create({
|
|
52
|
-
* provider: new ethersV5.providers.JsonRpcProvider("https://forno.celo.org")
|
|
53
|
-
* });
|
|
54
|
-
*
|
|
55
|
-
* // Viem
|
|
56
|
-
* const mento = await Mento.create({
|
|
57
|
-
* provider: createPublicClient({
|
|
58
|
-
* transport: http("https://forno.celo.org")
|
|
59
|
-
* })
|
|
60
|
-
* });
|
|
61
|
-
*
|
|
62
|
-
* // Get all stable tokens
|
|
63
|
-
* const stableTokens = await mento.getStableTokens();
|
|
64
|
-
*
|
|
65
|
-
* // Get all collateral assets
|
|
66
|
-
* const collateralAssets = await mento.getCollateralAssets();
|
|
67
|
-
*/
|
|
68
|
-
class Mento {
|
|
69
|
-
constructor(provider, stableTokenService, collateralAssetService) {
|
|
70
|
-
this.provider = provider;
|
|
71
|
-
this.stableTokenService = stableTokenService;
|
|
72
|
-
this.collateralAssetService = collateralAssetService;
|
|
73
|
-
}
|
|
74
|
-
static async create(config) {
|
|
75
|
-
if (!config.provider) {
|
|
76
|
-
throw new Error('Provider is required to initialize Mento SDK');
|
|
77
|
-
}
|
|
78
|
-
let provider;
|
|
79
|
-
if (isEthersV5Provider(config.provider)) {
|
|
80
|
-
provider = new adapters_1.EthersV5Adapter(config.provider);
|
|
81
|
-
}
|
|
82
|
-
else if (isEthersV6Provider(config.provider)) {
|
|
83
|
-
provider = new adapters_1.EthersAdapter(config.provider);
|
|
84
|
-
}
|
|
85
|
-
else if (isViemProvider(config.provider)) {
|
|
86
|
-
provider = new adapters_1.ViemAdapter(config.provider);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
throw new Error('Unsupported provider type');
|
|
90
|
-
}
|
|
91
|
-
const stableTokenService = new services_1.StableTokenService(provider);
|
|
92
|
-
const collateralAssetService = new services_1.CollateralAssetService(provider);
|
|
93
|
-
return new Mento(provider, stableTokenService, collateralAssetService);
|
|
94
|
-
}
|
|
95
|
-
async getStableTokens() {
|
|
96
|
-
return this.stableTokenService.getStableTokens();
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Get all collateral assets that are available on the current chain.
|
|
100
|
-
* @returns An array of collateral assets
|
|
101
|
-
*/
|
|
102
|
-
async getCollateralAssets() {
|
|
103
|
-
return this.collateralAssetService.getCollateralAssets();
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Get the address of a contract for the current chain
|
|
107
|
-
* @param contractName - The contract name
|
|
108
|
-
* @returns The contract address
|
|
109
|
-
*/
|
|
110
|
-
async getContractAddress(contractName) {
|
|
111
|
-
const chainId = (await this.provider.getChainId());
|
|
112
|
-
return addresses_1.addresses[chainId][contractName];
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
exports.Mento = Mento;
|
|
116
|
-
__exportStar(require("./constants"), exports);
|
|
117
|
-
__exportStar(require("./types"), exports);
|
|
118
|
-
__exportStar(require("./adapters"), exports);
|
|
119
|
-
__exportStar(require("./services"), exports);
|
|
120
|
-
__exportStar(require("./abis"), exports);
|
|
121
|
-
__exportStar(require("./utils"), exports);
|
|
122
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,yCAAwE;AAOxE,yCAAuE;AAEvE,qDAAiD;AAgBjD,+CAA+C;AAC/C,SAAS,kBAAkB,CACzB,QAA2B;IAE3B,0DAA0D;IAC1D,OAAO,CACL,YAAY,IAAI,QAAQ;QACxB,UAAU,IAAI,QAAQ;QACtB,gCAAgC;QAChC,WAAW,IAAI,QAAQ,CACxB,CAAA;AACH,CAAC;AAED,+CAA+C;AAC/C,SAAS,kBAAkB,CACzB,QAA2B;IAE3B,0DAA0D;IAC1D,OAAO,CACL,YAAY,IAAI,QAAQ;QACxB,sBAAsB;QACtB,sBAAsB,IAAI,QAAQ,CACnC,CAAA;AACH,CAAC;AAED,0CAA0C;AAC1C,SAAS,cAAc,CAAC,QAA2B;IACjD,OAAO,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,KAAK;IAKhB,YACE,QAAyB,EACzB,kBAAsC,EACtC,sBAA8C;QAE9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;IACtD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAmB;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,QAAyB,CAAA;QAC7B,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,GAAG,IAAI,0BAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,QAAQ,GAAG,IAAI,wBAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;aAAM,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,QAAQ,GAAG,IAAI,sBAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,6BAAkB,CAAC,QAAQ,CAAC,CAAA;QAC3D,MAAM,sBAAsB,GAAG,IAAI,iCAAsB,CAAC,QAAQ,CAAC,CAAA;QAEnE,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CAAA;IACxE,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAA;IAClD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,mBAAmB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,CAAA;IAC1D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAC7B,YAAqC;QAErC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAY,CAAA;QAC7D,OAAO,qBAAS,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IACzC,CAAC;CACF;AA5DD,sBA4DC;AAED,8CAA2B;AAC3B,0CAAuB;AACvB,6CAA0B;AAC1B,6CAA0B;AAC1B,yCAAsB;AACtB,0CAAuB"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { CollateralAsset, ProviderAdapter } from '../types';
|
|
2
|
-
export declare class CollateralAssetService {
|
|
3
|
-
private provider;
|
|
4
|
-
private tokenMetadataService;
|
|
5
|
-
constructor(provider: ProviderAdapter);
|
|
6
|
-
getCollateralAssets(): Promise<CollateralAsset[]>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=collateralAssetService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collateralAssetService.d.ts","sourceRoot":"","sources":["../../src/services/collateralAssetService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,eAAe,EAAE,MAAM,UAAU,CAAA;AAKrE,qBAAa,sBAAsB;IAGrB,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,oBAAoB,CAAsB;gBAE9B,QAAQ,EAAE,eAAe;IAIvC,mBAAmB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CA2CxD"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CollateralAssetService = void 0;
|
|
4
|
-
const abis_1 = require("../abis");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
|
-
const utils_1 = require("../utils");
|
|
7
|
-
const tokenMetadataService_1 = require("./tokenMetadataService");
|
|
8
|
-
class CollateralAssetService {
|
|
9
|
-
constructor(provider) {
|
|
10
|
-
this.provider = provider;
|
|
11
|
-
this.tokenMetadataService = new tokenMetadataService_1.TokenMetadataService(provider);
|
|
12
|
-
}
|
|
13
|
-
async getCollateralAssets() {
|
|
14
|
-
const chainId = await this.provider.getChainId();
|
|
15
|
-
const biPoolManagerAddress = (0, constants_1.getContractAddress)(chainId, constants_1.BIPOOLMANAGER);
|
|
16
|
-
const reserveAddress = (0, constants_1.getContractAddress)(chainId, constants_1.RESERVE);
|
|
17
|
-
const exchanges = (await (0, utils_1.retryOperation)(() => this.provider.readContract({
|
|
18
|
-
address: biPoolManagerAddress,
|
|
19
|
-
abi: abis_1.BIPOOL_MANAGER_ABI,
|
|
20
|
-
functionName: 'getExchanges',
|
|
21
|
-
})));
|
|
22
|
-
const uniqueAddresses = new Set();
|
|
23
|
-
for (const exchange of exchanges) {
|
|
24
|
-
exchange.assets.forEach((address) => uniqueAddresses.add(address));
|
|
25
|
-
}
|
|
26
|
-
// Check which tokens are collateral assets and get their info
|
|
27
|
-
const assets = [];
|
|
28
|
-
for (const address of uniqueAddresses) {
|
|
29
|
-
const isCollateral = (await (0, utils_1.retryOperation)(() => this.provider.readContract({
|
|
30
|
-
address: reserveAddress,
|
|
31
|
-
abi: abis_1.RESERVE_ABI,
|
|
32
|
-
functionName: 'isCollateralAsset',
|
|
33
|
-
args: [address],
|
|
34
|
-
})));
|
|
35
|
-
if (isCollateral) {
|
|
36
|
-
const metadata = await this.tokenMetadataService.getTokenMetadata(address);
|
|
37
|
-
assets.push({
|
|
38
|
-
address,
|
|
39
|
-
...metadata,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return assets;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.CollateralAssetService = CollateralAssetService;
|
|
47
|
-
//# sourceMappingURL=collateralAssetService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collateralAssetService.js","sourceRoot":"","sources":["../../src/services/collateralAssetService.ts"],"names":[],"mappings":";;;AAAA,kCAAyD;AAEzD,4CAAyE;AACzE,oCAAyC;AACzC,iEAA6D;AAE7D,MAAa,sBAAsB;IAGjC,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QAC3C,IAAI,CAAC,oBAAoB,GAAG,IAAI,2CAAoB,CAAC,QAAQ,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAChD,MAAM,oBAAoB,GAAG,IAAA,8BAAkB,EAAC,OAAO,EAAE,yBAAa,CAAC,CAAA;QACvE,MAAM,cAAc,GAAG,IAAA,8BAAkB,EAAC,OAAO,EAAE,mBAAO,CAAC,CAAA;QAE3D,MAAM,SAAS,GAAG,CAAC,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,CAC3C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACzB,OAAO,EAAE,oBAAoB;YAC7B,GAAG,EAAE,yBAAkB;YACvB,YAAY,EAAE,cAAc;SAC7B,CAAC,CACH,CAAe,CAAA;QAEhB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;QACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QACpE,CAAC;QAED,8DAA8D;QAC9D,MAAM,MAAM,GAAsB,EAAE,CAAA;QACpC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,CAC9C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACzB,OAAO,EAAE,cAAc;gBACvB,GAAG,EAAE,kBAAW;gBAChB,YAAY,EAAE,mBAAmB;gBACjC,IAAI,EAAE,CAAC,OAAO,CAAC;aAChB,CAAC,CACH,CAAY,CAAA;YAEb,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAC/D,OAAO,CACR,CAAA;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO;oBACP,GAAG,QAAQ;iBACZ,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAlDD,wDAkDC"}
|
package/dist/services/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,UAAU,CAAA"}
|
package/dist/services/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
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
|
-
__exportStar(require("./collateralAssetService"), exports);
|
|
18
|
-
__exportStar(require("./stableTokenService"), exports);
|
|
19
|
-
__exportStar(require("./supplyAdjustmentService"), exports);
|
|
20
|
-
__exportStar(require("./tokenMetadataService"), exports);
|
|
21
|
-
__exportStar(require("./supply"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAwC;AACxC,uDAAoC;AACpC,4DAAyC;AACzC,yDAAsC;AACtC,2CAAwB"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ProviderAdapter, StableToken } from '../types';
|
|
2
|
-
export declare class StableTokenService {
|
|
3
|
-
private provider;
|
|
4
|
-
private tokenMetadataService;
|
|
5
|
-
private supplyAdjustmentService;
|
|
6
|
-
constructor(provider: ProviderAdapter);
|
|
7
|
-
getStableTokens(): Promise<StableToken[]>;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=stableTokenService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stableTokenService.d.ts","sourceRoot":"","sources":["../../src/services/stableTokenService.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAIvD,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,uBAAuB,CAAyB;gBAEpC,QAAQ,EAAE,eAAe;IAKvC,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAkChD"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StableTokenService = void 0;
|
|
4
|
-
const abis_1 = require("../abis");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
6
|
-
const supplyAdjustmentService_1 = require("./supplyAdjustmentService");
|
|
7
|
-
const tokenMetadataService_1 = require("./tokenMetadataService");
|
|
8
|
-
class StableTokenService {
|
|
9
|
-
constructor(provider) {
|
|
10
|
-
this.provider = provider;
|
|
11
|
-
this.tokenMetadataService = new tokenMetadataService_1.TokenMetadataService(provider);
|
|
12
|
-
this.supplyAdjustmentService = new supplyAdjustmentService_1.SupplyAdjustmentService(provider);
|
|
13
|
-
}
|
|
14
|
-
async getStableTokens() {
|
|
15
|
-
const chainId = await this.provider.getChainId();
|
|
16
|
-
const reserveAddress = (0, constants_1.getContractAddress)(chainId, constants_1.RESERVE);
|
|
17
|
-
const tokenAddresses = (await this.provider.readContract({
|
|
18
|
-
address: reserveAddress,
|
|
19
|
-
abi: abis_1.RESERVE_ABI,
|
|
20
|
-
functionName: 'getTokens',
|
|
21
|
-
}));
|
|
22
|
-
const tokens = [];
|
|
23
|
-
for (const address of tokenAddresses) {
|
|
24
|
-
const metadata = await this.tokenMetadataService.getTokenMetadata(address);
|
|
25
|
-
const totalSupply = await this.tokenMetadataService.getTotalSupply(address);
|
|
26
|
-
const token = {
|
|
27
|
-
address,
|
|
28
|
-
...metadata,
|
|
29
|
-
totalSupply,
|
|
30
|
-
fiatTicker: (0, constants_1.getFiatTicker)(metadata.symbol),
|
|
31
|
-
};
|
|
32
|
-
const adjustedSupply = await this.supplyAdjustmentService.getAdjustedSupply(token);
|
|
33
|
-
token.totalSupply = adjustedSupply;
|
|
34
|
-
tokens.push(token);
|
|
35
|
-
}
|
|
36
|
-
return tokens;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.StableTokenService = StableTokenService;
|
|
40
|
-
//# sourceMappingURL=stableTokenService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stableTokenService.js","sourceRoot":"","sources":["../../src/services/stableTokenService.ts"],"names":[],"mappings":";;;AAAA,kCAAqC;AACrC,4CAKqB;AAErB,uEAAmE;AACnE,iEAA6D;AAE7D,MAAa,kBAAkB;IAI7B,YAAoB,QAAyB;QAAzB,aAAQ,GAAR,QAAQ,CAAiB;QAC3C,IAAI,CAAC,oBAAoB,GAAG,IAAI,2CAAoB,CAAC,QAAQ,CAAC,CAAA;QAC9D,IAAI,CAAC,uBAAuB,GAAG,IAAI,iDAAuB,CAAC,QAAQ,CAAC,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAChD,MAAM,cAAc,GAAG,IAAA,8BAAkB,EAAC,OAAO,EAAE,mBAAO,CAAC,CAAA;QAE3D,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACvD,OAAO,EAAE,cAAc;YACvB,GAAG,EAAE,kBAAW;YAChB,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAa,CAAA;QAEf,MAAM,MAAM,GAAkB,EAAE,CAAA;QAEhC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;YAC1E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAChE,OAAO,CACR,CAAA;YAED,MAAM,KAAK,GAAG;gBACZ,OAAO;gBACP,GAAG,QAAQ;gBACX,WAAW;gBACX,UAAU,EAAE,IAAA,yBAAa,EAAC,QAAQ,CAAC,MAA2B,CAAC;aAChE,CAAA;YAED,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;YAE7D,KAAK,CAAC,WAAW,GAAG,cAAc,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AA3CD,gDA2CC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ISupplyCalculator.d.ts","sourceRoot":"","sources":["../../../src/services/supply/ISupplyCalculator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACjD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ISupplyCalculator.js","sourceRoot":"","sources":["../../../src/services/supply/ISupplyCalculator.ts"],"names":[],"mappings":""}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ProviderAdapter } from '../../types';
|
|
2
|
-
import { ISupplyCalculator } from './ISupplyCalculator';
|
|
3
|
-
export declare class UniV3SupplyCalculator implements ISupplyCalculator {
|
|
4
|
-
private provider;
|
|
5
|
-
private positionManagerAddress;
|
|
6
|
-
private factoryAddress;
|
|
7
|
-
private governanceAddress;
|
|
8
|
-
private readonly decimalsCache;
|
|
9
|
-
private readonly poolCache;
|
|
10
|
-
constructor(provider: ProviderAdapter, positionManagerAddress: string, factoryAddress: string, governanceAddress: string);
|
|
11
|
-
getAmount(tokenAddress: string): Promise<bigint>;
|
|
12
|
-
private normalizeNumberString;
|
|
13
|
-
private calculatePositionAmount;
|
|
14
|
-
private processPositionBatch;
|
|
15
|
-
private getPositionTokenIds;
|
|
16
|
-
private getPoolAddress;
|
|
17
|
-
private getTokenDecimals;
|
|
18
|
-
private readContract;
|
|
19
|
-
private calculateAmounts;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=UniV3SupplyCalculator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniV3SupplyCalculator.d.ts","sourceRoot":"","sources":["../../../src/services/supply/UniV3SupplyCalculator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAOvD,qBAAa,qBAAsB,YAAW,iBAAiB;IAK3D,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,iBAAiB;IAP3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;gBAGjD,QAAQ,EAAE,eAAe,EACzB,sBAAsB,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM;IAG7B,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA+CtD,OAAO,CAAC,qBAAqB;YAYf,uBAAuB;YAkCvB,oBAAoB;YAqEpB,mBAAmB;YAoCnB,cAAc;YAqBd,gBAAgB;IAuB9B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;CAgDzB"}
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.UniV3SupplyCalculator = void 0;
|
|
7
|
-
const abis_1 = require("../../abis");
|
|
8
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
|
-
const utils_1 = require("../../utils");
|
|
10
|
-
const BATCH_SIZE = 5;
|
|
11
|
-
const BATCH_DELAY = 100;
|
|
12
|
-
class UniV3SupplyCalculator {
|
|
13
|
-
constructor(provider, positionManagerAddress, factoryAddress, governanceAddress) {
|
|
14
|
-
this.provider = provider;
|
|
15
|
-
this.positionManagerAddress = positionManagerAddress;
|
|
16
|
-
this.factoryAddress = factoryAddress;
|
|
17
|
-
this.governanceAddress = governanceAddress;
|
|
18
|
-
this.decimalsCache = new Map();
|
|
19
|
-
this.poolCache = new Map();
|
|
20
|
-
}
|
|
21
|
-
async getAmount(tokenAddress) {
|
|
22
|
-
try {
|
|
23
|
-
const positions = await this.getPositionTokenIds();
|
|
24
|
-
if (positions.length === 0)
|
|
25
|
-
return 0n;
|
|
26
|
-
let totalAmount = new bignumber_js_1.default(0);
|
|
27
|
-
// Process positions in batches
|
|
28
|
-
for (let i = 0; i < positions.length; i += BATCH_SIZE) {
|
|
29
|
-
const batchPositions = positions.slice(i, i + BATCH_SIZE);
|
|
30
|
-
const batchAmount = await (0, utils_1.retryOperation)(() => this.processPositionBatch(batchPositions, tokenAddress));
|
|
31
|
-
totalAmount = totalAmount.plus(batchAmount);
|
|
32
|
-
if (i + BATCH_SIZE < positions.length) {
|
|
33
|
-
await new Promise((resolve) => setTimeout(resolve, BATCH_DELAY));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
// Convert to bigint, considering token decimals
|
|
37
|
-
const decimals = await this.getTokenDecimals(tokenAddress);
|
|
38
|
-
try {
|
|
39
|
-
const rawAmount = totalAmount
|
|
40
|
-
.integerValue(bignumber_js_1.default.ROUND_DOWN)
|
|
41
|
-
.abs() // Take absolute value as signs are handled by adjustment service
|
|
42
|
-
.toString(10);
|
|
43
|
-
// Remove any decimal points and handle scientific notation
|
|
44
|
-
const cleanAmount = this.normalizeNumberString(rawAmount);
|
|
45
|
-
return BigInt(cleanAmount);
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
console.error('Error converting to bigint:', {
|
|
49
|
-
totalAmount: totalAmount.toString(),
|
|
50
|
-
decimals,
|
|
51
|
-
error,
|
|
52
|
-
});
|
|
53
|
-
return 0n;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
const errorMessage = `Univ3SupplyCalculator: Failed to calculate supply for token ${tokenAddress}: ${error}`;
|
|
58
|
-
throw new Error(errorMessage);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
normalizeNumberString(value) {
|
|
62
|
-
if (value.includes('e')) {
|
|
63
|
-
const [mantissa, exponent] = value.split('e');
|
|
64
|
-
const e = parseInt(exponent);
|
|
65
|
-
if (e > 0) {
|
|
66
|
-
return mantissa.replace('.', '') + '0'.repeat(e);
|
|
67
|
-
}
|
|
68
|
-
return '0';
|
|
69
|
-
}
|
|
70
|
-
return value.split('.')[0];
|
|
71
|
-
}
|
|
72
|
-
async calculatePositionAmount(position, slot0, targetToken) {
|
|
73
|
-
const liquidity = new bignumber_js_1.default(position[7].toString());
|
|
74
|
-
const sqrtPriceX96 = new bignumber_js_1.default(slot0[0].toString());
|
|
75
|
-
const Q96 = new bignumber_js_1.default(2).pow(96);
|
|
76
|
-
const sqrtPriceX96Num = sqrtPriceX96.dividedBy(Q96);
|
|
77
|
-
const currentTick = sqrtPriceX96Num.isGreaterThan(0)
|
|
78
|
-
? Math.floor(Math.log(sqrtPriceX96Num.toNumber() ** 2) / Math.log(1.0001))
|
|
79
|
-
: 0;
|
|
80
|
-
const tickLower = Number(position[5]);
|
|
81
|
-
const tickUpper = Number(position[6]);
|
|
82
|
-
const [amount0, amount1] = this.calculateAmounts(liquidity, currentTick, tickLower, tickUpper, sqrtPriceX96Num);
|
|
83
|
-
// Return positive amount if we should add to supply, negative if we should subtract
|
|
84
|
-
const isToken0 = position[2] === targetToken;
|
|
85
|
-
const amount = isToken0 ? amount0 : amount1;
|
|
86
|
-
// If target token is being deposited into the pool, we should subtract from supply
|
|
87
|
-
// This means if the position has liquidity of the target token, it's out of circulation
|
|
88
|
-
return amount;
|
|
89
|
-
}
|
|
90
|
-
async processPositionBatch(positionIds, targetToken) {
|
|
91
|
-
try {
|
|
92
|
-
// Fetch position data
|
|
93
|
-
const positionDataPromises = positionIds.map((id) => this.readContract({
|
|
94
|
-
address: this.positionManagerAddress,
|
|
95
|
-
abi: abis_1.UNIV3_POSITION_MANAGER_ABI,
|
|
96
|
-
functionName: 'positions',
|
|
97
|
-
args: [id],
|
|
98
|
-
}));
|
|
99
|
-
const positionData = (await Promise.all(positionDataPromises));
|
|
100
|
-
// Filter active positions that contain our target token
|
|
101
|
-
const activePositions = positionData.filter((pos) => {
|
|
102
|
-
const liquidity = new bignumber_js_1.default(pos[7].toString());
|
|
103
|
-
return (!liquidity.isZero() &&
|
|
104
|
-
(pos[2] === targetToken || pos[3] === targetToken));
|
|
105
|
-
});
|
|
106
|
-
if (activePositions.length === 0)
|
|
107
|
-
return new bignumber_js_1.default(0);
|
|
108
|
-
// Get pool addresses
|
|
109
|
-
const poolAddresses = await Promise.all(activePositions.map((pos) => this.getPoolAddress(pos[2], pos[3], Number(pos[4]))));
|
|
110
|
-
// Get slot0 data for all pools
|
|
111
|
-
const slot0Data = await Promise.all(poolAddresses.map((poolAddress) => this.readContract({
|
|
112
|
-
address: poolAddress,
|
|
113
|
-
abi: abis_1.UNIV3_POOL_ABI,
|
|
114
|
-
functionName: 'slot0',
|
|
115
|
-
})));
|
|
116
|
-
// Calculate total amount
|
|
117
|
-
let totalAmount = new bignumber_js_1.default(0);
|
|
118
|
-
for (let i = 0; i < activePositions.length; i++) {
|
|
119
|
-
const pos = activePositions[i];
|
|
120
|
-
const slot0 = slot0Data[i];
|
|
121
|
-
const amount = await this.calculatePositionAmount(pos, slot0, targetToken);
|
|
122
|
-
totalAmount = totalAmount.plus(amount);
|
|
123
|
-
}
|
|
124
|
-
return totalAmount;
|
|
125
|
-
}
|
|
126
|
-
catch (error) {
|
|
127
|
-
console.error('Failed to process position batch:', error);
|
|
128
|
-
return new bignumber_js_1.default(0);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
async getPositionTokenIds() {
|
|
132
|
-
// Get governance balance
|
|
133
|
-
const balance = await this.readContract({
|
|
134
|
-
address: this.positionManagerAddress,
|
|
135
|
-
abi: abis_1.UNIV3_POSITION_MANAGER_ABI,
|
|
136
|
-
functionName: 'balanceOf',
|
|
137
|
-
args: [this.governanceAddress],
|
|
138
|
-
});
|
|
139
|
-
const numPositions = Number(balance);
|
|
140
|
-
if (numPositions === 0)
|
|
141
|
-
return [];
|
|
142
|
-
const tokenIds = [];
|
|
143
|
-
for (let i = 0; i < numPositions; i += BATCH_SIZE) {
|
|
144
|
-
const batchPromises = Array.from({ length: Math.min(BATCH_SIZE, numPositions - i) }, (_, index) => this.readContract({
|
|
145
|
-
address: this.positionManagerAddress,
|
|
146
|
-
abi: abis_1.UNIV3_POSITION_MANAGER_ABI,
|
|
147
|
-
functionName: 'tokenOfOwnerByIndex',
|
|
148
|
-
args: [this.governanceAddress, i + index],
|
|
149
|
-
}).then((id) => Number(id)));
|
|
150
|
-
const batchResults = await Promise.all(batchPromises);
|
|
151
|
-
tokenIds.push(...batchResults);
|
|
152
|
-
if (i + BATCH_SIZE < numPositions) {
|
|
153
|
-
await new Promise((resolve) => setTimeout(resolve, BATCH_DELAY));
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return tokenIds;
|
|
157
|
-
}
|
|
158
|
-
async getPoolAddress(token0, token1, fee) {
|
|
159
|
-
const cacheKey = `${token0}-${token1}-${fee}`;
|
|
160
|
-
if (this.poolCache.has(cacheKey)) {
|
|
161
|
-
return this.poolCache.get(cacheKey);
|
|
162
|
-
}
|
|
163
|
-
const poolAddress = (await this.readContract({
|
|
164
|
-
address: this.factoryAddress,
|
|
165
|
-
abi: abis_1.UNIV3_FACTORY_ABI,
|
|
166
|
-
functionName: 'getPool',
|
|
167
|
-
args: [token0, token1, fee],
|
|
168
|
-
}));
|
|
169
|
-
this.poolCache.set(cacheKey, poolAddress);
|
|
170
|
-
return poolAddress;
|
|
171
|
-
}
|
|
172
|
-
async getTokenDecimals(tokenAddress) {
|
|
173
|
-
if (this.decimalsCache.has(tokenAddress)) {
|
|
174
|
-
return this.decimalsCache.get(tokenAddress);
|
|
175
|
-
}
|
|
176
|
-
try {
|
|
177
|
-
const decimals = (await this.readContract({
|
|
178
|
-
address: tokenAddress,
|
|
179
|
-
abi: abis_1.ERC20_ABI,
|
|
180
|
-
functionName: 'decimals',
|
|
181
|
-
}));
|
|
182
|
-
this.decimalsCache.set(tokenAddress, decimals);
|
|
183
|
-
return decimals;
|
|
184
|
-
}
|
|
185
|
-
catch (error) {
|
|
186
|
-
console.warn(`Failed to fetch decimals for ${tokenAddress}, using default:`, error);
|
|
187
|
-
return 18;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
readContract(options) {
|
|
191
|
-
return this.provider.readContract(options);
|
|
192
|
-
}
|
|
193
|
-
calculateAmounts(liquidity, currentTick, tickLower, tickUpper, sqrtPrice) {
|
|
194
|
-
try {
|
|
195
|
-
const sqrtRatioLower = new bignumber_js_1.default(Math.sqrt(1.0001 ** tickLower));
|
|
196
|
-
const sqrtRatioUpper = new bignumber_js_1.default(Math.sqrt(1.0001 ** tickUpper));
|
|
197
|
-
let amount0 = new bignumber_js_1.default(0);
|
|
198
|
-
let amount1 = new bignumber_js_1.default(0);
|
|
199
|
-
if (currentTick < tickLower) {
|
|
200
|
-
const amount0Numerator = sqrtRatioUpper.minus(sqrtRatioLower);
|
|
201
|
-
const amount0Denominator = sqrtRatioUpper.multipliedBy(sqrtRatioLower);
|
|
202
|
-
if (!amount0Denominator.isZero()) {
|
|
203
|
-
amount0 = liquidity.multipliedBy(amount0Numerator.dividedBy(amount0Denominator));
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
else if (currentTick < tickUpper) {
|
|
207
|
-
const amount0Numerator = sqrtRatioUpper.minus(sqrtPrice);
|
|
208
|
-
const amount0Denominator = sqrtPrice.multipliedBy(sqrtRatioUpper);
|
|
209
|
-
if (!amount0Denominator.isZero()) {
|
|
210
|
-
amount0 = liquidity.multipliedBy(amount0Numerator.dividedBy(amount0Denominator));
|
|
211
|
-
}
|
|
212
|
-
amount1 = liquidity.multipliedBy(sqrtPrice.minus(sqrtRatioLower));
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
amount1 = liquidity.multipliedBy(sqrtRatioUpper.minus(sqrtRatioLower));
|
|
216
|
-
}
|
|
217
|
-
return [
|
|
218
|
-
amount0.isFinite()
|
|
219
|
-
? amount0.integerValue(bignumber_js_1.default.ROUND_DOWN)
|
|
220
|
-
: new bignumber_js_1.default(0),
|
|
221
|
-
amount1.isFinite()
|
|
222
|
-
? amount1.integerValue(bignumber_js_1.default.ROUND_DOWN)
|
|
223
|
-
: new bignumber_js_1.default(0),
|
|
224
|
-
];
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
console.error('Error calculating amounts:', error);
|
|
228
|
-
return [new bignumber_js_1.default(0), new bignumber_js_1.default(0)];
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
exports.UniV3SupplyCalculator = UniV3SupplyCalculator;
|
|
233
|
-
//# sourceMappingURL=UniV3SupplyCalculator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniV3SupplyCalculator.js","sourceRoot":"","sources":["../../../src/services/supply/UniV3SupplyCalculator.ts"],"names":[],"mappings":";;;;;;AAAA,qCAKmB;AAGnB,gEAAoC;AACpC,uCAA4C;AAE5C,MAAM,UAAU,GAAG,CAAC,CAAA;AACpB,MAAM,WAAW,GAAG,GAAG,CAAA;AAEvB,MAAa,qBAAqB;IAIhC,YACU,QAAyB,EACzB,sBAA8B,EAC9B,cAAsB,EACtB,iBAAyB;QAHzB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,2BAAsB,GAAtB,sBAAsB,CAAQ;QAC9B,mBAAc,GAAd,cAAc,CAAQ;QACtB,sBAAiB,GAAjB,iBAAiB,CAAQ;QAPlB,kBAAa,GAAwB,IAAI,GAAG,EAAE,CAAA;QAC9C,cAAS,GAAwB,IAAI,GAAG,EAAE,CAAA;IAOxD,CAAC;IAEJ,KAAK,CAAC,SAAS,CAAC,YAAoB;QAClC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAErC,IAAI,WAAW,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAA;YAElC,+BAA+B;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;gBACtD,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;gBAEzD,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,CAC5C,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,YAAY,CAAC,CACxD,CAAA;gBACD,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAE3C,IAAI,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;oBACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;gBAClE,CAAC;YACH,CAAC;YAED,gDAAgD;YAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;YAE1D,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,WAAW;qBAC1B,YAAY,CAAC,sBAAS,CAAC,UAAU,CAAC;qBAClC,GAAG,EAAE,CAAC,iEAAiE;qBACvE,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAEf,2DAA2D;gBAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;gBACzD,OAAO,MAAM,CAAC,WAAW,CAAC,CAAA;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE;oBAC3C,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;oBACnC,QAAQ;oBACR,KAAK;iBACN,CAAC,CAAA;gBACF,OAAO,EAAE,CAAA;YACX,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,+DAA+D,YAAY,KAAK,KAAK,EAAE,CAAA;YAC5G,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,KAAa;QACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC7C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAClD,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,QAAa,EACb,KAAU,EACV,WAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACvD,MAAM,YAAY,GAAG,IAAI,sBAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QACvD,MAAM,GAAG,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEpC,MAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC,CAAA;QAEL,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAErC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAC9C,SAAS,EACT,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,CAChB,CAAA;QAED,oFAAoF;QACpF,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,CAAA;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;QAE3C,mFAAmF;QACnF,wFAAwF;QACxF,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,WAAqB,EACrB,WAAmB;QAEnB,IAAI,CAAC;YACH,sBAAsB;YACtB,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAClD,IAAI,CAAC,YAAY,CAAC;gBAChB,OAAO,EAAE,IAAI,CAAC,sBAAsB;gBACpC,GAAG,EAAE,iCAA0B;gBAC/B,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,EAAE,CAAC;aACX,CAAC,CACH,CAAA;YAED,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAY,CAAA;YAEzE,wDAAwD;YACxD,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAU,EAAE,EAAE;gBACzD,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAClD,OAAO,CACL,CAAC,SAAS,CAAC,MAAM,EAAE;oBACnB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CACnD,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAA;YAEzD,qBAAqB;YACrB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACpD,CACF,CAAA;YAED,+BAA+B;YAC/B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,aAAa,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAChC,IAAI,CAAC,YAAY,CAAC;gBAChB,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,qBAAc;gBACnB,YAAY,EAAE,OAAO;aACtB,CAAC,CACH,CACF,CAAA;YAED,yBAAyB;YACzB,IAAI,WAAW,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAA;YAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;gBAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;gBAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/C,GAAG,EACH,KAAK,EACL,WAAW,CACZ,CAAA;gBAED,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACxC,CAAC;YAED,OAAO,WAAW,CAAA;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;YACzD,OAAO,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,yBAAyB;QACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,sBAAsB;YACpC,GAAG,EAAE,iCAA0B;YAC/B,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;SAC/B,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,YAAY,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAEjC,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAC9B,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,GAAG,CAAC,CAAC,EAAE,EAClD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACX,IAAI,CAAC,YAAY,CAAC;gBAChB,OAAO,EAAE,IAAI,CAAC,sBAAsB;gBACpC,GAAG,EAAE,iCAA0B;gBAC/B,YAAY,EAAE,qBAAqB;gBACnC,IAAI,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,GAAG,KAAK,CAAC;aAC1C,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC9B,CAAA;YAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YACrD,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;YAE9B,IAAI,CAAC,GAAG,UAAU,GAAG,YAAY,EAAE,CAAC;gBAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;YAClE,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,MAAc,EACd,GAAW;QAEX,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,GAAG,EAAE,CAAA;QAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAA;QACtC,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,GAAG,EAAE,wBAAiB;YACtB,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC;SAC5B,CAAC,CAAW,CAAA;QAEb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACzC,OAAO,WAAW,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,YAAoB;QACjD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAE,CAAA;QAC9C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC;gBACxC,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,gBAAS;gBACd,YAAY,EAAE,UAAU;aACzB,CAAC,CAAW,CAAA;YAEb,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;YAC9C,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,gCAAgC,YAAY,kBAAkB,EAC9D,KAAK,CACN,CAAA;YACD,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,OAA4B;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAEO,gBAAgB,CACtB,SAAoB,EACpB,WAAmB,EACnB,SAAiB,EACjB,SAAiB,EACjB,SAAoB;QAEpB,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAA;YACpE,MAAM,cAAc,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAA;YAEpE,IAAI,OAAO,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAA;YAC9B,IAAI,OAAO,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAA;YAE9B,IAAI,WAAW,GAAG,SAAS,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;gBAC7D,MAAM,kBAAkB,GAAG,cAAc,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;gBACtE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;oBACjC,OAAO,GAAG,SAAS,CAAC,YAAY,CAC9B,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAC/C,CAAA;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,WAAW,GAAG,SAAS,EAAE,CAAC;gBACnC,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;gBACxD,MAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;gBACjE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;oBACjC,OAAO,GAAG,SAAS,CAAC,YAAY,CAC9B,gBAAgB,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAC/C,CAAA;gBACH,CAAC;gBACD,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;YACnE,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;YACxE,CAAC;YAED,OAAO;gBACL,OAAO,CAAC,QAAQ,EAAE;oBAChB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,sBAAS,CAAC,UAAU,CAAC;oBAC5C,CAAC,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC;gBACpB,OAAO,CAAC,QAAQ,EAAE;oBAChB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,sBAAS,CAAC,UAAU,CAAC;oBAC5C,CAAC,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC;aACrB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;CACF;AAjTD,sDAiTC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/supply/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA"}
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
-
__exportStar(require("./UniV3SupplyCalculator"), exports);
|
|
18
|
-
__exportStar(require("./multisigSupplyCalculator"), exports);
|
|
19
|
-
__exportStar(require("./ISupplyCalculator"), exports);
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/supply/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,6DAA0C;AAC1C,sDAAmC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ProviderAdapter } from '../../types';
|
|
2
|
-
import { ISupplyCalculator } from './ISupplyCalculator';
|
|
3
|
-
export declare class MultisigSupplyCalculator implements ISupplyCalculator {
|
|
4
|
-
private provider;
|
|
5
|
-
private multisigAddress;
|
|
6
|
-
constructor(provider: ProviderAdapter, multisigAddress: string);
|
|
7
|
-
getAmount(tokenAddress: string): Promise<bigint>;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=multisigSupplyCalculator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multisigSupplyCalculator.d.ts","sourceRoot":"","sources":["../../../src/services/supply/multisigSupplyCalculator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,qBAAa,wBAAyB,YAAW,iBAAiB;IAE9D,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;gBADf,QAAQ,EAAE,eAAe,EACzB,eAAe,EAAE,MAAM;IAG3B,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAUvD"}
|