-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d32023f
commit 13d2e96
Showing
4 changed files
with
25 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
0x60a060405234801561001057600080fd5b506040516200245b3803806200245b83398101604081905261003191610042565b6001600160a01b0316608052610072565b60006020828403121561005457600080fd5b81516001600160a01b038116811461006b57600080fd5b9392505050565b6080516123c76200009460003960008181607c01526102f701526123c76000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063ac9650d811610050578063ac9650d8146100f3578063d339056d14610113578063e956bbdf1461012657600080fd5b806335a9e4df146100775780633f62192e146100c85780636afdd850146100dd575b600080fd5b61009e7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100db6100d636600461198b565b610139565b005b61009e6e22d473030f116ddee9f6b43ac78ba381565b6101066101013660046119c0565b610146565b6040516100bf9190611aa3565b6100db610121366004611b47565b610259565b6100db610134366004611bd0565b610289565b6101438133610289565b50565b60608167ffffffffffffffff81111561016157610161611c22565b60405190808252806020026020018201604052801561019457816020015b606081526020019060019003908161017f5790505b50905060005b8281101561025257600080308686858181106101b8576101b8611c51565b90506020028101906101ca9190611c80565b6040516101d8929190611cec565b600060405180830381855af49150503d8060008114610213576040519150601f19603f3d011682016040523d82523d6000602084013e610218565b606091505b50915091508161022a57805160208201fd5b8084848151811061023d5761023d611c51565b6020908102919091010152505060010161019a565b5092915050565b61027f73ffffffffffffffffffffffffffffffffffffffff8916888888888888886103f4565b5050505050505050565b60006102958380611c80565b8101906102a29190611eb6565b90506102ad81610731565b60006102b8826107c9565b90506102e7816e22d473030f116ddee9f6b43ac78ba3856102dc6020890189611c80565b879493929190610b9d565b60608201515115610395576000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846060015160405161033e9190611fa3565b6000604051808303816000865af19150503d806000811461037b576040519150601f19603f3d011682016040523d82523d6000602084013e610380565b606091505b50915091508161039257805160208201fd5b50505b8151602080820151604092830151925192835273ffffffffffffffffffffffffffffffffffffffff1691339184917fbdc51d356193695661ad4ba75c0bfa57f277fdefd271d6267cf74dc93f1c86d3910160405180910390a450505050565b6040805160048152602481019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f3644e5150000000000000000000000000000000000000000000000000000000017905260008073ffffffffffffffffffffffffffffffffffffffff8b1673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2146104a157602060008451602086018e611388fa60203d1460005115151616915060005190505b811561070f577fdbb8cf42e1ecb028be3f3dbc922e1d878b963f411dc388ced501601c60f7c6f781146105995760405173ffffffffffffffffffffffffffffffffffffffff808c1660248301528a166044820152606481018990526084810188905260ff871660a482015260c4810186905260e4810185905261010401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd505accf000000000000000000000000000000000000000000000000000000001790526106fc565b6040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808c1660048301528b918b918e1690637ecebe0090602401602060405180830381865afa158015610609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062d9190611fbf565b60405173ffffffffffffffffffffffffffffffffffffffff9384166024820152929091166044830152606482015260848101889052600160a482015260ff871660c482015260e48101869052610104810185905261012401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f8fcbaf0c000000000000000000000000000000000000000000000000000000001790525b925060008084516020860160008f5af191505b81610724576107248b8b8b8b8b8b8b8b611011565b5050505050505050505050565b6040810151608001518151606001511015610778576040517f773a618700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80515173ffffffffffffffffffffffffffffffffffffffff163014610143576040517f4ddf4a6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517f52656c61794f726465722800000000000000000000000000000000000000000060208201527f52656c61794f72646572496e666f20696e666f2c000000000000000000000000602b8201527f496e70757420696e7075742c0000000000000000000000000000000000000000603f8201527f466565457363616c61746f72206665652c000000000000000000000000000000604b8201527f627974657320756e6976657273616c526f7574657243616c6c64617461290000605c8201528151605a818303018152607a820183527f466565457363616c61746f722800000000000000000000000000000000000000609a8301527f6164647265737320746f6b656e2c00000000000000000000000000000000000060a783018190527f75696e74323536207374617274416d6f756e742c00000000000000000000000060b58401527f75696e7432353620656e64416d6f756e742c000000000000000000000000000060c98401527f75696e7432353620737461727454696d652c000000000000000000000000000060db8401527f75696e7432353620656e6454696d65290000000000000000000000000000000060ed840152835160dd81850301815260fd840185527f496e70757428000000000000000000000000000000000000000000000000000061011d8501526101238401919091527f75696e7432353620616d6f756e742c00000000000000000000000000000000006101318401527f6164647265737320726563697069656e742900000000000000000000000000006101408401528351610132818503018152610152840185527f52656c61794f72646572496e666f2800000000000000000000000000000000006101728501527f616464726573732072656163746f722c000000000000000000000000000000006101818501527f6164647265737320737761707065722c000000000000000000000000000000006101918501527f75696e74323536206e6f6e63652c0000000000000000000000000000000000006101a18501527f75696e7432353620646561646c696e65290000000000000000000000000000006101af85015284516101a08186030181526101c08501909552600094610b07946101e001611fd8565b60405160208183030381529060405280519060200120610b2a8360000151611214565b610b378460200151611361565b610b44856040015161147b565b60608601518051602091820120604051610b80969594939201948552602085019390935260408401919091526060830152608082015260a00190565b604051602081830303815290604052805190602001209050919050565b6000610ba8876115fa565b90506000610bb68886611700565b90508573ffffffffffffffffffffffffffffffffffffffff1663fe8ec1a760405180606001604052808581526020018b600001516040015181526020018b6000015160600151815250838b60000151602001518b604051602001610cfb907f466565457363616c61746f72280000000000000000000000000000000000000081527f6164647265737320746f6b656e2c000000000000000000000000000000000000600d8201527f75696e74323536207374617274416d6f756e742c000000000000000000000000601b8201527f75696e7432353620656e64416d6f756e742c0000000000000000000000000000602f8201527f75696e7432353620737461727454696d652c000000000000000000000000000060418201527f75696e7432353620656e6454696d652900000000000000000000000000000000605382015260630190565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00181528282527f496e70757428000000000000000000000000000000000000000000000000000060208401527f6164647265737320746f6b656e2c00000000000000000000000000000000000060268401527f75696e7432353620616d6f756e742c000000000000000000000000000000000060348401527f6164647265737320726563697069656e742900000000000000000000000000006043840152815160358185030181526055840183527f52656c61794f726465722800000000000000000000000000000000000000000060758501527f52656c61794f72646572496e666f20696e666f2c00000000000000000000000060808501527f496e70757420696e7075742c000000000000000000000000000000000000000060948501527f466565457363616c61746f72206665652c00000000000000000000000000000060a08501527f627974657320756e6976657273616c526f7574657243616c6c6461746129000060b1850152825160af81860301815260cf850184527f52656c61794f72646572496e666f28000000000000000000000000000000000060ef8601527f616464726573732072656163746f722c0000000000000000000000000000000060fe8601527f6164647265737320737761707065722c0000000000000000000000000000000061010e8601527f75696e74323536206e6f6e63652c00000000000000000000000000000000000061011e8601527f75696e7432353620646561646c696e652900000000000000000000000000000061012c860152835161011d81870301815261019d8601909452602e61013d860181815293959294919391926123649061015d0139604051602001610fa295949392919061202f565b6040516020818303038152906040528a8a6040518863ffffffff1660e01b8152600401610fd59796959493929190612179565b600060405180830381600087803b158015610fef57600080fd5b505af1158015611003573d6000803e3d6000fd5b505050505050505050505050565b6040517f927da10500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8089166004830152808a166024830152871660448201526000906e22d473030f116ddee9f6b43ac78ba39063927da10590606401606060405180830381865afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c19190612292565b925050506e22d473030f116ddee9f6b43ac78ba373ffffffffffffffffffffffffffffffffffffffff16632b67b57089604051806060016040528060405180608001604052808f73ffffffffffffffffffffffffffffffffffffffff16815260200161112c8d6117cb565b73ffffffffffffffffffffffffffffffffffffffff908116825265ffffffffffff6020808401829052908a166040938401529284528e16838301529182018b905281519081018990529081018790527fff0000000000000000000000000000000000000000000000000000000000000060f88a901b1660608201526061016040516020818303038152906040526040518463ffffffff1660e01b81526004016111d7939291906122d7565b600060405180830381600087803b1580156111f157600080fd5b505af1158015611205573d6000803e3d6000fd5b50505050505050505050505050565b6040517f52656c61794f72646572496e666f28000000000000000000000000000000000060208201527f616464726573732072656163746f722c00000000000000000000000000000000602f8201527f6164647265737320737761707065722c00000000000000000000000000000000603f8201527f75696e74323536206e6f6e63652c000000000000000000000000000000000000604f8201527f75696e7432353620646561646c696e6529000000000000000000000000000000605d820152600090606e01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120855186830151878501516060808a01519588019490945273ffffffffffffffffffffffffffffffffffffffff928316958701959095521690840152608083019190915260a082015260c001610b80565b6040517f496e70757428000000000000000000000000000000000000000000000000000060208201527f6164647265737320746f6b656e2c00000000000000000000000000000000000060268201527f75696e7432353620616d6f756e742c000000000000000000000000000000000060348201527f6164647265737320726563697069656e742900000000000000000000000000006043820152600090605501604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120855186830151878501519386019290925273ffffffffffffffffffffffffffffffffffffffff90811693850193909352606084015216608082015260a001610b80565b6040517f466565457363616c61746f72280000000000000000000000000000000000000060208201527f6164647265737320746f6b656e2c000000000000000000000000000000000000602d8201527f75696e74323536207374617274416d6f756e742c000000000000000000000000603b8201527f75696e7432353620656e64416d6f756e742c0000000000000000000000000000604f8201527f75696e7432353620737461727454696d652c000000000000000000000000000060618201527f75696e7432353620656e6454696d6529000000000000000000000000000000006073820152600090608301604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120855186830151878501516060808a01516080808c0151978a019690965273ffffffffffffffffffffffffffffffffffffffff90941696880196909652948601529084019290925260a083019190915260c082015260e001610b80565b6040805160028082526060828101909352816020015b6040805180820190915260008082526020820152815260200190600190039081611610579050509050604051806040016040528083602001516000015173ffffffffffffffffffffffffffffffffffffffff1681526020018360200151602001518152508160008151811061168757611687611c51565b60200260200101819052506116dd8260400151604080518082019091526000808252602082015250604080518082018252825173ffffffffffffffffffffffffffffffffffffffff168152910151602082015290565b816001815181106116f0576116f0611c51565b6020026020010181905250919050565b6040805160028082526060828101909352816020015b6040805180820190915260008082526020820152815260200190600190039081611716579050509050604051806040016040528084602001516040015173ffffffffffffffffffffffffffffffffffffffff1681526020018460200151602001518152508160008151811061178d5761178d611c51565b602090810291909101015260408301516117a7908361181f565b816001815181106117ba576117ba611c51565b602002602001018190525092915050565b600073ffffffffffffffffffffffffffffffffffffffff82111561181b576040517fc4bd89a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5090565b604080518082019091526000808252602082015260006118518460200151856040015186606001518760800151611882565b6040805180820190915273ffffffffffffffffffffffffffffffffffffffff90941684526020840152509092915050565b6000838511156118be576040517fd856fc5a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828210156118f8576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42821161190657508261192f565b42831061191457508361192f565b428390038383036119288787038383611937565b8701925050505b949350505050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261196c57600080fd5b5091020490565b60006040828403121561198557600080fd5b50919050565b60006020828403121561199d57600080fd5b813567ffffffffffffffff8111156119b457600080fd5b61192f84828501611973565b600080602083850312156119d357600080fd5b823567ffffffffffffffff808211156119eb57600080fd5b818501915085601f8301126119ff57600080fd5b813581811115611a0e57600080fd5b8660208260051b8501011115611a2357600080fd5b60209290920196919550909350505050565b60005b83811015611a50578181015183820152602001611a38565b50506000910152565b60008151808452611a71816020860160208601611a35565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015611b18577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452611b06858351611a59565b94509285019290850190600101611acc565b5092979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461014357600080fd5b600080600080600080600080610100898b031215611b6457600080fd5b8835611b6f81611b25565b97506020890135611b7f81611b25565b96506040890135611b8f81611b25565b9550606089013594506080890135935060a089013560ff81168114611bb357600080fd5b979a969950949793969295929450505060c08201359160e0013590565b60008060408385031215611be357600080fd5b823567ffffffffffffffff811115611bfa57600080fd5b611c0685828601611973565b9250506020830135611c1781611b25565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cb557600080fd5b83018035915067ffffffffffffffff821115611cd057600080fd5b602001915036819003821315611ce557600080fd5b9250929050565b8183823760009101908152919050565b6040516080810167ffffffffffffffff81118282101715611d1f57611d1f611c22565b60405290565b600060608284031215611d3757600080fd5b6040516060810181811067ffffffffffffffff82111715611d5a57611d5a611c22565b6040529050808235611d6b81611b25565b8152602083810135908201526040830135611d8581611b25565b6040919091015292915050565b600060a08284031215611da457600080fd5b60405160a0810181811067ffffffffffffffff82111715611dc757611dc7611c22565b6040529050808235611dd881611b25565b80825250602083013560208201526040830135604082015260608301356060820152608083013560808201525092915050565b600082601f830112611e1c57600080fd5b813567ffffffffffffffff80821115611e3757611e37611c22565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715611e7d57611e7d611c22565b81604052838152866020858801011115611e9657600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060208284031215611ec857600080fd5b813567ffffffffffffffff80821115611ee057600080fd5b908301908185036101a0811215611ef657600080fd5b611efe611cfc565b6080821215611f0c57600080fd5b611f14611cfc565b91508335611f2181611b25565b82526020840135611f3181611b25565b806020840152506040840135604083015260608401356060830152818152611f5c8760808601611d25565b6020820152611f6e8760e08601611d92565b6040820152610180840135915082821115611f8857600080fd5b611f9487838601611e0b565b60608201529695505050505050565b60008251611fb5818460208701611a35565b9190910192915050565b600060208284031215611fd157600080fd5b5051919050565b60008551611fea818460208a01611a35565b855190830190611ffe818360208a01611a35565b8551910190612011818360208901611a35565b8451910190612024818360208801611a35565b019695505050505050565b7f52656c61794f72646572207769746e657373290000000000000000000000000081526000601387516120688183860160208c01611a35565b87519084019061207e8184840160208c01611a35565b87519101906120938184840160208b01611a35565b86519101906120a88184840160208a01611a35565b85519101906120bd8184840160208901611a35565b0101979650505050505050565b60008151808452602080850194506020840160005b8381101561212557612112878351805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60409690960195908201906001016120df565b509495945050505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60c08152600061012082018951606060c0850152818151808452610140860191506020935060208301925060005b818110156121ed576121da838551805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b92840192604092909201916001016121a7565b505060208c015160e086015260408c01516101008601528481036020860152612216818c6120ca565b9250505061223c604084018973ffffffffffffffffffffffffffffffffffffffff169052565b86606084015282810360808401526122548187611a59565b905082810360a0840152612269818587612130565b9a9950505050505050505050565b805165ffffffffffff8116811461228d57600080fd5b919050565b6000806000606084860312156122a757600080fd5b83516122b281611b25565b92506122c060208501612277565b91506122ce60408501612277565b90509250925092565b600061010073ffffffffffffffffffffffffffffffffffffffff80871684528551818151166020860152816020820151166040860152604081015165ffffffffffff80821660608801528060608401511660808801525050508060208701511660a085015250604085015160c08401528060e084015261235981840185611a59565b969550505050505056fe546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e7429a26469706673582212201cafb3c3b5e4b86a59d3230671eb354f0497fab4750ee1d1c44b660c904448dc64736f6c634300081800330000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
0xdfff3773e68d15dc35ebcac553269fca997d5ff7e615ef4207e04d10583595c8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
pragma solidity ^0.8.13; | ||
|
||
import "forge-std/console2.sol"; | ||
import "forge-std/Script.sol"; | ||
import {RelayOrderReactor} from "../src/reactors/RelayOrderReactor.sol"; | ||
|
||
contract RelayOrderReactorInitBytecode is Script { | ||
function setUp() public {} | ||
|
||
function run(address universalRouter) public { | ||
bytes memory args = abi.encode(universalRouter); | ||
bytes memory initcode = abi.encodePacked(vm.getCode("RelayOrderReactor.sol:RelayOrderReactor"), args); | ||
|
||
bytes32 initcodeHash = keccak256(initcode); | ||
|
||
vm.writeFile(".artifacts/init_code", vm.toString(initcode)); | ||
vm.writeFile(".artifacts/init_code_hash", vm.toString(initcodeHash)); | ||
|
||
console2.logBytes32(initcodeHash); | ||
} | ||
} |