morpho-contracts-helper 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/contracts/external/morpho/interfaces/IERC2612.sol +10 -0
  2. package/contracts/external/morpho/interfaces/IVaultV2.sol +106 -0
  3. package/contracts/external/morpho/interfaces/IVaultV2Factory.sol +15 -0
  4. package/dist/typechain-types/contracts/external/morpho/interfaces/IERC2612.d.ts +62 -0
  5. package/dist/typechain-types/contracts/external/morpho/interfaces/IERC2612.d.ts.map +1 -0
  6. package/dist/typechain-types/contracts/external/morpho/interfaces/IERC2612.js +3 -0
  7. package/dist/typechain-types/contracts/external/morpho/interfaces/IERC2612.js.map +1 -0
  8. package/dist/typechain-types/contracts/external/morpho/interfaces/IVaultV2.d.ts +598 -0
  9. package/dist/typechain-types/contracts/external/morpho/interfaces/IVaultV2.d.ts.map +1 -0
  10. package/dist/typechain-types/contracts/external/morpho/interfaces/IVaultV2.js +3 -0
  11. package/dist/typechain-types/contracts/external/morpho/interfaces/IVaultV2.js.map +1 -0
  12. package/dist/typechain-types/contracts/external/morpho/interfaces/IVaultV2Factory.d.ts +87 -0
  13. package/dist/typechain-types/contracts/external/morpho/interfaces/IVaultV2Factory.d.ts.map +1 -0
  14. package/dist/typechain-types/contracts/external/morpho/interfaces/IVaultV2Factory.js +3 -0
  15. package/dist/typechain-types/contracts/external/morpho/interfaces/IVaultV2Factory.js.map +1 -0
  16. package/dist/typechain-types/contracts/external/morpho/interfaces/index.d.ts +3 -0
  17. package/dist/typechain-types/contracts/external/morpho/interfaces/index.d.ts.map +1 -1
  18. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IERC2612__factory.d.ts +66 -0
  19. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IERC2612__factory.d.ts.map +1 -0
  20. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IERC2612__factory.js +96 -0
  21. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IERC2612__factory.js.map +1 -0
  22. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IVaultV2Factory__factory.d.ts +91 -0
  23. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IVaultV2Factory__factory.d.ts.map +1 -0
  24. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IVaultV2Factory__factory.js +129 -0
  25. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IVaultV2Factory__factory.js.map +1 -0
  26. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IVaultV2__factory.d.ts +906 -0
  27. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IVaultV2__factory.d.ts.map +1 -0
  28. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IVaultV2__factory.js +1197 -0
  29. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/IVaultV2__factory.js.map +1 -0
  30. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/index.d.ts +3 -0
  31. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/index.d.ts.map +1 -1
  32. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/index.js +7 -1
  33. package/dist/typechain-types/factories/contracts/external/morpho/interfaces/index.js.map +1 -1
  34. package/dist/typechain-types/index.d.ts +6 -0
  35. package/dist/typechain-types/index.d.ts.map +1 -1
  36. package/dist/typechain-types/index.js +7 -1
  37. package/dist/typechain-types/index.js.map +1 -1
  38. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ // SPDX-License-Identifier: GPL-2.0-or-later
