morpho-contracts-helper 0.0.17 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/contracts/MorphoVaultV2DeployHelper.sol +184 -0
  2. package/dist/typechain-types/contracts/{MorphoMarketDataFetcher.sol/MorphoMarketDataFetcher.d.ts → MorphoMarketDataFetcher.d.ts} +10 -12
  3. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.d.ts.map +1 -0
  4. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.js.map +1 -0
  5. package/dist/typechain-types/contracts/MorphoVaultV2DeployHelper.d.ts +162 -0
  6. package/dist/typechain-types/contracts/MorphoVaultV2DeployHelper.d.ts.map +1 -0
  7. package/dist/typechain-types/contracts/{MorphoMarketDataFetcher.sol/IERC20Metadata.js → MorphoVaultV2DeployHelper.js} +1 -1
  8. package/dist/typechain-types/contracts/MorphoVaultV2DeployHelper.js.map +1 -0
  9. package/dist/typechain-types/contracts/index.d.ts +2 -2
  10. package/dist/typechain-types/contracts/index.d.ts.map +1 -1
  11. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher__factory.d.ts +226 -0
  12. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher__factory.d.ts.map +1 -0
  13. package/dist/typechain-types/factories/contracts/{MorphoMarketDataFetcher.sol/MorphoMarketDataFetcher__factory.js → MorphoMarketDataFetcher__factory.js} +11 -16
  14. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher__factory.js.map +1 -0
  15. package/dist/typechain-types/factories/contracts/MorphoVaultV2DeployHelper__factory.d.ts +198 -0
  16. package/dist/typechain-types/factories/contracts/MorphoVaultV2DeployHelper__factory.d.ts.map +1 -0
  17. package/dist/typechain-types/factories/contracts/MorphoVaultV2DeployHelper__factory.js +265 -0
  18. package/dist/typechain-types/factories/contracts/MorphoVaultV2DeployHelper__factory.js.map +1 -0
  19. package/dist/typechain-types/factories/contracts/index.d.ts +2 -1
  20. package/dist/typechain-types/factories/contracts/index.d.ts.map +1 -1
  21. package/dist/typechain-types/factories/contracts/index.js +5 -2
  22. package/dist/typechain-types/factories/contracts/index.js.map +1 -1
  23. package/dist/typechain-types/index.d.ts +6 -4
  24. package/dist/typechain-types/index.d.ts.map +1 -1
  25. package/dist/typechain-types/index.js +7 -5
  26. package/dist/typechain-types/index.js.map +1 -1
  27. package/package.json +1 -1
  28. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IChainlinkAggregator.d.ts +0 -60
  29. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IChainlinkAggregator.d.ts.map +0 -1
  30. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IChainlinkAggregator.js +0 -3
  31. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IChainlinkAggregator.js.map +0 -1
  32. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IERC20Metadata.d.ts +0 -48
  33. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IERC20Metadata.d.ts.map +0 -1
  34. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IERC20Metadata.js.map +0 -1
  35. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IMorpho.d.ts +0 -84
  36. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IMorpho.d.ts.map +0 -1
  37. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IMorpho.js +0 -3
  38. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IMorpho.js.map +0 -1
  39. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IMorphoChainlinkOracleV2.d.ts +0 -62
  40. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IMorphoChainlinkOracleV2.d.ts.map +0 -1
  41. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IMorphoChainlinkOracleV2.js +0 -3
  42. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/IMorphoChainlinkOracleV2.js.map +0 -1
  43. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/MorphoMarketDataFetcher.d.ts.map +0 -1
  44. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/MorphoMarketDataFetcher.js.map +0 -1
  45. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/index.d.ts +0 -6
  46. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/index.d.ts.map +0 -1
  47. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/index.js +0 -3
  48. package/dist/typechain-types/contracts/MorphoMarketDataFetcher.sol/index.js.map +0 -1
  49. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IChainlinkAggregator__factory.d.ts +0 -44
  50. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IChainlinkAggregator__factory.d.ts.map +0 -1
  51. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IChainlinkAggregator__factory.js +0 -67
  52. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IChainlinkAggregator__factory.js.map +0 -1
  53. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IERC20Metadata__factory.d.ts +0 -56
  54. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IERC20Metadata__factory.d.ts.map +0 -1
  55. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IERC20Metadata__factory.js +0 -84
  56. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IERC20Metadata__factory.js.map +0 -1
  57. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IMorphoChainlinkOracleV2__factory.d.ts +0 -108
  58. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IMorphoChainlinkOracleV2__factory.d.ts.map +0 -1
  59. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IMorphoChainlinkOracleV2__factory.js +0 -151
  60. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IMorphoChainlinkOracleV2__factory.js.map +0 -1
  61. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IMorpho__factory.d.ts +0 -69
  62. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IMorpho__factory.d.ts.map +0 -1
  63. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IMorpho__factory.js +0 -101
  64. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/IMorpho__factory.js.map +0 -1
  65. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/MorphoMarketDataFetcher__factory.d.ts +0 -230
  66. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/MorphoMarketDataFetcher__factory.d.ts.map +0 -1
  67. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/MorphoMarketDataFetcher__factory.js.map +0 -1
  68. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/index.d.ts +0 -6
  69. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/index.d.ts.map +0 -1
  70. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/index.js +0 -18
  71. package/dist/typechain-types/factories/contracts/MorphoMarketDataFetcher.sol/index.js.map +0 -1
  72. /package/dist/typechain-types/contracts/{MorphoMarketDataFetcher.sol/MorphoMarketDataFetcher.js → MorphoMarketDataFetcher.js} +0 -0
