@@ -3,28 +3,30 @@ pragma solidity ^0.8.28;
33
44import { EnsoReceiver } from "../src/delegate/EnsoReceiver.sol " ;
55import { ERC4337CloneFactory } from "../src/factory/ERC4337CloneFactory.sol " ;
6+ import { ChainOwner } from "../src/libraries/ChainOwner.sol " ;
67import { SignaturePaymaster } from "../src/paymaster/SignaturePaymaster.sol " ;
78import { IEntryPoint } from "account-abstraction-v7/interfaces/IEntryPoint.sol " ;
89import { Script } from "forge-std/Script.sol " ;
910
1011contract EnsoReceiverAndPaymasterDeployer is Script {
1112 address ENTRY_POINT_V7 = 0x0000000071727De22E5E9d8BAf0edAc6f37da032 ;
12-
13- address OWNER = 0x826e0BB2276271eFdF2a500597f37b94f6c153bA ;
14- address BACKEND_SIGNER = 0xFE503EE14863F6aCEE10BCdc66aC5e2301b3A946 ;
13+ address BACKEND_SIGNER = 0x89B3c70f6dF4Fc6Ba0613de208c9da5132b8ecc2 ;
1514
1615 function run ()
1716 public
1817 returns (EnsoReceiver implementation , ERC4337CloneFactory factory , SignaturePaymaster paymaster )
1918 {
2019 vm.startBroadcast ();
2120
21+ address owner = ChainOwner.ownerFor (block .chainid );
22+ address deployer = msg .sender ;
2223 address entryPoint = ENTRY_POINT_V7;
2324 implementation = new EnsoReceiver { salt: "EnsoReceiver " }();
2425 implementation.initialize (address (0 ), address (0 ), address (0 )); // brick the implementation
2526 factory = new ERC4337CloneFactory { salt: "ERC4337CloneFactory " }(address (implementation), entryPoint);
26- paymaster = new SignaturePaymaster { salt: "SignaturePaymaster " }(IEntryPoint (entryPoint), OWNER );
27+ paymaster = new SignaturePaymaster { salt: "SignaturePaymaster " }(IEntryPoint (entryPoint), deployer );
2728 paymaster.setSigner (BACKEND_SIGNER, true );
29+ paymaster.transferOwnership (owner);
2830
2931 vm.stopBroadcast ();
3032 }
0 commit comments