2
+ // Copyright (c) 2025 Morpho Association
3
+ pragma solidity >=0.5.0;
4
+
5
+ interface IERC2612 {
6
+ function permit(address owner, address spender, uint256 shares, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
7
+ external;
8
+ function nonces(address owner) external view returns (uint256);
9
+ function DOMAIN_SEPARATOR() external view returns (bytes32);
10
+ }
@@ -0,0 +1,106 @@
1
+ // SPDX-License-Identifier: GPL-2.0-or-later
2
+ // Copyright (c) 2025 Morpho Association
3
+ pragma solidity >=0.5.0;
4
+
5
+ import {IERC4626} from "./IERC4626.sol";
6
+ import {IERC2612} from "./IERC2612.sol";
7
+
8
+ struct Caps {
9
+ uint256 allocation;
10
+ uint128 absoluteCap;
11
+ uint128 relativeCap;
12
+ }
13
+
14
+ interface IVaultV2 is IERC4626, IERC2612 {
15
+ // State variables
16
+ function virtualShares() external view returns (uint256);
17
+ function owner() external view returns (address);
18
+ function curator() external view returns (address);
19
+ function receiveSharesGate() external view returns (address);
20
+ function sendSharesGate() external view returns (address);
21
+ function receiveAssetsGate() external view returns (address);
22
+ function sendAssetsGate() external view returns (address);
23
+ function adapterRegistry() external view returns (address);
24
+ function isSentinel(address account) external view returns (bool);
25
+ function isAllocator(address account) external view returns (bool);
26
+ function firstTotalAssets() external view returns (uint256);
27
+ function _totalAssets() external view returns (uint128);
28
+ function lastUpdate() external view returns (uint64);
29
+ function maxRate() external view returns (uint64);
30
+ function adapters(uint256 index) external view returns (address);
31
+ function adaptersLength() external view returns (uint256);
32
+ function isAdapter(address account) external view returns (bool);
33
+ function allocation(bytes32 id) external view returns (uint256);
34
+ function absoluteCap(bytes32 id) external view returns (uint256);
35
+ function relativeCap(bytes32 id) external view returns (uint256);
36
+ function forceDeallocatePenalty(address adapter) external view returns (uint256);
37
+ function liquidityAdapter() external view returns (address);
38
+ function liquidityData() external view returns (bytes memory);
39
+ function timelock(bytes4 selector) external view returns (uint256);
40
+ function abdicated(bytes4 selector) external view returns (bool);
41
+ function executableAt(bytes memory data) external view returns (uint256);
42
+ function performanceFee() external view returns (uint96);
43
+ function performanceFeeRecipient() external view returns (address);
44
+ function managementFee() external view returns (uint96);
45
+ function managementFeeRecipient() external view returns (address);
46
+
47
+ // Gating
48
+ function canSendShares(address account) external view returns (bool);
49
+ function canReceiveShares(address account) external view returns (bool);
50
+ function canSendAssets(address account) external view returns (bool);
51
+ function canReceiveAssets(address account) external view returns (bool);
52
+
53
+ // Multicall
54
+ function multicall(bytes[] memory data) external;
55
+
56
+ // Owner functions
57
+ function setOwner(address newOwner) external;
58
+ function setCurator(address newCurator) external;
59
+ function setIsSentinel(address account, bool isSentinel) external;
60
+ function setName(string memory newName) external;
61
+ function setSymbol(string memory newSymbol) external;
62
+
63
+ // Timelocks for curator functions
64
+ function submit(bytes memory data) external;
65
+ function revoke(bytes memory data) external;
66
+
67
+ // Curator functions
68
+ function setIsAllocator(address account, bool newIsAllocator) external;
69
+ function setReceiveSharesGate(address newReceiveSharesGate) external;
70
+ function setSendSharesGate(address newSendSharesGate) external;
71
+ function setReceiveAssetsGate(address newReceiveAssetsGate) external;
72
+ function setSendAssetsGate(address newSendAssetsGate) external;
73
+ function setAdapterRegistry(address newAdapterRegistry) external;
74
+ function addAdapter(address account) external;
75
+ function removeAdapter(address account) external;
76
+ function increaseTimelock(bytes4 selector, uint256 newDuration) external;
77
+ function decreaseTimelock(bytes4 selector, uint256 newDuration) external;
78
+ function abdicate(bytes4 selector) external;
79
+ function setPerformanceFee(uint256 newPerformanceFee) external;
80
+ function setManagementFee(uint256 newManagementFee) external;
81
+ function setPerformanceFeeRecipient(address newPerformanceFeeRecipient) external;
82
+ function setManagementFeeRecipient(address newManagementFeeRecipient) external;
83
+ function increaseAbsoluteCap(bytes memory idData, uint256 newAbsoluteCap) external;
84
+ function decreaseAbsoluteCap(bytes memory idData, uint256 newAbsoluteCap) external;
85
+ function increaseRelativeCap(bytes memory idData, uint256 newRelativeCap) external;
86
+ function decreaseRelativeCap(bytes memory idData, uint256 newRelativeCap) external;
87
+ function setMaxRate(uint256 newMaxRate) external;
88
+ function setForceDeallocatePenalty(address adapter, uint256 newForceDeallocatePenalty) external;
89
+
90
+ // Allocator functions
91
+ function allocate(address adapter, bytes memory data, uint256 assets) external;
92
+ function deallocate(address adapter, bytes memory data, uint256 assets) external;
93
+ function setLiquidityAdapterAndData(address newLiquidityAdapter, bytes memory newLiquidityData) external;
94
+
95
+ // Exchange rate
96
+ function accrueInterest() external;
97
+ function accrueInterestView()
98
+ external
99
+ view
100
+ returns (uint256 newTotalAssets, uint256 performanceFeeShares, uint256 managementFeeShares);
101
+
102
+ // Force deallocate
103
+ function forceDeallocate(address adapter, bytes memory data, uint256 assets, address onBehalf)
104
+ external
105
+ returns (uint256 penaltyShares);
106
+ }
@@ -0,0 +1,15 @@
1
+ // SPDX-License-Identifier: GPL-2.0-or-later
2
+ // Copyright (c) 2025 Morpho Association
3
+ pragma solidity >=0.5.0;
4
+
5
+ interface IVaultV2Factory {
6
+ /* EVENTS */
7
+
8
+ event CreateVaultV2(address indexed owner, address indexed asset, bytes32 salt, address indexed newVaultV2);
9
+
10
+ /* FUNCTIONS */
11
+
12
+ function isVaultV2(address account) external view returns (bool);
13
+ function vaultV2(address owner, address asset, bytes32 salt) external view returns (address);
14
+ function createVaultV2(address owner, address asset, bytes32 salt) external returns (address newVaultV2);
15
+ }
@@ -0,0 +1,62 @@
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";
3
+ export interface IERC2612Interface extends Interface {
4
+ getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "nonces" | "permit"): FunctionFragment;
5
+ encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string;
6
+ encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string;
7
+ encodeFunctionData(functionFragment: "permit", values: [
8
+ AddressLike,
9
+ AddressLike,
10
+ BigNumberish,
11
+ BigNumberish,
12
+ BigNumberish,
13
+ BytesLike,
14
+ BytesLike
15
+ ]): string;
16
+ decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result;
17
+ decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result;
18
+ decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result;
19
+ }
20
+ export interface IERC2612 extends BaseContract {
21
+ connect(runner?: ContractRunner | null): IERC2612;
22
+ waitForDeployment(): Promise<this>;
23
+ interface: IERC2612Interface;
24
+ queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
25
+ queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
26
+ on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
27
+ on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
28
+ once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
29
+ once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
30
+ listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
31
+ listeners(eventName?: string): Promise<Array<Listener>>;
32
+ removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
33
+ DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">;
34
+ nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">;
35
+ permit: TypedContractMethod<[
36
+ owner: AddressLike,
37
+ spender: AddressLike,
38
+ shares: BigNumberish,
39
+ deadline: BigNumberish,
40
+ v: BigNumberish,
41
+ r: BytesLike,
42
+ s: BytesLike
43
+ ], [
44
+ void
45
+ ], "nonpayable">;
46
+ getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
47
+ getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[], [string], "view">;
48
+ getFunction(nameOrSignature: "nonces"): TypedContractMethod<[owner: AddressLike], [bigint], "view">;
49
+ getFunction(nameOrSignature: "permit"): TypedContractMethod<[
50
+ owner: AddressLike,
51
+ spender: AddressLike,
52
+ shares: BigNumberish,
53
+ deadline: BigNumberish,
54
+ v: BigNumberish,
55
+ r: BytesLike,
56
+ s: BytesLike
57
+ ], [
58
+ void
59
+ ], "nonpayable">;
60
+ filters: {};
61
+ }
62
+ //# sourceMappingURL=IERC2612.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IERC2612.d.ts","sourceRoot":"","sources":["../../../../../../typechain-types/contracts/external/morpho/interfaces/IERC2612.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IERC2612.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IERC2612.js","sourceRoot":"","sources":["../../../../../../typechain-types/contracts/external/morpho/interfaces/IERC2612.ts"],"names":[],"mappings":""}