Skip to content
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
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,11 @@ Both options offer a subpar UX for your users. Alternatively, you could generate

## Deployments

```
TBA
```
All contracts are deployed deterministically with the following addresses.

| Contract | Address |
| ------------------------ | -------------------------------------------- |
| ForwardingAddressFactory | `0x6f6Ec2052C7e25953F88DbA527c88897888Ed022` |

## Usage

Expand All @@ -40,3 +42,9 @@ $ forge build
```shell
$ forge test
```

### Deploy

```shell
source .env && forge script script/DeployForwardingAddressFactory.s.sol --rpc-url $ETH_RPC_URL --ledger --verify --broadcast
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"transactions": [
{
"hash": "0x8736e5cd2f366e78537096ea26e9c4806b44decc8e55cd81a3bb15591d079dc6",
"transactionType": "CREATE2",
"contractName": "ForwardingAddressFactory",
"contractAddress": "0x6f6ec2052c7e25953f88dba527c88897888ed022",
"function": null,
"arguments": null,
"transaction": {
"from": "0xf6731de143cd04d7e9aebe3b1b00adbbd4710249",
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"gas": "0x10c24c",
"value": "0x0",
"input": "0x000000000000000000000000000000000000000000000000000000000000000060a0604052348015600e575f5ffd5b506040516019906042565b604051809103905ff0801580156031573d5f5f3e3d5ffd5b506001600160a01b0316608052604f565b6105c8806106cb83390190565b6080516106576100745f395f818160530152818161010701526101af01526106575ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c80635c60da1b1461004e5780637ac4ed641461009e5780638f139e92146100b1578063d2b1c0d3146100c4575b5f5ffd5b6100757f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100756100ac366004610520565b6100d9565b6100756100bf366004610520565b61014f565b6100d76100d236600461054a565b610275565b005b6040805173ffffffffffffffffffffffffffffffffffffffff841660208201529081018290525f90610146907f000000000000000000000000000000000000000000000000000000000000000090606001604051602081830303815290604052805190602001203061036c565b90505b92915050565b5f5f61015b84846100d9565b905073ffffffffffffffffffffffffffffffffffffffff81163b801561018357509050610149565b6040805173ffffffffffffffffffffffffffffffffffffffff871660208201529081018590526101ed907f000000000000000000000000000000000000000000000000000000000000000090606001604051602081830303815290604052805190602001206103c5565b6040517fc4d66de800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301529194509084169063c4d66de8906024015f604051808303815f87803b158015610257575f5ffd5b505af1158015610269573d5f5f3e3d5ffd5b50505050505092915050565b61027d6103d1565b5f610288858561014f565b90505f5b8281101561035c578173ffffffffffffffffffffffffffffffffffffffff166301681a628585848181106102c2576102c26105d2565b90506020020160208101906102d791906105ff565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff90911660048201526024015f604051808303815f87803b15801561033a575f5ffd5b505af115801561034c573d5f5f3e3d5ffd5b50506001909201915061028c9050565b5050610366610459565b50505050565b5f5f6103af855f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c2090505f602152919050565b90506103bc818585610483565b95945050505050565b5f6101465f84846104a2565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c1561042a576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b906104f5565b565b6104575f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00610451565b5f60ff5f5350603592835260601b60015260155260555f908120915290565b5f6c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d735f52816035600c86f59050806104ea5763301164255f526004601cfd5b5f6021529392505050565b80825d5050565b73ffffffffffffffffffffffffffffffffffffffff8116811461051d575f5ffd5b50565b5f5f60408385031215610531575f5ffd5b823561053c816104fc565b946020939093013593505050565b5f5f5f5f6060858703121561055d575f5ffd5b8435610568816104fc565b935060208501359250604085013567ffffffffffffffff81111561058a575f5ffd5b8501601f8101871361059a575f5ffd5b803567ffffffffffffffff8111156105b0575f5ffd5b8760208260051b84010111156105c4575f5ffd5b949793965060200194505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561060f575f5ffd5b813561061a816104fc565b939250505056fea2646970667358221220997c5f94b235f3432bfe76365c65231104bde93c486e092c8bb3091451bfc79c64736f6c634300081c00336080604052348015600e575f5ffd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b61053f806100895f395ff3fe608060405260043610610036575f3560e01c806301681a6214610041578063c4d66de814610062578063f7260d3e14610081575f5ffd5b3661003d57005b5f5ffd5b34801561004c575f5ffd5b5061006061005b3660046104b1565b6100d5565b005b34801561006d575f5ffd5b5061006061007c3660046104b1565b61030d565b34801561008c575f5ffd5b505f546100ac9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100dd6103d7565b73ffffffffffffffffffffffffffffffffffffffff81166101d5575f805460405173ffffffffffffffffffffffffffffffffffffffff9091169047908381818185875af1925050503d805f811461014f576040519150601f19603f3d011682016040523d82523d5f602084013e610154565b606091505b50505f5490915073ffffffffffffffffffffffffffffffffffffffff1682826101cd576040517f4f676efb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440160405180910390fd5b505050610302565b5f546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa15801561024b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026f91906104d3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303815f875af11580156102dc573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030091906104ea565b505b61030a61045f565b50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561035e5760018160011c14303b106103555763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156103d3576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c15610430576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045d60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b90610489565b565b61045d5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00610457565b80825d5050565b73ffffffffffffffffffffffffffffffffffffffff8116811461030a575f5ffd5b5f602082840312156104c1575f5ffd5b81356104cc81610490565b9392505050565b5f602082840312156104e3575f5ffd5b5051919050565b5f602082840312156104fa575f5ffd5b815180151581146104cc575f5ffdfea26469706673582212204416e4ee9328b34ad035a1243e9d230b3bc2f5a28fd54e7719f0a7f399b3a41164736f6c634300081c0033",
"nonce": "0x4c",
"chainId": "0x2105"
},
"additionalContracts": [
{
"transactionType": "CREATE",
"address": "0x6a317afd73aa17cf634dc1bcb0b267ddff9be32f",
"initCode": "0x6080604052348015600e575f5ffd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b61053f806100895f395ff3fe608060405260043610610036575f3560e01c806301681a6214610041578063c4d66de814610062578063f7260d3e14610081575f5ffd5b3661003d57005b5f5ffd5b34801561004c575f5ffd5b5061006061005b3660046104b1565b6100d5565b005b34801561006d575f5ffd5b5061006061007c3660046104b1565b61030d565b34801561008c575f5ffd5b505f546100ac9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100dd6103d7565b73ffffffffffffffffffffffffffffffffffffffff81166101d5575f805460405173ffffffffffffffffffffffffffffffffffffffff9091169047908381818185875af1925050503d805f811461014f576040519150601f19603f3d011682016040523d82523d5f602084013e610154565b606091505b50505f5490915073ffffffffffffffffffffffffffffffffffffffff1682826101cd576040517f4f676efb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440160405180910390fd5b505050610302565b5f546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381169263a9059cbb9291169083906370a0823190602401602060405180830381865afa15801561024b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026f91906104d3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303815f875af11580156102dc573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030091906104ea565b505b61030a61045f565b50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561035e5760018160011c14303b106103555763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156103d3576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b5050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c15610430576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61045d60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b90610489565b565b61045d5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00610457565b80825d5050565b73ffffffffffffffffffffffffffffffffffffffff8116811461030a575f5ffd5b5f602082840312156104c1575f5ffd5b81356104cc81610490565b9392505050565b5f602082840312156104e3575f5ffd5b5051919050565b5f602082840312156104fa575f5ffd5b815180151581146104cc575f5ffdfea26469706673582212204416e4ee9328b34ad035a1243e9d230b3bc2f5a28fd54e7719f0a7f399b3a41164736f6c634300081c0033"
}
],
"isFixedGasLimit": false
}
],
"receipts": [
{
"status": "0x1",
"cumulativeGasUsed": "0x2bf3d42",
"logs": [
{
"address": "0x6a317afd73aa17cf634dc1bcb0b267ddff9be32f",
"topics": [
"0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"
],
"data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff",
"blockHash": "0x7792987bfa0b3722b740fc05144127dc6e4428515172d87f2fed92dc643702c0",
"blockNumber": "0x218039d",
"blockTimestamp": "0x68ba641d",
"transactionHash": "0x8736e5cd2f366e78537096ea26e9c4806b44decc8e55cd81a3bb15591d079dc6",
"transactionIndex": "0xff",
"logIndex": "0x418",
"removed": false
}
],
"logsBloom": "0x00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"type": "0x2",
"transactionHash": "0x8736e5cd2f366e78537096ea26e9c4806b44decc8e55cd81a3bb15591d079dc6",
"transactionIndex": "0xff",
"blockHash": "0x7792987bfa0b3722b740fc05144127dc6e4428515172d87f2fed92dc643702c0",
"blockNumber": "0x218039d",
"gasUsed": "0xb758a",
"effectiveGasPrice": "0x24d7a",
"from": "0xf6731de143cd04d7e9aebe3b1b00adbbd4710249",
"to": "0x4e59b44847b379578588920ca78fbf26c0b4956c",
"contractAddress": "0x6f6ec2052c7e25953f88dba527c88897888ed022",
"l1BaseFeeScalar": "0x8dd",
"l1BlobBaseFee": "0x1",
"l1BlobBaseFeeScalar": "0x101c12",
"l1Fee": "0x2a1c363a7",
"l1GasPrice": "0xb741639",
"l1GasUsed": "0x6546"
}
],
"libraries": [],
"pending": [],
"returns": {},
"timestamp": 1757045832,
"chain": 8453,
"commit": "73d3903"
}
Loading