Skip to content

Commit

Permalink
🚀 Add new PaymasterStake script for staking
Browse files Browse the repository at this point in the history
- Add new script for easy staking of funds into
Paymaster contracts with configurable delay

This operation is required because the paymaster
access it own storage
  • Loading branch information
qd-qd committed Apr 15, 2024
1 parent b6471ee commit 0ffa52a
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions script/Paymaster/12_PaymasterStake.s.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// SPDX-License-Identifier: APACHE-2.0
pragma solidity >=0.8.19 <0.9.0;

import { Paymaster } from "src/v1/Paymaster.sol";
import { BaseScript } from "../Base.s.sol";

// 1 day -- Alchemy's recommended unstake delay
uint256 constant DEFAULT_UNSTAKE_DELAY_SEC = 60 * 60 * 24;

/// @title PaymasterStake
/// @notice Stake some funds for the paymaster into the entrypoint
contract PaymasterStake is BaseScript {
function run() public payable broadcast {
address paymasterAddress = vm.envAddress("PAYMASTER");
uint256 value = vm.envUint("AMOUNT");
uint32 unstakeDelaySec = uint32(vm.envOr("UNSTAKE_DELAY_SEC", DEFAULT_UNSTAKE_DELAY_SEC));

Paymaster paymaster = Paymaster(paymasterAddress);

// stake some funds for the paymaster into the entrypoint
paymaster.addStake{ value: value }(unstakeDelaySec);
}
}

0 comments on commit 0ffa52a

Please sign in to comment.