Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
79c9fc4
Add mip-x34
anajuliabit Oct 30, 2025
8a0dbb9
update json and md
anajuliabit Oct 30, 2025
d90c822
checkpoint
anajuliabit Oct 30, 2025
572a932
return leftover
anajuliabit Oct 30, 2025
e04204c
compile
anajuliabit Oct 30, 2025
fa99151
add F-GLMR-DEVGRANT
anajuliabit Oct 30, 2025
c8130af
add refund checks
anajuliabit Oct 31, 2025
b280877
fix validation
anajuliabit Oct 31, 2025
577783a
temporarily comment out event emission checks
anajuliabit Nov 1, 2025
9c6db83
fix post proposal check
anajuliabit Nov 1, 2025
f8a0603
remove b50 from mips.json
anajuliabit Nov 2, 2025
07b6762
add mip id
anajuliabit Nov 2, 2025
747bee5
decrease ci verbsosity
anajuliabit Nov 2, 2025
9e61745
setup mips permissions to chainlink oracle proxy
anajuliabit Nov 2, 2025
8de01ef
fix failing test
anajuliabit Nov 2, 2025
c48937d
increase assertApproxEqRel
anajuliabit Nov 2, 2025
44acfee
warp back in PostProposalCheck
anajuliabit Nov 3, 2025
c183b16
Merge branch 'main' into mip-x34
anajuliabit Nov 4, 2025
a735e36
increase verbosity
anajuliabit Nov 4, 2025
5659963
fix testBorrowSucceeds
anajuliabit Nov 4, 2025
7b69e5e
mock virtual balance
anajuliabit Nov 5, 2025
5d87c68
fix integration tests by increasing borrow cap
anajuliabit Nov 5, 2025
a691890
fix ensureSufficientBorrowCap to suport interest accrual
anajuliabit Nov 6, 2025
20f0fc5
fix live proposal check
anajuliabit Nov 6, 2025
23e568a
clean up rewards distribution
anajuliabit Nov 6, 2025
e7bc55f
fix BridgeValidationHookIntegration
anajuliabit Nov 6, 2025
e29864b
decrease verbosity
anajuliabit Nov 7, 2025
fab3778
replace expectEmit with log verification
anajuliabit Nov 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions chains/8453.json
Original file line number Diff line number Diff line change
Expand Up @@ -1213,5 +1213,10 @@
"addr": "0xc842d95b9C35bf97842110408A8C501645Fb1722",
"isContract": true,
"name": "MORPHO_CHAINLINK_stkWELL_USD_ORACLE"
},
{
"addr": "0x74Cbb1E8B68dDD13B28684ECA202a351afD45EAa",
"isContract": true,
"name": "F-GLMR-DEVGRANT"
}
]
8 changes: 4 additions & 4 deletions proposals/hooks/BridgeValidationHook.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ import {ProposalAction} from "@proposals/proposalTypes/IProposal.sol";

/// @title BridgeValidationHook
/// @notice Hook to validate bridgeToRecipient calls in proposals
/// @dev Ensures that the native value sent with bridge calls is between 5x and 10x
/// @dev Ensures that the native value sent with bridge calls is between 4x and 10x
/// the actual bridge cost returned by router.bridgeCost(destinationChain)
abstract contract BridgeValidationHook {
/// @notice Function selector for bridgeToRecipient(address,uint256,uint16)
bytes4 private constant BRIDGE_TO_RECIPIENT_SELECTOR =
xWELLRouter.bridgeToRecipient.selector;

/// @notice Minimum multiplier for bridge cost (5x)
uint256 private constant MIN_BRIDGE_COST_MULTIPLIER = 5;
/// @notice Minimum multiplier for bridge cost (4x)
uint256 private constant MIN_BRIDGE_COST_MULTIPLIER = 4;

/// @notice Maximum multiplier for bridge cost (10x)
uint256 private constant MAX_BRIDGE_COST_MULTIPLIER = 10;
Expand Down Expand Up @@ -51,7 +51,7 @@ abstract contract BridgeValidationHook {
// Get the actual bridge cost from the router with validation
uint256 bridgeCost = _getBridgeCost(router, wormholeChainId);

// Validate that action value is between 5x and 10x the bridge cost
// Validate that action value is between 4x and 10x the bridge cost
uint256 minValue = bridgeCost * MIN_BRIDGE_COST_MULTIPLIER;
uint256 maxValue = bridgeCost * MAX_BRIDGE_COST_MULTIPLIER;

Expand Down
5 changes: 4 additions & 1 deletion proposals/mips/mip-b45/b45.sol
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,10 @@ contract mipb45 is HybridProposal, Configs {
function beforeSimulationHook(Addresses addresses) public override {
vm.selectFork(MOONBEAM_FORK_ID);
// mock relayer so we can simulate bridging well
WormholeRelayerAdapter wormholeRelayer = new WormholeRelayerAdapter();
WormholeRelayerAdapter wormholeRelayer = new WormholeRelayerAdapter(
new uint16[](0),
new uint256[](0)
);
vm.makePersistent(address(wormholeRelayer));
vm.label(address(wormholeRelayer), "MockWormholeRelayer");

Expand Down
5 changes: 4 additions & 1 deletion proposals/mips/mip-b46/b46.sol
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,10 @@ contract mipb46 is HybridProposal, Configs {
function beforeSimulationHook(Addresses addresses) public override {
vm.selectFork(MOONBEAM_FORK_ID);
// mock relayer so we can simulate bridging well
WormholeRelayerAdapter wormholeRelayer = new WormholeRelayerAdapter();
WormholeRelayerAdapter wormholeRelayer = new WormholeRelayerAdapter(
new uint16[](0),
new uint256[](0)
);
vm.makePersistent(address(wormholeRelayer));
vm.label(address(wormholeRelayer), "MockWormholeRelayer");

Expand Down
5 changes: 4 additions & 1 deletion proposals/mips/mip-b50/mip-b50.sol
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,10 @@ contract mipb50 is HybridProposal, Configs {
function beforeSimulationHook(Addresses addresses) public override {
vm.selectFork(MOONBEAM_FORK_ID);
// mock relayer so we can simulate bridging well
WormholeRelayerAdapter wormholeRelayer = new WormholeRelayerAdapter();
WormholeRelayerAdapter wormholeRelayer = new WormholeRelayerAdapter(
new uint16[](0),
new uint256[](0)
);
vm.makePersistent(address(wormholeRelayer));
vm.label(address(wormholeRelayer), "MockWormholeRelayer");

Expand Down
Loading
Loading