@@ -0,0 +1,184 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.20;
3
+
4
+ // =============================================================================
5
+ // MorphoVaultV2DeployHelper
6
+ // =============================================================================
7
+
8
+ import {IVaultV2Factory} from "./external/morpho/interfaces/IVaultV2Factory.sol";
9
+ import {IVaultV2} from "./external/morpho/interfaces/IVaultV2.sol";
10
+ import {IERC20} from "./external/morpho/interfaces/IERC20.sol";
11
+ import {IERC4626} from "./external/morpho/interfaces/IERC4626.sol";
12
+ import {IMorphoMarketV1AdapterV2} from "./external/morpho/interfaces/IMorphoMarketV1AdapterV2.sol";
13
+ import {IMorphoMarketV1AdapterV2Factory} from "./external/morpho/interfaces/IMorphoMarketV1AdapterV2Factory.sol";
14
+
15
+ contract MorphoVaultV2DeployHelper {
16
+
17
+ address public immutable vaultV2FactoryAddress;
18
+ address public immutable adapterV2FactoryAddress;
19
+ address public immutable morphoRegistryAddress;
20
+
21
+ constructor(address _vaultV2FactoryAddress, address _adapterV2FactoryAddress, address _morphoRegistryAddress) {
22
+ vaultV2FactoryAddress = _vaultV2FactoryAddress;
23
+ adapterV2FactoryAddress = _adapterV2FactoryAddress;
24
+ morphoRegistryAddress = _morphoRegistryAddress;
25
+ }
26
+
27
+ struct DeployParams {
28
+ address asset;
29
+
30
+ string vaultName;
31
+ string vaultSymbol;
32
+
33
+ address finalOwner;
34
+ address finalCurator;
35
+ address allocator;
36
+ address sentinel;
37
+
38
+ uint256 vaultTimelockHigh;
39
+ uint256 vaultTimelockMid;
40
+ uint256 adapterTimelock;
41
+ }
42
+
43
+ struct DeployResult {
44
+ address vault;
45
+ address adapter;
46
+ }
47
+
48
+ function _deploy(DeployParams calldata p) internal returns (DeployResult memory result) {
49
+ bytes32 uniqueSalt = keccak256(abi.encodePacked(block.timestamp + gasleft()));
50
+
51
+ address vault = IVaultV2Factory(vaultV2FactoryAddress).createVaultV2(
52
+ address(this),
53
+ p.asset,
54
+ uniqueSalt
55
+ );
56
+
57
+ result.vault = vault;
58
+ IVaultV2 iVault2 = IVaultV2(vault);
59
+
60
+ if (bytes(p.vaultName).length > 0) {
61
+ iVault2.setName(p.vaultName);
62
+ }
63
+
64
+ if (bytes(p.vaultSymbol).length > 0) {
65
+ iVault2.setSymbol(p.vaultSymbol);
66
+ }
67
+
68
+ iVault2.setCurator(address(this));
69
+
70
+ address adapter = IMorphoMarketV1AdapterV2Factory(adapterV2FactoryAddress).createMorphoMarketV1AdapterV2(vault);
71
+ result.adapter = adapter;
72
+
73
+ iVault2.submit(abi.encodeCall(IVaultV2.setIsAllocator, (p.allocator, true)));
74
+ iVault2.submit(abi.encodeCall(IVaultV2.setAdapterRegistry, (morphoRegistryAddress)));
75
+
76
+ bytes memory adapterIdData = abi.encode("this", adapter);
77
+ iVault2.submit(abi.encodeCall(IVaultV2.addAdapter, (adapter)));
78
+ iVault2.submit(abi.encodeCall(IVaultV2.increaseAbsoluteCap, (adapterIdData, type(uint128).max)));
79
+ iVault2.submit(abi.encodeCall(IVaultV2.increaseRelativeCap, (adapterIdData, 1e18)));
80
+
81
+ iVault2.submit(abi.encodeCall(IVaultV2.abdicate, (IVaultV2.setAdapterRegistry.selector)));
82
+ iVault2.submit(abi.encodeCall(IVaultV2.abdicate, (IVaultV2.setReceiveSharesGate.selector)));
83
+ iVault2.submit(abi.encodeCall(IVaultV2.abdicate, (IVaultV2.setSendSharesGate.selector)));
84
+ iVault2.submit(abi.encodeCall(IVaultV2.abdicate, (IVaultV2.setReceiveAssetsGate.selector)));
85
+
86
+ iVault2.setAdapterRegistry(morphoRegistryAddress);
87
+ iVault2.setIsAllocator(p.allocator, true);
88
+ iVault2.addAdapter(adapter);
89
+
90
+ iVault2.increaseAbsoluteCap(adapterIdData, type(uint128).max);
91
+ iVault2.increaseRelativeCap(adapterIdData, 1e18);
92
+
93
+ iVault2.abdicate(IVaultV2.setAdapterRegistry.selector);
94
+ iVault2.abdicate(IVaultV2.setReceiveSharesGate.selector);
95
+ iVault2.abdicate(IVaultV2.setSendSharesGate.selector);
96
+ iVault2.abdicate(IVaultV2.setReceiveAssetsGate.selector);
97
+
98
+ _configureVaultTimelocks(vault, p.vaultTimelockHigh, p.vaultTimelockMid);
99
+ _configureAdapterTimelocks(adapter, p.adapterTimelock);
100
+
101
+ iVault2.setCurator(p.finalCurator);
102
+
103
+ if (p.sentinel != address(0)) {
104
+ iVault2.setIsSentinel(p.sentinel, true);
105
+ }
106
+
107
+ iVault2.setOwner(p.finalOwner);
108
+
109
+ emit VaultDeployed(vault, adapter, p.finalOwner, p.finalCurator, p.allocator);
110
+ }
111
+
112
+ function _configureVaultTimelocks(
113
+ address vault,
114
+ uint256 highDuration,
115
+ uint256 midDuration
116
+ ) internal {
117
+ IVaultV2 iVault = IVaultV2(vault);
118
+
119
+ bytes4[] memory selectors = new bytes4[](7);
120
+ selectors[0] = iVault.addAdapter.selector;
121
+ selectors[1] = iVault.increaseAbsoluteCap.selector;
122
+ selectors[2] = iVault.increaseRelativeCap.selector;
123
+ selectors[3] = iVault.setForceDeallocatePenalty.selector;
124
+
125
+ selectors[4] = iVault.abdicate.selector;
126
+ selectors[5] = iVault.removeAdapter.selector;
127
+ selectors[6] = iVault.increaseTimelock.selector;
128
+
129
+ for (uint256 i = 0; i < 4; i++) {
130
+ iVault.submit(abi.encodeCall(iVault.increaseTimelock, (selectors[i], midDuration)));
131
+ iVault.increaseTimelock(selectors[i], midDuration);
132
+ }
133
+
134
+ for (uint256 i = 4; i < selectors.length; i++) {
135
+ iVault.submit(abi.encodeCall(iVault.increaseTimelock, (selectors[i], highDuration)));
136
+ iVault.increaseTimelock(selectors[i], highDuration);
137
+ }
138
+
139
+ emit VaultTimelocksConfigured(vault, highDuration, midDuration);
140
+ }
141
+
142
+ function _configureAdapterTimelocks(
143
+ address adapter,
144
+ uint256 duration
145
+ ) internal {
146
+ IMorphoMarketV1AdapterV2 iAdapter = IMorphoMarketV1AdapterV2(adapter);
147
+
148
+ bytes4[] memory selectors = new bytes4[](4);
149
+ selectors[0] = IMorphoMarketV1AdapterV2.abdicate.selector;
150
+ selectors[1] = IMorphoMarketV1AdapterV2.setSkimRecipient.selector;
151
+ selectors[2] = IMorphoMarketV1AdapterV2.burnShares.selector;
152
+ selectors[3] = IMorphoMarketV1AdapterV2.increaseTimelock.selector;
153
+
154
+ for (uint256 i = 0; i < selectors.length; i++) {
155
+ iAdapter.submit(abi.encodeCall(iAdapter.increaseTimelock, (selectors[i], duration)));
156
+ iAdapter.increaseTimelock(selectors[i], duration);
157
+ }
158
+
159
+ emit AdapterTimelocksConfigured(adapter, duration);
160
+ }
161
+
162
+ function deploy(DeployParams calldata p) external returns (DeployResult memory result) {
163
+ result = _deploy(p);
164
+ }
165
+
166
+ event VaultDeployed(
167
+ address indexed vault,
168
+ address indexed adapter,
169
+ address finalOwner,
170
+ address finalCurator,
171
+ address allocator
172
+ );
173
+
174
+ event VaultTimelocksConfigured(
175
+ address indexed vault,
176
+ uint256 highDuration,
177
+ uint256 midDuration
178
+ );
179
+
180
+ event AdapterTimelocksConfigured(
181
+ address indexed adapter,
182
+ uint256 duration
183
+ );
184
+ }
@@ -1,5 +1,5 @@
1
1
  import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
