Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add safe deployment script #12

Merged
merged 4 commits into from
Jul 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .solhintignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules/
test/
script/DeployAccount.s.sol
src/utils/Safe7579UserOperationBuilder.sol
103 changes: 103 additions & 0 deletions broadcast/Deploy.s.sol/84532/run-1718275951.json

Large diffs are not rendered by default.

103 changes: 103 additions & 0 deletions broadcast/Deploy.s.sol/84532/run-latest.json

Large diffs are not rendered by default.

39 changes: 39 additions & 0 deletions broadcast/DeployAccount.s.sol/11155111/run-1716998920.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"transactions": [
{
"hash": "0x7932b9fe6a7e693118cb732000682f0ea5815171f1d90c9ce96392668f840da4",
"transactionType": "CALL",
"contractName": "EntryPoint",
"contractAddress": "0x0000000071727de22e5e9d8baf0edac6f37da032",
"function": "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)",
"arguments": [
"[(0xe0a906aBfC993c9F6f06d88f84012071eeDbbC00, 36289858002883497250370664447681530215120906269012176337949278381808266772480, 0xe89e194e5bd3e5a8d40c4cd9c95dd2c56a8a6ed61688f0b90000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000844fff40e10fbcbd24808ab49f2f7b810a39c8ad9adf780a0d65fa6330d7edf0ac2849f2f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0xd9ed0e8f00000000000000000000000000000000000000000000000000000000000000200000000000000000000000008d70ae4ae3fb2a73e78f57da16e6e1edbe9fd3eb000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000baca6f74a5549368568f387fd989c279f940f1a500000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7c012789aac54b5e33ea5b88064ca1f1172de05000000000000000000000000000000000000000000000000000000000000016415cca638000000000000000000000000baca6f74a5549368568f387fd989c279f940f1a500000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7c012789aac54b5e33ea5b88064ca1f1172de050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000503b54ed1e62365f0c9e4caf1479623b08acbe77000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000001e8480000000000000000000000000001e8480, 2000000, 0x000000000000000000000000001e8480000000000000000000000000001e8480, 0x, 0x000000000000ffffffffffff4141414141414141414141414141414141)]",
"0x0000000000000000000000000000000000000069"
],
"transaction": {
"from": "0x8749313f626b100b822d573c71dfffdaca383032",
"to": "0x0000000071727de22e5e9d8baf0edac6f37da032",
"gas": "0xb806f",
"value": "0x0",
"input": "0x765e827f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e0a906abfc993c9f6f06d88f84012071eedbbc00503b54ed1e62365f0c9e4caf1479623b08acbe7700000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000280000000000000000000000000001e8480000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000001e8480000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000138e89e194e5bd3e5a8d40c4cd9c95dd2c56a8a6ed61688f0b90000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000844fff40e10fbcbd24808ab49f2f7b810a39c8ad9adf780a0d65fa6330d7edf0ac2849f2f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4d9ed0e8f00000000000000000000000000000000000000000000000000000000000000200000000000000000000000008d70ae4ae3fb2a73e78f57da16e6e1edbe9fd3eb000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000baca6f74a5549368568f387fd989c279f940f1a500000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7c012789aac54b5e33ea5b88064ca1f1172de05000000000000000000000000000000000000000000000000000000000000016415cca638000000000000000000000000baca6f74a5549368568f387fd989c279f940f1a500000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7c012789aac54b5e33ea5b88064ca1f1172de050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000503b54ed1e62365f0c9e4caf1479623b08acbe77000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000ffffffffffff4141414141414141414141414141414141000000",
"nonce": "0x48",
"chainId": "0xaa36a7"
},
"additionalContracts": [
{
"transactionType": "CREATE2",
"address": "0xe0a906abfc993c9f6f06d88f84012071eedbbc00",
"initCode": "0x6080604052348015600f57600080fd5b5060405161016b38038061016b833981016040819052602c9160b4565b6001600160a01b03811660905760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039290921691909117905560e2565b60006020828403121560c557600080fd5b81516001600160a01b038116811460db57600080fd5b9392505050565b607b806100f06000396000f3fe6080604052600080546001600160a01b0316632cf35bc960e11b823501602757808252602082f35b3682833781823684845af490503d82833e806040573d82fd5b503d81f3fea2646970667358221220384140740989472bb37a5dc002cd4d0f267ec130ea5d9557883ec30fe97f138864736f6c634300081900330000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c"
}
],
"isFixedGasLimit": false
}
],
"receipts": [],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1716998920,
"chain": 11155111,
"commit": "9365a25"
}
39 changes: 39 additions & 0 deletions broadcast/DeployAccount.s.sol/11155111/run-1716999054.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"transactions": [
{
"hash": "0x9c9ed9514e893730fceabf3120a31fe3ca747c2daf389d4138727df6d648191a",
"transactionType": "CALL",
"contractName": "EntryPoint",
"contractAddress": "0x0000000071727de22e5e9d8baf0edac6f37da032",
"function": "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)",
"arguments": [
"[(0xe0a906aBfC993c9F6f06d88f84012071eeDbbC00, 36289858002883497250370664447681530215120906269012176337949278381808266772480, 0xe89e194e5bd3e5a8d40c4cd9c95dd2c56a8a6ed61688f0b90000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000844fff40e10fbcbd24808ab49f2f7b810a39c8ad9adf780a0d65fa6330d7edf0ac2849f2f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0xd9ed0e8f00000000000000000000000000000000000000000000000000000000000000200000000000000000000000008d70ae4ae3fb2a73e78f57da16e6e1edbe9fd3eb000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000baca6f74a5549368568f387fd989c279f940f1a500000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7c012789aac54b5e33ea5b88064ca1f1172de05000000000000000000000000000000000000000000000000000000000000016415cca638000000000000000000000000baca6f74a5549368568f387fd989c279f940f1a500000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7c012789aac54b5e33ea5b88064ca1f1172de050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000503b54ed1e62365f0c9e4caf1479623b08acbe77000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, 0x000000000000000000000000001e8480000000000000000000000000001e8480, 2000000, 0x000000000000000000000000001e8480000000000000000000000000001e8480, 0x, 0x000000000000ffffffffffff4141414141414141414141414141414141)]",
"0x0000000000000000000000000000000000000069"
],
"transaction": {
"from": "0x8749313f626b100b822d573c71dfffdaca383032",
"to": "0x0000000071727de22e5e9d8baf0edac6f37da032",
"gas": "0xb806f",
"value": "0x0",
"input": "0x765e827f0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e0a906abfc993c9f6f06d88f84012071eedbbc00503b54ed1e62365f0c9e4caf1479623b08acbe7700000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000280000000000000000000000000001e8480000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000001e8480000000000000000000000000001e8480000000000000000000000000001e8480000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000138e89e194e5bd3e5a8d40c4cd9c95dd2c56a8a6ed61688f0b90000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000844fff40e10fbcbd24808ab49f2f7b810a39c8ad9adf780a0d65fa6330d7edf0ac2849f2f700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c4d9ed0e8f00000000000000000000000000000000000000000000000000000000000000200000000000000000000000008d70ae4ae3fb2a73e78f57da16e6e1edbe9fd3eb000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c0000000000000000000000000000000000000000000000000000000000000140000000000000000000000000baca6f74a5549368568f387fd989c279f940f1a500000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7c012789aac54b5e33ea5b88064ca1f1172de05000000000000000000000000000000000000000000000000000000000000016415cca638000000000000000000000000baca6f74a5549368568f387fd989c279f940f1a500000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f7c012789aac54b5e33ea5b88064ca1f1172de050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000503b54ed1e62365f0c9e4caf1479623b08acbe77000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001d000000000000ffffffffffff4141414141414141414141414141414141000000",
"nonce": "0x49",
"chainId": "0xaa36a7"
},
"additionalContracts": [
{
"transactionType": "CREATE2",
"address": "0xe0a906abfc993c9f6f06d88f84012071eedbbc00",
"initCode": "0x6080604052348015600f57600080fd5b5060405161016b38038061016b833981016040819052602c9160b4565b6001600160a01b03811660905760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b600080546001600160a01b0319166001600160a01b039290921691909117905560e2565b60006020828403121560c557600080fd5b81516001600160a01b038116811460db57600080fd5b9392505050565b607b806100f06000396000f3fe6080604052600080546001600160a01b0316632cf35bc960e11b823501602757808252602082f35b3682833781823684845af490503d82833e806040573d82fd5b503d81f3fea2646970667358221220384140740989472bb37a5dc002cd4d0f267ec130ea5d9557883ec30fe97f138864736f6c634300081900330000000000000000000000001ec6a1e000dd440995667e48cb880785c7d6831c"
}
],
"isFixedGasLimit": false
}
],
"receipts": [],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1716999054,
"chain": 11155111,
"commit": "9365a25"
}
Loading
Loading