@morpho-org/blue-sdk 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +10 -6
- package/src/addresses.ts +261 -0
- package/src/chain/chain.constants.ts +235 -0
- package/src/chain/chain.test.ts +51 -0
- package/src/chain/chain.types.ts +42 -0
- package/src/chain/chain.utils.ts +44 -0
- package/src/constants.ts +18 -0
- package/src/errors.ts +75 -0
- package/src/ethers/ethers.test.ts +17 -0
- package/src/ethers/safeGetAddress.ts +4 -0
- package/src/ethers/safeParseUnits.ts +29 -0
- package/src/evm.ts +172 -0
- package/src/helpers/format/format.test.ts +340 -0
- package/src/helpers/format/format.ts +416 -0
- package/src/helpers/getChecksumedAddress.ts +15 -0
- package/{lib/helpers/isZeroAddressOrUnset.d.ts → src/helpers/isZeroAddressOrUnset.ts} +7 -1
- package/src/helpers/locale.ts +108 -0
- package/src/holding/Holding.ts +109 -0
- package/src/market/Market.ts +479 -0
- package/src/market/MarketConfig.ts +108 -0
- package/src/market/MarketUtils.test.ts +25 -0
- package/src/market/MarketUtils.ts +467 -0
- package/src/maths/AdaptiveCurveIrmLib.ts +143 -0
- package/src/maths/MathLib.ts +208 -0
- package/src/maths/MathUtils.ts +31 -0
- package/src/maths/SharesMath.ts +40 -0
- package/src/notifications.ts +167 -0
- package/src/position/Position.ts +251 -0
- package/src/signatures/index.ts +18 -0
- package/src/signatures/manager.ts +50 -0
- package/src/signatures/permit.ts +126 -0
- package/src/signatures/permit2.ts +120 -0
- package/src/signatures/types.ts +18 -0
- package/src/signatures/utils.ts +83 -0
- package/src/tests/mocks/markets.ts +110 -0
- package/src/token/ERC20Metadata.ts +124 -0
- package/src/token/Token.ts +83 -0
- package/src/token/TokenNamespace.ts +76 -0
- package/src/token/WrappedToken.ts +142 -0
- package/src/types.ts +37 -0
- package/src/user/User.ts +32 -0
- package/src/user/user.types.ts +23 -0
- package/src/vault/Vault.ts +370 -0
- package/src/vault/VaultAllocation.ts +58 -0
- package/src/vault/VaultConfig.ts +55 -0
- package/src/vault/VaultUtils.ts +47 -0
- package/lib/addresses.d.ts +0 -168
- package/lib/addresses.js +0 -169
- package/lib/chain/chain.constants.d.ts +0 -3
- package/lib/chain/chain.constants.js +0 -232
- package/lib/chain/chain.types.d.ts +0 -20
- package/lib/chain/chain.types.js +0 -30
- package/lib/chain/chain.utils.d.ts +0 -14
- package/lib/chain/chain.utils.js +0 -30
- package/lib/chain/index.js +0 -18
- package/lib/constants.d.ts +0 -8
- package/lib/constants.js +0 -13
- package/lib/errors.d.ts +0 -37
- package/lib/errors.js +0 -71
- package/lib/ethers/index.js +0 -18
- package/lib/ethers/safeGetAddress.d.ts +0 -1
- package/lib/ethers/safeGetAddress.js +0 -6
- package/lib/ethers/safeParseUnits.d.ts +0 -2
- package/lib/ethers/safeParseUnits.js +0 -25
- package/lib/evm.d.ts +0 -36
- package/lib/evm.js +0 -113
- package/lib/helpers/format/format.d.ts +0 -98
- package/lib/helpers/format/format.js +0 -301
- package/lib/helpers/format/index.js +0 -17
- package/lib/helpers/getChecksumedAddress.d.ts +0 -7
- package/lib/helpers/getChecksumedAddress.js +0 -17
- package/lib/helpers/index.js +0 -20
- package/lib/helpers/isZeroAddressOrUnset.js +0 -14
- package/lib/helpers/locale.d.ts +0 -36
- package/lib/helpers/locale.js +0 -86
- package/lib/holding/Holding.d.ts +0 -60
- package/lib/holding/Holding.js +0 -31
- package/lib/holding/index.js +0 -17
- package/lib/index.d.ts +0 -33
- package/lib/index.js +0 -62
- package/lib/market/Market.d.ts +0 -159
- package/lib/market/Market.js +0 -240
- package/lib/market/MarketConfig.d.ts +0 -44
- package/lib/market/MarketConfig.js +0 -56
- package/lib/market/MarketUtils.d.ts +0 -165
- package/lib/market/MarketUtils.js +0 -182
- package/lib/market/index.js +0 -19
- package/lib/maths/AdaptiveCurveIrmLib.d.ts +0 -37
- package/lib/maths/AdaptiveCurveIrmLib.js +0 -116
- package/lib/maths/MathLib.d.ts +0 -94
- package/lib/maths/MathLib.js +0 -153
- package/lib/maths/MathUtils.d.ts +0 -15
- package/lib/maths/MathUtils.js +0 -33
- package/lib/maths/SharesMath.d.ts +0 -12
- package/lib/maths/SharesMath.js +0 -22
- package/lib/maths/index.js +0 -20
- package/lib/notifications.d.ts +0 -98
- package/lib/notifications.js +0 -52
- package/lib/position/Position.d.ts +0 -118
- package/lib/position/Position.js +0 -145
- package/lib/position/index.js +0 -17
- package/lib/signatures/index.d.ts +0 -12
- package/lib/signatures/index.js +0 -39
- package/lib/signatures/manager.d.ts +0 -10
- package/lib/signatures/manager.js +0 -37
- package/lib/signatures/permit.d.ts +0 -21
- package/lib/signatures/permit.js +0 -101
- package/lib/signatures/permit2.d.ts +0 -20
- package/lib/signatures/permit2.js +0 -91
- package/lib/signatures/types.d.ts +0 -13
- package/lib/signatures/types.js +0 -2
- package/lib/signatures/utils.d.ts +0 -6
- package/lib/signatures/utils.js +0 -44
- package/lib/tests/mocks/markets.d.ts +0 -17
- package/lib/tests/mocks/markets.js +0 -108
- package/lib/token/ERC20Metadata.d.ts +0 -249
- package/lib/token/ERC20Metadata.js +0 -81
- package/lib/token/Token.d.ts +0 -45
- package/lib/token/Token.js +0 -39
- package/lib/token/TokenNamespace.d.ts +0 -18
- package/lib/token/TokenNamespace.js +0 -55
- package/lib/token/WrappedToken.d.ts +0 -42
- package/lib/token/WrappedToken.js +0 -87
- package/lib/token/index.js +0 -18
- package/lib/types.d.ts +0 -29
- package/lib/types.js +0 -23
- package/lib/user/User.d.ts +0 -20
- package/lib/user/User.js +0 -11
- package/lib/user/index.js +0 -18
- package/lib/user/user.types.d.ts +0 -18
- package/lib/user/user.types.js +0 -2
- package/lib/vault/Vault.d.ts +0 -167
- package/lib/vault/Vault.js +0 -156
- package/lib/vault/VaultAllocation.d.ts +0 -38
- package/lib/vault/VaultAllocation.js +0 -18
- package/lib/vault/VaultConfig.d.ts +0 -23
- package/lib/vault/VaultConfig.js +0 -26
- package/lib/vault/VaultUtils.d.ts +0 -17
- package/lib/vault/VaultUtils.js +0 -17
- package/lib/vault/index.js +0 -20
- /package/{lib/chain/index.d.ts → src/chain/index.ts} +0 -0
- /package/{lib/ethers/index.d.ts → src/ethers/index.ts} +0 -0
- /package/{lib/helpers/format/index.d.ts → src/helpers/format/index.ts} +0 -0
- /package/{lib/helpers/index.d.ts → src/helpers/index.ts} +0 -0
- /package/{lib/holding/index.d.ts → src/holding/index.ts} +0 -0
- /package/{lib/market/index.d.ts → src/market/index.ts} +0 -0
- /package/{lib/maths/index.d.ts → src/maths/index.ts} +0 -0
- /package/{lib/position/index.d.ts → src/position/index.ts} +0 -0
- /package/{lib/token/index.d.ts → src/token/index.ts} +0 -0
- /package/{lib/user/index.d.ts → src/user/index.ts} +0 -0
- /package/{lib/vault/index.d.ts → src/vault/index.ts} +0 -0
package/lib/addresses.js
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convexWrapperTokens = exports.getWrappedBackedTokens = exports.wrappedBackedTokens = exports.erc20WrapperTokens = exports.getWrappedToken = exports.getUnwrappedToken = exports.reverseWrapping = exports.wrapping = exports.getChainAddresses = exports.addresses = exports.NATIVE_ADDRESS = void 0;
|
|
4
|
-
const chain_1 = require("./chain");
|
|
5
|
-
const errors_1 = require("./errors");
|
|
6
|
-
/** Address used to replicate an erc20-behaviour for native token.
|
|
7
|
-
*
|
|
8
|
-
* NB: data might differ from expected onchain native token data
|
|
9
|
-
*/
|
|
10
|
-
exports.NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
|
|
11
|
-
exports.addresses = {
|
|
12
|
-
[chain_1.ChainId.EthGoerliTestnet]: {
|
|
13
|
-
morpho: "0x64c7044050Ba0431252df24fEd4d9635a275CB41",
|
|
14
|
-
permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
|
|
15
|
-
bundler: "0xCFFbEEAFCD79Fd68FD56Dbc31A419f290A2Fe9e0",
|
|
16
|
-
urd: "0x820755E757a590683dc43115290eb1Cb20a60405",
|
|
17
|
-
wNative: "0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",
|
|
18
|
-
stEth: "0x1643E812aE58766192Cf7D2Cf9567dF2C37e9B7F",
|
|
19
|
-
wstEth: "0x6320cD32aA674d2898A68ec82e869385Fc5f7E2f",
|
|
20
|
-
rEth: "0x178E141a0E3b34152f73Ff610437A7bf9B83267A",
|
|
21
|
-
sDai: "0xD8134205b0328F5676aaeFb3B2a0DC15f4029d8C",
|
|
22
|
-
dai: "0x11fE4B6AE13d2a6055C8D9cF65c55bac32B5d844",
|
|
23
|
-
usdc: "0x62bD2A599664D421132d7C54AB4DbE3233f4f0Ae",
|
|
24
|
-
usdt: "0x576e379FA7B899b4De1E251e935B31543Df3e954",
|
|
25
|
-
},
|
|
26
|
-
[chain_1.ChainId.EthMainnet]: {
|
|
27
|
-
morpho: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",
|
|
28
|
-
adaptiveCurveIrm: "0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC",
|
|
29
|
-
publicAllocator: "0xfd32fA2ca22c76dD6E550706Ad913FC6CE91c75D",
|
|
30
|
-
permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
|
|
31
|
-
bundler: "0x4095F064B8d3c3548A3bebfd0Bbfd04750E30077",
|
|
32
|
-
aaveV3OptimizerBundler: "0x16F38d2E764E7BeBF625a8E995b34968226D2F9c",
|
|
33
|
-
aaveV2Bundler: "0xb3dCc75DB379925edFd3007511A8CE0cB4aa8e76",
|
|
34
|
-
aaveV3Bundler: "0x98ccB155E86bb478d514a827d16f58c6912f9BDC",
|
|
35
|
-
morphoToken: "0x9994E35Db50125E0DF82e4c2dde62496CE330999",
|
|
36
|
-
rEth: "0xae78736Cd615f374D3085123A210448E74Fc6393",
|
|
37
|
-
sDai: "0x83F20F44975D03b1b09e64809B757c47f942BEeA",
|
|
38
|
-
dai: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
|
|
39
|
-
mkr: "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2",
|
|
40
|
-
wstEth: "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0",
|
|
41
|
-
wNative: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
|
|
42
|
-
stEth: "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84",
|
|
43
|
-
USDe: "0x4c9EDD5852cd905f086C759E8383e09bff1E68B3",
|
|
44
|
-
sUSDe: "0x9D39A5DE30e57443BfF2A8307A4256c8797A3497",
|
|
45
|
-
bIB01: "0xCA30c93B02514f86d5C86a6e375E3A330B435Fb5",
|
|
46
|
-
// If we want to change the wbIB01 address, we have to check if the new one has simple permit or not.
|
|
47
|
-
// Currently, wbIB01 is considered to have simple permit.
|
|
48
|
-
wbIB01: "0xcA2A7068e551d5C4482eb34880b194E4b945712F",
|
|
49
|
-
bC3M: "0x2F123cF3F37CE3328CC9B5b8415f9EC5109b45e7",
|
|
50
|
-
// If we want to change the wbC3M address, we have to check if the new one has simple permit or not.
|
|
51
|
-
// Currently, wbC3M is considered to have simple permit.
|
|
52
|
-
wbC3M: "0x95D7337d43340E2721960Dc402D9b9117f0d81a2",
|
|
53
|
-
usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
54
|
-
usdt: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
55
|
-
wbtc: "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",
|
|
56
|
-
sWise: "0x48C3399719B582dD63eB5AADf12A40B4C3f52FA2",
|
|
57
|
-
osEth: "0xf1C9acDc66974dFB6dEcB12aA385b9cD01190E38",
|
|
58
|
-
weEth: "0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee",
|
|
59
|
-
ezEth: "0xbf5495Efe5DB9ce00f80364C8B423567e58d2110",
|
|
60
|
-
pyUsd: "0x6c3ea9036406852006290770BEdFcAbA0e23A0e8",
|
|
61
|
-
crvUsd: "0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E",
|
|
62
|
-
morphoOperator: "0x640428D38189B11B844dAEBDBAAbbdfbd8aE0143",
|
|
63
|
-
butterfly: "0xc55126051B22eBb829D00368f4B12Bde432de5Da",
|
|
64
|
-
marketRewardsProgramRegistry: "0x5148bF15bb722E1854F66430Bc9FeD0E9FDaCE7D",
|
|
65
|
-
timeBoundedUrd: "0x330eefa8a787552DC5cAd3C3cA644844B1E61Ddb",
|
|
66
|
-
rsEth: "0xA1290d69c65A6Fe4DF752f95823fae25cB99e5A7",
|
|
67
|
-
/* Curve tokens */
|
|
68
|
-
"stkcvxcrvUSDTWBTCWETH-morpho": "0xb0Ce26C88e4e7DCa51968b6047f44646f5064278",
|
|
69
|
-
crvUSDTWBTCWETH: "0xf5f5B97624542D72A9E06f04804Bf81baA15e2B4",
|
|
70
|
-
"stkcvxcrvUSDCWBTCWETH-morpho": "0x0ea1a65A2c255f24Ee8D81eA6AaC54Decd9d269e",
|
|
71
|
-
crvUSDCWBTCWETH: "0x7F86Bf177Dd4F3494b841a37e810A34dD56c829B",
|
|
72
|
-
"stkcvxcrvCRVUSDTBTCWSTETH-morpho": "0x3ce8Ec9f3d89aD0A2DdbCC3FDB8991BD241Fc82E",
|
|
73
|
-
crvCRVUSDTBTCWSTETH: "0x2889302a794dA87fBF1D6Db415C1492194663D13",
|
|
74
|
-
"stkcvxTryLSD-morpho": "0x6BA072F0d22806F2C52e9792AF47f2D59103BEBE",
|
|
75
|
-
tryLSD: "0x2570f1bD5D2735314FC102eb12Fc1aFe9e6E7193",
|
|
76
|
-
"stkcvxcrvUSDETHCRV-morpho": "0xAc904BAfBb5FB04Deb2b6198FdCEedE75a78Ce5a",
|
|
77
|
-
crvUSDETHCRV: "0x4eBdF703948ddCEA3B11f675B4D1Fba9d2414A14",
|
|
78
|
-
},
|
|
79
|
-
[chain_1.ChainId.BaseMainnet]: {
|
|
80
|
-
morpho: "0xBBBBBbbBBb9cC5e90e3b3Af64bdAF62C37EEFFCb",
|
|
81
|
-
permit2: "0x000000000022D473030F116dDEE9F6B43aC78BA3",
|
|
82
|
-
bundler: "0xb5D342521EB5b983aE6a6324A4D9eac87C9D1987",
|
|
83
|
-
wNative: "0x4200000000000000000000000000000000000006",
|
|
84
|
-
adaptiveCurveIrm: "0x46415998764C29aB2a25CbeA6254146D50D22687",
|
|
85
|
-
publicAllocator: "0xA090dD1a701408Df1d4d0B85b716c87565f90467",
|
|
86
|
-
/* Tokens */
|
|
87
|
-
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
88
|
-
cbEth: "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
exports.default = exports.addresses;
|
|
92
|
-
const getChainAddresses = (chainId) => {
|
|
93
|
-
const chainAddresses = exports.addresses[chainId];
|
|
94
|
-
if (!chainAddresses)
|
|
95
|
-
throw new errors_1.UnsupportedChainIdError(chainId);
|
|
96
|
-
return chainAddresses;
|
|
97
|
-
};
|
|
98
|
-
exports.getChainAddresses = getChainAddresses;
|
|
99
|
-
exports.wrapping = {
|
|
100
|
-
[chain_1.ChainId.EthGoerliTestnet]: {
|
|
101
|
-
[exports.NATIVE_ADDRESS]: exports.addresses[chain_1.ChainId.EthGoerliTestnet].wNative,
|
|
102
|
-
[exports.addresses[chain_1.ChainId.EthGoerliTestnet].stEth]: exports.addresses[chain_1.ChainId.EthGoerliTestnet].wstEth,
|
|
103
|
-
},
|
|
104
|
-
[chain_1.ChainId.EthMainnet]: {
|
|
105
|
-
[exports.addresses[chain_1.ChainId.EthMainnet].bIB01]: exports.addresses[chain_1.ChainId.EthMainnet].wbIB01,
|
|
106
|
-
[exports.addresses[chain_1.ChainId.EthMainnet].bC3M]: exports.addresses[chain_1.ChainId.EthMainnet].wbC3M,
|
|
107
|
-
[exports.NATIVE_ADDRESS]: exports.addresses[chain_1.ChainId.EthMainnet].wNative,
|
|
108
|
-
[exports.addresses[chain_1.ChainId.EthMainnet].stEth]: exports.addresses[chain_1.ChainId.EthMainnet].wstEth,
|
|
109
|
-
[exports.addresses[chain_1.ChainId.EthMainnet].crvUSDTWBTCWETH]: exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"],
|
|
110
|
-
[exports.addresses[chain_1.ChainId.EthMainnet].crvUSDCWBTCWETH]: exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"],
|
|
111
|
-
[exports.addresses[chain_1.ChainId.EthMainnet].crvCRVUSDTBTCWSTETH]: exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"],
|
|
112
|
-
[exports.addresses[chain_1.ChainId.EthMainnet].tryLSD]: exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxTryLSD-morpho"],
|
|
113
|
-
[exports.addresses[chain_1.ChainId.EthMainnet].crvUSDETHCRV]: exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"],
|
|
114
|
-
},
|
|
115
|
-
[chain_1.ChainId.BaseMainnet]: {
|
|
116
|
-
[exports.NATIVE_ADDRESS]: exports.addresses[chain_1.ChainId.BaseMainnet].wNative,
|
|
117
|
-
},
|
|
118
|
-
};
|
|
119
|
-
exports.reverseWrapping = Object.fromEntries(Object.entries(exports.wrapping).map(([n, chainWrapping]) => [
|
|
120
|
-
n,
|
|
121
|
-
Object.fromEntries(Object.entries(chainWrapping)
|
|
122
|
-
.map((w) => [...w].reverse())
|
|
123
|
-
.filter(([add, wAdd]) => !!add && !!wAdd)),
|
|
124
|
-
]));
|
|
125
|
-
function getUnwrappedToken(wrappedToken, chainId) {
|
|
126
|
-
return exports.reverseWrapping[chainId][wrappedToken];
|
|
127
|
-
}
|
|
128
|
-
exports.getUnwrappedToken = getUnwrappedToken;
|
|
129
|
-
function getWrappedToken(unWrappedToken, chainId) {
|
|
130
|
-
return exports.wrapping[chainId][unWrappedToken];
|
|
131
|
-
}
|
|
132
|
-
exports.getWrappedToken = getWrappedToken;
|
|
133
|
-
exports.erc20WrapperTokens = {
|
|
134
|
-
[chain_1.ChainId.EthMainnet]: new Set([
|
|
135
|
-
exports.addresses[chain_1.ChainId.EthMainnet].wbIB01,
|
|
136
|
-
exports.addresses[chain_1.ChainId.EthMainnet].wbC3M,
|
|
137
|
-
]),
|
|
138
|
-
[chain_1.ChainId.EthGoerliTestnet]: new Set(),
|
|
139
|
-
[chain_1.ChainId.BaseMainnet]: new Set(),
|
|
140
|
-
};
|
|
141
|
-
exports.wrappedBackedTokens = {
|
|
142
|
-
[chain_1.ChainId.EthMainnet]: new Set([
|
|
143
|
-
exports.addresses[chain_1.ChainId.EthMainnet].wbIB01,
|
|
144
|
-
exports.addresses[chain_1.ChainId.EthMainnet].wbC3M,
|
|
145
|
-
]),
|
|
146
|
-
[chain_1.ChainId.EthGoerliTestnet]: new Set(),
|
|
147
|
-
[chain_1.ChainId.BaseMainnet]: new Set(),
|
|
148
|
-
};
|
|
149
|
-
const getWrappedBackedTokens = (chainId) => {
|
|
150
|
-
const tokens = exports.wrappedBackedTokens[chainId];
|
|
151
|
-
if (!tokens)
|
|
152
|
-
throw new errors_1.UnsupportedChainIdError(chainId);
|
|
153
|
-
return tokens;
|
|
154
|
-
};
|
|
155
|
-
exports.getWrappedBackedTokens = getWrappedBackedTokens;
|
|
156
|
-
/** /!\ These tokens can not be listed in `erc20WrapperTokens` because the following specs are different:
|
|
157
|
-
* - calling `depositFor` supplies on blue instead of minting wrapped token to the user
|
|
158
|
-
*/
|
|
159
|
-
exports.convexWrapperTokens = {
|
|
160
|
-
[chain_1.ChainId.EthMainnet]: new Set([
|
|
161
|
-
exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxcrvUSDTWBTCWETH-morpho"],
|
|
162
|
-
exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxcrvUSDCWBTCWETH-morpho"],
|
|
163
|
-
exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxcrvCRVUSDTBTCWSTETH-morpho"],
|
|
164
|
-
exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxTryLSD-morpho"],
|
|
165
|
-
exports.addresses[chain_1.ChainId.EthMainnet]["stkcvxcrvUSDETHCRV-morpho"],
|
|
166
|
-
]),
|
|
167
|
-
[chain_1.ChainId.EthGoerliTestnet]: new Set(),
|
|
168
|
-
[chain_1.ChainId.BaseMainnet]: new Set(),
|
|
169
|
-
};
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CHAIN_METADATA = exports.BLUE_AVAILABLE_CHAINS = void 0;
|
|
4
|
-
const chain_types_1 = require("./chain.types");
|
|
5
|
-
exports.BLUE_AVAILABLE_CHAINS = [chain_types_1.ChainId.EthMainnet, chain_types_1.ChainId.BaseMainnet];
|
|
6
|
-
exports.CHAIN_METADATA = {
|
|
7
|
-
[chain_types_1.ChainId.EthMainnet]: {
|
|
8
|
-
name: "Ethereum",
|
|
9
|
-
id: chain_types_1.ChainId.EthMainnet,
|
|
10
|
-
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
|
|
11
|
-
defaultRpcUrl: "https://mainnet.infura.io/V3/84842078b09946638c03157f83405213",
|
|
12
|
-
explorerUrl: "https://etherscan.io",
|
|
13
|
-
isTestnet: false,
|
|
14
|
-
shortName: "ETH",
|
|
15
|
-
logoSrc: "https://cdn.morpho.org/assets/chains/eth.svg",
|
|
16
|
-
identifier: "mainnet",
|
|
17
|
-
},
|
|
18
|
-
[chain_types_1.ChainId.EthGoerliTestnet]: {
|
|
19
|
-
name: "Ethereum Goerli Testnet",
|
|
20
|
-
id: chain_types_1.ChainId.EthGoerliTestnet,
|
|
21
|
-
nativeCurrency: { name: "Goerli Ether", symbol: "ETH", decimals: 18 },
|
|
22
|
-
defaultRpcUrl: "https://goerli.infura.io/V3/84842078b09946638c03157f83405213",
|
|
23
|
-
explorerUrl: "https://goerli.etherscan.io",
|
|
24
|
-
isTestnet: true,
|
|
25
|
-
shortName: "Goerli",
|
|
26
|
-
logoSrc: "https://cdn.morpho.org/assets/chains/eth.svg",
|
|
27
|
-
identifier: "goerli",
|
|
28
|
-
},
|
|
29
|
-
[chain_types_1.ChainId.BaseMainnet]: {
|
|
30
|
-
name: "Base",
|
|
31
|
-
id: chain_types_1.ChainId.BaseMainnet,
|
|
32
|
-
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
|
|
33
|
-
defaultRpcUrl: "https://rpc.baseprotocol.org",
|
|
34
|
-
explorerUrl: "https://basescan.org",
|
|
35
|
-
isTestnet: false,
|
|
36
|
-
shortName: "Base",
|
|
37
|
-
logoSrc: "https://cdn.morpho.org/assets/chains/base.png",
|
|
38
|
-
identifier: "base",
|
|
39
|
-
},
|
|
40
|
-
// [ChainId.PolygonMainnet]: {
|
|
41
|
-
// name: "Polygon Mainnet",
|
|
42
|
-
// id: ChainId.PolygonMainnet,
|
|
43
|
-
// nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18n },
|
|
44
|
-
// defaultRpcUrl: "https://rpc-mainnet.maticvigil.com",
|
|
45
|
-
// explorerUrl: "https://polygonscan.com",
|
|
46
|
-
// isTestnet: false,
|
|
47
|
-
// shortName: "Polygon",
|
|
48
|
-
// },
|
|
49
|
-
// [ChainId.MumbaiTestnet]: {
|
|
50
|
-
// name: "Mumbai Testnet",
|
|
51
|
-
// id: ChainId.MumbaiTestnet,
|
|
52
|
-
// nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18n },
|
|
53
|
-
// defaultRpcUrl: "https://rpc-mumbai.maticvigil.com",
|
|
54
|
-
// explorerUrl: "https://mumbai.polygonscan.com",
|
|
55
|
-
// isTestnet: true,
|
|
56
|
-
// shortName: "Mumbai",
|
|
57
|
-
// },
|
|
58
|
-
/* see https://chainid.network/chains.json */
|
|
59
|
-
// [ChainId.PolygonMainnet]: {
|
|
60
|
-
// name: "Polygon Mainnet",
|
|
61
|
-
// id: ChainId.PolygonMainnet,
|
|
62
|
-
// nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18n },
|
|
63
|
-
// defaultRpcUrl: "https://rpc-mainnet.maticvigil.com",
|
|
64
|
-
// explorerUrl: "https://polygonscan.com",
|
|
65
|
-
// isTestnet: false,
|
|
66
|
-
// shortName: "Polygon",
|
|
67
|
-
// },
|
|
68
|
-
// [ChainId.MumbaiTestnet]: {
|
|
69
|
-
// name: "Mumbai Testnet",
|
|
70
|
-
// id: ChainId.MumbaiTestnet,
|
|
71
|
-
// nativeCurrency: { name: "MATIC", symbol: "MATIC", decimals: 18n },
|
|
72
|
-
// defaultRpcUrl: "https://rpc-mumbai.maticvigil.com",
|
|
73
|
-
// explorerUrl: "https://mumbai.polygonscan.com",
|
|
74
|
-
// isTestnet: true,
|
|
75
|
-
// shortName: "Mumbai",
|
|
76
|
-
// },
|
|
77
|
-
// [ChainId.OptimismMainnet]: {
|
|
78
|
-
// name: "Optimism Mainnet",
|
|
79
|
-
// id: ChainId.OptimismMainnet,
|
|
80
|
-
// baseCurrency: "ETH",
|
|
81
|
-
// defaultRpcUrl: "https://mainnet.optimism.io",
|
|
82
|
-
// explorerUrl: "https://optimistic.etherscan.io",
|
|
83
|
-
// isTestnet: false,
|
|
84
|
-
// },
|
|
85
|
-
// [ChainId.BscMainnet]: {
|
|
86
|
-
// name: "Binance Smart Chain Mainnet",
|
|
87
|
-
// id: ChainId.BscMainnet,
|
|
88
|
-
// baseCurrency: "BNB",
|
|
89
|
-
// defaultRpcUrl: "https://bsc-dataseed.binance.org",
|
|
90
|
-
// explorerUrl: "https://bscscan.com",
|
|
91
|
-
// isTestnet: false,
|
|
92
|
-
// },
|
|
93
|
-
// [ChainId.ArbitrumMainnet]: {
|
|
94
|
-
// name: "Arbitrum Mainnet",
|
|
95
|
-
// id: ChainId.ArbitrumMainnet,
|
|
96
|
-
// baseCurrency: "ETH",
|
|
97
|
-
// defaultRpcUrl: "https://arb1.arbitrum.io/rpc",
|
|
98
|
-
// explorerUrl: "https://arbiscan.io",
|
|
99
|
-
// isTestnet: false,
|
|
100
|
-
// },
|
|
101
|
-
// [ChainId.ArbitrumTestnet]: {
|
|
102
|
-
// name: "Arbitrum Testnet",
|
|
103
|
-
// id: ChainId.ArbitrumTestnet,
|
|
104
|
-
// baseCurrency: "ETH",
|
|
105
|
-
// defaultRpcUrl: "https://rinkeby.arbitrum.io/rpc",
|
|
106
|
-
// explorerUrl: "https://rinkeby-explorer.arbitrum.io",
|
|
107
|
-
// isTestnet: true,
|
|
108
|
-
// },
|
|
109
|
-
// [ChainId.GnosisChain]: {
|
|
110
|
-
// name: "Gnosis Chain",
|
|
111
|
-
// id: ChainId.GnosisChain,
|
|
112
|
-
// baseCurrency: "XDAI",
|
|
113
|
-
// defaultRpcUrl: "https://rpc.xdaichain.com",
|
|
114
|
-
// explorerUrl: "https://gnosis.blockscout.com",
|
|
115
|
-
// isTestnet: false,
|
|
116
|
-
// },
|
|
117
|
-
// [ChainId.FantomMainnet]: {
|
|
118
|
-
// name: "Fantom Mainnet",
|
|
119
|
-
// id: ChainId.FantomMainnet,
|
|
120
|
-
// baseCurrency: "FTM",
|
|
121
|
-
// defaultRpcUrl: "https://rpcapi.fantom.network",
|
|
122
|
-
// explorerUrl: "https://ftmscan.com",
|
|
123
|
-
// isTestnet: false,
|
|
124
|
-
// },
|
|
125
|
-
// [ChainId.FantomTestnet]: {
|
|
126
|
-
// name: "Fantom Testnet",
|
|
127
|
-
// id: ChainId.FantomTestnet,
|
|
128
|
-
// baseCurrency: "FTM",
|
|
129
|
-
// defaultRpcUrl: "https://rpc.testnet.fantom.network",
|
|
130
|
-
// explorerUrl: "https://explorer.testnet.fantom.network",
|
|
131
|
-
// isTestnet: true,
|
|
132
|
-
// },
|
|
133
|
-
// [ChainId.HarmonyMainnet]: {
|
|
134
|
-
// name: "Harmony Mainnet",
|
|
135
|
-
// id: ChainId.HarmonyMainnet,
|
|
136
|
-
// baseCurrency: "ONE",
|
|
137
|
-
// defaultRpcUrl: "https://api.harmony.one",
|
|
138
|
-
// explorerUrl: "https://explorer.harmony.one",
|
|
139
|
-
// isTestnet: false,
|
|
140
|
-
// },
|
|
141
|
-
// [ChainId.HarmonyTestnet]: {
|
|
142
|
-
// name: "Harmony Testnet",
|
|
143
|
-
// id: ChainId.HarmonyTestnet,
|
|
144
|
-
// baseCurrency: "ONE",
|
|
145
|
-
// defaultRpcUrl: "https://api.s0.b.hmny.io",
|
|
146
|
-
// explorerUrl: "https://explorer.testnet.harmony.one",
|
|
147
|
-
// isTestnet: true,
|
|
148
|
-
// },
|
|
149
|
-
// [ChainId.BscTestnet]: {
|
|
150
|
-
// name: "Binance Smart Chain Testnet",
|
|
151
|
-
// id: ChainId.BscTestnet,
|
|
152
|
-
// baseCurrency: "BNB",
|
|
153
|
-
// defaultRpcUrl: "https://data-seed-prebsc-1-s1.binance.org:8545",
|
|
154
|
-
// explorerUrl: "https://testnet.bscscan.com",
|
|
155
|
-
// isTestnet: true,
|
|
156
|
-
// },
|
|
157
|
-
// [ChainId.OptimismTestnet]: {
|
|
158
|
-
// name: "Optimism Testnet",
|
|
159
|
-
// id: ChainId.OptimismTestnet,
|
|
160
|
-
// baseCurrency: "ETH",
|
|
161
|
-
// defaultRpcUrl: "https://kovan.optimism.io",
|
|
162
|
-
// explorerUrl: "https://kovan-optimistic.etherscan.io",
|
|
163
|
-
// isTestnet: true,
|
|
164
|
-
// },
|
|
165
|
-
// [ChainId.EthRopstenTestnet]: {
|
|
166
|
-
// name: "Ethereum Ropsten Testnet",
|
|
167
|
-
// id: ChainId.EthRopstenTestnet,
|
|
168
|
-
// baseCurrency: "ETH",
|
|
169
|
-
// defaultRpcUrl:
|
|
170
|
-
// "https://ropsten.infura.io/V4/84842078b09946638c03157f83405213",
|
|
171
|
-
// explorerUrl: "https://ropsten.etherscan.io",
|
|
172
|
-
// isTestnet: true,
|
|
173
|
-
// },
|
|
174
|
-
// [ChainId.EthRinkebyTestnet]: {
|
|
175
|
-
// name: "Ethereum Rinkeby Testnet",
|
|
176
|
-
// id: ChainId.EthRinkebyTestnet,
|
|
177
|
-
// baseCurrency: "ETH",
|
|
178
|
-
// defaultRpcUrl:
|
|
179
|
-
// "https://rinkeby.infura.io/V4/84842078b09946638c03157f83405213",
|
|
180
|
-
// explorerUrl: "https://rinkeby.etherscan.io",
|
|
181
|
-
// isTestnet: true,
|
|
182
|
-
// },
|
|
183
|
-
// [ChainId.EthKovanTestnet]: {
|
|
184
|
-
// name: "Ethereum Kovan Testnet",
|
|
185
|
-
// id: ChainId.EthKovanTestnet,
|
|
186
|
-
// baseCurrency: "ETH",
|
|
187
|
-
// defaultRpcUrl:
|
|
188
|
-
// "https://kovan.infura.io/V4/84842078b09946638c03157f83405213",
|
|
189
|
-
// explorerUrl: "https://kovan.etherscan.io",
|
|
190
|
-
// isTestnet: true,
|
|
191
|
-
// },
|
|
192
|
-
// [ChainId.BaseGoerliTestnet]: {
|
|
193
|
-
// name: "Base Goerli Testnet",
|
|
194
|
-
// id: ChainId.BaseGoerliTestnet,
|
|
195
|
-
// baseCurrency: "ETH",
|
|
196
|
-
// defaultRpcUrl: "https://rpc-goerli.baseprotocol.org",
|
|
197
|
-
// explorerUrl: "https://goerli.basescan.org",
|
|
198
|
-
// isTestnet: true,
|
|
199
|
-
// },
|
|
200
|
-
// [ChainId.GnosisChainTestnet]: {
|
|
201
|
-
// name: "Gnosis Chain Testnet",
|
|
202
|
-
// id: ChainId.GnosisChainTestnet,
|
|
203
|
-
// baseCurrency: "XDAI",
|
|
204
|
-
// defaultRpcUrl: "https://rpc.chiado.gnosis.gateway.fm",
|
|
205
|
-
// explorerUrl: "https://gnosis-chiado.blockscout.com/",
|
|
206
|
-
// isTestnet: true,
|
|
207
|
-
// },
|
|
208
|
-
// [ChainId.AvalancheMainnet]: {
|
|
209
|
-
// name: "Avalanche Mainnet",
|
|
210
|
-
// id: ChainId.AvalancheMainnet,
|
|
211
|
-
// baseCurrency: "AVAX",
|
|
212
|
-
// defaultRpcUrl: "https://api.avax.network/ext/bc/C/rpc",
|
|
213
|
-
// explorerUrl: "https://cchain.explorer.avax.network",
|
|
214
|
-
// isTestnet: false,
|
|
215
|
-
// },
|
|
216
|
-
// [ChainId.AvalancheFujiTestnet]: {
|
|
217
|
-
// name: "Avalanche Fuji Testnet",
|
|
218
|
-
// id: ChainId.AvalancheFujiTestnet,
|
|
219
|
-
// baseCurrency: "AVAX",
|
|
220
|
-
// defaultRpcUrl: "https://api.avax-test.network/ext/bc/C/rpc",
|
|
221
|
-
// explorerUrl: "https://cchain.explorer.avax-test.network",
|
|
222
|
-
// isTestnet: true,
|
|
223
|
-
// },
|
|
224
|
-
// [ChainId.MoonbaseAlphaTestnet]: {
|
|
225
|
-
// name: "Moonbase Alpha Testnet",
|
|
226
|
-
// id: ChainId.MoonbaseAlphaTestnet,
|
|
227
|
-
// baseCurrency: "DEV",
|
|
228
|
-
// defaultRpcUrl: "https://rpc.testnet.moonbeam.network",
|
|
229
|
-
// explorerUrl: "https://moonbase-blockscout.testnet.moonbeam.network",
|
|
230
|
-
// isTestnet: true,
|
|
231
|
-
// },
|
|
232
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export declare enum ChainId {
|
|
2
|
-
EthMainnet = 1,
|
|
3
|
-
EthGoerliTestnet = 5,
|
|
4
|
-
BaseMainnet = 8453
|
|
5
|
-
}
|
|
6
|
-
export interface ChainMetadata {
|
|
7
|
-
readonly name: string;
|
|
8
|
-
readonly id: ChainId;
|
|
9
|
-
readonly defaultRpcUrl: string;
|
|
10
|
-
readonly explorerUrl: string;
|
|
11
|
-
readonly nativeCurrency: {
|
|
12
|
-
readonly name: string;
|
|
13
|
-
readonly symbol: string;
|
|
14
|
-
readonly decimals: number;
|
|
15
|
-
};
|
|
16
|
-
readonly isTestnet: boolean;
|
|
17
|
-
readonly shortName: string;
|
|
18
|
-
readonly identifier: string;
|
|
19
|
-
readonly logoSrc: string;
|
|
20
|
-
}
|
package/lib/chain/chain.types.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChainId = void 0;
|
|
4
|
-
var ChainId;
|
|
5
|
-
(function (ChainId) {
|
|
6
|
-
ChainId[ChainId["EthMainnet"] = 1] = "EthMainnet";
|
|
7
|
-
ChainId[ChainId["EthGoerliTestnet"] = 5] = "EthGoerliTestnet";
|
|
8
|
-
ChainId[ChainId["BaseMainnet"] = 8453] = "BaseMainnet";
|
|
9
|
-
// PolygonMainnet = 137,
|
|
10
|
-
// MumbaiTestnet = 80001,
|
|
11
|
-
// OptimismMainnet = 10,
|
|
12
|
-
// BscMainnet = 56,
|
|
13
|
-
// ArbitrumMainnet = 42161,
|
|
14
|
-
// ArbitrumTestnet = 421611,
|
|
15
|
-
// GnosisChain = 100,
|
|
16
|
-
// FantomMainnet = 250,
|
|
17
|
-
// FantomTestnet = 4002,
|
|
18
|
-
// HarmonyMainnet = 128,
|
|
19
|
-
// HarmonyTestnet = 1666600000,
|
|
20
|
-
// BscTestnet = 97,
|
|
21
|
-
// OptimismTestnet = 69,
|
|
22
|
-
// EthRopstenTestnet = 3,
|
|
23
|
-
// EthRinkebyTestnet = 4,
|
|
24
|
-
// EthKovanTestnet = 42,
|
|
25
|
-
// GnosisChainTestnet = 10200,
|
|
26
|
-
// AvalancheMainnet = 43114,
|
|
27
|
-
// AvalancheFujiTestnet = 43113,
|
|
28
|
-
// MoonbaseAlphaTestnet = 1287,
|
|
29
|
-
// BaseGoerliTestnet = 84531,
|
|
30
|
-
})(ChainId || (exports.ChainId = ChainId = {}));
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ChainId as _ChainId, ChainMetadata as _ChainMetadata } from "./chain.types";
|
|
2
|
-
export declare namespace ChainUtils {
|
|
3
|
-
const blueAvailableChains: ChainId[];
|
|
4
|
-
const chainMetadata: Record<ChainId, _ChainMetadata>;
|
|
5
|
-
interface ChainMetadata extends _ChainMetadata {
|
|
6
|
-
}
|
|
7
|
-
export import ChainId = _ChainId;
|
|
8
|
-
const toHexChainId: (chainId: ChainId) => string;
|
|
9
|
-
const getAllChainIds: () => ChainId[];
|
|
10
|
-
const getAllChainLabels: () => ("EthMainnet" | "EthGoerliTestnet" | "BaseMainnet")[];
|
|
11
|
-
const getTestnets: () => ChainId[];
|
|
12
|
-
function isSupported(chainId: number): chainId is ChainId;
|
|
13
|
-
function parseSupportedChainId(candidate: any): ChainId;
|
|
14
|
-
}
|
package/lib/chain/chain.utils.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChainUtils = void 0;
|
|
4
|
-
const morpho_ts_1 = require("@morpho-org/morpho-ts");
|
|
5
|
-
const errors_1 = require("../errors");
|
|
6
|
-
const chain_constants_1 = require("./chain.constants");
|
|
7
|
-
const chain_types_1 = require("./chain.types");
|
|
8
|
-
var ChainUtils;
|
|
9
|
-
(function (ChainUtils) {
|
|
10
|
-
ChainUtils.blueAvailableChains = chain_constants_1.BLUE_AVAILABLE_CHAINS;
|
|
11
|
-
ChainUtils.chainMetadata = chain_constants_1.CHAIN_METADATA;
|
|
12
|
-
ChainUtils.ChainId = chain_types_1.ChainId;
|
|
13
|
-
ChainUtils.toHexChainId = (chainId) => {
|
|
14
|
-
return `0x${chainId.toString(16)}`;
|
|
15
|
-
};
|
|
16
|
-
ChainUtils.getAllChainIds = () => (0, morpho_ts_1.values)(ChainUtils.ChainId).filter((value) => typeof value === "number");
|
|
17
|
-
ChainUtils.getAllChainLabels = () => Object.values(ChainUtils.ChainId).filter((value) => typeof value === "string");
|
|
18
|
-
ChainUtils.getTestnets = () => ChainUtils.getAllChainIds().filter((chainId) => chain_constants_1.CHAIN_METADATA[chainId].isTestnet);
|
|
19
|
-
function isSupported(chainId) {
|
|
20
|
-
return ChainUtils.blueAvailableChains.includes(chainId);
|
|
21
|
-
}
|
|
22
|
-
ChainUtils.isSupported = isSupported;
|
|
23
|
-
function parseSupportedChainId(candidate) {
|
|
24
|
-
const chainId = parseInt(candidate);
|
|
25
|
-
if (!isSupported(chainId))
|
|
26
|
-
throw new errors_1.UnsupportedChainIdError(candidate);
|
|
27
|
-
return chainId;
|
|
28
|
-
}
|
|
29
|
-
ChainUtils.parseSupportedChainId = parseSupportedChainId;
|
|
30
|
-
})(ChainUtils || (exports.ChainUtils = ChainUtils = {}));
|
package/lib/chain/index.js
DELETED
|
@@ -1,18 +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("./chain.utils"), exports);
|
|
18
|
-
__exportStar(require("./chain.types"), exports);
|
package/lib/constants.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare const LIQUIDATION_CURSOR: bigint;
|
|
2
|
-
export declare const MAX_LIQUIDATION_INCENTIVE_FACTOR: bigint;
|
|
3
|
-
export declare const ORACLE_PRICE_OFFSET = 36;
|
|
4
|
-
export declare const ORACLE_PRICE_SCALE: bigint;
|
|
5
|
-
export declare const MAX_FEE: bigint;
|
|
6
|
-
export declare const DEFAULT_SLIPPAGE_TOLERANCE: bigint;
|
|
7
|
-
export declare const DEFAULT_TARGET_UTILIZATION: bigint;
|
|
8
|
-
export declare const SECONDS_PER_YEAR: bigint;
|
package/lib/constants.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SECONDS_PER_YEAR = exports.DEFAULT_TARGET_UTILIZATION = exports.DEFAULT_SLIPPAGE_TOLERANCE = exports.MAX_FEE = exports.ORACLE_PRICE_SCALE = exports.ORACLE_PRICE_OFFSET = exports.MAX_LIQUIDATION_INCENTIVE_FACTOR = exports.LIQUIDATION_CURSOR = void 0;
|
|
4
|
-
const ethers_1 = require("ethers");
|
|
5
|
-
const morpho_ts_1 = require("@morpho-org/morpho-ts");
|
|
6
|
-
exports.LIQUIDATION_CURSOR = (0, ethers_1.parseEther)("0.3");
|
|
7
|
-
exports.MAX_LIQUIDATION_INCENTIVE_FACTOR = (0, ethers_1.parseEther)("1.15");
|
|
8
|
-
exports.ORACLE_PRICE_OFFSET = 36;
|
|
9
|
-
exports.ORACLE_PRICE_SCALE = (0, ethers_1.parseUnits)("1", exports.ORACLE_PRICE_OFFSET);
|
|
10
|
-
exports.MAX_FEE = (0, ethers_1.parseEther)("0.25"); // 25%
|
|
11
|
-
exports.DEFAULT_SLIPPAGE_TOLERANCE = (0, ethers_1.parseEther)("0.0003"); // 0.03%
|
|
12
|
-
exports.DEFAULT_TARGET_UTILIZATION = (0, ethers_1.parseEther)("0.92"); // 92%
|
|
13
|
-
exports.SECONDS_PER_YEAR = morpho_ts_1.Time.s.from.y(1n);
|
package/lib/errors.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Address, MarketId } from "./types";
|
|
2
|
-
export declare class UnknownDataError extends Error {
|
|
3
|
-
}
|
|
4
|
-
export declare class UnknownTokenError extends UnknownDataError {
|
|
5
|
-
readonly address: Address;
|
|
6
|
-
constructor(address: Address);
|
|
7
|
-
}
|
|
8
|
-
export declare class UnknownTokenPriceError extends UnknownDataError {
|
|
9
|
-
readonly address: Address;
|
|
10
|
-
constructor(address: Address);
|
|
11
|
-
}
|
|
12
|
-
export declare class UnknownMarketConfigError extends UnknownDataError {
|
|
13
|
-
readonly marketId: MarketId;
|
|
14
|
-
constructor(marketId: MarketId);
|
|
15
|
-
}
|
|
16
|
-
export declare class UnknownVaultConfigError extends UnknownDataError {
|
|
17
|
-
readonly vault: Address;
|
|
18
|
-
constructor(vault: Address);
|
|
19
|
-
}
|
|
20
|
-
export declare class UnsupportedChainIdError extends Error {
|
|
21
|
-
readonly chainId: number;
|
|
22
|
-
constructor(chainId: number);
|
|
23
|
-
}
|
|
24
|
-
export declare class InvalidInterestAccrualError extends UnknownDataError {
|
|
25
|
-
readonly marketId: MarketId;
|
|
26
|
-
readonly timestamp: bigint;
|
|
27
|
-
readonly lastUpdate: bigint;
|
|
28
|
-
constructor(marketId: MarketId, timestamp: bigint, lastUpdate: bigint);
|
|
29
|
-
}
|
|
30
|
-
export declare class InvalidSignatureError extends Error {
|
|
31
|
-
readonly hash: string;
|
|
32
|
-
readonly signer: Address;
|
|
33
|
-
readonly recovered: Address;
|
|
34
|
-
constructor(hash: string, signer: Address, recovered: Address);
|
|
35
|
-
}
|
|
36
|
-
export type ErrorClass = new (...args: any[]) => Error;
|
|
37
|
-
export declare function _try<T>(accessor: () => T, ...errorClasses: ErrorClass[]): T | undefined;
|
package/lib/errors.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._try = exports.InvalidSignatureError = exports.InvalidInterestAccrualError = exports.UnsupportedChainIdError = exports.UnknownVaultConfigError = exports.UnknownMarketConfigError = exports.UnknownTokenPriceError = exports.UnknownTokenError = exports.UnknownDataError = void 0;
|
|
4
|
-
class UnknownDataError extends Error {
|
|
5
|
-
}
|
|
6
|
-
exports.UnknownDataError = UnknownDataError;
|
|
7
|
-
class UnknownTokenError extends UnknownDataError {
|
|
8
|
-
constructor(address) {
|
|
9
|
-
super(`unknown token ${address}`);
|
|
10
|
-
this.address = address;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.UnknownTokenError = UnknownTokenError;
|
|
14
|
-
class UnknownTokenPriceError extends UnknownDataError {
|
|
15
|
-
constructor(address) {
|
|
16
|
-
super(`unknown price of token ${address}`);
|
|
17
|
-
this.address = address;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.UnknownTokenPriceError = UnknownTokenPriceError;
|
|
21
|
-
class UnknownMarketConfigError extends UnknownDataError {
|
|
22
|
-
constructor(marketId) {
|
|
23
|
-
super(`unknown config for market ${marketId}`);
|
|
24
|
-
this.marketId = marketId;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.UnknownMarketConfigError = UnknownMarketConfigError;
|
|
28
|
-
class UnknownVaultConfigError extends UnknownDataError {
|
|
29
|
-
constructor(vault) {
|
|
30
|
-
super(`unknown config for vault ${vault}`);
|
|
31
|
-
this.vault = vault;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.UnknownVaultConfigError = UnknownVaultConfigError;
|
|
35
|
-
class UnsupportedChainIdError extends Error {
|
|
36
|
-
constructor(chainId) {
|
|
37
|
-
super(`unsupported chain ${chainId}`);
|
|
38
|
-
this.chainId = chainId;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.UnsupportedChainIdError = UnsupportedChainIdError;
|
|
42
|
-
class InvalidInterestAccrualError extends UnknownDataError {
|
|
43
|
-
constructor(marketId, timestamp, lastUpdate) {
|
|
44
|
-
super(`invalid interest accrual on market ${marketId}: accrual timestamp ${timestamp} can't be prior to last update ${lastUpdate}`);
|
|
45
|
-
this.marketId = marketId;
|
|
46
|
-
this.timestamp = timestamp;
|
|
47
|
-
this.lastUpdate = lastUpdate;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.InvalidInterestAccrualError = InvalidInterestAccrualError;
|
|
51
|
-
class InvalidSignatureError extends Error {
|
|
52
|
-
constructor(hash, signer, recovered) {
|
|
53
|
-
super(`invalid signature for hash ${hash}: expected ${signer}, recovered ${recovered}`);
|
|
54
|
-
this.hash = hash;
|
|
55
|
-
this.signer = signer;
|
|
56
|
-
this.recovered = recovered;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.InvalidSignatureError = InvalidSignatureError;
|
|
60
|
-
function _try(accessor, ...errorClasses) {
|
|
61
|
-
try {
|
|
62
|
-
return accessor();
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
if (errorClasses.length === 0 ||
|
|
66
|
-
errorClasses.some((errorClass) => error instanceof errorClass))
|
|
67
|
-
return;
|
|
68
|
-
throw error;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports._try = _try;
|