2
- import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common";
2
+ import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../common";
3
3
  export type MarketParamsStruct = {
4
4
  loanToken: AddressLike;
5
5
  collateralToken: AddressLike;
@@ -63,11 +63,11 @@ export declare namespace MorphoMarketDataFetcher {
63
63
  baseFeed1: AddressLike;
64
64
  baseFeed2: AddressLike;
65
65
  baseVault: AddressLike;
66
- baseVaultConversionSample: AddressLike;
66
+ baseVaultConversionSample: BigNumberish;
67
67
  quoteFeed1: AddressLike;
68
68
  quoteFeed2: AddressLike;
69
69
  quoteVault: AddressLike;
70
- quoteVaultConversionSample: AddressLike;
70
+ quoteVaultConversionSample: BigNumberish;
71
71
  scaleFactor: BigNumberish;
72
72
  currentPrice: BigNumberish;
73
73
  baseFeed: MorphoMarketDataFetcher.MockOracleInfoStruct;
@@ -78,11 +78,11 @@ export declare namespace MorphoMarketDataFetcher {
78
78
  baseFeed1: string,
79
79
  baseFeed2: string,
80
80
  baseVault: string,
81
- baseVaultConversionSample: string,
81
+ baseVaultConversionSample: bigint,
82
82
  quoteFeed1: string,
83
83
  quoteFeed2: string,
84
84
  quoteVault: string,
85
- quoteVaultConversionSample: string,
85
+ quoteVaultConversionSample: bigint,
86
86
  scaleFactor: bigint,
87
87
  currentPrice: bigint,
88
88
  baseFeed: MorphoMarketDataFetcher.MockOracleInfoStructOutput,
@@ -92,11 +92,11 @@ export declare namespace MorphoMarketDataFetcher {
92
92
  baseFeed1: string;
93
93
  baseFeed2: string;
94
94
  baseVault: string;
95
- baseVaultConversionSample: string;
95
+ baseVaultConversionSample: bigint;
96
96
  quoteFeed1: string;
97
97
  quoteFeed2: string;
98
98
  quoteVault: string;
99
- quoteVaultConversionSample: string;
99
+ quoteVaultConversionSample: bigint;
100
100
  scaleFactor: bigint;
101
101
  currentPrice: bigint;
102
102
  baseFeed: MorphoMarketDataFetcher.MockOracleInfoStructOutput;
@@ -125,7 +125,7 @@ export declare namespace MorphoMarketDataFetcher {
125
125
  }
126
126
  export interface MorphoMarketDataFetcherInterface extends Interface {
127
127
  getFunction(nameOrSignature: "getMarketDetails" | "morphoAddress"): FunctionFragment;
128
- encodeFunctionData(functionFragment: "getMarketDetails", values: [BytesLike, AddressLike]): string;
128
+ encodeFunctionData(functionFragment: "getMarketDetails", values: [BytesLike]): string;
129
129
  encodeFunctionData(functionFragment: "morphoAddress", values?: undefined): string;
130
130
  decodeFunctionResult(functionFragment: "getMarketDetails", data: BytesLike): Result;
131
131
  decodeFunctionResult(functionFragment: "morphoAddress", data: BytesLike): Result;
@@ -144,16 +144,14 @@ export interface MorphoMarketDataFetcher extends BaseContract {
144
144
  listeners(eventName?: string): Promise<Array<Listener>>;
145
145
  removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
146
146
  getMarketDetails: TypedContractMethod<[
147
- marketId: BytesLike,
148
- user: AddressLike
147
+ marketId: BytesLike
149
148
  ], [
150
149
  MorphoMarketDataFetcher.MarketDataStructOutput
151
150
  ], "view">;
152
151
  morphoAddress: TypedContractMethod<[], [string], "view">;
153
152
  getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
154
153
  getFunction(nameOrSignature: "getMarketDetails"): TypedContractMethod<[
155
- marketId: BytesLike,
156
- user: AddressLike
154
+ marketId: BytesLike
157
155
  ], [
158
156
  MorphoMarketDataFetcher.MarketDataStructOutput
159
157
  ], "view">;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MorphoMarketDataFetcher.d.ts","sourceRoot":"","sources":["../../../typechain-types/contracts/MorphoMarketDataFetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MorphoMarketDataFetcher.js","sourceRoot":"","sources":["../../../typechain-types/contracts/MorphoMarketDataFetcher.ts"],"names":[],"mappings":""}
@@ -0,0 +1,162 @@
1
+ import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
2
+ import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common";
3
+ export declare namespace MorphoVaultV2DeployHelper {
4
+ type DeployParamsStruct = {
5
+ asset: AddressLike;
6
+ vaultName: string;
7
+ vaultSymbol: string;
8
+ finalOwner: AddressLike;
9
+ finalCurator: AddressLike;
10
+ allocator: AddressLike;
11
+ sentinel: AddressLike;
12
+ vaultTimelockHigh: BigNumberish;
13
+ vaultTimelockMid: BigNumberish;
14
+ adapterTimelock: BigNumberish;
15
+ };
16
+ type DeployParamsStructOutput = [
17
+ asset: string,
18
+ vaultName: string,
19
+ vaultSymbol: string,
20
+ finalOwner: string,
21
+ finalCurator: string,
22
+ allocator: string,
23
+ sentinel: string,
24
+ vaultTimelockHigh: bigint,
25
+ vaultTimelockMid: bigint,
26
+ adapterTimelock: bigint
27
+ ] & {
28
+ asset: string;
29
+ vaultName: string;
30
+ vaultSymbol: string;
31
+ finalOwner: string;
32
+ finalCurator: string;
33
+ allocator: string;
34
+ sentinel: string;
35
+ vaultTimelockHigh: bigint;
36
+ vaultTimelockMid: bigint;
37
+ adapterTimelock: bigint;
38
+ };
39
+ type DeployResultStruct = {
40
+ vault: AddressLike;
41
+ adapter: AddressLike;
42
+ };
43
+ type DeployResultStructOutput = [vault: string, adapter: string] & {
44
+ vault: string;
45
+ adapter: string;
46
+ };
47
+ }
48
+ export interface MorphoVaultV2DeployHelperInterface extends Interface {
49
+ getFunction(nameOrSignature: "adapterV2FactoryAddress" | "deploy" | "morphoRegistryAddress" | "vaultV2FactoryAddress"): FunctionFragment;
50
+ getEvent(nameOrSignatureOrTopic: "AdapterTimelocksConfigured" | "VaultDeployed" | "VaultTimelocksConfigured"): EventFragment;
51
+ encodeFunctionData(functionFragment: "adapterV2FactoryAddress", values?: undefined): string;
52
+ encodeFunctionData(functionFragment: "deploy", values: [MorphoVaultV2DeployHelper.DeployParamsStruct]): string;
53
+ encodeFunctionData(functionFragment: "morphoRegistryAddress", values?: undefined): string;
54
+ encodeFunctionData(functionFragment: "vaultV2FactoryAddress", values?: undefined): string;
55
+ decodeFunctionResult(functionFragment: "adapterV2FactoryAddress", data: BytesLike): Result;
56
+ decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result;
57
+ decodeFunctionResult(functionFragment: "morphoRegistryAddress", data: BytesLike): Result;
58
+ decodeFunctionResult(functionFragment: "vaultV2FactoryAddress", data: BytesLike): Result;
59
+ }
60
+ export declare namespace AdapterTimelocksConfiguredEvent {
61
+ type InputTuple = [adapter: AddressLike, duration: BigNumberish];
62
+ type OutputTuple = [adapter: string, duration: bigint];
63
+ interface OutputObject {
64
+ adapter: string;
65
+ duration: bigint;
66
+ }
67
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
68
+ type Filter = TypedDeferredTopicFilter<Event>;
69
+ type Log = TypedEventLog<Event>;
70
+ type LogDescription = TypedLogDescription<Event>;
71
+ }
72
+ export declare namespace VaultDeployedEvent {
73
+ type InputTuple = [
74
+ vault: AddressLike,
75
+ adapter: AddressLike,
76
+ finalOwner: AddressLike,
77
+ finalCurator: AddressLike,
78
+ allocator: AddressLike
79
+ ];
80
+ type OutputTuple = [
81
+ vault: string,
82
+ adapter: string,
83
+ finalOwner: string,
84
+ finalCurator: string,
85
+ allocator: string
86
+ ];
87
+ interface OutputObject {
88
+ vault: string;
89
+ adapter: string;
90
+ finalOwner: string;
91
+ finalCurator: string;
92
+ allocator: string;
93
+ }
94
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
95
+ type Filter = TypedDeferredTopicFilter<Event>;
96
+ type Log = TypedEventLog<Event>;
97
+ type LogDescription = TypedLogDescription<Event>;
98
+ }
99
+ export declare namespace VaultTimelocksConfiguredEvent {
100
+ type InputTuple = [
101
+ vault: AddressLike,
102
+ highDuration: BigNumberish,
103
+ midDuration: BigNumberish
104
+ ];
105
+ type OutputTuple = [
106
+ vault: string,
107
+ highDuration: bigint,
108
+ midDuration: bigint
109
+ ];
110
+ interface OutputObject {
111
+ vault: string;
112
+ highDuration: bigint;
113
+ midDuration: bigint;
114
+ }
115
+ type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
116
+ type Filter = TypedDeferredTopicFilter<Event>;
117
+ type Log = TypedEventLog<Event>;
118
+ type LogDescription = TypedLogDescription<Event>;
119
+ }
120
+ export interface MorphoVaultV2DeployHelper extends BaseContract {
121
+ connect(runner?: ContractRunner | null): MorphoVaultV2DeployHelper;
122
+ waitForDeployment(): Promise<this>;
123
+ interface: MorphoVaultV2DeployHelperInterface;
124
+ queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
125
+ queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
126
+ on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
127
+ on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
128
+ once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
129
+ once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
130
+ listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
131
+ listeners(eventName?: string): Promise<Array<Listener>>;
132
+ removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
133
+ adapterV2FactoryAddress: TypedContractMethod<[], [string], "view">;
134
+ deploy: TypedContractMethod<[
135
+ p: MorphoVaultV2DeployHelper.DeployParamsStruct
136
+ ], [
137
+ MorphoVaultV2DeployHelper.DeployResultStructOutput
138
+ ], "nonpayable">;
139
+ morphoRegistryAddress: TypedContractMethod<[], [string], "view">;
140
+ vaultV2FactoryAddress: TypedContractMethod<[], [string], "view">;
141
+ getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
142
+ getFunction(nameOrSignature: "adapterV2FactoryAddress"): TypedContractMethod<[], [string], "view">;
143
+ getFunction(nameOrSignature: "deploy"): TypedContractMethod<[
144
+ p: MorphoVaultV2DeployHelper.DeployParamsStruct
145
+ ], [
146
+ MorphoVaultV2DeployHelper.DeployResultStructOutput
147
+ ], "nonpayable">;
148
+ getFunction(nameOrSignature: "morphoRegistryAddress"): TypedContractMethod<[], [string], "view">;
149
+ getFunction(nameOrSignature: "vaultV2FactoryAddress"): TypedContractMethod<[], [string], "view">;
150
+ getEvent(key: "AdapterTimelocksConfigured"): TypedContractEvent<AdapterTimelocksConfiguredEvent.InputTuple, AdapterTimelocksConfiguredEvent.OutputTuple, AdapterTimelocksConfiguredEvent.OutputObject>;
151
+ getEvent(key: "VaultDeployed"): TypedContractEvent<VaultDeployedEvent.InputTuple, VaultDeployedEvent.OutputTuple, VaultDeployedEvent.OutputObject>;
152
+ getEvent(key: "VaultTimelocksConfigured"): TypedContractEvent<VaultTimelocksConfiguredEvent.InputTuple, VaultTimelocksConfiguredEvent.OutputTuple, VaultTimelocksConfiguredEvent.OutputObject>;
153
+ filters: {
154
+ "AdapterTimelocksConfigured(address,uint256)": TypedContractEvent<AdapterTimelocksConfiguredEvent.InputTuple, AdapterTimelocksConfiguredEvent.OutputTuple, AdapterTimelocksConfiguredEvent.OutputObject>;
155
+ AdapterTimelocksConfigured: TypedContractEvent<AdapterTimelocksConfiguredEvent.InputTuple, AdapterTimelocksConfiguredEvent.OutputTuple, AdapterTimelocksConfiguredEvent.OutputObject>;
156
+ "VaultDeployed(address,address,address,address,address)": TypedContractEvent<VaultDeployedEvent.InputTuple, VaultDeployedEvent.OutputTuple, VaultDeployedEvent.OutputObject>;
157
+ VaultDeployed: TypedContractEvent<VaultDeployedEvent.InputTuple, VaultDeployedEvent.OutputTuple, VaultDeployedEvent.OutputObject>;
158
+ "VaultTimelocksConfigured(address,uint256,uint256)": TypedContractEvent<VaultTimelocksConfiguredEvent.InputTuple, VaultTimelocksConfiguredEvent.OutputTuple, VaultTimelocksConfiguredEvent.OutputObject>;
159
+ VaultTimelocksConfigured: TypedContractEvent<VaultTimelocksConfiguredEvent.InputTuple, VaultTimelocksConfiguredEvent.OutputTuple, VaultTimelocksConfiguredEvent.OutputObject>;
160
+ };
161
+ }
162
+ //# sourceMappingURL=MorphoVaultV2DeployHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MorphoVaultV2DeployHelper.d.ts","sourceRoot":"","sources":["../../../typechain-types/contracts/MorphoVaultV2DeployHelper.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IERC20Metadata.js.map
3
+ //# sourceMappingURL=MorphoVaultV2DeployHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MorphoVaultV2DeployHelper.js","sourceRoot":"","sources":["../../../typechain-types/contracts/MorphoVaultV2DeployHelper.ts"],"names":[],"mappings":""}
@@ -1,5 +1,3 @@
1
- import type * as morphoMarketDataFetcherSol from "./MorphoMarketDataFetcher.sol";
2
- export type { morphoMarketDataFetcherSol };
3
1
  import type * as oracleFactorySol from "./OracleFactory.sol";
4
2
  export type { oracleFactorySol };
5
3
  import type * as tokenFactorySol from "./TokenFactory.sol";
@@ -9,4 +7,6 @@ export type { external };
9
7
  import type * as vendor from "./vendor";
10
8
  export type { vendor };
11
9
  export type { DComp } from "./DComp";
10
+ export type { MorphoMarketDataFetcher } from "./MorphoMarketDataFetcher";
11
+ export type { MorphoVaultV2DeployHelper } from "./MorphoVaultV2DeployHelper";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../typechain-types/contracts/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,0BAA0B,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,0BAA0B,EAAE,CAAC;AAC3C,OAAO,KAAK,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,CAAC;AACjC,OAAO,KAAK,KAAK,eAAe,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,MAAM,EAAE,CAAC;AACvB,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../typechain-types/contracts/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,CAAC;AACjC,OAAO,KAAK,KAAK,eAAe,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,MAAM,EAAE,CAAC;AACvB,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}