diff --git a/.gitignore b/.gitignore index c44f68a..2564165 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ cache/ out/ broadcast/ + node_modules coverage/ diff --git a/broadcast/Deploy.s.sol/421614/run-1730188333.json b/broadcast/Deploy.s.sol/421614/run-1730188333.json deleted file mode 100644 index 497c959..0000000 --- a/broadcast/Deploy.s.sol/421614/run-1730188333.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DODOApprove", - "contractAddress": "0xb89ccc740c9e3be8712a2174b648a95c6978b836", - "function": null, - "arguments": null, - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0xcb6c6", - "value": "0x0", - "input": "0x608060405234801561001057600080fd5b50610a65806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638456db151161008c578063b75dbf6811610066578063b75dbf68146101a9578063e54c8033146101c0578063f09a4016146101d3578063f2fde38b146101e657600080fd5b80638456db151461017b5780638cdb65741461018e57806393773aec1461019657600080fd5b806331fa1319116100c857806331fa13191461014757806341c256c1146101585780634e71e0c81461016b5780634f3cef841461017357600080fd5b80630a5ea466146100ef5780630d0092971461010457806316048bc414610117575b600080fd5b6101026100fd3660046108b7565b6101f9565b005b610102610112366004610902565b610279565b60005461012a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6004546001600160a01b031661012a565b610102610166366004610902565b6102fc565b61010261037e565b61010261042c565b60015461012a906001600160a01b031681565b61010261046d565b60035461012a906001600160a01b031681565b6101b260025481565b60405190815260200161013e565b60045461012a906001600160a01b031681565b6101026101e136600461091d565b61054d565b6101026101f4366004610902565b610579565b6004546001600160a01b031633146102585760405162461bcd60e51b815260206004820152601d60248201527f444f444f417070726f76653a416363657373207265737472696374656400000060448201526064015b60405180910390fd5b8015610273576102736001600160a01b0385168484846105fe565b50505050565b600154600160a01b900460ff16156102c65760405162461bcd60e51b815260206004820152601060248201526f1113d113d7d25392551250531256915160821b604482015260640161024f565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031633146103265760405162461bcd60e51b815260040161024f90610950565b6004546001600160a01b031661034b576103436201518042610973565b60025561035c565b6103586203f48042610973565b6002555b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146103c85760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b604482015260640161024f565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146104565760405162461bcd60e51b815260040161024f90610950565b600380546001600160a01b03191690556000600255565b6000546001600160a01b031633146104975760405162461bcd60e51b815260040161024f90610950565b4260025411156104e25760405162461bcd60e51b815260206004820152601660248201527514d95d141c9bde1e481a5cc81d1a5b595b1bd8dad95960521b604482015260640161024f565b6003546004546040516001600160a01b0392831692909116907fd356351ffbb32d7a93878d5fbbd5c39435bbae136f428b0d574242f63bb803cb90600090a3600354600480546001600160a01b0319166001600160a01b0390921691909117905561054b61042c565b565b61055682610279565b600480546001600160a01b0319166001600160a01b039290921691909117905550565b6000546001600160a01b031633146105a35760405162461bcd60e51b815260040161024f90610950565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092018352602080830180516001600160e01b03166323b872dd60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261027392879291600091610696918516908490610718565b80519091501561071357808060200190518101906106b4919061099a565b6107135760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161024f565b505050565b60606107278484600085610731565b90505b9392505050565b6060824710156107925760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161024f565b6001600160a01b0385163b6107e95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161024f565b600080866001600160a01b0316858760405161080591906109e0565b60006040518083038185875af1925050503d8060008114610842576040519150601f19603f3d011682016040523d82523d6000602084013e610847565b606091505b5091509150610857828286610862565b979650505050505050565b6060831561087157508161072a565b8251156108815782518084602001fd5b8160405162461bcd60e51b815260040161024f91906109fc565b80356001600160a01b03811681146108b257600080fd5b919050565b600080600080608085870312156108cd57600080fd5b6108d68561089b565b93506108e46020860161089b565b92506108f26040860161089b565b9396929550929360600135925050565b60006020828403121561091457600080fd5b61072a8261089b565b6000806040838503121561093057600080fd5b6109398361089b565b91506109476020840161089b565b90509250929050565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b8082018082111561099457634e487b7160e01b600052601160045260246000fd5b92915050565b6000602082840312156109ac57600080fd5b8151801515811461072a57600080fd5b60005b838110156109d75781810151838201526020016109bf565b50506000910152565b600082516109f28184602087016109bc565b9190910192915050565b6020815260008251806020840152610a1b8160408501602087016109bc565b601f01601f1916919091016040019291505056fea2646970667358221220a9216e0639aebcd6da85b76005ba1773c592eb96f1a7aba374813741709bd39464736f6c63430008100033", - "nonce": "0xe", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DODOApproveProxy", - "contractAddress": "0x003b18357460e789e711849749a793c430d14f97", - "function": null, - "arguments": [ - "0xB89CCC740c9E3BE8712a2174b648a95C6978B836" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0xbaed2", - "value": "0x0", - "input": "0x60a060405234801561001057600080fd5b50604051610a03380380610a0383398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610971610092600039600081816101d6015261032901526109716000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806346e74298116100975780638456db15116100665780638456db1514610234578063b75dbf6814610247578063cc646ed41461025e578063f2fde38b1461027157600080fd5b806346e74298146101d157806348a4f993146101f85780634e71e0c814610224578063556d65a81461022c57600080fd5b8063374445b2116100d3578063374445b2146101705780633b2f27bb146101835780633c5a3cea146101b65780633e688589146101c957600080fd5b80630a5ea466146101055780630d0092971461011a57806316048bc41461012d5780632c419f2f1461015d575b600080fd5b61011861011336600461075f565b610284565b005b6101186101283660046107aa565b61038b565b600054610140906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61011861016b3660046107aa565b61040e565b61011861017e3660046107aa565b610459565b6101a66101913660046107aa565b60026020526000908152604090205460ff1681565b6040519015158152602001610154565b6101186101c43660046107e2565b6104b5565b61011861052b565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6101a66102063660046107aa565b6001600160a01b031660009081526002602052604090205460ff1690565b6101186105cf565b61011861067d565b600154610140906001600160a01b031681565b61025060035481565b604051908152602001610154565b600454610140906001600160a01b031681565b61011861027f3660046107aa565b6106be565b3360009081526002602052604090205460ff166102f35760405162461bcd60e51b815260206004820152602260248201527f444f444f417070726f766550726f78793a416363657373207265737472696374604482015261195960f21b60648201526084015b60405180910390fd5b60405163052f523360e11b81526001600160a01b03858116600483015284811660248301528381166044830152606482018390527f00000000000000000000000000000000000000000000000000000000000000001690630a5ea46690608401600060405180830381600087803b15801561036d57600080fd5b505af1158015610381573d6000803e3d6000fd5b5050505050505050565b600154600160a01b900460ff16156103d85760405162461bcd60e51b815260206004820152601060248201526f1113d113d7d25392551250531256915160821b60448201526064016102ea565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031633146104385760405162461bcd60e51b81526004016102ea906108ba565b6001600160a01b03166000908152600260205260409020805460ff19169055565b6000546001600160a01b031633146104835760405162461bcd60e51b81526004016102ea906108ba565b6104906203f480426108f3565b600355600480546001600160a01b0319166001600160a01b0392909216919091179055565b6104be8261038b565b60005b8151811015610526576001600260008484815181106104e2576104e261090c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061051e81610922565b9150506104c1565b505050565b6000546001600160a01b031633146105555760405162461bcd60e51b81526004016102ea906108ba565b4260035411156105a05760405162461bcd60e51b815260206004820152601660248201527514d95d141c9bde1e481a5cc81d1a5b595b1bd8dad95960521b60448201526064016102ea565b6004546001600160a01b03166000908152600260205260409020805460ff191660011790556105cd61067d565b565b6001546001600160a01b031633146106195760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b60448201526064016102ea565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146106a75760405162461bcd60e51b81526004016102ea906108ba565b600480546001600160a01b03191690556000600355565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016102ea906108ba565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b038116811461075a57600080fd5b919050565b6000806000806080858703121561077557600080fd5b61077e85610743565b935061078c60208601610743565b925061079a60408601610743565b9396929550929360600135925050565b6000602082840312156107bc57600080fd5b6107c582610743565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156107f557600080fd5b6107fe83610743565b915060208084013567ffffffffffffffff8082111561081c57600080fd5b818601915086601f83011261083057600080fd5b813581811115610842576108426107cc565b8060051b604051601f19603f83011681018181108582111715610867576108676107cc565b60405291825284820192508381018501918983111561088557600080fd5b938501935b828510156108aa5761089b85610743565b8452938501939285019261088a565b8096505050505050509250929050565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610906576109066108dd565b92915050565b634e487b7160e01b600052603260045260246000fd5b600060018201610934576109346108dd565b506001019056fea26469706673582212202b28fc279eaf3600a1b5d7bd2121b2c28b51d9737961adb02d2b5d7959da992564736f6c63430008100033000000000000000000000000b89ccc740c9e3be8712a2174b648a95c6978b836", - "nonce": "0xf", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CALL", - "contractName": "DODOApprove", - "contractAddress": "0xb89ccc740c9e3be8712a2174b648a95c6978b836", - "function": "init(address,address)", - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "0x003B18357460e789e711849749A793c430d14f97" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": "0xb89ccc740c9e3be8712a2174b648a95c6978b836", - "gas": "0x7414", - "value": "0x0", - "input": "0xf09a40160000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d4214000000000000000000000000003b18357460e789e711849749a793c430d14f97", - "nonce": "0x10", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DODOGasProxy", - "contractAddress": "0xc6d718fa2bb39ccdf29a640361e42656db1ebbd9", - "function": null, - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "0x003B18357460e789e711849749A793c430d14f97" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0x1245d8", - "value": "0x0", - "input": "0x60a060405234801561001057600080fd5b5060405161104b38038061104b83398101604081905261002f9161018b565b6100383361011f565b6001600160a01b0382166100935760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a20424f545f494e56414c49440000000000000060448201526064015b60405180910390fd5b6001600160a01b0381166100fa5760405162461bcd60e51b815260206004820152602860248201527f444f444f47617350726f78793a20444f444f5f415050524f56455f50524f585960448201526717d253959053125160c21b606482015260840161008a565b600480546001600160a01b0319166001600160a01b03938416179055166080526101be565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461018657600080fd5b919050565b6000806040838503121561019e57600080fd5b6101a78361016f565b91506101b56020840161016f565b90509250929050565b608051610e6b6101e06000396000818161031701526107f60152610e6b6000f3fe6080604052600436106100eb5760003560e01c80638f68ca7011610084578063d716d6b811610056578063d716d6b8146102aa578063d9823b08146102e5578063eb99be1214610305578063f2fde38b1461033957005b80638f68ca701461020a5780639685212d1461022a578063bc74f9ff1461024a578063bf95baf41461027a57005b80636ab79237116100bd5780636ab79237146101975780636b5caec4146101b7578063715018a6146101d75780638da5cb5b146101ec57005b806310814c37146100f457806316c38b3c146101315780633ccfd60b146101515780635c975abb1461016657005b366100f257005b005b34801561010057600080fd5b50600454610114906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561013d57600080fd5b506100f261014c366004610bb6565b610359565b34801561015d57600080fd5b506100f26103b9565b34801561017257600080fd5b5060045461018790600160a01b900460ff1681565b6040519015158152602001610128565b3480156101a357600080fd5b506100f26101b2366004610bf7565b6103fe565b3480156101c357600080fd5b506100f26101d2366004610c38565b61048a565b3480156101e357600080fd5b506100f2610532565b3480156101f857600080fd5b506000546001600160a01b0316610114565b34801561021657600080fd5b506100f2610225366004610c53565b610546565b61023d610238366004610c8a565b6105d0565b6040516101289190610d49565b34801561025657600080fd5b50610187610265366004610c38565b60026020526000908152604090205460ff1681565b34801561028657600080fd5b50610187610295366004610c38565b60036020526000908152604090205460ff1681565b3480156102b657600080fd5b506102d76102c5366004610d97565b60016020526000908152604090205481565b604051908152602001610128565b3480156102f157600080fd5b506100f2610300366004610c53565b610a06565b34801561031157600080fd5b506101147f000000000000000000000000000000000000000000000000000000000000000081565b34801561034557600080fd5b506100f2610354366004610c38565b610a88565b610361610afe565b60048054821515600160a01b0260ff60a01b199091161790556040517f9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64906103ae90831515815260200190565b60405180910390a150565b6103c1610afe565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156103fb573d6000803e3d6000fd5b50565b6004546001600160a01b031633146104315760405162461bcd60e51b815260040161042890610db2565b60405180910390fd5b67ffffffffffffffff8216600081815260016020908152604091829020849055815192835282018390527ffec53071309ed48f910e7ed70162c48ed5b7e6892dc5e890fa1aadf6338f1deb910160405180910390a15050565b610492610afe565b6001600160a01b0381166104e85760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a20424f545f494e56414c4944000000000000006044820152606401610428565b600480546001600160a01b0319166001600160a01b0383169081179091556040517fdb5411fb693ed11ca8f29bad815ecf34d253ee4e6e333702ab8a7a6444670db690600090a250565b61053a610afe565b6105446000610b58565b565b6004546001600160a01b031633146105705760405162461bcd60e51b815260040161042890610db2565b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915591519182527f2fc0ae7994762170f97b49b88bf0012a853e6ec9b75f41f28da9206b2ceaa3b491015b60405180910390a25050565b600454606090600160a01b900460ff16156106245760405162461bcd60e51b81526020600482015260146024820152731113d113d1d85cd41c9bde1e4e8814105554d15160621b6044820152606401610428565b6001600160a01b03851660009081526002602052604090205460ff1661068c5760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a204e4f545f57484954454c49535445440000006044820152606401610428565b67ffffffffffffffff8816600090815260016020526040902054806106f35760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a204741535f4645455f4e4f545f5345540000006044820152606401610428565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03891601610775576107228188610de1565b34146107705760405162461bcd60e51b815260206004820181905260248201527f444f444f47617350726f78793a20494e56414c49445f4554485f414d4f554e546044820152606401610428565b6108d6565b8034146107c45760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a20494e56414c49445f4741535f4645450000006044820152606401610428565b60405163052f523360e11b81526001600160a01b038981166004830152336024830152306044830152606482018990527f00000000000000000000000000000000000000000000000000000000000000001690630a5ea46690608401600060405180830381600087803b15801561083a57600080fd5b505af115801561084e573d6000803e3d6000fd5b505050506001600160a01b038616156108d65760405163095ea7b360e01b81526001600160a01b0387811660048301526024820189905289169063095ea7b3906044016020604051808303816000875af11580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190610e08565b505b6040805133815267ffffffffffffffff8b1660208201529081018290527f38becc88a3327fac60feebeb32bd2cbe0fd7417cb51d2747cc1818cdb6487e979060600160405180910390a16000806001600160a01b03808816908b1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610952576000610954565b895b8787604051610964929190610e25565b60006040518083038185875af1925050503d80600081146109a1576040519150601f19603f3d011682016040523d82523d6000602084013e6109a6565b606091505b5091509150816109f85760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a2043414c4c5f4641494c4544000000000000006044820152606401610428565b9a9950505050505050505050565b6004546001600160a01b03163314610a305760405162461bcd60e51b815260040161042890610db2565b6001600160a01b038216600081815260036020908152604091829020805460ff191685151590811790915591519182527f1b4dfffd0b20d0bb9da24513d5d823510dedbc202aa2916e87d3d88b4324886e91016105c4565b610a90610afe565b6001600160a01b038116610af55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610428565b6103fb81610b58565b6000546001600160a01b031633146105445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610428565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80151581146103fb57600080fd5b600060208284031215610bc857600080fd5b8135610bd381610ba8565b9392505050565b803567ffffffffffffffff81168114610bf257600080fd5b919050565b60008060408385031215610c0a57600080fd5b610c1383610bda565b946020939093013593505050565b80356001600160a01b0381168114610bf257600080fd5b600060208284031215610c4a57600080fd5b610bd382610c21565b60008060408385031215610c6657600080fd5b610c6f83610c21565b91506020830135610c7f81610ba8565b809150509250929050565b600080600080600080600060c0888a031215610ca557600080fd5b610cae88610bda565b9650610cbc60208901610c21565b955060408801359450610cd160608901610c21565b9350610cdf60808901610c21565b925060a088013567ffffffffffffffff80821115610cfc57600080fd5b818a0191508a601f830112610d1057600080fd5b813581811115610d1f57600080fd5b8b6020828501011115610d3157600080fd5b60208301945080935050505092959891949750929550565b600060208083528351808285015260005b81811015610d7657858101830151858201604001528201610d5a565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610da957600080fd5b610bd382610bda565b6020808252601590820152741113d113d1d85cd41c9bde1e4e881393d517d093d5605a1b604082015260600190565b80820180821115610e0257634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215610e1a57600080fd5b8151610bd381610ba8565b818382376000910190815291905056fea2646970667358221220bea2800e1c190fa1f9bf320b60a19ea97be58ae40ac3e3d07f743a2670a6b63564736f6c634300081000330000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d4214000000000000000000000000003b18357460e789e711849749a793c430d14f97", - "nonce": "0x11", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CALL", - "contractName": "DODOApproveProxy", - "contractAddress": "0x003b18357460e789e711849749a793c430d14f97", - "function": "init(address,address[])", - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "[0xc6D718Fa2bb39CCDf29a640361E42656DB1EBBD9]" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": "0x003b18357460e789e711849749a793c430d14f97", - "gas": "0x76b4", - "value": "0x0", - "input": "0x3c5a3cea0000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d421400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c6d718fa2bb39ccdf29a640361e42656db1ebbd9", - "nonce": "0x12", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1730188333, - "chain": 421614, - "commit": "5de10bd" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/421614/run-1730189264.json b/broadcast/Deploy.s.sol/421614/run-1730189264.json deleted file mode 100644 index 004f6e7..0000000 --- a/broadcast/Deploy.s.sol/421614/run-1730189264.json +++ /dev/null @@ -1,114 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DODOApprove", - "contractAddress": "0xb89ccc740c9e3be8712a2174b648a95c6978b836", - "function": null, - "arguments": null, - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0xcda17", - "value": "0x0", - "input": "0x608060405234801561001057600080fd5b50610a65806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638456db151161008c578063b75dbf6811610066578063b75dbf68146101a9578063e54c8033146101c0578063f09a4016146101d3578063f2fde38b146101e657600080fd5b80638456db151461017b5780638cdb65741461018e57806393773aec1461019657600080fd5b806331fa1319116100c857806331fa13191461014757806341c256c1146101585780634e71e0c81461016b5780634f3cef841461017357600080fd5b80630a5ea466146100ef5780630d0092971461010457806316048bc414610117575b600080fd5b6101026100fd3660046108b7565b6101f9565b005b610102610112366004610902565b610279565b60005461012a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6004546001600160a01b031661012a565b610102610166366004610902565b6102fc565b61010261037e565b61010261042c565b60015461012a906001600160a01b031681565b61010261046d565b60035461012a906001600160a01b031681565b6101b260025481565b60405190815260200161013e565b60045461012a906001600160a01b031681565b6101026101e136600461091d565b61054d565b6101026101f4366004610902565b610579565b6004546001600160a01b031633146102585760405162461bcd60e51b815260206004820152601d60248201527f444f444f417070726f76653a416363657373207265737472696374656400000060448201526064015b60405180910390fd5b8015610273576102736001600160a01b0385168484846105fe565b50505050565b600154600160a01b900460ff16156102c65760405162461bcd60e51b815260206004820152601060248201526f1113d113d7d25392551250531256915160821b604482015260640161024f565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031633146103265760405162461bcd60e51b815260040161024f90610950565b6004546001600160a01b031661034b576103436201518042610973565b60025561035c565b6103586203f48042610973565b6002555b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146103c85760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b604482015260640161024f565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146104565760405162461bcd60e51b815260040161024f90610950565b600380546001600160a01b03191690556000600255565b6000546001600160a01b031633146104975760405162461bcd60e51b815260040161024f90610950565b4260025411156104e25760405162461bcd60e51b815260206004820152601660248201527514d95d141c9bde1e481a5cc81d1a5b595b1bd8dad95960521b604482015260640161024f565b6003546004546040516001600160a01b0392831692909116907fd356351ffbb32d7a93878d5fbbd5c39435bbae136f428b0d574242f63bb803cb90600090a3600354600480546001600160a01b0319166001600160a01b0390921691909117905561054b61042c565b565b61055682610279565b600480546001600160a01b0319166001600160a01b039290921691909117905550565b6000546001600160a01b031633146105a35760405162461bcd60e51b815260040161024f90610950565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092018352602080830180516001600160e01b03166323b872dd60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261027392879291600091610696918516908490610718565b80519091501561071357808060200190518101906106b4919061099a565b6107135760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161024f565b505050565b60606107278484600085610731565b90505b9392505050565b6060824710156107925760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161024f565b6001600160a01b0385163b6107e95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161024f565b600080866001600160a01b0316858760405161080591906109e0565b60006040518083038185875af1925050503d8060008114610842576040519150601f19603f3d011682016040523d82523d6000602084013e610847565b606091505b5091509150610857828286610862565b979650505050505050565b6060831561087157508161072a565b8251156108815782518084602001fd5b8160405162461bcd60e51b815260040161024f91906109fc565b80356001600160a01b03811681146108b257600080fd5b919050565b600080600080608085870312156108cd57600080fd5b6108d68561089b565b93506108e46020860161089b565b92506108f26040860161089b565b9396929550929360600135925050565b60006020828403121561091457600080fd5b61072a8261089b565b6000806040838503121561093057600080fd5b6109398361089b565b91506109476020840161089b565b90509250929050565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b8082018082111561099457634e487b7160e01b600052601160045260246000fd5b92915050565b6000602082840312156109ac57600080fd5b8151801515811461072a57600080fd5b60005b838110156109d75781810151838201526020016109bf565b50506000910152565b600082516109f28184602087016109bc565b9190910192915050565b6020815260008251806020840152610a1b8160408501602087016109bc565b601f01601f1916919091016040019291505056fea2646970667358221220a9216e0639aebcd6da85b76005ba1773c592eb96f1a7aba374813741709bd39464736f6c63430008100033", - "nonce": "0xe", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DODOApproveProxy", - "contractAddress": "0x003b18357460e789e711849749a793c430d14f97", - "function": null, - "arguments": [ - "0xB89CCC740c9E3BE8712a2174b648a95C6978B836" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0xbce85", - "value": "0x0", - "input": "0x60a060405234801561001057600080fd5b50604051610a03380380610a0383398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610971610092600039600081816101d6015261032901526109716000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806346e74298116100975780638456db15116100665780638456db1514610234578063b75dbf6814610247578063cc646ed41461025e578063f2fde38b1461027157600080fd5b806346e74298146101d157806348a4f993146101f85780634e71e0c814610224578063556d65a81461022c57600080fd5b8063374445b2116100d3578063374445b2146101705780633b2f27bb146101835780633c5a3cea146101b65780633e688589146101c957600080fd5b80630a5ea466146101055780630d0092971461011a57806316048bc41461012d5780632c419f2f1461015d575b600080fd5b61011861011336600461075f565b610284565b005b6101186101283660046107aa565b61038b565b600054610140906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61011861016b3660046107aa565b61040e565b61011861017e3660046107aa565b610459565b6101a66101913660046107aa565b60026020526000908152604090205460ff1681565b6040519015158152602001610154565b6101186101c43660046107e2565b6104b5565b61011861052b565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6101a66102063660046107aa565b6001600160a01b031660009081526002602052604090205460ff1690565b6101186105cf565b61011861067d565b600154610140906001600160a01b031681565b61025060035481565b604051908152602001610154565b600454610140906001600160a01b031681565b61011861027f3660046107aa565b6106be565b3360009081526002602052604090205460ff166102f35760405162461bcd60e51b815260206004820152602260248201527f444f444f417070726f766550726f78793a416363657373207265737472696374604482015261195960f21b60648201526084015b60405180910390fd5b60405163052f523360e11b81526001600160a01b03858116600483015284811660248301528381166044830152606482018390527f00000000000000000000000000000000000000000000000000000000000000001690630a5ea46690608401600060405180830381600087803b15801561036d57600080fd5b505af1158015610381573d6000803e3d6000fd5b5050505050505050565b600154600160a01b900460ff16156103d85760405162461bcd60e51b815260206004820152601060248201526f1113d113d7d25392551250531256915160821b60448201526064016102ea565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031633146104385760405162461bcd60e51b81526004016102ea906108ba565b6001600160a01b03166000908152600260205260409020805460ff19169055565b6000546001600160a01b031633146104835760405162461bcd60e51b81526004016102ea906108ba565b6104906203f480426108f3565b600355600480546001600160a01b0319166001600160a01b0392909216919091179055565b6104be8261038b565b60005b8151811015610526576001600260008484815181106104e2576104e261090c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061051e81610922565b9150506104c1565b505050565b6000546001600160a01b031633146105555760405162461bcd60e51b81526004016102ea906108ba565b4260035411156105a05760405162461bcd60e51b815260206004820152601660248201527514d95d141c9bde1e481a5cc81d1a5b595b1bd8dad95960521b60448201526064016102ea565b6004546001600160a01b03166000908152600260205260409020805460ff191660011790556105cd61067d565b565b6001546001600160a01b031633146106195760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b60448201526064016102ea565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146106a75760405162461bcd60e51b81526004016102ea906108ba565b600480546001600160a01b03191690556000600355565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016102ea906108ba565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b038116811461075a57600080fd5b919050565b6000806000806080858703121561077557600080fd5b61077e85610743565b935061078c60208601610743565b925061079a60408601610743565b9396929550929360600135925050565b6000602082840312156107bc57600080fd5b6107c582610743565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156107f557600080fd5b6107fe83610743565b915060208084013567ffffffffffffffff8082111561081c57600080fd5b818601915086601f83011261083057600080fd5b813581811115610842576108426107cc565b8060051b604051601f19603f83011681018181108582111715610867576108676107cc565b60405291825284820192508381018501918983111561088557600080fd5b938501935b828510156108aa5761089b85610743565b8452938501939285019261088a565b8096505050505050509250929050565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610906576109066108dd565b92915050565b634e487b7160e01b600052603260045260246000fd5b600060018201610934576109346108dd565b506001019056fea26469706673582212202b28fc279eaf3600a1b5d7bd2121b2c28b51d9737961adb02d2b5d7959da992564736f6c63430008100033000000000000000000000000b89ccc740c9e3be8712a2174b648a95c6978b836", - "nonce": "0xf", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CALL", - "contractName": "DODOApprove", - "contractAddress": "0xb89ccc740c9e3be8712a2174b648a95c6978b836", - "function": "init(address,address)", - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "0x003B18357460e789e711849749A793c430d14f97" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": "0xb89ccc740c9e3be8712a2174b648a95c6978b836", - "gas": "0x77d1", - "value": "0x0", - "input": "0xf09a40160000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d4214000000000000000000000000003b18357460e789e711849749a793c430d14f97", - "nonce": "0x10", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CREATE", - "contractName": "DODOGasProxy", - "contractAddress": "0xc6d718fa2bb39ccdf29a640361e42656db1ebbd9", - "function": null, - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "0x003B18357460e789e711849749A793c430d14f97" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0x1274de", - "value": "0x0", - "input": "0x60a060405234801561001057600080fd5b5060405161104b38038061104b83398101604081905261002f9161018b565b6100383361011f565b6001600160a01b0382166100935760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a20424f545f494e56414c49440000000000000060448201526064015b60405180910390fd5b6001600160a01b0381166100fa5760405162461bcd60e51b815260206004820152602860248201527f444f444f47617350726f78793a20444f444f5f415050524f56455f50524f585960448201526717d253959053125160c21b606482015260840161008a565b600480546001600160a01b0319166001600160a01b03938416179055166080526101be565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461018657600080fd5b919050565b6000806040838503121561019e57600080fd5b6101a78361016f565b91506101b56020840161016f565b90509250929050565b608051610e6b6101e06000396000818161031701526107f60152610e6b6000f3fe6080604052600436106100eb5760003560e01c80638f68ca7011610084578063d716d6b811610056578063d716d6b8146102aa578063d9823b08146102e5578063eb99be1214610305578063f2fde38b1461033957005b80638f68ca701461020a5780639685212d1461022a578063bc74f9ff1461024a578063bf95baf41461027a57005b80636ab79237116100bd5780636ab79237146101975780636b5caec4146101b7578063715018a6146101d75780638da5cb5b146101ec57005b806310814c37146100f457806316c38b3c146101315780633ccfd60b146101515780635c975abb1461016657005b366100f257005b005b34801561010057600080fd5b50600454610114906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561013d57600080fd5b506100f261014c366004610bb6565b610359565b34801561015d57600080fd5b506100f26103b9565b34801561017257600080fd5b5060045461018790600160a01b900460ff1681565b6040519015158152602001610128565b3480156101a357600080fd5b506100f26101b2366004610bf7565b6103fe565b3480156101c357600080fd5b506100f26101d2366004610c38565b61048a565b3480156101e357600080fd5b506100f2610532565b3480156101f857600080fd5b506000546001600160a01b0316610114565b34801561021657600080fd5b506100f2610225366004610c53565b610546565b61023d610238366004610c8a565b6105d0565b6040516101289190610d49565b34801561025657600080fd5b50610187610265366004610c38565b60026020526000908152604090205460ff1681565b34801561028657600080fd5b50610187610295366004610c38565b60036020526000908152604090205460ff1681565b3480156102b657600080fd5b506102d76102c5366004610d97565b60016020526000908152604090205481565b604051908152602001610128565b3480156102f157600080fd5b506100f2610300366004610c53565b610a06565b34801561031157600080fd5b506101147f000000000000000000000000000000000000000000000000000000000000000081565b34801561034557600080fd5b506100f2610354366004610c38565b610a88565b610361610afe565b60048054821515600160a01b0260ff60a01b199091161790556040517f9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64906103ae90831515815260200190565b60405180910390a150565b6103c1610afe565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156103fb573d6000803e3d6000fd5b50565b6004546001600160a01b031633146104315760405162461bcd60e51b815260040161042890610db2565b60405180910390fd5b67ffffffffffffffff8216600081815260016020908152604091829020849055815192835282018390527ffec53071309ed48f910e7ed70162c48ed5b7e6892dc5e890fa1aadf6338f1deb910160405180910390a15050565b610492610afe565b6001600160a01b0381166104e85760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a20424f545f494e56414c4944000000000000006044820152606401610428565b600480546001600160a01b0319166001600160a01b0383169081179091556040517fdb5411fb693ed11ca8f29bad815ecf34d253ee4e6e333702ab8a7a6444670db690600090a250565b61053a610afe565b6105446000610b58565b565b6004546001600160a01b031633146105705760405162461bcd60e51b815260040161042890610db2565b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915591519182527f2fc0ae7994762170f97b49b88bf0012a853e6ec9b75f41f28da9206b2ceaa3b491015b60405180910390a25050565b600454606090600160a01b900460ff16156106245760405162461bcd60e51b81526020600482015260146024820152731113d113d1d85cd41c9bde1e4e8814105554d15160621b6044820152606401610428565b6001600160a01b03851660009081526002602052604090205460ff1661068c5760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a204e4f545f57484954454c49535445440000006044820152606401610428565b67ffffffffffffffff8816600090815260016020526040902054806106f35760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a204741535f4645455f4e4f545f5345540000006044820152606401610428565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03891601610775576107228188610de1565b34146107705760405162461bcd60e51b815260206004820181905260248201527f444f444f47617350726f78793a20494e56414c49445f4554485f414d4f554e546044820152606401610428565b6108d6565b8034146107c45760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a20494e56414c49445f4741535f4645450000006044820152606401610428565b60405163052f523360e11b81526001600160a01b038981166004830152336024830152306044830152606482018990527f00000000000000000000000000000000000000000000000000000000000000001690630a5ea46690608401600060405180830381600087803b15801561083a57600080fd5b505af115801561084e573d6000803e3d6000fd5b505050506001600160a01b038616156108d65760405163095ea7b360e01b81526001600160a01b0387811660048301526024820189905289169063095ea7b3906044016020604051808303816000875af11580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190610e08565b505b6040805133815267ffffffffffffffff8b1660208201529081018290527f38becc88a3327fac60feebeb32bd2cbe0fd7417cb51d2747cc1818cdb6487e979060600160405180910390a16000806001600160a01b03808816908b1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610952576000610954565b895b8787604051610964929190610e25565b60006040518083038185875af1925050503d80600081146109a1576040519150601f19603f3d011682016040523d82523d6000602084013e6109a6565b606091505b5091509150816109f85760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a2043414c4c5f4641494c4544000000000000006044820152606401610428565b9a9950505050505050505050565b6004546001600160a01b03163314610a305760405162461bcd60e51b815260040161042890610db2565b6001600160a01b038216600081815260036020908152604091829020805460ff191685151590811790915591519182527f1b4dfffd0b20d0bb9da24513d5d823510dedbc202aa2916e87d3d88b4324886e91016105c4565b610a90610afe565b6001600160a01b038116610af55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610428565b6103fb81610b58565b6000546001600160a01b031633146105445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610428565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80151581146103fb57600080fd5b600060208284031215610bc857600080fd5b8135610bd381610ba8565b9392505050565b803567ffffffffffffffff81168114610bf257600080fd5b919050565b60008060408385031215610c0a57600080fd5b610c1383610bda565b946020939093013593505050565b80356001600160a01b0381168114610bf257600080fd5b600060208284031215610c4a57600080fd5b610bd382610c21565b60008060408385031215610c6657600080fd5b610c6f83610c21565b91506020830135610c7f81610ba8565b809150509250929050565b600080600080600080600060c0888a031215610ca557600080fd5b610cae88610bda565b9650610cbc60208901610c21565b955060408801359450610cd160608901610c21565b9350610cdf60808901610c21565b925060a088013567ffffffffffffffff80821115610cfc57600080fd5b818a0191508a601f830112610d1057600080fd5b813581811115610d1f57600080fd5b8b6020828501011115610d3157600080fd5b60208301945080935050505092959891949750929550565b600060208083528351808285015260005b81811015610d7657858101830151858201604001528201610d5a565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610da957600080fd5b610bd382610bda565b6020808252601590820152741113d113d1d85cd41c9bde1e4e881393d517d093d5605a1b604082015260600190565b80820180821115610e0257634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215610e1a57600080fd5b8151610bd381610ba8565b818382376000910190815291905056fea2646970667358221220bea2800e1c190fa1f9bf320b60a19ea97be58ae40ac3e3d07f743a2670a6b63564736f6c634300081000330000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d4214000000000000000000000000003b18357460e789e711849749a793c430d14f97", - "nonce": "0x11", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CALL", - "contractName": "DODOApproveProxy", - "contractAddress": "0x003b18357460e789e711849749a793c430d14f97", - "function": "init(address,address[])", - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "[0xc6D718Fa2bb39CCDf29a640361E42656DB1EBBD9]" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": "0x003b18357460e789e711849749a793c430d14f97", - "gas": "0x7b90", - "value": "0x0", - "input": "0x3c5a3cea0000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d421400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c6d718fa2bb39ccdf29a640361e42656db1ebbd9", - "nonce": "0x12", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1730189264, - "chain": 421614, - "commit": "5de10bd" -} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/421614/run-latest.json b/broadcast/Deploy.s.sol/421614/run-latest.json deleted file mode 100644 index ce56448..0000000 --- a/broadcast/Deploy.s.sol/421614/run-latest.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xf8042eb04da5be1748a09ef060767bf765b969a1e9056d57a55f7b35e6b78434", - "transactionType": "CREATE", - "contractName": "DODOApprove", - "contractAddress": "0x2144bf2003bfd9aa0950716333fbb5b7a1caeda4", - "function": null, - "arguments": null, - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0xcbd51", - "value": "0x0", - "input": "0x608060405234801561001057600080fd5b50610a65806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638456db151161008c578063b75dbf6811610066578063b75dbf68146101a9578063e54c8033146101c0578063f09a4016146101d3578063f2fde38b146101e657600080fd5b80638456db151461017b5780638cdb65741461018e57806393773aec1461019657600080fd5b806331fa1319116100c857806331fa13191461014757806341c256c1146101585780634e71e0c81461016b5780634f3cef841461017357600080fd5b80630a5ea466146100ef5780630d0092971461010457806316048bc414610117575b600080fd5b6101026100fd3660046108b7565b6101f9565b005b610102610112366004610902565b610279565b60005461012a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6004546001600160a01b031661012a565b610102610166366004610902565b6102fc565b61010261037e565b61010261042c565b60015461012a906001600160a01b031681565b61010261046d565b60035461012a906001600160a01b031681565b6101b260025481565b60405190815260200161013e565b60045461012a906001600160a01b031681565b6101026101e136600461091d565b61054d565b6101026101f4366004610902565b610579565b6004546001600160a01b031633146102585760405162461bcd60e51b815260206004820152601d60248201527f444f444f417070726f76653a416363657373207265737472696374656400000060448201526064015b60405180910390fd5b8015610273576102736001600160a01b0385168484846105fe565b50505050565b600154600160a01b900460ff16156102c65760405162461bcd60e51b815260206004820152601060248201526f1113d113d7d25392551250531256915160821b604482015260640161024f565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031633146103265760405162461bcd60e51b815260040161024f90610950565b6004546001600160a01b031661034b576103436201518042610973565b60025561035c565b6103586203f48042610973565b6002555b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146103c85760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b604482015260640161024f565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146104565760405162461bcd60e51b815260040161024f90610950565b600380546001600160a01b03191690556000600255565b6000546001600160a01b031633146104975760405162461bcd60e51b815260040161024f90610950565b4260025411156104e25760405162461bcd60e51b815260206004820152601660248201527514d95d141c9bde1e481a5cc81d1a5b595b1bd8dad95960521b604482015260640161024f565b6003546004546040516001600160a01b0392831692909116907fd356351ffbb32d7a93878d5fbbd5c39435bbae136f428b0d574242f63bb803cb90600090a3600354600480546001600160a01b0319166001600160a01b0390921691909117905561054b61042c565b565b61055682610279565b600480546001600160a01b0319166001600160a01b039290921691909117905550565b6000546001600160a01b031633146105a35760405162461bcd60e51b815260040161024f90610950565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b604080516001600160a01b038581166024830152848116604483015260648083018590528351808403909101815260849092018352602080830180516001600160e01b03166323b872dd60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261027392879291600091610696918516908490610718565b80519091501561071357808060200190518101906106b4919061099a565b6107135760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161024f565b505050565b60606107278484600085610731565b90505b9392505050565b6060824710156107925760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161024f565b6001600160a01b0385163b6107e95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161024f565b600080866001600160a01b0316858760405161080591906109e0565b60006040518083038185875af1925050503d8060008114610842576040519150601f19603f3d011682016040523d82523d6000602084013e610847565b606091505b5091509150610857828286610862565b979650505050505050565b6060831561087157508161072a565b8251156108815782518084602001fd5b8160405162461bcd60e51b815260040161024f91906109fc565b80356001600160a01b03811681146108b257600080fd5b919050565b600080600080608085870312156108cd57600080fd5b6108d68561089b565b93506108e46020860161089b565b92506108f26040860161089b565b9396929550929360600135925050565b60006020828403121561091457600080fd5b61072a8261089b565b6000806040838503121561093057600080fd5b6109398361089b565b91506109476020840161089b565b90509250929050565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b8082018082111561099457634e487b7160e01b600052601160045260246000fd5b92915050565b6000602082840312156109ac57600080fd5b8151801515811461072a57600080fd5b60005b838110156109d75781810151838201526020016109bf565b50506000910152565b600082516109f28184602087016109bc565b9190910192915050565b6020815260008251806020840152610a1b8160408501602087016109bc565b601f01601f1916919091016040019291505056fea2646970667358221220a9216e0639aebcd6da85b76005ba1773c592eb96f1a7aba374813741709bd39464736f6c63430008100033", - "nonce": "0x13", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xab2da798368c6e01ac73e032b899086d29beeec95ea0fd6e689d0fc8c1fd873c", - "transactionType": "CREATE", - "contractName": "DODOApproveProxy", - "contractAddress": "0x7e49058f16b8754b0af9b03a39777b1ca5285f67", - "function": null, - "arguments": [ - "0x2144BF2003bFd9Aa0950716333fBb5B7A1Caeda4" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0xbb4a8", - "value": "0x0", - "input": "0x60a060405234801561001057600080fd5b50604051610a03380380610a0383398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610971610092600039600081816101d6015261032901526109716000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806346e74298116100975780638456db15116100665780638456db1514610234578063b75dbf6814610247578063cc646ed41461025e578063f2fde38b1461027157600080fd5b806346e74298146101d157806348a4f993146101f85780634e71e0c814610224578063556d65a81461022c57600080fd5b8063374445b2116100d3578063374445b2146101705780633b2f27bb146101835780633c5a3cea146101b65780633e688589146101c957600080fd5b80630a5ea466146101055780630d0092971461011a57806316048bc41461012d5780632c419f2f1461015d575b600080fd5b61011861011336600461075f565b610284565b005b6101186101283660046107aa565b61038b565b600054610140906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61011861016b3660046107aa565b61040e565b61011861017e3660046107aa565b610459565b6101a66101913660046107aa565b60026020526000908152604090205460ff1681565b6040519015158152602001610154565b6101186101c43660046107e2565b6104b5565b61011861052b565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6101a66102063660046107aa565b6001600160a01b031660009081526002602052604090205460ff1690565b6101186105cf565b61011861067d565b600154610140906001600160a01b031681565b61025060035481565b604051908152602001610154565b600454610140906001600160a01b031681565b61011861027f3660046107aa565b6106be565b3360009081526002602052604090205460ff166102f35760405162461bcd60e51b815260206004820152602260248201527f444f444f417070726f766550726f78793a416363657373207265737472696374604482015261195960f21b60648201526084015b60405180910390fd5b60405163052f523360e11b81526001600160a01b03858116600483015284811660248301528381166044830152606482018390527f00000000000000000000000000000000000000000000000000000000000000001690630a5ea46690608401600060405180830381600087803b15801561036d57600080fd5b505af1158015610381573d6000803e3d6000fd5b5050505050505050565b600154600160a01b900460ff16156103d85760405162461bcd60e51b815260206004820152601060248201526f1113d113d7d25392551250531256915160821b60448201526064016102ea565b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031633146104385760405162461bcd60e51b81526004016102ea906108ba565b6001600160a01b03166000908152600260205260409020805460ff19169055565b6000546001600160a01b031633146104835760405162461bcd60e51b81526004016102ea906108ba565b6104906203f480426108f3565b600355600480546001600160a01b0319166001600160a01b0392909216919091179055565b6104be8261038b565b60005b8151811015610526576001600260008484815181106104e2576104e261090c565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061051e81610922565b9150506104c1565b505050565b6000546001600160a01b031633146105555760405162461bcd60e51b81526004016102ea906108ba565b4260035411156105a05760405162461bcd60e51b815260206004820152601660248201527514d95d141c9bde1e481a5cc81d1a5b595b1bd8dad95960521b60448201526064016102ea565b6004546001600160a01b03166000908152600260205260409020805460ff191660011790556105cd61067d565b565b6001546001600160a01b031633146106195760405162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b60448201526064016102ea565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031633146106a75760405162461bcd60e51b81526004016102ea906108ba565b600480546001600160a01b03191690556000600355565b6000546001600160a01b031633146106e85760405162461bcd60e51b81526004016102ea906108ba565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b80356001600160a01b038116811461075a57600080fd5b919050565b6000806000806080858703121561077557600080fd5b61077e85610743565b935061078c60208601610743565b925061079a60408601610743565b9396929550929360600135925050565b6000602082840312156107bc57600080fd5b6107c582610743565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156107f557600080fd5b6107fe83610743565b915060208084013567ffffffffffffffff8082111561081c57600080fd5b818601915086601f83011261083057600080fd5b813581811115610842576108426107cc565b8060051b604051601f19603f83011681018181108582111715610867576108676107cc565b60405291825284820192508381018501918983111561088557600080fd5b938501935b828510156108aa5761089b85610743565b8452938501939285019261088a565b8096505050505050509250929050565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610906576109066108dd565b92915050565b634e487b7160e01b600052603260045260246000fd5b600060018201610934576109346108dd565b506001019056fea26469706673582212202b28fc279eaf3600a1b5d7bd2121b2c28b51d9737961adb02d2b5d7959da992564736f6c634300081000330000000000000000000000002144bf2003bfd9aa0950716333fbb5b7a1caeda4", - "nonce": "0x14", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x3db6ec224162daedabbf0a6c16cb55e45921ee465b5085c24a1a1f767f672788", - "transactionType": "CALL", - "contractName": "DODOApprove", - "contractAddress": "0x2144bf2003bfd9aa0950716333fbb5b7a1caeda4", - "function": "init(address,address)", - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "0x7E49058F16b8754b0af9B03A39777b1Ca5285f67" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": "0x2144bf2003bfd9aa0950716333fbb5b7a1caeda4", - "gas": "0x74cd", - "value": "0x0", - "input": "0xf09a40160000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d42140000000000000000000000007e49058f16b8754b0af9b03a39777b1ca5285f67", - "nonce": "0x15", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xcf6877acb3c37e886c25f771a4ca2b4ffeac07dc14773bcd78689011e7404501", - "transactionType": "CREATE", - "contractName": "DODOGasProxy", - "contractAddress": "0x716fcc67dca500a91b4a28c9255262c398d8f971", - "function": null, - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "0x7E49058F16b8754b0af9B03A39777b1Ca5285f67" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "gas": "0x12c1d4", - "value": "0x0", - "input": "0x60a060405234801561001057600080fd5b506040516110b33803806110b383398101604081905261002f9161018b565b6100383361011f565b6001600160a01b0382166100935760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a20424f545f494e56414c49440000000000000060448201526064015b60405180910390fd5b6001600160a01b0381166100fa5760405162461bcd60e51b815260206004820152602860248201527f444f444f47617350726f78793a20444f444f5f415050524f56455f50524f585960448201526717d253959053125160c21b606482015260840161008a565b600480546001600160a01b0319166001600160a01b03938416179055166080526101be565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461018657600080fd5b919050565b6000806040838503121561019e57600080fd5b6101a78361016f565b91506101b56020840161016f565b90509250929050565b608051610ed36101e060003960008181610317015261085e0152610ed36000f3fe6080604052600436106100eb5760003560e01c80638f68ca7011610084578063d716d6b811610056578063d716d6b8146102aa578063d9823b08146102e5578063eb99be1214610305578063f2fde38b1461033957005b80638f68ca701461020a5780639685212d1461022a578063bc74f9ff1461024a578063bf95baf41461027a57005b80636ab79237116100bd5780636ab79237146101975780636b5caec4146101b7578063715018a6146101d75780638da5cb5b146101ec57005b806310814c37146100f457806316c38b3c146101315780633ccfd60b146101515780635c975abb1461016657005b366100f257005b005b34801561010057600080fd5b50600454610114906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561013d57600080fd5b506100f261014c366004610c1e565b610359565b34801561015d57600080fd5b506100f26103b9565b34801561017257600080fd5b5060045461018790600160a01b900460ff1681565b6040519015158152602001610128565b3480156101a357600080fd5b506100f26101b2366004610c5f565b6103fe565b3480156101c357600080fd5b506100f26101d2366004610ca0565b61048a565b3480156101e357600080fd5b506100f2610532565b3480156101f857600080fd5b506000546001600160a01b0316610114565b34801561021657600080fd5b506100f2610225366004610cbb565b610546565b61023d610238366004610cf2565b6105d0565b6040516101289190610db1565b34801561025657600080fd5b50610187610265366004610ca0565b60026020526000908152604090205460ff1681565b34801561028657600080fd5b50610187610295366004610ca0565b60036020526000908152604090205460ff1681565b3480156102b657600080fd5b506102d76102c5366004610dff565b60016020526000908152604090205481565b604051908152602001610128565b3480156102f157600080fd5b506100f2610300366004610cbb565b610a6e565b34801561031157600080fd5b506101147f000000000000000000000000000000000000000000000000000000000000000081565b34801561034557600080fd5b506100f2610354366004610ca0565b610af0565b610361610b66565b60048054821515600160a01b0260ff60a01b199091161790556040517f9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64906103ae90831515815260200190565b60405180910390a150565b6103c1610b66565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156103fb573d6000803e3d6000fd5b50565b6004546001600160a01b031633146104315760405162461bcd60e51b815260040161042890610e1a565b60405180910390fd5b67ffffffffffffffff8216600081815260016020908152604091829020849055815192835282018390527ffec53071309ed48f910e7ed70162c48ed5b7e6892dc5e890fa1aadf6338f1deb910160405180910390a15050565b610492610b66565b6001600160a01b0381166104e85760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a20424f545f494e56414c4944000000000000006044820152606401610428565b600480546001600160a01b0319166001600160a01b0383169081179091556040517fdb5411fb693ed11ca8f29bad815ecf34d253ee4e6e333702ab8a7a6444670db690600090a250565b61053a610b66565b6105446000610bc0565b565b6004546001600160a01b031633146105705760405162461bcd60e51b815260040161042890610e1a565b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915591519182527f2fc0ae7994762170f97b49b88bf0012a853e6ec9b75f41f28da9206b2ceaa3b491015b60405180910390a25050565b600454606090600160a01b900460ff16156106245760405162461bcd60e51b81526020600482015260146024820152731113d113d1d85cd41c9bde1e4e8814105554d15160621b6044820152606401610428565b6001600160a01b03851660009081526003602052604090205460ff1661068c5760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a204e4f545f57484954454c49535445440000006044820152606401610428565b6001600160a01b03841660009081526002602052604090205460ff166106f45760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a204e4f545f57484954454c49535445440000006044820152606401610428565b67ffffffffffffffff88166000908152600160205260409020548061075b5760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a204741535f4645455f4e4f545f5345540000006044820152606401610428565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038916016107dd5761078a8188610e49565b34146107d85760405162461bcd60e51b815260206004820181905260248201527f444f444f47617350726f78793a20494e56414c49445f4554485f414d4f554e546044820152606401610428565b61093e565b80341461082c5760405162461bcd60e51b815260206004820152601d60248201527f444f444f47617350726f78793a20494e56414c49445f4741535f4645450000006044820152606401610428565b60405163052f523360e11b81526001600160a01b038981166004830152336024830152306044830152606482018990527f00000000000000000000000000000000000000000000000000000000000000001690630a5ea46690608401600060405180830381600087803b1580156108a257600080fd5b505af11580156108b6573d6000803e3d6000fd5b505050506001600160a01b0386161561093e5760405163095ea7b360e01b81526001600160a01b0387811660048301526024820189905289169063095ea7b3906044016020604051808303816000875af1158015610918573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093c9190610e70565b505b6040805133815267ffffffffffffffff8b1660208201529081018290527f38becc88a3327fac60feebeb32bd2cbe0fd7417cb51d2747cc1818cdb6487e979060600160405180910390a16000806001600160a01b03808816908b1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146109ba5760006109bc565b895b87876040516109cc929190610e8d565b60006040518083038185875af1925050503d8060008114610a09576040519150601f19603f3d011682016040523d82523d6000602084013e610a0e565b606091505b509150915081610a605760405162461bcd60e51b815260206004820152601960248201527f444f444f47617350726f78793a2043414c4c5f4641494c4544000000000000006044820152606401610428565b9a9950505050505050505050565b6004546001600160a01b03163314610a985760405162461bcd60e51b815260040161042890610e1a565b6001600160a01b038216600081815260036020908152604091829020805460ff191685151590811790915591519182527f1b4dfffd0b20d0bb9da24513d5d823510dedbc202aa2916e87d3d88b4324886e91016105c4565b610af8610b66565b6001600160a01b038116610b5d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610428565b6103fb81610bc0565b6000546001600160a01b031633146105445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610428565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80151581146103fb57600080fd5b600060208284031215610c3057600080fd5b8135610c3b81610c10565b9392505050565b803567ffffffffffffffff81168114610c5a57600080fd5b919050565b60008060408385031215610c7257600080fd5b610c7b83610c42565b946020939093013593505050565b80356001600160a01b0381168114610c5a57600080fd5b600060208284031215610cb257600080fd5b610c3b82610c89565b60008060408385031215610cce57600080fd5b610cd783610c89565b91506020830135610ce781610c10565b809150509250929050565b600080600080600080600060c0888a031215610d0d57600080fd5b610d1688610c42565b9650610d2460208901610c89565b955060408801359450610d3960608901610c89565b9350610d4760808901610c89565b925060a088013567ffffffffffffffff80821115610d6457600080fd5b818a0191508a601f830112610d7857600080fd5b813581811115610d8757600080fd5b8b6020828501011115610d9957600080fd5b60208301945080935050505092959891949750929550565b600060208083528351808285015260005b81811015610dde57858101830151858201604001528201610dc2565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610e1157600080fd5b610c3b82610c42565b6020808252601590820152741113d113d1d85cd41c9bde1e4e881393d517d093d5605a1b604082015260600190565b80820180821115610e6a57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215610e8257600080fd5b8151610c3b81610c10565b818382376000910190815291905056fea264697066735822122021357a6e1a3d10f87ac72eb0957b394f436ef64de2e16369ad983cdbaf86fd1f64736f6c634300081000330000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d42140000000000000000000000007e49058f16b8754b0af9b03a39777b1ca5285f67", - "nonce": "0x16", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe1e40724d651e27b25e0971466de96b489498113688bb6eb9d58c151118ba56c", - "transactionType": "CALL", - "contractName": "DODOApproveProxy", - "contractAddress": "0x7e49058f16b8754b0af9b03a39777b1ca5285f67", - "function": "init(address,address[])", - "arguments": [ - "0x1Dc662D3D7De14a57CD369e3a9E774f8F80d4214", - "[0x716fcc67dcA500A91B4a28c9255262c398D8f971]" - ], - "transaction": { - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": "0x7e49058f16b8754b0af9b03a39777b1ca5285f67", - "gas": "0x778f", - "value": "0x0", - "input": "0x3c5a3cea0000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d421400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000716fcc67dca500a91b4a28c9255262c398d8f971", - "nonce": "0x17", - "chainId": "0x66eee" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0x9ae1d", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xf8042eb04da5be1748a09ef060767bf765b969a1e9056d57a55f7b35e6b78434", - "transactionIndex": "0x1", - "blockHash": "0xdbbb880addcc7e2fad57c23363bbcc621f00af84e8eee463fb16878b616a6497", - "blockNumber": "0x5859224", - "gasUsed": "0x9ae1d", - "effectiveGasPrice": "0xb22a5a0", - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": null, - "contractAddress": "0x2144bf2003bfd9aa0950716333fbb5b7a1caeda4", - "gasUsedForL1": "0x17e3", - "l1BlockNumber": "0x6a5685" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x8e4f1", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xab2da798368c6e01ac73e032b899086d29beeec95ea0fd6e689d0fc8c1fd873c", - "transactionIndex": "0x1", - "blockHash": "0x34b5c13942437a7854d27fce0575f9996229eda8049dfe16dd46a13ad858eabe", - "blockNumber": "0x585922c", - "gasUsed": "0x8e4f1", - "effectiveGasPrice": "0xafd6a60", - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": null, - "contractAddress": "0x7e49058f16b8754b0af9b03a39777b1ca5285f67", - "gasUsedForL1": "0x16ca", - "l1BlockNumber": "0x6a5685" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x15da9", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x3db6ec224162daedabbf0a6c16cb55e45921ee465b5085c24a1a1f767f672788", - "transactionIndex": "0x1", - "blockHash": "0xc77ddc9e1b353b90f575018e36104f7c1a040d6cdc3db19da1df5f6c09deec47", - "blockNumber": "0x5859234", - "gasUsed": "0x15da9", - "effectiveGasPrice": "0xb4548d0", - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": "0x2144bf2003bfd9aa0950716333fbb5b7a1caeda4", - "contractAddress": null, - "gasUsedForL1": "0x252", - "l1BlockNumber": "0x6a5685" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0xfb0af", - "logs": [ - { - "address": "0x716fcc67dca500a91b4a28c9255262c398d8f971", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000001dc662d3d7de14a57cd369e3a9e774f8f80d4214" - ], - "data": "0x", - "blockHash": "0x8f76ca056b164fdafdfd4b65a611a2bf24d4e675d1594f18ec26349d8f624601", - "blockNumber": "0x585923c", - "transactionHash": "0xcf6877acb3c37e886c25f771a4ca2b4ffeac07dc14773bcd78689011e7404501", - "transactionIndex": "0x2", - "logIndex": "0x2", - "removed": false - } - ], - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000020000000000800020000000000000000000000000000400000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000400000000000020000000000000000000000000000000000000000000000000000002000000000000", - "type": "0x2", - "transactionHash": "0xcf6877acb3c37e886c25f771a4ca2b4ffeac07dc14773bcd78689011e7404501", - "transactionIndex": "0x2", - "blockHash": "0x8f76ca056b164fdafdfd4b65a611a2bf24d4e675d1594f18ec26349d8f624601", - "blockNumber": "0x585923c", - "gasUsed": "0xe4328", - "effectiveGasPrice": "0xb16bec0", - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": null, - "contractAddress": "0x716fcc67dca500a91b4a28c9255262c398d8f971", - "gasUsedForL1": "0x2206", - "l1BlockNumber": "0x6a5685" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x1624a", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xe1e40724d651e27b25e0971466de96b489498113688bb6eb9d58c151118ba56c", - "transactionIndex": "0x1", - "blockHash": "0x56e85b9aa8a9ffd067d68020b36004496378358d136ec36b569d67312161532a", - "blockNumber": "0x5859244", - "gasUsed": "0x1624a", - "effectiveGasPrice": "0xae74a50", - "from": "0x1dc662d3d7de14a57cd369e3a9e774f8f80d4214", - "to": "0x7e49058f16b8754b0af9b03a39777b1ca5285f67", - "contractAddress": null, - "gasUsedForL1": "0x33e", - "l1BlockNumber": "0x6a5685" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1730193816, - "chain": 421614, - "commit": "64e2a5d" -} \ No newline at end of file diff --git a/test/DODOGasDistributor.t.sol b/test/DODOGasDistributor.t.sol new file mode 100644 index 0000000..04cfdc3 --- /dev/null +++ b/test/DODOGasDistributor.t.sol @@ -0,0 +1,136 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.16; + +import "forge-std/Test.sol"; +import "../contracts/SmartRoute/DOODGasDistributor.sol"; + +contract DODOGasDistributorTest is Test { + DOODGasDistributor public distributor; + + address public owner; + address public bot; + address public recipient; + uint256 public constant INITIAL_MAX_AMOUNT = 1 ether; + + function setUp() public { + owner = address(this); + bot = makeAddr("bot"); + recipient = makeAddr("recipient"); + + distributor = new DOODGasDistributor( + owner, + bot, + INITIAL_MAX_AMOUNT + ); + + // Fund distributor with ETH + vm.deal(address(distributor), 10 ether); + } + + function testSetBot() public { + address newBot = makeAddr("newBot"); + + distributor.setBot(newBot); + assertEq(distributor.bot(), newBot); + } + + function testSetBotFailNotOwner() public { + address newBot = makeAddr("newBot"); + + vm.prank(bot); + vm.expectRevert("NOT_OWNER"); + distributor.setBot(newBot); + } + + function testSetMaxAmount() public { + uint256 newMaxAmount = 2 ether; + + distributor.setMaxAmount(newMaxAmount); + assertEq(distributor.maxAmount(), newMaxAmount); + + } + + function testSetMaxAmountFailNotOwner() public { + vm.prank(bot); + vm.expectRevert("NOT_OWNER"); + distributor.setMaxAmount(2 ether); + } + + function testDistributeAboveMaxAmount() public { + uint256 amount = 2 ether; // Greater than INITIAL_MAX_AMOUNT + bytes32 externalId = keccak256(abi.encodePacked("test1")); + uint256 recipientInitialBalance = recipient.balance; + + vm.prank(bot); + distributor.distribute(recipient, amount, externalId); + + // Should only distribute maxAmount + assertEq( + recipient.balance - recipientInitialBalance, + INITIAL_MAX_AMOUNT, + "Should distribute maxAmount" + ); + } + + function testDistributeBelowMaxAmount() public { + uint256 amount = 0.5 ether; // Less than INITIAL_MAX_AMOUNT + bytes32 externalId = keccak256(abi.encodePacked("test2")); + uint256 recipientInitialBalance = recipient.balance; + + vm.prank(bot); + distributor.distribute(recipient, amount, externalId); + + // Should distribute full amount + assertEq( + recipient.balance - recipientInitialBalance, + amount, + "Should distribute full amount" + ); + } + + function testDistributeFailDuplicateExternalId() public { + bytes32 externalId = keccak256(abi.encodePacked("test3")); + + vm.startPrank(bot); + distributor.distribute(recipient, 0.5 ether, externalId); + + vm.expectRevert("ExternalId already processed"); + distributor.distribute(recipient, 0.5 ether, externalId); + vm.stopPrank(); + } + + function testEmergencyWithdraw() public { + uint256 initialBalance = address(distributor).balance; + uint256 ownerInitialBalance = owner.balance; + + distributor.emergencyWithdraw(); + + assertEq( + address(distributor).balance, + 0, + "Distributor should have 0 balance" + ); + assertEq( + owner.balance - ownerInitialBalance, + initialBalance, + "Owner should receive all funds" + ); + } + + function testEmergencyWithdrawFailNotOwner() public { + vm.prank(bot); + vm.expectRevert("NOT_OWNER"); + distributor.emergencyWithdraw(); + } + + function testEmergencyWithdrawFailNoBalance() public { + // First withdraw all balance + distributor.emergencyWithdraw(); + + // Try to withdraw again + vm.expectRevert("No balance to withdraw"); + distributor.emergencyWithdraw(); + } + + receive() external payable {} +}