@eulerxyz/euler-v2-sdk 0.1.3-beta → 0.2.0-beta
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 +24 -25
- package/dist/src/entities/Account.d.ts +48 -47
- package/dist/src/entities/Account.d.ts.map +1 -1
- package/dist/src/entities/Account.js +78 -64
- package/dist/src/entities/Account.js.map +1 -1
- package/dist/src/entities/ERC4626Vault.d.ts +6 -5
- package/dist/src/entities/ERC4626Vault.d.ts.map +1 -1
- package/dist/src/entities/ERC4626Vault.js +13 -6
- package/dist/src/entities/ERC4626Vault.js.map +1 -1
- package/dist/src/entities/EVault.d.ts +30 -15
- package/dist/src/entities/EVault.d.ts.map +1 -1
- package/dist/src/entities/EVault.js +66 -14
- package/dist/src/entities/EVault.js.map +1 -1
- package/dist/src/entities/EulerEarn.d.ts +3 -0
- package/dist/src/entities/EulerEarn.d.ts.map +1 -1
- package/dist/src/entities/EulerEarn.js +12 -3
- package/dist/src/entities/EulerEarn.js.map +1 -1
- package/dist/src/entities/EulerLabels.d.ts +74 -0
- package/dist/src/entities/EulerLabels.d.ts.map +1 -1
- package/dist/src/entities/Portfolio.d.ts +20 -19
- package/dist/src/entities/Portfolio.d.ts.map +1 -1
- package/dist/src/entities/Portfolio.js +34 -17
- package/dist/src/entities/Portfolio.js.map +1 -1
- package/dist/src/entities/Wallet.d.ts +1 -0
- package/dist/src/entities/Wallet.d.ts.map +1 -1
- package/dist/src/entities/Wallet.js +2 -2
- package/dist/src/entities/Wallet.js.map +1 -1
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/plugins/keyring/keyringPlugin.d.ts.map +1 -1
- package/dist/src/plugins/keyring/keyringPlugin.js +59 -10
- package/dist/src/plugins/keyring/keyringPlugin.js.map +1 -1
- package/dist/src/plugins/pyth/pythPlugin.d.ts.map +1 -1
- package/dist/src/plugins/pyth/pythPlugin.js +132 -11
- package/dist/src/plugins/pyth/pythPlugin.js.map +1 -1
- package/dist/src/plugins/types.d.ts +4 -7
- package/dist/src/plugins/types.d.ts.map +1 -1
- package/dist/src/plugins/types.js.map +1 -1
- package/dist/src/sdk/buildSDK.d.ts +10 -4
- package/dist/src/sdk/buildSDK.d.ts.map +1 -1
- package/dist/src/sdk/buildSDK.js +359 -110
- package/dist/src/sdk/buildSDK.js.map +1 -1
- package/dist/src/sdk/config.d.ts +74 -0
- package/dist/src/sdk/config.d.ts.map +1 -0
- package/dist/src/sdk/config.js +187 -0
- package/dist/src/sdk/config.js.map +1 -0
- package/dist/src/sdk/defaultConfig.d.ts +5 -2
- package/dist/src/sdk/defaultConfig.d.ts.map +1 -1
- package/dist/src/sdk/defaultConfig.js +21 -18
- package/dist/src/sdk/defaultConfig.js.map +1 -1
- package/dist/src/sdk/sdk.d.ts +4 -3
- package/dist/src/sdk/sdk.d.ts.map +1 -1
- package/dist/src/sdk/sdk.js +2 -4
- package/dist/src/sdk/sdk.js.map +1 -1
- package/dist/src/services/accountService/accountService.d.ts.map +1 -1
- package/dist/src/services/accountService/accountService.js +10 -7
- package/dist/src/services/accountService/accountService.js.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts +2 -2
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.d.ts.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js +22 -17
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountInfoConverter.js.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js +16 -17
- package/dist/src/services/accountService/adapters/accountOnchainAdapter/accountOnchainAdapter.js.map +1 -1
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.d.ts.map +1 -1
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js +58 -53
- package/dist/src/services/accountService/adapters/accountV3Adapter/accountV3Adapter.js.map +1 -1
- package/dist/src/services/deploymentService/deploymentService.d.ts +1 -0
- package/dist/src/services/deploymentService/deploymentService.d.ts.map +1 -1
- package/dist/src/services/deploymentService/deploymentService.js.map +1 -1
- package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts +18 -1
- package/dist/src/services/eulerLabelsService/eulerLabelsService.d.ts.map +1 -1
- package/dist/src/services/eulerLabelsService/eulerLabelsService.js +373 -30
- package/dist/src/services/eulerLabelsService/eulerLabelsService.js.map +1 -1
- package/dist/src/services/executionService/execute.d.ts +2 -1
- package/dist/src/services/executionService/execute.d.ts.map +1 -1
- package/dist/src/services/executionService/execute.js +10 -6
- package/dist/src/services/executionService/execute.js.map +1 -1
- package/dist/src/services/executionService/executionService.d.ts +10 -4
- package/dist/src/services/executionService/executionService.d.ts.map +1 -1
- package/dist/src/services/executionService/executionService.js +19 -2
- package/dist/src/services/executionService/executionService.js.map +1 -1
- package/dist/src/services/executionService/simulate.d.ts.map +1 -1
- package/dist/src/services/executionService/simulate.js +3 -2
- package/dist/src/services/executionService/simulate.js.map +1 -1
- package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts +5 -0
- package/dist/src/services/oracleAdapterService/oracleAdapterService.d.ts.map +1 -1
- package/dist/src/services/oracleAdapterService/oracleAdapterService.js +38 -11
- package/dist/src/services/oracleAdapterService/oracleAdapterService.js.map +1 -1
- package/dist/src/services/priceService/backendClient.d.ts +7 -11
- package/dist/src/services/priceService/backendClient.d.ts.map +1 -1
- package/dist/src/services/priceService/backendClient.js +7 -14
- package/dist/src/services/priceService/backendClient.js.map +1 -1
- package/dist/src/services/priceService/index.d.ts +2 -2
- package/dist/src/services/priceService/index.d.ts.map +1 -1
- package/dist/src/services/priceService/index.js +1 -1
- package/dist/src/services/priceService/index.js.map +1 -1
- package/dist/src/services/priceService/priceService.d.ts +19 -17
- package/dist/src/services/priceService/priceService.d.ts.map +1 -1
- package/dist/src/services/priceService/priceService.js +53 -76
- package/dist/src/services/priceService/priceService.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js +6 -13
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/eVaultOnchainAdapter.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js +69 -51
- package/dist/src/services/vaults/eVaultService/adapters/eVaultOnchainAdapter/vaultInfoConverter.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts +5 -2
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js +50 -18
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3Adapter.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js +106 -111
- package/dist/src/services/vaults/eVaultService/adapters/eVaultV3Adapter/eVaultV3AdapterConversions.js.map +1 -1
- package/dist/src/services/vaults/eVaultService/eVaultService.d.ts +4 -4
- package/dist/src/services/vaults/eVaultService/eVaultService.d.ts.map +1 -1
- package/dist/src/services/vaults/eVaultService/eVaultService.js +56 -57
- package/dist/src/services/vaults/eVaultService/eVaultService.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js +22 -21
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnInfoConverter.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js +27 -32
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnOnchainAdapter.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js +113 -72
- package/dist/src/services/vaults/eulerEarnService/adapters/eulerEarnV3Adapter.js.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts +5 -5
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.d.ts.map +1 -1
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js +30 -28
- package/dist/src/services/vaults/eulerEarnService/eulerEarnService.js.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.d.ts.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js +10 -7
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultInfoConverter.js.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js +6 -8
- package/dist/src/services/vaults/securitizeVaultService/adapters/securitizeVaultOnchainAdapter.js.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts +2 -2
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.d.ts.map +1 -1
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js +13 -18
- package/dist/src/services/vaults/securitizeVaultService/securitizeVaultService.js.map +1 -1
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts +3 -3
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.d.ts.map +1 -1
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js +31 -32
- package/dist/src/services/vaults/vaultMetaService/vaultMetaService.js.map +1 -1
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts +5 -1
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.d.ts.map +1 -1
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.js +181 -40
- package/dist/src/services/walletService/adapters/walletOnchainAdapter.js.map +1 -1
- package/dist/src/services/walletService/walletService.d.ts +1 -1
- package/dist/src/services/walletService/walletService.d.ts.map +1 -1
- package/dist/src/services/walletService/walletService.js +4 -3
- package/dist/src/services/walletService/walletService.js.map +1 -1
- package/dist/src/utils/accountComputations.d.ts +14 -13
- package/dist/src/utils/accountComputations.d.ts.map +1 -1
- package/dist/src/utils/accountComputations.js +59 -37
- package/dist/src/utils/accountComputations.js.map +1 -1
- package/dist/src/utils/buildQuery.d.ts +1 -0
- package/dist/src/utils/buildQuery.d.ts.map +1 -1
- package/dist/src/utils/buildQuery.js +1 -1
- package/dist/src/utils/buildQuery.js.map +1 -1
- package/dist/src/utils/entityDiagnostics.d.ts +75 -12
- package/dist/src/utils/entityDiagnostics.d.ts.map +1 -1
- package/dist/src/utils/entityDiagnostics.js +85 -19
- package/dist/src/utils/entityDiagnostics.js.map +1 -1
- package/dist/src/utils/eulerLabels.d.ts +34 -0
- package/dist/src/utils/eulerLabels.d.ts.map +1 -0
- package/dist/src/utils/eulerLabels.js +156 -0
- package/dist/src/utils/eulerLabels.js.map +1 -0
- package/dist/src/utils/healthCheckSets.d.ts +14 -0
- package/dist/src/utils/healthCheckSets.d.ts.map +1 -0
- package/dist/src/utils/healthCheckSets.js +174 -0
- package/dist/src/utils/healthCheckSets.js.map +1 -0
- package/dist/src/utils/normalization.d.ts +10 -4
- package/dist/src/utils/normalization.d.ts.map +1 -1
- package/dist/src/utils/normalization.js +38 -11
- package/dist/src/utils/normalization.js.map +1 -1
- package/dist/src/utils/oracle.d.ts.map +1 -1
- package/dist/src/utils/oracle.js +12 -1
- package/dist/src/utils/oracle.js.map +1 -1
- package/dist/src/utils/parsing.d.ts +2 -2
- package/dist/src/utils/parsing.d.ts.map +1 -1
- package/dist/src/utils/parsing.js +12 -22
- package/dist/src/utils/parsing.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,45 @@
|
|
|
1
|
+
export function vaultDiagnosticOwner(chainId, address) {
|
|
2
|
+
return { kind: "vault", chainId, address };
|
|
3
|
+
}
|
|
4
|
+
export function assetDiagnosticOwner(chainId, address) {
|
|
5
|
+
return { kind: "asset", chainId, address };
|
|
6
|
+
}
|
|
7
|
+
export function accountDiagnosticOwner(chainId, address) {
|
|
8
|
+
return { kind: "account", chainId, address };
|
|
9
|
+
}
|
|
10
|
+
export function subAccountDiagnosticOwner(chainId, address) {
|
|
11
|
+
return { kind: "subAccount", chainId, address };
|
|
12
|
+
}
|
|
13
|
+
export function accountPositionDiagnosticOwner(chainId, account, vault) {
|
|
14
|
+
return { kind: "accountPosition", chainId, account, vault };
|
|
15
|
+
}
|
|
16
|
+
export function accountPositionCollateralDiagnosticOwner(chainId, account, vault, collateral) {
|
|
17
|
+
return {
|
|
18
|
+
kind: "accountPositionCollateral",
|
|
19
|
+
chainId,
|
|
20
|
+
account,
|
|
21
|
+
vault,
|
|
22
|
+
collateral,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function vaultCollateralDiagnosticOwner(chainId, vault, collateral) {
|
|
26
|
+
return { kind: "vaultCollateral", chainId, vault, collateral };
|
|
27
|
+
}
|
|
28
|
+
export function vaultStrategyDiagnosticOwner(chainId, vault, strategy) {
|
|
29
|
+
return { kind: "vaultStrategy", chainId, vault, strategy };
|
|
30
|
+
}
|
|
31
|
+
export function walletDiagnosticOwner(chainId, address) {
|
|
32
|
+
return { kind: "wallet", chainId, address };
|
|
33
|
+
}
|
|
34
|
+
export function walletAssetDiagnosticOwner(chainId, wallet, asset) {
|
|
35
|
+
return { kind: "walletAsset", chainId, wallet, asset };
|
|
36
|
+
}
|
|
37
|
+
export function serviceDiagnosticOwner(service, chainId, id) {
|
|
38
|
+
return { kind: "service", service, chainId, id };
|
|
39
|
+
}
|
|
40
|
+
export function dataIssueLocation(owner, path = "$") {
|
|
41
|
+
return { owner, path: path || "$" };
|
|
42
|
+
}
|
|
1
43
|
export function withPathPrefix(path, prefix) {
|
|
2
44
|
if (!prefix || prefix === "$")
|
|
3
45
|
return path;
|
|
@@ -9,27 +51,49 @@ export function withPathPrefix(path, prefix) {
|
|
|
9
51
|
return `${prefix}${path.slice(1)}`;
|
|
10
52
|
return `${prefix}.${path}`;
|
|
11
53
|
}
|
|
12
|
-
function
|
|
13
|
-
|
|
54
|
+
export function dataIssueOwnerKey(owner) {
|
|
55
|
+
switch (owner.kind) {
|
|
56
|
+
case "account":
|
|
57
|
+
case "asset":
|
|
58
|
+
case "subAccount":
|
|
59
|
+
case "vault":
|
|
60
|
+
case "wallet":
|
|
61
|
+
return `${owner.kind}:${owner.chainId}:${owner.address.toLowerCase()}`;
|
|
62
|
+
case "accountPosition":
|
|
63
|
+
return `${owner.kind}:${owner.chainId}:${owner.account.toLowerCase()}:${owner.vault.toLowerCase()}`;
|
|
64
|
+
case "accountPositionCollateral":
|
|
65
|
+
return `${owner.kind}:${owner.chainId}:${owner.account.toLowerCase()}:${owner.vault.toLowerCase()}:${owner.collateral.toLowerCase()}`;
|
|
66
|
+
case "walletAsset":
|
|
67
|
+
return `${owner.kind}:${owner.chainId}:${owner.wallet.toLowerCase()}:${owner.asset.toLowerCase()}`;
|
|
68
|
+
case "vaultCollateral":
|
|
69
|
+
return `${owner.kind}:${owner.chainId}:${owner.vault.toLowerCase()}:${owner.collateral.toLowerCase()}`;
|
|
70
|
+
case "vaultStrategy":
|
|
71
|
+
return `${owner.kind}:${owner.chainId}:${owner.vault.toLowerCase()}:${owner.strategy.toLowerCase()}`;
|
|
72
|
+
case "service":
|
|
73
|
+
return `${owner.kind}:${owner.chainId ?? "unknown"}:${owner.service}:${owner.id ?? ""}`;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export function dataIssueLocationKey(location) {
|
|
77
|
+
return `${dataIssueOwnerKey(location.owner)}:${location.path}`;
|
|
78
|
+
}
|
|
79
|
+
function uniqueLocations(locations) {
|
|
80
|
+
const byKey = new Map();
|
|
81
|
+
for (const location of locations) {
|
|
82
|
+
byKey.set(dataIssueLocationKey(location), location);
|
|
83
|
+
}
|
|
84
|
+
return Array.from(byKey.values());
|
|
14
85
|
}
|
|
15
|
-
export function
|
|
86
|
+
export function mapDataIssueLocations(issue, mapLocation) {
|
|
16
87
|
return {
|
|
17
88
|
...issue,
|
|
18
|
-
|
|
89
|
+
locations: uniqueLocations(issue.locations.map(mapLocation)),
|
|
19
90
|
};
|
|
20
91
|
}
|
|
21
|
-
export function
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Normalizes list-root diagnostics like "$.vaults[0].x" to "$[0].x" for
|
|
29
|
-
* service methods that return top-level arrays.
|
|
30
|
-
*/
|
|
31
|
-
export function normalizeTopLevelVaultArrayPath(path) {
|
|
32
|
-
return path.replace(/^\$\.(?:vaults|eVaults|eulerEarns)\[(\d+)\](?=\.|$)/, (_match, index) => `$[${index}]`);
|
|
92
|
+
export function replaceDataIssueLocations(issue, locations) {
|
|
93
|
+
return {
|
|
94
|
+
...issue,
|
|
95
|
+
locations: uniqueLocations(locations),
|
|
96
|
+
};
|
|
33
97
|
}
|
|
34
98
|
function stableSerialize(value) {
|
|
35
99
|
if (typeof value === "bigint")
|
|
@@ -52,7 +116,6 @@ export function compressDataIssues(errors) {
|
|
|
52
116
|
code: issue.code,
|
|
53
117
|
severity: issue.severity,
|
|
54
118
|
message: issue.message,
|
|
55
|
-
entityId: issue.entityId,
|
|
56
119
|
source: issue.source,
|
|
57
120
|
originalValue: issue.originalValue,
|
|
58
121
|
normalizedValue: issue.normalizedValue,
|
|
@@ -61,11 +124,14 @@ export function compressDataIssues(errors) {
|
|
|
61
124
|
if (!existing) {
|
|
62
125
|
byFingerprint.set(fingerprint, {
|
|
63
126
|
...issue,
|
|
64
|
-
|
|
127
|
+
locations: uniqueLocations(issue.locations),
|
|
65
128
|
});
|
|
66
129
|
continue;
|
|
67
130
|
}
|
|
68
|
-
existing.
|
|
131
|
+
existing.locations = uniqueLocations([
|
|
132
|
+
...existing.locations,
|
|
133
|
+
...issue.locations,
|
|
134
|
+
]);
|
|
69
135
|
}
|
|
70
136
|
return Array.from(byFingerprint.values());
|
|
71
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityDiagnostics.js","sourceRoot":"","sources":["../../../src/utils/entityDiagnostics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entityDiagnostics.js","sourceRoot":"","sources":["../../../src/utils/entityDiagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { EulerEarn } from "../entities/EulerEarn.js";
|
|
2
|
+
import type { EulerLabelEntity, EulerLabelPoint, EulerLabelProduct, EulerLabelsData } from "../entities/EulerLabels.js";
|
|
3
|
+
export declare const createEmptyEulerLabelsData: () => EulerLabelsData;
|
|
4
|
+
export declare const applyEulerLabelVaultOverrides: (product: EulerLabelProduct, vaultAddress: string) => EulerLabelProduct;
|
|
5
|
+
export declare const getEulerLabelProductByVault: (data: EulerLabelsData, vaultAddress: string) => EulerLabelProduct | undefined;
|
|
6
|
+
export declare const getEulerLabelProductKeyByVault: (data: EulerLabelsData, vaultAddress: string) => string | undefined;
|
|
7
|
+
export declare const getEulerLabelVaultBlock: (data: EulerLabelsData, vaultAddress: string) => string[] | undefined;
|
|
8
|
+
export declare const getEulerLabelEarnVaultBlock: (data: EulerLabelsData, vaultAddress: string) => string[] | undefined;
|
|
9
|
+
export declare const getEulerLabelVaultRestricted: (data: EulerLabelsData, vaultAddress: string) => string[] | undefined;
|
|
10
|
+
export declare const getEulerLabelEarnVaultRestricted: (data: EulerLabelsData, vaultAddress: string) => string[] | undefined;
|
|
11
|
+
export declare const getEulerLabelAssetBlock: (data: EulerLabelsData, assetAddress: string) => string[] | undefined;
|
|
12
|
+
export declare const getEulerLabelAssetRestricted: (data: EulerLabelsData, assetAddress: string) => string[] | undefined;
|
|
13
|
+
export declare const isEulerLabelVaultFeatured: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
14
|
+
export declare const isEulerLabelEarnVaultDeprecated: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
15
|
+
export declare const isEulerLabelEarnVaultNotExplorable: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
16
|
+
export declare const getEulerLabelEarnVaultDeprecationReason: (data: EulerLabelsData, vaultAddress: string) => string;
|
|
17
|
+
export declare const getEulerLabelEarnVaultDescription: (data: EulerLabelsData, vaultAddress: string) => string;
|
|
18
|
+
export declare const getEulerLabelEarnVaultNotice: (data: EulerLabelsData, vaultAddress: string) => string;
|
|
19
|
+
export declare const getEulerLabelVaultNotice: (data: EulerLabelsData, vaultAddress: string) => string;
|
|
20
|
+
export declare const isEulerLabelVaultNoticeSpecific: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
21
|
+
export declare const isEulerLabelVaultDeprecated: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
22
|
+
export declare const isEulerLabelVaultNotExplorable: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
23
|
+
export declare const isEulerLabelVaultNotExplorableLend: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
24
|
+
export declare const isEulerLabelVaultNotExplorableBorrow: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
25
|
+
export declare const isEulerLabelVaultKeyring: (data: EulerLabelsData, vaultAddress: string) => boolean;
|
|
26
|
+
export declare const isEulerLabelProductKeyring: (data: EulerLabelsData, productKey: string) => boolean;
|
|
27
|
+
export declare const getEulerLabelEntitiesByVault: (data: EulerLabelsData, vault: {
|
|
28
|
+
governorAdmin?: string;
|
|
29
|
+
governor?: string;
|
|
30
|
+
}) => EulerLabelEntity[];
|
|
31
|
+
export declare const getEulerLabelEntitiesByEarnVault: (data: EulerLabelsData, earnVault: EulerEarn) => EulerLabelEntity[];
|
|
32
|
+
export declare const getEulerLabelPointsByVault: (data: EulerLabelsData, vaultAddress: string) => EulerLabelPoint[];
|
|
33
|
+
export declare const getEulerLabelVaultProductName: (data: EulerLabelsData, vaultAddress: string) => string;
|
|
34
|
+
//# sourceMappingURL=eulerLabels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eulerLabels.d.ts","sourceRoot":"","sources":["../../../src/utils/eulerLabels.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,0BAA0B,QAAO,eAiB5C,CAAC;AAUH,eAAO,MAAM,6BAA6B,GACzC,SAAS,iBAAiB,EAC1B,cAAc,MAAM,KAClB,iBAgBF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACvC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,iBAAiB,GAAG,SAOtB,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAC1C,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAM,GAAG,SAUX,CAAC;AAEF,eAAO,MAAM,uBAAuB,GACnC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAM,EAAE,GAAG,SAKb,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACvC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAM,EAAE,GAAG,SAA+E,CAAC;AAE9F,eAAO,MAAM,4BAA4B,GACxC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAM,EAAE,GAAG,SAIb,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC5C,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAM,EAAE,GAAG,SAC2D,CAAC;AAE1E,eAAO,MAAM,uBAAuB,GACnC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAM,EAAE,GAAG,SAGD,CAAC;AAEd,eAAO,MAAM,4BAA4B,GACxC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAM,EAAE,GAAG,SAGD,CAAC;AAEd,eAAO,MAAM,yBAAyB,GACrC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAaF,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC3C,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAAoF,CAAC;AAExF,eAAO,MAAM,kCAAkC,GAC9C,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAAyF,CAAC;AAE7F,eAAO,MAAM,uCAAuC,GACnD,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAuF,CAAC;AAE3F,eAAO,MAAM,iCAAiC,GAC7C,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAwF,CAAC;AAE5F,eAAO,MAAM,4BAA4B,GACxC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAAmF,CAAC;AAEvF,eAAO,MAAM,wBAAwB,GACpC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAUF,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC3C,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAKF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACvC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAMF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAC1C,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAAkF,CAAC;AAEtF,eAAO,MAAM,kCAAkC,GAC9C,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAKF,CAAC;AAEF,eAAO,MAAM,oCAAoC,GAChD,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAKF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACpC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,OAKF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACtC,MAAM,eAAe,EACrB,YAAY,MAAM,KAChB,OAAsD,CAAC;AAE1D,eAAO,MAAM,4BAA4B,GACxC,MAAM,eAAe,EACrB,OAAO;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAClD,gBAAgB,EAOlB,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC5C,MAAM,eAAe,EACrB,WAAW,SAAS,KAClB,gBAAgB,EAKlB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACtC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,eAAe,EAAuD,CAAC;AAE1E,eAAO,MAAM,6BAA6B,GACzC,MAAM,eAAe,EACrB,cAAc,MAAM,KAClB,MAGF,CAAC"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { getAddress } from "viem";
|
|
2
|
+
export const createEmptyEulerLabelsData = () => ({
|
|
3
|
+
products: {},
|
|
4
|
+
entities: {},
|
|
5
|
+
points: {},
|
|
6
|
+
verifiedVaultAddresses: [],
|
|
7
|
+
earnVaults: [],
|
|
8
|
+
earnVaultEntries: {},
|
|
9
|
+
earnVaultBlocks: {},
|
|
10
|
+
earnVaultRestrictions: {},
|
|
11
|
+
featuredEarnVaults: new Set(),
|
|
12
|
+
deprecatedEarnVaults: {},
|
|
13
|
+
earnVaultDescriptions: {},
|
|
14
|
+
earnVaultNotices: {},
|
|
15
|
+
notExplorableEarnVaults: new Set(),
|
|
16
|
+
assetBlocks: {},
|
|
17
|
+
assetRestrictions: {},
|
|
18
|
+
assetPatternRules: [],
|
|
19
|
+
});
|
|
20
|
+
const normalizeAddress = (address) => {
|
|
21
|
+
try {
|
|
22
|
+
return getAddress(address);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return address.toLowerCase();
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
export const applyEulerLabelVaultOverrides = (product, vaultAddress) => {
|
|
29
|
+
const override = product.vaultOverrides?.[normalizeAddress(vaultAddress)];
|
|
30
|
+
if (!override)
|
|
31
|
+
return product;
|
|
32
|
+
return {
|
|
33
|
+
...product,
|
|
34
|
+
...(override.name !== undefined && { name: override.name }),
|
|
35
|
+
...(override.description !== undefined && {
|
|
36
|
+
description: override.description,
|
|
37
|
+
}),
|
|
38
|
+
...(override.portfolioNotice !== undefined && {
|
|
39
|
+
portfolioNotice: override.portfolioNotice,
|
|
40
|
+
}),
|
|
41
|
+
...(override.deprecationReason !== undefined && {
|
|
42
|
+
deprecationReason: override.deprecationReason,
|
|
43
|
+
}),
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
export const getEulerLabelProductByVault = (data, vaultAddress) => {
|
|
47
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
48
|
+
return Object.values(data.products).find((product) => product.vaults.includes(normalized) ||
|
|
49
|
+
(product.deprecatedVaults?.includes(normalized) ?? false));
|
|
50
|
+
};
|
|
51
|
+
export const getEulerLabelProductKeyByVault = (data, vaultAddress) => {
|
|
52
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
53
|
+
return Object.keys(data.products).find((key) => {
|
|
54
|
+
const product = data.products[key];
|
|
55
|
+
if (!product)
|
|
56
|
+
return false;
|
|
57
|
+
return (product.vaults.includes(normalized) ||
|
|
58
|
+
(product.deprecatedVaults?.includes(normalized) ?? false));
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
export const getEulerLabelVaultBlock = (data, vaultAddress) => {
|
|
62
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
63
|
+
const product = getEulerLabelProductByVault(data, normalized);
|
|
64
|
+
const override = product?.vaultOverrides?.[normalized];
|
|
65
|
+
return override?.block ?? product?.block;
|
|
66
|
+
};
|
|
67
|
+
export const getEulerLabelEarnVaultBlock = (data, vaultAddress) => data.earnVaultBlocks[normalizeAddress(vaultAddress).toLowerCase()];
|
|
68
|
+
export const getEulerLabelVaultRestricted = (data, vaultAddress) => {
|
|
69
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
70
|
+
const product = getEulerLabelProductByVault(data, normalized);
|
|
71
|
+
return product?.vaultOverrides?.[normalized]?.restricted;
|
|
72
|
+
};
|
|
73
|
+
export const getEulerLabelEarnVaultRestricted = (data, vaultAddress) => data.earnVaultRestrictions[normalizeAddress(vaultAddress).toLowerCase()];
|
|
74
|
+
export const getEulerLabelAssetBlock = (data, assetAddress) => assetAddress
|
|
75
|
+
? data.assetBlocks[normalizeAddress(assetAddress).toLowerCase()]
|
|
76
|
+
: undefined;
|
|
77
|
+
export const getEulerLabelAssetRestricted = (data, assetAddress) => assetAddress
|
|
78
|
+
? data.assetRestrictions[normalizeAddress(assetAddress).toLowerCase()]
|
|
79
|
+
: undefined;
|
|
80
|
+
export const isEulerLabelVaultFeatured = (data, vaultAddress) => {
|
|
81
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
82
|
+
if (Object.values(data.products).some((product) => product.featuredVaults?.includes(normalized) ?? false)) {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
return (data.featuredEarnVaults.has(normalized) ||
|
|
86
|
+
data.featuredEarnVaults.has(normalized.toLowerCase()));
|
|
87
|
+
};
|
|
88
|
+
export const isEulerLabelEarnVaultDeprecated = (data, vaultAddress) => normalizeAddress(vaultAddress).toLowerCase() in data.deprecatedEarnVaults;
|
|
89
|
+
export const isEulerLabelEarnVaultNotExplorable = (data, vaultAddress) => data.notExplorableEarnVaults.has(normalizeAddress(vaultAddress).toLowerCase());
|
|
90
|
+
export const getEulerLabelEarnVaultDeprecationReason = (data, vaultAddress) => data.deprecatedEarnVaults[normalizeAddress(vaultAddress).toLowerCase()] ?? "";
|
|
91
|
+
export const getEulerLabelEarnVaultDescription = (data, vaultAddress) => data.earnVaultDescriptions[normalizeAddress(vaultAddress).toLowerCase()] ?? "";
|
|
92
|
+
export const getEulerLabelEarnVaultNotice = (data, vaultAddress) => data.earnVaultNotices[normalizeAddress(vaultAddress).toLowerCase()] ?? "";
|
|
93
|
+
export const getEulerLabelVaultNotice = (data, vaultAddress) => {
|
|
94
|
+
const earnNotice = getEulerLabelEarnVaultNotice(data, vaultAddress);
|
|
95
|
+
if (earnNotice)
|
|
96
|
+
return earnNotice;
|
|
97
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
98
|
+
const product = getEulerLabelProductByVault(data, normalized);
|
|
99
|
+
const override = product?.vaultOverrides?.[normalized];
|
|
100
|
+
if (override?.portfolioNotice !== undefined)
|
|
101
|
+
return override.portfolioNotice;
|
|
102
|
+
return product?.portfolioNotice ?? "";
|
|
103
|
+
};
|
|
104
|
+
export const isEulerLabelVaultNoticeSpecific = (data, vaultAddress) => {
|
|
105
|
+
if (getEulerLabelEarnVaultNotice(data, vaultAddress))
|
|
106
|
+
return true;
|
|
107
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
108
|
+
const product = getEulerLabelProductByVault(data, normalized);
|
|
109
|
+
return product?.vaultOverrides?.[normalized]?.portfolioNotice !== undefined;
|
|
110
|
+
};
|
|
111
|
+
export const isEulerLabelVaultDeprecated = (data, vaultAddress) => {
|
|
112
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
113
|
+
if (normalized.toLowerCase() in data.deprecatedEarnVaults)
|
|
114
|
+
return true;
|
|
115
|
+
return Object.values(data.products).some((product) => product.deprecatedVaults?.includes(normalized) ?? false);
|
|
116
|
+
};
|
|
117
|
+
export const isEulerLabelVaultNotExplorable = (data, vaultAddress) => getEulerLabelProductByVault(data, vaultAddress)?.notExplorable === true;
|
|
118
|
+
export const isEulerLabelVaultNotExplorableLend = (data, vaultAddress) => {
|
|
119
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
120
|
+
const product = getEulerLabelProductByVault(data, normalized);
|
|
121
|
+
if (product?.notExplorable === true)
|
|
122
|
+
return true;
|
|
123
|
+
return product?.vaultOverrides?.[normalized]?.notExplorableLend === true;
|
|
124
|
+
};
|
|
125
|
+
export const isEulerLabelVaultNotExplorableBorrow = (data, vaultAddress) => {
|
|
126
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
127
|
+
const product = getEulerLabelProductByVault(data, normalized);
|
|
128
|
+
if (product?.notExplorable === true)
|
|
129
|
+
return true;
|
|
130
|
+
return product?.vaultOverrides?.[normalized]?.notExplorableBorrow === true;
|
|
131
|
+
};
|
|
132
|
+
export const isEulerLabelVaultKeyring = (data, vaultAddress) => {
|
|
133
|
+
const normalized = normalizeAddress(vaultAddress);
|
|
134
|
+
const product = getEulerLabelProductByVault(data, normalized);
|
|
135
|
+
if (product?.keyring === true)
|
|
136
|
+
return true;
|
|
137
|
+
return product?.vaultOverrides?.[normalized]?.keyring === true;
|
|
138
|
+
};
|
|
139
|
+
export const isEulerLabelProductKeyring = (data, productKey) => data.products[productKey]?.keyring === true;
|
|
140
|
+
export const getEulerLabelEntitiesByVault = (data, vault) => {
|
|
141
|
+
const governor = vault.governorAdmin ?? vault.governor;
|
|
142
|
+
if (!governor)
|
|
143
|
+
return [];
|
|
144
|
+
const normalizedGovernor = normalizeAddress(governor);
|
|
145
|
+
return Object.values(data.entities).filter((entity) => Object.keys(entity.addresses ?? {}).includes(normalizedGovernor));
|
|
146
|
+
};
|
|
147
|
+
export const getEulerLabelEntitiesByEarnVault = (data, earnVault) => {
|
|
148
|
+
const ownerAddress = normalizeAddress(earnVault.governance.owner);
|
|
149
|
+
return Object.values(data.entities).filter((entity) => Object.keys(entity.addresses ?? {}).includes(ownerAddress));
|
|
150
|
+
};
|
|
151
|
+
export const getEulerLabelPointsByVault = (data, vaultAddress) => data.points[normalizeAddress(vaultAddress)] ?? [];
|
|
152
|
+
export const getEulerLabelVaultProductName = (data, vaultAddress) => {
|
|
153
|
+
const product = getEulerLabelProductByVault(data, vaultAddress);
|
|
154
|
+
return product ? applyEulerLabelVaultOverrides(product, vaultAddress).name : "";
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=eulerLabels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eulerLabels.js","sourceRoot":"","sources":["../../../src/utils/eulerLabels.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Address } from "viem";
|
|
2
|
+
import type { Account, IHasVaultAddress } from "../entities/Account.js";
|
|
3
|
+
import type { TransactionPlan } from "../services/executionService/executionServiceTypes.js";
|
|
4
|
+
export type HealthCheckAccountSet = {
|
|
5
|
+
account: Address;
|
|
6
|
+
controllers: Address[];
|
|
7
|
+
collaterals: Address[];
|
|
8
|
+
};
|
|
9
|
+
export type PlanHealthCheckSet = {
|
|
10
|
+
planIndex: number;
|
|
11
|
+
accounts: HealthCheckAccountSet[];
|
|
12
|
+
};
|
|
13
|
+
export declare function calculateHealthCheckSets(plan: TransactionPlan, account: Account<IHasVaultAddress>): PlanHealthCheckSet[];
|
|
14
|
+
//# sourceMappingURL=healthCheckSets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthCheckSets.d.ts","sourceRoot":"","sources":["../../../src/utils/healthCheckSets.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EAKZ,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACX,OAAO,EACP,gBAAgB,EAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAEX,eAAe,EACf,MAAM,uDAAuD,CAAC;AAW/D,MAAM,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,WAAW,EAAE,OAAO,EAAE,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CAClC,CAAC;AA0LF,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAChC,kBAAkB,EAAE,CA8BtB"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { decodeFunctionData, getAddress, zeroAddress, } from "viem";
|
|
2
|
+
import { flattenBatchEntries } from "../services/executionService/executionServiceTypes.js";
|
|
3
|
+
import { ethereumVaultConnectorAbi } from "../services/executionService/abis/ethereumVaultConnectorAbi.js";
|
|
4
|
+
import { eVaultAbi } from "../services/executionService/abis/eVaultAbi.js";
|
|
5
|
+
import { resolveBorrowCollateralVaults } from "./accountPositionClassification.js";
|
|
6
|
+
function ensurePopulatedAccount(account) {
|
|
7
|
+
if (!account.populated.vaults) {
|
|
8
|
+
throw new Error("Health check calculation requires an Account populated with vaults.");
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function ensureState(states, account) {
|
|
12
|
+
const normalized = getAddress(account);
|
|
13
|
+
const existing = states.get(normalized);
|
|
14
|
+
if (existing)
|
|
15
|
+
return existing;
|
|
16
|
+
const created = {
|
|
17
|
+
controllers: new Set(),
|
|
18
|
+
collaterals: new Set(),
|
|
19
|
+
};
|
|
20
|
+
states.set(normalized, created);
|
|
21
|
+
return created;
|
|
22
|
+
}
|
|
23
|
+
function addAddress(set, value) {
|
|
24
|
+
set.add(getAddress(value));
|
|
25
|
+
}
|
|
26
|
+
function deleteAddress(set, value) {
|
|
27
|
+
set.delete(getAddress(value));
|
|
28
|
+
}
|
|
29
|
+
function collectInitialCollateralVaults(subAccount) {
|
|
30
|
+
const collaterals = new Map();
|
|
31
|
+
for (const position of subAccount.positions) {
|
|
32
|
+
if (position.borrowed === 0n)
|
|
33
|
+
continue;
|
|
34
|
+
for (const collateral of resolveBorrowCollateralVaults(subAccount, position)) {
|
|
35
|
+
const normalized = getAddress(collateral);
|
|
36
|
+
collaterals.set(normalized.toLowerCase(), normalized);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return [...collaterals.values()];
|
|
40
|
+
}
|
|
41
|
+
function buildInitialStates(account) {
|
|
42
|
+
const states = new Map();
|
|
43
|
+
for (const subAccount of Object.values(account.subAccounts)) {
|
|
44
|
+
if (!subAccount)
|
|
45
|
+
continue;
|
|
46
|
+
const state = ensureState(states, subAccount.account);
|
|
47
|
+
for (const controller of subAccount.enabledControllers) {
|
|
48
|
+
addAddress(state.controllers, controller);
|
|
49
|
+
}
|
|
50
|
+
for (const collateral of collectInitialCollateralVaults(subAccount)) {
|
|
51
|
+
addAddress(state.collaterals, collateral);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return states;
|
|
55
|
+
}
|
|
56
|
+
function decodeEvcFunction(item) {
|
|
57
|
+
try {
|
|
58
|
+
return decodeFunctionData({
|
|
59
|
+
abi: ethereumVaultConnectorAbi,
|
|
60
|
+
data: item.data,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function decodeEVaultFunction(item) {
|
|
68
|
+
try {
|
|
69
|
+
return decodeFunctionData({
|
|
70
|
+
abi: eVaultAbi,
|
|
71
|
+
data: item.data,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function applyEvcStateMutation(item, states) {
|
|
79
|
+
const decoded = decodeEvcFunction(item);
|
|
80
|
+
if (!decoded)
|
|
81
|
+
return;
|
|
82
|
+
const args = (decoded.args ?? []);
|
|
83
|
+
if (decoded.functionName === "enableController") {
|
|
84
|
+
const [account, vault] = args;
|
|
85
|
+
addAddress(ensureState(states, account).controllers, vault);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (decoded.functionName === "disableController") {
|
|
89
|
+
const [account] = args;
|
|
90
|
+
ensureState(states, account).controllers.clear();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (decoded.functionName === "enableCollateral") {
|
|
94
|
+
const [account, vault] = args;
|
|
95
|
+
addAddress(ensureState(states, account).collaterals, vault);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (decoded.functionName === "disableCollateral") {
|
|
99
|
+
const [account, vault] = args;
|
|
100
|
+
deleteAddress(ensureState(states, account).collaterals, vault);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function getCheckedAccountFromEVaultCall(item) {
|
|
104
|
+
const decoded = decodeEVaultFunction(item);
|
|
105
|
+
if (!decoded)
|
|
106
|
+
return null;
|
|
107
|
+
const args = (decoded.args ?? []);
|
|
108
|
+
if (decoded.functionName === "borrow" ||
|
|
109
|
+
decoded.functionName === "pullDebt" ||
|
|
110
|
+
decoded.functionName === "liquidate" ||
|
|
111
|
+
decoded.functionName === "repayWithShares" ||
|
|
112
|
+
decoded.functionName === "transfer") {
|
|
113
|
+
return getAddress(item.onBehalfOfAccount);
|
|
114
|
+
}
|
|
115
|
+
if (decoded.functionName === "withdraw" ||
|
|
116
|
+
decoded.functionName === "redeem") {
|
|
117
|
+
return getAddress(args[2]);
|
|
118
|
+
}
|
|
119
|
+
if (decoded.functionName === "transferFrom" ||
|
|
120
|
+
decoded.functionName === "transferFromMax") {
|
|
121
|
+
const from = getAddress(args[0]);
|
|
122
|
+
return from === zeroAddress ? getAddress(item.onBehalfOfAccount) : from;
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
function applyEVaultStateMutation(item, states) {
|
|
127
|
+
const decoded = decodeEVaultFunction(item);
|
|
128
|
+
if (!decoded)
|
|
129
|
+
return;
|
|
130
|
+
if (decoded.functionName === "disableController") {
|
|
131
|
+
deleteAddress(ensureState(states, item.onBehalfOfAccount).controllers, item.targetContract);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
function snapshotCheckedAccounts(checkedAccounts, states) {
|
|
135
|
+
return [...checkedAccounts].flatMap((account) => {
|
|
136
|
+
const state = states.get(getAddress(account));
|
|
137
|
+
if (!state)
|
|
138
|
+
return [];
|
|
139
|
+
return [
|
|
140
|
+
{
|
|
141
|
+
account: getAddress(account),
|
|
142
|
+
controllers: [...state.controllers],
|
|
143
|
+
collaterals: [...state.collaterals],
|
|
144
|
+
},
|
|
145
|
+
];
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
export function calculateHealthCheckSets(plan, account) {
|
|
149
|
+
ensurePopulatedAccount(account);
|
|
150
|
+
const states = buildInitialStates(account);
|
|
151
|
+
const healthCheckSets = [];
|
|
152
|
+
for (const [planIndex, entry] of plan.entries()) {
|
|
153
|
+
if (entry.type !== "evcBatch")
|
|
154
|
+
continue;
|
|
155
|
+
const checkedAccounts = new Set();
|
|
156
|
+
for (const item of flattenBatchEntries(entry.items)) {
|
|
157
|
+
applyEvcStateMutation(item, states);
|
|
158
|
+
applyEVaultStateMutation(item, states);
|
|
159
|
+
const checkedAccount = getCheckedAccountFromEVaultCall(item);
|
|
160
|
+
if (checkedAccount) {
|
|
161
|
+
checkedAccounts.add(checkedAccount);
|
|
162
|
+
ensureState(states, checkedAccount);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (checkedAccounts.size) {
|
|
166
|
+
healthCheckSets.push({
|
|
167
|
+
planIndex,
|
|
168
|
+
accounts: snapshotCheckedAccounts(checkedAccounts, states),
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return healthCheckSets;
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=healthCheckSets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthCheckSets.js","sourceRoot":"","sources":["../../../src/utils/healthCheckSets.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,kBAAkB,EAClB,UAAU,EACV,WAAW,GACX,MAAM,MAAM,CAAC;AAUd,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gEAAgE,CAAC;AAC3G,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAkBnF,SAAS,sBAAsB,CAAC,OAAkC;IACjE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACd,qEAAqE,CACrE,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CACnB,MAAsC,EACtC,OAAgB;IAEhB,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG;QACf,WAAW,EAAE,IAAI,GAAG,EAAW;QAC/B,WAAW,EAAE,IAAI,GAAG,EAAW;KAC/B,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,GAAiB,EAAE,KAAc;IACpD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,aAAa,CAAC,GAAiB,EAAE,KAAc;IACvD,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,8BAA8B,CACtC,UAAwC;IAExC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC/C,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QAC7C,IAAI,QAAQ,CAAC,QAAQ,KAAK,EAAE;YAAE,SAAS;QACvC,KAAK,MAAM,UAAU,IAAI,6BAA6B,CACrD,UAAU,EACV,QAAQ,CACR,EAAE,CAAC;YACH,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1C,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB,CAC1B,OAAkC;IAElC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACtD,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACxD,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,8BAA8B,CAAC,UAAU,CAAC,EAAE,CAAC;YACrE,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAkB;IAC5C,IAAI,CAAC;QACJ,OAAO,kBAAkB,CAAC;YACzB,GAAG,EAAE,yBAA2C;YAChD,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAkB;IAC/C,IAAI,CAAC;QACJ,OAAO,kBAAkB,CAAC;YACzB,GAAG,EAAE,SAA2B;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAC7B,IAAkB,EAClB,MAAsC;IAEtC,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAuB,CAAC;IAExD,IAAI,OAAO,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;QACjD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAA0B,CAAC;QACpD,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,KAAK,mBAAmB,EAAE,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAiB,CAAC;QACpC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACjD,OAAO;IACR,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,KAAK,kBAAkB,EAAE,CAAC;QACjD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAA0B,CAAC;QACpD,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,CAAC,YAAY,KAAK,mBAAmB,EAAE,CAAC;QAClD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAA0B,CAAC;QACpD,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;AACF,CAAC;AAED,SAAS,+BAA+B,CAAC,IAAkB;IAC1D,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAuB,CAAC;IAExD,IACC,OAAO,CAAC,YAAY,KAAK,QAAQ;QACjC,OAAO,CAAC,YAAY,KAAK,UAAU;QACnC,OAAO,CAAC,YAAY,KAAK,WAAW;QACpC,OAAO,CAAC,YAAY,KAAK,iBAAiB;QAC1C,OAAO,CAAC,YAAY,KAAK,UAAU,EAClC,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAED,IACC,OAAO,CAAC,YAAY,KAAK,UAAU;QACnC,OAAO,CAAC,YAAY,KAAK,QAAQ,EAChC,CAAC;QACF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAY,CAAC,CAAC;IACvC,CAAC;IAED,IACC,OAAO,CAAC,YAAY,KAAK,cAAc;QACvC,OAAO,CAAC,YAAY,KAAK,iBAAiB,EACzC,CAAC;QACF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAY,CAAC,CAAC;QAC5C,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,wBAAwB,CAChC,IAAkB,EAClB,MAAsC;IAEtC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,IAAI,OAAO,CAAC,YAAY,KAAK,mBAAmB,EAAE,CAAC;QAClD,aAAa,CACZ,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EACvD,IAAI,CAAC,cAAc,CACnB,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAC/B,eAA6B,EAC7B,MAAsC;IAEtC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO;YACN;gBACC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;gBAC5B,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;gBACnC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;aACnC;SACD,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACvC,IAAqB,EACrB,OAAkC;IAElC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAyB,EAAE,CAAC;IAEjD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAExC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAW,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpC,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAEvC,MAAM,cAAc,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAI,cAAc,EAAE,CAAC;gBACpB,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACpC,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC;gBACpB,SAAS;gBACT,QAAQ,EAAE,uBAAuB,CAAC,eAAe,EAAE,MAAM,CAAC;aAC1D,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,eAAe,CAAC;AACxB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DataIssue, type DataIssueOwnerRef } from "./entityDiagnostics.js";
|
|
2
2
|
type BigintToSafeNumberParams = {
|
|
3
3
|
path: string;
|
|
4
4
|
errors: DataIssue[];
|
|
5
5
|
source: string;
|
|
6
|
-
|
|
6
|
+
owner: DataIssueOwnerRef;
|
|
7
7
|
message?: string;
|
|
8
8
|
};
|
|
9
9
|
export declare function bigintToSafeNumber(value: bigint, params: BigintToSafeNumberParams): number;
|
|
@@ -11,7 +11,7 @@ type NumberLikeToSafeFiniteNumberParams = {
|
|
|
11
11
|
path: string;
|
|
12
12
|
errors: DataIssue[];
|
|
13
13
|
source: string;
|
|
14
|
-
|
|
14
|
+
owner: DataIssueOwnerRef;
|
|
15
15
|
fallback?: number;
|
|
16
16
|
message?: string;
|
|
17
17
|
};
|
|
@@ -20,12 +20,18 @@ type BigintToScaledNumberParams = {
|
|
|
20
20
|
path: string;
|
|
21
21
|
errors: DataIssue[];
|
|
22
22
|
source: string;
|
|
23
|
-
|
|
23
|
+
owner: DataIssueOwnerRef;
|
|
24
24
|
scale: number;
|
|
25
25
|
maxUnscaled?: bigint;
|
|
26
26
|
minUnscaled?: bigint;
|
|
27
27
|
overflowMessage?: string;
|
|
28
28
|
};
|
|
29
29
|
export declare function bigintToScaledNumber(value: bigint, params: BigintToScaledNumberParams): number;
|
|
30
|
+
export declare function scaledBigIntToNumber(value: bigint, decimals: number): number;
|
|
31
|
+
export declare function tokenAmountToUsdValue(amount: bigint, decimals: number, priceUsd: number): number;
|
|
32
|
+
export declare function wadToNumber(value: bigint | undefined): number | undefined;
|
|
33
|
+
export declare function bigintRatioToNumber(numerator: bigint, denominator: bigint): number | undefined;
|
|
34
|
+
export declare function bigintPercentage(numerator: bigint, denominator: bigint, precision?: number): number;
|
|
35
|
+
export declare function wadRatioToDecimal(value: bigint | undefined): number | undefined;
|
|
30
36
|
export {};
|
|
31
37
|
//# sourceMappingURL=normalization.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalization.d.ts","sourceRoot":"","sources":["../../../src/utils/normalization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"normalization.d.ts","sourceRoot":"","sources":["../../../src/utils/normalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,KAAK,wBAAwB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,wBAAwB,GAC9B,MAAM,CAwBR;AAED,KAAK,kCAAkC,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,MAAM,EAAE,kCAAkC,GACxC,MAAM,CA2BR;AAED,KAAK,0BAA0B,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,0BAA0B,GAChC,MAAM,CAmCR;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACd,MAAM,CAER;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED,wBAAgB,mBAAmB,CAClC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,SAAI,GACX,MAAM,CASR;AAED,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,GAAG,SAAS,GACvB,MAAM,GAAG,SAAS,CAKpB"}
|